diff --git a/.github/dependabot.yml b/.github/dependabot.yml index a5b42ffcf76b85..b19c9381ecf178 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -12,6 +12,7 @@ updates: interval: "daily" # Requirements to run style checks - package-ecosystem: "pip" - directory: "/.github/workflows/style" + directories: + - "/.github/workflows/requirements/*" schedule: interval: "daily" diff --git a/.github/workflows/bootstrap-test.sh b/.github/workflows/bin/bootstrap-test.sh similarity index 100% rename from .github/workflows/bootstrap-test.sh rename to .github/workflows/bin/bootstrap-test.sh diff --git a/.github/workflows/execute_installer.ps1 b/.github/workflows/bin/execute_installer.ps1 similarity index 100% rename from .github/workflows/execute_installer.ps1 rename to .github/workflows/bin/execute_installer.ps1 diff --git a/.github/workflows/generate_spack_yaml_containerize.sh b/.github/workflows/bin/generate_spack_yaml_containerize.sh similarity index 100% rename from .github/workflows/generate_spack_yaml_containerize.sh rename to .github/workflows/bin/generate_spack_yaml_containerize.sh diff --git a/.github/workflows/setup_git.ps1 b/.github/workflows/bin/setup_git.ps1 similarity index 100% rename from .github/workflows/setup_git.ps1 rename to .github/workflows/bin/setup_git.ps1 diff --git a/.github/workflows/setup_git.sh b/.github/workflows/bin/setup_git.sh similarity index 100% rename from .github/workflows/setup_git.sh rename to .github/workflows/bin/setup_git.sh diff --git a/.github/workflows/system_shortcut_check.ps1 b/.github/workflows/bin/system_shortcut_check.ps1 similarity index 100% rename from .github/workflows/system_shortcut_check.ps1 rename to .github/workflows/bin/system_shortcut_check.ps1 diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index 5aca4e1c2d8452..a3cf808dd2e335 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -53,10 +53,10 @@ jobs: runs-on: ${{ matrix.runner }} strategy: matrix: - runner: ['macos-13', 'macos-14', "ubuntu-latest"] + runner: ['macos-13', 'macos-14', "ubuntu-latest", "windows-latest"] steps: - name: Setup macOS - if: ${{ matrix.runner != 'ubuntu-latest' }} + if: ${{ matrix.runner != 'ubuntu-latest' && matrix.runner != 'windows-latest' }} run: | brew install cmake bison tree - name: Checkout @@ -67,13 +67,19 @@ jobs: with: python-version: "3.12" - name: Bootstrap clingo + env: + SETUP_SCRIPT_EXT: ${{ matrix.runner == 'windows-latest' && 'ps1' || 'sh' }} + SETUP_SCRIPT_SOURCE: ${{ matrix.runner == 'windows-latest' && './' || 'source ' }} + USER_SCOPE_PARENT_DIR: ${{ matrix.runner == 'windows-latest' && '$env:userprofile' || '$HOME' }} + VALIDATE_LAST_EXIT: ${{ matrix.runner == 'windows-latest' && './share/spack/qa/validate_last_exit.ps1' || '' }} run: | - source share/spack/setup-env.sh + ${{ env.SETUP_SCRIPT_SOURCE }}share/spack/setup-env.${{ env.SETUP_SCRIPT_EXT }} spack bootstrap disable github-actions-v0.5 spack bootstrap disable github-actions-v0.4 spack external find --not-buildable cmake bison spack -d solve zlib - tree ~/.spack/bootstrap/store/ + ${{ env.VALIDATE_LAST_EXIT }} + tree ${{ env.USER_SCOPE_PARENT_DIR }}/.spack/bootstrap/store/ gnupg-sources: runs-on: ${{ matrix.runner }} @@ -148,7 +154,7 @@ jobs: not_found=0 old_path="$PATH" export PATH="$ver_dir:$PATH" - ./bin/spack-tmpconfig -b ./.github/workflows/bootstrap-test.sh + ./bin/spack-tmpconfig -b ./.github/workflows/bin/bootstrap-test.sh export PATH="$old_path" fi fi @@ -162,4 +168,3 @@ jobs: source share/spack/setup-env.sh spack -d gpg list tree ~/.spack/bootstrap/store/ - diff --git a/.github/workflows/build-containers.yml b/.github/workflows/build-containers.yml index 1c034021ad30ac..e8302491386ef5 100644 --- a/.github/workflows/build-containers.yml +++ b/.github/workflows/build-containers.yml @@ -40,8 +40,7 @@ jobs: # 1: Platforms to build for # 2: Base image (e.g. ubuntu:22.04) dockerfile: [[amazon-linux, 'linux/amd64,linux/arm64', 'amazonlinux:2'], - [centos7, 'linux/amd64,linux/arm64,linux/ppc64le', 'centos:7'], - [centos-stream, 'linux/amd64,linux/arm64,linux/ppc64le', 'centos:stream'], + [centos-stream9, 'linux/amd64,linux/arm64,linux/ppc64le', 'centos:stream9'], [leap15, 'linux/amd64,linux/arm64,linux/ppc64le', 'opensuse/leap:15'], [ubuntu-focal, 'linux/amd64,linux/arm64,linux/ppc64le', 'ubuntu:20.04'], [ubuntu-jammy, 'linux/amd64,linux/arm64,linux/ppc64le', 'ubuntu:22.04'], @@ -77,7 +76,7 @@ jobs: env: SPACK_YAML_OS: "${{ matrix.dockerfile[2] }}" run: | - .github/workflows/generate_spack_yaml_containerize.sh + .github/workflows/bin/generate_spack_yaml_containerize.sh . share/spack/setup-env.sh mkdir -p dockerfiles/${{ matrix.dockerfile[0] }} spack containerize --last-stage=bootstrap | tee dockerfiles/${{ matrix.dockerfile[0] }}/Dockerfile diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 274b4421856055..b9e4deec37f869 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -53,6 +53,13 @@ jobs: - 'var/spack/repos/builtin/packages/clingo/**' - 'var/spack/repos/builtin/packages/python/**' - 'var/spack/repos/builtin/packages/re2c/**' + - 'var/spack/repos/builtin/packages/gnupg/**' + - 'var/spack/repos/builtin/packages/libassuan/**' + - 'var/spack/repos/builtin/packages/libgcrypt/**' + - 'var/spack/repos/builtin/packages/libgpg-error/**' + - 'var/spack/repos/builtin/packages/libksba/**' + - 'var/spack/repos/builtin/packages/npth/**' + - 'var/spack/repos/builtin/packages/pinentry/**' - 'lib/spack/**' - 'share/spack/**' - '.github/workflows/bootstrap.yml' @@ -77,13 +84,8 @@ jobs: needs: [ prechecks, changes ] uses: ./.github/workflows/unit_tests.yaml secrets: inherit - windows: - if: ${{ github.repository == 'spack/spack' && needs.changes.outputs.core == 'true' }} - needs: [ prechecks ] - uses: ./.github/workflows/windows_python.yml - secrets: inherit all: - needs: [ windows, unit-tests, bootstrap ] + needs: [ unit-tests, bootstrap ] runs-on: ubuntu-latest steps: - name: Success diff --git a/.github/workflows/install_spack.sh b/.github/workflows/install_spack.sh deleted file mode 100755 index be8ec8af21d301..00000000000000 --- a/.github/workflows/install_spack.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env sh -. share/spack/setup-env.sh -echo -e "config:\n build_jobs: 2" > etc/spack/config.yaml -spack config add "packages:all:target:[x86_64]" -spack compiler find -spack compiler info apple-clang -spack debug report -spack solve zlib diff --git a/.github/workflows/style/requirements.txt b/.github/workflows/requirements/style/requirements.txt similarity index 100% rename from .github/workflows/style/requirements.txt rename to .github/workflows/requirements/style/requirements.txt diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml index 710196e338b521..60e7300fa42ebc 100644 --- a/.github/workflows/unit_tests.yaml +++ b/.github/workflows/unit_tests.yaml @@ -72,7 +72,7 @@ jobs: run: | # Need this for the git tests to succeed. git --version - . .github/workflows/setup_git.sh + . .github/workflows/bin/setup_git.sh - name: Bootstrap clingo if: ${{ matrix.concretizer == 'clingo' }} env: @@ -118,7 +118,7 @@ jobs: run: | # Need this for the git tests to succeed. git --version - . .github/workflows/setup_git.sh + . .github/workflows/bin/setup_git.sh - name: Run shell tests env: COVERAGE: true @@ -147,7 +147,7 @@ jobs: git --version git config --global --add safe.directory /__w/spack/spack git fetch --unshallow - . .github/workflows/setup_git.sh + . .github/workflows/bin/setup_git.sh useradd spack-test chown -R spack-test . - name: Run unit tests @@ -178,7 +178,7 @@ jobs: run: | # Need this for the git tests to succeed. git --version - . .github/workflows/setup_git.sh + . .github/workflows/bin/setup_git.sh - name: Run unit tests (full suite with coverage) env: COVERAGE: true @@ -217,7 +217,7 @@ jobs: SPACK_TEST_PARALLEL: 4 run: | git --version - . .github/workflows/setup_git.sh + . .github/workflows/bin/setup_git.sh . share/spack/setup-env.sh $(which spack) bootstrap disable spack-install $(which spack) solve zlib @@ -228,3 +228,34 @@ jobs: flags: unittests,macos token: ${{ secrets.CODECOV_TOKEN }} verbose: true + # Run unit tests on Windows + windows: + defaults: + run: + shell: + powershell Invoke-Expression -Command "./share/spack/qa/windows_test_setup.ps1"; {0} + runs-on: windows-latest + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + with: + fetch-depth: 0 + - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f + with: + python-version: 3.9 + - name: Install Python packages + run: | + python -m pip install --upgrade pip pywin32 setuptools pytest-cov clingo + - name: Create local develop + run: | + ./.github/workflows/bin/setup_git.ps1 + - name: Unit Test + run: | + spack unit-test -x --verbose --cov --cov-config=pyproject.toml + ./share/spack/qa/validate_last_exit.ps1 + coverage combine -a + coverage xml + - uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 + with: + flags: unittests,windows + token: ${{ secrets.CODECOV_TOKEN }} + verbose: true diff --git a/.github/workflows/valid-style.yml b/.github/workflows/valid-style.yml index 60e132940dec61..c143f5ede7a845 100644 --- a/.github/workflows/valid-style.yml +++ b/.github/workflows/valid-style.yml @@ -26,7 +26,7 @@ jobs: - name: Install Python Packages run: | pip install --upgrade pip setuptools - pip install -r .github/workflows/style/requirements.txt + pip install -r .github/workflows/requirements/style/requirements.txt - name: vermin (Spack's Core) run: vermin --backport importlib --backport argparse --violations --backport typing -t=3.6- -vvv lib/spack/spack/ lib/spack/llnl/ bin/ - name: vermin (Repositories) @@ -45,12 +45,12 @@ jobs: - name: Install Python packages run: | pip install --upgrade pip setuptools - pip install -r .github/workflows/style/requirements.txt + pip install -r .github/workflows/requirements/style/requirements.txt - name: Setup git configuration run: | # Need this for the git tests to succeed. git --version - . .github/workflows/setup_git.sh + . .github/workflows/bin/setup_git.sh - name: Run style tests run: | share/spack/qa/run-style-tests @@ -76,7 +76,7 @@ jobs: git --version git config --global --add safe.directory /__w/spack/spack git fetch --unshallow - . .github/workflows/setup_git.sh + . .github/workflows/bin/setup_git.sh useradd spack-test chown -R spack-test . - name: Bootstrap Spack development environment diff --git a/.github/workflows/windows_python.yml b/.github/workflows/windows_python.yml deleted file mode 100644 index 9a5f45b9c1f4cc..00000000000000 --- a/.github/workflows/windows_python.yml +++ /dev/null @@ -1,83 +0,0 @@ -name: windows - -on: - workflow_call: - -concurrency: - group: windows-${{github.ref}}-${{github.event.pull_request.number || github.run_number}} - cancel-in-progress: true - -defaults: - run: - shell: - powershell Invoke-Expression -Command "./share/spack/qa/windows_test_setup.ps1"; {0} -jobs: - unit-tests: - runs-on: windows-latest - steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - with: - fetch-depth: 0 - - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f - with: - python-version: 3.9 - - name: Install Python packages - run: | - python -m pip install --upgrade pip pywin32 setuptools pytest-cov clingo - - name: Create local develop - run: | - ./.github/workflows/setup_git.ps1 - - name: Unit Test - run: | - spack unit-test -x --verbose --cov --cov-config=pyproject.toml --ignore=lib/spack/spack/test/cmd - ./share/spack/qa/validate_last_exit.ps1 - coverage combine -a - coverage xml - - uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 - with: - flags: unittests,windows - token: ${{ secrets.CODECOV_TOKEN }} - verbose: true - unit-tests-cmd: - runs-on: windows-latest - steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - with: - fetch-depth: 0 - - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f - with: - python-version: 3.9 - - name: Install Python packages - run: | - python -m pip install --upgrade pip pywin32 setuptools coverage pytest-cov clingo - - name: Create local develop - run: | - ./.github/workflows/setup_git.ps1 - - name: Command Unit Test - run: | - spack unit-test -x --verbose --cov --cov-config=pyproject.toml lib/spack/spack/test/cmd - ./share/spack/qa/validate_last_exit.ps1 - coverage combine -a - coverage xml - - uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 - with: - flags: unittests,windows - token: ${{ secrets.CODECOV_TOKEN }} - verbose: true - build-abseil: - runs-on: windows-latest - steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - with: - fetch-depth: 0 - - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f - with: - python-version: 3.9 - - name: Install Python packages - run: | - python -m pip install --upgrade pip pywin32 setuptools coverage - - name: Build Test - run: | - spack compiler find - spack -d external find cmake ninja - spack -d install abseil-cpp diff --git a/CHANGELOG.md b/CHANGELOG.md index c1c9998a2f91f2..e3d45218ac6ddf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4 @@ + # v0.22.0 (2024-05-12) `v0.22.0` is a major feature release. @@ -82,21 +83,22 @@ spack install zlib cflags=\"-O2 -g\" ``` - That will now result in an error. The correct format (which you probably expected in - the first place) is: + That will now result in an error, but you can now write what you probably expected + to work in the first place: ``` spack install zlib cflags="-O2 -g" ``` - Quoted can also now include special characters, enabling commands like: + Quoted can also now include special characters, so you can supply flags like: ``` - spack install zlib ldflags='-Wl,-rpath=$ORIGIN/_libs' + spack intall zlib ldflags='-Wl,-rpath=$ORIGIN/_libs' ``` - To reduce ambiguity in parsing, do *not* put spaces around `=` and `==` in - flags or variants, as this will now result in an error: + To reduce ambiguity in parsing, we now require that you *not* put spaces around `=` + and `==` when for flags or variants. This would not have broken before but will now + result in an error: ``` spack install zlib cflags = "-O2 -g" @@ -162,7 +164,7 @@ include: ["openmpi"] ``` -6. **Add new `redistribute()` directive** +6. **New `redistribute()` directive** Some packages can't be redistributed in source or binary form. We need an explicit way to say that in a package. @@ -255,56 +257,59 @@ ## New commands, options, and directives - * Allow packages to be pushed to build cache after install from source (#42423) - * `spack develop`: stage build artifacts in same root as non-dev builds #41373 - * Don't delete `spack develop` build artifacts after install (#43424) - * `spack find`: add options for local/upstream only (#42999) - * `spack logs`: print log files for packages (either partially built or installed) (#42202) - * `patch`: support reversing patches (#43040) - * `develop`: Add -b/--build-directory option to set build_directory package attribute (#39606) - * `spack list`: add `--namesapce` / `--repo` option (#41948) - * directives: add `checked_by` field to `license()`, add some license checks - * `spack gc`: add options for environments and build dependencies (#41731) - * Add `--create` to `spack env activate` (#40896) +* Allow packages to be pushed to build cache after install from source (#42423) +* `spack develop`: stage build artifacts in same root as non-dev builds #41373 + * Don't delete `spack develop` build artifacts after install (#43424) +* `spack find`: add options for local/upstream only (#42999) +* `spack logs`: print log files for packages (either partially built or installed) (#42202) +* `patch`: support reversing patches (#43040) +* `develop`: Add -b/--build-directory option to set build_directory package attribute (#39606) +* `spack list`: add `--namesapce` / `--repo` option (#41948) +* directives: add `checked_by` field to `license()`, add some license checks +* `spack gc`: add options for environments and build dependencies (#41731) +* Add `--create` to `spack env activate` (#40896) ## Performance improvements - * environment.py: fix excessive re-reads (#43746) - * ruamel yaml: fix quadratic complexity bug (#43745) - * Refactor to improve `spec format` speed (#43712) - * Do not acquire a write lock on the env post install if no views (#43505) - * asp.py: fewer calls to `spec.copy()` (#43715) - * spec.py: early return in `__str__` - * avoid `jinja2` import at startup unless needed (#43237) +* environment.py: fix excessive re-reads (#43746) +* ruamel yaml: fix quadratic complexity bug (#43745) +* Refactor to improve `spec format` speed (#43712) +* Do not acquire a write lock on the env post install if no views (#43505) +* asp.py: fewer calls to `spec.copy()` (#43715) +* spec.py: early return in `__str__` +* avoid `jinja2` import at startup unless needed (#43237) ## Other new features of note - * `archspec`: update to `v0.2.4`: support for Windows, bugfixes for `neoverse-v1` and - `neoverse-v2` detection. - * `spack config get`/`blame`: with no args, show entire config - * `spack env create `: dir if dir-like (#44024) - * ASP-based solver: update os compatibility for macOS (#43862) - * Add handling of custom ssl certs in urllib ops (#42953) - * Add ability to rename environments (#43296) - * Add config option and compiler support to reuse across OS's (#42693) - * Support for prereleases (#43140) - * Only reuse externals when configured (#41707) - * Environments: Add support for including views (#42250) - * Make signed/unsigned a mirror configuration property (#41507) +* `archspec`: update to `v0.2.4`: support for Windows, bugfixes for `neoverse-v1` and + `neoverse-v2` detection. +* `spack config get`/`blame`: with no args, show entire config +* `spack env create `: dir if dir-like (#44024) +* ASP-based solver: update os compatibility for macOS (#43862) +* Add handling of custom ssl certs in urllib ops (#42953) +* Add ability to rename environments (#43296) +* Add config option and compiler support to reuse across OS's (#42693) +* Support for prereleases (#43140) +* Only reuse externals when configured (#41707) +* Environments: Add support for including views (#42250) + +## Binary caches +* Build cache: make signed/unsigned a mirror property (#41507) +* tools stack ## Removals, deprecations, and syntax changes - * remove `dpcpp` compiler and package (#43418) - * `spack load`: remove --only argument (#42120) +* remove `dpcpp` compiler and package (#43418) +* spack load: remove --only argument (#42120) ## Notable Bugfixes - * repo.py: drop deleted packages from provider cache (#43779) - * Allow `+` in module file names (#41999) - * `cmd/python`: use runpy to allow multiprocessing in scripts (#41789) - * Show extension commands with spack -h (#41726) - * Support environment variable expansion inside module projections (#42917) - * Alert user to failed concretizations (#42655) - * shell: fix zsh color formatting for PS1 in environments (#39497) - * spack mirror create --all: include patches (#41579) +* repo.py: drop deleted packages from provider cache (#43779) +* Allow `+` in module file names (#41999) +* `cmd/python`: use runpy to allow multiprocessing in scripts (#41789) +* Show extension commands with spack -h (#41726) +* Support environment variable expansion inside module projections (#42917) +* Alert user to failed concretizations (#42655) +* shell: fix zsh color formatting for PS1 in environments (#39497) +* spack mirror create --all: include patches (#41579) ## Spack community stats @@ -314,7 +319,6 @@ * 344 committers to packages * 45 committers to core - # v0.21.2 (2024-03-01) ## Bugfixes diff --git a/bin/spack-python b/bin/spack-python index ff555aa93b2d34..b8e76f826b7683 100755 --- a/bin/spack-python +++ b/bin/spack-python @@ -22,4 +22,4 @@ # # This is compatible across platforms. # -exec /usr/bin/env spack python "$@" +exec spack python "$@" diff --git a/bin/spack.bat b/bin/spack.bat index 832801359967b3..a5a5384e9f13c7 100644 --- a/bin/spack.bat +++ b/bin/spack.bat @@ -188,25 +188,27 @@ if NOT "%_sp_args%"=="%_sp_args:--help=%" ( goto :end_switch :case_load -:: If args contain --sh, --csh, or -h/--help: just execute. -if defined _sp_args ( - if NOT "%_sp_args%"=="%_sp_args:--help=%" ( - goto :default_case - ) else if NOT "%_sp_args%"=="%_sp_args:-h=%" ( - goto :default_case - ) else if NOT "%_sp_args%"=="%_sp_args:--bat=%" ( - goto :default_case - ) +if NOT defined _sp_args ( + exit /B 0 +) + +:: If args contain --bat, or -h/--help: just execute. +if NOT "%_sp_args%"=="%_sp_args:--help=%" ( + goto :default_case +) else if NOT "%_sp_args%"=="%_sp_args:-h=%" ( + goto :default_case +) else if NOT "%_sp_args%"=="%_sp_args:--bat=%" ( + goto :default_case +) else if NOT "%_sp_args%"=="%_sp_args:--list=%" ( + goto :default_case ) for /f "tokens=* USEBACKQ" %%I in ( - `python "%spack%" %_sp_flags% %_sp_subcommand% --bat %_sp_args%`) do %%I + `python "%spack%" %_sp_flags% %_sp_subcommand% --bat %_sp_args%` + ) do %%I goto :end_switch -:case_unload -goto :case_load - :default_case python "%spack%" %_sp_flags% %_sp_subcommand% %_sp_args% goto :end_switch diff --git a/lib/spack/docs/configuration.rst b/lib/spack/docs/configuration.rst index 1d216b692528c6..47cb9e11d244cd 100644 --- a/lib/spack/docs/configuration.rst +++ b/lib/spack/docs/configuration.rst @@ -240,9 +240,9 @@ The function ``my_package.get_extension_path`` in ``my_package/__init__.py`` mig .. _platform-scopes: ------------------------- -Platform-specific Scopes ------------------------- +----------------------------------------- +Platform-, OS- and Target-specific Scopes +----------------------------------------- For each scope above (excluding environment scopes), there can also be platform-specific settings. For example, on most platforms, GCC is @@ -253,23 +253,28 @@ configuration is set in precedence over settings in the ``defaults`` scope, but can still be overridden by settings in ``system``, ``system/darwin``, ``site``, ``site/darwin``, ``user``, ``user/darwin``, ``custom``, or -``custom/darwin``. So, the full scope precedence is: - -#. ``defaults`` -#. ``defaults/`` -#. ``system`` -#. ``system/`` -#. ``site`` -#. ``site/`` -#. ``user`` -#. ``user/`` -#. ``custom`` -#. ``custom/`` +``custom/darwin``. -You can get the name to use for ```` by running ``spack arch ---platform``. The system config scope has a ```` section for -sites at which ``/etc`` is mounted on multiple heterogeneous machines. +Following this pattern, the scope hierarchy can be further deepened by +operating system-specific (e.g. `sonoma`, or `almalinux9`) and +target-specific (e.g. `m1`, or `cascadelake`) scopes. The full scope +hierarchy is therefore: + +#. ``defaults[/[/[/]]]`` +#. ``system[/[/[/]]]`` +#. ``site[/[/[/]]]`` +#. ``user[/[/[/]]]`` +#. ``custom[/[/[/]]]`` + +Any scope overrides the ones above it in the directory tree. +The system config scope has a platform-based hierarchy for sites at +which ``/etc`` is mounted on multiple heterogeneous machines. + +You can get the name to use for ```` by running ``spack arch +--platform``. Similarly, the names for ```` and ```` can be +obtained with ``spack arch --operating-system``, and ``spack arch +--target``, respectively. .. _config-scope-precedence: @@ -285,7 +290,7 @@ lower-precedence settings. Completely ignoring higher-level configuration options is supported with the ``::`` notation for keys (see :ref:`config-overrides` below). -There are also special notations for string concatenation and precendense override: +There are also special notations for string concatenation and precedence override: * ``+:`` will force *prepending* strings or lists. For lists, this is the default behavior. * ``-:`` works similarly, but for *appending* values. diff --git a/lib/spack/docs/containers.rst b/lib/spack/docs/containers.rst index 2f7b1ae9af4f2b..38a384754902f4 100644 --- a/lib/spack/docs/containers.rst +++ b/lib/spack/docs/containers.rst @@ -203,12 +203,9 @@ The OS that are currently supported are summarized in the table below: * - Ubuntu 24.04 - ``ubuntu:24.04`` - ``spack/ubuntu-noble`` - * - CentOS 7 - - ``centos:7`` - - ``spack/centos7`` - * - CentOS Stream - - ``quay.io/centos/centos:stream`` - - ``spack/centos-stream`` + * - CentOS Stream9 + - ``quay.io/centos/centos:stream9`` + - ``spack/centos-stream9`` * - openSUSE Leap - ``opensuse/leap`` - ``spack/leap15`` diff --git a/lib/spack/docs/environments.rst b/lib/spack/docs/environments.rst index 193258e04729ac..ffa5e5f3c38577 100644 --- a/lib/spack/docs/environments.rst +++ b/lib/spack/docs/environments.rst @@ -931,32 +931,84 @@ This allows for a much-needed reduction in redundancy between packages and constraints. ----------------- -Filesystem Views ----------------- +----------------- +Environment Views +----------------- -Spack Environments can define filesystem views, which provide a direct access point -for software similar to the directory hierarchy that might exist under ``/usr/local``. -Filesystem views are updated every time the environment is written out to the lock -file ``spack.lock``, so the concrete environment and the view are always compatible. -The files of the view's installed packages are brought into the view by symbolic or -hard links, referencing the original Spack installation, or by copy. +Spack Environments can have an associated filesystem view, which is a directory +with a more traditional structure ``/bin``, ``/lib``, ``/include`` +in which all files of the installed packages are linked. + +By default a view is created for each environment, thanks to the ``view: true`` +option in the ``spack.yaml`` manifest file: + +.. code-block:: yaml + + spack: + specs: [perl, python] + view: true + +The view is created in a hidden directory ``.spack-env/view`` relative to the environment. +If you've used ``spack env activate``, you may have already interacted with this view. Spack +prepends its ``/bin`` dir to ``PATH`` when the environment is activated, so that +you can directly run executables from all installed packages in the environment. + +Views are highly customizable: you can control where they are put, modify their structure, +include and exclude specs, change how files are linked, and you can even generate multiple +views for a single environment. .. _configuring_environment_views: -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Configuration in ``spack.yaml`` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^ +Minimal view configuration +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The minimal configuration + +.. code-block:: yaml + + spack: + # ... + view: true + +lets Spack generate a single view with default settings under the +``.spack-env/view`` directory of the environment. + +Another short way to configure a view is to specify just where to put it: + +.. code-block:: yaml + + spack: + # ... + view: /path/to/view + +Views can also be disabled by setting ``view: false``. + +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Advanced view configuration +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +One or more **view descriptors** can be defined under ``view``, keyed by a name. +The example from the previous section with ``view: /path/to/view`` is equivalent +to defining a view descriptor named ``default`` with a ``root`` attribute: -The Spack Environment manifest file has a top-level keyword -``view``. Each entry under that heading is a **view descriptor**, headed -by a name. Any number of views may be defined under the ``view`` heading. -The view descriptor contains the root of the view, and -optionally the projections for the view, ``select`` and -``exclude`` lists for the view and link information via ``link`` and +.. code-block:: yaml + + spack: + # ... + view: + default: # name of the view + root: /path/to/view # view descriptor attribute + +The ``default`` view descriptor name is special: when you ``spack env activate`` your +environment, this view will be used to update (among other things) your ``PATH`` +variable. + +View descriptors must contain the root of the view, and optionally projections, +``select`` and ``exclude`` lists and link information via ``link`` and ``link_type``. -For example, in the following manifest +As a more advanced example, in the following manifest file snippet we define a view named ``mpis``, rooted at ``/path/to/view`` in which all projections use the package name, version, and compiler name to determine the path for a given @@ -1001,59 +1053,10 @@ of ``hardlink`` or ``copy``. when the environment is not activated, and linked libraries will be located *outside* of the view thanks to rpaths. - -There are two shorthands for environments with a single view. If the -environment at ``/path/to/env`` has a single view, with a root at -``/path/to/env/.spack-env/view``, with default selection and exclusion -and the default projection, we can put ``view: True`` in the -environment manifest. Similarly, if the environment has a view with a -different root, but default selection, exclusion, and projections, the -manifest can say ``view: /path/to/view``. These views are -automatically named ``default``, so that - -.. code-block:: yaml - - spack: - # ... - view: True - -is equivalent to - -.. code-block:: yaml - - spack: - # ... - view: - default: - root: .spack-env/view - -and - -.. code-block:: yaml - - spack: - # ... - view: /path/to/view - -is equivalent to - -.. code-block:: yaml - - spack: - # ... - view: - default: - root: /path/to/view - -By default, Spack environments are configured with ``view: True`` in -the manifest. Environments can be configured without views using -``view: False``. For backwards compatibility reasons, environments -with no ``view`` key are treated the same as ``view: True``. - From the command line, the ``spack env create`` command takes an argument ``--with-view [PATH]`` that sets the path for a single, default view. If no path is specified, the default path is used (``view: -True``). The argument ``--without-view`` can be used to create an +true``). The argument ``--without-view`` can be used to create an environment without any view configured. The ``spack env view`` command can be used to change the manage views @@ -1119,11 +1122,18 @@ the projection under ``all`` before reaching those entries. Activating environment views ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The ``spack env activate`` command will put the default view for the -environment into the user's path, in addition to activating the -environment for Spack commands. The arguments ``-v,--with-view`` and -``-V,--without-view`` can be used to tune this behavior. The default -behavior is to activate with the environment view if there is one. +The ``spack env activate `` has two effects: + +1. It activates the environment so that further Spack commands such + as ``spack install`` will run in the context of the environment. +2. It activates the view so that environment variables such as + ``PATH`` are updated to include the view. + +Without further arguments, the ``default`` view of the environment is +activated. If a view with a different name has to be activated, +``spack env activate --with-view `` can be +used instead. You can also activate the environment without modifying +further environment variables using ``--without-view``. The environment variables affected by the ``spack env activate`` command and the paths that are used to update them are determined by @@ -1146,8 +1156,8 @@ relevant variable if the path exists. For this reason, it is not recommended to use non-default projections with the default view of an environment. -The ``spack env deactivate`` command will remove the default view of -the environment from the user's path. +The ``spack env deactivate`` command will remove the active view of +the Spack environment from the user's environment variables. .. _env-generate-depfile: @@ -1306,7 +1316,7 @@ index once every package is pushed. Note how this target uses the generated example/push/%: example/install/% @mkdir -p $(dir $@) $(info About to push $(SPEC) to a buildcache) - $(SPACK) -e . buildcache push --allow-root --only=package $(BUILDCACHE_DIR) /$(HASH) + $(SPACK) -e . buildcache push --only=package $(BUILDCACHE_DIR) /$(HASH) @touch $@ push: $(addprefix example/push/,$(example/SPACK_PACKAGE_IDS)) diff --git a/lib/spack/docs/packaging_guide.rst b/lib/spack/docs/packaging_guide.rst index 46ab71b93f0a71..629b87e8e0f941 100644 --- a/lib/spack/docs/packaging_guide.rst +++ b/lib/spack/docs/packaging_guide.rst @@ -2344,6 +2344,27 @@ you set ``parallel`` to ``False`` at the package level, then each call to ``make()`` will be sequential by default, but packagers can call ``make(parallel=True)`` to override it. +Note that the ``--jobs`` option works out of the box for all standard +build systems. If you are using a non-standard build system instead, you +can use the variable ``make_jobs`` to extract the number of jobs specified +by the ``--jobs`` option: + +.. code-block:: python + :emphasize-lines: 7, 11 + :linenos: + + class Xios(Package): + ... + def install(self, spec, prefix): + ... + options = [ + ... + '--jobs', str(make_jobs), + ] + ... + make_xios = Executable("./make_xios") + make_xios(*options) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Install-level build parallelism ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -5173,12 +5194,6 @@ installed executable. The check is implemented as follows: reframe = Executable(self.prefix.bin.reframe) reframe("-l") -.. warning:: - - The API for adding tests is not yet considered stable and may change - in future releases. - - """""""""""""""""""""""""""""""" Checking build-time test results """""""""""""""""""""""""""""""" @@ -5216,38 +5231,42 @@ be left in the build stage directory as illustrated below: Stand-alone tests ^^^^^^^^^^^^^^^^^ -While build-time tests are integrated with the build process, stand-alone +While build-time tests are integrated with the installation process, stand-alone tests are expected to run days, weeks, even months after the software is installed. The goal is to provide a mechanism for gaining confidence that packages work as installed **and** *continue* to work as the underlying software evolves. Packages can add and inherit stand-alone tests. The -`spack test`` command is used to manage stand-alone testing. +``spack test`` command is used for stand-alone testing. -.. note:: +.. admonition:: Stand-alone test methods should complete within a few minutes. Execution speed is important since these tests are intended to quickly - assess whether installed specs work on the system. Consequently, they - should run relatively quickly -- as in on the order of at most a few - minutes -- while ideally executing all, or at least key aspects of the - installed software. + assess whether installed specs work on the system. Spack cannot spare + resources for more extensive testing of packages included in CI stacks. -.. note:: - - Failing stand-alone tests indicate problems with the installation and, - therefore, there is no reason to proceed with more resource-intensive - tests until those have been investigated. - - Passing stand-alone tests indicate that more thorough testing, such - as running extensive unit or regression tests, or tests that run at - scale can proceed without wasting resources on a problematic installation. + Consequently, stand-alone tests should run relatively quickly -- as in + on the order of at most a few minutes -- while testing at least key aspects + of the installed software. Save more extensive testing for other tools. Tests are defined in the package using methods with names beginning ``test_``. This allows Spack to support multiple independent checks, or parts. Files needed for testing, such as source, data, and expected outputs, may be saved from the build and or stored with the package in the repository. Regardless of origin, these files are automatically copied to the spec's test stage -directory prior to execution of the test method(s). Spack also provides some -helper functions to facilitate processing. +directory prior to execution of the test method(s). Spack also provides helper +functions to facilitate common processing. + +.. tip:: + + **The status of stand-alone tests can be used to guide follow-up testing efforts.** + + Passing stand-alone tests justify performing more thorough testing, such + as running extensive unit or regression tests or tests that run at scale, + when available. These tests are outside of the scope of Spack packaging. + + Failing stand-alone tests indicate problems with the installation and, + therefore, no reason to proceed with more resource-intensive tests until + the failures have been investigated. .. _configure-test-stage: @@ -5255,30 +5274,26 @@ helper functions to facilitate processing. Configuring the test stage directory """""""""""""""""""""""""""""""""""" -Stand-alone tests utilize a test stage directory for building, running, -and tracking results in the same way Spack uses a build stage directory. -The default test stage root directory, ``~/.spack/test``, is defined in -:ref:`etc/spack/defaults/config.yaml `. This location is -customizable by adding or changing the ``test_stage`` path in the high-level -``config`` of the appropriate ``config.yaml`` file such that: +Stand-alone tests utilize a test stage directory to build, run, and track +tests in the same way Spack uses a build stage directory to install software. +The default test stage root directory, ``$HOME/.spack/test``, is defined in +:ref:`config.yaml `. This location is customizable by adding or +changing the ``test_stage`` path such that: .. code-block:: yaml config: test_stage: /path/to/test/stage -Packages can use the ``self.test_suite.stage`` property to access this setting. -Other package properties that provide access to spec-specific subdirectories -and files are described in :ref:`accessing staged files `. +Packages can use the ``self.test_suite.stage`` property to access the path. -.. note:: +.. admonition:: Each spec being tested has its own test stage directory. - The test stage path is the root directory for the **entire suite**. - In other words, it is the root directory for **all specs** being - tested by the ``spack test run`` command. Each spec gets its own - stage subdirectory. Use ``self.test_suite.test_dir_for_spec(self.spec)`` - to access the spec-specific test stage directory. + The ``config:test_stage`` option is the path to the root of a + **test suite**'s stage directories. + Other package properties that provide paths to spec-specific subdirectories + and files are described in :ref:`accessing-files`. .. _adding-standalone-tests: @@ -5291,61 +5306,144 @@ Test recipes are defined in the package using methods with names beginning Each method has access to the information Spack tracks on the package, such as options, compilers, and dependencies, supporting the customization of tests to the build. Standard python ``assert`` statements and other error reporting -mechanisms are available. Such exceptions are automatically caught and reported +mechanisms can be used. These exceptions are automatically caught and reported as test failures. -Each test method is an implicit test part named by the method and whose -purpose is the method's docstring. Providing a purpose gives context for -aiding debugging. A test method may contain embedded test parts. Spack -outputs the test name and purpose prior to running each test method and -any embedded test parts. For example, ``MyPackage`` below provides two basic -examples of installation tests: ``test_always_fails`` and ``test_example``. -As the name indicates, the first always fails. The second simply runs the -installed example. +Each test method is an *implicit test part* named by the method. Its purpose +is the method's docstring. Providing a meaningful purpose for the test gives +context that can aid debugging. Spack outputs both the name and purpose at the +start of test execution so it's also important that the docstring/purpose be +brief. + +.. tip:: + + We recommend naming test methods so it is clear *what* is being tested. + For example, if a test method is building and or running an executable + called ``example``, then call the method ``test_example``. This, together + with a similarly meaningful test purpose, will aid test comprehension, + debugging, and maintainability. + +Stand-alone tests run in an environment that provides access to information +on the installed software, such as build options, dependencies, and compilers. +Build options and dependencies are accessed using the same spec checks used +by build recipes. Examples of checking :ref:`variant settings ` and +:ref:`spec constraints ` can be found at the provided links. + +.. admonition:: Spack automatically sets up the test stage directory and environment. + + Spack automatically creates the test stage directory and copies + relevant files *prior to* running tests. It can also ensure build + dependencies are available **if** necessary. + + The path to the test stage is configurable (see :ref:`configure-test-stage`). + + Files that Spack knows to copy are those saved from the build (see + :ref:`cache_extra_test_sources`) and those added to the package repository + (see :ref:`cache_custom_files`). + + Spack will use the value of the ``test_requires_compiler`` property to + determine whether it needs to also set up build dependencies (see + :ref:`test-build-tests`). + +The ``MyPackage`` package below provides two basic test examples: +``test_example`` and ``test_example2``. The first runs the installed +``example`` and ensures its output contains an expected string. The second +runs ``example2`` without checking output so is only concerned with confirming +the executable runs successfully. If the installed spec is not expected to have +``example2``, then the check at the top of the method will raise a special +``SkipTest`` exception, which is captured to facilitate reporting skipped test +parts to tools like CDash. .. code-block:: python class MyPackage(Package): ... - def test_always_fails(self): - """use assert to always fail""" - assert False - def test_example(self): - """run installed example""" + """ensure installed example works""" + expected = "Done." example = which(self.prefix.bin.example) - example() + + # Capture stdout and stderr from running the Executable + # and check that the expected output was produced. + out = example(output=str.split, error=str.split) + assert expected in out, f"Expected '{expected}' in the output" + + def test_example2(self): + """run installed example2""" + if self.spec.satisfies("@:1.0"): + # Raise SkipTest to ensure flagging the test as skipped for + # test reporting purposes. + raise SkipTest("Test is only available for v1.1 on") + + example2 = which(self.prefix.bin.example2) + example2() Output showing the identification of each test part after running the tests is illustrated below. .. code-block:: console - $ spack test run --alias mypackage mypackage@1.0 + $ spack test run --alias mypackage mypackage@2.0 ==> Spack test mypackage ... $ spack test results -l mypackage ==> Results for test suite 'mypackage': ... - ==> [2023-03-10-16:03:56.625204] test: test_always_fails: use assert to always fail + ==> [2024-03-10-16:03:56.625439] test: test_example: ensure installed example works ... - FAILED - ==> [2023-03-10-16:03:56.625439] test: test_example: run installed example + PASSED: MyPackage::test_example + ==> [2024-03-10-16:03:56.625439] test: test_example2: run installed example2 ... - PASSED + PASSED: MyPackage::test_example2 +.. admonition:: Do NOT implement tests that must run in the installation prefix. -.. note:: + Use of the package spec's installation prefix for building and running + tests is **strongly discouraged**. Doing so causes permission errors for + shared spack instances *and* facilities that install the software in + read-only file systems or directories. + + Instead, start these test methods by explicitly copying the needed files + from the installation prefix to the test stage directory. Note the test + stage directory is the current directory when the test is executed with + the ``spack test run`` command. + +.. admonition:: Test methods for library packages should build test executables. + + Stand-alone tests for library packages *should* build test executables + that utilize the *installed* library. Doing so ensures the tests follow + a similar build process that users of the library would follow. + + For more information on how to do this, see :ref:`test-build-tests`. - If ``MyPackage`` were a recipe for a library, the tests should build - an example or test program that is then executed. +.. tip:: -A test method can include test parts using the ``test_part`` context manager. -Each part is treated as an independent check to allow subsequent test parts -to execute even after a test part fails. + If you want to see more examples from packages with stand-alone tests, run + ``spack pkg grep "def\stest" | sed "s/\/package.py.*//g" | sort -u`` + from the command line to get a list of the packages. -.. _test-part: +.. _adding-standalone-test-parts: + +""""""""""""""""""""""""""""" +Adding stand-alone test parts +""""""""""""""""""""""""""""" + +Sometimes dependencies between steps of a test lend themselves to being +broken into parts. Tracking the pass/fail status of each part may aid +debugging. Spack provides a ``test_part`` context manager for use within +test methods. + +Each test part is independently run, tracked, and reported. Test parts are +executed in the order they appear. If one fails, subsequent test parts are +still performed even if they would also fail. This allows tools like CDash +to track and report the status of test parts across runs. The pass/fail status +of the enclosing test is derived from the statuses of the embedded test parts. + +.. admonition:: Test method and test part names **must** be unique. + + Test results reporting requires that test methods and embedded test parts + within a package have unique names. The signature for ``test_part`` is: @@ -5367,40 +5465,68 @@ where each argument has the following meaning: * ``work_dir`` is the path to the directory in which the test will run. The default of ``None``, or ``"."``, corresponds to the the spec's test - stage (i.e., ``self.test_suite.test_dir_for_spec(self.spec)``. + stage (i.e., ``self.test_suite.test_dir_for_spec(self.spec)``). -.. admonition:: Tests should **not** run under the installation directory. +.. admonition:: Start test part names with the name of the enclosing test. - Use of the package spec's installation directory for building and running - tests is **strongly** discouraged. Doing so causes permission errors for - shared spack instances *and* facilities that install the software in - read-only file systems or directories. + We **highly recommend** starting the names of test parts with the name + of the enclosing test. Doing so helps with the comprehension, readability + and debugging of test results. -Suppose ``MyPackage`` actually installs two examples we want to use for tests. -These checks can be implemented as separate checks or, as illustrated below, -embedded test parts. +Suppose ``MyPackage`` installs multiple executables that need to run in a +specific order since the outputs from one are inputs of others. Further suppose +we want to add an integration test that runs the executables in order. We can +accomplish this goal by implementing a stand-alone test method consisting of +test parts for each executable as follows: .. code-block:: python class MyPackage(Package): ... - def test_example(self): - """run installed examples""" - for example in ["ex1", "ex2"]: - with test_part( - self, - f"test_example_{example}", - purpose=f"run installed {example}", - ): - exe = which(join_path(self.prefix.bin, example)) - exe() - -In this case, there will be an implicit test part for ``test_example`` -and separate sub-parts for ``ex1`` and ``ex2``. The second sub-part -will be executed regardless of whether the first passes. The test -log for a run where the first executable fails and the second passes -is illustrated below. + def test_series(self): + """run setup, perform, and report""" + + with test_part(self, "test_series_setup", purpose="setup operation"): + exe = which(self.prefix.bin.setup)) + exe() + + with test_part(self, "test_series_run", purpose="perform operation"): + exe = which(self.prefix.bin.run)) + exe() + + with test_part(self, "test_series_report", purpose="generate report"): + exe = which(self.prefix.bin.report)) + exe() + +The result is ``test_series`` runs the following executable in order: ``setup``, +``run``, and ``report``. In this case no options are passed to any of the +executables and no outputs from running them are checked. Consequently, the +implementation could be simplified with a for-loop as follows: + +.. code-block:: python + + class MyPackage(Package): + ... + + def test_series(self): + """execute series setup, run, and report""" + + for exe, reason in [ + ("setup", "setup operation"), + ("run", "perform operation"), + ("report", "generate report") + ]: + with test_part(self, f"test_series_{exe}", purpose=reason): + exe = which(self.prefix.bin.join(exe)) + exe() + +In both cases, since we're using a context manager, each test part in +``test_series`` will execute regardless of the status of the other test +parts. + +Now let's look at the output from running the stand-alone tests where +the second test part, ``test_series_run``, fails. .. code-block:: console @@ -5410,50 +5536,68 @@ is illustrated below. $ spack test results -l mypackage ==> Results for test suite 'mypackage': ... - ==> [2023-03-10-16:03:56.625204] test: test_example: run installed examples - ==> [2023-03-10-16:03:56.625439] test: test_example_ex1: run installed ex1 + ==> [2024-03-10-16:03:56.625204] test: test_series: execute series setup, run, and report + ==> [2024-03-10-16:03:56.625439] test: test_series_setup: setup operation ... - FAILED - ==> [2023-03-10-16:03:56.625555] test: test_example_ex2: run installed ex2 + PASSED: MyPackage::test_series_setup + ==> [2024-03-10-16:03:56.625555] test: test_series_run: perform operation ... - PASSED + FAILED: MyPackage::test_series_run + ==> [2024-03-10-16:03:57.003456] test: test_series_report: generate report + ... + FAILED: MyPackage::test_series_report + FAILED: MyPackage::test_series ... -.. warning:: +Since test parts depended on the success of previous parts, we see that the +failure of one results in the failure of subsequent checks and the overall +result of the test method, ``test_series``, is failure. - Test results reporting requires that each test method and embedded - test part for a package have a unique name. +.. tip:: -Stand-alone tests run in an environment that provides access to information -Spack has on how the software was built, such as build options, dependencies, -and compilers. Build options and dependencies are accessed with the normal -spec checks. Examples of checking :ref:`variant settings ` and -:ref:`spec constraints ` can be found at the provided links. -Accessing compilers in stand-alone tests that are used by the build requires -setting a package property as described :ref:`below `. + If you want to see more examples from packages using ``test_part``, run + ``spack pkg grep "test_part(" | sed "s/\/package.py.*//g" | sort -u`` + from the command line to get a list of the packages. +.. _test-build-tests: -.. _test-compilation: +""""""""""""""""""""""""""""""""""""" +Building and running test executables +""""""""""""""""""""""""""""""""""""" -""""""""""""""""""""""""" -Enabling test compilation -""""""""""""""""""""""""" +.. admonition:: Re-use build-time sources and (small) input data sets when possible. -If you want to build and run binaries in tests, then you'll need to tell -Spack to load the package's compiler configuration. This is accomplished -by setting the package's ``test_requires_compiler`` property to ``True``. + We **highly recommend** re-using build-time test sources and pared down + input files for testing installed software. These files are easier + to keep synchronized with software capabilities when they reside + within the software's repository. More information on saving files from + the installation process can be found at :ref:`cache_extra_test_sources`. -Setting the property to ``True`` ensures access to the compiler through -canonical environment variables (e.g., ``CC``, ``CXX``, ``FC``, ``F77``). -It also gives access to build dependencies like ``cmake`` through their -``spec objects`` (e.g., ``self.spec["cmake"].prefix.bin.cmake``). + If that is not possible, you can add test-related files to the package + repository (see :ref:`cache_custom_files`). It will be important to + remember to maintain them so they work across listed or supported versions + of the package. -.. note:: +Packages that build libraries are good examples of cases where you'll want +to build test executables from the installed software before running them. +Doing so requires you to let Spack know it needs to load the package's +compiler configuration. This is accomplished by setting the package's +``test_requires_compiler`` property to ``True``. - The ``test_requires_compiler`` property should be added at the top of - the package near other attributes, such as the ``homepage`` and ``url``. +.. admonition:: ``test_requires_compiler = True`` is required to build test executables. -Below illustrates using this feature to compile an example. + Setting the property to ``True`` ensures access to the compiler through + canonical environment variables (e.g., ``CC``, ``CXX``, ``FC``, ``F77``). + It also gives access to build dependencies like ``cmake`` through their + ``spec objects`` (e.g., ``self.spec["cmake"].prefix.bin.cmake`` for the + path or ``self.spec["cmake"].command`` for the ``Executable`` instance). + + Be sure to add the property at the top of the package class under other + properties like the ``homepage``. + +The example below, which ignores how ``cxx-example.cpp`` is acquired, +illustrates the basic process of compiling a test executable using the +installed library before running it. .. code-block:: python @@ -5477,28 +5621,22 @@ Below illustrates using this feature to compile an example. cxx_example = which(exe) cxx_example() +Typically the files used to build and or run test executables are either +cached from the installation (see :ref:`cache_extra_test_sources`) or added +to the package repository (see :ref:`cache_custom_files`). There is nothing +preventing the use of both. .. _cache_extra_test_sources: -""""""""""""""""""""""" -Saving build-time files -""""""""""""""""""""""" - -.. note:: - - We highly recommend re-using build-time test sources and pared down - input files for testing installed software. These files are easier - to keep synchronized with software capabilities since they reside - within the software's repository. - - If that is not possible, you can add test-related files to the package - repository (see :ref:`adding custom files `). It - will be important to maintain them so they work across listed or supported - versions of the package. +"""""""""""""""""""""""""""""""""""" +Saving build- and install-time files +"""""""""""""""""""""""""""""""""""" -You can use the ``cache_extra_test_sources`` helper to copy directories -and or files from the source build stage directory to the package's -installation directory. +You can use the ``cache_extra_test_sources`` helper routine to copy +directories and or files from the source build stage directory to the +package's installation directory. Spack will automatically copy these +files for you when it sets up the test stage directory and before it +begins running the tests. The signature for ``cache_extra_test_sources`` is: @@ -5513,46 +5651,69 @@ where each argument has the following meaning: * ``srcs`` is a string *or* a list of strings corresponding to the paths of subdirectories and or files needed for stand-alone testing. -The paths must be relative to the staged source directory. Contents of -subdirectories and files are copied to a special test cache subdirectory -of the installation prefix. They are automatically copied to the appropriate -relative paths under the test stage directory prior to executing stand-alone -tests. +.. warning:: -For example, a package method for copying everything in the ``tests`` -subdirectory plus the ``foo.c`` and ``bar.c`` files from ``examples`` -and using ``foo.c`` in a test method is illustrated below. + Paths provided in the ``srcs`` argument **must be relative** to the + staged source directory. They will be copied to the equivalent relative + location under the test stage directory prior to test execution. + +Contents of subdirectories and files are copied to a special test cache +subdirectory of the installation prefix. They are automatically copied to +the appropriate relative paths under the test stage directory prior to +executing stand-alone tests. + +.. tip:: + + *Perform test-related conversions once when copying files.* + + If one or more of the copied files needs to be modified to reference + the installed software, it is recommended that those changes be made + to the cached files **once** in the post-``install`` copy method + **after** the call to ``cache_extra_test_sources``. This will reduce + the amount of unnecessary work in the test method **and** avoid problems + running stand-alone tests in shared instances and facility deployments. + + The ``filter_file`` function can be quite useful for such changes + (see :ref:`file-filtering`). + +Below is a basic example of a test that relies on files from the installation. +This package method re-uses the contents of the ``examples`` subdirectory, +which is assumed to have all of the files implemented to allow ``make`` to +compile and link ``foo.c`` and ``bar.c`` against the package's installed +library. .. code-block:: python - class MyLibPackage(Package): + class MyLibPackage(MakefilePackage): ... @run_after("install") def copy_test_files(self): - srcs = ["tests", - join_path("examples", "foo.c"), - join_path("examples", "bar.c")] - cache_extra_test_sources(self, srcs) - - def test_foo(self): - exe = "foo" - src_dir = self.test_suite.current_test_cache_dir.examples - with working_dir(src_dir): - cc = which(os.environ["CC"]) - cc( - f"-L{self.prefix.lib}", - f"-I{self.prefix.include}", - f"{exe}.c", - "-o", exe - ) - foo = which(exe) - foo() + cache_extra_test_sources(self, "examples") -In this case, the method copies the associated files from the build -stage, **after** the software is installed, to the package's test -cache directory. Then ``test_foo`` builds ``foo`` using ``foo.c`` -before running the program. + def test_example(self): + """build and run the examples""" + examples_dir = self.test_suite.current_test_cache_dir.examples + with working_dir(examples_dir): + make = which("make") + make() + + for program in ["foo", "bar"]: + with test_part( + self, + f"test_example_{program}", + purpose=f"ensure {program} runs" + ): + exe = Executable(program) + exe() + +In this case, ``copy_test_files`` copies the associated files from the +build stage to the package's test cache directory under the installation +prefix. Running ``spack test run`` for the package results in Spack copying +the directory and its contents to the the test stage directory. The +``working_dir`` context manager ensures the commands within it are executed +from the ``examples_dir``. The test builds the software using ``make`` before +running each executable, ``foo`` and ``bar``, as independent test parts. .. note:: @@ -5561,43 +5722,18 @@ before running the program. The key to copying files for stand-alone testing at build time is use of the ``run_after`` directive, which ensures the associated files are - copied **after** the provided build stage where the files **and** - installation prefix are available. - -These paths are **automatically copied** from cache to the test stage -directory prior to the execution of any stand-alone tests. Tests access -the files using the ``self.test_suite.current_test_cache_dir`` property. -In our example above, test methods can use the following paths to reference -the copy of each entry listed in ``srcs``, respectively: + copied **after** the provided build stage (``install``) when the installation + prefix **and** files are available. -* ``self.test_suite.current_test_cache_dir.tests`` -* ``join_path(self.test_suite.current_test_cache_dir.examples, "foo.c")`` -* ``join_path(self.test_suite.current_test_cache_dir.examples, "bar.c")`` + The test method uses the path contained in the package's + ``self.test_suite.current_test_cache_dir`` property for the root directory + of the copied files. In this case, that's the ``examples`` subdirectory. -.. admonition:: Library packages should build stand-alone tests - - Library developers will want to build the associated tests - against their **installed** libraries before running them. - -.. note:: - - While source and input files are generally recommended, binaries - **may** also be cached by the build process. Only you, as the package - writer or maintainer, know whether these files would be appropriate - for testing the installed software weeks to months later. - -.. note:: - - If one or more of the copied files needs to be modified to reference - the installed software, it is recommended that those changes be made - to the cached files **once** in the ``copy_test_sources`` method and - ***after** the call to ``cache_extra_test_sources()``. This will - reduce the amount of unnecessary work in the test method **and** avoid - problems testing in shared instances and facility deployments. - - The ``filter_file`` function can be quite useful for such changes. - See :ref:`file manipulation `. +.. tip:: + If you want to see more examples from packages that cache build files, run + ``spack pkg grep cache_extra_test_sources | sed "s/\/package.py.*//g" | sort -u`` + from the command line to get a list of the packages. .. _cache_custom_files: @@ -5605,8 +5741,9 @@ the copy of each entry listed in ``srcs``, respectively: Adding custom files """"""""""""""""""" -In some cases it can be useful to have files that can be used to build or -check the results of tests. Examples include: +Sometimes it is helpful or necessary to include custom files for building and +or checking the results of tests as part of the package. Examples of the types +of files that might be useful are: - test source files - test input files @@ -5614,17 +5751,15 @@ check the results of tests. Examples include: - expected test outputs While obtaining such files from the software repository is preferred (see -:ref:`adding build-time files `), there are -circumstances where that is not feasible (e.g., the software is not being -actively maintained). When test files can't be obtained from the repository -or as a supplement to files that can, Spack supports the inclusion of -additional files under the ``test`` subdirectory of the package in the -Spack repository. +:ref:`cache_extra_test_sources`), there are circumstances where doing so is not +feasible such as when the software is not being actively maintained. When test +files cannot be obtained from the repository or there is a need to supplement +files that can, Spack supports the inclusion of additional files under the +``test`` subdirectory of the package in the Spack repository. -Spack **automatically copies** the contents of that directory to the -test staging directory prior to running stand-alone tests. Test methods -access those files using the ``self.test_suite.current_test_data_dir`` -property as shown below. +The following example assumes a ``custom-example.c`` is saved in ``MyLibary`` +package's ``test`` subdirectory. It also assumes the program simply needs to +be compiled and linked against the installed ``MyLibrary`` software. .. code-block:: python @@ -5634,17 +5769,29 @@ property as shown below. test_requires_compiler = True ... - def test_example(self): + def test_custom_example(self): """build and run custom-example""" - data_dir = self.test_suite.current_test_data_dir + src_dir = self.test_suite.current_test_data_dir exe = "custom-example" - src = datadir.join(f"{exe}.cpp") - ... - # TODO: Build custom-example using src and exe - ... - custom_example = which(exe) - custom_example() + with working_dir(src_dir): + cc = which(os.environ["CC"]) + cc( + f"-L{self.prefix.lib}", + f"-I{self.prefix.include}", + f"{exe}.cpp", + "-o", exe + ) + + custom_example = Executable(exe) + custom_example() + +In this case, ``spack test run`` for the package results in Spack copying +the contents of the ``test`` subdirectory to the test stage directory path +in ``self.test_suite.current_test_data_dir`` before calling +``test_custom_example``. Use of the ``working_dir`` context manager +ensures the commands to build and run the program are performed from +within the appropriate subdirectory of the test stage. .. _expected_test_output_from_file: @@ -5653,9 +5800,8 @@ Reading expected output from a file """"""""""""""""""""""""""""""""""" The helper function ``get_escaped_text_output`` is available for packages -to retrieve and properly format the text from a file that contains the -expected output from running an executable that may contain special -characters. +to retrieve properly formatted text from a file potentially containing +special characters. The signature for ``get_escaped_text_output`` is: @@ -5665,10 +5811,13 @@ The signature for ``get_escaped_text_output`` is: where ``filename`` is the path to the file containing the expected output. -The ``filename`` for a :ref:`custom file ` can be -accessed by tests using the ``self.test_suite.current_test_data_dir`` -property. The example below illustrates how to read a file that was -added to the package's ``test`` subdirectory. +The path provided to ``filename`` for one of the copied custom files +(:ref:`custom file `) is in the path rooted at +``self.test_suite.current_test_data_dir``. + +The example below shows how to reference both the custom database +(``packages.db``) and expected output (``dump.out``) files Spack copies +to the test stage: .. code-block:: python @@ -5690,8 +5839,9 @@ added to the package's ``test`` subdirectory. for exp in expected: assert re.search(exp, out), f"Expected '{exp}' in output" -If the file was instead copied from the ``tests`` subdirectory of the staged -source code, the path would be obtained as shown below. +If the files were instead cached from installing the software, the paths to the +two files would be found under the ``self.test_suite.current_test_cache_dir`` +directory as shown below: .. code-block:: python @@ -5699,17 +5849,24 @@ source code, the path would be obtained as shown below. """check example table dump""" test_cache_dir = self.test_suite.current_test_cache_dir db_filename = test_cache_dir.join("packages.db") + .. + expected = get_escaped_text_output(test_cache_dir.join("dump.out")) + ... -Alternatively, if the file was copied to the ``share/tests`` subdirectory -as part of the installation process, the test could access the path as -follows: +Alternatively, if both files had been installed by the software into the +``share/tests`` subdirectory of the installation prefix, the paths to the +two files would be referenced as follows: .. code-block:: python def test_example(self): """check example table dump""" - db_filename = join_path(self.prefix.share.tests, "packages.db") - + db_filename = self.prefix.share.tests.join("packages.db") + .. + expected = get_escaped_text_output( + self.prefix.share.tests.join("dump.out") + ) + ... .. _check_outputs: @@ -5717,9 +5874,9 @@ follows: Comparing expected to actual outputs """""""""""""""""""""""""""""""""""" -The helper function ``check_outputs`` is available for packages to ensure -the expected outputs from running an executable are contained within the -actual outputs. +The ``check_outputs`` helper routine is available for packages to ensure +multiple expected outputs from running an executable are contained within +the actual outputs. The signature for ``check_outputs`` is: @@ -5745,11 +5902,17 @@ Invoking the method is the equivalent of: if errors: raise RuntimeError("\n ".join(errors)) +.. tip:: + + If you want to see more examples from packages that use this helper, run + ``spack pkg grep check_outputs | sed "s/\/package.py.*//g" | sort -u`` + from the command line to get a list of the packages. + .. _accessing-files: """"""""""""""""""""""""""""""""""""""""" -Accessing package- and test-related files +Finding package- and test-related files """"""""""""""""""""""""""""""""""""""""" You may need to access files from one or more locations when writing @@ -5758,8 +5921,7 @@ include test source files or includes them but has no way to build the executables using the installed headers and libraries. In these cases you may need to reference the files relative to one or more root directory. The table below lists relevant path properties and provides additional -examples of their use. -:ref:`Reading expected output ` provides +examples of their use. See :ref:`expected_test_output_from_file` for examples of accessing files saved from the software repository, package repository, and installation. @@ -5788,7 +5950,6 @@ repository, and installation. - ``self.test_suite.current_test_data_dir`` - ``join_path(self.test_suite.current_test_data_dir, "hello.f90")`` - .. _inheriting-tests: """""""""""""""""""""""""""" @@ -5831,7 +5992,7 @@ maintainers provide additional stand-alone tests customized to the package. .. warning:: Any package that implements a test method with the same name as an - inherited method overrides the inherited method. If that is not the + inherited method will override the inherited method. If that is not the goal and you are not explicitly calling and adding functionality to the inherited method for the test, then make sure that all test methods and embedded test parts have unique test names. @@ -5996,6 +6157,8 @@ running: This is already part of the boilerplate for packages created with ``spack create``. +.. _file-filtering: + ^^^^^^^^^^^^^^^^^^^ Filtering functions ^^^^^^^^^^^^^^^^^^^ diff --git a/lib/spack/docs/pipelines.rst b/lib/spack/docs/pipelines.rst index 8aeefd116efc2e..0a72793a891d6b 100644 --- a/lib/spack/docs/pipelines.rst +++ b/lib/spack/docs/pipelines.rst @@ -253,17 +253,6 @@ can easily happen if it is not updated frequently, this behavior ensures that spack has a way to know for certain about the status of any concrete spec on the remote mirror, but can slow down pipeline generation significantly. -The ``--optimize`` argument is experimental and runs the generated pipeline -document through a series of optimization passes designed to reduce the size -of the generated file. - -The ``--dependencies`` is also experimental and disables what in Gitlab is -referred to as DAG scheduling, internally using the ``dependencies`` keyword -rather than ``needs`` to list dependency jobs. The drawback of using this option -is that before any job can begin, all jobs in previous stages must first -complete. The benefit is that Gitlab allows more dependencies to be listed -when using ``dependencies`` instead of ``needs``. - The optional ``--output-file`` argument should be an absolute path (including file name) to the generated pipeline, and if not given, the default is ``./.gitlab-ci.yml``. diff --git a/lib/spack/llnl/util/tty/log.py b/lib/spack/llnl/util/tty/log.py index 16fe45edfc7267..aeb1114c5af634 100644 --- a/lib/spack/llnl/util/tty/log.py +++ b/lib/spack/llnl/util/tty/log.py @@ -33,8 +33,23 @@ pass +esc, bell, lbracket, bslash, newline = r"\x1b", r"\x07", r"\[", r"\\", r"\n" +# Ansi Control Sequence Introducers (CSI) are a well-defined format +# Standard ECMA-48: Control Functions for Character-Imaging I/O Devices, section 5.4 +# https://www.ecma-international.org/wp-content/uploads/ECMA-48_5th_edition_june_1991.pdf +csi_pre = f"{esc}{lbracket}" +csi_param, csi_inter, csi_post = r"[0-?]", r"[ -/]", r"[@-~]" +ansi_csi = f"{csi_pre}{csi_param}*{csi_inter}*{csi_post}" +# General ansi escape sequences have well-defined prefixes, +# but content and suffixes are less reliable. +# Conservatively assume they end with either "\" or "", +# with no intervening ""/"" keys or newlines +esc_pre = f"{esc}[@-_]" +esc_content = f"[^{esc}{bell}{newline}]" +esc_post = f"(?:{esc}{bslash}|{bell})" +ansi_esc = f"{esc_pre}{esc_content}*{esc_post}" # Use this to strip escape sequences -_escape = re.compile(r"\x1b[^m]*m|\x1b\[?1034h|\x1b\][0-9]+;[^\x07]*\x07") +_escape = re.compile(f"{ansi_csi}|{ansi_esc}") # control characters for enabling/disabling echo # diff --git a/lib/spack/spack/audit.py b/lib/spack/spack/audit.py index 3154723e162b68..faef15393d952b 100644 --- a/lib/spack/spack/audit.py +++ b/lib/spack/spack/audit.py @@ -791,7 +791,7 @@ def check_virtual_with_variants(spec, msg): return error = error_cls( f"{pkg_name}: {msg}", - f"remove variants from '{spec}' in depends_on directive in {filename}", + [f"remove variants from '{spec}' in depends_on directive in {filename}"], ) errors.append(error) diff --git a/lib/spack/spack/bootstrap/config.py b/lib/spack/spack/bootstrap/config.py index 8cba750fc59eda..36b2ae4e06ae47 100644 --- a/lib/spack/spack/bootstrap/config.py +++ b/lib/spack/spack/bootstrap/config.py @@ -122,21 +122,19 @@ def _read_and_sanitize_configuration() -> Dict[str, Any]: def _bootstrap_config_scopes() -> Sequence["spack.config.ConfigScope"]: - tty.debug("[BOOTSTRAP CONFIG SCOPE] name=_builtin") config_scopes: MutableSequence["spack.config.ConfigScope"] = [ spack.config.InternalConfigScope("_builtin", spack.config.CONFIG_DEFAULTS) ] + tty.debug("[BOOTSTRAP CONFIG SCOPE] name=_builtin") configuration_paths = (spack.config.CONFIGURATION_DEFAULTS_PATH, ("bootstrap", _config_path())) for name, path in configuration_paths: - platform = spack.platforms.host().name - platform_scope = spack.config.ConfigScope( - "/".join([name, platform]), os.path.join(path, platform) - ) - generic_scope = spack.config.ConfigScope(name, path) - config_scopes.extend([generic_scope, platform_scope]) - msg = "[BOOTSTRAP CONFIG SCOPE] name={0}, path={1}" - tty.debug(msg.format(generic_scope.name, generic_scope.path)) - tty.debug(msg.format(platform_scope.name, platform_scope.path)) + msg = "[BOOTSTRAP CONFIG SCOPE] {name}, {path}" + tty.debug(msg.format(name=name, path=path)) + generic_scope = spack.config.DirectoryConfigScope(name, path) + config_scopes.append(generic_scope) + for scope in spack.config.platform_scopes(name, path): + tty.debug(msg.format(name=scope.name, path=scope.path)) + config_scopes.append(scope) return config_scopes diff --git a/lib/spack/spack/build_environment.py b/lib/spack/spack/build_environment.py index acd15629a41816..c02c3bc81850b2 100644 --- a/lib/spack/spack/build_environment.py +++ b/lib/spack/spack/build_environment.py @@ -72,6 +72,7 @@ import spack.store import spack.subprocess_context import spack.user_environment +import spack.util.executable import spack.util.path import spack.util.pattern from spack import traverse @@ -458,10 +459,7 @@ def set_wrapper_variables(pkg, env): # Find ccache binary and hand it to build environment if spack.config.get("config:ccache"): - ccache = Executable("ccache") - if not ccache: - raise RuntimeError("No ccache binary found in PATH") - env.set(SPACK_CCACHE_BINARY, ccache) + env.set(SPACK_CCACHE_BINARY, spack.util.executable.which_string("ccache", required=True)) # Gather information about various types of dependencies link_deps = set(pkg.spec.traverse(root=False, deptype=("link"))) @@ -740,7 +738,9 @@ def get_rpaths(pkg): # Second module is our compiler mod name. We use that to get rpaths from # module show output. if pkg.compiler.modules and len(pkg.compiler.modules) > 1: - rpaths.append(path_from_modules([pkg.compiler.modules[1]])) + mod_rpath = path_from_modules([pkg.compiler.modules[1]]) + if mod_rpath: + rpaths.append(mod_rpath) return list(dedupe(filter_system_paths(rpaths))) @@ -1473,7 +1473,7 @@ def long_message(self): out.write(" {0}\n".format(self.log_name)) # Also output the test log path IF it exists - if self.context != "test": + if self.context != "test" and have_log: test_log = join_path(os.path.dirname(self.log_name), spack_install_test_log) if os.path.isfile(test_log): out.write("\nSee test log for details:\n") diff --git a/lib/spack/spack/build_systems/cached_cmake.py b/lib/spack/spack/build_systems/cached_cmake.py index 48c714f31a2af8..aff54d7559e746 100644 --- a/lib/spack/spack/build_systems/cached_cmake.py +++ b/lib/spack/spack/build_systems/cached_cmake.py @@ -162,7 +162,9 @@ def initconfig_compiler_entries(self): ld_flags = " ".join(flags["ldflags"]) ld_format_string = "CMAKE_{0}_LINKER_FLAGS" # CMake has separate linker arguments for types of builds. - for ld_type in ["EXE", "MODULE", "SHARED", "STATIC"]: + # 'ldflags' should not be used with CMAKE_STATIC_LINKER_FLAGS which + # is used by the archiver, so don't include "STATIC" in this loop: + for ld_type in ["EXE", "MODULE", "SHARED"]: ld_string = ld_format_string.format(ld_type) entries.append(cmake_cache_string(ld_string, ld_flags)) diff --git a/lib/spack/spack/build_systems/cuda.py b/lib/spack/spack/build_systems/cuda.py index 8d029b740a305c..f20677df337105 100644 --- a/lib/spack/spack/build_systems/cuda.py +++ b/lib/spack/spack/build_systems/cuda.py @@ -124,6 +124,8 @@ def cuda_flags(arch_list): # minimum supported versions conflicts("%gcc@:4", when="+cuda ^cuda@11.0:") conflicts("%gcc@:5", when="+cuda ^cuda@11.4:") + conflicts("%gcc@:7.2", when="+cuda ^cuda@12.4:") + conflicts("%clang@:6", when="+cuda ^cuda@12.2:") # maximum supported version # NOTE: @@ -136,14 +138,14 @@ def cuda_flags(arch_list): conflicts("%gcc@11.2:", when="+cuda ^cuda@:11.5") conflicts("%gcc@12:", when="+cuda ^cuda@:11.8") conflicts("%gcc@13:", when="+cuda ^cuda@:12.3") - conflicts("%gcc@14:", when="+cuda ^cuda@:12.4") + conflicts("%gcc@14:", when="+cuda ^cuda@:12.5") conflicts("%clang@12:", when="+cuda ^cuda@:11.4.0") conflicts("%clang@13:", when="+cuda ^cuda@:11.5") conflicts("%clang@14:", when="+cuda ^cuda@:11.7") conflicts("%clang@15:", when="+cuda ^cuda@:12.0") conflicts("%clang@16:", when="+cuda ^cuda@:12.1") conflicts("%clang@17:", when="+cuda ^cuda@:12.3") - conflicts("%clang@18:", when="+cuda ^cuda@:12.4") + conflicts("%clang@18:", when="+cuda ^cuda@:12.5") # https://gist.github.com/ax3l/9489132#gistcomment-3860114 conflicts("%gcc@10", when="+cuda ^cuda@:11.4.0") @@ -211,12 +213,16 @@ def cuda_flags(arch_list): conflicts("%intel@19.0:", when="+cuda ^cuda@:10.0") conflicts("%intel@19.1:", when="+cuda ^cuda@:10.1") conflicts("%intel@19.2:", when="+cuda ^cuda@:11.1.0") + conflicts("%intel@2021:", when="+cuda ^cuda@:11.4.0") # XL is mostly relevant for ppc64le Linux conflicts("%xl@:12,14:", when="+cuda ^cuda@:9.1") conflicts("%xl@:12,14:15,17:", when="+cuda ^cuda@9.2") conflicts("%xl@:12,17:", when="+cuda ^cuda@:11.1.0") + # PowerPC. + conflicts("target=ppc64le", when="+cuda ^cuda@12.5:") + # Darwin. # TODO: add missing conflicts for %apple-clang cuda@:10 - conflicts("platform=darwin", when="+cuda ^cuda@11.0.2: ") + conflicts("platform=darwin", when="+cuda ^cuda@11.0.2:") diff --git a/lib/spack/spack/caches.py b/lib/spack/spack/caches.py index 19c736748e37e9..14d03a14b36d34 100644 --- a/lib/spack/spack/caches.py +++ b/lib/spack/spack/caches.py @@ -34,6 +34,8 @@ def _misc_cache(): return spack.util.file_cache.FileCache(path) +FileCacheType = Union[spack.util.file_cache.FileCache, llnl.util.lang.Singleton] + #: Spack's cache for small data MISC_CACHE: Union[spack.util.file_cache.FileCache, llnl.util.lang.Singleton] = ( llnl.util.lang.Singleton(_misc_cache) diff --git a/lib/spack/spack/ci.py b/lib/spack/spack/ci.py index bd664c664d3b88..528fa4506356fa 100644 --- a/lib/spack/spack/ci.py +++ b/lib/spack/spack/ci.py @@ -22,6 +22,8 @@ from urllib.parse import urlencode from urllib.request import HTTPHandler, Request, build_opener +import ruamel.yaml + import llnl.util.filesystem as fs import llnl.util.tty as tty from llnl.util.lang import memoized @@ -551,10 +553,9 @@ def generate_gitlab_ci_yaml( env, print_summary, output_file, + *, prune_dag=False, check_index_only=False, - run_optimizer=False, - use_dependencies=False, artifacts_root=None, remote_mirror_override=None, ): @@ -575,12 +576,6 @@ def generate_gitlab_ci_yaml( this mode results in faster yaml generation time). Otherwise, also check each spec directly by url (useful if there is no index or it might be out of date). - run_optimizer (bool): If True, post-process the generated yaml to try - try to reduce the size (attempts to collect repeated configuration - and replace with definitions).) - use_dependencies (bool): If true, use "dependencies" rather than "needs" - ("needs" allows DAG scheduling). Useful if gitlab instance cannot - be configured to handle more than a few "needs" per job. artifacts_root (str): Path where artifacts like logs, environment files (spack.yaml, spack.lock), etc should be written. GitLab requires this to be within the project directory. @@ -814,7 +809,8 @@ def ensure_expected_target_path(path): cli_scopes = [ os.path.relpath(s.path, concrete_env_dir) for s in cfg.scopes().values() - if isinstance(s, cfg.ImmutableConfigScope) + if not s.writable + and isinstance(s, (cfg.DirectoryConfigScope)) and s.path not in env_includes and os.path.exists(s.path) ] @@ -1271,17 +1267,6 @@ def main_script_replacements(cmd): with open(copy_specs_file, "w") as fd: fd.write(json.dumps(buildcache_copies)) - # TODO(opadron): remove this or refactor - if run_optimizer: - import spack.ci_optimization as ci_opt - - output_object = ci_opt.optimizer(output_object) - - # TODO(opadron): remove this or refactor - if use_dependencies: - import spack.ci_needs_workaround as cinw - - output_object = cinw.needs_to_dependencies(output_object) else: # No jobs were generated noop_job = spack_ci_ir["jobs"]["noop"]["attributes"] @@ -1310,8 +1295,11 @@ def main_script_replacements(cmd): if not rebuild_everything: sys.exit(1) - with open(output_file, "w") as outf: - outf.write(syaml.dump(sorted_output, default_flow_style=True)) + # Minimize yaml output size through use of anchors + syaml.anchorify(sorted_output) + + with open(output_file, "w") as f: + ruamel.yaml.YAML().dump(sorted_output, f) def _url_encode_string(input_string): diff --git a/lib/spack/spack/ci_needs_workaround.py b/lib/spack/spack/ci_needs_workaround.py deleted file mode 100644 index b89de48f8f5290..00000000000000 --- a/lib/spack/spack/ci_needs_workaround.py +++ /dev/null @@ -1,34 +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) -import collections.abc - -get_job_name = lambda needs_entry: ( - needs_entry.get("job") - if (isinstance(needs_entry, collections.abc.Mapping) and needs_entry.get("artifacts", True)) - else needs_entry if isinstance(needs_entry, str) else None -) - - -def convert_job(job_entry): - if not isinstance(job_entry, collections.abc.Mapping): - return job_entry - - needs = job_entry.get("needs") - if needs is None: - return job_entry - - new_job = {} - new_job.update(job_entry) - del new_job["needs"] - - new_job["dependencies"] = list( - filter((lambda x: x is not None), (get_job_name(needs_entry) for needs_entry in needs)) - ) - - return new_job - - -def needs_to_dependencies(yaml): - return dict((k, convert_job(v)) for k, v in yaml.items()) diff --git a/lib/spack/spack/ci_optimization.py b/lib/spack/spack/ci_optimization.py deleted file mode 100644 index 7d799fc907e172..00000000000000 --- a/lib/spack/spack/ci_optimization.py +++ /dev/null @@ -1,363 +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) -import collections -import collections.abc -import copy -import hashlib - -import spack.util.spack_yaml as syaml - - -def sort_yaml_obj(obj): - if isinstance(obj, collections.abc.Mapping): - return syaml.syaml_dict( - (k, sort_yaml_obj(v)) for k, v in sorted(obj.items(), key=(lambda item: str(item[0]))) - ) - - if isinstance(obj, collections.abc.Sequence) and not isinstance(obj, str): - return syaml.syaml_list(sort_yaml_obj(x) for x in obj) - - return obj - - -def matches(obj, proto): - """Returns True if the test object "obj" matches the prototype object - "proto". - - If obj and proto are mappings, obj matches proto if (key in obj) and - (obj[key] matches proto[key]) for every key in proto. - - If obj and proto are sequences, obj matches proto if they are of the same - length and (a matches b) for every (a,b) in zip(obj, proto). - - Otherwise, obj matches proto if obj == proto. - - Precondition: proto must not have any reference cycles - """ - if isinstance(obj, collections.abc.Mapping): - if not isinstance(proto, collections.abc.Mapping): - return False - - return all((key in obj and matches(obj[key], val)) for key, val in proto.items()) - - if isinstance(obj, collections.abc.Sequence) and not isinstance(obj, str): - if not (isinstance(proto, collections.abc.Sequence) and not isinstance(proto, str)): - return False - - if len(obj) != len(proto): - return False - - return all(matches(obj[index], val) for index, val in enumerate(proto)) - - return obj == proto - - -def subkeys(obj, proto): - """Returns the test mapping "obj" after factoring out the items it has in - common with the prototype mapping "proto". - - Consider a recursive merge operation, merge(a, b) on mappings a and b, that - returns a mapping, m, whose keys are the union of the keys of a and b, and - for every such key, "k", its corresponding value is: - - - merge(a[key], b[key]) if a[key] and b[key] are mappings, or - - b[key] if (key in b) and not matches(a[key], b[key]), - or - - a[key] otherwise - - - If obj and proto are mappings, the returned object is the smallest object, - "a", such that merge(a, proto) matches obj. - - Otherwise, obj is returned. - """ - if not ( - isinstance(obj, collections.abc.Mapping) and isinstance(proto, collections.abc.Mapping) - ): - return obj - - new_obj = {} - for key, value in obj.items(): - if key not in proto: - new_obj[key] = value - continue - - if matches(value, proto[key]) and matches(proto[key], value): - continue - - if isinstance(value, collections.abc.Mapping): - new_obj[key] = subkeys(value, proto[key]) - continue - - new_obj[key] = value - - return new_obj - - -def add_extends(yaml, key): - """Modifies the given object "yaml" so that it includes an "extends" key - whose value features "key". - - If "extends" is not in yaml, then yaml is modified such that - yaml["extends"] == key. - - If yaml["extends"] is a str, then yaml is modified such that - yaml["extends"] == [yaml["extends"], key] - - If yaml["extends"] is a list that does not include key, then key is - appended to the list. - - Otherwise, yaml is left unchanged. - """ - - has_key = "extends" in yaml - extends = yaml.get("extends") - - if has_key and not isinstance(extends, (str, collections.abc.Sequence)): - return - - if extends is None: - yaml["extends"] = key - return - - if isinstance(extends, str): - if extends != key: - yaml["extends"] = [extends, key] - return - - if key not in extends: - extends.append(key) - - -def common_subobject(yaml, sub): - """Factor prototype object "sub" out of the values of mapping "yaml". - - Consider a modified copy of yaml, "new", where for each key, "key" in yaml: - - - If yaml[key] matches sub, then new[key] = subkeys(yaml[key], sub). - - Otherwise, new[key] = yaml[key]. - - If the above match criteria is not satisfied for any such key, then (yaml, - None) is returned. The yaml object is returned unchanged. - - Otherwise, each matching value in new is modified as in - add_extends(new[key], common_key), and then new[common_key] is set to sub. - The common_key value is chosen such that it does not match any preexisting - key in new. In this case, (new, common_key) is returned. - """ - match_list = set(k for k, v in yaml.items() if matches(v, sub)) - - if not match_list: - return yaml, None - - common_prefix = ".c" - common_index = 0 - - while True: - common_key = "".join((common_prefix, str(common_index))) - if common_key not in yaml: - break - common_index += 1 - - new_yaml = {} - - for key, val in yaml.items(): - new_yaml[key] = copy.deepcopy(val) - - if not matches(val, sub): - continue - - new_yaml[key] = subkeys(new_yaml[key], sub) - add_extends(new_yaml[key], common_key) - - new_yaml[common_key] = sub - - return new_yaml, common_key - - -def print_delta(name, old, new, applied=None): - delta = new - old - reldelta = (1000 * delta) // old - reldelta = (reldelta // 10, reldelta % 10) - - if applied is None: - applied = new <= old - - print( - "\n".join( - ( - "{0} {1}:", - " before: {2: 10d}", - " after : {3: 10d}", - " delta : {4:+10d} ({5:=+3d}.{6}%)", - ) - ).format(name, ("+" if applied else "x"), old, new, delta, reldelta[0], reldelta[1]) - ) - - -def try_optimization_pass(name, yaml, optimization_pass, *args, **kwargs): - """Try applying an optimization pass and return information about the - result - - "name" is a string describing the nature of the pass. If it is a non-empty - string, summary statistics are also printed to stdout. - - "yaml" is the object to apply the pass to. - - "optimization_pass" is the function implementing the pass to be applied. - - "args" and "kwargs" are the additional arguments to pass to optimization - pass. The pass is applied as - - >>> (new_yaml, *other_results) = optimization_pass(yaml, *args, **kwargs) - - The pass's results are greedily rejected if it does not modify the original - yaml document, or if it produces a yaml document that serializes to a - larger string. - - Returns (new_yaml, yaml, applied, other_results) if applied, or - (yaml, new_yaml, applied, other_results) otherwise. - """ - result = optimization_pass(yaml, *args, **kwargs) - new_yaml, other_results = result[0], result[1:] - - if new_yaml is yaml: - # pass was not applied - return (yaml, new_yaml, False, other_results) - - pre_size = len(syaml.dump_config(sort_yaml_obj(yaml), default_flow_style=True)) - post_size = len(syaml.dump_config(sort_yaml_obj(new_yaml), default_flow_style=True)) - - # pass makes the size worse: not applying - applied = post_size <= pre_size - if applied: - yaml, new_yaml = new_yaml, yaml - - if name: - print_delta(name, pre_size, post_size, applied) - - return (yaml, new_yaml, applied, other_results) - - -def build_histogram(iterator, key): - """Builds a histogram of values given an iterable of mappings and a key. - - For each mapping "m" with key "key" in iterator, the value m[key] is - considered. - - Returns a list of tuples (hash, count, proportion, value), where - - - "hash" is a sha1sum hash of the value. - - "count" is the number of occurences of values that hash to "hash". - - "proportion" is the proportion of all values considered above that - hash to "hash". - - "value" is one of the values considered above that hash to "hash". - Which value is chosen when multiple values hash to the same "hash" is - undefined. - - The list is sorted in descending order by count, yielding the most - frequently occuring hashes first. - """ - buckets = collections.defaultdict(int) - values = {} - - num_objects = 0 - for obj in iterator: - num_objects += 1 - - try: - val = obj[key] - except (KeyError, TypeError): - continue - - value_hash = hashlib.sha1() - value_hash.update(syaml.dump_config(sort_yaml_obj(val)).encode()) - value_hash = value_hash.hexdigest() - - buckets[value_hash] += 1 - values[value_hash] = val - - return [ - (h, buckets[h], float(buckets[h]) / num_objects, values[h]) - for h in sorted(buckets.keys(), key=lambda k: -buckets[k]) - ] - - -def optimizer(yaml): - original_size = len(syaml.dump_config(sort_yaml_obj(yaml), default_flow_style=True)) - - # try factoring out commonly repeated portions - common_job = { - "variables": {"SPACK_COMPILER_ACTION": "NONE"}, - "after_script": ['rm -rf "./spack"'], - "artifacts": {"paths": ["jobs_scratch_dir", "cdash_report"], "when": "always"}, - } - - # look for a list of tags that appear frequently - _, count, proportion, tags = next(iter(build_histogram(yaml.values(), "tags")), (None,) * 4) - - # If a list of tags is found, and there are more than one job that uses it, - # *and* the jobs that do use it represent at least 70% of all jobs, then - # add the list to the prototype object. - if tags and count > 1 and proportion >= 0.70: - common_job["tags"] = tags - - # apply common object factorization - yaml, other, applied, rest = try_optimization_pass( - "general common object factorization", yaml, common_subobject, common_job - ) - - # look for a common script, and try factoring that out - _, count, proportion, script = next( - iter(build_histogram(yaml.values(), "script")), (None,) * 4 - ) - - if script and count > 1 and proportion >= 0.70: - yaml, other, applied, rest = try_optimization_pass( - "script factorization", yaml, common_subobject, {"script": script} - ) - - # look for a common before_script, and try factoring that out - _, count, proportion, script = next( - iter(build_histogram(yaml.values(), "before_script")), (None,) * 4 - ) - - if script and count > 1 and proportion >= 0.70: - yaml, other, applied, rest = try_optimization_pass( - "before_script factorization", yaml, common_subobject, {"before_script": script} - ) - - # Look specifically for the SPACK_ROOT_SPEC environment variables. - # Try to factor them out. - h = build_histogram( - (getattr(val, "get", lambda *args: {})("variables") for val in yaml.values()), - "SPACK_ROOT_SPEC", - ) - - # In this case, we try to factor out *all* instances of the SPACK_ROOT_SPEC - # environment variable; not just the one that appears with the greatest - # frequency. We only require that more than 1 job uses a given instance's - # value, because we expect the value to be very large, and so expect even - # few-to-one factorizations to yield large space savings. - counter = 0 - for _, count, proportion, spec in h: - if count <= 1: - continue - - counter += 1 - - yaml, other, applied, rest = try_optimization_pass( - "SPACK_ROOT_SPEC factorization ({count})".format(count=counter), - yaml, - common_subobject, - {"variables": {"SPACK_ROOT_SPEC": spec}}, - ) - - new_size = len(syaml.dump_config(sort_yaml_obj(yaml), default_flow_style=True)) - - print("\n") - print_delta("overall summary", original_size, new_size) - print("\n") - return yaml diff --git a/lib/spack/spack/cmd/__init__.py b/lib/spack/spack/cmd/__init__.py index bd6a3eb7681c31..00e30a551df7e5 100644 --- a/lib/spack/spack/cmd/__init__.py +++ b/lib/spack/spack/cmd/__init__.py @@ -336,6 +336,7 @@ def display_specs(specs, args=None, **kwargs): groups (bool): display specs grouped by arch/compiler (default True) decorator (typing.Callable): function to call to decorate specs all_headers (bool): show headers even when arch/compiler aren't defined + status_fn (typing.Callable): if provided, prepend install-status info output (typing.IO): A file object to write to. Default is ``sys.stdout`` """ @@ -359,6 +360,7 @@ def get_arg(name, default=None): groups = get_arg("groups", True) all_headers = get_arg("all_headers", False) output = get_arg("output", sys.stdout) + status_fn = get_arg("status_fn", None) decorator = get_arg("decorator", None) if decorator is None: @@ -386,6 +388,13 @@ def get_arg(name, default=None): def fmt(s, depth=0): """Formatter function for all output specs""" string = "" + + if status_fn: + # This was copied from spec.tree's colorization logic + # then shortened because it seems like status_fn should + # always return an InstallStatus + string += colorize(status_fn(s).value) + if hashes: string += gray_hash(s, hlen) + " " string += depth * " " @@ -444,7 +453,7 @@ def format_list(specs): def filter_loaded_specs(specs): """Filter a list of specs returning only those that are currently loaded.""" - hashes = os.environ.get(uenv.spack_loaded_hashes_var, "").split(":") + hashes = os.environ.get(uenv.spack_loaded_hashes_var, "").split(os.pathsep) return [x for x in specs if x.dag_hash() in hashes] diff --git a/lib/spack/spack/cmd/bootstrap.py b/lib/spack/spack/cmd/bootstrap.py index 5221a980c78b3a..c321b1213093be 100644 --- a/lib/spack/spack/cmd/bootstrap.py +++ b/lib/spack/spack/cmd/bootstrap.py @@ -165,7 +165,7 @@ def _reset(args): if not ok_to_continue: raise RuntimeError("Aborting") - for scope in spack.config.CONFIG.file_scopes: + for scope in spack.config.CONFIG.writable_scopes: # The default scope should stay untouched if scope.name == "defaults": continue diff --git a/lib/spack/spack/cmd/buildcache.py b/lib/spack/spack/cmd/buildcache.py index 0ebf324d721e57..f861b911ba1b27 100644 --- a/lib/spack/spack/cmd/buildcache.py +++ b/lib/spack/spack/cmd/buildcache.py @@ -84,12 +84,6 @@ def setup_parser(subparser: argparse.ArgumentParser): push = subparsers.add_parser("push", aliases=["create"], help=push_fn.__doc__) push.add_argument("-f", "--force", action="store_true", help="overwrite tarball if it exists") - push.add_argument( - "--allow-root", - "-a", - action="store_true", - help="allow install root string in binary files after RPATH substitution", - ) push_sign = push.add_mutually_exclusive_group(required=False) push_sign.add_argument( "--unsigned", @@ -204,10 +198,6 @@ def setup_parser(subparser: argparse.ArgumentParser): keys.add_argument("-f", "--force", action="store_true", help="force new download of keys") keys.set_defaults(func=keys_fn) - preview = subparsers.add_parser("preview", help=preview_fn.__doc__) - arguments.add_common_arguments(preview, ["installed_specs"]) - preview.set_defaults(func=preview_fn) - # Check if binaries need to be rebuilt on remote mirror check = subparsers.add_parser("check", help=check_fn.__doc__) check.add_argument( @@ -418,11 +408,6 @@ def push_fn(args): else: roots = spack.cmd.require_active_env(cmd_name="buildcache push").concrete_roots() - if args.allow_root: - tty.warn( - "The flag `--allow-root` is the default in Spack 0.21, will be removed in Spack 0.22" - ) - mirror: spack.mirror.Mirror = args.mirror # Check if this is an OCI image. @@ -975,14 +960,6 @@ def keys_fn(args): bindist.get_keys(args.install, args.trust, args.force) -def preview_fn(args): - """analyze an installed spec and reports whether executables and libraries are relocatable""" - tty.warn( - "`spack buildcache preview` is deprecated since `spack buildcache push --allow-root` is " - "now the default. This command will be removed in Spack 0.22" - ) - - def check_fn(args: argparse.Namespace): """check specs against remote binary mirror(s) to see if any need to be rebuilt diff --git a/lib/spack/spack/cmd/ci.py b/lib/spack/spack/cmd/ci.py index 811da010b72200..934acc0d4e1bed 100644 --- a/lib/spack/spack/cmd/ci.py +++ b/lib/spack/spack/cmd/ci.py @@ -6,6 +6,7 @@ import json import os import shutil +import warnings from urllib.parse import urlparse, urlunparse import llnl.util.filesystem as fs @@ -73,7 +74,7 @@ def setup_parser(subparser): "--optimize", action="store_true", default=False, - help="(experimental) optimize the gitlab yaml file for size\n\n" + help="(DEPRECATED) optimize the gitlab yaml file for size\n\n" "run the generated document through a series of optimization passes " "designed to reduce the size of the generated file", ) @@ -81,7 +82,7 @@ def setup_parser(subparser): "--dependencies", action="store_true", default=False, - help="(experimental) disable DAG scheduling (use 'plain' dependencies)", + help="(DEPRECATED) disable DAG scheduling (use 'plain' dependencies)", ) generate.add_argument( "--buildcache-destination", @@ -200,6 +201,18 @@ def ci_generate(args): before invoking this command. the value must be the CDash authorization token needed to create a build group and register all generated jobs under it """ + if args.optimize: + warnings.warn( + "The --optimize option has been deprecated, and currently has no effect. " + "It will be removed in Spack v0.24." + ) + + if args.dependencies: + warnings.warn( + "The --dependencies option has been deprecated, and currently has no effect. " + "It will be removed in Spack v0.24." + ) + env = spack.cmd.require_active_env(cmd_name="ci generate") if args.copy_to: @@ -212,8 +225,6 @@ def ci_generate(args): output_file = args.output_file copy_yaml_to = args.copy_to - run_optimizer = args.optimize - use_dependencies = args.dependencies prune_dag = args.prune_dag index_only = args.index_only artifacts_root = args.artifacts_root @@ -234,8 +245,6 @@ def ci_generate(args): output_file, prune_dag=prune_dag, check_index_only=index_only, - run_optimizer=run_optimizer, - use_dependencies=use_dependencies, artifacts_root=artifacts_root, remote_mirror_override=buildcache_destination, ) diff --git a/lib/spack/spack/cmd/concretize.py b/lib/spack/spack/cmd/concretize.py index e07c0eb18ccfd4..061a03fc4d8c3a 100644 --- a/lib/spack/spack/cmd/concretize.py +++ b/lib/spack/spack/cmd/concretize.py @@ -3,6 +3,9 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import llnl.util.tty as tty +from llnl.string import plural + import spack.cmd import spack.cmd.common.arguments import spack.environment as ev @@ -43,5 +46,9 @@ def concretize(parser, args): with env.write_transaction(): concretized_specs = env.concretize(force=args.force, tests=tests) if not args.quiet: - ev.display_specs(concretized_specs) + if concretized_specs: + tty.msg(f"Concretized {plural(len(concretized_specs), 'spec')}:") + ev.display_specs([concrete for _, concrete in concretized_specs]) + else: + tty.msg("No new specs to concretize.") env.write() diff --git a/lib/spack/spack/cmd/config.py b/lib/spack/spack/cmd/config.py index fac8db56c2299d..db82c68d54d601 100644 --- a/lib/spack/spack/cmd/config.py +++ b/lib/spack/spack/cmd/config.py @@ -168,7 +168,7 @@ def print_flattened_configuration(*, blame: bool) -> None: """ env = ev.active_environment() if env is not None: - pristine = env.manifest.pristine_yaml_content + pristine = env.manifest.yaml_content flattened = pristine.copy() flattened[spack.schema.env.TOP_LEVEL_KEY] = pristine[spack.schema.env.TOP_LEVEL_KEY].copy() else: @@ -289,7 +289,9 @@ def config_remove(args): def _can_update_config_file(scope: spack.config.ConfigScope, cfg_file): if isinstance(scope, spack.config.SingleFileScope): return fs.can_access(cfg_file) - return fs.can_write_to_dir(scope.path) and fs.can_access(cfg_file) + elif isinstance(scope, spack.config.DirectoryConfigScope): + return fs.can_write_to_dir(scope.path) and fs.can_access(cfg_file) + return False def _config_change_requires_scope(path, spec, scope, match_spec=None): @@ -387,14 +389,11 @@ def config_change(args): def config_update(args): # Read the configuration files spack.config.CONFIG.get_config(args.section, scope=args.scope) - updates: List[spack.config.ConfigScope] = list( - filter( - lambda s: not isinstance( - s, (spack.config.InternalConfigScope, spack.config.ImmutableConfigScope) - ), - spack.config.CONFIG.format_updates[args.section], - ) - ) + updates: List[spack.config.ConfigScope] = [ + x + for x in spack.config.CONFIG.format_updates[args.section] + if not isinstance(x, spack.config.InternalConfigScope) and x.writable + ] cannot_overwrite, skip_system_scope = [], False for scope in updates: @@ -472,7 +471,7 @@ def _can_revert_update(scope_dir, cfg_file, bkp_file): def config_revert(args): - scopes = [args.scope] if args.scope else [x.name for x in spack.config.CONFIG.file_scopes] + scopes = [args.scope] if args.scope else [x.name for x in spack.config.CONFIG.writable_scopes] # Search for backup files in the configuration scopes Entry = collections.namedtuple("Entry", ["scope", "cfg", "bkp"]) diff --git a/lib/spack/spack/cmd/create.py b/lib/spack/spack/cmd/create.py index dd4af220762847..3ba7055ff85212 100644 --- a/lib/spack/spack/cmd/create.py +++ b/lib/spack/spack/cmd/create.py @@ -2,7 +2,6 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) - import os import re import sys @@ -954,7 +953,7 @@ def get_repository(args, name): # Figure out where the new package should live repo_path = args.repo if repo_path is not None: - repo = spack.repo.Repo(repo_path) + repo = spack.repo.from_path(repo_path) if spec.namespace and spec.namespace != repo.namespace: tty.die( "Can't create package with namespace {0} in repo with " @@ -962,9 +961,7 @@ def get_repository(args, name): ) else: if spec.namespace: - repo = spack.repo.PATH.get_repo(spec.namespace, None) - if not repo: - tty.die("Unknown namespace: '{0}'".format(spec.namespace)) + repo = spack.repo.PATH.get_repo(spec.namespace) else: repo = spack.repo.PATH.first_repo() diff --git a/lib/spack/spack/cmd/dependents.py b/lib/spack/spack/cmd/dependents.py index 4cbb7cdd3cdc51..7c997bad9d5b35 100644 --- a/lib/spack/spack/cmd/dependents.py +++ b/lib/spack/spack/cmd/dependents.py @@ -47,16 +47,6 @@ def inverted_dependencies(): dependents of, e.g., `mpi`, but virtuals are not included as actual dependents. """ - dag = {} - for pkg_cls in spack.repo.PATH.all_package_classes(): - dag.setdefault(pkg_cls.name, set()) - for dep in pkg_cls.dependencies_by_name(): - deps = [dep] - - # expand virtuals if necessary - if spack.repo.PATH.is_virtual(dep): - deps += [s.name for s in spack.repo.PATH.providers_for(dep)] - dag = collections.defaultdict(set) for pkg_cls in spack.repo.PATH.all_package_classes(): for _, deps_by_name in pkg_cls.dependencies.items(): diff --git a/lib/spack/spack/cmd/develop.py b/lib/spack/spack/cmd/develop.py index 0c9db3274c1860..e226c16766553e 100644 --- a/lib/spack/spack/cmd/develop.py +++ b/lib/spack/spack/cmd/develop.py @@ -9,6 +9,8 @@ import spack.cmd import spack.config +import spack.fetch_strategy +import spack.repo import spack.spec import spack.util.path import spack.version @@ -69,13 +71,15 @@ def _retrieve_develop_source(spec, abspath): # We construct a package class ourselves, rather than asking for # Spec.package, since Spec only allows this when it is concrete package = pkg_cls(spec) - if isinstance(package.stage[0].fetcher, spack.fetch_strategy.GitFetchStrategy): - package.stage[0].fetcher.get_full_repo = True + source_stage = package.stage[0] + if isinstance(source_stage.fetcher, spack.fetch_strategy.GitFetchStrategy): + source_stage.fetcher.get_full_repo = True # If we retrieved this version before and cached it, we may have # done so without cloning the full git repo; likewise, any # mirror might store an instance with truncated history. - package.stage[0].disable_mirrors() + source_stage.disable_mirrors() + source_stage.fetcher.set_package(package) package.stage.steal_source(abspath) diff --git a/lib/spack/spack/cmd/edit.py b/lib/spack/spack/cmd/edit.py index 0134a522d82153..9951bb65a3f8e2 100644 --- a/lib/spack/spack/cmd/edit.py +++ b/lib/spack/spack/cmd/edit.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import errno import glob import os @@ -11,43 +12,13 @@ import spack.cmd import spack.paths import spack.repo -from spack.spec import Spec -from spack.util.editor import editor +import spack.util.editor description = "open package files in $EDITOR" section = "packaging" level = "short" -def edit_package(name, repo_path, namespace): - """Opens the requested package file in your favorite $EDITOR. - - Args: - name (str): The name of the package - repo_path (str): The path to the repository containing this package - namespace (str): A valid namespace registered with Spack - """ - # Find the location of the package - if repo_path: - repo = spack.repo.Repo(repo_path) - elif namespace: - repo = spack.repo.PATH.get_repo(namespace) - else: - repo = spack.repo.PATH - path = repo.filename_for_package_name(name) - - spec = Spec(name) - if os.path.exists(path): - if not os.path.isfile(path): - tty.die("Something is wrong. '{0}' is not a file!".format(path)) - if not os.access(path, os.R_OK): - tty.die("Insufficient permissions on '%s'!" % path) - else: - raise spack.repo.UnknownPackageError(spec.name) - - editor(path) - - def setup_parser(subparser): excl_args = subparser.add_mutually_exclusive_group() @@ -98,41 +69,67 @@ def setup_parser(subparser): excl_args.add_argument("-r", "--repo", default=None, help="path to repo to edit package in") excl_args.add_argument("-N", "--namespace", default=None, help="namespace of package to edit") - subparser.add_argument("package", nargs="?", default=None, help="package name") + subparser.add_argument("package", nargs="*", default=None, help="package name") -def edit(parser, args): - name = args.package +def locate_package(name: str, repo: spack.repo.Repo) -> str: + path = repo.filename_for_package_name(name) - # By default, edit package files - path = spack.paths.packages_path + try: + with open(path, "r"): + return path + except OSError as e: + if e.errno == errno.ENOENT: + raise spack.repo.UnknownPackageError(name) from e + tty.die(f"Cannot edit package: {e}") + + +def locate_file(name: str, path: str) -> str: + # convert command names to python module name + if path == spack.paths.command_path: + name = spack.cmd.python_name(name) + + file_path = os.path.join(path, name) + + # Try to open direct match. + try: + with open(file_path, "r"): + return file_path + except OSError as e: + if e.errno != errno.ENOENT: + tty.die(f"Cannot edit file: {e}") + pass + + # Otherwise try to find a file that starts with the name + candidates = glob.glob(file_path + "*") + exclude_list = [".pyc", "~"] # exclude binaries and backups + files = [f for f in candidates if not any(f.endswith(ext) for ext in exclude_list)] + if len(files) > 1: + tty.die( + f"Multiple files start with `{name}`:\n" + + "\n".join(f" {os.path.basename(f)}" for f in files) + ) + elif not files: + tty.die(f"No file for '{name}' was found in {path}") + return files[0] + + +def edit(parser, args): + names = args.package # If `--command`, `--test`, or `--module` is chosen, edit those instead if args.path: - path = args.path - if name: - # convert command names to python module name - if path == spack.paths.command_path: - name = spack.cmd.python_name(name) - - path = os.path.join(path, name) - if not os.path.exists(path): - files = glob.glob(path + "*") - exclude_list = [".pyc", "~"] # exclude binaries and backups - files = list(filter(lambda x: all(s not in x for s in exclude_list), files)) - if len(files) > 1: - m = "Multiple files exist with the name {0}.".format(name) - m += " Please specify a suffix. Files are:\n\n" - for f in files: - m += " " + os.path.basename(f) + "\n" - tty.die(m) - if not files: - tty.die("No file for '{0}' was found in {1}".format(name, path)) - path = files[0] # already confirmed only one entry in files - - editor(path) - elif name: - edit_package(name, args.repo, args.namespace) + paths = [locate_file(name, args.path) for name in names] if names else [args.path] + spack.util.editor.editor(*paths) + elif names: + if args.repo: + repo = spack.repo.from_path(args.repo) + elif args.namespace: + repo = spack.repo.PATH.get_repo(args.namespace) + else: + repo = spack.repo.PATH + paths = [locate_package(name, repo) for name in names] + spack.util.editor.editor(*paths) else: # By default open the directory where packages live - editor(path) + spack.util.editor.editor(spack.paths.packages_path) diff --git a/lib/spack/spack/cmd/external.py b/lib/spack/spack/cmd/external.py index 8b6e75093251d8..421685d42a3e30 100644 --- a/lib/spack/spack/cmd/external.py +++ b/lib/spack/spack/cmd/external.py @@ -7,7 +7,7 @@ import os import re import sys -from typing import List, Optional +from typing import List, Optional, Set import llnl.util.tty as tty import llnl.util.tty.colify as colify @@ -19,6 +19,7 @@ import spack.detection import spack.error import spack.repo +import spack.spec import spack.util.environment from spack.cmd.common import arguments @@ -138,14 +139,26 @@ def external_find(args): candidate_packages, path_hints=args.path, max_workers=args.jobs ) - new_entries = spack.detection.update_configuration( + new_specs = spack.detection.update_configuration( detected_packages, scope=args.scope, buildable=not args.not_buildable ) - if new_entries: + + # If the user runs `spack external find --not-buildable mpich` we also mark `mpi` non-buildable + # to avoid that the concretizer picks a different mpi provider. + if new_specs and args.not_buildable: + virtuals: Set[str] = { + virtual.name + for new_spec in new_specs + for virtual_specs in spack.repo.PATH.get_pkg_class(new_spec.name).provided.values() + for virtual in virtual_specs + } + new_virtuals = spack.detection.set_virtuals_nonbuildable(virtuals, scope=args.scope) + new_specs.extend(spack.spec.Spec(name) for name in new_virtuals) + + if new_specs: path = spack.config.CONFIG.get_config_filename(args.scope, "packages") - msg = "The following specs have been detected on this system and added to {0}" - tty.msg(msg.format(path)) - spack.cmd.display_specs(new_entries) + tty.msg(f"The following specs have been detected on this system and added to {path}") + spack.cmd.display_specs(new_specs) else: tty.msg("No new external packages detected") diff --git a/lib/spack/spack/cmd/find.py b/lib/spack/spack/cmd/find.py index c4e2c775526167..d09b2d84238553 100644 --- a/lib/spack/spack/cmd/find.py +++ b/lib/spack/spack/cmd/find.py @@ -46,6 +46,10 @@ def setup_parser(subparser): help="output specs as machine-readable json records", ) + subparser.add_argument( + "-I", "--install-status", action="store_true", help="show install status of packages" + ) + subparser.add_argument( "-d", "--deps", action="store_true", help="output dependencies along with found specs" ) @@ -293,25 +297,24 @@ def root_decorator(spec, string): ) print() - if args.show_concretized: - tty.msg("Concretized roots") - cmd.display_specs(env.specs_by_hash.values(), args, decorator=decorator) - print() - - # Display a header for the installed packages section IF there are installed - # packages. If there aren't any, we'll just end up printing "0 installed packages" - # later. - if results and not args.only_roots: - tty.msg("Installed packages") - def find(parser, args): - q_args = query_arguments(args) - results = args.specs(**q_args) - env = ev.active_environment() + if not env and args.only_roots: tty.die("-r / --only-roots requires an active environment") + if not env and args.show_concretized: + tty.die("-c / --show-concretized requires an active environment") + + if env: + if args.constraint: + init_specs = spack.cmd.parse_specs(args.constraint) + results = env.all_matching_specs(*init_specs) + else: + results = env.all_specs() + else: + q_args = query_arguments(args) + results = args.specs(**q_args) decorator = make_env_decorator(env) if env else lambda s, f: f @@ -332,6 +335,11 @@ def find(parser, args): if args.loaded: results = spack.cmd.filter_loaded_specs(results) + if args.install_status or args.show_concretized: + status_fn = spack.spec.Spec.install_status + else: + status_fn = None + # Display the result if args.json: cmd.display_specs_as_json(results, deps=args.deps) @@ -340,12 +348,34 @@ def find(parser, args): if env: display_env(env, args, decorator, results) - count_suffix = " (not shown)" if not args.only_roots: - cmd.display_specs(results, args, decorator=decorator, all_headers=True) - count_suffix = "" + display_results = results + if not args.show_concretized: + display_results = list(x for x in results if x.installed) + cmd.display_specs( + display_results, args, decorator=decorator, all_headers=True, status_fn=status_fn + ) # print number of installed packages last (as the list may be long) if sys.stdout.isatty() and args.groups: + installed_suffix = "" + concretized_suffix = " to be installed" + + if args.only_roots: + installed_suffix += " (not shown)" + concretized_suffix += " (not shown)" + else: + if env and not args.show_concretized: + concretized_suffix += " (show with `spack find -c`)" + pkg_type = "loaded" if args.loaded else "installed" - spack.cmd.print_how_many_pkgs(results, pkg_type, suffix=count_suffix) + spack.cmd.print_how_many_pkgs( + list(x for x in results if x.installed), pkg_type, suffix=installed_suffix + ) + + if env: + spack.cmd.print_how_many_pkgs( + list(x for x in results if not x.installed), + "concretized", + suffix=concretized_suffix, + ) diff --git a/lib/spack/spack/cmd/gc.py b/lib/spack/spack/cmd/gc.py index 7e55dc42406f56..c7d023602e3f2d 100644 --- a/lib/spack/spack/cmd/gc.py +++ b/lib/spack/spack/cmd/gc.py @@ -56,7 +56,6 @@ def roots_from_environments(args, active_env): # -e says "also preserve things needed by this particular env" for env_name_or_dir in args.except_environment: - print("HMM", env_name_or_dir) if ev.exists(env_name_or_dir): env = ev.read(env_name_or_dir) elif ev.is_env_dir(env_name_or_dir): diff --git a/lib/spack/spack/cmd/install.py b/lib/spack/spack/cmd/install.py index 69de44df57c3cd..8458e7ce050439 100644 --- a/lib/spack/spack/cmd/install.py +++ b/lib/spack/spack/cmd/install.py @@ -10,6 +10,7 @@ from typing import List import llnl.util.filesystem as fs +from llnl.string import plural from llnl.util import lang, tty import spack.build_environment @@ -375,7 +376,9 @@ def _maybe_add_and_concretize(args, env, specs): # `spack concretize` tests = compute_tests_install_kwargs(env.user_specs, args.test) concretized_specs = env.concretize(tests=tests) - ev.display_specs(concretized_specs) + if concretized_specs: + tty.msg(f"Concretized {plural(len(concretized_specs), 'spec')}") + ev.display_specs([concrete for _, concrete in concretized_specs]) # save view regeneration for later, so that we only do it # once, as it can be slow. diff --git a/lib/spack/spack/cmd/repo.py b/lib/spack/spack/cmd/repo.py index 68af91cd918fc4..e41e21f0a5b17e 100644 --- a/lib/spack/spack/cmd/repo.py +++ b/lib/spack/spack/cmd/repo.py @@ -91,7 +91,7 @@ def repo_add(args): tty.die("Not a Spack repository: %s" % path) # Make sure it's actually a spack repository by constructing it. - repo = spack.repo.Repo(canon_path) + repo = spack.repo.from_path(canon_path) # If that succeeds, finally add it to the configuration. repos = spack.config.get("repos", scope=args.scope) @@ -124,7 +124,7 @@ def repo_remove(args): # If it is a namespace, remove corresponding repo for path in repos: try: - repo = spack.repo.Repo(path) + repo = spack.repo.from_path(path) if repo.namespace == namespace_or_path: repos.remove(path) spack.config.set("repos", repos, args.scope) @@ -142,7 +142,7 @@ def repo_list(args): repos = [] for r in roots: try: - repos.append(spack.repo.Repo(r)) + repos.append(spack.repo.from_path(r)) except spack.repo.RepoError: continue diff --git a/lib/spack/spack/cmd/solve.py b/lib/spack/spack/cmd/solve.py index 165ede0dbcd20d..2d6197f75846ad 100644 --- a/lib/spack/spack/cmd/solve.py +++ b/lib/spack/spack/cmd/solve.py @@ -114,15 +114,16 @@ def _process_result(result, show, required_format, kwargs): # dump the solutions as concretized specs if "solutions" in show: - for spec in result.specs: - # With -y, just print YAML to output. - if required_format == "yaml": - # use write because to_yaml already has a newline. - sys.stdout.write(spec.to_yaml(hash=ht.dag_hash)) - elif required_format == "json": - sys.stdout.write(spec.to_json(hash=ht.dag_hash)) - else: - sys.stdout.write(spec.tree(color=sys.stdout.isatty(), **kwargs)) + if required_format: + for spec in result.specs: + # With -y, just print YAML to output. + if required_format == "yaml": + # use write because to_yaml already has a newline. + sys.stdout.write(spec.to_yaml(hash=ht.dag_hash)) + elif required_format == "json": + sys.stdout.write(spec.to_json(hash=ht.dag_hash)) + else: + sys.stdout.write(spack.spec.tree(result.specs, color=sys.stdout.isatty(), **kwargs)) print() if result.unsolved_specs and "solutions" in show: diff --git a/lib/spack/spack/cmd/spec.py b/lib/spack/spack/cmd/spec.py index e2d5cb10557eff..ae08e1f9779143 100644 --- a/lib/spack/spack/cmd/spec.py +++ b/lib/spack/spack/cmd/spec.py @@ -105,11 +105,19 @@ def spec(parser, args): if env: env.concretize() specs = env.concretized_specs() + + # environments are printed together in a combined tree() invocation, + # except when using --yaml or --json, which we print spec by spec below. + if not args.format: + tree_kwargs["key"] = spack.traverse.by_dag_hash + tree_kwargs["hashes"] = args.long or args.very_long + print(spack.spec.tree([concrete for _, concrete in specs], **tree_kwargs)) + return else: tty.die("spack spec requires at least one spec or an active environment") for input, output in specs: - # With -y, just print YAML to output. + # With --yaml or --json, just print the raw specs to output if args.format: if args.format == "yaml": # use write because to_yaml already has a newline. diff --git a/lib/spack/spack/cmd/unload.py b/lib/spack/spack/cmd/unload.py index 3bafe5e8c62d83..65daabcd468181 100644 --- a/lib/spack/spack/cmd/unload.py +++ b/lib/spack/spack/cmd/unload.py @@ -71,7 +71,7 @@ def unload(parser, args): "Cannot specify specs on command line when unloading all specs with '--all'" ) - hashes = os.environ.get(uenv.spack_loaded_hashes_var, "").split(":") + hashes = os.environ.get(uenv.spack_loaded_hashes_var, "").split(os.pathsep) if args.specs: specs = [ spack.cmd.disambiguate_spec_from_hashes(spec, hashes) diff --git a/lib/spack/spack/cmd/view.py b/lib/spack/spack/cmd/view.py index 586a9c6eb41fca..103a6ffb0ea17f 100644 --- a/lib/spack/spack/cmd/view.py +++ b/lib/spack/spack/cmd/view.py @@ -38,10 +38,10 @@ import spack.cmd import spack.environment as ev +import spack.filesystem_view as fsv import spack.schema.projections import spack.store from spack.config import validate -from spack.filesystem_view import YamlFilesystemView, view_func_parser from spack.util import spack_yaml as s_yaml description = "project packages to a compact naming scheme on the filesystem" @@ -193,17 +193,13 @@ def view(parser, args): ordered_projections = {} # What method are we using for this view - if args.action in actions_link: - link_fn = view_func_parser(args.action) - else: - link_fn = view_func_parser("symlink") - - view = YamlFilesystemView( + link_type = args.action if args.action in actions_link else "symlink" + view = fsv.YamlFilesystemView( path, spack.store.STORE.layout, projections=ordered_projections, ignore_conflicts=getattr(args, "ignore_conflicts", False), - link=link_fn, + link_type=link_type, verbose=args.verbose, ) diff --git a/lib/spack/spack/compiler.py b/lib/spack/spack/compiler.py index 1a2ee36c88336b..13049883e7f2bd 100644 --- a/lib/spack/spack/compiler.py +++ b/lib/spack/spack/compiler.py @@ -18,7 +18,6 @@ import llnl.util.tty as tty from llnl.util.filesystem import path_contains_subdirectory, paths_containing_libs -import spack.compilers import spack.error import spack.schema.environment import spack.spec diff --git a/lib/spack/spack/compilers/__init__.py b/lib/spack/spack/compilers/__init__.py index 88e5e7b9980af5..9712b63077bdcb 100644 --- a/lib/spack/spack/compilers/__init__.py +++ b/lib/spack/spack/compilers/__init__.py @@ -260,7 +260,7 @@ def _init_compiler_config( def compiler_config_files(): config_files = list() config = spack.config.CONFIG - for scope in config.file_scopes: + for scope in config.writable_scopes: name = scope.name compiler_config = config.get("compilers", scope=name) if compiler_config: @@ -488,7 +488,7 @@ def supported_compilers_for_host_platform() -> List[str]: return supported_compilers_for_platform(host_plat) -def supported_compilers_for_platform(platform: spack.platforms.Platform) -> List[str]: +def supported_compilers_for_platform(platform: "spack.platforms.Platform") -> List[str]: """Return a set of compiler class objects supported by Spack that are also supported by the provided platform diff --git a/lib/spack/spack/compilers/oneapi.py b/lib/spack/spack/compilers/oneapi.py index ecba99081a4b95..1baac8382687dd 100644 --- a/lib/spack/spack/compilers/oneapi.py +++ b/lib/spack/spack/compilers/oneapi.py @@ -4,7 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) import os -from os.path import dirname +from os.path import dirname, join from llnl.util import tty @@ -135,8 +135,12 @@ def setup_custom_environment(self, pkg, env): # It is located in the same directory as the driver. Error message: # clang++: error: unable to execute command: # Executable "sycl-post-link" doesn't exist! - if self.cxx: + # also ensures that shared objects and libraries required by the compiler, + # e.g. libonnx, can be found succesfully + # due to a fix, this is no longer required for OneAPI versions >= 2024.2 + if self.cxx and pkg.spec.satisfies("%oneapi@:2024.1"): env.prepend_path("PATH", dirname(self.cxx)) + env.prepend_path("LD_LIBRARY_PATH", join(dirname(dirname(self.cxx)), "lib")) # 2024 release bumped the libsycl version because of an ABI # change, 2024 compilers are required. You will see this diff --git a/lib/spack/spack/config.py b/lib/spack/spack/config.py index c900cf26b2c23d..1922533d9319da 100644 --- a/lib/spack/spack/config.py +++ b/lib/spack/spack/config.py @@ -35,11 +35,10 @@ import os import re import sys -from typing import Any, Callable, Dict, Generator, List, Optional, Tuple, Type, Union +from typing import Any, Callable, Dict, Generator, List, Optional, Sequence, Tuple, Union from llnl.util import filesystem, lang, tty -import spack.compilers import spack.paths import spack.platforms import spack.schema @@ -107,7 +106,9 @@ #: metavar to use for commands that accept scopes #: this is shorter and more readable than listing all choices -SCOPES_METAVAR = "{defaults,system,site,user,command_line}[/PLATFORM] or env:ENVIRONMENT" +SCOPES_METAVAR = ( + "{defaults,system,site,user,command_line}[/PLATFORM[/OS[/TARGET]]] or env:ENVIRONMENT" +) #: Base name for the (internal) overrides scope. _OVERRIDES_BASE_NAME = "overrides-" @@ -117,21 +118,39 @@ class ConfigScope: - """This class represents a configuration scope. + def __init__(self, name: str) -> None: + self.name = name + self.writable = False + self.sections = syaml.syaml_dict() - A scope is one directory containing named configuration files. - Each file is a config "section" (e.g., mirrors, compilers, etc.). - """ + def get_section_filename(self, section: str) -> str: + raise NotImplementedError + + def get_section(self, section: str) -> Optional[YamlConfigDict]: + raise NotImplementedError - def __init__(self, name, path) -> None: - self.name = name # scope name. - self.path = path # path to directory containing configs. - self.sections = syaml.syaml_dict() # sections read from config files. + def _write_section(self, section: str) -> None: + raise NotImplementedError @property def is_platform_dependent(self) -> bool: - """Returns true if the scope name is platform specific""" - return os.sep in self.name + return False + + def clear(self) -> None: + """Empty cached config information.""" + self.sections = syaml.syaml_dict() + + def __repr__(self) -> str: + return f"" + + +class DirectoryConfigScope(ConfigScope): + """Config scope backed by a directory containing one file per section.""" + + def __init__(self, name: str, path: str, *, writable: bool = True) -> None: + super().__init__(name) + self.path = path + self.writable = writable def get_section_filename(self, section: str) -> str: """Returns the filename associated with a given section""" @@ -148,14 +167,15 @@ def get_section(self, section: str) -> Optional[YamlConfigDict]: return self.sections[section] def _write_section(self, section: str) -> None: + if not self.writable: + raise ConfigError(f"Cannot write to immutable scope {self}") + filename = self.get_section_filename(section) data = self.get_section(section) if data is None: return - # We copy data here to avoid adding defaults at write time - validate_data = copy.deepcopy(data) - validate(validate_data, SECTION_SCHEMAS[section]) + validate(data, SECTION_SCHEMAS[section]) try: filesystem.mkdirp(self.path) @@ -167,19 +187,23 @@ def _write_section(self, section: str) -> None: else: raise ConfigFileError(f"cannot write to '{filename}'") from e - def clear(self) -> None: - """Empty cached config information.""" - self.sections = syaml.syaml_dict() - - def __repr__(self) -> str: - return f"" + @property + def is_platform_dependent(self) -> bool: + """Returns true if the scope name is platform specific""" + return "/" in self.name class SingleFileScope(ConfigScope): """This class represents a configuration scope in a single YAML file.""" def __init__( - self, name: str, path: str, schema: YamlConfigDict, yaml_path: Optional[List[str]] = None + self, + name: str, + path: str, + schema: YamlConfigDict, + *, + yaml_path: Optional[List[str]] = None, + writable: bool = True, ) -> None: """Similar to ``ConfigScope`` but can be embedded in another schema. @@ -198,15 +222,13 @@ def __init__( config: install_tree: $spack/opt/spack """ - super().__init__(name, path) + super().__init__(name) self._raw_data: Optional[YamlConfigDict] = None self.schema = schema + self.path = path + self.writable = writable self.yaml_path = yaml_path or [] - @property - def is_platform_dependent(self) -> bool: - return False - def get_section_filename(self, section) -> str: return self.path @@ -260,6 +282,8 @@ def get_section(self, section: str) -> Optional[YamlConfigDict]: return self.sections.get(section, None) def _write_section(self, section: str) -> None: + if not self.writable: + raise ConfigError(f"Cannot write to immutable scope {self}") data_to_write: Optional[YamlConfigDict] = self._raw_data # If there is no existing data, this section SingleFileScope has never @@ -307,19 +331,6 @@ def __repr__(self) -> str: return f"" -class ImmutableConfigScope(ConfigScope): - """A configuration scope that cannot be written to. - - This is used for ConfigScopes passed on the command line. - """ - - def _write_section(self, section) -> None: - raise ConfigError(f"Cannot write to immutable scope {self}") - - def __repr__(self) -> str: - return f"" - - class InternalConfigScope(ConfigScope): """An internal configuration scope that is not persisted to a file. @@ -329,7 +340,7 @@ class InternalConfigScope(ConfigScope): """ def __init__(self, name: str, data: Optional[YamlConfigDict] = None) -> None: - super().__init__(name, None) + super().__init__(name) self.sections = syaml.syaml_dict() if data is not None: @@ -339,9 +350,6 @@ def __init__(self, name: str, data: Optional[YamlConfigDict] = None) -> None: validate({section: dsec}, SECTION_SCHEMAS[section]) self.sections[section] = _mark_internal(syaml.syaml_dict({section: dsec}), name) - def get_section_filename(self, section: str) -> str: - raise NotImplementedError("Cannot get filename for InternalConfigScope.") - def get_section(self, section: str) -> Optional[YamlConfigDict]: """Just reads from an internal dictionary.""" if section not in self.sections: @@ -446,24 +454,17 @@ def remove_scope(self, scope_name: str) -> Optional[ConfigScope]: return scope @property - def file_scopes(self) -> List[ConfigScope]: - """List of writable scopes with an associated file.""" - return [ - s - for s in self.scopes.values() - if (type(s) is ConfigScope or type(s) is SingleFileScope) - ] + def writable_scopes(self) -> Generator[ConfigScope, None, None]: + """Generator of writable scopes with an associated file.""" + return (s for s in self.scopes.values() if s.writable) def highest_precedence_scope(self) -> ConfigScope: - """Non-internal scope with highest precedence.""" - return next(reversed(self.file_scopes)) + """Writable scope with highest precedence.""" + return next(s for s in reversed(self.scopes.values()) if s.writable) # type: ignore def highest_precedence_non_platform_scope(self) -> ConfigScope: - """Non-internal non-platform scope with highest precedence - - Platform-specific scopes are of the form scope/platform""" - generator = self._non_platform_scopes - return next(generator) + """Writable non-platform scope with highest precedence""" + return next(s for s in self._non_platform_scopes if s.writable) def matching_scopes(self, reg_expr) -> List[ConfigScope]: """ @@ -714,11 +715,7 @@ def print_section(self, section: str, blame: bool = False, *, scope=None) -> Non @property def _non_platform_scopes(self): """Returns non-platform scopes, highest priority first.""" - for s in reversed(self.file_scopes): - if s.is_platform_dependent: - continue - else: - yield s + return (s for s in reversed(self.scopes.values()) if not s.is_platform_dependent) @contextlib.contextmanager @@ -767,25 +764,12 @@ def override( def _add_platform_scopes( - cfg: Union[Configuration, lang.Singleton], scope_type: Type[ConfigScope], name: str, path: str + cfg: Union[Configuration, lang.Singleton], name: str, path: str, writable: bool = True ) -> None: """Add subdirectories for the current platform, os, and target.""" - host_platform = spack.platforms.host() - platform = host_platform.name - oss = str(host_platform.operating_system("frontend")) - host_target = str(host_platform.target("frontend")) - - scope_name = os.path.join(name, platform) - scope_path = os.path.join(path, platform) - cfg.push_scope(scope_type(scope_name, scope_path)) - scope_name = os.path.join(scope_name, oss) - scope_path = os.path.join(scope_path, oss) - cfg.push_scope(scope_type(scope_name, scope_path)) - - scope_name = os.path.join(scope_name, host_target) - scope_path = os.path.join(scope_path, host_target) - cfg.push_scope(scope_type(scope_name, scope_path)) + for scope in platform_scopes(name, path, writable): + cfg.push_scope(scope) def config_paths_from_entry_points() -> List[Tuple[str, str]]: @@ -816,22 +800,27 @@ def config_paths_from_entry_points() -> List[Tuple[str, str]]: def _add_command_line_scopes( cfg: Union[Configuration, lang.Singleton], command_line_scopes: List[str] ) -> None: - """Add additional scopes from the --config-scope argument. + """Add additional scopes from the --config-scope argument, either envs or dirs.""" + import spack.environment.environment as env # circular import - Command line scopes are named after their position in the arg list. - """ for i, path in enumerate(command_line_scopes): - # We ensure that these scopes exist and are readable, as they are - # provided on the command line by the user. - if not os.path.isdir(path): - raise ConfigError(f"config scope is not a directory: '{path}'") - elif not os.access(path, os.R_OK): - raise ConfigError(f"config scope is not readable: '{path}'") + name = f"cmd_scope_{i}" + + if env.exists(path): # managed environment + manifest = env.EnvironmentManifestFile(env.root(path)) + elif env.is_env_dir(path): # anonymous environment + manifest = env.EnvironmentManifestFile(path) + elif os.path.isdir(path): # directory with config files + cfg.push_scope(DirectoryConfigScope(name, path, writable=False)) + _add_platform_scopes(cfg, name, path, writable=False) + continue + else: + raise ConfigError(f"Invalid configuration scope: {path}") - # name based on order on the command line - name = f"cmd_scope_{i:d}" - cfg.push_scope(ImmutableConfigScope(name, path)) - _add_platform_scopes(cfg, ImmutableConfigScope, name, path) + for scope in manifest.env_config_scopes: + scope.name = f"{name}:{scope.name}" + scope.writable = False + cfg.push_scope(scope) def create() -> Configuration: @@ -875,10 +864,10 @@ def create() -> Configuration: # add each scope and its platform-specific directory for name, path in configuration_paths: - cfg.push_scope(ConfigScope(name, path)) + cfg.push_scope(DirectoryConfigScope(name, path)) # Each scope can have per-platfom overrides in subdirectories - _add_platform_scopes(cfg, ConfigScope, name, path) + _add_platform_scopes(cfg, name, path) # add command-line scopes _add_command_line_scopes(cfg, COMMAND_LINE_SCOPES) @@ -993,7 +982,7 @@ def set(path: str, value: Any, scope: Optional[str] = None) -> None: def add_default_platform_scope(platform: str) -> None: plat_name = os.path.join("defaults", platform) plat_path = os.path.join(CONFIGURATION_DEFAULTS_PATH[1], platform) - CONFIG.push_scope(ConfigScope(plat_name, plat_path)) + CONFIG.push_scope(DirectoryConfigScope(plat_name, plat_path)) def scopes() -> Dict[str, ConfigScope]: @@ -1002,19 +991,10 @@ def scopes() -> Dict[str, ConfigScope]: def writable_scopes() -> List[ConfigScope]: - """ - Return list of writable scopes. Higher-priority scopes come first in the - list. - """ - return list( - reversed( - list( - x - for x in CONFIG.scopes.values() - if not isinstance(x, (InternalConfigScope, ImmutableConfigScope)) - ) - ) - ) + """Return list of writable scopes. Higher-priority scopes come first in the list.""" + scopes = [x for x in CONFIG.scopes.values() if x.writable] + scopes.reverse() + return scopes def writable_scope_names() -> List[str]: @@ -1104,11 +1084,8 @@ def validate( """ import jsonschema - # Validate a copy to avoid adding defaults - # This allows us to round-trip data without adding to it. - test_data = syaml.deepcopy(data) try: - spack.schema.Validator(schema).validate(test_data) + spack.schema.Validator(schema).validate(data) except jsonschema.ValidationError as e: if hasattr(e.instance, "lc"): line_number = e.instance.lc.line + 1 @@ -1117,7 +1094,7 @@ def validate( raise ConfigFormatError(e, data, filename, line_number) from e # return the validated data so that we can access the raw data # mostly relevant for environments - return test_data + return data def read_config_file( @@ -1623,7 +1600,7 @@ def _config_from(scopes_or_paths: List[Union[ConfigScope, str]]) -> Configuratio path = os.path.normpath(scope_or_path) assert os.path.isdir(path), f'"{path}" must be a directory' name = os.path.basename(path) - scopes.append(ConfigScope(name, path)) + scopes.append(DirectoryConfigScope(name, path)) configuration = Configuration(*scopes) return configuration @@ -1764,6 +1741,29 @@ def parse_spec_from_yaml_string(string: str) -> "spack.spec.Spec": raise e +def platform_scopes(name: str, path: str, writable: bool = True) -> Sequence[DirectoryConfigScope]: + """Generate a triplet of scopes for platform/os/target.""" + + host_platform = spack.platforms.host() + platform = host_platform.name + oss = str(host_platform.operating_system("frontend")) + host_target = str(host_platform.target("frontend")) + + scope_name = os.path.join(name, platform) + scope_path = os.path.join(path, platform) + scopes = [DirectoryConfigScope(scope_name, scope_path, writable=writable)] + + scope_name = os.path.join(scope_name, oss) + scope_path = os.path.join(scope_path, oss) + scopes.append(DirectoryConfigScope(scope_name, scope_path, writable=writable)) + + scope_name = os.path.join(scope_name, host_target) + scope_path = os.path.join(scope_path, host_target) + scopes.append(DirectoryConfigScope(scope_name, scope_path, writable=writable)) + + return scopes + + class ConfigError(SpackError): """Superclass for all Spack config related errors.""" diff --git a/lib/spack/spack/container/images.json b/lib/spack/spack/container/images.json index 4283f3d2fbcb5e..72029faceafd23 100644 --- a/lib/spack/spack/container/images.json +++ b/lib/spack/spack/container/images.json @@ -78,24 +78,17 @@ "image": "quay.io/almalinuxorg/almalinux:8" } }, - "centos:stream": { + "centos:stream9": { "bootstrap": { - "template": "container/centos_stream.dockerfile", - "image": "quay.io/centos/centos:stream" + "template": "container/centos_stream9.dockerfile", + "image": "quay.io/centos/centos:stream9" }, "os_package_manager": "dnf_epel", - "build": "spack/centos-stream", + "build": "spack/centos-stream9", "final": { - "image": "quay.io/centos/centos:stream" + "image": "quay.io/centos/centos:stream9" } }, - "centos:7": { - "bootstrap": { - "template": "container/centos_7.dockerfile" - }, - "os_package_manager": "yum", - "build": "spack/centos7" - }, "opensuse/leap:15": { "bootstrap": { "template": "container/leap-15.dockerfile" diff --git a/lib/spack/spack/detection/__init__.py b/lib/spack/spack/detection/__init__.py index 44225ef0620087..1cff789c26288a 100644 --- a/lib/spack/spack/detection/__init__.py +++ b/lib/spack/spack/detection/__init__.py @@ -2,7 +2,12 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from .common import DetectedPackage, executable_prefix, update_configuration +from .common import ( + DetectedPackage, + executable_prefix, + set_virtuals_nonbuildable, + update_configuration, +) from .path import by_path, executables_in_path from .test import detection_tests @@ -12,5 +17,6 @@ "executables_in_path", "executable_prefix", "update_configuration", + "set_virtuals_nonbuildable", "detection_tests", ] diff --git a/lib/spack/spack/detection/common.py b/lib/spack/spack/detection/common.py index 516bd11c8d506b..ae3c1927d29049 100644 --- a/lib/spack/spack/detection/common.py +++ b/lib/spack/spack/detection/common.py @@ -252,6 +252,27 @@ def update_configuration( return all_new_specs +def set_virtuals_nonbuildable(virtuals: Set[str], scope: Optional[str] = None) -> List[str]: + """Update packages:virtual:buildable:False for the provided virtual packages, if the property + is not set by the user. Returns the list of virtual packages that have been updated.""" + packages = spack.config.get("packages") + new_config = {} + for virtual in virtuals: + # If the user has set the buildable prop do not override it + if virtual in packages and "buildable" in packages[virtual]: + continue + new_config[virtual] = {"buildable": False} + + # Update the provided scope + spack.config.set( + "packages", + spack.config.merge_yaml(spack.config.get("packages", scope=scope), new_config), + scope=scope, + ) + + return list(new_config.keys()) + + def _windows_drive() -> str: """Return Windows drive string extracted from the PROGRAMFILES environment variable, which is guaranteed to be defined for all logins. diff --git a/lib/spack/spack/detection/path.py b/lib/spack/spack/detection/path.py index 711e17467e4fc1..943de16ee668ba 100644 --- a/lib/spack/spack/detection/path.py +++ b/lib/spack/spack/detection/path.py @@ -12,7 +12,7 @@ import re import sys import warnings -from typing import Dict, List, Optional, Set, Tuple +from typing import Dict, List, Optional, Set, Tuple, Type import llnl.util.filesystem import llnl.util.lang @@ -200,7 +200,7 @@ class Finder: def default_path_hints(self) -> List[str]: return [] - def search_patterns(self, *, pkg: "spack.package_base.PackageBase") -> List[str]: + def search_patterns(self, *, pkg: Type["spack.package_base.PackageBase"]) -> List[str]: """Returns the list of patterns used to match candidate files. Args: @@ -226,7 +226,7 @@ def prefix_from_path(self, *, path: str) -> str: raise NotImplementedError("must be implemented by derived classes") def detect_specs( - self, *, pkg: "spack.package_base.PackageBase", paths: List[str] + self, *, pkg: Type["spack.package_base.PackageBase"], paths: List[str] ) -> List[DetectedPackage]: """Given a list of files matching the search patterns, returns a list of detected specs. @@ -327,7 +327,7 @@ class ExecutablesFinder(Finder): def default_path_hints(self) -> List[str]: return spack.util.environment.get_path("PATH") - def search_patterns(self, *, pkg: "spack.package_base.PackageBase") -> List[str]: + def search_patterns(self, *, pkg: Type["spack.package_base.PackageBase"]) -> List[str]: result = [] if hasattr(pkg, "executables") and hasattr(pkg, "platform_executables"): result = pkg.platform_executables() @@ -356,7 +356,7 @@ class LibrariesFinder(Finder): DYLD_LIBRARY_PATH, DYLD_FALLBACK_LIBRARY_PATH, and standard system library paths """ - def search_patterns(self, *, pkg: "spack.package_base.PackageBase") -> List[str]: + def search_patterns(self, *, pkg: Type["spack.package_base.PackageBase"]) -> List[str]: result = [] if hasattr(pkg, "libraries"): result = pkg.libraries diff --git a/lib/spack/spack/directives.py b/lib/spack/spack/directives.py index 3918af9dce8ccf..80b323f91ee477 100644 --- a/lib/spack/spack/directives.py +++ b/lib/spack/spack/directives.py @@ -90,14 +90,14 @@ class OpenMpi(Package): _patch_order_index = 0 -SpecType = Union["spack.spec.Spec", str] +SpecType = str DepType = Union[Tuple[str, ...], str] WhenType = Optional[Union["spack.spec.Spec", str, bool]] Patcher = Callable[[Union["spack.package_base.PackageBase", Dependency]], None] PatchesType = Optional[Union[Patcher, str, List[Union[Patcher, str]]]] -SUPPORTED_LANGUAGES = ("fortran", "cxx") +SUPPORTED_LANGUAGES = ("fortran", "cxx", "c") def _make_when_spec(value: WhenType) -> Optional["spack.spec.Spec"]: @@ -475,7 +475,7 @@ def _execute_version(pkg, ver, **kwargs): def _depends_on( pkg: "spack.package_base.PackageBase", - spec: SpecType, + spec: "spack.spec.Spec", *, when: WhenType = None, type: DepType = dt.DEFAULT_TYPES, @@ -485,11 +485,10 @@ def _depends_on( if not when_spec: return - dep_spec = spack.spec.Spec(spec) - if not dep_spec.name: - raise DependencyError("Invalid dependency specification in package '%s':" % pkg.name, spec) - if pkg.name == dep_spec.name: - raise CircularReferenceError("Package '%s' cannot depend on itself." % pkg.name) + if not spec.name: + raise DependencyError(f"Invalid dependency specification in package '{pkg.name}':", spec) + if pkg.name == spec.name: + raise CircularReferenceError(f"Package '{pkg.name}' cannot depend on itself.") depflag = dt.canonicalize(type) @@ -505,7 +504,7 @@ def _depends_on( # ensure `Spec.virtual` is a valid thing to call in a directive. # For now, we comment out the following check to allow for virtual packages # with package files. - # if patches and dep_spec.virtual: + # if patches and spec.virtual: # raise DependencyPatchError("Cannot patch a virtual dependency.") # ensure patches is a list @@ -520,13 +519,13 @@ def _depends_on( # this is where we actually add the dependency to this package deps_by_name = pkg.dependencies.setdefault(when_spec, {}) - dependency = deps_by_name.get(dep_spec.name) + dependency = deps_by_name.get(spec.name) if not dependency: - dependency = Dependency(pkg, dep_spec, depflag=depflag) - deps_by_name[dep_spec.name] = dependency + dependency = Dependency(pkg, spec, depflag=depflag) + deps_by_name[spec.name] = dependency else: - dependency.spec.constrain(dep_spec, deps=False) + dependency.spec.constrain(spec, deps=False) dependency.depflag |= depflag # apply patches to the dependency @@ -598,7 +597,8 @@ def depends_on( @see The section "Dependency specs" in the Spack Packaging Guide. """ - if spack.spec.Spec(spec).name in SUPPORTED_LANGUAGES: + dep_spec = spack.spec.Spec(spec) + if dep_spec.name in SUPPORTED_LANGUAGES: assert type == "build", "languages must be of 'build' type" return _language(lang_spec_str=spec, when=when) @@ -611,7 +611,7 @@ def _execute_depends_on(pkg: "spack.package_base.PackageBase"): for pkg_version in pkg.versions: version_ish = version_translator(pkg_version) if version_ish is not None: - constrained_spec = spack.spec.Spec(spec) + constrained_spec = spack.spec.Spec(dep_spec) if constrained_spec.constrain(f"@{version_ish}"): _depends_on( pkg, @@ -625,7 +625,7 @@ def _execute_depends_on(pkg: "spack.package_base.PackageBase"): # If we haven't already produced one or more version-specific # dependencies, do the basic dependency for spec. if not executed: - _depends_on(pkg, spec, when=when, type=type, patches=patches) + _depends_on(pkg, dep_spec, when=when, type=type, patches=patches) return _execute_depends_on @@ -695,25 +695,24 @@ def extends(spec, when=None, type=("build", "run"), patches=None): keyword arguments can be passed to extends() so that extension packages can pass parameters to the extendee's extension - mechanism. - - """ + mechanism.""" def _execute_extends(pkg): when_spec = _make_when_spec(when) if not when_spec: return - _depends_on(pkg, spec, when=when, type=type, patches=patches) - spec_obj = spack.spec.Spec(spec) + dep_spec = spack.spec.Spec(spec) + + _depends_on(pkg, dep_spec, when=when, type=type, patches=patches) # When extending python, also add a dependency on python-venv. This is done so that # Spack environment views are Python virtual environments. - if spec_obj.name == "python" and not pkg.name == "python-venv": - _depends_on(pkg, "python-venv", when=when, type=("build", "run")) + if dep_spec.name == "python" and not pkg.name == "python-venv": + _depends_on(pkg, spack.spec.Spec("python-venv"), when=when, type=("build", "run")) # TODO: the values of the extendees dictionary are not used. Remove in next refactor. - pkg.extendees[spec_obj.name] = (spec_obj, None) + pkg.extendees[dep_spec.name] = (dep_spec, None) return _execute_extends diff --git a/lib/spack/spack/environment/environment.py b/lib/spack/spack/environment/environment.py index 22a1a0d322a835..65a08ff7fa456e 100644 --- a/lib/spack/spack/environment/environment.py +++ b/lib/spack/spack/environment/environment.py @@ -5,7 +5,7 @@ import collections import collections.abc import contextlib -import copy +import errno import os import pathlib import re @@ -24,12 +24,15 @@ from llnl.util.link_tree import ConflictingSpecsError from llnl.util.symlink import readlink, symlink +import spack.caches +import spack.cmd import spack.compilers import spack.concretize import spack.config import spack.deptypes as dt import spack.error import spack.fetch_strategy +import spack.filesystem_view as fsv import spack.hash_types as ht import spack.hooks import spack.main @@ -52,7 +55,6 @@ import spack.util.url import spack.version from spack import traverse -from spack.filesystem_view import SimpleFilesystemView, inverse_view_func_parser, view_func_parser from spack.installer import PackageInstaller from spack.schema.env import TOP_LEVEL_KEY from spack.spec import Spec @@ -267,9 +269,7 @@ def root(name): def exists(name): """Whether an environment with this name exists or not.""" - if not valid_env_name(name): - return False - return os.path.isdir(root(name)) + return valid_env_name(name) and os.path.isdir(_root(name)) def active(name): @@ -528,8 +528,8 @@ def _read_yaml(str_or_file): ) filename = getattr(str_or_file, "name", None) - default_data = spack.config.validate(data, spack.schema.env.schema, filename) - return data, default_data + spack.config.validate(data, spack.schema.env.schema, filename) + return data def _write_yaml(data, str_or_file): @@ -606,7 +606,7 @@ def __init__( self.projections = projections self.select = select self.exclude = exclude - self.link_type = view_func_parser(link_type) + self.link_type = fsv.canonicalize_link_type(link_type) self.link = link def select_fn(self, spec): @@ -640,7 +640,7 @@ def to_dict(self): if self.exclude: ret["exclude"] = self.exclude if self.link_type: - ret["link_type"] = inverse_view_func_parser(self.link_type) + ret["link_type"] = self.link_type if self.link != default_view_link: ret["link"] = self.link return ret @@ -690,7 +690,7 @@ def get_projection_for_spec(self, spec): to exist on the filesystem.""" return self._view(self.root).get_projection_for_spec(spec) - def view(self, new: Optional[str] = None) -> SimpleFilesystemView: + def view(self, new: Optional[str] = None) -> fsv.SimpleFilesystemView: """ Returns a view object for the *underlying* view directory. This means that the self.root symlink is followed, and that the view has to exist on the filesystem @@ -710,14 +710,14 @@ def view(self, new: Optional[str] = None) -> SimpleFilesystemView: ) return self._view(path) - def _view(self, root: str) -> SimpleFilesystemView: + def _view(self, root: str) -> fsv.SimpleFilesystemView: """Returns a view object for a given root dir.""" - return SimpleFilesystemView( + return fsv.SimpleFilesystemView( root, spack.store.STORE.layout, ignore_conflicts=True, projections=self.projections, - link=self.link_type, + link_type=self.link_type, ) def __contains__(self, spec): @@ -789,6 +789,23 @@ def regenerate(self, concrete_roots: List[Spec]) -> None: root_dirname = os.path.dirname(self.root) tmp_symlink_name = os.path.join(root_dirname, "._view_link") + # Remove self.root if is it an empty dir, since we need a symlink there. Note that rmdir + # fails if self.root is a symlink. + try: + os.rmdir(self.root) + except (FileNotFoundError, NotADirectoryError): + pass + except OSError as e: + if e.errno == errno.ENOTEMPTY: + msg = "it is a non-empty directory" + elif e.errno == errno.EACCES: + msg = "of insufficient permissions" + else: + raise + raise SpackEnvironmentViewError( + f"The environment view in {self.root} cannot not be created because {msg}." + ) from e + # Create a new view try: fs.mkdirp(new_root) @@ -920,7 +937,7 @@ def __init__(self, manifest_dir: Union[str, pathlib.Path]) -> None: def _load_manifest_file(self): """Instantiate and load the manifest file contents into memory.""" with lk.ReadTransaction(self.txlock): - self.manifest = EnvironmentManifestFile(self.path) + self.manifest = EnvironmentManifestFile(self.path, self.name) with self.manifest.use_config(): self._read() @@ -957,18 +974,25 @@ def write_transaction(self): """Get a write lock context manager for use in a `with` block.""" return lk.WriteTransaction(self.txlock, acquire=self._re_read) - def _process_definition(self, item): + def _process_definition(self, entry): """Process a single spec definition item.""" - entry = copy.deepcopy(item) - when = _eval_conditional(entry.pop("when", "True")) - assert len(entry) == 1 + when_string = entry.get("when") + if when_string is not None: + when = _eval_conditional(when_string) + assert len([x for x in entry if x != "when"]) == 1 + else: + when = True + assert len(entry) == 1 + if when: - name, spec_list = next(iter(entry.items())) - user_specs = SpecList(name, spec_list, self.spec_lists.copy()) - if name in self.spec_lists: - self.spec_lists[name].extend(user_specs) - else: - self.spec_lists[name] = user_specs + for name, spec_list in entry.items(): + if name == "when": + continue + user_specs = SpecList(name, spec_list, self.spec_lists.copy()) + if name in self.spec_lists: + self.spec_lists[name].extend(user_specs) + else: + self.spec_lists[name] = user_specs def _process_view(self, env_view: Optional[Union[bool, str, Dict]]): """Process view option(s), which can be boolean, string, or None. @@ -2473,27 +2497,21 @@ def _equiv_dict(first, second): return same_values and same_keys_with_same_overrides -def display_specs(concretized_specs): - """Displays the list of specs returned by `Environment.concretize()`. +def display_specs(specs): + """Displays a list of specs traversed breadth-first, covering nodes, with install status. Args: - concretized_specs (list): list of specs returned by - `Environment.concretize()` + specs (list): list of specs """ - - def _tree_to_display(spec): - return spec.tree( - recurse_dependencies=True, - format=spack.spec.DISPLAY_FORMAT, - status_fn=spack.spec.Spec.install_status, - hashlen=7, - hashes=True, - ) - - for user_spec, concrete_spec in concretized_specs: - tty.msg("Concretized {0}".format(user_spec)) - sys.stdout.write(_tree_to_display(concrete_spec)) - print("") + tree_string = spack.spec.tree( + specs, + format=spack.spec.DISPLAY_FORMAT, + hashes=True, + hashlen=7, + status_fn=spack.spec.Spec.install_status, + key=traverse.by_dag_hash, + ) + print(tree_string) def _concretize_from_constraints(spec_constraints, tests=False): @@ -2547,7 +2565,7 @@ def _concretize_task(packed_arguments) -> Tuple[int, Spec, float]: def make_repo_path(root): """Make a RepoPath from the repo subdirectories in an environment.""" - path = spack.repo.RepoPath() + path = spack.repo.RepoPath(cache=spack.caches.MISC_CACHE) if os.path.isdir(root): for repo_root in os.listdir(root): @@ -2556,7 +2574,7 @@ def make_repo_path(root): if not os.path.isdir(repo_root): continue - repo = spack.repo.Repo(repo_root) + repo = spack.repo.from_path(repo_root) path.put_last(repo) return path @@ -2757,10 +2775,11 @@ def from_lockfile(manifest_dir: Union[pathlib.Path, str]) -> "EnvironmentManifes manifest.flush() return manifest - def __init__(self, manifest_dir: Union[pathlib.Path, str]) -> None: + def __init__(self, manifest_dir: Union[pathlib.Path, str], name: Optional[str] = None) -> None: self.manifest_dir = pathlib.Path(manifest_dir) + self.name = name or str(manifest_dir) self.manifest_file = self.manifest_dir / manifest_name - self.scope_name = f"env:{environment_name(self.manifest_dir)}" + self.scope_name = f"env:{self.name}" self.config_stage_dir = os.path.join(env_subdir_path(manifest_dir), "config") #: Configuration scopes associated with this environment. Note that these are not @@ -2772,12 +2791,8 @@ def __init__(self, manifest_dir: Union[pathlib.Path, str]) -> None: raise SpackEnvironmentError(msg) with self.manifest_file.open() as f: - raw, with_defaults_added = _read_yaml(f) + self.yaml_content = _read_yaml(f) - #: Pristine YAML content, without defaults being added - self.pristine_yaml_content = raw - #: YAML content with defaults added by Spack, if they're missing - self.yaml_content = with_defaults_added self.changed = False def _all_matches(self, user_spec: str) -> List[str]: @@ -2791,7 +2806,7 @@ def _all_matches(self, user_spec: str) -> List[str]: ValueError: if no equivalent match is found """ result = [] - for yaml_spec_str in self.pristine_configuration["specs"]: + for yaml_spec_str in self.configuration["specs"]: if Spec(yaml_spec_str) == Spec(user_spec): result.append(yaml_spec_str) @@ -2806,7 +2821,6 @@ def add_user_spec(self, user_spec: str) -> None: Args: user_spec: user spec to be appended """ - self.pristine_configuration.setdefault("specs", []).append(user_spec) self.configuration.setdefault("specs", []).append(user_spec) self.changed = True @@ -2821,7 +2835,6 @@ def remove_user_spec(self, user_spec: str) -> None: """ try: for key in self._all_matches(user_spec): - self.pristine_configuration["specs"].remove(key) self.configuration["specs"].remove(key) except ValueError as e: msg = f"cannot remove {user_spec} from {self}, no such spec exists" @@ -2839,7 +2852,6 @@ def override_user_spec(self, user_spec: str, idx: int) -> None: SpackEnvironmentError: when the user spec cannot be overridden """ try: - self.pristine_configuration["specs"][idx] = user_spec self.configuration["specs"][idx] = user_spec except ValueError as e: msg = f"cannot override {user_spec} from {self}" @@ -2852,10 +2864,10 @@ def set_include_concrete(self, include_concrete: List[str]) -> None: Args: include_concrete: list of already existing concrete environments to include """ - self.pristine_configuration[included_concrete_name] = [] + self.configuration[included_concrete_name] = [] for env_path in include_concrete: - self.pristine_configuration[included_concrete_name].append(env_path) + self.configuration[included_concrete_name].append(env_path) self.changed = True @@ -2869,14 +2881,13 @@ def add_definition(self, user_spec: str, list_name: str) -> None: Raises: SpackEnvironmentError: is no valid definition exists already """ - defs = self.pristine_configuration.get("definitions", []) + defs = self.configuration.get("definitions", []) msg = f"cannot add {user_spec} to the '{list_name}' definition, no valid list exists" for idx, item in self._iterate_on_definitions(defs, list_name=list_name, err_msg=msg): item[list_name].append(user_spec) break - self.configuration["definitions"][idx][list_name].append(user_spec) self.changed = True def remove_definition(self, user_spec: str, list_name: str) -> None: @@ -2890,7 +2901,7 @@ def remove_definition(self, user_spec: str, list_name: str) -> None: SpackEnvironmentError: if the user spec cannot be removed from the list, or the list does not exist """ - defs = self.pristine_configuration.get("definitions", []) + defs = self.configuration.get("definitions", []) msg = ( f"cannot remove {user_spec} from the '{list_name}' definition, " f"no valid list exists" @@ -2903,7 +2914,6 @@ def remove_definition(self, user_spec: str, list_name: str) -> None: except ValueError: pass - self.configuration["definitions"][idx][list_name].remove(user_spec) self.changed = True def override_definition(self, user_spec: str, *, override: str, list_name: str) -> None: @@ -2918,7 +2928,7 @@ def override_definition(self, user_spec: str, *, override: str, list_name: str) Raises: SpackEnvironmentError: if the user spec cannot be overridden """ - defs = self.pristine_configuration.get("definitions", []) + defs = self.configuration.get("definitions", []) msg = f"cannot override {user_spec} with {override} in the '{list_name}' definition" for idx, item in self._iterate_on_definitions(defs, list_name=list_name, err_msg=msg): @@ -2929,7 +2939,6 @@ def override_definition(self, user_spec: str, *, override: str, list_name: str) except ValueError: pass - self.configuration["definitions"][idx][list_name][sub_index] = override self.changed = True def _iterate_on_definitions(self, definitions, *, list_name, err_msg): @@ -2961,7 +2970,6 @@ def set_default_view(self, view: Union[bool, str, pathlib.Path, Dict[str, str]]) True the default view is used for the environment, if False there's no view. """ if isinstance(view, dict): - self.pristine_configuration["view"][default_view_name].update(view) self.configuration["view"][default_view_name].update(view) self.changed = True return @@ -2969,15 +2977,13 @@ def set_default_view(self, view: Union[bool, str, pathlib.Path, Dict[str, str]]) if not isinstance(view, bool): view = str(view) - self.pristine_configuration["view"] = view self.configuration["view"] = view self.changed = True def remove_default_view(self) -> None: """Removes the default view from the manifest file""" - view_data = self.pristine_configuration.get("view") + view_data = self.configuration.get("view") if isinstance(view_data, collections.abc.Mapping): - self.pristine_configuration["view"].pop(default_view_name) self.configuration["view"].pop(default_view_name) self.changed = True return @@ -2990,17 +2996,12 @@ def flush(self) -> None: return with fs.write_tmp_and_move(os.path.realpath(self.manifest_file)) as f: - _write_yaml(self.pristine_yaml_content, f) + _write_yaml(self.yaml_content, f) self.changed = False - @property - def pristine_configuration(self): - """Return the dictionaries in the pristine YAML, without the top level attribute""" - return self.pristine_yaml_content[TOP_LEVEL_KEY] - @property def configuration(self): - """Return the dictionaries in the YAML, without the top level attribute""" + """Return the dictionaries in the pristine YAML, without the top level attribute""" return self.yaml_content[TOP_LEVEL_KEY] def __len__(self): @@ -3032,12 +3033,11 @@ def included_config_scopes(self) -> List[spack.config.ConfigScope]: SpackEnvironmentError: if the manifest includes a remote file but no configuration stage directory has been identified """ - scopes = [] + scopes: List[spack.config.ConfigScope] = [] # load config scopes added via 'include:', in reverse so that # highest-precedence scopes are last. includes = self[TOP_LEVEL_KEY].get("include", []) - env_name = environment_name(self.manifest_dir) missing = [] for i, config_path in enumerate(reversed(includes)): # allow paths to contain spack config/environment variables, etc. @@ -3100,24 +3100,22 @@ def included_config_scopes(self) -> List[spack.config.ConfigScope]: if os.path.isdir(config_path): # directories are treated as regular ConfigScopes - config_name = "env:%s:%s" % (env_name, os.path.basename(config_path)) - tty.debug("Creating ConfigScope {0} for '{1}'".format(config_name, config_path)) - scope = spack.config.ConfigScope(config_name, config_path) + config_name = f"env:{self.name}:{os.path.basename(config_path)}" + tty.debug(f"Creating DirectoryConfigScope {config_name} for '{config_path}'") + scopes.append(spack.config.DirectoryConfigScope(config_name, config_path)) elif os.path.exists(config_path): # files are assumed to be SingleFileScopes - config_name = "env:%s:%s" % (env_name, config_path) - tty.debug( - "Creating SingleFileScope {0} for '{1}'".format(config_name, config_path) - ) - scope = spack.config.SingleFileScope( - config_name, config_path, spack.schema.merged.schema + config_name = f"env:{self.name}:{config_path}" + tty.debug(f"Creating SingleFileScope {config_name} for '{config_path}'") + scopes.append( + spack.config.SingleFileScope( + config_name, config_path, spack.schema.merged.schema + ) ) else: missing.append(config_path) continue - scopes.append(scope) - if missing: msg = "Detected {0} missing include path(s):".format(len(missing)) msg += "\n {0}".format("\n ".join(missing)) @@ -3134,7 +3132,10 @@ def env_config_scopes(self) -> List[spack.config.ConfigScope]: scopes: List[spack.config.ConfigScope] = [ *self.included_config_scopes, spack.config.SingleFileScope( - self.scope_name, str(self.manifest_file), spack.schema.env.schema, [TOP_LEVEL_KEY] + self.scope_name, + str(self.manifest_file), + spack.schema.env.schema, + yaml_path=[TOP_LEVEL_KEY], ), ] ensure_no_disallowed_env_config_mods(scopes) diff --git a/lib/spack/spack/filesystem_view.py b/lib/spack/spack/filesystem_view.py index 81a330b4a9392f..0e508a9bd89c46 100644 --- a/lib/spack/spack/filesystem_view.py +++ b/lib/spack/spack/filesystem_view.py @@ -10,8 +10,9 @@ import shutil import stat import sys -from typing import Optional +from typing import Callable, Dict, Optional +from llnl.string import comma_or from llnl.util import tty from llnl.util.filesystem import ( mkdirp, @@ -49,19 +50,20 @@ _projections_path = ".spack/projections.yaml" -def view_symlink(src, dst, **kwargs): - # keyword arguments are irrelevant - # here to fit required call signature +LinkCallbackType = Callable[[str, str, "FilesystemView", Optional["spack.spec.Spec"]], None] + + +def view_symlink(src: str, dst: str, *args, **kwargs) -> None: symlink(src, dst) -def view_hardlink(src, dst, **kwargs): - # keyword arguments are irrelevant - # here to fit required call signature +def view_hardlink(src: str, dst: str, *args, **kwargs) -> None: os.link(src, dst) -def view_copy(src: str, dst: str, view, spec: Optional[spack.spec.Spec] = None): +def view_copy( + src: str, dst: str, view: "FilesystemView", spec: Optional["spack.spec.Spec"] = None +) -> None: """ Copy a file from src to dst. @@ -104,27 +106,40 @@ def view_copy(src: str, dst: str, view, spec: Optional[spack.spec.Spec] = None): tty.debug(f"Can't change the permissions for {dst}") -def view_func_parser(parsed_name): - # What method are we using for this view - if parsed_name in ("hardlink", "hard"): +#: supported string values for `link_type` in an env, mapped to canonical values +_LINK_TYPES = { + "hardlink": "hardlink", + "hard": "hardlink", + "copy": "copy", + "relocate": "copy", + "add": "symlink", + "symlink": "symlink", + "soft": "symlink", +} + +_VALID_LINK_TYPES = sorted(set(_LINK_TYPES.values())) + + +def canonicalize_link_type(link_type: str) -> str: + """Return canonical""" + canonical = _LINK_TYPES.get(link_type) + if not canonical: + raise ValueError( + f"Invalid link type: '{link_type}. Must be one of {comma_or(_VALID_LINK_TYPES)}'" + ) + return canonical + + +def function_for_link_type(link_type: str) -> LinkCallbackType: + link_type = canonicalize_link_type(link_type) + if link_type == "hardlink": return view_hardlink - elif parsed_name in ("copy", "relocate"): - return view_copy - elif parsed_name in ("add", "symlink", "soft"): + elif link_type == "symlink": return view_symlink - else: - raise ValueError(f"invalid link type for view: '{parsed_name}'") - + elif link_type == "copy": + return view_copy -def inverse_view_func_parser(view_type): - # get string based on view type - if view_type is view_hardlink: - link_name = "hardlink" - elif view_type is view_copy: - link_name = "copy" - else: - link_name = "symlink" - return link_name + assert False, "invalid link type" # need mypy Literal values class FilesystemView: @@ -140,7 +155,16 @@ class FilesystemView: directory structure. """ - def __init__(self, root, layout, **kwargs): + def __init__( + self, + root: str, + layout: "spack.directory_layout.DirectoryLayout", + *, + projections: Optional[Dict] = None, + ignore_conflicts: bool = False, + verbose: bool = False, + link_type: str = "symlink", + ): """ Initialize a filesystem view under the given `root` directory with corresponding directory `layout`. @@ -149,15 +173,14 @@ def __init__(self, root, layout, **kwargs): """ self._root = root self.layout = layout + self.projections = {} if projections is None else projections - self.projections = kwargs.get("projections", {}) - - self.ignore_conflicts = kwargs.get("ignore_conflicts", False) - self.verbose = kwargs.get("verbose", False) + self.ignore_conflicts = ignore_conflicts + self.verbose = verbose # Setup link function to include view - link_func = kwargs.get("link", view_symlink) - self.link = ft.partial(link_func, view=self) + self.link_type = link_type + self.link = ft.partial(function_for_link_type(link_type), view=self) def add_specs(self, *specs, **kwargs): """ @@ -255,8 +278,24 @@ class YamlFilesystemView(FilesystemView): Filesystem view to work with a yaml based directory layout. """ - def __init__(self, root, layout, **kwargs): - super().__init__(root, layout, **kwargs) + def __init__( + self, + root: str, + layout: "spack.directory_layout.DirectoryLayout", + *, + projections: Optional[Dict] = None, + ignore_conflicts: bool = False, + verbose: bool = False, + link_type: str = "symlink", + ): + super().__init__( + root, + layout, + projections=projections, + ignore_conflicts=ignore_conflicts, + verbose=verbose, + link_type=link_type, + ) # Super class gets projections from the kwargs # YAML specific to get projections from YAML file @@ -638,9 +677,6 @@ class SimpleFilesystemView(FilesystemView): """A simple and partial implementation of FilesystemView focused on performance and immutable views, where specs cannot be removed after they were added.""" - def __init__(self, root, layout, **kwargs): - super().__init__(root, layout, **kwargs) - def _sanity_check_view_projection(self, specs): """A very common issue is that we end up with two specs of the same package, that project to the same prefix. We want to catch that as early as possible and give a sensible error to diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py index c37fac186e6bdf..dc94c95926aa1f 100644 --- a/lib/spack/spack/installer.py +++ b/lib/spack/spack/installer.py @@ -582,7 +582,7 @@ def dump_packages(spec: "spack.spec.Spec", path: str) -> None: # Create a source repo and get the pkg directory out of it. try: - source_repo = spack.repo.Repo(source_repo_root) + source_repo = spack.repo.from_path(source_repo_root) source_pkg_dir = source_repo.dirname_for_package_name(node.name) except spack.repo.RepoError as err: tty.debug(f"Failed to create source repo for {node.name}: {str(err)}") @@ -593,7 +593,7 @@ def dump_packages(spec: "spack.spec.Spec", path: str) -> None: dest_repo_root = os.path.join(path, node.namespace) if not os.path.exists(dest_repo_root): spack.repo.create_repo(dest_repo_root) - repo = spack.repo.Repo(dest_repo_root) + repo = spack.repo.from_path(dest_repo_root) # Get the location of the package in the dest repo. dest_pkg_dir = repo.dirname_for_package_name(node.name) @@ -1542,17 +1542,6 @@ def _add_tasks(self, request: BuildRequest, all_deps): tty.warn(f"Installation request refused: {str(err)}") return - # Skip out early if the spec is not being installed locally (i.e., if - # external or upstream). - # - # External and upstream packages need to get flagged as installed to - # ensure proper status tracking for environment build. - explicit = request.pkg.spec.dag_hash() in request.install_args.get("explicit", []) - not_local = _handle_external_and_upstream(request.pkg, explicit) - if not_local: - self._flag_installed(request.pkg) - return - install_compilers = spack.config.get("config:install_missing_compilers", False) install_deps = request.install_args.get("install_deps") @@ -2029,11 +2018,10 @@ def install(self) -> None: # Skip the installation if the spec is not being installed locally # (i.e., if external or upstream) BUT flag it as installed since # some package likely depends on it. - if not task.explicit: - if _handle_external_and_upstream(pkg, False): - term_status.clear() - self._flag_installed(pkg, task.dependents) - continue + if _handle_external_and_upstream(pkg, task.explicit): + term_status.clear() + self._flag_installed(pkg, task.dependents) + continue # Flag a failed spec. Do not need an (install) prefix lock since # assume using a separate (failed) prefix lock file. diff --git a/lib/spack/spack/main.py b/lib/spack/spack/main.py index 655fae2f1728a5..78fda27c4628c4 100644 --- a/lib/spack/spack/main.py +++ b/lib/spack/spack/main.py @@ -444,8 +444,9 @@ def make_argument_parser(**kwargs): "--config-scope", dest="config_scopes", action="append", - metavar="DIR", - help="add a custom configuration scope", + metavar="DIR|ENV", + help="add directory or environment as read-only configuration scope, without activating " + "the environment.", ) parser.add_argument( "-d", diff --git a/lib/spack/spack/operating_systems/mac_os.py b/lib/spack/spack/operating_systems/mac_os.py index 799f183d11f391..7b41ee7a13ef70 100644 --- a/lib/spack/spack/operating_systems/mac_os.py +++ b/lib/spack/spack/operating_systems/mac_os.py @@ -143,6 +143,7 @@ def __init__(self): "12": "monterey", "13": "ventura", "14": "sonoma", + "15": "sequoia", } version = macos_version() diff --git a/lib/spack/spack/package_base.py b/lib/spack/spack/package_base.py index 7b3e5bd1c8e98d..591d7aca1a5def 100644 --- a/lib/spack/spack/package_base.py +++ b/lib/spack/spack/package_base.py @@ -35,6 +35,7 @@ import spack.compilers import spack.config +import spack.dependency import spack.deptypes as dt import spack.directives import spack.directory_layout @@ -199,10 +200,10 @@ def __init__(cls, name, bases, attr_dict): # assumed to be detectable if hasattr(cls, "executables") or hasattr(cls, "libraries"): # Append a tag to each detectable package, so that finding them is faster - if hasattr(cls, "tags"): - getattr(cls, "tags").append(DetectablePackageMeta.TAG) - else: + if not hasattr(cls, "tags"): setattr(cls, "tags", [DetectablePackageMeta.TAG]) + elif DetectablePackageMeta.TAG not in cls.tags: + cls.tags.append(DetectablePackageMeta.TAG) @classmethod def platform_executables(cls): @@ -621,10 +622,6 @@ class PackageBase(WindowsRPath, PackageViewMixin, RedistributionMixin, metaclass #: By default do not run tests within package's install() run_tests = False - #: Keep -Werror flags, matches config:flags:keep_werror to override config - # NOTE: should be type Optional[Literal['all', 'specific', 'none']] in 3.8+ - keep_werror: Optional[str] = None - #: Most packages are NOT extendable. Set to True if you want extensions. extendable = False @@ -752,11 +749,6 @@ def __init__(self, spec): self._fetch_time = 0.0 self.win_rpath = fsys.WindowsSimulatedRPath(self) - - if self.is_extension: - pkg_cls = spack.repo.PATH.get_pkg_class(self.extendee_spec.name) - pkg_cls(self.extendee_spec)._check_extendable() - super().__init__() @classmethod @@ -930,6 +922,32 @@ def global_license_file(self): self.global_license_dir, self.name, os.path.basename(self.license_files[0]) ) + # NOTE: return type should be Optional[Literal['all', 'specific', 'none']] in + # Python 3.8+, but we still support 3.6. + @property + def keep_werror(self) -> Optional[str]: + """Keep ``-Werror`` flags, matches ``config:flags:keep_werror`` to override config. + + Valid return values are: + * ``"all"``: keep all ``-Werror`` flags. + * ``"specific"``: keep only ``-Werror=specific-warning`` flags. + * ``"none"``: filter out all ``-Werror*`` flags. + * ``None``: respect the user's configuration (``"none"`` by default). + """ + if self.spec.satisfies("%nvhpc@:23.3") or self.spec.satisfies("%pgi"): + # Filtering works by replacing -Werror with -Wno-error, but older nvhpc and + # PGI do not understand -Wno-error, so we disable filtering. + return "all" + + elif self.spec.satisfies("%nvhpc@23.4:"): + # newer nvhpc supports -Wno-error but can't disable specific warnings with + # -Wno-error=warning. Skip -Werror=warning, but still filter -Werror. + return "specific" + + else: + # use -Werror disablement by default for other compilers + return None + @property def version(self): if not self.spec.versions.concrete: @@ -1119,10 +1137,9 @@ def _make_stage(self): 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) + source_stage = DevelopStage(compute_stage_name(self.spec), dev_path, stage_link) + else: + source_stage = self._make_root_stage(self.fetcher) # all_stages is source + resources + patches all_stages = StageComposite() @@ -1456,10 +1473,8 @@ def do_fetch(self, mirror_only=False): return checksum = spack.config.get("config:checksum") - fetch = self.stage.needs_fetching if ( checksum - and fetch and (self.version not in self.versions) and (not isinstance(self.version, GitVersion)) ): @@ -1566,13 +1581,11 @@ def do_patch(self): tty.debug("Patching failed last time. Restaging.") self.stage.restage() else: - # develop specs/ DIYStages may have patch failures but - # should never be restaged - msg = ( - "A patch failure was detected in %s." % self.name - + " Build errors may occur due to this." + # develop specs may have patch failures but should never be restaged + tty.warn( + f"A patch failure was detected in {self.name}." + " Build errors may occur due to this." ) - tty.warn(msg) return # If this file exists, then we already applied all the patches. @@ -2376,10 +2389,6 @@ def do_deprecate(self, deprecator, link_fn): PackageBase.uninstall_by_spec(spec, force=True, deprecator=deprecator) link_fn(deprecator.prefix, spec.prefix) - def _check_extendable(self): - if not self.extendable: - raise ValueError("Package %s is not extendable!" % self.name) - def view(self): """Create a view with the prefix of this package as the root. Extensions added to this view will modify the installation prefix of diff --git a/lib/spack/spack/patch.py b/lib/spack/spack/patch.py index 531445b4f95701..795a274243aae1 100644 --- a/lib/spack/spack/patch.py +++ b/lib/spack/spack/patch.py @@ -9,7 +9,7 @@ import os.path import pathlib import sys -from typing import Any, Dict, Optional, Tuple, Type +from typing import Any, Dict, Optional, Tuple, Type, Union import llnl.util.filesystem from llnl.url import allowed_archive @@ -65,6 +65,9 @@ def apply_patch( patch(*args) +PatchPackageType = Union["spack.package_base.PackageBase", Type["spack.package_base.PackageBase"]] + + class Patch: """Base class for patches. @@ -77,7 +80,7 @@ class Patch: def __init__( self, - pkg: "spack.package_base.PackageBase", + pkg: PatchPackageType, path_or_url: str, level: int, working_dir: str, @@ -159,7 +162,7 @@ class FilePatch(Patch): def __init__( self, - pkg: "spack.package_base.PackageBase", + pkg: PatchPackageType, relative_path: str, level: int, working_dir: str, @@ -183,7 +186,7 @@ def __init__( abs_path: Optional[str] = None # At different times we call FilePatch on instances and classes pkg_cls = pkg if inspect.isclass(pkg) else pkg.__class__ - for cls in inspect.getmro(pkg_cls): + for cls in inspect.getmro(pkg_cls): # type: ignore if not hasattr(cls, "module"): # We've gone too far up the MRO break @@ -242,7 +245,7 @@ class UrlPatch(Patch): def __init__( self, - pkg: "spack.package_base.PackageBase", + pkg: PatchPackageType, url: str, level: int = 1, *, @@ -361,8 +364,9 @@ def from_dict( """ repository = repository or spack.repo.PATH owner = dictionary.get("owner") - if "owner" not in dictionary: - raise ValueError("Invalid patch dictionary: %s" % dictionary) + if owner is None: + raise ValueError(f"Invalid patch dictionary: {dictionary}") + assert isinstance(owner, str) pkg_cls = repository.get_pkg_class(owner) if "url" in dictionary: diff --git a/lib/spack/spack/repo.py b/lib/spack/spack/repo.py index 743f5a18e8f556..4f42ead467be20 100644 --- a/lib/spack/spack/repo.py +++ b/lib/spack/spack/repo.py @@ -25,7 +25,8 @@ import traceback import types import uuid -from typing import Any, Dict, List, Set, Tuple, Union +import warnings +from typing import Any, Dict, Generator, List, Optional, Set, Tuple, Type, Union import llnl.path import llnl.util.filesystem as fs @@ -126,11 +127,35 @@ def exec_module(self, module): class ReposFinder: - """MetaPathFinder class that loads a Python module corresponding to a Spack package + """MetaPathFinder class that loads a Python module corresponding to a Spack package. - Return a loader based on the inspection of the current global repository list. + Returns a loader based on the inspection of the current repository list. """ + def __init__(self): + self._repo_init = _path + self._repo = None + + @property + def current_repository(self): + if self._repo is None: + self._repo = self._repo_init() + return self._repo + + @current_repository.setter + def current_repository(self, value): + self._repo = value + + @contextlib.contextmanager + def switch_repo(self, substitute: "RepoType"): + """Switch the current repository list for the duration of the context manager.""" + old = self.current_repository + try: + self.current_repository = substitute + yield + finally: + self.current_repository = old + def find_spec(self, fullname, python_path, target=None): # "target" is not None only when calling importlib.reload() if target is not None: @@ -149,9 +174,14 @@ def compute_loader(self, fullname): # namespaces are added to repo, and package modules are leaves. namespace, dot, module_name = fullname.rpartition(".") - # If it's a module in some repo, or if it is the repo's - # namespace, let the repo handle it. - for repo in PATH.repos: + # If it's a module in some repo, or if it is the repo's namespace, let the repo handle it. + is_repo_path = isinstance(self.current_repository, RepoPath) + if is_repo_path: + repos = self.current_repository.repos + else: + repos = [self.current_repository] + + for repo in repos: # We are using the namespace of the repo and the repo contains the package if namespace == repo.full_namespace: # With 2 nested conditionals we can call "repo.real_name" only once @@ -165,7 +195,7 @@ def compute_loader(self, fullname): # No repo provides the namespace, but it is a valid prefix of # something in the RepoPath. - if PATH.by_namespace.is_prefix(fullname): + if is_repo_path and self.current_repository.by_namespace.is_prefix(fullname): return SpackNamespaceLoader() return None @@ -560,7 +590,7 @@ def __init__( self, package_checker: FastPackageChecker, namespace: str, - cache: spack.util.file_cache.FileCache, + cache: "spack.caches.FileCacheType", ): self.checker = package_checker self.packages_path = self.checker.packages_path @@ -645,33 +675,39 @@ class RepoPath: repository. Args: - repos (list): list Repo objects or paths to put in this RepoPath + repos: list Repo objects or paths to put in this RepoPath + cache: file cache associated with this repository + overrides: dict mapping package name to class attribute overrides for that package """ - def __init__(self, *repos, **kwargs): - cache = kwargs.get("cache", spack.caches.MISC_CACHE) - self.repos = [] + def __init__( + self, + *repos: Union[str, "Repo"], + cache: "spack.caches.FileCacheType", + overrides: Optional[Dict[str, Any]] = None, + ) -> None: + self.repos: List[Repo] = [] self.by_namespace = nm.NamespaceTrie() - - self._provider_index = None - self._patch_index = None - self._tag_index = None + self._provider_index: Optional[spack.provider_index.ProviderIndex] = None + self._patch_index: Optional[spack.patch.PatchCache] = None + self._tag_index: Optional[spack.tag.TagIndex] = None # Add each repo to this path. for repo in repos: try: if isinstance(repo, str): - repo = Repo(repo, cache=cache) + repo = Repo(repo, cache=cache, overrides=overrides) + repo.finder(self) self.put_last(repo) except RepoError as e: tty.warn( - "Failed to initialize repository: '%s'." % repo, + f"Failed to initialize repository: '{repo}'.", e.message, "To remove the bad repository, run this command:", - " spack repo rm %s" % repo, + f" spack repo rm {repo}", ) - def put_first(self, repo): + def put_first(self, repo: "Repo") -> None: """Add repo first in the search path.""" if isinstance(repo, RepoPath): for r in reversed(repo.repos): @@ -699,50 +735,34 @@ def remove(self, repo): if repo in self.repos: self.repos.remove(repo) - def get_repo(self, namespace, default=NOT_PROVIDED): - """Get a repository by namespace. - - Arguments: - - namespace: - - Look up this namespace in the RepoPath, and return it if found. - - Optional Arguments: - - default: - - If default is provided, return it when the namespace - isn't found. If not, raise an UnknownNamespaceError. - """ + def get_repo(self, namespace: str) -> "Repo": + """Get a repository by namespace.""" full_namespace = python_package_for_repo(namespace) if full_namespace not in self.by_namespace: - if default == NOT_PROVIDED: - raise UnknownNamespaceError(namespace) - return default + raise UnknownNamespaceError(namespace) return self.by_namespace[full_namespace] - def first_repo(self): + def first_repo(self) -> Optional["Repo"]: """Get the first repo in precedence order.""" return self.repos[0] if self.repos else None @llnl.util.lang.memoized - def _all_package_names_set(self, include_virtuals): + def _all_package_names_set(self, include_virtuals) -> Set[str]: return {name for repo in self.repos for name in repo.all_package_names(include_virtuals)} @llnl.util.lang.memoized - def _all_package_names(self, include_virtuals): + def _all_package_names(self, include_virtuals: bool) -> List[str]: """Return all unique package names in all repositories.""" return sorted(self._all_package_names_set(include_virtuals), key=lambda n: n.lower()) - def all_package_names(self, include_virtuals=False): + def all_package_names(self, include_virtuals: bool = False) -> List[str]: return self._all_package_names(include_virtuals) - def package_path(self, name): + def package_path(self, name: str) -> str: """Get path to package.py file for this repo.""" return self.repo_for_pkg(name).package_path(name) - def all_package_paths(self): + def all_package_paths(self) -> Generator[str, None, None]: for name in self.all_package_names(): yield self.package_path(name) @@ -758,53 +778,52 @@ def packages_with_tags(self, *tags: str, full: bool = False) -> Set[str]: for pkg in repo.packages_with_tags(*tags) } - def all_package_classes(self): + def all_package_classes(self) -> Generator[Type["spack.package_base.PackageBase"], None, None]: for name in self.all_package_names(): yield self.get_pkg_class(name) @property - def provider_index(self): + def provider_index(self) -> spack.provider_index.ProviderIndex: """Merged ProviderIndex from all Repos in the RepoPath.""" if self._provider_index is None: self._provider_index = spack.provider_index.ProviderIndex(repository=self) for repo in reversed(self.repos): self._provider_index.merge(repo.provider_index) - return self._provider_index @property - def tag_index(self): + def tag_index(self) -> spack.tag.TagIndex: """Merged TagIndex from all Repos in the RepoPath.""" if self._tag_index is None: self._tag_index = spack.tag.TagIndex(repository=self) for repo in reversed(self.repos): self._tag_index.merge(repo.tag_index) - return self._tag_index @property - def patch_index(self): + def patch_index(self) -> spack.patch.PatchCache: """Merged PatchIndex from all Repos in the RepoPath.""" if self._patch_index is None: self._patch_index = spack.patch.PatchCache(repository=self) for repo in reversed(self.repos): self._patch_index.update(repo.patch_index) - return self._patch_index @autospec - def providers_for(self, vpkg_spec): + def providers_for(self, virtual_spec: "spack.spec.Spec") -> List["spack.spec.Spec"]: providers = [ spec - for spec in self.provider_index.providers_for(vpkg_spec) + for spec in self.provider_index.providers_for(virtual_spec) if spec.name in self._all_package_names_set(include_virtuals=False) ] if not providers: - raise UnknownPackageError(vpkg_spec.fullname) + raise UnknownPackageError(virtual_spec.fullname) return providers @autospec - def extensions_for(self, extendee_spec): + def extensions_for( + self, extendee_spec: "spack.spec.Spec" + ) -> List["spack.package_base.PackageBase"]: return [ pkg_cls(spack.spec.Spec(pkg_cls.name)) for pkg_cls in self.all_package_classes() @@ -815,7 +834,7 @@ def last_mtime(self): """Time a package file in this repo was last updated.""" return max(repo.last_mtime() for repo in self.repos) - def repo_for_pkg(self, spec): + def repo_for_pkg(self, spec: Union[str, "spack.spec.Spec"]) -> "Repo": """Given a spec, get the repository for its package.""" # We don't @_autospec this function b/c it's called very frequently # and we want to avoid parsing str's into Specs unnecessarily. @@ -840,17 +859,20 @@ def repo_for_pkg(self, spec): return repo # If the package isn't in any repo, return the one with - # highest precedence. This is for commands like `spack edit` + # highest precedence. This is for commands like `spack edit` # that can operate on packages that don't exist yet. - return self.first_repo() + selected = self.first_repo() + if selected is None: + raise UnknownPackageError(name) + return selected - def get(self, spec): + def get(self, spec: "spack.spec.Spec") -> "spack.package_base.PackageBase": """Returns the package associated with the supplied spec.""" msg = "RepoPath.get can only be called on concrete specs" assert isinstance(spec, spack.spec.Spec) and spec.concrete, msg return self.repo_for_pkg(spec).get(spec) - def get_pkg_class(self, pkg_name): + def get_pkg_class(self, pkg_name: str) -> Type["spack.package_base.PackageBase"]: """Find a class for the spec's package and return the class object.""" return self.repo_for_pkg(pkg_name).get_pkg_class(pkg_name) @@ -863,26 +885,26 @@ def dump_provenance(self, spec, path): """ return self.repo_for_pkg(spec).dump_provenance(spec, path) - def dirname_for_package_name(self, pkg_name): + def dirname_for_package_name(self, pkg_name: str) -> str: return self.repo_for_pkg(pkg_name).dirname_for_package_name(pkg_name) - def filename_for_package_name(self, pkg_name): + def filename_for_package_name(self, pkg_name: str) -> str: return self.repo_for_pkg(pkg_name).filename_for_package_name(pkg_name) - def exists(self, pkg_name): + def exists(self, pkg_name: str) -> bool: """Whether package with the give name exists in the path's repos. Note that virtual packages do not "exist". """ return any(repo.exists(pkg_name) for repo in self.repos) - def _have_name(self, pkg_name): + def _have_name(self, pkg_name: str) -> bool: have_name = pkg_name is not None if have_name and not isinstance(pkg_name, str): - raise ValueError("is_virtual(): expected package name, got %s" % type(pkg_name)) + raise ValueError(f"is_virtual(): expected package name, got {type(pkg_name)}") return have_name - def is_virtual(self, pkg_name): + def is_virtual(self, pkg_name: str) -> bool: """Return True if the package with this name is virtual, False otherwise. This function use the provider index. If calling from a code block that @@ -894,7 +916,7 @@ def is_virtual(self, pkg_name): have_name = self._have_name(pkg_name) return have_name and pkg_name in self.provider_index - def is_virtual_safe(self, pkg_name): + def is_virtual_safe(self, pkg_name: str) -> bool: """Return True if the package with this name is virtual, False otherwise. This function doesn't use the provider index. @@ -915,18 +937,28 @@ class Repo: Each package repository must have a top-level configuration file called `repo.yaml`. - Currently, `repo.yaml` this must define: + Currently, `repo.yaml` must define: `namespace`: A Python namespace where the repository's packages should live. + `subdirectory`: + An optional subdirectory name where packages are placed """ - def __init__(self, root, cache=None): + def __init__( + self, + root: str, + *, + cache: "spack.caches.FileCacheType", + overrides: Optional[Dict[str, Any]] = None, + ) -> None: """Instantiate a package repository from a filesystem path. Args: root: the root directory of the repository + cache: file cache associated with this repository + overrides: dict mapping package name to class attribute overrides for that package """ # Root directory, containing _repo.yaml and package dirs # Allow roots to by spack-relative by starting with '$spack' @@ -939,20 +971,20 @@ def check(condition, msg): # Validate repository layout. self.config_file = os.path.join(self.root, repo_config_name) - check(os.path.isfile(self.config_file), "No %s found in '%s'" % (repo_config_name, root)) + check(os.path.isfile(self.config_file), f"No {repo_config_name} found in '{root}'") # Read configuration and validate namespace config = self._read_config() check( "namespace" in config, - "%s must define a namespace." % os.path.join(root, repo_config_name), + f"{os.path.join(root, repo_config_name)} must define a namespace.", ) self.namespace = config["namespace"] check( re.match(r"[a-zA-Z][a-zA-Z0-9_.]+", self.namespace), - ("Invalid namespace '%s' in repo '%s'. " % (self.namespace, self.root)) - + "Namespaces must be valid python identifiers separated by '.'", + f"Invalid namespace '{self.namespace}' in repo '{self.root}'. " + "Namespaces must be valid python identifiers separated by '.'", ) # Set up 'full_namespace' to include the super-namespace @@ -964,23 +996,26 @@ def check(condition, msg): packages_dir = config.get("subdirectory", packages_dir_name) self.packages_path = os.path.join(self.root, packages_dir) check( - os.path.isdir(self.packages_path), - "No directory '%s' found in '%s'" % (packages_dir, root), + os.path.isdir(self.packages_path), f"No directory '{packages_dir}' found in '{root}'" ) - # These are internal cache variables. - self._modules = {} - self._classes = {} - self._instances = {} + # Class attribute overrides by package name + self.overrides = overrides or {} + + # Optional reference to a RepoPath to influence module import from spack.pkg + self._finder: Optional[RepoPath] = None # Maps that goes from package name to corresponding file stat - self._fast_package_checker = None + self._fast_package_checker: Optional[FastPackageChecker] = None # Indexes for this repository, computed lazily - self._repo_index = None - self._cache = cache or spack.caches.MISC_CACHE + self._repo_index: Optional[RepoIndex] = None + self._cache = cache - def real_name(self, import_name): + def finder(self, value: RepoPath) -> None: + self._finder = value + + def real_name(self, import_name: str) -> Optional[str]: """Allow users to import Spack packages using Python identifiers. A python identifier might map to many different Spack package @@ -999,18 +1034,21 @@ def real_name(self, import_name): return import_name options = nm.possible_spack_module_names(import_name) - options.remove(import_name) + try: + options.remove(import_name) + except ValueError: + pass for name in options: if name in self: return name return None - def is_prefix(self, fullname): + def is_prefix(self, fullname: str) -> bool: """True if fullname is a prefix of this Repo's namespace.""" parts = fullname.split(".") return self._names[: len(parts)] == parts - def _read_config(self): + def _read_config(self) -> Dict[str, str]: """Check for a YAML config file in this db's root directory.""" try: with open(self.config_file) as reponame_file: @@ -1021,14 +1059,14 @@ def _read_config(self): or "repo" not in yaml_data or not isinstance(yaml_data["repo"], dict) ): - tty.die("Invalid %s in repository %s" % (repo_config_name, self.root)) + tty.die(f"Invalid {repo_config_name} in repository {self.root}") return yaml_data["repo"] except IOError: - tty.die("Error reading %s when opening %s" % (self.config_file, self.root)) + tty.die(f"Error reading {self.config_file} when opening {self.root}") - def get(self, spec): + def get(self, spec: "spack.spec.Spec") -> "spack.package_base.PackageBase": """Returns the package associated with the supplied spec.""" msg = "Repo.get can only be called on concrete specs" assert isinstance(spec, spack.spec.Spec) and spec.concrete, msg @@ -1049,16 +1087,13 @@ def get(self, spec): # pass these through as their error messages will be fine. raise except Exception as e: - tty.debug(e) - # Make sure other errors in constructors hit the error # handler by wrapping them - if spack.config.get("config:debug"): - sys.excepthook(*sys.exc_info()) - raise FailedConstructorError(spec.fullname, *sys.exc_info()) + tty.debug(e) + raise FailedConstructorError(spec.fullname, *sys.exc_info()) from e @autospec - def dump_provenance(self, spec, path): + def dump_provenance(self, spec: "spack.spec.Spec", path: str) -> None: """Dump provenance information for a spec to a particular path. This dumps the package file and any associated patch files. @@ -1066,7 +1101,7 @@ def dump_provenance(self, spec, path): """ if spec.namespace and spec.namespace != self.namespace: raise UnknownPackageError( - "Repository %s does not contain package %s." % (self.namespace, spec.fullname) + f"Repository {self.namespace} does not contain package {spec.fullname}." ) package_path = self.filename_for_package_name(spec.name) @@ -1083,17 +1118,13 @@ def dump_provenance(self, spec, path): if os.path.exists(patch.path): fs.install(patch.path, path) else: - tty.warn("Patch file did not exist: %s" % patch.path) + warnings.warn(f"Patch file did not exist: {patch.path}") # Install the package.py file itself. fs.install(self.filename_for_package_name(spec.name), path) - def purge(self): - """Clear entire package instance cache.""" - self._instances.clear() - @property - def index(self): + def index(self) -> RepoIndex: """Construct the index for this repo lazily.""" if self._repo_index is None: self._repo_index = RepoIndex(self._pkg_checker, self.namespace, cache=self._cache) @@ -1103,42 +1134,40 @@ def index(self): return self._repo_index @property - def provider_index(self): + def provider_index(self) -> spack.provider_index.ProviderIndex: """A provider index with names *specific* to this repo.""" return self.index["providers"] @property - def tag_index(self): + def tag_index(self) -> spack.tag.TagIndex: """Index of tags and which packages they're defined on.""" return self.index["tags"] @property - def patch_index(self): + def patch_index(self) -> spack.patch.PatchCache: """Index of patches and packages they're defined on.""" return self.index["patches"] @autospec - def providers_for(self, vpkg_spec): + def providers_for(self, vpkg_spec: "spack.spec.Spec") -> List["spack.spec.Spec"]: providers = self.provider_index.providers_for(vpkg_spec) if not providers: raise UnknownPackageError(vpkg_spec.fullname) return providers @autospec - def extensions_for(self, extendee_spec): - return [ - pkg_cls(spack.spec.Spec(pkg_cls.name)) - for pkg_cls in self.all_package_classes() - if pkg_cls(spack.spec.Spec(pkg_cls.name)).extends(extendee_spec) - ] - - def dirname_for_package_name(self, pkg_name): - """Get the directory name for a particular package. This is the - directory that contains its package.py file.""" + def extensions_for( + self, extendee_spec: "spack.spec.Spec" + ) -> List["spack.package_base.PackageBase"]: + result = [pkg_cls(spack.spec.Spec(pkg_cls.name)) for pkg_cls in self.all_package_classes()] + return [x for x in result if x.extends(extendee_spec)] + + def dirname_for_package_name(self, pkg_name: str) -> str: + """Given a package name, get the directory containing its package.py file.""" _, unqualified_name = self.partition_package_name(pkg_name) return os.path.join(self.packages_path, unqualified_name) - def filename_for_package_name(self, pkg_name): + def filename_for_package_name(self, pkg_name: str) -> str: """Get the filename for the module we should load for a particular package. Packages for a Repo live in ``$root//package.py`` @@ -1151,23 +1180,23 @@ def filename_for_package_name(self, pkg_name): return os.path.join(pkg_dir, package_file_name) @property - def _pkg_checker(self): + def _pkg_checker(self) -> FastPackageChecker: if self._fast_package_checker is None: self._fast_package_checker = FastPackageChecker(self.packages_path) return self._fast_package_checker - def all_package_names(self, include_virtuals=False): + def all_package_names(self, include_virtuals: bool = False) -> List[str]: """Returns a sorted list of all package names in the Repo.""" names = sorted(self._pkg_checker.keys()) if include_virtuals: return names return [x for x in names if not self.is_virtual(x)] - def package_path(self, name): + def package_path(self, name: str) -> str: """Get path to package.py file for this repo.""" return os.path.join(self.packages_path, name, package_file_name) - def all_package_paths(self): + def all_package_paths(self) -> Generator[str, None, None]: for name in self.all_package_names(): yield self.package_path(name) @@ -1176,7 +1205,7 @@ def packages_with_tags(self, *tags: str) -> Set[str]: v.intersection_update(*(self.tag_index[tag.lower()] for tag in tags)) return v - def all_package_classes(self): + def all_package_classes(self) -> Generator[Type["spack.package_base.PackageBase"], None, None]: """Iterator over all package *classes* in the repository. Use this with care, because loading packages is slow. @@ -1184,7 +1213,7 @@ def all_package_classes(self): for name in self.all_package_names(): yield self.get_pkg_class(name) - def exists(self, pkg_name): + def exists(self, pkg_name: str) -> bool: """Whether a package with the supplied name exists.""" if pkg_name is None: return False @@ -1201,28 +1230,22 @@ def last_mtime(self): """Time a package file in this repo was last updated.""" return self._pkg_checker.last_mtime() - def is_virtual(self, pkg_name): + def is_virtual(self, pkg_name: str) -> bool: """Return True if the package with this name is virtual, False otherwise. This function use the provider index. If calling from a code block that is used to construct the provider index use the ``is_virtual_safe`` function. - - Args: - pkg_name (str): name of the package we want to check """ return pkg_name in self.provider_index - def is_virtual_safe(self, pkg_name): + def is_virtual_safe(self, pkg_name: str) -> bool: """Return True if the package with this name is virtual, False otherwise. This function doesn't use the provider index. - - Args: - pkg_name (str): name of the package we want to check """ return not self.exists(pkg_name) or self.get_pkg_class(pkg_name).virtual - def get_pkg_class(self, pkg_name): + def get_pkg_class(self, pkg_name: str) -> Type["spack.package_base.PackageBase"]: """Get the class for the package out of its module. First loads (or fetches from cache) a module for the @@ -1234,7 +1257,8 @@ def get_pkg_class(self, pkg_name): fullname = f"{self.full_namespace}.{pkg_name}" try: - module = importlib.import_module(fullname) + with REPOS_FINDER.switch_repo(self._finder or self): + module = importlib.import_module(fullname) except ImportError: raise UnknownPackageError(fullname) except Exception as e: @@ -1245,26 +1269,21 @@ def get_pkg_class(self, pkg_name): if not inspect.isclass(cls): tty.die(f"{pkg_name}.{class_name} is not a class") - new_cfg_settings = ( - spack.config.get("packages").get(pkg_name, {}).get("package_attributes", {}) - ) - + # Clear any prior changes to class attributes in case the class was loaded from the + # same repo, but with different overrides overridden_attrs = getattr(cls, "overridden_attrs", {}) attrs_exclusively_from_config = getattr(cls, "attrs_exclusively_from_config", []) - # Clear any prior changes to class attributes in case the config has - # since changed for key, val in overridden_attrs.items(): setattr(cls, key, val) for key in attrs_exclusively_from_config: delattr(cls, key) - # Keep track of every class attribute that is overridden by the config: - # if the config changes between calls to this method, we make sure to - # restore the original config values (in case the new config no longer - # sets attributes that it used to) + # Keep track of every class attribute that is overridden: if different overrides + # dictionaries are used on the same physical repo, we make sure to restore the original + # config values new_overridden_attrs = {} new_attrs_exclusively_from_config = set() - for key, val in new_cfg_settings.items(): + for key, val in self.overrides.get(pkg_name, {}).items(): if hasattr(cls, key): new_overridden_attrs[key] = getattr(cls, key) else: @@ -1291,13 +1310,13 @@ def partition_package_name(self, pkg_name: str) -> Tuple[str, str]: return namespace, pkg_name - def __str__(self): - return "[Repo '%s' at '%s']" % (self.namespace, self.root) + def __str__(self) -> str: + return f"Repo '{self.namespace}' at {self.root}" - def __repr__(self): + def __repr__(self) -> str: return self.__str__() - def __contains__(self, pkg_name): + def __contains__(self, pkg_name: str) -> bool: return self.exists(pkg_name) @@ -1373,12 +1392,17 @@ def create_repo(root, namespace=None, subdir=packages_dir_name): return full_path, namespace +def from_path(path: str) -> "Repo": + """Returns a repository from the path passed as input. Injects the global misc cache.""" + return Repo(path, cache=spack.caches.MISC_CACHE) + + def create_or_construct(path, namespace=None): """Create a repository, or just return a Repo if it already exists.""" if not os.path.exists(path): fs.mkdirp(path) create_repo(path, namespace) - return Repo(path) + return from_path(path) def _path(configuration=None): @@ -1387,7 +1411,9 @@ def _path(configuration=None): return create(configuration=configuration) -def create(configuration): +def create( + configuration: Union["spack.config.Configuration", llnl.util.lang.Singleton] +) -> RepoPath: """Create a RepoPath from a configuration object. Args: @@ -1396,7 +1422,17 @@ def create(configuration): repo_dirs = configuration.get("repos") if not repo_dirs: raise NoRepoConfiguredError("Spack configuration contains no package repositories.") - return RepoPath(*repo_dirs) + + overrides = {} + for pkg_name, data in configuration.get("packages").items(): + if pkg_name == "all": + continue + value = data.get("package_attributes", {}) + if not value: + continue + overrides[pkg_name] = value + + return RepoPath(*repo_dirs, cache=spack.caches.MISC_CACHE, overrides=overrides) #: Singleton repo path instance @@ -1413,20 +1449,20 @@ def all_package_names(include_virtuals=False): @contextlib.contextmanager -def use_repositories(*paths_and_repos, **kwargs): +def use_repositories( + *paths_and_repos: Union[str, Repo], override: bool = True +) -> Generator[RepoPath, None, None]: """Use the repositories passed as arguments within the context manager. Args: *paths_and_repos: paths to the repositories to be used, or already constructed Repo objects - override (bool): if True use only the repositories passed as input, + override: if True use only the repositories passed as input, if False add them to the top of the list of current repositories. Returns: Corresponding RepoPath object """ global PATH - # TODO (Python 2.7): remove this kwargs on deprecation of Python 2.7 support - override = kwargs.get("override", True) paths = [getattr(x, "root", x) for x in paths_and_repos] scope_name = "use-repo-{}".format(uuid.uuid4()) repos_key = "repos:" if override else "repos" @@ -1435,7 +1471,8 @@ def use_repositories(*paths_and_repos, **kwargs): ) PATH, saved = create(configuration=spack.config.CONFIG), PATH try: - yield PATH + with REPOS_FINDER.switch_repo(PATH): # type: ignore + yield PATH finally: spack.config.CONFIG.remove_scope(scope_name=scope_name) PATH = saved @@ -1535,10 +1572,9 @@ class UnknownNamespaceError(UnknownEntityError): """Raised when we encounter an unknown namespace""" def __init__(self, namespace, name=None): - msg, long_msg = "Unknown namespace: {}".format(namespace), None + msg, long_msg = f"Unknown namespace: {namespace}", None if name == "yaml": - long_msg = "Did you mean to specify a filename with './{}.{}'?" - long_msg = long_msg.format(namespace, name) + long_msg = f"Did you mean to specify a filename with './{namespace}.{name}'?" super().__init__(msg, long_msg) diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py index be2b34b8924311..78431d60d9765c 100644 --- a/lib/spack/spack/solver/asp.py +++ b/lib/spack/spack/solver/asp.py @@ -23,6 +23,7 @@ import llnl.util.lang import llnl.util.tty as tty +from llnl.util.lang import elide_list import spack import spack.binary_distribution @@ -116,6 +117,8 @@ class Provenance(enum.IntEnum): PACKAGE_PY = enum.auto() # An installed spec INSTALLED = enum.auto() + # lower provenance for installed git refs so concretizer prefers StandardVersion installs + INSTALLED_GIT_VERSION = enum.auto() # A runtime injected from another package (e.g. a compiler) RUNTIME = enum.auto() @@ -619,8 +622,9 @@ def _external_config_with_implicit_externals(configuration): class ErrorHandler: - def __init__(self, model): + def __init__(self, model, input_specs: List[spack.spec.Spec]): self.model = model + self.input_specs = input_specs self.full_model = None def multiple_values_error(self, attribute, pkg): @@ -707,12 +711,13 @@ def handle_error(self, msg, *args): return msg def message(self, errors) -> str: - messages = [ - f" {idx+1: 2}. {self.handle_error(msg, *args)}" + input_specs = ", ".join(elide_list([f"`{s}`" for s in self.input_specs], 5)) + header = f"failed to concretize {input_specs} for the following reasons:" + messages = ( + f" {idx+1:2}. {self.handle_error(msg, *args)}" for idx, (_, msg, args) in enumerate(errors) - ] - header = "concretization failed for the following reasons:\n" - return "\n".join([header] + messages) + ) + return "\n".join((header, *messages)) def raise_if_errors(self): initial_error_args = extract_args(self.model, "error") @@ -748,7 +753,7 @@ def on_model(model): f"unexpected error during concretization [{str(e)}]. " f"Please report a bug at https://github.com/spack/spack/issues" ) - raise spack.error.SpackError(msg) + raise spack.error.SpackError(msg) from e raise UnsatisfiableSpecError(msg) @@ -844,8 +849,6 @@ def solve(self, setup, specs, reuse=None, output=None, control=None, allow_depre parent_dir = os.path.dirname(__file__) self.control.load(os.path.join(parent_dir, "concretize.lp")) self.control.load(os.path.join(parent_dir, "heuristic.lp")) - if spack.config.CONFIG.get("concretizer:duplicates:strategy", "none") != "none": - self.control.load(os.path.join(parent_dir, "heuristic_separate.lp")) self.control.load(os.path.join(parent_dir, "display.lp")) if not setup.concretize_everything: self.control.load(os.path.join(parent_dir, "when_possible.lp")) @@ -894,7 +897,7 @@ def on_model(model): min_cost, best_model = min(models) # first check for errors - error_handler = ErrorHandler(best_model) + error_handler = ErrorHandler(best_model, specs) error_handler.raise_if_errors() # build specs from spec attributes in the model @@ -1880,11 +1883,8 @@ def _spec_clauses( ) clauses.append(f.variant_value(spec.name, vname, value)) - if variant.propagate: - clauses.append( - f.variant_propagation_candidate(spec.name, vname, value, spec.name) - ) + clauses.append(f.propagate(spec.name, fn.variant_value(vname, value))) # Tell the concretizer that this is a possible value for the # variant, to account for things like int/str values where we @@ -1917,9 +1917,12 @@ def _spec_clauses( for flag_type, flags in spec.compiler_flags.items(): for flag in flags: clauses.append(f.node_flag(spec.name, flag_type, flag)) - clauses.append(f.node_flag_source(spec.name, flag_type, spec.name)) if not spec.concrete and flag.propagate is True: - clauses.append(f.node_flag_propagate(spec.name, flag_type)) + clauses.append( + f.propagate( + spec.name, fn.node_flag(flag_type, flag), fn.edge_types("link", "run") + ) + ) # dependencies if spec.concrete: @@ -2072,7 +2075,7 @@ def define_ad_hoc_versions_from_specs( # best possible, so they're guaranteed to be used preferentially. version = s.versions.concrete - if version is None or any(v == version for v in self.possible_versions[s.name]): + if version is None or (any((v == version) for v in self.possible_versions[s.name])): continue if require_checksum and not _is_checksummed_git_version(version): @@ -2386,9 +2389,16 @@ def concrete_specs(self): # - Add OS to possible OS's for dep in spec.traverse(): self.possible_versions[dep.name].add(dep.version) - self.declared_versions[dep.name].append( - DeclaredVersion(version=dep.version, idx=0, origin=Provenance.INSTALLED) - ) + if isinstance(dep.version, vn.GitVersion): + self.declared_versions[dep.name].append( + DeclaredVersion( + version=dep.version, idx=0, origin=Provenance.INSTALLED_GIT_VERSION + ) + ) + else: + self.declared_versions[dep.name].append( + DeclaredVersion(version=dep.version, idx=0, origin=Provenance.INSTALLED) + ) self.possible_oses.add(dep.os) def define_concrete_input_specs(self, specs, possible): @@ -2737,9 +2747,7 @@ class _Head: node_compiler = fn.attr("node_compiler_set") node_compiler_version = fn.attr("node_compiler_version_set") node_flag = fn.attr("node_flag_set") - node_flag_source = fn.attr("node_flag_source") - node_flag_propagate = fn.attr("node_flag_propagate") - variant_propagation_candidate = fn.attr("variant_propagation_candidate") + propagate = fn.attr("propagate") class _Body: @@ -2754,9 +2762,7 @@ class _Body: node_compiler = fn.attr("node_compiler") node_compiler_version = fn.attr("node_compiler_version") node_flag = fn.attr("node_flag") - node_flag_source = fn.attr("node_flag_source") - node_flag_propagate = fn.attr("node_flag_propagate") - variant_propagation_candidate = fn.attr("variant_propagation_candidate") + propagate = fn.attr("propagate") class ProblemInstanceBuilder: @@ -3230,6 +3236,39 @@ def requires(self, impose: str, *, when: str): self.runtime_conditions.add((imposed_spec, when_spec)) self.reset() + def propagate(self, constraint_str: str, *, when: str): + msg = "the 'propagate' method can be called only with pkg('*')" + assert self.current_package == "*", msg + + when_spec = spack.spec.Spec(when) + assert when_spec.name is None, "only anonymous when specs are accepted" + + placeholder = "XXX" + node_variable = "node(ID, Package)" + when_spec.name = placeholder + + body_clauses = self._setup.spec_clauses(when_spec, body=True) + body_str = ( + f" {f',{os.linesep} '.join(str(x) for x in body_clauses)},\n" + f" not external({node_variable}),\n" + f" not runtime(Package)" + ).replace(f'"{placeholder}"', f"{node_variable}") + + constraint_spec = spack.spec.Spec(constraint_str) + assert constraint_spec.name is None, "only anonymous constraint specs are accepted" + + constraint_spec.name = placeholder + constraint_clauses = self._setup.spec_clauses(constraint_spec, body=False) + for clause in constraint_clauses: + if clause.args[0] == "node_compiler_version_satisfies": + self._setup.compiler_version_constraints.add(constraint_spec.compiler) + args = f'"{constraint_spec.compiler.name}", "{constraint_spec.compiler.versions}"' + head_str = f"propagate({node_variable}, node_compiler_version_satisfies({args}))" + rule = f"{head_str} :-\n{body_str}.\n\n" + self.rules.append(rule) + + self.reset() + def consume_facts(self): """Consume the facts collected by this object, and emits rules and facts for the runtimes. @@ -3309,6 +3348,8 @@ def hash(self, node, h): def node(self, node): if node not in self._specs: self._specs[node] = spack.spec.Spec(node.pkg) + for flag_type in spack.spec.FlagMap.valid_compiler_flags(): + self._specs[node].compiler_flags[flag_type] = [] def _arch(self, node): arch = self._specs[node].architecture @@ -3361,9 +3402,6 @@ def node_flag(self, node, flag_type, flag): def node_flag_source(self, node, flag_type, source): self._flag_sources[(node, flag_type)].add(source) - def no_flags(self, node, flag_type): - self._specs[node].compiler_flags[flag_type] = [] - def external_spec_selected(self, node, idx): """This means that the external spec and index idx has been selected for this package.""" packages_yaml = _external_config_with_implicit_externals(spack.config.CONFIG) @@ -3456,12 +3494,10 @@ def reorder_flags(self): ordered_compiler_flags = list(llnl.util.lang.dedupe(from_compiler + from_sources)) compiler_flags = spec.compiler_flags.get(flag_type, []) - msg = "compiler flags: %s does not equal %s for %s" % ( - set(compiler_flags), - set(ordered_compiler_flags), - spec.name, + msg = ( + f"{set(compiler_flags)} does not equal {set(ordered_compiler_flags)}" + f"for {spec.name}" ) - assert set(compiler_flags) == set(ordered_compiler_flags), msg spec.compiler_flags.update({flag_type: ordered_compiler_flags}) @@ -3531,9 +3567,8 @@ def build_specs(self, function_tuples): # do not bother calling actions on it except for node_flag_source, # since node_flag_source is tracking information not in the spec itself spec = self._specs.get(args[0]) - if spec and spec.concrete: - if name != "node_flag_source": - continue + if spec and spec.concrete and name != "node_flag_source": + continue action(*args) diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp index 20bcd46ad6f938..ccbe6ed29b0b63 100644 --- a/lib/spack/spack/solver/concretize.lp +++ b/lib/spack/spack/solver/concretize.lp @@ -29,7 +29,6 @@ :- attr("variant_value", PackageNode, _, _), not attr("node", PackageNode). :- attr("node_flag_compiler_default", PackageNode), not attr("node", PackageNode). :- attr("node_flag", PackageNode, _, _), not attr("node", PackageNode). -:- attr("no_flags", PackageNode, _), not attr("node", PackageNode). :- attr("external_spec_selected", PackageNode, _), not attr("node", PackageNode). :- attr("depends_on", ParentNode, _, _), not attr("node", ParentNode). :- attr("depends_on", _, ChildNode, _), not attr("node", ChildNode). @@ -256,6 +255,7 @@ possible_version_weight(node(ID, Package), Weight) :- attr("version", node(ID, Package), Version), version_weight(node(ID, Package), Weight), not pkg_fact(Package, version_declared(Version, Weight, "installed")), + not pkg_fact(Package, version_declared(Version, Weight, "installed_git_version")), not build(node(ID, Package)), internal_error("Build version weight used for reused package"). @@ -611,25 +611,18 @@ do_not_impose(EffectID, node(X, Package)) % Virtual dependency weights %----------------------------------------------------------------------------- -% A provider may have different possible weights depending on whether it's an external -% or not, or on preferences expressed in packages.yaml etc. This rule ensures that +% A provider has different possible weights depending on its preference. This rule ensures that % we select the weight, among the possible ones, that minimizes the overall objective function. 1 { provider_weight(DependencyNode, VirtualNode, Weight) : possible_provider_weight(DependencyNode, VirtualNode, Weight, _) } 1 :- provider(DependencyNode, VirtualNode), internal_error("Package provider weights must be unique"). -% A provider that is an external can use a weight of 0 -possible_provider_weight(DependencyNode, VirtualNode, 0, "external") - :- provider(DependencyNode, VirtualNode), - external(DependencyNode). - -% A provider mentioned in the default configuration can use a weight -% according to its priority in the list of providers +% Any configured provider has a weight based on index in the preference list possible_provider_weight(node(ProviderID, Provider), node(VirtualID, Virtual), Weight, "default") :- provider(node(ProviderID, Provider), node(VirtualID, Virtual)), default_provider_preference(Virtual, Provider, Weight). -% Any provider can use 100 as a weight, which is very high and discourage its use +% Any non-configured provider has a default weight of 100 possible_provider_weight(node(ProviderID, Provider), VirtualNode, 100, "fallback") :- provider(node(ProviderID, Provider), VirtualNode). @@ -811,37 +804,6 @@ node_has_variant(node(ID, Package), Variant) :- pkg_fact(Package, variant(Variant)), attr("node", node(ID, Package)). -% Variant propagation is forwarded to dependencies -attr("variant_propagation_candidate", PackageNode, Variant, Value, Source) :- - attr("node", PackageNode), - depends_on(ParentNode, PackageNode), - attr("variant_value", node(_, Source), Variant, Value), - attr("variant_propagation_candidate", ParentNode, Variant, _, Source). - -% If the node is a candidate, and it has the variant and value, -% then those variant and value should be propagated -attr("variant_propagate", node(ID, Package), Variant, Value, Source) :- - attr("variant_propagation_candidate", node(ID, Package), Variant, Value, Source), - node_has_variant(node(ID, Package), Variant), - pkg_fact(Package, variant_possible_value(Variant, Value)), - not attr("variant_set", node(ID, Package), Variant). - -% Propagate the value, if there is the corresponding attribute -attr("variant_value", PackageNode, Variant, Value) :- attr("variant_propagate", PackageNode, Variant, Value, _). - -% If a variant is propagated, we cannot have extraneous values (this is for multi valued variants) -variant_is_propagated(PackageNode, Variant) :- attr("variant_propagate", PackageNode, Variant, _, _). -:- variant_is_propagated(PackageNode, Variant), - attr("variant_value", PackageNode, Variant, Value), - not attr("variant_propagate", PackageNode, Variant, Value, _). - -% Cannot receive different values from different sources on the same variant -error(100, "{0} and {1} cannot both propagate variant '{2}' to package {3} with values '{4}' and '{5}'", Source1, Source2, Variant, Package, Value1, Value2) :- - attr("variant_propagate", node(X, Package), Variant, Value1, Source1), - attr("variant_propagate", node(X, Package), Variant, Value2, Source2), - node_has_variant(node(X, Package), Variant), - Value1 < Value2, Source1 < Source2. - % a variant cannot be set if it is not a variant on the package error(100, "Cannot set variant '{0}' for package '{1}' because the variant condition cannot be satisfied for the given spec", Variant, Package) :- attr("variant_set", node(X, Package), Variant), @@ -919,7 +881,7 @@ variant_not_default(node(ID, Package), Variant, Value) % variants set explicitly on the CLI don't count as non-default not attr("variant_set", node(ID, Package), Variant, Value), % variant values forced by propagation don't count as non-default - not attr("variant_propagate", node(ID, Package), Variant, Value, _), + not propagate(node(ID, Package), variant_value(Variant, Value)), % variants set on externals that we could use don't count as non-default % this makes spack prefer to use an external over rebuilding with the % default configuration @@ -932,7 +894,7 @@ variant_default_not_used(node(ID, Package), Variant, Value) :- variant_default_value(Package, Variant, Value), node_has_variant(node(ID, Package), Variant), not attr("variant_value", node(ID, Package), Variant, Value), - not attr("variant_propagate", node(ID, Package), Variant, _, _), + not propagate(node(ID, Package), variant_value(Variant, _)), attr("node", node(ID, Package)). % The variant is set in an external spec @@ -989,6 +951,101 @@ pkg_fact(Package, variant_single_value("dev_path")) #defined variant_default_value/3. #defined variant_default_value_from_packages_yaml/3. +%----------------------------------------------------------------------------- +% Propagation semantics +%----------------------------------------------------------------------------- + +% Propagation roots have a corresponding attr("propagate", ...) +propagate(RootNode, PropagatedAttribute) :- attr("propagate", RootNode, PropagatedAttribute). +propagate(RootNode, PropagatedAttribute, EdgeTypes) :- attr("propagate", RootNode, PropagatedAttribute, EdgeTypes). + + +% Propagate an attribute along edges to child nodes +propagate(ChildNode, PropagatedAttribute) :- + propagate(ParentNode, PropagatedAttribute), + depends_on(ParentNode, ChildNode). + +propagate(ChildNode, PropagatedAttribute, edge_types(DepType1, DepType2)) :- + propagate(ParentNode, PropagatedAttribute, edge_types(DepType1, DepType2)), + depends_on(ParentNode, ChildNode), + 1 { attr("depends_on", ParentNode, ChildNode, DepType1); attr("depends_on", ParentNode, ChildNode, DepType2) }. + +%----------------------------------------------------------------------------- +% Activation of propagated values +%----------------------------------------------------------------------------- + +%---- +% Variants +%---- + +% If a variant is propagated, and can be accepted, set its value +attr("variant_value", node(ID, Package), Variant, Value) :- + propagate(node(ID, Package), variant_value(Variant, Value)), + node_has_variant(node(ID, Package), Variant), + pkg_fact(Package, variant_possible_value(Variant, Value)), + not attr("variant_set", node(ID, Package), Variant). + +% If a variant is propagated, we cannot have extraneous values +variant_is_propagated(PackageNode, Variant) :- + attr("variant_value", PackageNode, Variant, Value), + propagate(PackageNode, variant_value(Variant, Value)), + not attr("variant_set", PackageNode, Variant). + +:- variant_is_propagated(PackageNode, Variant), + attr("variant_value", PackageNode, Variant, Value), + not propagate(PackageNode, variant_value(Variant, Value)). + +%---- +% Flags +%---- + +% A propagated flag implies: +% 1. The same flag type is not set on this node +% 2. This node has the same compiler as the propagation source + +propagated_flag(node(PackageID, Package), node_flag(FlagType, Flag), SourceNode) :- + propagate(node(PackageID, Package), node_flag(FlagType, Flag), _), + not attr("node_flag_set", node(PackageID, Package), FlagType, _), + % Same compiler as propagation source + node_compiler(node(PackageID, Package), CompilerID), + node_compiler(SourceNode, CompilerID), + attr("propagate", SourceNode, node_flag(FlagType, Flag), _), + node(PackageID, Package) != SourceNode, + not runtime(Package). + +attr("node_flag", PackageNode, FlagType, Flag) :- propagated_flag(PackageNode, node_flag(FlagType, Flag), _). +attr("node_flag_source", PackageNode, FlagType, SourceNode) :- propagated_flag(PackageNode, node_flag(FlagType, _), SourceNode). + +% Cannot propagate the same flag from two distinct sources +error(100, "{0} and {1} cannot both propagate compiler flags '{2}' to {3}", Source1, Source2, Package, FlagType) :- + propagated_flag(node(ID, Package), node_flag(FlagType, _), node(_, Source1)), + propagated_flag(node(ID, Package), node_flag(FlagType, _), node(_, Source2)), + Source1 < Source2. + +%---- +% Compiler constraints +%---- + +attr("node_compiler_version_satisfies", node(ID, Package), Compiler, Version) :- + propagate(node(ID, Package), node_compiler_version_satisfies(Compiler, Version)), + node_compiler(node(ID, Package), CompilerID), + compiler_name(CompilerID, Compiler), + not runtime(Package), + not external(Package). + +%----------------------------------------------------------------------------- +% Runtimes +%----------------------------------------------------------------------------- + +% Check whether the DAG has any built package +has_built_packages() :- build(X), not external(X). + +% If we build packages, the runtime nodes must use an available compiler +1 { node_compiler(PackageNode, CompilerID) : build(PackageNode), not external(PackageNode) } :- + has_built_packages(), + runtime(RuntimePackage), + node_compiler(node(_, RuntimePackage), CompilerID). + %----------------------------------------------------------------------------- % Platform semantics %----------------------------------------------------------------------------- @@ -1090,10 +1147,18 @@ attr("node_target", PackageNode, Target) :- attr("node", PackageNode), attr("node_target_set", PackageNode, Target). % each node has the weight of its assigned target -node_target_weight(node(ID, Package), Weight) - :- attr("node", node(ID, Package)), - attr("node_target", node(ID, Package), Target), - target_weight(Target, Weight). +target_weight(Target, 0) + :- attr("node", PackageNode), + attr("node_target", PackageNode, Target), + attr("node_target_set", PackageNode, Target). + +node_target_weight(PackageNode, MinWeight) + :- attr("node", PackageNode), + attr("node_target", PackageNode, Target), + target(Target), + MinWeight = #min { Weight : target_weight(Target, Weight) }. + +:- attr("node_target", PackageNode, Target), not node_target_weight(PackageNode, _). % compatibility rules for targets among nodes node_target_match(ParentNode, DependencyNode) @@ -1155,12 +1220,12 @@ error(10, "No valid compiler for {0} satisfies '%{1}'", Package, Compiler) % If the compiler of a node must satisfy a constraint, then its version % must be chosen among the ones that satisfy said constraint -error(100, "No valid version for '{0}' compiler '{1}' satisfies '@{2}'", Package, Compiler, Constraint) +error(100, "Package {0} cannot satisfy '%{1}@{2}'", Package, Compiler, Constraint) :- attr("node", node(X, Package)), attr("node_compiler_version_satisfies", node(X, Package), Compiler, Constraint), - not compiler_version_satisfies(Compiler, Constraint, _). + not compiler_version_satisfies(Compiler, Constraint, _). -error(100, "No valid version for '{0}' compiler '{1}' satisfies '@{2}'", Package, Compiler, Constraint) +error(100, "Package {0} cannot satisfy '%{1}@{2}'", Package, Compiler, Constraint) :- attr("node", node(X, Package)), attr("node_compiler_version_satisfies", node(X, Package), Compiler, Constraint), not compiler_version_satisfies(Compiler, Constraint, ID), @@ -1241,45 +1306,9 @@ error(100, "Compiler {1}@{2} requested for {0} cannot be found. Set install_miss % Compiler flags %----------------------------------------------------------------------------- -% propagate flags when compiler match -can_inherit_flags(PackageNode, DependencyNode, FlagType) - :- same_compiler(PackageNode, DependencyNode), - not attr("node_flag_set", DependencyNode, FlagType, _), - flag_type(FlagType). - -same_compiler(PackageNode, DependencyNode) - :- depends_on(PackageNode, DependencyNode), - node_compiler(PackageNode, CompilerID), - node_compiler(DependencyNode, CompilerID), - compiler_id(CompilerID). - -node_flag_inherited(DependencyNode, FlagType, Flag) - :- attr("node_flag_set", PackageNode, FlagType, Flag), - can_inherit_flags(PackageNode, DependencyNode, FlagType), - attr("node_flag_propagate", PackageNode, FlagType). - -% Ensure propagation -:- node_flag_inherited(PackageNode, FlagType, Flag), - can_inherit_flags(PackageNode, DependencyNode, FlagType), - attr("node_flag_propagate", PackageNode, FlagType). - -error(100, "{0} and {1} cannot both propagate compiler flags '{2}' to {3}", Source1, Source2, Package, FlagType) :- - depends_on(Source1, Package), - depends_on(Source2, Package), - attr("node_flag_propagate", Source1, FlagType), - attr("node_flag_propagate", Source2, FlagType), - can_inherit_flags(Source1, Package, FlagType), - can_inherit_flags(Source2, Package, FlagType), - Source1 < Source2. - % remember where flags came from -attr("node_flag_source", PackageNode, FlagType, PackageNode) - :- attr("node_flag_set", PackageNode, FlagType, _). - -attr("node_flag_source", DependencyNode, FlagType, Q) - :- attr("node_flag_source", PackageNode, FlagType, Q), - node_flag_inherited(DependencyNode, FlagType, _), - attr("node_flag_propagate", PackageNode, FlagType). +attr("node_flag_source", PackageNode, FlagType, PackageNode) :- attr("node_flag_set", PackageNode, FlagType, _). +attr("node_flag_source", PackageNode, FlagType, PackageNode) :- attr("node_flag", PackageNode, FlagType, _), attr("hash", PackageNode, _). % compiler flags from compilers.yaml are put on nodes if compiler matches attr("node_flag", PackageNode, FlagType, Flag) @@ -1299,15 +1328,8 @@ attr("node_flag_compiler_default", PackageNode) compiler_name(CompilerID, CompilerName), compiler_version(CompilerID, Version). -% if a flag is set to something or inherited, it's included +% Flag set to something attr("node_flag", PackageNode, FlagType, Flag) :- attr("node_flag_set", PackageNode, FlagType, Flag). -attr("node_flag", PackageNode, FlagType, Flag) :- node_flag_inherited(PackageNode, FlagType, Flag). - -% if no node flags are set for a type, there are no flags. -attr("no_flags", PackageNode, FlagType) - :- not attr("node_flag", PackageNode, FlagType, _), - attr("node", PackageNode), - flag_type(FlagType). #defined compiler_flag/3. @@ -1496,7 +1518,7 @@ opt_criterion(45, "preferred providers (non-roots)"). }. % Try to minimize the number of compiler mismatches in the DAG. -opt_criterion(40, "compiler mismatches that are not from CLI"). +opt_criterion(40, "compiler mismatches that are not required"). #minimize{ 0@240: #true }. #minimize{ 0@40: #true }. #minimize{ @@ -1506,7 +1528,7 @@ opt_criterion(40, "compiler mismatches that are not from CLI"). not runtime(Dependency) }. -opt_criterion(39, "compiler mismatches that are not from CLI"). +opt_criterion(39, "compiler mismatches that are required"). #minimize{ 0@239: #true }. #minimize{ 0@39: #true }. #minimize{ diff --git a/lib/spack/spack/solver/heuristic.lp b/lib/spack/spack/solver/heuristic.lp index 71ed64b3f88690..a5d6767ff2b1b4 100644 --- a/lib/spack/spack/solver/heuristic.lp +++ b/lib/spack/spack/solver/heuristic.lp @@ -4,21 +4,35 @@ % SPDX-License-Identifier: (Apache-2.0 OR MIT) %============================================================================= -% Heuristic to speed-up solves (node with ID 0) +% Heuristic to speed-up solves %============================================================================= +% No duplicates by default (most of them will be true) +#heuristic attr("node", node(PackageID, Package)). [100, init] +#heuristic attr("node", node(PackageID, Package)). [ 2, factor] +#heuristic attr("virtual_node", node(VirtualID, Virtual)). [100, init] +#heuristic attr("node", node(1..X-1, Package)) : max_dupes(Package, X), not virtual(Package), X > 1. [-1, sign] +#heuristic attr("virtual_node", node(1..X-1, Package)) : max_dupes(Package, X), virtual(Package) , X > 1. [-1, sign] -%----------------- -% Domain heuristic -%----------------- +% Pick preferred version +#heuristic attr("version", node(PackageID, Package), Version) : pkg_fact(Package, version_declared(Version, Weight)), attr("node", node(PackageID, Package)). [40, init] +#heuristic version_weight(node(PackageID, Package), 0) : pkg_fact(Package, version_declared(Version, 0 )), attr("node", node(PackageID, Package)). [ 1, sign] +#heuristic attr("version", node(PackageID, Package), Version) : pkg_fact(Package, version_declared(Version, 0 )), attr("node", node(PackageID, Package)). [ 1, sign] +#heuristic attr("version", node(PackageID, Package), Version) : pkg_fact(Package, version_declared(Version, Weight)), attr("node", node(PackageID, Package)), Weight > 0. [-1, sign] -% Root node -#heuristic attr("version", node(0, Package), Version) : pkg_fact(Package, version_declared(Version, 0)), attr("root", node(0, Package)). [35, true] -#heuristic version_weight(node(0, Package), 0) : pkg_fact(Package, version_declared(Version, 0)), attr("root", node(0, Package)). [35, true] -#heuristic attr("variant_value", node(0, Package), Variant, Value) : variant_default_value(Package, Variant, Value), attr("root", node(0, Package)). [35, true] -#heuristic attr("node_target", node(0, Package), Target) : target_weight(Target, 0), attr("root", node(0, Package)). [35, true] -#heuristic node_target_weight(node(0, Package), 0) : attr("root", node(0, Package)). [35, true] -#heuristic node_compiler(node(0, Package), CompilerID) : compiler_weight(ID, 0), compiler_id(ID), attr("root", node(0, Package)). [35, true] +% Use default variants +#heuristic attr("variant_value", node(PackageID, Package), Variant, Value) : variant_default_value(Package, Variant, Value), attr("node", node(PackageID, Package)). [40, true] +#heuristic attr("variant_value", node(PackageID, Package), Variant, Value) : not variant_default_value(Package, Variant, Value), attr("node", node(PackageID, Package)). [40, false] -% Providers -#heuristic attr("node", node(0, Package)) : default_provider_preference(Virtual, Package, 0), possible_in_link_run(Package). [30, true] +% Use default operating system and platform +#heuristic attr("node_os", node(PackageID, Package), OS) : os(OS, 0), attr("root", node(PackageID, Package)). [40, true] +#heuristic attr("node_platform", node(PackageID, Package), Platform) : allowed_platform(Platform), attr("root", node(PackageID, Package)). [40, true] + +% Use default targets +#heuristic attr("node_target", node(PackageID, Package), Target) : target_weight(Target, Weight), attr("node", node(PackageID, Package)). [30, init] +#heuristic attr("node_target", node(PackageID, Package), Target) : target_weight(Target, Weight), attr("node", node(PackageID, Package)). [ 2, factor] +#heuristic attr("node_target", node(PackageID, Package), Target) : target_weight(Target, 0), attr("node", node(PackageID, Package)). [ 1, sign] +#heuristic attr("node_target", node(PackageID, Package), Target) : target_weight(Target, Weight), attr("node", node(PackageID, Package)), Weight > 0. [-1, sign] + +% Use the default compilers +#heuristic node_compiler(node(PackageID, Package), ID) : compiler_weight(ID, 0), compiler_id(ID), attr("node", node(PackageID, Package)). [30, init] diff --git a/lib/spack/spack/solver/heuristic_separate.lp b/lib/spack/spack/solver/heuristic_separate.lp deleted file mode 100644 index 2b499d07984568..00000000000000 --- a/lib/spack/spack/solver/heuristic_separate.lp +++ /dev/null @@ -1,24 +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) - -%============================================================================= -% Heuristic to speed-up solves (node with ID > 0) -%============================================================================= - -% node(ID, _) -#heuristic attr("version", node(ID, Package), Version) : pkg_fact(Package, version_declared(Version, 0)), attr("node", node(ID, Package)), ID > 0. [25-5*ID, true] -#heuristic version_weight(node(ID, Package), 0) : pkg_fact(Package, version_declared(Version, 0)), attr("node", node(ID, Package)), ID > 0. [25-5*ID, true] -#heuristic attr("variant_value", node(ID, Package), Variant, Value) : variant_default_value(Package, Variant, Value), attr("node", node(ID, Package)), ID > 0. [25-5*ID, true] -#heuristic attr("node_target", node(ID, Package), Target) : pkg_fact(Package, target_weight(Target, 0)), attr("node", node(ID, Package)), ID > 0. [25-5*ID, true] -#heuristic node_target_weight(node(ID, Package), 0) : attr("node", node(ID, Package)), ID > 0. [25-5*ID, true] -#heuristic node_compiler(node(ID, Package), CompilerID) : compiler_weight(CompilerID, 0), compiler_id(CompilerID), attr("node", node(ID, Package)), ID > 0. [25-5*ID, true] - -% node(ID, _), split build dependencies -#heuristic attr("version", node(ID, Package), Version) : pkg_fact(Package, version_declared(Version, 0)), attr("node", node(ID, Package)), multiple_unification_sets(Package), ID > 0. [25, true] -#heuristic version_weight(node(ID, Package), 0) : pkg_fact(Package, version_declared(Version, 0)), attr("node", node(ID, Package)), multiple_unification_sets(Package), ID > 0. [25, true] -#heuristic attr("variant_value", node(ID, Package), Variant, Value) : variant_default_value(Package, Variant, Value), attr("node", node(ID, Package)), multiple_unification_sets(Package), ID > 0. [25, true] -#heuristic attr("node_target", node(ID, Package), Target) : pkg_fact(Package, target_weight(Target, 0)), attr("node", node(ID, Package)), multiple_unification_sets(Package), ID > 0. [25, true] -#heuristic node_target_weight(node(ID, Package), 0) : attr("node", node(ID, Package)), multiple_unification_sets(Package), ID > 0. [25, true] -#heuristic node_compiler(node(ID, Package), CompilerID) : compiler_weight(CompilerID, 0), compiler_id(CompilerID), attr("node", node(ID, Package)), multiple_unification_sets(Package), ID > 0. [25, true] diff --git a/lib/spack/spack/solver/libc_compatibility.lp b/lib/spack/spack/solver/libc_compatibility.lp index 6c324936568bd0..e9d90c52ac0fb1 100644 --- a/lib/spack/spack/solver/libc_compatibility.lp +++ b/lib/spack/spack/solver/libc_compatibility.lp @@ -18,9 +18,6 @@ error(100, "Cannot reuse {0} since we cannot determine libc compatibility", Reus ReusedPackage != LibcPackage, not attr("compatible_libc", node(R, ReusedPackage), LibcPackage, LibcVersion). -% Check whether the DAG has any built package -has_built_packages() :- build(X), not external(X). - % A libc is needed in the DAG :- has_built_packages(), not provider(_, node(0, "libc")). diff --git a/lib/spack/spack/solver/os_compatibility.lp b/lib/spack/spack/solver/os_compatibility.lp index 651c86b7ae3512..f711860d7701c4 100644 --- a/lib/spack/spack/solver/os_compatibility.lp +++ b/lib/spack/spack/solver/os_compatibility.lp @@ -12,6 +12,7 @@ %============================================================================= % macOS +os_compatible("sequoia", "sonoma"). os_compatible("sonoma", "ventura"). os_compatible("ventura", "monterey"). os_compatible("monterey", "bigsur"). diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index 011c3c2488f744..db0bf506f580f9 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -1287,6 +1287,104 @@ def copy(self, *args, **kwargs): return self.wrapped_obj.copy(*args, **kwargs) +def tree( + specs: List["spack.spec.Spec"], + *, + color: Optional[bool] = None, + depth: bool = False, + hashes: bool = False, + hashlen: Optional[int] = None, + cover: str = "nodes", + indent: int = 0, + format: str = DEFAULT_FORMAT, + deptypes: Union[Tuple[str, ...], str] = "all", + show_types: bool = False, + depth_first: bool = False, + recurse_dependencies: bool = True, + status_fn: Optional[Callable[["Spec"], InstallStatus]] = None, + prefix: Optional[Callable[["Spec"], str]] = None, + key=id, +) -> str: + """Prints out specs and their dependencies, tree-formatted with indentation. + + Status function may either output a boolean or an InstallStatus + + Args: + color: if True, always colorize the tree. If False, don't colorize the tree. If None, + use the default from llnl.tty.color + depth: print the depth from the root + hashes: if True, print the hash of each node + hashlen: length of the hash to be printed + cover: either "nodes" or "edges" + indent: extra indentation for the tree being printed + format: format to be used to print each node + deptypes: dependency types to be represented in the tree + show_types: if True, show the (merged) dependency type of a node + depth_first: if True, traverse the DAG depth first when representing it as a tree + recurse_dependencies: if True, recurse on dependencies + status_fn: optional callable that takes a node as an argument and return its + installation status + prefix: optional callable that takes a node as an argument and return its + installation prefix + """ + out = "" + + if color is None: + color = clr.get_color_when() + + # reduce deptypes over all in-edges when covering nodes + if show_types and cover == "nodes": + deptype_lookup: Dict[str, dt.DepFlag] = collections.defaultdict(dt.DepFlag) + for edge in traverse.traverse_edges(specs, cover="edges", deptype=deptypes, root=False): + deptype_lookup[edge.spec.dag_hash()] |= edge.depflag + + for d, dep_spec in traverse.traverse_tree( + sorted(specs), cover=cover, deptype=deptypes, depth_first=depth_first, key=key + ): + node = dep_spec.spec + + if prefix is not None: + out += prefix(node) + out += " " * indent + + if depth: + out += "%-4d" % d + + if status_fn: + status = status_fn(node) + if status in list(InstallStatus): + out += clr.colorize(status.value, color=color) + elif status: + out += clr.colorize("@g{[+]} ", color=color) + else: + out += clr.colorize("@r{[-]} ", color=color) + + if hashes: + out += clr.colorize("@K{%s} ", color=color) % node.dag_hash(hashlen) + + if show_types: + if cover == "nodes": + depflag = deptype_lookup[dep_spec.spec.dag_hash()] + else: + # when covering edges or paths, we show dependency + # types only for the edge through which we visited + depflag = dep_spec.depflag + + type_chars = dt.flag_to_chars(depflag) + out += "[%s] " % type_chars + + out += " " * d + if d > 0: + out += "^" + out += node.format(format, color=color) + "\n" + + # Check if we wanted just the first line + if not recurse_dependencies: + break + + return out + + @lang.lazy_lexicographic_ordering(set_hash=False) class Spec: #: Cache for spec's prefix, computed lazily in the corresponding property @@ -4169,29 +4267,21 @@ def __getitem__(self, name: str): csv = query_parameters.pop().strip() query_parameters = re.split(r"\s*,\s*", csv) - # In some cases a package appears multiple times in the same DAG for *distinct* - # specs. For example, a build-type dependency may itself depend on a package - # the current spec depends on, but their specs may differ. Therefore we iterate - # in an order here that prioritizes the build, test and runtime dependencies; - # only when we don't find the package do we consider the full DAG. order = lambda: itertools.chain( - self.traverse(deptype="link"), - self.dependencies(deptype=dt.BUILD | dt.RUN | dt.TEST), - self.traverse(), # fall back to a full search + self.traverse_edges(deptype=dt.LINK, order="breadth", cover="edges"), + self.edges_to_dependencies(depflag=dt.BUILD | dt.RUN | dt.TEST), + self.traverse_edges(deptype=dt.ALL, order="breadth", cover="edges"), ) + # Consider runtime dependencies and direct build/test deps before transitive dependencies, + # and prefer matches closest to the root. try: child: Spec = next( - itertools.chain( - # Regular specs - (x for x in order() if x.name == name), - ( - x - for x in order() - if (not x.virtual) - and any(name in edge.virtuals for edge in x.edges_from_dependents()) - ), - (x for x in order() if (not x.virtual) and x.package.provides(name)), + e.spec + for e in itertools.chain( + (e for e in order() if e.spec.name == name or name in e.virtuals), + # for historical reasons + (e for e in order() if e.spec.concrete and e.spec.package.provides(name)), ) ) except StopIteration: @@ -4567,7 +4657,7 @@ def colored_str(self): spec_str = " ^".join(root_str + sorted_dependencies) return spec_str.strip() - def install_status(self): + def install_status(self) -> InstallStatus: """Helper for tree to print DB install status.""" if not self.concrete: return InstallStatus.absent @@ -4611,13 +4701,14 @@ def tree( recurse_dependencies: bool = True, status_fn: Optional[Callable[["Spec"], InstallStatus]] = None, prefix: Optional[Callable[["Spec"], str]] = None, + key=id, ) -> str: - """Prints out this spec and its dependencies, tree-formatted - with indentation. + """Prints out this spec and its dependencies, tree-formatted with indentation. - Status function may either output a boolean or an InstallStatus + See multi-spec ``spack.spec.tree()`` function for details. Args: + specs: List of specs to format. color: if True, always colorize the tree. If False, don't colorize the tree. If None, use the default from llnl.tty.color depth: print the depth from the root @@ -4635,60 +4726,23 @@ def tree( prefix: optional callable that takes a node as an argument and return its installation prefix """ - out = "" - - if color is None: - color = clr.get_color_when() - - for d, dep_spec in traverse.traverse_tree( - [self], cover=cover, deptype=deptypes, depth_first=depth_first - ): - node = dep_spec.spec - - if prefix is not None: - out += prefix(node) - out += " " * indent - - if depth: - out += "%-4d" % d - - if status_fn: - status = status_fn(node) - if status in list(InstallStatus): - out += clr.colorize(status.value, color=color) - elif status: - out += clr.colorize("@g{[+]} ", color=color) - else: - out += clr.colorize("@r{[-]} ", color=color) - - if hashes: - out += clr.colorize("@K{%s} ", color=color) % node.dag_hash(hashlen) - - if show_types: - if cover == "nodes": - # when only covering nodes, we merge dependency types - # from all dependents before showing them. - depflag = 0 - for ds in node.edges_from_dependents(): - depflag |= ds.depflag - else: - # when covering edges or paths, we show dependency - # types only for the edge through which we visited - depflag = dep_spec.depflag - - type_chars = dt.flag_to_chars(depflag) - out += "[%s] " % type_chars - - out += " " * d - if d > 0: - out += "^" - out += node.format(format, color=color) + "\n" - - # Check if we wanted just the first line - if not recurse_dependencies: - break - - return out + return tree( + [self], + color=color, + depth=depth, + hashes=hashes, + hashlen=hashlen, + cover=cover, + indent=indent, + format=format, + deptypes=deptypes, + show_types=show_types, + depth_first=depth_first, + recurse_dependencies=recurse_dependencies, + status_fn=status_fn, + prefix=prefix, + key=key, + ) def __repr__(self): return str(self) diff --git a/lib/spack/spack/spec_list.py b/lib/spack/spack/spec_list.py index 9779d40fe4b0e2..db844a3e4c1c7c 100644 --- a/lib/spack/spack/spec_list.py +++ b/lib/spack/spack/spec_list.py @@ -212,10 +212,7 @@ def _expand_matrix_constraints(matrix_config): results = [] for combo in itertools.product(*expanded_rows): # Construct a combined spec to test against excludes - flat_combo = [constraint for constraint_list in combo for constraint in constraint_list] - - # Resolve abstract hashes so we can exclude by their concrete properties - flat_combo = [Spec(x).lookup_hash() for x in flat_combo] + flat_combo = [Spec(constraint) for constraints in combo for constraint in constraints] test_spec = flat_combo[0].copy() for constraint in flat_combo[1:]: @@ -231,7 +228,9 @@ def _expand_matrix_constraints(matrix_config): spack.variant.substitute_abstract_variants(test_spec) except spack.variant.UnknownVariantError: pass - if any(test_spec.satisfies(x) for x in excludes): + + # Resolve abstract hashes for exclusion criteria + if any(test_spec.lookup_hash().satisfies(x) for x in excludes): continue if sigil: diff --git a/lib/spack/spack/stage.py b/lib/spack/spack/stage.py index 67a81a68eede5b..a635d95aeb1a37 100644 --- a/lib/spack/spack/stage.py +++ b/lib/spack/spack/stage.py @@ -346,8 +346,6 @@ class Stage(LockableStagingDir): similar, and are intended to persist for only one run of spack. """ - #: Most staging is managed by Spack. DIYStage is one exception. - needs_fetching = True requires_patch_success = True def __init__( @@ -772,8 +770,6 @@ def __init__(self): "cache_mirror", "steal_source", "disable_mirrors", - "needs_fetching", - "requires_patch_success", ] ) @@ -812,6 +808,10 @@ def path(self): def archive_file(self): return self[0].archive_file + @property + def requires_patch_success(self): + return self[0].requires_patch_success + @property def keep(self): return self[0].keep @@ -822,64 +822,7 @@ def keep(self, value): item.keep = value -class DIYStage: - """ - Simple class that allows any directory to be a spack stage. Consequently, - it does not expect or require that the source path adhere to the standard - directory naming convention. - """ - - needs_fetching = False - requires_patch_success = False - - def __init__(self, path): - if path is None: - raise ValueError("Cannot construct DIYStage without a path.") - elif not os.path.isdir(path): - raise StagePathError("The stage path directory does not exist:", path) - - self.archive_file = None - self.path = path - self.source_path = path - self.created = True - - # DIY stages do nothing as context managers. - def __enter__(self): - pass - - def __exit__(self, exc_type, exc_val, exc_tb): - pass - - def fetch(self, *args, **kwargs): - tty.debug("No need to fetch for DIY.") - - def check(self): - tty.debug("No checksum needed for DIY.") - - def expand_archive(self): - tty.debug("Using source directory: {0}".format(self.source_path)) - - @property - def expanded(self): - """Returns True since the source_path must exist.""" - return True - - def restage(self): - raise RestageError("Cannot restage a DIY stage.") - - def create(self): - self.created = True - - def destroy(self): - # No need to destroy DIY stage. - pass - - 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): diff --git a/lib/spack/spack/store.py b/lib/spack/spack/store.py index dc2d5de54b4372..8509d728aa596b 100644 --- a/lib/spack/spack/store.py +++ b/lib/spack/spack/store.py @@ -371,7 +371,6 @@ def use_store( data.update(extra_data) # Swap the store with the one just constructed and return it - ensure_singleton_created() spack.config.CONFIG.push_scope( spack.config.InternalConfigScope(name=scope_name, data={"config": {"install_tree": data}}) ) diff --git a/lib/spack/spack/subprocess_context.py b/lib/spack/spack/subprocess_context.py index c90dcf84090096..cd0c24676de4e3 100644 --- a/lib/spack/spack/subprocess_context.py +++ b/lib/spack/spack/subprocess_context.py @@ -79,9 +79,11 @@ def restore(self): self.test_state.restore() spack.main.spack_working_dir = self.spack_working_dir env = pickle.load(self.serialized_env) if _SERIALIZE else self.env - pkg = pickle.load(self.serialized_pkg) if _SERIALIZE else self.pkg if env: spack.environment.activate(env) + # Order of operation is important, since the package might be retrieved + # from a repo defined within the environment configuration + pkg = pickle.load(self.serialized_pkg) if _SERIALIZE else self.pkg return pkg diff --git a/lib/spack/spack/test/architecture.py b/lib/spack/spack/test/architecture.py index 1656b026952172..3e4b0412dc412b 100644 --- a/lib/spack/spack/test/architecture.py +++ b/lib/spack/spack/test/architecture.py @@ -213,7 +213,9 @@ def test_satisfy_strict_constraint_when_not_concrete(architecture_tuple, constra str(archspec.cpu.host().family) != "x86_64", reason="tests are for x86_64 uarch ranges" ) def test_concretize_target_ranges(root_target_range, dep_target_range, result, monkeypatch): - spec = Spec(f"a %gcc@10 foobar=bar target={root_target_range} ^b target={dep_target_range}") + spec = Spec( + f"pkg-a %gcc@10 foobar=bar target={root_target_range} ^pkg-b target={dep_target_range}" + ) with spack.concretize.disable_compiler_existence_check(): spec.concretize() - assert spec.target == spec["b"].target == result + assert spec.target == spec["pkg-b"].target == result diff --git a/lib/spack/spack/test/bindist.py b/lib/spack/spack/test/bindist.py index 4ddeda63a0d8e9..11f9e9adfc167f 100644 --- a/lib/spack/spack/test/bindist.py +++ b/lib/spack/spack/test/bindist.py @@ -105,18 +105,18 @@ def config_directory(tmpdir_factory): @pytest.fixture(scope="function") -def default_config(tmpdir, config_directory, monkeypatch, install_mockery_mutable_config): - # This fixture depends on install_mockery_mutable_config to ensure +def default_config(tmpdir, config_directory, monkeypatch, install_mockery): + # This fixture depends on install_mockery to ensure # there is a clear order of initialization. The substitution of the # config scopes here is done on top of the substitution that comes with - # install_mockery_mutable_config + # install_mockery mutable_dir = tmpdir.mkdir("mutable_config").join("tmp") config_directory.copy(mutable_dir) cfg = spack.config.Configuration( *[ - spack.config.ConfigScope(name, str(mutable_dir)) - for name in ["site/%s" % platform.system().lower(), "site", "user"] + spack.config.DirectoryConfigScope(name, str(mutable_dir)) + for name in [f"site/{platform.system().lower()}", "site", "user"] ] ) @@ -398,9 +398,7 @@ def fake_dag_hash(spec, length=None): return "tal4c7h4z0gqmixb1eqa92mjoybxn5l6"[:length] -@pytest.mark.usefixtures( - "install_mockery_mutable_config", "mock_packages", "mock_fetch", "test_mirror" -) +@pytest.mark.usefixtures("install_mockery", "mock_packages", "mock_fetch", "test_mirror") def test_spec_needs_rebuild(monkeypatch, tmpdir): """Make sure needs_rebuild properly compares remote hash against locally computed one, avoiding unnecessary rebuilds""" @@ -429,7 +427,7 @@ def test_spec_needs_rebuild(monkeypatch, tmpdir): assert rebuild -@pytest.mark.usefixtures("install_mockery_mutable_config", "mock_packages", "mock_fetch") +@pytest.mark.usefixtures("install_mockery", "mock_packages", "mock_fetch") def test_generate_index_missing(monkeypatch, tmpdir, mutable_config): """Ensure spack buildcache index only reports available packages""" @@ -587,9 +585,7 @@ def test_update_sbang(tmpdir, test_mirror): str(archspec.cpu.host().family) != "x86_64", reason="test data uses gcc 4.5.0 which does not support aarch64", ) -def test_install_legacy_buildcache_layout( - mutable_config, compiler_factory, install_mockery_mutable_config -): +def test_install_legacy_buildcache_layout(mutable_config, compiler_factory, install_mockery): """Legacy buildcache layout involved a nested archive structure where the .spack file contained a repeated spec.json and another compressed archive file containing the install tree. This test diff --git a/lib/spack/spack/test/bootstrap.py b/lib/spack/spack/test/bootstrap.py index 5f11e2d381e639..f0d11d41247e4b 100644 --- a/lib/spack/spack/test/bootstrap.py +++ b/lib/spack/spack/test/bootstrap.py @@ -228,3 +228,25 @@ def test_source_is_disabled(mutable_config): spack.config.add("bootstrap:trusted:{0}:{1}".format(conf["name"], False)) with pytest.raises(ValueError): spack.bootstrap.core.source_is_enabled_or_raise(conf) + + +@pytest.mark.regression("45247") +def test_use_store_does_not_try_writing_outside_root(tmp_path, monkeypatch, mutable_config): + """Tests that when we use the 'use_store' context manager, there is no attempt at creating + a Store outside the given root. + """ + initial_store = mutable_config.get("config:install_tree:root") + user_store = tmp_path / "store" + + fn = spack.store.Store.__init__ + + def _checked_init(self, root, *args, **kwargs): + fn(self, root, *args, **kwargs) + assert self.root == str(user_store) + + monkeypatch.setattr(spack.store.Store, "__init__", _checked_init) + + spack.store.reinitialize() + with spack.store.use_store(user_store): + assert spack.config.CONFIG.get("config:install_tree:root") == str(user_store) + assert spack.config.CONFIG.get("config:install_tree:root") == initial_store diff --git a/lib/spack/spack/test/build_environment.py b/lib/spack/spack/test/build_environment.py index f42351cdb13c71..a47fb28811222f 100644 --- a/lib/spack/spack/test/build_environment.py +++ b/lib/spack/spack/test/build_environment.py @@ -177,7 +177,7 @@ def _set_wrong_cc(x): def test_setup_dependent_package_inherited_modules( - config, working_env, mock_packages, install_mockery, mock_fetch + working_env, mock_packages, install_mockery, mock_fetch ): # This will raise on regression s = spack.spec.Spec("cmake-client-inheritor").concretized() @@ -457,14 +457,14 @@ def test_parallel_false_is_not_propagating(default_mock_concretization): # a foobar=bar (parallel = False) # | # b (parallel =True) - s = default_mock_concretization("a foobar=bar") + s = default_mock_concretization("pkg-a foobar=bar") spack.build_environment.set_package_py_globals(s.package, context=Context.BUILD) - assert s["a"].package.module.make_jobs == 1 + assert s["pkg-a"].package.module.make_jobs == 1 - spack.build_environment.set_package_py_globals(s["b"].package, context=Context.BUILD) - assert s["b"].package.module.make_jobs == spack.build_environment.determine_number_of_jobs( - parallel=s["b"].package.parallel + spack.build_environment.set_package_py_globals(s["pkg-b"].package, context=Context.BUILD) + assert s["pkg-b"].package.module.make_jobs == spack.build_environment.determine_number_of_jobs( + parallel=s["pkg-b"].package.parallel ) diff --git a/lib/spack/spack/test/build_systems.py b/lib/spack/spack/test/build_systems.py index e6cc8906d75dbf..57516b445c18d0 100644 --- a/lib/spack/spack/test/build_systems.py +++ b/lib/spack/spack/test/build_systems.py @@ -94,10 +94,10 @@ def test_negative_ninja_check(self, input_dir, test_dir, concretize_and_setup): @pytest.mark.not_on_windows("autotools not available on windows") -@pytest.mark.usefixtures("config", "mock_packages") +@pytest.mark.usefixtures("mock_packages") class TestAutotoolsPackage: def test_with_or_without(self, default_mock_concretization): - s = default_mock_concretization("a") + s = default_mock_concretization("pkg-a") options = s.package.with_or_without("foo") # Ensure that values that are not representing a feature @@ -129,7 +129,7 @@ def activate(value): assert "--without-lorem-ipsum" in options def test_none_is_allowed(self, default_mock_concretization): - s = default_mock_concretization("a foo=none") + s = default_mock_concretization("pkg-a foo=none") options = s.package.with_or_without("foo") # Ensure that values that are not representing a feature @@ -139,11 +139,9 @@ def test_none_is_allowed(self, default_mock_concretization): assert "--without-baz" in options assert "--no-fee" in options - def test_libtool_archive_files_are_deleted_by_default( - self, default_mock_concretization, mutable_database - ): + def test_libtool_archive_files_are_deleted_by_default(self, mutable_database): # Install a package that creates a mock libtool archive - s = default_mock_concretization("libtool-deletion") + s = Spec("libtool-deletion").concretized() s.package.do_install(explicit=True) # Assert the libtool archive is not there and we have @@ -154,25 +152,23 @@ def test_libtool_archive_files_are_deleted_by_default( assert libtool_deletion_log def test_libtool_archive_files_might_be_installed_on_demand( - self, mutable_database, monkeypatch, default_mock_concretization + self, mutable_database, monkeypatch ): # Install a package that creates a mock libtool archive, # patch its package to preserve the installation - s = default_mock_concretization("libtool-deletion") + s = Spec("libtool-deletion").concretized() monkeypatch.setattr(type(s.package.builder), "install_libtool_archives", True) s.package.do_install(explicit=True) # Assert libtool archives are installed assert os.path.exists(s.package.builder.libtool_archive_file) - def test_autotools_gnuconfig_replacement(self, default_mock_concretization, mutable_database): + def test_autotools_gnuconfig_replacement(self, mutable_database): """ Tests whether only broken config.sub and config.guess are replaced with files from working alternatives from the gnuconfig package. """ - s = default_mock_concretization( - "autotools-config-replacement +patch_config_files +gnuconfig" - ) + s = Spec("autotools-config-replacement +patch_config_files +gnuconfig").concretized() s.package.do_install() with open(os.path.join(s.prefix.broken, "config.sub")) as f: @@ -187,15 +183,11 @@ def test_autotools_gnuconfig_replacement(self, default_mock_concretization, muta with open(os.path.join(s.prefix.working, "config.guess")) as f: assert "gnuconfig version of config.guess" not in f.read() - def test_autotools_gnuconfig_replacement_disabled( - self, default_mock_concretization, mutable_database - ): + def test_autotools_gnuconfig_replacement_disabled(self, mutable_database): """ Tests whether disabling patch_config_files """ - s = default_mock_concretization( - "autotools-config-replacement ~patch_config_files +gnuconfig" - ) + s = Spec("autotools-config-replacement ~patch_config_files +gnuconfig").concretized() s.package.do_install() with open(os.path.join(s.prefix.broken, "config.sub")) as f: diff --git a/lib/spack/spack/test/cc.py b/lib/spack/spack/test/cc.py index dfff73811ab9ce..b547641b06f30a 100644 --- a/lib/spack/spack/test/cc.py +++ b/lib/spack/spack/test/cc.py @@ -828,14 +828,14 @@ def test_keep_and_replace(wrapper_environment): ), ( "config:flags:keep_werror:specific", - ["-Werror", "-Werror=specific", "-bah"], - ["-Werror=specific", "-bah"], + ["-Werror", "-Werror=specific", "-Werror-specific2", "-bah"], + ["-Wno-error", "-Werror=specific", "-Werror-specific2", "-bah"], ["-Werror"], ), ( "config:flags:keep_werror:none", ["-Werror", "-Werror=specific", "-bah"], - ["-bah", "-Wno-error", "-Wno-error=specific"], + ["-Wno-error", "-Wno-error=specific", "-bah"], ["-Werror", "-Werror=specific"], ), # check non-standard -Werror opts like -Werror-implicit-function-declaration @@ -848,13 +848,13 @@ def test_keep_and_replace(wrapper_environment): ( "config:flags:keep_werror:specific", ["-Werror", "-Werror-implicit-function-declaration", "-bah"], - ["-Werror-implicit-function-declaration", "-bah", "-Wno-error"], + ["-Wno-error", "-Werror-implicit-function-declaration", "-bah"], ["-Werror"], ), ( "config:flags:keep_werror:none", ["-Werror", "-Werror-implicit-function-declaration", "-bah"], - ["-bah", "-Wno-error=implicit-function-declaration"], + ["-Wno-error", "-bah", "-Wno-error=implicit-function-declaration"], ["-Werror", "-Werror-implicit-function-declaration"], ), ], diff --git a/lib/spack/spack/test/ci.py b/lib/spack/spack/test/ci.py index f3d47c45e9cfbe..f2cca09c5a43ee 100644 --- a/lib/spack/spack/test/ci.py +++ b/lib/spack/spack/test/ci.py @@ -2,7 +2,6 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import itertools import os import subprocess @@ -11,15 +10,12 @@ import llnl.util.filesystem as fs import spack.ci as ci -import spack.ci_needs_workaround as cinw -import spack.ci_optimization as ci_opt import spack.config import spack.environment as ev import spack.error import spack.paths as spack_paths import spack.util.git import spack.util.gpg -import spack.util.spack_yaml as syaml @pytest.fixture @@ -203,165 +199,7 @@ def __call__(self, *args, **kwargs): assert "Unable to merge {0}".format(c1) in err -@pytest.mark.parametrize("obj, proto", [({}, [])]) -def test_ci_opt_argument_checking(obj, proto): - """Check that matches() and subkeys() return False when `proto` is not a dict.""" - assert not ci_opt.matches(obj, proto) - assert not ci_opt.subkeys(obj, proto) - - -@pytest.mark.parametrize("yaml", [{"extends": 1}]) -def test_ci_opt_add_extends_non_sequence(yaml): - """Check that add_extends() exits if 'extends' is not a sequence.""" - yaml_copy = yaml.copy() - ci_opt.add_extends(yaml, None) - assert yaml == yaml_copy - - -def test_ci_workarounds(): - fake_root_spec = "x" * 544 - fake_spack_ref = "x" * 40 - - common_variables = {"SPACK_IS_PR_PIPELINE": "False"} - - common_before_script = [ - 'git clone "https://github.com/spack/spack"', - " && ".join(("pushd ./spack", 'git checkout "{ref}"'.format(ref=fake_spack_ref), "popd")), - '. "./spack/share/spack/setup-env.sh"', - ] - - def make_build_job(name, deps, stage, use_artifact_buildcache, optimize, use_dependencies): - variables = common_variables.copy() - variables["SPACK_JOB_SPEC_PKG_NAME"] = name - - result = { - "stage": stage, - "tags": ["tag-0", "tag-1"], - "artifacts": { - "paths": ["jobs_scratch_dir", "cdash_report", name + ".spec.json", name], - "when": "always", - }, - "retry": {"max": 2, "when": ["always"]}, - "after_script": ['rm -rf "./spack"'], - "script": ["spack ci rebuild"], - "image": {"name": "spack/centos7", "entrypoint": [""]}, - } - - if optimize: - result["extends"] = [".c0", ".c1"] - else: - variables["SPACK_ROOT_SPEC"] = fake_root_spec - result["before_script"] = common_before_script - - result["variables"] = variables - - if use_dependencies: - result["dependencies"] = list(deps) if use_artifact_buildcache else [] - else: - result["needs"] = [{"job": dep, "artifacts": use_artifact_buildcache} for dep in deps] - - return {name: result} - - def make_rebuild_index_job(use_artifact_buildcache, optimize, use_dependencies): - result = { - "stage": "stage-rebuild-index", - "script": "spack buildcache update-index s3://mirror", - "tags": ["tag-0", "tag-1"], - "image": {"name": "spack/centos7", "entrypoint": [""]}, - "after_script": ['rm -rf "./spack"'], - } - - if optimize: - result["extends"] = ".c0" - else: - result["before_script"] = common_before_script - - return {"rebuild-index": result} - - def make_factored_jobs(optimize): - return ( - { - ".c0": {"before_script": common_before_script}, - ".c1": {"variables": {"SPACK_ROOT_SPEC": fake_root_spec}}, - } - if optimize - else {} - ) - - def make_stage_list(num_build_stages): - return { - "stages": ( - ["-".join(("stage", str(i))) for i in range(num_build_stages)] - + ["stage-rebuild-index"] - ) - } - - def make_yaml_obj(use_artifact_buildcache, optimize, use_dependencies): - result = {} - - result.update( - make_build_job( - "pkg-a", [], "stage-0", use_artifact_buildcache, optimize, use_dependencies - ) - ) - - result.update( - make_build_job( - "pkg-b", ["pkg-a"], "stage-1", use_artifact_buildcache, optimize, use_dependencies - ) - ) - - result.update( - make_build_job( - "pkg-c", - ["pkg-a", "pkg-b"], - "stage-2", - use_artifact_buildcache, - optimize, - use_dependencies, - ) - ) - - result.update(make_rebuild_index_job(use_artifact_buildcache, optimize, use_dependencies)) - - result.update(make_factored_jobs(optimize)) - - result.update(make_stage_list(3)) - - return result - - # test every combination of: - # use artifact buildcache: true or false - # run optimization pass: true or false - # convert needs to dependencies: true or false - for use_ab in (False, True): - original = make_yaml_obj( - use_artifact_buildcache=use_ab, optimize=False, use_dependencies=False - ) - - for opt, deps in itertools.product(*(((False, True),) * 2)): - # neither optimizing nor converting needs->dependencies - if not (opt or deps): - # therefore, nothing to test - continue - - predicted = make_yaml_obj( - use_artifact_buildcache=use_ab, optimize=opt, use_dependencies=deps - ) - - actual = original.copy() - if opt: - actual = ci_opt.optimizer(actual) - if deps: - actual = cinw.needs_to_dependencies(actual) - - predicted = syaml.dump_config(ci_opt.sort_yaml_obj(predicted), default_flow_style=True) - actual = syaml.dump_config(ci_opt.sort_yaml_obj(actual), default_flow_style=True) - - assert predicted == actual - - -def test_get_spec_filter_list(mutable_mock_env_path, config, mutable_mock_repo): +def test_get_spec_filter_list(mutable_mock_env_path, mutable_mock_repo): """Test that given an active environment and list of touched pkgs, we get the right list of possibly-changed env specs""" e1 = ev.create("test") @@ -415,7 +253,7 @@ def test_get_spec_filter_list(mutable_mock_env_path, config, mutable_mock_repo): @pytest.mark.regression("29947") -def test_affected_specs_on_first_concretization(mutable_mock_env_path, mock_packages, config): +def test_affected_specs_on_first_concretization(mutable_mock_env_path, mock_packages): e = ev.create("first_concretization") e.add("mpileaks~shared") e.add("mpileaks+shared") @@ -484,12 +322,12 @@ def test_ci_run_standalone_tests_missing_requirements( @pytest.mark.not_on_windows("Reliance on bash script not supported on Windows") def test_ci_run_standalone_tests_not_installed_junit( - tmp_path, repro_dir, working_env, default_mock_concretization, mock_test_stage, capfd + tmp_path, repro_dir, working_env, mock_test_stage, capfd, mock_packages ): log_file = tmp_path / "junit.xml" args = { "log_file": str(log_file), - "job_spec": default_mock_concretization("printing-package"), + "job_spec": spack.spec.Spec("printing-package").concretized(), "repro_dir": str(repro_dir), "fail_fast": True, } @@ -502,13 +340,13 @@ def test_ci_run_standalone_tests_not_installed_junit( @pytest.mark.not_on_windows("Reliance on bash script not supported on Windows") def test_ci_run_standalone_tests_not_installed_cdash( - tmp_path, repro_dir, working_env, default_mock_concretization, mock_test_stage, capfd + tmp_path, repro_dir, working_env, mock_test_stage, capfd, mock_packages ): """Test run_standalone_tests with cdash and related options.""" log_file = tmp_path / "junit.xml" args = { "log_file": str(log_file), - "job_spec": default_mock_concretization("printing-package"), + "job_spec": spack.spec.Spec("printing-package").concretized(), "repro_dir": str(repro_dir), } diff --git a/lib/spack/spack/test/cmd/buildcache.py b/lib/spack/spack/test/cmd/buildcache.py index b72d753fc38307..b634e371165dc3 100644 --- a/lib/spack/spack/test/cmd/buildcache.py +++ b/lib/spack/spack/test/cmd/buildcache.py @@ -48,11 +48,6 @@ def mock_get_specs_multiarch(database, monkeypatch): monkeypatch.setattr(spack.binary_distribution, "update_cache_and_get_specs", lambda: specs) -def test_buildcache_preview_just_runs(): - # TODO: remove in Spack 0.21 - buildcache("preview", "mpileaks") - - @pytest.mark.db @pytest.mark.regression("13757") def test_buildcache_list_duplicates(mock_get_specs, capsys): @@ -189,12 +184,7 @@ def test_buildcache_autopush(tmp_path, install_mockery, mock_fetch): def test_buildcache_sync( - mutable_mock_env_path, - install_mockery_mutable_config, - mock_packages, - mock_fetch, - mock_stage, - tmpdir, + mutable_mock_env_path, install_mockery, mock_packages, mock_fetch, mock_stage, tmpdir ): """ Make sure buildcache sync works in an environment-aware manner, ignoring @@ -323,7 +313,7 @@ def manifest_insert(manifest, spec, dest_url): def test_buildcache_create_install( mutable_mock_env_path, - install_mockery_mutable_config, + install_mockery, mock_packages, mock_fetch, mock_stage, diff --git a/lib/spack/spack/test/cmd/checksum.py b/lib/spack/spack/test/cmd/checksum.py index 308940c268f948..ad63c40ff8ec44 100644 --- a/lib/spack/spack/test/cmd/checksum.py +++ b/lib/spack/spack/test/cmd/checksum.py @@ -83,7 +83,6 @@ def test_checksum_args(arguments, expected): assert check == expected -@pytest.mark.not_on_windows("Not supported on Windows (yet)") @pytest.mark.parametrize( "arguments,expected", [ diff --git a/lib/spack/spack/test/cmd/ci.py b/lib/spack/spack/test/cmd/ci.py index 583046df9448b7..c1018050323de9 100644 --- a/lib/spack/spack/test/cmd/ci.py +++ b/lib/spack/spack/test/cmd/ci.py @@ -106,24 +106,24 @@ def test_specs_staging(config, tmpdir): """ builder = repo.MockRepositoryBuilder(tmpdir) - builder.add_package("g") - builder.add_package("f") - builder.add_package("e") - builder.add_package("d", dependencies=[("f", None, None), ("g", None, None)]) - builder.add_package("c") - builder.add_package("b", dependencies=[("d", None, None), ("e", None, None)]) - builder.add_package("a", dependencies=[("b", None, None), ("c", None, None)]) + builder.add_package("pkg-g") + builder.add_package("pkg-f") + builder.add_package("pkg-e") + builder.add_package("pkg-d", dependencies=[("pkg-f", None, None), ("pkg-g", None, None)]) + builder.add_package("pkg-c") + builder.add_package("pkg-b", dependencies=[("pkg-d", None, None), ("pkg-e", None, None)]) + builder.add_package("pkg-a", dependencies=[("pkg-b", None, None), ("pkg-c", None, None)]) with repo.use_repositories(builder.root): - spec_a = Spec("a").concretized() + spec_a = Spec("pkg-a").concretized() spec_a_label = ci._spec_ci_label(spec_a) - spec_b_label = ci._spec_ci_label(spec_a["b"]) - spec_c_label = ci._spec_ci_label(spec_a["c"]) - spec_d_label = ci._spec_ci_label(spec_a["d"]) - spec_e_label = ci._spec_ci_label(spec_a["e"]) - spec_f_label = ci._spec_ci_label(spec_a["f"]) - spec_g_label = ci._spec_ci_label(spec_a["g"]) + spec_b_label = ci._spec_ci_label(spec_a["pkg-b"]) + spec_c_label = ci._spec_ci_label(spec_a["pkg-c"]) + spec_d_label = ci._spec_ci_label(spec_a["pkg-d"]) + spec_e_label = ci._spec_ci_label(spec_a["pkg-e"]) + spec_f_label = ci._spec_ci_label(spec_a["pkg-f"]) + spec_g_label = ci._spec_ci_label(spec_a["pkg-g"]) spec_labels, dependencies, stages = ci.stage_spec_jobs([spec_a]) @@ -748,7 +748,7 @@ def test_ci_rebuild_mock_success( tmpdir, working_env, mutable_mock_env_path, - install_mockery_mutable_config, + install_mockery, mock_gnupghome, mock_stage, mock_fetch, @@ -782,7 +782,7 @@ def test_ci_rebuild_mock_failure_to_push( tmpdir, working_env, mutable_mock_env_path, - install_mockery_mutable_config, + install_mockery, mock_gnupghome, mock_stage, mock_fetch, @@ -820,7 +820,7 @@ def test_ci_rebuild( tmpdir, working_env, mutable_mock_env_path, - install_mockery_mutable_config, + install_mockery, mock_packages, monkeypatch, mock_gnupghome, @@ -1019,7 +1019,7 @@ def fake_dl_method(spec, *args, **kwargs): def test_ci_generate_mirror_override( tmpdir, mutable_mock_env_path, - install_mockery_mutable_config, + install_mockery, mock_packages, mock_fetch, mock_stage, @@ -1104,7 +1104,7 @@ def test_ci_generate_mirror_override( def test_push_to_build_cache( tmpdir, mutable_mock_env_path, - install_mockery_mutable_config, + install_mockery, mock_packages, mock_fetch, mock_stage, @@ -1290,7 +1290,7 @@ def test_ci_generate_override_runner_attrs( spack: specs: - flatten-deps - - a + - pkg-a mirrors: some-mirror: https://my.fake.mirror ci: @@ -1307,12 +1307,12 @@ def test_ci_generate_override_runner_attrs( - match: - dependency-install - match: - - a + - pkg-a build-job: tags: - specific-a-2 - match: - - a + - pkg-a build-job-remove: tags: - toplevel2 @@ -1372,8 +1372,8 @@ def test_ci_generate_override_runner_attrs( assert global_vars["SPACK_CHECKOUT_VERSION"] == git_version or "v0.20.0.test0" for ci_key in yaml_contents.keys(): - if ci_key.startswith("a"): - # Make sure a's attributes override variables, and all the + if ci_key.startswith("pkg-a"): + # Make sure pkg-a's attributes override variables, and all the # scripts. Also, make sure the 'toplevel' tag doesn't # appear twice, but that a's specific extra tag does appear the_elt = yaml_contents[ci_key] @@ -1432,55 +1432,6 @@ def test_ci_generate_override_runner_attrs( assert the_elt["after_script"][0] == "post step one" -def test_ci_generate_with_workarounds( - tmpdir, mutable_mock_env_path, install_mockery, mock_packages, monkeypatch, ci_base_environment -): - """Make sure the post-processing cli workarounds do what they should""" - filename = str(tmpdir.join("spack.yaml")) - with open(filename, "w") as f: - f.write( - """\ -spack: - specs: - - callpath%gcc@=9.5 - mirrors: - some-mirror: https://my.fake.mirror - ci: - pipeline-gen: - - submapping: - - match: ['%gcc@9.5'] - build-job: - tags: - - donotcare - image: donotcare - enable-artifacts-buildcache: true -""" - ) - - with tmpdir.as_cwd(): - env_cmd("create", "test", "./spack.yaml") - outputfile = str(tmpdir.join(".gitlab-ci.yml")) - - with ev.read("test"): - ci_cmd("generate", "--output-file", outputfile, "--dependencies") - - with open(outputfile) as f: - contents = f.read() - yaml_contents = syaml.load(contents) - - found_one = False - non_rebuild_keys = ["workflow", "stages", "variables", "rebuild-index"] - - for ci_key in yaml_contents.keys(): - if ci_key not in non_rebuild_keys: - found_one = True - job_obj = yaml_contents[ci_key] - assert "needs" not in job_obj - assert "dependencies" in job_obj - - assert found_one is True - - @pytest.mark.disable_clean_stage_check def test_ci_rebuild_index( tmpdir, @@ -1830,7 +1781,7 @@ def test_ci_generate_read_broken_specs_url( tmpdir, mutable_mock_env_path, install_mockery, mock_packages, monkeypatch, ci_base_environment ): """Verify that `broken-specs-url` works as intended""" - spec_a = Spec("a") + spec_a = Spec("pkg-a") spec_a.concretize() a_dag_hash = spec_a.dag_hash() @@ -1856,7 +1807,7 @@ def test_ci_generate_read_broken_specs_url( spack: specs: - flatten-deps - - a + - pkg-a mirrors: some-mirror: https://my.fake.mirror ci: @@ -1864,9 +1815,9 @@ def test_ci_generate_read_broken_specs_url( pipeline-gen: - submapping: - match: - - a + - pkg-a - flatten-deps - - b + - pkg-b - dependency-install build-job: tags: diff --git a/lib/spack/spack/test/cmd/common/arguments.py b/lib/spack/spack/test/cmd/common/arguments.py index b7d018210b7226..167130816f65b8 100644 --- a/lib/spack/spack/test/cmd/common/arguments.py +++ b/lib/spack/spack/test/cmd/common/arguments.py @@ -72,7 +72,6 @@ def test_parse_spec_flags_with_spaces(specs, cflags, propagation, negated_varian assert "~{0}".format(v) in s -@pytest.mark.usefixtures("config") def test_match_spec_env(mock_packages, mutable_mock_env_path): """ Concretize a spec with non-default options in an environment. Make @@ -81,44 +80,42 @@ def test_match_spec_env(mock_packages, mutable_mock_env_path): """ # Initial sanity check: we are planning on choosing a non-default # value, so make sure that is in fact not the default. - check_defaults = spack.cmd.parse_specs(["a"], concretize=True)[0] + check_defaults = spack.cmd.parse_specs(["pkg-a"], concretize=True)[0] assert not check_defaults.satisfies("foobar=baz") e = ev.create("test") - e.add("a foobar=baz") + e.add("pkg-a foobar=baz") e.concretize() with e: - env_spec = spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(["a"])[0]) + env_spec = spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(["pkg-a"])[0]) assert env_spec.satisfies("foobar=baz") assert env_spec.concrete -@pytest.mark.usefixtures("config") def test_multiple_env_match_raises_error(mock_packages, mutable_mock_env_path): e = ev.create("test") - e.add("a foobar=baz") - e.add("a foobar=fee") + e.add("pkg-a foobar=baz") + e.add("pkg-a foobar=fee") e.concretize() with e: with pytest.raises(ev.SpackEnvironmentError) as exc_info: - spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(["a"])[0]) + spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(["pkg-a"])[0]) assert "matches multiple specs" in exc_info.value.message -@pytest.mark.usefixtures("config") def test_root_and_dep_match_returns_root(mock_packages, mutable_mock_env_path): e = ev.create("test") - e.add("b@0.9") - e.add("a foobar=bar") # Depends on b, should choose b@1.0 + e.add("pkg-b@0.9") + e.add("pkg-a foobar=bar") # Depends on b, should choose b@1.0 e.concretize() with e: # This query matches the root b and b as a dependency of a. In that # case the root instance should be preferred. - env_spec1 = spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(["b"])[0]) + env_spec1 = spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(["pkg-b"])[0]) assert env_spec1.satisfies("@0.9") - env_spec2 = spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(["b@1.0"])[0]) + env_spec2 = spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(["pkg-b@1.0"])[0]) assert env_spec2 diff --git a/lib/spack/spack/test/cmd/concretize.py b/lib/spack/spack/test/cmd/concretize.py index da3cec034d9d97..806675a07c2685 100644 --- a/lib/spack/spack/test/cmd/concretize.py +++ b/lib/spack/spack/test/cmd/concretize.py @@ -10,7 +10,7 @@ from spack import spack_version from spack.main import SpackCommand -pytestmark = pytest.mark.usefixtures("config", "mutable_mock_repo") +pytestmark = pytest.mark.usefixtures("mutable_config", "mutable_mock_repo") env = SpackCommand("env") add = SpackCommand("add") @@ -51,8 +51,8 @@ def test_concretize_root_test_dependencies_are_concretized(unify, mutable_mock_e with ev.read("test") as e: e.unify = unify - add("a") - add("b") + add("pkg-a") + add("pkg-b") concretize("--test", "root") assert e.matching_spec("test-dependency") diff --git a/lib/spack/spack/test/cmd/config.py b/lib/spack/spack/test/cmd/config.py index cd035e6bb2a07b..b632e8490a7ee7 100644 --- a/lib/spack/spack/test/cmd/config.py +++ b/lib/spack/spack/test/cmd/config.py @@ -640,7 +640,7 @@ def update_config(data): config("update", "-y", "config") with ev.Environment(str(tmpdir)) as e: - assert not e.manifest.pristine_yaml_content["spack"]["config"]["ccache"] + assert not e.manifest.yaml_content["spack"]["config"]["ccache"] def test_config_list_scopes(): diff --git a/lib/spack/spack/test/cmd/deconcretize.py b/lib/spack/spack/test/cmd/deconcretize.py index 92553b7e535d57..06dbd39458b170 100644 --- a/lib/spack/spack/test/cmd/deconcretize.py +++ b/lib/spack/spack/test/cmd/deconcretize.py @@ -12,29 +12,29 @@ @pytest.fixture(scope="function") -def test_env(mutable_mock_env_path, config, mock_packages): +def test_env(mutable_mock_env_path, mock_packages): ev.create("test") with ev.read("test") as e: - e.add("a@2.0 foobar=bar ^b@1.0") - e.add("a@1.0 foobar=bar ^b@0.9") + e.add("pkg-a@2.0 foobar=bar ^pkg-b@1.0") + e.add("pkg-a@1.0 foobar=bar ^pkg-b@0.9") e.concretize() e.write() def test_deconcretize_dep(test_env): with ev.read("test") as e: - deconcretize("-y", "b@1.0") + deconcretize("-y", "pkg-b@1.0") specs = [s for s, _ in e.concretized_specs()] assert len(specs) == 1 - assert specs[0].satisfies("a@1.0") + assert specs[0].satisfies("pkg-a@1.0") def test_deconcretize_all_dep(test_env): with ev.read("test") as e: with pytest.raises(SpackCommandError): - deconcretize("-y", "b") - deconcretize("-y", "--all", "b") + deconcretize("-y", "pkg-b") + deconcretize("-y", "--all", "pkg-b") specs = [s for s, _ in e.concretized_specs()] assert len(specs) == 0 @@ -42,27 +42,27 @@ def test_deconcretize_all_dep(test_env): def test_deconcretize_root(test_env): with ev.read("test") as e: - output = deconcretize("-y", "--root", "b@1.0") + output = deconcretize("-y", "--root", "pkg-b@1.0") assert "No matching specs to deconcretize" in output assert len(e.concretized_order) == 2 - deconcretize("-y", "--root", "a@2.0") + deconcretize("-y", "--root", "pkg-a@2.0") specs = [s for s, _ in e.concretized_specs()] assert len(specs) == 1 - assert specs[0].satisfies("a@1.0") + assert specs[0].satisfies("pkg-a@1.0") def test_deconcretize_all_root(test_env): with ev.read("test") as e: with pytest.raises(SpackCommandError): - deconcretize("-y", "--root", "a") + deconcretize("-y", "--root", "pkg-a") - output = deconcretize("-y", "--root", "--all", "b") + output = deconcretize("-y", "--root", "--all", "pkg-b") assert "No matching specs to deconcretize" in output assert len(e.concretized_order) == 2 - deconcretize("-y", "--root", "--all", "a") + deconcretize("-y", "--root", "--all", "pkg-a") specs = [s for s, _ in e.concretized_specs()] assert len(specs) == 0 diff --git a/lib/spack/spack/test/cmd/deprecate.py b/lib/spack/spack/test/cmd/deprecate.py index 6669be57fe05af..8306bea023e6a9 100644 --- a/lib/spack/spack/test/cmd/deprecate.py +++ b/lib/spack/spack/test/cmd/deprecate.py @@ -14,8 +14,6 @@ deprecate = SpackCommand("deprecate") find = SpackCommand("find") -pytestmark = pytest.mark.not_on_windows("does not run on windows") - def test_deprecate(mock_packages, mock_archive, mock_fetch, install_mockery): install("libelf@0.8.13") diff --git a/lib/spack/spack/test/cmd/dev_build.py b/lib/spack/spack/test/cmd/dev_build.py index 67d83ddd5fa1bd..16252b1af7e0a3 100644 --- a/lib/spack/spack/test/cmd/dev_build.py +++ b/lib/spack/spack/test/cmd/dev_build.py @@ -20,10 +20,7 @@ install = SpackCommand("install") env = SpackCommand("env") -pytestmark = [ - pytest.mark.not_on_windows("does not run on windows"), - pytest.mark.disable_clean_stage_check, -] +pytestmark = [pytest.mark.disable_clean_stage_check] def test_dev_build_basics(tmpdir, install_mockery): @@ -96,7 +93,7 @@ def test_dev_build_until_last_phase(tmpdir, install_mockery): assert os.path.exists(str(tmpdir)) -def test_dev_build_before_until(tmpdir, install_mockery, capsys): +def test_dev_build_before_until(tmpdir, install_mockery): spec = spack.spec.Spec(f"dev-build-test-install@0.0.0 dev_path={tmpdir}").concretized() with tmpdir.as_cwd(): @@ -129,7 +126,7 @@ def test_dev_build_drop_in(tmpdir, mock_packages, monkeypatch, install_mockery, monkeypatch.setattr(os, "execvp", print_spack_cc) with tmpdir.as_cwd(): output = dev_build("-b", "edit", "--drop-in", "sh", "dev-build-test-install@0.0.0") - assert "lib/spack/env" in output + assert os.path.join("lib", "spack", "env") in output def test_dev_build_fails_already_installed(tmpdir, install_mockery): diff --git a/lib/spack/spack/test/cmd/diff.py b/lib/spack/spack/test/cmd/diff.py index 179267425386fa..259f6b871afa7f 100644 --- a/lib/spack/spack/test/cmd/diff.py +++ b/lib/spack/spack/test/cmd/diff.py @@ -181,7 +181,6 @@ def test_diff_cmd(install_mockery, mock_fetch, mock_archive, mock_packages): assert ["hash", "mpileaks %s" % specB.dag_hash()] in c["b_not_a"] -@pytest.mark.not_on_windows("Not supported on Windows (yet)") def test_load_first(install_mockery, mock_fetch, mock_archive, mock_packages): """Test with and without the --first option""" install_cmd("mpileaks") diff --git a/lib/spack/spack/test/cmd/edit.py b/lib/spack/spack/test/cmd/edit.py new file mode 100644 index 00000000000000..93b4bd7949acd3 --- /dev/null +++ b/lib/spack/spack/test/cmd/edit.py @@ -0,0 +1,46 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +import os + +import spack.paths +import spack.repo +import spack.util.editor +from spack.build_systems import autotools, cmake +from spack.main import SpackCommand + +edit = SpackCommand("edit") + + +def test_edit_packages(monkeypatch, mock_packages: spack.repo.RepoPath): + """Test spack edit pkg-a pkg-b""" + path_a = mock_packages.filename_for_package_name("pkg-a") + path_b = mock_packages.filename_for_package_name("pkg-b") + called = False + + def editor(*args: str, **kwargs): + nonlocal called + called = True + assert args[0] == path_a + assert args[1] == path_b + + monkeypatch.setattr(spack.util.editor, "editor", editor) + edit("pkg-a", "pkg-b") + assert called + + +def test_edit_files(monkeypatch): + """Test spack edit --build-system autotools cmake""" + called = False + + def editor(*args: str, **kwargs): + nonlocal called + called = True + assert os.path.samefile(args[0], autotools.__file__) + assert os.path.samefile(args[1], cmake.__file__) + + monkeypatch.setattr(spack.util.editor, "editor", editor) + edit("--build-system", "autotools", "cmake") + assert called diff --git a/lib/spack/spack/test/cmd/env.py b/lib/spack/spack/test/cmd/env.py index c1147d49fee0ed..e4c5b247805a05 100644 --- a/lib/spack/spack/test/cmd/env.py +++ b/lib/spack/spack/test/cmd/env.py @@ -28,7 +28,9 @@ import spack.package_base import spack.paths import spack.repo +import spack.store import spack.util.spack_json as sjson +import spack.util.spack_yaml from spack.cmd.env import _env_create from spack.main import SpackCommand, SpackCommandError from spack.spec import Spec @@ -40,7 +42,7 @@ # TODO-27021 # everything here uses the mock_env_path pytestmark = [ - pytest.mark.usefixtures("mutable_mock_env_path", "config", "mutable_mock_repo"), + pytest.mark.usefixtures("mutable_config", "mutable_mock_env_path", "mutable_mock_repo"), pytest.mark.maybeslow, pytest.mark.not_on_windows("Envs unsupported on Window"), ] @@ -501,7 +503,7 @@ def test_env_install_two_specs_same_dep(install_mockery, mock_fetch, tmpdir, cap """\ spack: specs: - - a + - pkg-a - depb """ ) @@ -520,8 +522,8 @@ def test_env_install_two_specs_same_dep(install_mockery, mock_fetch, tmpdir, cap depb = spack.store.STORE.db.query_one("depb", installed=True) assert depb, "Expected depb to be installed" - a = spack.store.STORE.db.query_one("a", installed=True) - assert a, "Expected a to be installed" + a = spack.store.STORE.db.query_one("pkg-a", installed=True) + assert a, "Expected pkg-a to be installed" def test_remove_after_concretize(): @@ -812,7 +814,6 @@ def test_init_from_yaml(environment_from_manifest): assert not e2.specs_by_hash -@pytest.mark.usefixtures("config") def test_env_view_external_prefix(tmp_path, mutable_database, mock_packages): fake_prefix = tmp_path / "a-prefix" fake_bin = fake_prefix / "bin" @@ -825,7 +826,7 @@ def test_env_view_external_prefix(tmp_path, mutable_database, mock_packages): """\ spack: specs: - - a + - pkg-a view: true """ ) @@ -833,9 +834,9 @@ def test_env_view_external_prefix(tmp_path, mutable_database, mock_packages): external_config = io.StringIO( """\ packages: - a: + pkg-a: externals: - - spec: a@2.0 + - spec: pkg-a@2.0 prefix: {a_prefix} buildable: false """.format( @@ -1559,7 +1560,6 @@ def test_uninstall_removes_from_env(mock_stage, mock_fetch, install_mockery): assert not test.user_specs -@pytest.mark.usefixtures("config") def test_indirect_build_dep(tmp_path): """Simple case of X->Y->Z where Y is a build/link dep and Z is a build-only dep. Make sure this concrete DAG is preserved when writing the @@ -1587,7 +1587,6 @@ def test_indirect_build_dep(tmp_path): assert x_env_spec == x_concretized -@pytest.mark.usefixtures("config") def test_store_different_build_deps(tmp_path): r"""Ensure that an environment can store two instances of a build-only dependency:: @@ -2328,7 +2327,7 @@ def test_stack_yaml_force_remove_from_matrix(tmpdir): assert mpileaks_spec not in after_conc -def test_stack_concretize_extraneous_deps(tmpdir, config, mock_packages): +def test_stack_concretize_extraneous_deps(tmpdir, mock_packages): # FIXME: The new concretizer doesn't handle yet soft # FIXME: constraints for stacks # FIXME: This now works for statically-determinable invalid deps @@ -2367,7 +2366,7 @@ def test_stack_concretize_extraneous_deps(tmpdir, config, mock_packages): assert concrete.satisfies("^mpi") -def test_stack_concretize_extraneous_variants(tmpdir, config, mock_packages): +def test_stack_concretize_extraneous_variants(tmpdir, mock_packages): filename = str(tmpdir.join("spack.yaml")) with open(filename, "w") as f: f.write( @@ -2399,7 +2398,7 @@ def test_stack_concretize_extraneous_variants(tmpdir, config, mock_packages): assert concrete.variants["shared"].value == user.variants["shared"].value -def test_stack_concretize_extraneous_variants_with_dash(tmpdir, config, mock_packages): +def test_stack_concretize_extraneous_variants_with_dash(tmpdir, mock_packages): filename = str(tmpdir.join("spack.yaml")) with open(filename, "w") as f: f.write( @@ -3750,7 +3749,7 @@ def test_environment_query_spec_by_hash(mock_stage, mock_fetch, install_mockery) @pytest.mark.parametrize("lockfile", ["v1", "v2", "v3"]) -def test_read_old_lock_and_write_new(config, tmpdir, lockfile): +def test_read_old_lock_and_write_new(tmpdir, lockfile): # v1 lockfiles stored by a coarse DAG hash that did not include build deps. # They could not represent multiple build deps with different build hashes. # @@ -3816,7 +3815,7 @@ def test_read_old_lock_and_write_new(config, tmpdir, lockfile): assert old_hashes == hashes -def test_read_v1_lock_creates_backup(config, tmp_path): +def test_read_v1_lock_creates_backup(tmp_path): """When reading a version-1 lockfile, make sure that a backup of that file is created. """ @@ -4199,7 +4198,7 @@ def test_env_include_packages_url( assert "openmpi" in cfg["all"]["providers"]["mpi"] -def test_relative_view_path_on_command_line_is_made_absolute(tmp_path, config): +def test_relative_view_path_on_command_line_is_made_absolute(tmp_path): with fs.working_dir(str(tmp_path)): env("create", "--with-view", "view", "--dir", "env") environment = ev.Environment(os.path.join(".", "env")) diff --git a/lib/spack/spack/test/cmd/extensions.py b/lib/spack/spack/test/cmd/extensions.py index 5869e466422a02..b97bfa8b06c8b1 100644 --- a/lib/spack/spack/test/cmd/extensions.py +++ b/lib/spack/spack/test/cmd/extensions.py @@ -24,7 +24,7 @@ def python_database(mock_packages, mutable_database): @pytest.mark.not_on_windows("All Fetchers Failed") @pytest.mark.db -def test_extensions(mock_packages, python_database, config, capsys): +def test_extensions(mock_packages, python_database, capsys): ext2 = Spec("py-extension2").concretized() def check_output(ni): diff --git a/lib/spack/spack/test/cmd/external.py b/lib/spack/spack/test/cmd/external.py index e5bb29c6ea8d73..2de6f18b506884 100644 --- a/lib/spack/spack/test/cmd/external.py +++ b/lib/spack/spack/test/cmd/external.py @@ -11,6 +11,7 @@ from llnl.util.filesystem import getuid, touch import spack +import spack.cmd.external import spack.detection import spack.detection.path from spack.main import SpackCommand @@ -311,3 +312,29 @@ def test_failures_in_scanning_do_not_result_in_an_error( assert "cmake" in output assert "3.23.3" in output assert "3.19.1" not in output + + +def test_detect_virtuals(mock_executable, mutable_config, monkeypatch): + """Test whether external find --not-buildable sets virtuals as non-buildable (unless user + config sets them to buildable)""" + mpich = mock_executable("mpichversion", output="echo MPICH Version: 4.0.2") + prefix = os.path.dirname(mpich) + external("find", "--path", prefix, "--not-buildable", "mpich") + + # Check that mpich was correctly detected + mpich = mutable_config.get("packages:mpich") + assert mpich["buildable"] is False + assert Spec(mpich["externals"][0]["spec"]).satisfies("mpich@4.0.2") + + # Check that the virtual package mpi was marked as non-buildable + assert mutable_config.get("packages:mpi:buildable") is False + + # Delete the mpich entry, and set mpi explicitly to buildable + mutable_config.set("packages:mpich", {}) + mutable_config.set("packages:mpi:buildable", True) + + # Run the detection again + external("find", "--path", prefix, "--not-buildable", "mpich") + + # Check that the mpi:buildable entry was not overwritten + assert mutable_config.get("packages:mpi:buildable") is True diff --git a/lib/spack/spack/test/cmd/fetch.py b/lib/spack/spack/test/cmd/fetch.py index cf05f4299d925e..d2ba0f82803c85 100644 --- a/lib/spack/spack/test/cmd/fetch.py +++ b/lib/spack/spack/test/cmd/fetch.py @@ -9,7 +9,9 @@ from spack.main import SpackCommand, SpackCommandError # everything here uses the mock_env_path -pytestmark = pytest.mark.usefixtures("mutable_mock_env_path", "config", "mutable_mock_repo") +pytestmark = pytest.mark.usefixtures( + "mutable_mock_env_path", "mutable_config", "mutable_mock_repo" +) @pytest.mark.disable_clean_stage_check diff --git a/lib/spack/spack/test/cmd/find.py b/lib/spack/spack/test/cmd/find.py index 37a0a7ff14463d..46f05ab6e9ca65 100644 --- a/lib/spack/spack/test/cmd/find.py +++ b/lib/spack/spack/test/cmd/find.py @@ -337,7 +337,7 @@ def test_find_command_basic_usage(database): @pytest.mark.not_on_windows("envirnment is not yet supported on windows") @pytest.mark.regression("9875") def test_find_prefix_in_env( - mutable_mock_env_path, install_mockery, mock_fetch, mock_packages, mock_archive, config + mutable_mock_env_path, install_mockery, mock_fetch, mock_packages, mock_archive ): """Test `find` formats requiring concrete specs work in environments.""" env("create", "test") @@ -349,7 +349,7 @@ def test_find_prefix_in_env( # Would throw error on regression -def test_find_specs_include_concrete_env(mutable_mock_env_path, config, mutable_mock_repo, tmpdir): +def test_find_specs_include_concrete_env(mutable_mock_env_path, mutable_mock_repo, tmpdir): path = tmpdir.join("spack.yaml") with tmpdir.as_cwd(): @@ -393,9 +393,7 @@ def test_find_specs_include_concrete_env(mutable_mock_env_path, config, mutable_ assert "libelf" in output -def test_find_specs_nested_include_concrete_env( - mutable_mock_env_path, config, mutable_mock_repo, tmpdir -): +def test_find_specs_nested_include_concrete_env(mutable_mock_env_path, mutable_mock_repo, tmpdir): path = tmpdir.join("spack.yaml") with tmpdir.as_cwd(): @@ -434,7 +432,7 @@ def test_find_loaded(database, working_env): output = find("--loaded", "--group") assert output == "" - os.environ[uenv.spack_loaded_hashes_var] = ":".join( + os.environ[uenv.spack_loaded_hashes_var] = os.pathsep.join( [x.dag_hash() for x in spack.store.STORE.db.query()] ) output = find("--loaded") diff --git a/lib/spack/spack/test/cmd/gc.py b/lib/spack/spack/test/cmd/gc.py index 05f7a111adf0a5..e646f8f8d5a43f 100644 --- a/lib/spack/spack/test/cmd/gc.py +++ b/lib/spack/spack/test/cmd/gc.py @@ -20,13 +20,13 @@ @pytest.mark.db -def test_gc_without_build_dependency(config, mutable_database): +def test_gc_without_build_dependency(mutable_database): assert "There are no unused specs." in gc("-yb") assert "There are no unused specs." in gc("-y") @pytest.mark.db -def test_gc_with_build_dependency(config, mutable_database): +def test_gc_with_build_dependency(mutable_database): s = spack.spec.Spec("simple-inheritance") s.concretize() s.package.do_install(fake=True, explicit=True) @@ -37,7 +37,7 @@ def test_gc_with_build_dependency(config, mutable_database): @pytest.mark.db -def test_gc_with_environment(config, mutable_database, mutable_mock_env_path): +def test_gc_with_environment(mutable_database, mutable_mock_env_path): s = spack.spec.Spec("simple-inheritance") s.concretize() s.package.do_install(fake=True, explicit=True) @@ -53,7 +53,7 @@ def test_gc_with_environment(config, mutable_database, mutable_mock_env_path): @pytest.mark.db -def test_gc_with_build_dependency_in_environment(config, mutable_database, mutable_mock_env_path): +def test_gc_with_build_dependency_in_environment(mutable_database, mutable_mock_env_path): s = spack.spec.Spec("simple-inheritance") s.concretize() s.package.do_install(fake=True, explicit=True) @@ -78,7 +78,7 @@ def test_gc_with_build_dependency_in_environment(config, mutable_database, mutab @pytest.mark.db -def test_gc_except_any_environments(config, mutable_database, mutable_mock_env_path): +def test_gc_except_any_environments(mutable_database, mutable_mock_env_path): """Tests whether the garbage collector can remove all specs except those still needed in some environment (needed in the sense of roots + link/run deps).""" assert mutable_database.query_local("zmpi") @@ -105,7 +105,7 @@ def test_gc_except_any_environments(config, mutable_database, mutable_mock_env_p @pytest.mark.db -def test_gc_except_specific_environments(config, mutable_database, mutable_mock_env_path): +def test_gc_except_specific_environments(mutable_database, mutable_mock_env_path): s = spack.spec.Spec("simple-inheritance") s.concretize() s.package.do_install(fake=True, explicit=True) @@ -125,14 +125,14 @@ def test_gc_except_specific_environments(config, mutable_database, mutable_mock_ @pytest.mark.db -def test_gc_except_nonexisting_dir_env(config, mutable_database, mutable_mock_env_path, tmpdir): +def test_gc_except_nonexisting_dir_env(mutable_database, mutable_mock_env_path, tmpdir): output = gc("-ye", tmpdir.strpath, fail_on_error=False) assert "No such environment" in output gc.returncode == 1 @pytest.mark.db -def test_gc_except_specific_dir_env(config, mutable_database, mutable_mock_env_path, tmpdir): +def test_gc_except_specific_dir_env(mutable_database, mutable_mock_env_path, tmpdir): s = spack.spec.Spec("simple-inheritance") s.concretize() s.package.do_install(fake=True, explicit=True) diff --git a/lib/spack/spack/test/cmd/info.py b/lib/spack/spack/test/cmd/info.py index e3d7b383a5e908..a0ea57b03e4cc1 100644 --- a/lib/spack/spack/test/cmd/info.py +++ b/lib/spack/spack/test/cmd/info.py @@ -57,9 +57,9 @@ def test_info_noversion(mock_packages, print_buffer): @pytest.mark.parametrize( - "pkg_query,expected", [("zlib", "False"), ("gcc", "True (version, variants)")] + "pkg_query,expected", [("zlib", "False"), ("find-externals1", "True (version)")] ) -def test_is_externally_detectable(pkg_query, expected, parser, print_buffer): +def test_is_externally_detectable(mock_packages, pkg_query, expected, parser, print_buffer): args = parser.parse_args(["--detectable", pkg_query]) spack.cmd.info.info(parser, args) diff --git a/lib/spack/spack/test/cmd/install.py b/lib/spack/spack/test/cmd/install.py index 17a35b89735029..5f8119f01763d2 100644 --- a/lib/spack/spack/test/cmd/install.py +++ b/lib/spack/spack/test/cmd/install.py @@ -49,7 +49,7 @@ def noop(*args, **kwargs): def test_install_package_and_dependency( - tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery + tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery ): log = "test" with tmpdir.as_cwd(): @@ -89,11 +89,11 @@ def check(pkg): assert pkg.run_tests monkeypatch.setattr(spack.package_base.PackageBase, "unit_test_check", check) - install("--test=all", "a") + install("--test=all", "pkg-a") def test_install_package_already_installed( - tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery + tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery ): with tmpdir.as_cwd(): install("libdwarf") @@ -149,7 +149,7 @@ def test_package_output(tmpdir, capsys, install_mockery, mock_fetch): @pytest.mark.disable_clean_stage_check def test_install_output_on_build_error( - mock_packages, mock_archive, mock_fetch, config, install_mockery, capfd + mock_packages, mock_archive, mock_fetch, install_mockery, capfd ): """ This test used to assume receiving full output, but since we've updated @@ -163,9 +163,7 @@ def test_install_output_on_build_error( @pytest.mark.disable_clean_stage_check -def test_install_output_on_python_error( - mock_packages, mock_archive, mock_fetch, config, install_mockery -): +def test_install_output_on_python_error(mock_packages, mock_archive, mock_fetch, install_mockery): out = install("failing-build", fail_on_error=False) assert isinstance(install.error, spack.build_environment.ChildError) assert install.error.name == "InstallError" @@ -173,7 +171,7 @@ def test_install_output_on_python_error( @pytest.mark.disable_clean_stage_check -def test_install_with_source(mock_packages, mock_archive, mock_fetch, config, install_mockery): +def test_install_with_source(mock_packages, mock_archive, mock_fetch, install_mockery): """Verify that source has been copied into place.""" install("--source", "--keep-stage", "trivial-install-test-package") spec = Spec("trivial-install-test-package").concretized() @@ -183,7 +181,7 @@ def test_install_with_source(mock_packages, mock_archive, mock_fetch, config, in ) -def test_install_env_variables(mock_packages, mock_archive, mock_fetch, config, install_mockery): +def test_install_env_variables(mock_packages, mock_archive, mock_fetch, install_mockery): spec = Spec("libdwarf") spec.concretize() install("libdwarf") @@ -191,9 +189,7 @@ def test_install_env_variables(mock_packages, mock_archive, mock_fetch, config, @pytest.mark.disable_clean_stage_check -def test_show_log_on_error( - mock_packages, mock_archive, mock_fetch, config, install_mockery, capfd -): +def test_show_log_on_error(mock_packages, mock_archive, mock_fetch, install_mockery, capfd): """ Make sure --show-log-on-error works. """ @@ -206,7 +202,7 @@ def test_show_log_on_error( assert "See build log for details:" in out -def test_install_overwrite(mock_packages, mock_archive, mock_fetch, config, install_mockery): +def test_install_overwrite(mock_packages, mock_archive, mock_fetch, install_mockery): # Try to install a spec and then to reinstall it. spec = Spec("libdwarf") spec.concretize() @@ -240,9 +236,7 @@ def test_install_overwrite(mock_packages, mock_archive, mock_fetch, config, inst assert fs.hash_directory(spec.prefix, ignore=ignores) != bad_md5 -def test_install_overwrite_not_installed( - mock_packages, mock_archive, mock_fetch, config, install_mockery -): +def test_install_overwrite_not_installed(mock_packages, mock_archive, mock_fetch, install_mockery): # Try to install a spec and then to reinstall it. spec = Spec("libdwarf") spec.concretize() @@ -277,9 +271,7 @@ def test_install_commit(mock_git_version_info, install_mockery, mock_packages, m assert content == "[0]" # contents are weird for another test -def test_install_overwrite_multiple( - mock_packages, mock_archive, mock_fetch, config, install_mockery -): +def test_install_overwrite_multiple(mock_packages, mock_archive, mock_fetch, install_mockery): # Try to install a spec and then to reinstall it. libdwarf = Spec("libdwarf") libdwarf.concretize() @@ -337,18 +329,14 @@ def test_install_overwrite_multiple( assert cm_hash != bad_cmake_md5 -@pytest.mark.usefixtures( - "mock_packages", "mock_archive", "mock_fetch", "config", "install_mockery" -) +@pytest.mark.usefixtures("mock_packages", "mock_archive", "mock_fetch", "install_mockery") def test_install_conflicts(conflict_spec): # Make sure that spec with conflicts raises a SpackError with pytest.raises(SpackError): install(conflict_spec) -@pytest.mark.usefixtures( - "mock_packages", "mock_archive", "mock_fetch", "config", "install_mockery" -) +@pytest.mark.usefixtures("mock_packages", "mock_archive", "mock_fetch", "install_mockery") def test_install_invalid_spec(invalid_spec): # Make sure that invalid specs raise a SpackError with pytest.raises(SpecSyntaxError, match="unexpected tokens"): @@ -390,9 +378,7 @@ def test_install_from_file(spec, concretize, error_code, tmpdir): @pytest.mark.disable_clean_stage_check -@pytest.mark.usefixtures( - "mock_packages", "mock_archive", "mock_fetch", "config", "install_mockery" -) +@pytest.mark.usefixtures("mock_packages", "mock_archive", "mock_fetch", "install_mockery") @pytest.mark.parametrize( "exc_typename,msg", [("RuntimeError", "something weird happened"), ("ValueError", "spec is not concrete")], @@ -448,7 +434,6 @@ def test_junit_output_with_errors( mock_archive, mock_fetch, install_mockery, - config, tmpdir, monkeypatch, ): @@ -509,9 +494,7 @@ def test_install_mix_cli_and_files(clispecs, filespecs, tmpdir): assert install.returncode == 0 -def test_extra_files_are_archived( - mock_packages, mock_archive, mock_fetch, config, install_mockery -): +def test_extra_files_are_archived(mock_packages, mock_archive, mock_fetch, install_mockery): s = Spec("archive-files") s.concretize() @@ -570,100 +553,96 @@ def test_cdash_upload_build_error(tmpdir, mock_fetch, install_mockery, capfd): @pytest.mark.disable_clean_stage_check def test_cdash_upload_clean_build(tmpdir, mock_fetch, install_mockery, capfd): # capfd interferes with Spack's capturing of e.g., Build.xml output - with capfd.disabled(): - with tmpdir.as_cwd(): - install("--log-file=cdash_reports", "--log-format=cdash", "a") - report_dir = tmpdir.join("cdash_reports") - assert report_dir in tmpdir.listdir() - report_file = report_dir.join("a_Build.xml") - assert report_file in report_dir.listdir() - content = report_file.open().read() - assert "" in content - assert "" not in content + with capfd.disabled(), tmpdir.as_cwd(): + install("--log-file=cdash_reports", "--log-format=cdash", "pkg-a") + report_dir = tmpdir.join("cdash_reports") + assert report_dir in tmpdir.listdir() + report_file = report_dir.join("pkg-a_Build.xml") + assert report_file in report_dir.listdir() + content = report_file.open().read() + assert "" in content + assert "" not in content @pytest.mark.disable_clean_stage_check def test_cdash_upload_extra_params(tmpdir, mock_fetch, install_mockery, capfd): # capfd interferes with Spack's capture of e.g., Build.xml output - with capfd.disabled(): - with tmpdir.as_cwd(): - install( - "--log-file=cdash_reports", - "--log-format=cdash", - "--cdash-build=my_custom_build", - "--cdash-site=my_custom_site", - "--cdash-track=my_custom_track", - "a", - ) - report_dir = tmpdir.join("cdash_reports") - assert report_dir in tmpdir.listdir() - report_file = report_dir.join("a_Build.xml") - assert report_file in report_dir.listdir() - content = report_file.open().read() - assert 'Site BuildName="my_custom_build - a"' in content - assert 'Name="my_custom_site"' in content - assert "-my_custom_track" in content + with capfd.disabled(), tmpdir.as_cwd(): + install( + "--log-file=cdash_reports", + "--log-format=cdash", + "--cdash-build=my_custom_build", + "--cdash-site=my_custom_site", + "--cdash-track=my_custom_track", + "pkg-a", + ) + report_dir = tmpdir.join("cdash_reports") + assert report_dir in tmpdir.listdir() + report_file = report_dir.join("pkg-a_Build.xml") + assert report_file in report_dir.listdir() + content = report_file.open().read() + assert 'Site BuildName="my_custom_build - pkg-a"' in content + assert 'Name="my_custom_site"' in content + assert "-my_custom_track" in content @pytest.mark.disable_clean_stage_check def test_cdash_buildstamp_param(tmpdir, mock_fetch, install_mockery, capfd): # capfd interferes with Spack's capture of e.g., Build.xml output - with capfd.disabled(): - with tmpdir.as_cwd(): - cdash_track = "some_mocked_track" - buildstamp_format = "%Y%m%d-%H%M-{0}".format(cdash_track) - buildstamp = time.strftime(buildstamp_format, time.localtime(int(time.time()))) - install( - "--log-file=cdash_reports", - "--log-format=cdash", - "--cdash-buildstamp={0}".format(buildstamp), - "a", - ) - report_dir = tmpdir.join("cdash_reports") - assert report_dir in tmpdir.listdir() - report_file = report_dir.join("a_Build.xml") - assert report_file in report_dir.listdir() - content = report_file.open().read() - assert buildstamp in content + with capfd.disabled(), tmpdir.as_cwd(): + cdash_track = "some_mocked_track" + buildstamp_format = "%Y%m%d-%H%M-{0}".format(cdash_track) + buildstamp = time.strftime(buildstamp_format, time.localtime(int(time.time()))) + install( + "--log-file=cdash_reports", + "--log-format=cdash", + "--cdash-buildstamp={0}".format(buildstamp), + "pkg-a", + ) + report_dir = tmpdir.join("cdash_reports") + assert report_dir in tmpdir.listdir() + report_file = report_dir.join("pkg-a_Build.xml") + assert report_file in report_dir.listdir() + content = report_file.open().read() + assert buildstamp in content @pytest.mark.disable_clean_stage_check def test_cdash_install_from_spec_json( - tmpdir, mock_fetch, install_mockery, capfd, mock_packages, mock_archive, config + tmpdir, mock_fetch, install_mockery, capfd, mock_packages, mock_archive ): # capfd interferes with Spack's capturing - with capfd.disabled(): - with tmpdir.as_cwd(): - spec_json_path = str(tmpdir.join("spec.json")) - - pkg_spec = Spec("a") - pkg_spec.concretize() - - with open(spec_json_path, "w") as fd: - fd.write(pkg_spec.to_json(hash=ht.dag_hash)) - - install( - "--log-format=cdash", - "--log-file=cdash_reports", - "--cdash-build=my_custom_build", - "--cdash-site=my_custom_site", - "--cdash-track=my_custom_track", - "-f", - spec_json_path, - ) + with capfd.disabled(), tmpdir.as_cwd(): + spec_json_path = str(tmpdir.join("spec.json")) - report_dir = tmpdir.join("cdash_reports") - assert report_dir in tmpdir.listdir() - report_file = report_dir.join("a_Configure.xml") - assert report_file in report_dir.listdir() - content = report_file.open().read() - install_command_regex = re.compile( - r"(.+)", re.MULTILINE | re.DOTALL - ) - m = install_command_regex.search(content) - assert m - install_command = m.group(1) - assert "a@" in install_command + pkg_spec = Spec("pkg-a") + pkg_spec.concretize() + + with open(spec_json_path, "w") as fd: + fd.write(pkg_spec.to_json(hash=ht.dag_hash)) + + install( + "--log-format=cdash", + "--log-file=cdash_reports", + "--cdash-build=my_custom_build", + "--cdash-site=my_custom_site", + "--cdash-track=my_custom_track", + "-f", + spec_json_path, + ) + + report_dir = tmpdir.join("cdash_reports") + assert report_dir in tmpdir.listdir() + report_file = report_dir.join("pkg-a_Configure.xml") + assert report_file in report_dir.listdir() + content = report_file.open().read() + install_command_regex = re.compile( + r"(.+)", re.MULTILINE | re.DOTALL + ) + m = install_command_regex.search(content) + assert m + install_command = m.group(1) + assert "pkg-a@" in install_command @pytest.mark.disable_clean_stage_check @@ -795,15 +774,15 @@ def test_install_no_add_in_env(tmpdir, mock_fetch, install_mockery, mutable_mock # ^libdwarf # ^mpich # libelf@0.8.10 - # a~bvv - # ^b - # a - # ^b + # pkg-a~bvv + # ^pkg-b + # pkg-a + # ^pkg-b e = ev.create("test", with_view=False) e.add("mpileaks") e.add("libelf@0.8.10") # so env has both root and dep libelf specs - e.add("a") - e.add("a ~bvv") + e.add("pkg-a") + e.add("pkg-a ~bvv") e.concretize() e.write() env_specs = e.all_specs() @@ -814,9 +793,9 @@ def test_install_no_add_in_env(tmpdir, mock_fetch, install_mockery, mutable_mock # First find and remember some target concrete specs in the environment for e_spec in env_specs: - if e_spec.satisfies(Spec("a ~bvv")): + if e_spec.satisfies(Spec("pkg-a ~bvv")): a_spec = e_spec - elif e_spec.name == "b": + elif e_spec.name == "pkg-b": b_spec = e_spec elif e_spec.satisfies(Spec("mpi")): mpi_spec = e_spec @@ -839,8 +818,8 @@ def test_install_no_add_in_env(tmpdir, mock_fetch, install_mockery, mutable_mock assert "You can add specs to the environment with 'spack add " in inst_out # Without --add, ensure that two packages "a" get installed - inst_out = install("a", output=str) - assert len([x for x in e.all_specs() if x.installed and x.name == "a"]) == 2 + inst_out = install("pkg-a", output=str) + assert len([x for x in e.all_specs() if x.installed and x.name == "pkg-a"]) == 2 # Install an unambiguous dependency spec (that already exists as a dep # in the environment) and make sure it gets installed (w/ deps), @@ -873,7 +852,7 @@ def test_install_no_add_in_env(tmpdir, mock_fetch, install_mockery, mutable_mock # root of the environment as well as installed. assert b_spec not in e.roots() - install("--add", "b") + install("--add", "pkg-b") assert b_spec in e.roots() assert b_spec not in e.uninstalled_specs() @@ -908,7 +887,7 @@ def test_cdash_auth_token(tmpdir, mock_fetch, install_mockery, monkeypatch, capf # capfd interferes with Spack's capturing with tmpdir.as_cwd(), capfd.disabled(): monkeypatch.setenv("SPACK_CDASH_AUTH_TOKEN", "asdf") - out = install("-v", "--log-file=cdash_reports", "--log-format=cdash", "a") + out = install("-v", "--log-file=cdash_reports", "--log-format=cdash", "pkg-a") assert "Using CDash auth token from environment" in out @@ -916,54 +895,42 @@ def test_cdash_auth_token(tmpdir, mock_fetch, install_mockery, monkeypatch, capf @pytest.mark.disable_clean_stage_check def test_cdash_configure_warning(tmpdir, mock_fetch, install_mockery, capfd): # capfd interferes with Spack's capturing of e.g., Build.xml output - with capfd.disabled(): - with tmpdir.as_cwd(): - # Test would fail if install raised an error. - - # Ensure that even on non-x86_64 architectures, there are no - # dependencies installed - spec = spack.spec.Spec("configure-warning").concretized() - spec.clear_dependencies() - specfile = "./spec.json" - with open(specfile, "w") as f: - f.write(spec.to_json()) - - install("--log-file=cdash_reports", "--log-format=cdash", specfile) - # Verify Configure.xml exists with expected contents. - report_dir = tmpdir.join("cdash_reports") - assert report_dir in tmpdir.listdir() - report_file = report_dir.join("Configure.xml") - assert report_file in report_dir.listdir() - content = report_file.open().read() - assert "foo: No such file or directory" in content + with capfd.disabled(), tmpdir.as_cwd(): + # Test would fail if install raised an error. + + # Ensure that even on non-x86_64 architectures, there are no + # dependencies installed + spec = Spec("configure-warning").concretized() + spec.clear_dependencies() + specfile = "./spec.json" + with open(specfile, "w") as f: + f.write(spec.to_json()) + + install("--log-file=cdash_reports", "--log-format=cdash", specfile) + # Verify Configure.xml exists with expected contents. + report_dir = tmpdir.join("cdash_reports") + assert report_dir in tmpdir.listdir() + report_file = report_dir.join("Configure.xml") + assert report_file in report_dir.listdir() + content = report_file.open().read() + assert "foo: No such file or directory" in content @pytest.mark.not_on_windows("ArchSpec gives test platform debian rather than windows") def test_compiler_bootstrap( - install_mockery_mutable_config, - mock_packages, - mock_fetch, - mock_archive, - mutable_config, - monkeypatch, + install_mockery, mock_packages, mock_fetch, mock_archive, mutable_config, monkeypatch ): monkeypatch.setattr(spack.concretize.Concretizer, "check_for_compiler_existence", False) spack.config.set("config:install_missing_compilers", True) assert CompilerSpec("gcc@=12.0") not in compilers.all_compiler_specs() # Test succeeds if it does not raise an error - install("a%gcc@=12.0") + install("pkg-a%gcc@=12.0") @pytest.mark.not_on_windows("Binary mirrors not supported on windows") def test_compiler_bootstrap_from_binary_mirror( - install_mockery_mutable_config, - mock_packages, - mock_fetch, - mock_archive, - mutable_config, - monkeypatch, - tmpdir, + install_mockery, mock_packages, mock_fetch, mock_archive, mutable_config, monkeypatch, tmpdir ): """ Make sure installing compiler from buildcache registers compiler @@ -992,19 +959,14 @@ def test_compiler_bootstrap_from_binary_mirror( # Now make sure that when the compiler is installed from binary mirror, # it also gets configured as a compiler. Test succeeds if it does not # raise an error - install("--no-check-signature", "--cache-only", "--only", "dependencies", "b%gcc@=10.2.0") - install("--no-cache", "--only", "package", "b%gcc@10.2.0") + install("--no-check-signature", "--cache-only", "--only", "dependencies", "pkg-b%gcc@=10.2.0") + install("--no-cache", "--only", "package", "pkg-b%gcc@10.2.0") @pytest.mark.not_on_windows("ArchSpec gives test platform debian rather than windows") @pytest.mark.regression("16221") def test_compiler_bootstrap_already_installed( - install_mockery_mutable_config, - mock_packages, - mock_fetch, - mock_archive, - mutable_config, - monkeypatch, + install_mockery, mock_packages, mock_fetch, mock_archive, mutable_config, monkeypatch ): monkeypatch.setattr(spack.concretize.Concretizer, "check_for_compiler_existence", False) spack.config.set("config:install_missing_compilers", True) @@ -1013,7 +975,7 @@ def test_compiler_bootstrap_already_installed( # Test succeeds if it does not raise an error install("gcc@=12.0") - install("a%gcc@=12.0") + install("pkg-a%gcc@=12.0") def test_install_fails_no_args(tmpdir): @@ -1104,13 +1066,7 @@ def test_installation_fail_tests(install_mockery, mock_fetch, name, method): @pytest.mark.not_on_windows("Buildcache not supported on windows") def test_install_use_buildcache( - capsys, - mock_packages, - mock_fetch, - mock_archive, - mock_binary_index, - tmpdir, - install_mockery_mutable_config, + capsys, mock_packages, mock_fetch, mock_archive, mock_binary_index, tmpdir, install_mockery ): """ Make sure installing with use-buildcache behaves correctly. @@ -1183,19 +1139,19 @@ def install_use_buildcache(opt): @pytest.mark.not_on_windows("Windows logger I/O operation on closed file when install fails") @pytest.mark.regression("34006") @pytest.mark.disable_clean_stage_check -def test_padded_install_runtests_root(install_mockery_mutable_config, mock_fetch): +def test_padded_install_runtests_root(install_mockery, mock_fetch): spack.config.set("config:install_tree:padded_length", 255) output = install("--test=root", "--no-cache", "test-build-callbacks", fail_on_error=False) assert output.count("method not implemented") == 1 @pytest.mark.regression("35337") -def test_report_filename_for_cdash(install_mockery_mutable_config, mock_fetch): +def test_report_filename_for_cdash(install_mockery, mock_fetch): """Test that the temporary file used to write the XML for CDash is not the upload URL""" parser = argparse.ArgumentParser() spack.cmd.install.setup_parser(parser) args = parser.parse_args( - ["--cdash-upload-url", "https://blahblah/submit.php?project=debugging", "a"] + ["--cdash-upload-url", "https://blahblah/submit.php?project=debugging", "pkg-a"] ) specs = spack.cmd.install.concrete_specs_from_cli(args, {}) filename = spack.cmd.install.report_filename(args, specs) diff --git a/lib/spack/spack/test/cmd/load.py b/lib/spack/spack/test/cmd/load.py index e2abe72e0e15d9..73a062ebd41203 100644 --- a/lib/spack/spack/test/cmd/load.py +++ b/lib/spack/spack/test/cmd/load.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) import os import re +import sys import pytest @@ -17,101 +18,125 @@ install = SpackCommand("install") location = SpackCommand("location") -pytestmark = pytest.mark.not_on_windows("does not run on windows") - def test_manpath_trailing_colon( install_mockery, mock_fetch, mock_archive, mock_packages, working_env ): + (shell, set_command, commandsep) = ( + ("--bat", 'set "%s=%s"', "\n") + if sys.platform == "win32" + else ("--sh", "export %s=%s", ";") + ) + """Test that the commands generated by load add the MANPATH prefix inspections. Also test that Spack correctly preserves the default/existing manpath search path via a trailing colon""" install("mpileaks") - sh_out = load("--sh", "mpileaks") - lines = sh_out.split("\n") - assert any(re.match(r"export MANPATH=.*:;", ln) for ln in lines) - - os.environ["MANPATH"] = "/tmp/man:" - - sh_out = load("--sh", "mpileaks") - lines = sh_out.split("\n") - assert any(re.match(r"export MANPATH=.*:/tmp/man:;", ln) for ln in lines) - - -def test_load_recursive(install_mockery, mock_fetch, mock_archive, mock_packages, working_env): - """Test that `spack load` applies prefix inspections of its required runtime deps in - topo-order""" - install("mpileaks") - mpileaks_spec = spack.spec.Spec("mpileaks").concretized() - - # Ensure our reference variable is cleed. - os.environ["CMAKE_PREFIX_PATH"] = "/hello:/world" - - sh_out = load("--sh", "mpileaks") - csh_out = load("--csh", "mpileaks") - - def extract_cmake_prefix_path(output, prefix): - return next(cmd for cmd in output.split(";") if cmd.startswith(prefix))[ - len(prefix) : - ].split(":") + sh_out = load(shell, "mpileaks") + lines = [line.strip("\n") for line in sh_out.split(commandsep)] + assert any(re.match(set_command % ("MANPATH", ".*" + os.pathsep), ln) for ln in lines) + os.environ["MANPATH"] = "/tmp/man" + os.pathsep - # Map a prefix found in CMAKE_PREFIX_PATH back to a package name in mpileaks' DAG. - prefix_to_pkg = lambda prefix: next( - s.name for s in mpileaks_spec.traverse() if s.prefix == prefix + sh_out = load(shell, "mpileaks") + lines = [line.strip("\n") for line in sh_out.split(commandsep)] + assert any( + re.match(set_command % ("MANPATH", ".*" + os.pathsep + "/tmp/man" + os.pathsep), ln) + for ln in lines ) - paths_sh = extract_cmake_prefix_path(sh_out, prefix="export CMAKE_PREFIX_PATH=") - paths_csh = extract_cmake_prefix_path(csh_out, prefix="setenv CMAKE_PREFIX_PATH ") - # Shouldn't be a difference between loading csh / sh, so check they're the same. - assert paths_sh == paths_csh - - # We should've prepended new paths, and keep old ones. - assert paths_sh[-2:] == ["/hello", "/world"] - - # All but the last two paths are added by spack load; lookup what packages they're from. - pkgs = [prefix_to_pkg(p) for p in paths_sh[:-2]] - - # Do we have all the runtime packages? - assert set(pkgs) == set( - s.name for s in mpileaks_spec.traverse(deptype=("link", "run"), root=True) - ) - - # Finally, do we list them in topo order? - for i, pkg in enumerate(pkgs): - set(s.name for s in mpileaks_spec[pkg].traverse(direction="parents")) in set(pkgs[:i]) - - # Lastly, do we keep track that mpileaks was loaded? - assert f"export {uenv.spack_loaded_hashes_var}={mpileaks_spec.dag_hash()}" in sh_out - assert f"setenv {uenv.spack_loaded_hashes_var} {mpileaks_spec.dag_hash()}" in csh_out - - -def test_load_includes_run_env(install_mockery, mock_fetch, mock_archive, mock_packages): +def test_load_recursive(install_mockery, mock_fetch, mock_archive, mock_packages, working_env): + def test_load_shell(shell, set_command): + """Test that `spack load` applies prefix inspections of its required runtime deps in + topo-order""" + install("mpileaks") + mpileaks_spec = spack.spec.Spec("mpileaks").concretized() + + # Ensure our reference variable is clean. + os.environ["CMAKE_PREFIX_PATH"] = "/hello" + os.pathsep + "/world" + + shell_out = load(shell, "mpileaks") + + def extract_value(output, variable): + match = re.search(set_command % variable, output, flags=re.MULTILINE) + value = match.group(1) + return value.split(os.pathsep) + + # Map a prefix found in CMAKE_PREFIX_PATH back to a package name in mpileaks' DAG. + prefix_to_pkg = lambda prefix: next( + s.name for s in mpileaks_spec.traverse() if s.prefix == prefix + ) + + paths_shell = extract_value(shell_out, "CMAKE_PREFIX_PATH") + + # We should've prepended new paths, and keep old ones. + assert paths_shell[-2:] == ["/hello", "/world"] + + # All but the last two paths are added by spack load; lookup what packages they're from. + pkgs = [prefix_to_pkg(p) for p in paths_shell[:-2]] + + # Do we have all the runtime packages? + assert set(pkgs) == set( + s.name for s in mpileaks_spec.traverse(deptype=("link", "run"), root=True) + ) + + # Finally, do we list them in topo order? + for i, pkg in enumerate(pkgs): + set(s.name for s in mpileaks_spec[pkg].traverse(direction="parents")) in set(pkgs[:i]) + + # Lastly, do we keep track that mpileaks was loaded? + assert ( + extract_value(shell_out, uenv.spack_loaded_hashes_var)[0] == mpileaks_spec.dag_hash() + ) + return paths_shell + + if sys.platform == "win32": + shell, set_command = ("--bat", r'set "%s=(.*)"') + test_load_shell(shell, set_command) + else: + params = [("--sh", r"export %s=([^;]*)"), ("--csh", r"setenv %s ([^;]*)")] + shell, set_command = params[0] + paths_sh = test_load_shell(shell, set_command) + shell, set_command = params[1] + paths_csh = test_load_shell(shell, set_command) + assert paths_sh == paths_csh + + +@pytest.mark.parametrize( + "shell,set_command", + ( + [("--bat", 'set "%s=%s"')] + if sys.platform == "win32" + else [("--sh", "export %s=%s"), ("--csh", "setenv %s %s")] + ), +) +def test_load_includes_run_env( + shell, set_command, install_mockery, mock_fetch, mock_archive, mock_packages +): """Tests that environment changes from the package's `setup_run_environment` method are added to the user environment in addition to the prefix inspections""" install("mpileaks") - sh_out = load("--sh", "mpileaks") - csh_out = load("--csh", "mpileaks") + shell_out = load(shell, "mpileaks") - assert "export FOOBAR=mpileaks" in sh_out - assert "setenv FOOBAR mpileaks" in csh_out + assert set_command % ("FOOBAR", "mpileaks") in shell_out def test_load_first(install_mockery, mock_fetch, mock_archive, mock_packages): """Test with and without the --first option""" + shell = "--bat" if sys.platform == "win32" else "--sh" install("libelf@0.8.12") install("libelf@0.8.13") # Now there are two versions of libelf, which should cause an error - out = load("--sh", "libelf", fail_on_error=False) + out = load(shell, "libelf", fail_on_error=False) assert "matches multiple packages" in out assert "Use a more specific spec" in out # Using --first should avoid the error condition - load("--sh", "--first", "libelf") + load(shell, "--first", "libelf") def test_load_fails_no_shell(install_mockery, mock_fetch, mock_archive, mock_packages): @@ -122,7 +147,24 @@ def test_load_fails_no_shell(install_mockery, mock_fetch, mock_archive, mock_pac assert "To set up shell support" in out -def test_unload(install_mockery, mock_fetch, mock_archive, mock_packages, working_env): +@pytest.mark.parametrize( + "shell,set_command,unset_command", + ( + [("--bat", 'set "%s=%s"', 'set "%s="')] + if sys.platform == "win32" + else [("--sh", "export %s=%s", "unset %s"), ("--csh", "setenv %s %s", "unsetenv %s")] + ), +) +def test_unload( + shell, + set_command, + unset_command, + install_mockery, + mock_fetch, + mock_archive, + mock_packages, + working_env, +): """Tests that any variables set in the user environment are undone by the unload command""" install("mpileaks") @@ -130,16 +172,16 @@ def test_unload(install_mockery, mock_fetch, mock_archive, mock_packages, workin # Set so unload has something to do os.environ["FOOBAR"] = "mpileaks" - os.environ[uenv.spack_loaded_hashes_var] = "%s:%s" % (mpileaks_spec.dag_hash(), "garbage") + os.environ[uenv.spack_loaded_hashes_var] = ("%s" + os.pathsep + "%s") % ( + mpileaks_spec.dag_hash(), + "garbage", + ) - sh_out = unload("--sh", "mpileaks") - csh_out = unload("--csh", "mpileaks") + shell_out = unload(shell, "mpileaks") - assert "unset FOOBAR" in sh_out - assert "unsetenv FOOBAR" in csh_out + assert (unset_command % "FOOBAR") in shell_out - assert "export %s=garbage" % uenv.spack_loaded_hashes_var in sh_out - assert "setenv %s garbage" % uenv.spack_loaded_hashes_var in csh_out + assert set_command % (uenv.spack_loaded_hashes_var, "garbage") in shell_out def test_unload_fails_no_shell( diff --git a/lib/spack/spack/test/cmd/location.py b/lib/spack/spack/test/cmd/location.py index 25008e8e447b35..9e42a03b021828 100644 --- a/lib/spack/spack/test/cmd/location.py +++ b/lib/spack/spack/test/cmd/location.py @@ -3,7 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import os import shutil import pytest @@ -16,10 +15,8 @@ from spack.main import SpackCommand, SpackCommandError # Everything here uses (or can use) the mock config and database. -pytestmark = [ - pytest.mark.usefixtures("config", "database"), - pytest.mark.not_on_windows("does not run on windows"), -] +pytestmark = [pytest.mark.usefixtures("mutable_config", "mutable_database")] + # location prints out "locations of packages and spack directories" location = SpackCommand("location") env = SpackCommand("env") @@ -65,7 +62,7 @@ def test_location_source_dir_missing(): prefix = "==> Error: " expected = ( "%sSource directory does not exist yet. Run this to create it:" - "%s spack stage %s" % (prefix, os.linesep, spec) + "%s spack stage %s" % (prefix, "\n", spec) ) out = location("--source-dir", spec, fail_on_error=False).strip() assert out == expected @@ -126,6 +123,7 @@ def test_location_env_missing(): @pytest.mark.db +@pytest.mark.not_on_windows("Broken on Windows") def test_location_install_dir(mock_spec): """Tests spack location --install-dir.""" spec, _ = mock_spec diff --git a/lib/spack/spack/test/cmd/maintainers.py b/lib/spack/spack/test/cmd/maintainers.py index 2724d7ec834db6..3928bebff11c09 100644 --- a/lib/spack/spack/test/cmd/maintainers.py +++ b/lib/spack/spack/test/cmd/maintainers.py @@ -121,7 +121,7 @@ def test_maintainers_list_packages(mock_packages, capfd): def test_maintainers_list_fails(mock_packages, capfd): - out = maintainers("a", fail_on_error=False) + out = maintainers("pkg-a", fail_on_error=False) assert not out assert maintainers.returncode == 1 diff --git a/lib/spack/spack/test/cmd/mirror.py b/lib/spack/spack/test/cmd/mirror.py index b5dec9c4bcd5fe..c1e24a9825ea55 100644 --- a/lib/spack/spack/test/cmd/mirror.py +++ b/lib/spack/spack/test/cmd/mirror.py @@ -35,7 +35,7 @@ def test_regression_8083(tmpdir, capfd, mock_packages, mock_fetch, config): @pytest.mark.regression("12345") -def test_mirror_from_env(tmp_path, mock_packages, mock_fetch, config, mutable_mock_env_path): +def test_mirror_from_env(tmp_path, mock_packages, mock_fetch, mutable_mock_env_path): mirror_dir = str(tmp_path / "mirror") env_name = "test" @@ -232,13 +232,7 @@ def test_mirror_name_collision(mutable_config): def test_mirror_destroy( - install_mockery_mutable_config, - mock_packages, - mock_fetch, - mock_archive, - mutable_config, - monkeypatch, - tmpdir, + install_mockery, mock_packages, mock_fetch, mock_archive, mutable_config, monkeypatch, tmpdir ): # Create a temp mirror directory for buildcache usage mirror_dir = tmpdir.join("mirror_dir") diff --git a/lib/spack/spack/test/cmd/module.py b/lib/spack/spack/test/cmd/module.py index 4c1ea784320504..4b460eb90aead9 100644 --- a/lib/spack/spack/test/cmd/module.py +++ b/lib/spack/spack/test/cmd/module.py @@ -11,6 +11,7 @@ import spack.config import spack.main import spack.modules +import spack.spec import spack.store module = spack.main.SpackCommand("module") @@ -139,7 +140,7 @@ def test_find_recursive(): @pytest.mark.db -def test_find_recursive_excluded(database, module_configuration): +def test_find_recursive_excluded(mutable_database, module_configuration): module_configuration("exclude") module("lmod", "refresh", "-y", "--delete-tree") @@ -147,7 +148,7 @@ def test_find_recursive_excluded(database, module_configuration): @pytest.mark.db -def test_loads_recursive_excluded(database, module_configuration): +def test_loads_recursive_excluded(mutable_database, module_configuration): module_configuration("exclude") module("lmod", "refresh", "-y", "--delete-tree") @@ -178,8 +179,8 @@ def test_setdefault_command(mutable_database, mutable_config): } } spack.config.set("modules", data) - # Install two different versions of a package - other_spec, preferred = "a@1.0", "a@2.0" + # Install two different versions of pkg-a + other_spec, preferred = "pkg-a@1.0", "pkg-a@2.0" spack.spec.Spec(other_spec).concretized().package.do_install(fake=True) spack.spec.Spec(preferred).concretized().package.do_install(fake=True) diff --git a/lib/spack/spack/test/cmd/pkg.py b/lib/spack/spack/test/cmd/pkg.py index f37d66363e5767..c6db5693c786aa 100644 --- a/lib/spack/spack/test/cmd/pkg.py +++ b/lib/spack/spack/test/cmd/pkg.py @@ -13,6 +13,7 @@ import spack.cmd.pkg import spack.main import spack.repo +import spack.util.file_cache #: new fake package template pkg_template = """\ @@ -28,19 +29,20 @@ def install(self, spec, prefix): pass """ -abc = set(("pkg-a", "pkg-b", "pkg-c")) -abd = set(("pkg-a", "pkg-b", "pkg-d")) +abc = {"mockpkg-a", "mockpkg-b", "mockpkg-c"} +abd = {"mockpkg-a", "mockpkg-b", "mockpkg-d"} # Force all tests to use a git repository *in* the mock packages repo. @pytest.fixture(scope="module") -def mock_pkg_git_repo(git, tmpdir_factory): +def mock_pkg_git_repo(git, tmp_path_factory): """Copy the builtin.mock repo and make a mutable git repo inside it.""" - tmproot = tmpdir_factory.mktemp("mock_pkg_git_repo") - repo_path = tmproot.join("builtin.mock") + root_dir = tmp_path_factory.mktemp("mock_pkg_git_repo") + repo_dir = root_dir / "builtin.mock" + shutil.copytree(spack.paths.mock_packages_path, str(repo_dir)) - shutil.copytree(spack.paths.mock_packages_path, str(repo_path)) - mock_repo = spack.repo.RepoPath(str(repo_path)) + repo_cache = spack.util.file_cache.FileCache(str(root_dir / "cache")) + mock_repo = spack.repo.RepoPath(str(repo_dir), cache=repo_cache) mock_repo_packages = mock_repo.repos[0].packages_path with working_dir(mock_repo_packages): @@ -53,29 +55,35 @@ def mock_pkg_git_repo(git, tmpdir_factory): git("config", "user.name", "Spack Testing") git("-c", "commit.gpgsign=false", "commit", "-m", "initial mock repo commit") - # add commit with pkg-a, pkg-b, pkg-c packages - mkdirp("pkg-a", "pkg-b", "pkg-c") - with open("pkg-a/package.py", "w") as f: + # add commit with mockpkg-a, mockpkg-b, mockpkg-c packages + mkdirp("mockpkg-a", "mockpkg-b", "mockpkg-c") + with open("mockpkg-a/package.py", "w") as f: f.write(pkg_template.format(name="PkgA")) - with open("pkg-b/package.py", "w") as f: + with open("mockpkg-b/package.py", "w") as f: f.write(pkg_template.format(name="PkgB")) - with open("pkg-c/package.py", "w") as f: + with open("mockpkg-c/package.py", "w") as f: f.write(pkg_template.format(name="PkgC")) - git("add", "pkg-a", "pkg-b", "pkg-c") - git("-c", "commit.gpgsign=false", "commit", "-m", "add pkg-a, pkg-b, pkg-c") - - # remove pkg-c, add pkg-d - with open("pkg-b/package.py", "a") as f: - f.write("\n# change pkg-b") - git("add", "pkg-b") - mkdirp("pkg-d") - with open("pkg-d/package.py", "w") as f: + git("add", "mockpkg-a", "mockpkg-b", "mockpkg-c") + git("-c", "commit.gpgsign=false", "commit", "-m", "add mockpkg-a, mockpkg-b, mockpkg-c") + + # remove mockpkg-c, add mockpkg-d + with open("mockpkg-b/package.py", "a") as f: + f.write("\n# change mockpkg-b") + git("add", "mockpkg-b") + mkdirp("mockpkg-d") + with open("mockpkg-d/package.py", "w") as f: f.write(pkg_template.format(name="PkgD")) - git("add", "pkg-d") - git("rm", "-rf", "pkg-c") - git("-c", "commit.gpgsign=false", "commit", "-m", "change pkg-b, remove pkg-c, add pkg-d") - - with spack.repo.use_repositories(str(repo_path)): + git("add", "mockpkg-d") + git("rm", "-rf", "mockpkg-c") + git( + "-c", + "commit.gpgsign=false", + "commit", + "-m", + "change mockpkg-b, remove mockpkg-c, add mockpkg-d", + ) + + with spack.repo.use_repositories(str(repo_dir)): yield mock_repo_packages @@ -86,12 +94,11 @@ def mock_pkg_names(): # Be sure to include virtual packages since packages with stand-alone # tests may inherit additional tests from the virtuals they provide, # such as packages that implement `mpi`. - names = set( + return { name for name in repo.all_package_names(include_virtuals=True) - if not name.startswith("pkg-") - ) - return names + if not name.startswith("mockpkg-") + } def split(output): @@ -113,17 +120,17 @@ def test_mock_packages_path(mock_packages): def test_pkg_add(git, mock_pkg_git_repo): with working_dir(mock_pkg_git_repo): - mkdirp("pkg-e") - with open("pkg-e/package.py", "w") as f: + mkdirp("mockpkg-e") + with open("mockpkg-e/package.py", "w") as f: f.write(pkg_template.format(name="PkgE")) - pkg("add", "pkg-e") + pkg("add", "mockpkg-e") with working_dir(mock_pkg_git_repo): try: - assert "A pkg-e/package.py" in git("status", "--short", output=str) + assert "A mockpkg-e/package.py" in git("status", "--short", output=str) finally: - shutil.rmtree("pkg-e") + shutil.rmtree("mockpkg-e") # Removing a package mid-run disrupts Spack's caching if spack.repo.PATH.repos[0]._fast_package_checker: spack.repo.PATH.repos[0]._fast_package_checker.invalidate() @@ -138,10 +145,10 @@ def test_pkg_list(mock_pkg_git_repo, mock_pkg_names): assert sorted(mock_pkg_names) == sorted(out) out = split(pkg("list", "HEAD^")) - assert sorted(mock_pkg_names.union(["pkg-a", "pkg-b", "pkg-c"])) == sorted(out) + assert sorted(mock_pkg_names.union(["mockpkg-a", "mockpkg-b", "mockpkg-c"])) == sorted(out) out = split(pkg("list", "HEAD")) - assert sorted(mock_pkg_names.union(["pkg-a", "pkg-b", "pkg-d"])) == sorted(out) + assert sorted(mock_pkg_names.union(["mockpkg-a", "mockpkg-b", "mockpkg-d"])) == sorted(out) # test with three dots to make sure pkg calls `git merge-base` out = split(pkg("list", "HEAD^^...")) @@ -151,25 +158,25 @@ def test_pkg_list(mock_pkg_git_repo, mock_pkg_names): @pytest.mark.not_on_windows("stdout format conflict") def test_pkg_diff(mock_pkg_git_repo, mock_pkg_names): out = split(pkg("diff", "HEAD^^", "HEAD^")) - assert out == ["HEAD^:", "pkg-a", "pkg-b", "pkg-c"] + assert out == ["HEAD^:", "mockpkg-a", "mockpkg-b", "mockpkg-c"] out = split(pkg("diff", "HEAD^^", "HEAD")) - assert out == ["HEAD:", "pkg-a", "pkg-b", "pkg-d"] + assert out == ["HEAD:", "mockpkg-a", "mockpkg-b", "mockpkg-d"] out = split(pkg("diff", "HEAD^", "HEAD")) - assert out == ["HEAD^:", "pkg-c", "HEAD:", "pkg-d"] + assert out == ["HEAD^:", "mockpkg-c", "HEAD:", "mockpkg-d"] @pytest.mark.not_on_windows("stdout format conflict") def test_pkg_added(mock_pkg_git_repo): out = split(pkg("added", "HEAD^^", "HEAD^")) - assert ["pkg-a", "pkg-b", "pkg-c"] == out + assert ["mockpkg-a", "mockpkg-b", "mockpkg-c"] == out out = split(pkg("added", "HEAD^^", "HEAD")) - assert ["pkg-a", "pkg-b", "pkg-d"] == out + assert ["mockpkg-a", "mockpkg-b", "mockpkg-d"] == out out = split(pkg("added", "HEAD^", "HEAD")) - assert ["pkg-d"] == out + assert ["mockpkg-d"] == out out = split(pkg("added", "HEAD", "HEAD")) assert out == [] @@ -184,7 +191,7 @@ def test_pkg_removed(mock_pkg_git_repo): assert out == [] out = split(pkg("removed", "HEAD^", "HEAD")) - assert out == ["pkg-c"] + assert out == ["mockpkg-c"] @pytest.mark.not_on_windows("stdout format conflict") @@ -196,34 +203,34 @@ def test_pkg_changed(mock_pkg_git_repo): assert out == [] out = split(pkg("changed", "--type", "a", "HEAD^^", "HEAD^")) - assert out == ["pkg-a", "pkg-b", "pkg-c"] + assert out == ["mockpkg-a", "mockpkg-b", "mockpkg-c"] out = split(pkg("changed", "--type", "r", "HEAD^^", "HEAD^")) assert out == [] out = split(pkg("changed", "--type", "ar", "HEAD^^", "HEAD^")) - assert out == ["pkg-a", "pkg-b", "pkg-c"] + assert out == ["mockpkg-a", "mockpkg-b", "mockpkg-c"] out = split(pkg("changed", "--type", "arc", "HEAD^^", "HEAD^")) - assert out == ["pkg-a", "pkg-b", "pkg-c"] + assert out == ["mockpkg-a", "mockpkg-b", "mockpkg-c"] out = split(pkg("changed", "HEAD^", "HEAD")) - assert out == ["pkg-b"] + assert out == ["mockpkg-b"] out = split(pkg("changed", "--type", "c", "HEAD^", "HEAD")) - assert out == ["pkg-b"] + assert out == ["mockpkg-b"] out = split(pkg("changed", "--type", "a", "HEAD^", "HEAD")) - assert out == ["pkg-d"] + assert out == ["mockpkg-d"] out = split(pkg("changed", "--type", "r", "HEAD^", "HEAD")) - assert out == ["pkg-c"] + assert out == ["mockpkg-c"] out = split(pkg("changed", "--type", "ar", "HEAD^", "HEAD")) - assert out == ["pkg-c", "pkg-d"] + assert out == ["mockpkg-c", "mockpkg-d"] out = split(pkg("changed", "--type", "arc", "HEAD^", "HEAD")) - assert out == ["pkg-b", "pkg-c", "pkg-d"] + assert out == ["mockpkg-b", "mockpkg-c", "mockpkg-d"] # invalid type argument with pytest.raises(spack.main.SpackCommandError): @@ -289,7 +296,7 @@ def test_pkg_canonical_source(mock_packages): def test_pkg_hash(mock_packages): - output = pkg("hash", "a", "b").strip().split() + output = pkg("hash", "pkg-a", "pkg-b").strip().split() assert len(output) == 2 and all(len(elt) == 32 for elt in output) output = pkg("hash", "multimethod").strip().split() diff --git a/lib/spack/spack/test/cmd/providers.py b/lib/spack/spack/test/cmd/providers.py index e979f2db470f81..25d17ab9af3949 100644 --- a/lib/spack/spack/test/cmd/providers.py +++ b/lib/spack/spack/test/cmd/providers.py @@ -10,8 +10,6 @@ providers = SpackCommand("providers") -pytestmark = pytest.mark.not_on_windows("Providers not currently supported on Windows") - @pytest.mark.parametrize( "pkg", diff --git a/lib/spack/spack/test/cmd/reindex.py b/lib/spack/spack/test/cmd/reindex.py index f8c1d8b0e9eaee..1aceeab197c942 100644 --- a/lib/spack/spack/test/cmd/reindex.py +++ b/lib/spack/spack/test/cmd/reindex.py @@ -4,8 +4,6 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) import os -import pytest - import spack.store from spack.main import SpackCommand @@ -13,8 +11,6 @@ deprecate = SpackCommand("deprecate") reindex = SpackCommand("reindex") -pytestmark = pytest.mark.not_on_windows("does not run on windows") - def test_reindex_basic(mock_packages, mock_archive, mock_fetch, install_mockery): install("libelf@0.8.13") diff --git a/lib/spack/spack/test/cmd/spec.py b/lib/spack/spack/test/cmd/spec.py index 6dfc024f47be3d..11d88dbc4c6707 100644 --- a/lib/spack/spack/test/cmd/spec.py +++ b/lib/spack/spack/test/cmd/spec.py @@ -14,7 +14,7 @@ import spack.store from spack.main import SpackCommand, SpackCommandError -pytestmark = pytest.mark.usefixtures("config", "mutable_mock_repo") +pytestmark = pytest.mark.usefixtures("mutable_config", "mutable_mock_repo") spec = SpackCommand("spec") @@ -31,7 +31,7 @@ def test_spec(): @pytest.mark.only_clingo("Known failure of the original concretizer") -def test_spec_concretizer_args(mutable_config, mutable_database, do_not_check_runtimes_on_reuse): +def test_spec_concretizer_args(mutable_database, do_not_check_runtimes_on_reuse): """End-to-end test of CLI concretizer prefs. It's here to make sure that everything works from CLI @@ -58,7 +58,7 @@ def test_spec_concretizer_args(mutable_config, mutable_database, do_not_check_ru def test_spec_parse_dependency_variant_value(): """Verify that we can provide multiple key=value variants to multiple separate packages within a spec string.""" - output = spec("multivalue-variant fee=barbaz ^ a foobar=baz") + output = spec("multivalue-variant fee=barbaz ^ pkg-a foobar=baz") assert "fee=barbaz" in output assert "foobar=baz" in output @@ -97,7 +97,7 @@ def test_spec_json(): assert "mpich" in mpileaks -def test_spec_format(database, config): +def test_spec_format(mutable_database): output = spec("--format", "{name}-{^mpi.name}", "mpileaks^mpich") assert output.rstrip("\n") == "mpileaks-mpich" diff --git a/lib/spack/spack/test/cmd/stage.py b/lib/spack/spack/test/cmd/stage.py index cdca18d5e7b432..26e88e4280c38b 100644 --- a/lib/spack/spack/test/cmd/stage.py +++ b/lib/spack/spack/test/cmd/stage.py @@ -22,7 +22,6 @@ pytestmark = pytest.mark.usefixtures("install_mockery", "mock_packages") -@pytest.mark.not_on_windows("not implemented on windows") @pytest.mark.disable_clean_stage_check def test_stage_spec(monkeypatch): """Verify that staging specs works.""" @@ -63,7 +62,6 @@ def test_stage_path_errors_multiple_specs(check_stage_path): stage(f"--path={check_stage_path}", "trivial-install-test-package", "mpileaks") -@pytest.mark.not_on_windows("not implemented on windows") @pytest.mark.disable_clean_stage_check def test_stage_with_env_outside_env(mutable_mock_env_path, monkeypatch): """Verify that stage concretizes specs not in environment instead of erroring.""" @@ -82,7 +80,6 @@ def fake_stage(pkg, mirror_only=False): stage("trivial-install-test-package") -@pytest.mark.not_on_windows("not implemented on windows") @pytest.mark.disable_clean_stage_check def test_stage_with_env_inside_env(mutable_mock_env_path, monkeypatch): """Verify that stage filters specs in environment instead of reconcretizing.""" @@ -101,7 +98,6 @@ def fake_stage(pkg, mirror_only=False): stage("mpileaks") -@pytest.mark.not_on_windows("not implemented on windows") @pytest.mark.disable_clean_stage_check def test_stage_full_env(mutable_mock_env_path, monkeypatch): """Verify that stage filters specs in environment.""" diff --git a/lib/spack/spack/test/cmd/style.py b/lib/spack/spack/test/cmd/style.py index afdb3dbb1fe2e0..560518160444c4 100644 --- a/lib/spack/spack/test/cmd/style.py +++ b/lib/spack/spack/test/cmd/style.py @@ -38,7 +38,7 @@ def flake8_package(tmpdir): change to the ``flake8`` mock package, yields the filename, then undoes the change on cleanup. """ - repo = spack.repo.Repo(spack.paths.mock_packages_path) + repo = spack.repo.from_path(spack.paths.mock_packages_path) filename = repo.filename_for_package_name("flake8") rel_path = os.path.dirname(os.path.relpath(filename, spack.paths.prefix)) tmp = tmpdir / rel_path / "flake8-ci-package.py" @@ -54,7 +54,7 @@ def flake8_package(tmpdir): @pytest.fixture def flake8_package_with_errors(scope="function"): """A flake8 package with errors.""" - repo = spack.repo.Repo(spack.paths.mock_packages_path) + repo = spack.repo.from_path(spack.paths.mock_packages_path) filename = repo.filename_for_package_name("flake8") tmp = filename + ".tmp" @@ -130,7 +130,7 @@ def test_changed_files_all_files(): assert os.path.join(spack.paths.module_path, "spec.py") in files # a mock package - repo = spack.repo.Repo(spack.paths.mock_packages_path) + repo = spack.repo.from_path(spack.paths.mock_packages_path) filename = repo.filename_for_package_name("flake8") assert filename in files diff --git a/lib/spack/spack/test/cmd/test.py b/lib/spack/spack/test/cmd/test.py index 0dab4587394356..3cfaa5b58f28ba 100644 --- a/lib/spack/spack/test/cmd/test.py +++ b/lib/spack/spack/test/cmd/test.py @@ -10,10 +10,14 @@ from llnl.util.filesystem import copy_tree +import spack.cmd.common.arguments import spack.cmd.install +import spack.cmd.test import spack.config +import spack.install_test import spack.package_base import spack.paths +import spack.spec import spack.store from spack.install_test import TestStatus from spack.main import SpackCommand @@ -25,13 +29,7 @@ def test_test_package_not_installed( - tmpdir, - mock_packages, - mock_archive, - mock_fetch, - config, - install_mockery_mutable_config, - mock_test_stage, + tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery, mock_test_stage ): output = spack_test("run", "libdwarf") @@ -54,7 +52,7 @@ def test_test_dirty_flag(arguments, expected): def test_test_dup_alias( - mock_test_stage, mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config, capfd + mock_test_stage, mock_packages, mock_archive, mock_fetch, install_mockery, capfd ): """Ensure re-using an alias fails with suggestion to change.""" install("libdwarf") @@ -69,9 +67,7 @@ def test_test_dup_alias( assert "already exists" in out and "Try another alias" in out -def test_test_output( - mock_test_stage, mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config -): +def test_test_output(mock_test_stage, mock_packages, mock_archive, mock_fetch, install_mockery): """Ensure output printed from pkgs is captured by output redirection.""" install("printing-package") spack_test("run", "--alias", "printpkg", "printing-package") @@ -97,13 +93,7 @@ def test_test_output( "pkg_name,failure", [("test-error", "exited with status 1"), ("test-fail", "not callable")] ) def test_test_output_fails( - mock_packages, - mock_archive, - mock_fetch, - install_mockery_mutable_config, - mock_test_stage, - pkg_name, - failure, + mock_packages, mock_archive, mock_fetch, install_mockery, mock_test_stage, pkg_name, failure ): """Confirm stand-alone test failure with expected outputs.""" install(pkg_name) @@ -117,9 +107,7 @@ def test_test_output_fails( assert "See test log for details" in out -@pytest.mark.usefixtures( - "mock_packages", "mock_archive", "mock_fetch", "install_mockery_mutable_config" -) +@pytest.mark.usefixtures("mock_packages", "mock_archive", "mock_fetch", "install_mockery") @pytest.mark.parametrize( "pkg_name,msgs", [ @@ -153,13 +141,7 @@ def test_junit_output_with_failures(tmpdir, mock_test_stage, pkg_name, msgs): def test_cdash_output_test_error( - tmpdir, - mock_fetch, - install_mockery_mutable_config, - mock_packages, - mock_archive, - mock_test_stage, - capfd, + tmpdir, mock_fetch, install_mockery, mock_packages, mock_archive, mock_test_stage, capfd ): """Confirm stand-alone test error expected outputs in CDash reporting.""" install("test-error") @@ -179,12 +161,7 @@ def test_cdash_output_test_error( def test_cdash_upload_clean_test( - tmpdir, - mock_fetch, - install_mockery_mutable_config, - mock_packages, - mock_archive, - mock_test_stage, + tmpdir, mock_fetch, install_mockery, mock_packages, mock_archive, mock_test_stage ): install("printing-package") with tmpdir.as_cwd(): @@ -233,7 +210,7 @@ def test_test_list_all(mock_packages): ) -def test_test_list(mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config): +def test_test_list(mock_packages, mock_archive, mock_fetch, install_mockery): pkg_with_tests = "printing-package" install(pkg_with_tests) output = spack_test("list") @@ -299,7 +276,7 @@ def test_test_results_status(mock_packages, mock_test_stage, status): @pytest.mark.regression("35337") -def test_report_filename_for_cdash(install_mockery_mutable_config, mock_fetch): +def test_report_filename_for_cdash(install_mockery, mock_fetch): """Test that the temporary file used to write Testing.xml for CDash is not the upload URL""" name = "trivial" spec = spack.spec.Spec("trivial-smoke-test").concretized() @@ -322,7 +299,7 @@ def test_report_filename_for_cdash(install_mockery_mutable_config, mock_fetch): def test_test_output_multiple_specs( - mock_test_stage, mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config + mock_test_stage, mock_packages, mock_archive, mock_fetch, install_mockery ): """Ensure proper reporting for suite with skipped, failing, and passed tests.""" install("test-error", "simple-standalone-test@0.9", "simple-standalone-test@1.0") diff --git a/lib/spack/spack/test/cmd/uninstall.py b/lib/spack/spack/test/cmd/uninstall.py index f3eca94d6501c6..78a5f10d5e62ac 100644 --- a/lib/spack/spack/test/cmd/uninstall.py +++ b/lib/spack/spack/test/cmd/uninstall.py @@ -222,7 +222,7 @@ class TestUninstallFromEnv: @pytest.fixture(scope="function") def environment_setup( - self, mutable_mock_env_path, config, mock_packages, mutable_database, install_mockery + self, mutable_mock_env_path, mock_packages, mutable_database, install_mockery ): TestUninstallFromEnv.env("create", "e1") e1 = spack.environment.read("e1") diff --git a/lib/spack/spack/test/cmd/url.py b/lib/spack/spack/test/cmd/url.py index cea7b34a948da5..e29253299aa336 100644 --- a/lib/spack/spack/test/cmd/url.py +++ b/lib/spack/spack/test/cmd/url.py @@ -3,7 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) import re -import sys import pytest @@ -117,7 +116,6 @@ def test_url_summary(mock_packages): assert out_correct_versions == correct_versions -@pytest.mark.skipif(sys.platform.startswith("win"), reason="Unsupported on Windows for now") def test_url_stats(capfd, mock_packages): with capfd.disabled(): output = url("stats") diff --git a/lib/spack/spack/test/cmd/verify.py b/lib/spack/spack/test/cmd/verify.py index 0ac3c136c0b8db..53b57cd7902b31 100644 --- a/lib/spack/spack/test/cmd/verify.py +++ b/lib/spack/spack/test/cmd/verify.py @@ -63,9 +63,7 @@ def test_single_file_verify_cmd(tmpdir): assert sorted(errors) == sorted(expected) -def test_single_spec_verify_cmd( - tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery -): +def test_single_spec_verify_cmd(tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery): # Test the verify command interface to verify a single spec install("libelf") s = spack.spec.Spec("libelf").concretized() diff --git a/lib/spack/spack/test/cmd/view.py b/lib/spack/spack/test/cmd/view.py index 530b998a42e3c7..f385a69e8512c1 100644 --- a/lib/spack/spack/test/cmd/view.py +++ b/lib/spack/spack/test/cmd/view.py @@ -28,9 +28,7 @@ def create_projection_file(tmpdir, projection): @pytest.mark.parametrize("cmd", ["hardlink", "symlink", "hard", "add", "copy", "relocate"]) -def test_view_link_type( - tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery, cmd -): +def test_view_link_type(tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery, cmd): install("libdwarf") viewpath = str(tmpdir.mkdir("view_{0}".format(cmd))) view(cmd, viewpath, "libdwarf") @@ -44,7 +42,7 @@ def test_view_link_type( @pytest.mark.parametrize("add_cmd", ["hardlink", "symlink", "hard", "add", "copy", "relocate"]) def test_view_link_type_remove( - tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery, add_cmd + tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery, add_cmd ): install("needs-relocation") viewpath = str(tmpdir.mkdir("view_{0}".format(add_cmd))) @@ -57,9 +55,7 @@ def test_view_link_type_remove( @pytest.mark.parametrize("cmd", ["hardlink", "symlink", "hard", "add", "copy", "relocate"]) -def test_view_projections( - tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery, cmd -): +def test_view_projections(tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery, cmd): install("libdwarf@20130207") viewpath = str(tmpdir.mkdir("view_{0}".format(cmd))) @@ -76,7 +72,7 @@ def test_view_projections( def test_view_multiple_projections( - tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery + tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery ): install("libdwarf@20130207") install("extendee@1.0%gcc") @@ -96,7 +92,7 @@ def test_view_multiple_projections( def test_view_multiple_projections_all_first( - tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery + tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery ): install("libdwarf@20130207") install("extendee@1.0%gcc") @@ -115,14 +111,14 @@ def test_view_multiple_projections_all_first( assert os.path.exists(extendee_prefix) -def test_view_external(tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery): +def test_view_external(tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery): install("externaltool") viewpath = str(tmpdir.mkdir("view")) output = view("symlink", viewpath, "externaltool") assert "Skipping external package: externaltool" in output -def test_view_extension(tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery): +def test_view_extension(tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery): install("extendee") install("extension1@1.0") install("extension1@2.0") @@ -136,9 +132,7 @@ def test_view_extension(tmpdir, mock_packages, mock_archive, mock_fetch, config, assert os.path.exists(os.path.join(viewpath, "bin", "extension1")) -def test_view_extension_remove( - tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery -): +def test_view_extension_remove(tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery): install("extendee") install("extension1@1.0") viewpath = str(tmpdir.mkdir("view")) @@ -149,9 +143,7 @@ def test_view_extension_remove( assert not os.path.exists(os.path.join(viewpath, "bin", "extension1")) -def test_view_extension_conflict( - tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery -): +def test_view_extension_conflict(tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery): install("extendee") install("extension1@1.0") install("extension1@2.0") @@ -162,7 +154,7 @@ def test_view_extension_conflict( def test_view_extension_conflict_ignored( - tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery + tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery ): install("extendee") install("extension1@1.0") @@ -184,7 +176,7 @@ def test_view_fails_with_missing_projections_file(tmpdir): @pytest.mark.parametrize("with_projection", [False, True]) @pytest.mark.parametrize("cmd", ["symlink", "copy"]) def test_view_files_not_ignored( - tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery, cmd, with_projection + tmpdir, mock_packages, mock_archive, mock_fetch, install_mockery, cmd, with_projection ): spec = Spec("view-not-ignored").concretized() pkg = spec.package diff --git a/lib/spack/spack/test/concretize.py b/lib/spack/spack/test/concretize.py index b1cd35bff94c79..e1076abd103abc 100644 --- a/lib/spack/spack/test/concretize.py +++ b/lib/spack/spack/test/concretize.py @@ -24,6 +24,8 @@ import spack.platforms import spack.repo import spack.solver.asp +import spack.store +import spack.util.file_cache import spack.util.libc import spack.variant as vt from spack.concretize import find_spec @@ -168,19 +170,18 @@ def reverser(pkg_name): @pytest.fixture() -def repo_with_changing_recipe(tmpdir_factory, mutable_mock_repo): +def repo_with_changing_recipe(tmp_path_factory, mutable_mock_repo): repo_namespace = "changing" - repo_dir = tmpdir_factory.mktemp(repo_namespace) + repo_dir = tmp_path_factory.mktemp(repo_namespace) - repo_dir.join("repo.yaml").write( + (repo_dir / "repo.yaml").write_text( """ repo: namespace: changing -""", - ensure=True, +""" ) - packages_dir = repo_dir.ensure("packages", dir=True) + packages_dir = repo_dir / "packages" root_pkg_str = """ class Root(Package): homepage = "http://www.example.com" @@ -191,7 +192,9 @@ class Root(Package): conflicts("^changing~foo") """ - packages_dir.join("root", "package.py").write(root_pkg_str, ensure=True) + package_py = packages_dir / "root" / "package.py" + package_py.parent.mkdir(parents=True) + package_py.write_text(root_pkg_str) changing_template = """ class Changing(Package): @@ -225,7 +228,9 @@ class _ChangingPackage: def __init__(self, repo_directory): self.repo_dir = repo_directory - self.repo = spack.repo.Repo(str(repo_directory)) + cache_dir = tmp_path_factory.mktemp("cache") + self.repo_cache = spack.util.file_cache.FileCache(str(cache_dir)) + self.repo = spack.repo.Repo(str(repo_directory), cache=self.repo_cache) def change(self, changes=None): changes = changes or {} @@ -246,10 +251,12 @@ def change(self, changes=None): # Change the recipe t = jinja2.Template(changing_template) changing_pkg_str = t.render(**context) - packages_dir.join("changing", "package.py").write(changing_pkg_str, ensure=True) + package_py = packages_dir / "changing" / "package.py" + package_py.parent.mkdir(parents=True, exist_ok=True) + package_py.write_text(changing_pkg_str) # Re-add the repository - self.repo = spack.repo.Repo(str(self.repo_dir)) + self.repo = spack.repo.Repo(str(self.repo_dir), cache=self.repo_cache) repository.put_first(self.repo) _changing_pkg = _ChangingPackage(repo_dir) @@ -404,7 +411,7 @@ def test_compiler_flags_from_compiler_and_dependent(self): def test_compiler_flags_differ_identical_compilers(self, mutable_config, clang12_with_flags): mutable_config.set("compilers", [clang12_with_flags]) # Correct arch to use test compiler that has flags - spec = Spec("a %clang@12.2.0 platform=test os=fe target=fe") + spec = Spec("pkg-a %clang@12.2.0 platform=test os=fe target=fe") # Get the compiler that matches the spec ( compiler = spack.compilers.compiler_for_spec("clang@=12.2.0", spec.architecture) @@ -421,30 +428,38 @@ def test_compiler_flags_differ_identical_compilers(self, mutable_config, clang12 @pytest.mark.only_clingo( "Optional compiler propagation isn't deprecated for original concretizer" ) - def test_concretize_compiler_flag_propagate(self): - spec = Spec("hypre cflags=='-g' ^openblas") - spec.concretize() - - assert spec.satisfies("^openblas cflags='-g'") - - @pytest.mark.only_clingo( - "Optional compiler propagation isn't deprecated for original concretizer" + @pytest.mark.parametrize( + "spec_str,expected,not_expected", + [ + # Simple flag propagation from the root + ("hypre cflags=='-g' ^openblas", ["hypre cflags='-g'", "^openblas cflags='-g'"], []), + ( + "hypre cflags='-g' ^openblas", + ["hypre cflags='-g'", "^openblas"], + ["^openblas cflags='-g'"], + ), + # Setting a flag overrides propagation + ( + "hypre cflags=='-g' ^openblas cflags='-O3'", + ["hypre cflags='-g'", "^openblas cflags='-O3'"], + ["^openblas cflags='-g'"], + ), + # Propagation doesn't go across build dependencies + ( + "cmake-client cflags=='-O2 -g'", + ["cmake-client cflags=='-O2 -g'", "^cmake"], + ["cmake cflags=='-O2 -g'"], + ), + ], ) - def test_concretize_compiler_flag_does_not_propagate(self): - spec = Spec("hypre cflags='-g' ^openblas") - spec.concretize() + def test_compiler_flag_propagation(self, spec_str, expected, not_expected): + root = Spec(spec_str).concretized() - assert not spec.satisfies("^openblas cflags='-g'") - - @pytest.mark.only_clingo( - "Optional compiler propagation isn't deprecated for original concretizer" - ) - def test_concretize_propagate_compiler_flag_not_passed_to_dependent(self): - spec = Spec("hypre cflags=='-g' ^openblas cflags='-O3'") - spec.concretize() + for constraint in expected: + assert root.satisfies(constraint) - assert set(spec.compiler_flags["cflags"]) == set(["-g"]) - assert spec.satisfies("^openblas cflags='-O3'") + for constraint in not_expected: + assert not root.satisfies(constraint) def test_mixing_compilers_only_affects_subdag(self): spack.config.set("packages:all:compiler", ["clang", "gcc"]) @@ -473,7 +488,7 @@ def test_architecture_deep_inheritance(self, mock_targets, compiler_factory): assert s.architecture.target == spec.architecture.target def test_compiler_flags_from_user_are_grouped(self): - spec = Spec('a%gcc cflags="-O -foo-flag foo-val" platform=test') + spec = Spec('pkg-a%gcc cflags="-O -foo-flag foo-val" platform=test') spec.concretize() cflags = spec.compiler_flags["cflags"] assert any(x == "-foo-flag foo-val" for x in cflags) @@ -581,20 +596,20 @@ def test_concretize_propagate_multivalue_variant(self): spec = Spec("multivalue-variant foo==baz,fee") spec.concretize() - assert spec.satisfies("^a foo=baz,fee") - assert spec.satisfies("^b foo=baz,fee") - assert not spec.satisfies("^a foo=bar") - assert not spec.satisfies("^b foo=bar") + assert spec.satisfies("^pkg-a foo=baz,fee") + assert spec.satisfies("^pkg-b foo=baz,fee") + assert not spec.satisfies("^pkg-a foo=bar") + assert not spec.satisfies("^pkg-b foo=bar") def test_no_matching_compiler_specs(self, mock_low_high_config): # only relevant when not building compilers as needed with spack.concretize.enable_compiler_existence_check(): - s = Spec("a %gcc@=0.0.0") + s = Spec("pkg-a %gcc@=0.0.0") with pytest.raises(spack.concretize.UnavailableCompilerVersionError): s.concretize() def test_no_compilers_for_arch(self): - s = Spec("a arch=linux-rhel0-x86_64") + s = Spec("pkg-a arch=linux-rhel0-x86_64") with pytest.raises(spack.error.SpackError): s.concretize() @@ -674,7 +689,8 @@ def test_nobuild_package(self): with pytest.raises(spack.error.SpecError): spec.concretize() - def test_external_and_virtual(self): + def test_external_and_virtual(self, mutable_config): + mutable_config.set("packages:stuff", {"buildable": False}) spec = Spec("externaltest") spec.concretize() assert spec["externaltool"].external_path == os.path.sep + os.path.join( @@ -803,7 +819,7 @@ def test_regression_issue_7941(self): # The string representation of a spec containing # an explicit multi-valued variant and a dependency # might be parsed differently than the originating spec - s = Spec("a foobar=bar ^b") + s = Spec("pkg-a foobar=bar ^pkg-b") t = Spec(str(s)) s.concretize() @@ -1156,16 +1172,14 @@ def test_external_that_would_require_a_virtual_dependency(self): assert s.external assert "stuff" not in s - def test_transitive_conditional_virtual_dependency(self): + def test_transitive_conditional_virtual_dependency(self, mutable_config): + """Test that an external is used as provider if the virtual is non-buildable""" + mutable_config.set("packages:stuff", {"buildable": False}) s = Spec("transitive-conditional-virtual-dependency").concretized() - # The default for conditional-virtual-dependency is to have - # +stuff~mpi, so check that these defaults are respected - assert "+stuff" in s["conditional-virtual-dependency"] - assert "~mpi" in s["conditional-virtual-dependency"] - - # 'stuff' is provided by an external package, so check it's present - assert "externalvirtual" in s + # Test that the default +stuff~mpi is maintained, and the right provider is selected + assert s.satisfies("^conditional-virtual-dependency +stuff~mpi") + assert s.satisfies("^[virtuals=stuff] externalvirtual") @pytest.mark.regression("20040") @pytest.mark.only_clingo("Use case not supported by the original concretizer") @@ -1183,14 +1197,14 @@ def test_conditional_provides_or_depends_on(self): [ # Check that True is treated correctly and attaches test deps # to all nodes in the DAG - ("a", True, ["a"], []), - ("a foobar=bar", True, ["a", "b"], []), + ("pkg-a", True, ["pkg-a"], []), + ("pkg-a foobar=bar", True, ["pkg-a", "pkg-b"], []), # Check that a list of names activates the dependency only for # packages in that list - ("a foobar=bar", ["a"], ["a"], ["b"]), - ("a foobar=bar", ["b"], ["b"], ["a"]), + ("pkg-a foobar=bar", ["pkg-a"], ["pkg-a"], ["pkg-b"]), + ("pkg-a foobar=bar", ["pkg-b"], ["pkg-b"], ["pkg-a"]), # Check that False disregard test dependencies - ("a foobar=bar", False, [], ["a", "b"]), + ("pkg-a foobar=bar", False, [], ["pkg-a", "pkg-b"]), ], ) def test_activating_test_dependencies(self, spec_str, tests_arg, with_dep, without_dep): @@ -1249,7 +1263,7 @@ def test_custom_compiler_version(self, mutable_config, compiler_factory, monkeyp "compilers", [compiler_factory(spec="gcc@10foo", operating_system="redhat6")] ) monkeypatch.setattr(spack.compiler.Compiler, "real_version", "10.2.1") - s = Spec("a %gcc@10foo os=redhat6").concretized() + s = Spec("pkg-a %gcc@10foo os=redhat6").concretized() assert "%gcc@10foo" in s def test_all_patches_applied(self): @@ -1393,10 +1407,10 @@ def test_no_reuse_when_variant_condition_does_not_hold(self, mutable_database, m @pytest.mark.only_clingo("Use case not supported by the original concretizer") def test_reuse_with_flags(self, mutable_database, mutable_config): spack.config.set("concretizer:reuse", True) - spec = Spec("a cflags=-g cxxflags=-g").concretized() + spec = Spec("pkg-a cflags=-g cxxflags=-g").concretized() spack.store.STORE.db.add(spec, None) - testspec = Spec("a cflags=-g") + testspec = Spec("pkg-a cflags=-g") testspec.concretize() assert testspec == spec @@ -1579,7 +1593,7 @@ def test_non_default_provider_of_multiple_virtuals(self): ) @pytest.mark.only_clingo("Use case not supported by the original concretizer") def test_concrete_specs_are_not_modified_on_reuse( - self, mutable_database, spec_str, expect_installed, config + self, mutable_database, spec_str, expect_installed ): # Test the internal consistency of solve + DAG reconstruction # when reused specs are added to the mix. This prevents things @@ -1739,49 +1753,49 @@ def test_reuse_with_unknown_namespace_dont_raise( self, temporary_store, mock_custom_repository ): with spack.repo.use_repositories(mock_custom_repository, override=False): - s = Spec("c").concretized() + s = Spec("pkg-c").concretized() assert s.namespace != "builtin.mock" s.package.do_install(fake=True, explicit=True) with spack.config.override("concretizer:reuse", True): - s = Spec("c").concretized() + s = Spec("pkg-c").concretized() assert s.namespace == "builtin.mock" @pytest.mark.regression("28259") def test_reuse_with_unknown_package_dont_raise(self, tmpdir, temporary_store, monkeypatch): builder = spack.repo.MockRepositoryBuilder(tmpdir.mkdir("mock.repo"), namespace="myrepo") - builder.add_package("c") + builder.add_package("pkg-c") with spack.repo.use_repositories(builder.root, override=False): - s = Spec("c").concretized() + s = Spec("pkg-c").concretized() assert s.namespace == "myrepo" s.package.do_install(fake=True, explicit=True) - del sys.modules["spack.pkg.myrepo.c"] + del sys.modules["spack.pkg.myrepo.pkg-c"] del sys.modules["spack.pkg.myrepo"] - builder.remove("c") + builder.remove("pkg-c") with spack.repo.use_repositories(builder.root, override=False) as repos: # TODO (INJECT CONFIGURATION): unclear why the cache needs to be invalidated explicitly repos.repos[0]._pkg_checker.invalidate() with spack.config.override("concretizer:reuse", True): - s = Spec("c").concretized() + s = Spec("pkg-c").concretized() assert s.namespace == "builtin.mock" @pytest.mark.parametrize( - "specs,expected", + "specs,expected,libc_offset", [ - (["libelf", "libelf@0.8.10"], 1), - (["libdwarf%gcc", "libelf%clang"], 2), - (["libdwarf%gcc", "libdwarf%clang"], 3), - (["libdwarf^libelf@0.8.12", "libdwarf^libelf@0.8.13"], 4), - (["hdf5", "zmpi"], 3), - (["hdf5", "mpich"], 2), - (["hdf5^zmpi", "mpich"], 4), - (["mpi", "zmpi"], 2), - (["mpi", "mpich"], 1), + (["libelf", "libelf@0.8.10"], 1, 1), + (["libdwarf%gcc", "libelf%clang"], 2, 1), + (["libdwarf%gcc", "libdwarf%clang"], 3, 1), + (["libdwarf^libelf@0.8.12", "libdwarf^libelf@0.8.13"], 4, 1), + (["hdf5", "zmpi"], 3, 1), + (["hdf5", "mpich"], 2, 1), + (["hdf5^zmpi", "mpich"], 4, 1), + (["mpi", "zmpi"], 2, 1), + (["mpi", "mpich"], 1, 1), ], ) @pytest.mark.only_clingo("Original concretizer cannot concretize in rounds") - def test_best_effort_coconcretize(self, specs, expected): + def test_best_effort_coconcretize(self, specs, expected, libc_offset): specs = [Spec(s) for s in specs] solver = spack.solver.asp.Solver() solver.reuse = False @@ -1790,7 +1804,9 @@ def test_best_effort_coconcretize(self, specs, expected): for s in result.specs: concrete_specs.update(s.traverse()) - libc_offset = 1 if spack.solver.asp.using_libc_compatibility() else 0 + if not spack.solver.asp.using_libc_compatibility(): + libc_offset = 0 + assert len(concrete_specs) == expected + libc_offset @pytest.mark.parametrize( @@ -1840,7 +1856,7 @@ def test_best_effort_coconcretize_preferences(self, specs, expected_spec, occura assert counter == occurances, concrete_specs @pytest.mark.only_clingo("Original concretizer cannot concretize in rounds") - def test_solve_in_rounds_all_unsolved(self, monkeypatch, mock_packages, config): + def test_solve_in_rounds_all_unsolved(self, monkeypatch, mock_packages): specs = [Spec(x) for x in ["libdwarf%gcc", "libdwarf%clang"]] solver = spack.solver.asp.Solver() solver.reuse = False @@ -1892,20 +1908,20 @@ def test_misleading_error_message_on_version(self, mutable_database): @pytest.mark.only_clingo("Use case not supported by the original concretizer") def test_version_weight_and_provenance(self): """Test package preferences during coconcretization.""" - reusable_specs = [Spec(spec_str).concretized() for spec_str in ("b@0.9", "b@1.0")] - root_spec = Spec("a foobar=bar") + reusable_specs = [Spec(spec_str).concretized() for spec_str in ("pkg-b@0.9", "pkg-b@1.0")] + root_spec = Spec("pkg-a foobar=bar") with spack.config.override("concretizer:reuse", True): solver = spack.solver.asp.Solver() setup = spack.solver.asp.SpackSolverSetup() result, _, _ = solver.driver.solve(setup, [root_spec], reuse=reusable_specs) - # The result here should have a single spec to build ('a') - # and it should be using b@1.0 with a version badness of 2 + # The result here should have a single spec to build ('pkg-a') + # and it should be using pkg-b@1.0 with a version badness of 2 # The provenance is: - # version_declared("b","1.0",0,"package_py"). - # version_declared("b","0.9",1,"package_py"). - # version_declared("b","1.0",2,"installed"). - # version_declared("b","0.9",3,"installed"). + # version_declared("pkg-b","1.0",0,"package_py"). + # version_declared("pkg-b","0.9",1,"package_py"). + # version_declared("pkg-b","1.0",2,"installed"). + # version_declared("pkg-b","0.9",3,"installed"). # # Depending on the target, it may also use gnuconfig result_spec = result.specs[0] @@ -1919,11 +1935,11 @@ def test_version_weight_and_provenance(self): for criterion in criteria: assert criterion in result.criteria, criterion - assert result_spec.satisfies("^b@1.0") + assert result_spec.satisfies("^pkg-b@1.0") @pytest.mark.only_clingo("Use case not supported by the original concretizer") def test_reuse_succeeds_with_config_compatible_os(self): - root_spec = Spec("b") + root_spec = Spec("pkg-b") s = root_spec.concretized() other_os = s.copy() mock_os = "ubuntu2204" @@ -2187,7 +2203,7 @@ def test_external_python_extension_find_unified_python(self): "specs", [ ["mpileaks^ callpath ^dyninst@8.1.1:8 ^mpich2@1.3:1"], - ["multivalue-variant ^a@2:2"], + ["multivalue-variant ^pkg-a@2:2"], ["v1-consumer ^conditional-provider@1:1 +disable-v1"], ], ) @@ -2203,7 +2219,7 @@ def test_result_specs_is_not_empty(self, specs): assert result.specs @pytest.mark.regression("38664") - def test_unsolved_specs_raises_error(self, monkeypatch, mock_packages, config): + def test_unsolved_specs_raises_error(self, monkeypatch, mock_packages): """Check that the solver raises an exception when input specs are not satisfied. """ @@ -2223,12 +2239,12 @@ def test_unsolved_specs_raises_error(self, monkeypatch, mock_packages, config): @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): + def test_clear_error_when_unknown_compiler_requested(self, mock_packages): """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" + spack.error.UnsatisfiableSpecError, match="Cannot set the required compiler: pkg-a%foo" ): - Spec("a %foo").concretized() + Spec("pkg-a %foo").concretized() @pytest.mark.regression("36339") def test_compiler_match_constraints_when_selected(self): @@ -2264,7 +2280,7 @@ def test_compiler_match_constraints_when_selected(self): }, ] spack.config.set("compilers", compiler_configuration) - s = Spec("a %gcc@:11").concretized() + s = Spec("pkg-a %gcc@:11").concretized() assert s.compiler.version == ver("=11.1.0"), s @pytest.mark.regression("36339") @@ -2285,7 +2301,7 @@ def test_compiler_with_custom_non_numeric_version(self, mock_executable): } ] spack.config.set("compilers", compiler_configuration) - s = Spec("a %gcc@foo").concretized() + s = Spec("pkg-a %gcc@foo").concretized() assert s.compiler.version == ver("=foo") @pytest.mark.regression("36628") @@ -2311,13 +2327,13 @@ def test_concretization_with_compilers_supporting_target_any(self): ] with spack.config.override("compilers", compiler_configuration): - s = spack.spec.Spec("a").concretized() + s = Spec("pkg-a").concretized() assert s.satisfies("%gcc@12.1.0") @pytest.mark.parametrize("spec_str", ["mpileaks", "mpileaks ^mpich"]) - def test_virtuals_are_annotated_on_edges(self, spec_str, default_mock_concretization): + def test_virtuals_are_annotated_on_edges(self, spec_str): """Tests that information on virtuals is annotated on DAG edges""" - spec = default_mock_concretization(spec_str) + spec = Spec(spec_str).concretized() mpi_provider = spec["mpi"].name edges = spec.edges_to_dependencies(name=mpi_provider) @@ -2331,7 +2347,7 @@ def test_virtuals_are_annotated_on_edges(self, spec_str, default_mock_concretiza "spec_str,mpi_name", [("mpileaks", "mpich"), ("mpileaks ^mpich2", "mpich2"), ("mpileaks ^zmpi", "zmpi")], ) - def test_virtuals_are_reconstructed_on_reuse(self, spec_str, mpi_name, database): + def test_virtuals_are_reconstructed_on_reuse(self, spec_str, mpi_name, mutable_database): """Tests that when we reuse a spec, virtual on edges are reconstructed correctly""" with spack.config.override("concretizer:reuse", True): spec = Spec(spec_str).concretized() @@ -2346,7 +2362,7 @@ def test_dont_define_new_version_from_input_if_checksum_required(self, working_e with pytest.raises(spack.error.UnsatisfiableSpecError): # normally spack concretizes to @=3.0 if it's not defined in package.py, except # when checksums are required - Spec("a@=3.0").concretized() + Spec("pkg-a@=3.0").concretized() @pytest.mark.regression("39570") @pytest.mark.db @@ -2446,7 +2462,7 @@ def _default_libc(self): spack.util.libc, "libc_from_current_python_process", lambda: Spec("glibc@=2.28") ) mutable_config.set("config:install_missing_compilers", True) - s = Spec("a %gcc@=13.2.0").concretized() + s = Spec("pkg-a %gcc@=13.2.0").concretized() assert s.satisfies("%gcc@13.2.0") @pytest.mark.regression("43267") @@ -2579,17 +2595,17 @@ def test_cannot_reuse_host_incompatible_libc(self): # We install b@1 ^glibc@2.30, and b@0 ^glibc@2.28. The former is not host compatible, the # latter is. - fst = Spec("b@1").concretized() + fst = Spec("pkg-b@1").concretized() fst._mark_concrete(False) fst.dependencies("glibc")[0].versions = VersionList(["=2.30"]) fst._mark_concrete(True) - snd = Spec("b@0").concretized() + snd = Spec("pkg-b@0").concretized() # The spec b@1 ^glibc@2.30 is "more optimal" than b@0 ^glibc@2.28, but due to glibc # incompatibility, it should not be reused. solver = spack.solver.asp.Solver() setup = spack.solver.asp.SpackSolverSetup() - result, _, _ = solver.driver.solve(setup, [Spec("b")], reuse=[fst, snd]) + result, _, _ = solver.driver.solve(setup, [Spec("pkg-b")], reuse=[fst, snd]) assert len(result.specs) == 1 assert result.specs[0] == snd @@ -2794,7 +2810,9 @@ def test_drop_moving_targets(v_str, v_opts, checksummed): class TestConcreteSpecsByHash: """Tests the container of concrete specs""" - @pytest.mark.parametrize("input_specs", [["a"], ["a foobar=bar", "b"], ["a foobar=baz", "b"]]) + @pytest.mark.parametrize( + "input_specs", [["pkg-a"], ["pkg-a foobar=bar", "pkg-b"], ["pkg-a foobar=baz", "pkg-b"]] + ) def test_adding_specs(self, input_specs, default_mock_concretization): """Tests that concrete specs in the container are equivalent, but stored as different objects in memory. @@ -2990,7 +3008,7 @@ def test_concretization_version_order(): ), ], ) -@pytest.mark.usefixtures("database", "mock_store") +@pytest.mark.usefixtures("mutable_database", "mock_store") @pytest.mark.not_on_windows("Expected length is different on Windows") def test_filtering_reused_specs( roots, reuse_yaml, expected, not_expected, expected_length, mutable_config, monkeypatch @@ -3011,7 +3029,7 @@ def test_filtering_reused_specs( assert all(not x.satisfies(constraint) for x in specs) -@pytest.mark.usefixtures("database", "mock_store") +@pytest.mark.usefixtures("mutable_database", "mock_store") @pytest.mark.parametrize( "reuse_yaml,expected_length", [({"from": [{"type": "local"}]}, 17), ({"from": [{"type": "buildcache"}]}, 0)], @@ -3043,3 +3061,43 @@ def test_spec_filters(specs, include, exclude, expected): factory=lambda: specs, is_usable=lambda x: True, include=include, exclude=exclude ) assert f.selected_specs() == expected + + +@pytest.mark.only_clingo("clingo only reuse feature being tested") +@pytest.mark.regression("38484") +def test_git_ref_version_can_be_reused(install_mockery, do_not_check_runtimes_on_reuse): + first_spec = spack.spec.Spec("git-ref-package@git.2.1.5=2.1.5~opt").concretized() + first_spec.package.do_install(fake=True, explicit=True) + + with spack.config.override("concretizer:reuse", True): + # reproducer of the issue is that spack will solve when there is a change to the base spec + second_spec = spack.spec.Spec("git-ref-package@git.2.1.5=2.1.5+opt").concretized() + assert second_spec.dag_hash() != first_spec.dag_hash() + # we also want to confirm that reuse actually works so leave variant off to + # let solver reuse + third_spec = spack.spec.Spec("git-ref-package@git.2.1.5=2.1.5") + assert first_spec.satisfies(third_spec) + third_spec.concretize() + assert third_spec.dag_hash() == first_spec.dag_hash() + + +@pytest.mark.only_clingo("clingo only reuse feature being tested") +@pytest.mark.parametrize("standard_version", ["2.0.0", "2.1.5", "2.1.6"]) +def test_reuse_prefers_standard_over_git_versions( + standard_version, install_mockery, do_not_check_runtimes_on_reuse +): + """ + order matters in this test. typically reuse would pick the highest versioned installed match + but we want to prefer the standard version over git ref based versions + so install git ref last and ensure it is not picked up by reuse + """ + standard_spec = spack.spec.Spec(f"git-ref-package@{standard_version}").concretized() + standard_spec.package.do_install(fake=True, explicit=True) + + git_spec = spack.spec.Spec("git-ref-package@git.2.1.5=2.1.5").concretized() + git_spec.package.do_install(fake=True, explicit=True) + + with spack.config.override("concretizer:reuse", True): + test_spec = spack.spec.Spec("git-ref-package@2").concretized() + assert git_spec.dag_hash() != test_spec.dag_hash() + assert standard_spec.dag_hash() == test_spec.dag_hash() diff --git a/lib/spack/spack/test/concretize_compiler_runtimes.py b/lib/spack/spack/test/concretize_compiler_runtimes.py index 3e13fd8e567c42..5b7968ed20788f 100644 --- a/lib/spack/spack/test/concretize_compiler_runtimes.py +++ b/lib/spack/spack/test/concretize_compiler_runtimes.py @@ -9,6 +9,7 @@ import archspec.cpu +import spack.config import spack.paths import spack.repo import spack.solver.asp @@ -32,7 +33,7 @@ def _concretize_with_reuse(*, root_str, reused_str): @pytest.fixture -def runtime_repo(config): +def runtime_repo(mutable_config): repo = os.path.join(spack.paths.repos_path, "compiler_runtime.test") with spack.repo.use_repositories(repo) as mock_repo: yield mock_repo @@ -47,8 +48,8 @@ def enable_runtimes(): def test_correct_gcc_runtime_is_injected_as_dependency(runtime_repo): - s = spack.spec.Spec("a%gcc@10.2.1 ^b%gcc@9.4.0").concretized() - a, b = s["a"], s["b"] + s = spack.spec.Spec("pkg-a%gcc@10.2.1 ^pkg-b%gcc@9.4.0").concretized() + a, b = s["pkg-a"], s["pkg-b"] # Both a and b should depend on the same gcc-runtime directly assert a.dependencies("gcc-runtime") == b.dependencies("gcc-runtime") @@ -61,16 +62,16 @@ def test_correct_gcc_runtime_is_injected_as_dependency(runtime_repo): def test_external_nodes_do_not_have_runtimes(runtime_repo, mutable_config, tmp_path): """Tests that external nodes don't have runtime dependencies.""" - packages_yaml = {"b": {"externals": [{"spec": "b@1.0", "prefix": f"{str(tmp_path)}"}]}} + packages_yaml = {"pkg-b": {"externals": [{"spec": "pkg-b@1.0", "prefix": f"{str(tmp_path)}"}]}} spack.config.set("packages", packages_yaml) - s = spack.spec.Spec("a%gcc@10.2.1").concretized() + s = spack.spec.Spec("pkg-a%gcc@10.2.1").concretized() - a, b = s["a"], s["b"] + a, b = s["pkg-a"], s["pkg-b"] # Since b is an external, it doesn't depend on gcc-runtime assert a.dependencies("gcc-runtime") - assert a.dependencies("b") + assert a.dependencies("pkg-b") assert not b.dependencies("gcc-runtime") @@ -78,23 +79,36 @@ def test_external_nodes_do_not_have_runtimes(runtime_repo, mutable_config, tmp_p "root_str,reused_str,expected,nruntime", [ # The reused runtime is older than we need, thus we'll add a more recent one for a - ("a%gcc@10.2.1", "b%gcc@9.4.0", {"a": "gcc-runtime@10.2.1", "b": "gcc-runtime@9.4.0"}, 2), - # The root is compiled with an older compiler, thus we'll reuse the runtime from b - ("a%gcc@9.4.0", "b%gcc@10.2.1", {"a": "gcc-runtime@10.2.1", "b": "gcc-runtime@10.2.1"}, 1), + ( + "pkg-a%gcc@10.2.1", + "pkg-b%gcc@9.4.0", + {"pkg-a": "gcc-runtime@10.2.1", "pkg-b": "gcc-runtime@9.4.0"}, + 2, + ), + # The root is compiled with an older compiler, thus we'll NOT reuse the runtime from b + ( + "pkg-a%gcc@9.4.0", + "pkg-b%gcc@10.2.1", + {"pkg-a": "gcc-runtime@9.4.0", "pkg-b": "gcc-runtime@9.4.0"}, + 1, + ), # Same as before, but tests that we can reuse from a more generic target pytest.param( - "a%gcc@9.4.0", - "b%gcc@10.2.1 target=x86_64", - {"a": "gcc-runtime@10.2.1 target=x86_64", "b": "gcc-runtime@10.2.1 target=x86_64"}, + "pkg-a%gcc@9.4.0", + "pkg-b%gcc@10.2.1 target=x86_64", + {"pkg-a": "gcc-runtime@9.4.0", "pkg-b": "gcc-runtime@9.4.0"}, 1, marks=pytest.mark.skipif( str(archspec.cpu.host().family) != "x86_64", reason="test data is x86_64 specific" ), ), pytest.param( - "a%gcc@10.2.1", - "b%gcc@9.4.0 target=x86_64", - {"a": "gcc-runtime@10.2.1 target=x86_64", "b": "gcc-runtime@9.4.0 target=x86_64"}, + "pkg-a%gcc@10.2.1", + "pkg-b%gcc@9.4.0 target=x86_64", + { + "pkg-a": "gcc-runtime@10.2.1 target=x86_64", + "pkg-b": "gcc-runtime@9.4.0 target=x86_64", + }, 2, marks=pytest.mark.skipif( str(archspec.cpu.host().family) != "x86_64", reason="test data is x86_64 specific" @@ -102,17 +116,19 @@ def test_external_nodes_do_not_have_runtimes(runtime_repo, mutable_config, tmp_p ), ], ) +@pytest.mark.regression("44444") def test_reusing_specs_with_gcc_runtime(root_str, reused_str, expected, nruntime, runtime_repo): """Tests that we can reuse specs with a "gcc-runtime" leaf node. In particular, checks that the semantic for gcc-runtimes versions accounts for reused packages too. + + Reusable runtime versions should be lower, or equal, to that of parent nodes. """ root, reused_spec = _concretize_with_reuse(root_str=root_str, reused_str=reused_str) - assert f"{expected['b']}" in reused_spec runtime_a = root.dependencies("gcc-runtime")[0] - assert runtime_a.satisfies(expected["a"]) - runtime_b = root["b"].dependencies("gcc-runtime")[0] - assert runtime_b.satisfies(expected["b"]) + assert runtime_a.satisfies(expected["pkg-a"]) + runtime_b = root["pkg-b"].dependencies("gcc-runtime")[0] + assert runtime_b.satisfies(expected["pkg-b"]) runtimes = [x for x in root.traverse() if x.name == "gcc-runtime"] assert len(runtimes) == nruntime @@ -123,8 +139,7 @@ def test_reusing_specs_with_gcc_runtime(root_str, reused_str, expected, nruntime [ # Ensure that, whether we have multiple runtimes in the DAG or not, # we always link only the latest version - ("a%gcc@10.2.1", "b%gcc@9.4.0", ["gcc-runtime@10.2.1"], ["gcc-runtime@9.4.0"]), - ("a%gcc@9.4.0", "b%gcc@10.2.1", ["gcc-runtime@10.2.1"], ["gcc-runtime@9.4.0"]), + ("pkg-a%gcc@10.2.1", "pkg-b%gcc@9.4.0", ["gcc-runtime@10.2.1"], ["gcc-runtime@9.4.0"]) ], ) def test_views_can_handle_duplicate_runtime_nodes( diff --git a/lib/spack/spack/test/concretize_preferences.py b/lib/spack/spack/test/concretize_preferences.py index a7683bf65fbb51..d0ecc8f5994ed9 100644 --- a/lib/spack/spack/test/concretize_preferences.py +++ b/lib/spack/spack/test/concretize_preferences.py @@ -161,21 +161,24 @@ def test_preferred_providers(self): spec = concretize("mpileaks") assert "zmpi" in spec - def test_config_set_pkg_property_url(self, mutable_mock_repo): + @pytest.mark.parametrize( + "update,expected", + [ + ( + {"url": "http://www.somewhereelse.com/mpileaks-1.0.tar.gz"}, + "http://www.somewhereelse.com/mpileaks-2.3.tar.gz", + ), + ({}, "http://www.llnl.gov/mpileaks-2.3.tar.gz"), + ], + ) + def test_config_set_pkg_property_url(self, update, expected, mock_repo_path): """Test setting an existing attribute in the package class""" - update_packages( - "mpileaks", - "package_attributes", - {"url": "http://www.somewhereelse.com/mpileaks-1.0.tar.gz"}, - ) - spec = concretize("mpileaks") - assert spec.package.fetcher.url == "http://www.somewhereelse.com/mpileaks-2.3.tar.gz" - - update_packages("mpileaks", "package_attributes", {}) - spec = concretize("mpileaks") - assert spec.package.fetcher.url == "http://www.llnl.gov/mpileaks-2.3.tar.gz" + update_packages("mpileaks", "package_attributes", update) + with spack.repo.use_repositories(mock_repo_path): + spec = concretize("mpileaks") + assert spec.package.fetcher.url == expected - def test_config_set_pkg_property_new(self, mutable_mock_repo): + def test_config_set_pkg_property_new(self, mock_repo_path): """Test that you can set arbitrary attributes on the Package class""" conf = syaml.load_config( """\ @@ -194,19 +197,20 @@ def test_config_set_pkg_property_new(self, mutable_mock_repo): """ ) spack.config.set("packages", conf, scope="concretize") - - spec = concretize("mpileaks") - assert spec.package.v1 == 1 - assert spec.package.v2 is True - assert spec.package.v3 == "yesterday" - assert spec.package.v4 == "true" - assert dict(spec.package.v5) == {"x": 1, "y": 2} - assert list(spec.package.v6) == [1, 2] + with spack.repo.use_repositories(mock_repo_path): + spec = concretize("mpileaks") + assert spec.package.v1 == 1 + assert spec.package.v2 is True + assert spec.package.v3 == "yesterday" + assert spec.package.v4 == "true" + assert dict(spec.package.v5) == {"x": 1, "y": 2} + assert list(spec.package.v6) == [1, 2] update_packages("mpileaks", "package_attributes", {}) - spec = concretize("mpileaks") - with pytest.raises(AttributeError): - spec.package.v1 + with spack.repo.use_repositories(mock_repo_path): + spec = concretize("mpileaks") + with pytest.raises(AttributeError): + spec.package.v1 def test_preferred(self): """ "Test packages with some version marked as preferred=True""" @@ -512,5 +516,5 @@ def test_default_preference_variant_different_type_does_not_error(self): packages.yaml doesn't fail with an error. """ with spack.config.override("packages:all", {"variants": "+foo"}): - s = Spec("a").concretized() + s = Spec("pkg-a").concretized() assert s.satisfies("foo=bar") diff --git a/lib/spack/spack/test/concretize_requirements.py b/lib/spack/spack/test/concretize_requirements.py index 960ef90a3aed08..3ec086d962a570 100644 --- a/lib/spack/spack/test/concretize_requirements.py +++ b/lib/spack/spack/test/concretize_requirements.py @@ -103,23 +103,6 @@ def test_repo(_create_test_repo, monkeypatch, mock_stage): yield mock_repo_path -class MakeStage: - def __init__(self, stage): - self.stage = stage - - def __call__(self, *args, **kwargs): - return self.stage - - -@pytest.fixture -def fake_installs(monkeypatch, tmpdir): - stage_path = str(tmpdir.ensure("fake-stage", dir=True)) - universal_unused_stage = spack.stage.DIYStage(stage_path) - monkeypatch.setattr( - spack.build_systems.generic.Package, "_make_stage", MakeStage(universal_unused_stage) - ) - - def test_one_package_multiple_reqs(concretize_scope, test_repo): conf_str = """\ packages: @@ -514,7 +497,7 @@ def test_oneof_ordering(concretize_scope, test_repo): assert s2.satisfies("@2.5") -def test_reuse_oneof(concretize_scope, _create_test_repo, mutable_database, fake_installs): +def test_reuse_oneof(concretize_scope, _create_test_repo, mutable_database, mock_fetch): conf_str = """\ packages: y: @@ -944,9 +927,9 @@ def test_default_requirements_semantic(packages_yaml, concretize_scope, mock_pac Spec("zlib ~shared").concretized() # A spec without the shared variant still concretize - s = Spec("a").concretized() - assert not s.satisfies("a +shared") - assert not s.satisfies("a ~shared") + s = Spec("pkg-a").concretized() + assert not s.satisfies("pkg-a +shared") + assert not s.satisfies("pkg-a ~shared") @pytest.mark.parametrize( diff --git a/lib/spack/spack/test/config.py b/lib/spack/spack/test/config.py index 14b76b06bf18e1..b0cf6bac651eaa 100644 --- a/lib/spack/spack/test/config.py +++ b/lib/spack/spack/test/config.py @@ -13,7 +13,7 @@ import pytest import llnl.util.tty as tty -from llnl.util.filesystem import getuid, join_path, mkdirp, touch, touchp +from llnl.util.filesystem import join_path, touch, touchp import spack.config import spack.directory_layout @@ -774,7 +774,7 @@ def test_keys_are_ordered(configuration_dir): "./", ) - config_scope = spack.config.ConfigScope("modules", configuration_dir.join("site")) + config_scope = spack.config.DirectoryConfigScope("modules", configuration_dir.join("site")) data = config_scope.get_section("modules") @@ -864,26 +864,18 @@ def test_bad_config_section(mock_low_high_config): spack.config.get("foobar") -@pytest.mark.not_on_windows("chmod not supported on Windows") -@pytest.mark.skipif(getuid() == 0, reason="user is root") -def test_bad_command_line_scopes(tmpdir, config): +def test_bad_command_line_scopes(tmp_path, config): cfg = spack.config.Configuration() + file_path = tmp_path / "file_instead_of_dir" + non_existing_path = tmp_path / "non_existing_dir" - with tmpdir.as_cwd(): - with pytest.raises(spack.config.ConfigError): - spack.config._add_command_line_scopes(cfg, ["bad_path"]) + file_path.write_text("") - touch("unreadable_file") - with pytest.raises(spack.config.ConfigError): - spack.config._add_command_line_scopes(cfg, ["unreadable_file"]) + with pytest.raises(spack.config.ConfigError): + spack.config._add_command_line_scopes(cfg, [str(file_path)]) - mkdirp("unreadable_dir") - with pytest.raises(spack.config.ConfigError): - try: - os.chmod("unreadable_dir", 0) - spack.config._add_command_line_scopes(cfg, ["unreadable_dir"]) - finally: - os.chmod("unreadable_dir", 0o700) # so tmpdir can be removed + with pytest.raises(spack.config.ConfigError): + spack.config._add_command_line_scopes(cfg, [str(non_existing_path)]) def test_add_command_line_scopes(tmpdir, mutable_config): @@ -898,6 +890,45 @@ def test_add_command_line_scopes(tmpdir, mutable_config): ) spack.config._add_command_line_scopes(mutable_config, [str(tmpdir)]) + assert mutable_config.get("config:verify_ssl") is False + assert mutable_config.get("config:dirty") is False + + +def test_add_command_line_scope_env(tmp_path, mutable_mock_env_path): + """Test whether --config-scope works, either by name or path.""" + managed_env = ev.create("example").manifest_path + + with open(managed_env, "w") as f: + f.write( + """\ +spack: + config: + install_tree: + root: /tmp/first +""" + ) + + with open(tmp_path / "spack.yaml", "w") as f: + f.write( + """\ +spack: + config: + install_tree: + root: /tmp/second +""" + ) + + config = spack.config.Configuration() + spack.config._add_command_line_scopes(config, ["example", str(tmp_path)]) + assert len(config.scopes) == 2 + assert config.get("config:install_tree:root") == "/tmp/second" + + config = spack.config.Configuration() + spack.config._add_command_line_scopes(config, [str(tmp_path), "example"]) + assert len(config.scopes) == 2 + assert config.get("config:install_tree:root") == "/tmp/first" + + assert ev.active_environment() is None # shouldn't cause an environment to be activated def test_nested_override(): @@ -956,7 +987,7 @@ def test_immutable_scope(tmpdir): root: dummy_tree_value """ ) - scope = spack.config.ImmutableConfigScope("test", str(tmpdir)) + scope = spack.config.DirectoryConfigScope("test", str(tmpdir), writable=False) data = scope.get_section("config") assert data["config"]["install_tree"] == {"root": "dummy_tree_value"} @@ -966,7 +997,9 @@ def test_immutable_scope(tmpdir): def test_single_file_scope(config, env_yaml): - scope = spack.config.SingleFileScope("env", env_yaml, spack.schema.env.schema, ["spack"]) + scope = spack.config.SingleFileScope( + "env", env_yaml, spack.schema.env.schema, yaml_path=["spack"] + ) with spack.config.override(scope): # from the single-file config @@ -1002,7 +1035,9 @@ def test_single_file_scope_section_override(tmpdir, config): """ ) - scope = spack.config.SingleFileScope("env", env_yaml, spack.schema.env.schema, ["spack"]) + scope = spack.config.SingleFileScope( + "env", env_yaml, spack.schema.env.schema, yaml_path=["spack"] + ) with spack.config.override(scope): # from the single-file config @@ -1018,7 +1053,7 @@ def test_single_file_scope_section_override(tmpdir, config): def test_write_empty_single_file_scope(tmpdir): env_schema = spack.schema.env.schema scope = spack.config.SingleFileScope( - "test", str(tmpdir.ensure("config.yaml")), env_schema, ["spack"] + "test", str(tmpdir.ensure("config.yaml")), env_schema, yaml_path=["spack"] ) scope._write_section("config") # confirm we can write empty config @@ -1206,18 +1241,20 @@ def test_license_dir_config(mutable_config, mock_packages): expected_dir = spack.paths.default_license_dir assert spack.config.get("config:license_dir") == expected_dir assert spack.package_base.PackageBase.global_license_dir == expected_dir - assert spack.repo.PATH.get_pkg_class("a").global_license_dir == expected_dir + assert spack.repo.PATH.get_pkg_class("pkg-a").global_license_dir == expected_dir rel_path = os.path.join(os.path.sep, "foo", "bar", "baz") spack.config.set("config:license_dir", rel_path) assert spack.config.get("config:license_dir") == rel_path assert spack.package_base.PackageBase.global_license_dir == rel_path - assert spack.repo.PATH.get_pkg_class("a").global_license_dir == rel_path + assert spack.repo.PATH.get_pkg_class("pkg-a").global_license_dir == rel_path @pytest.mark.regression("22547") def test_single_file_scope_cache_clearing(env_yaml): - scope = spack.config.SingleFileScope("env", env_yaml, spack.schema.env.schema, ["spack"]) + scope = spack.config.SingleFileScope( + "env", env_yaml, spack.schema.env.schema, yaml_path=["spack"] + ) # Check that we can retrieve data from the single file scope before = scope.get_section("config") assert before diff --git a/lib/spack/spack/test/conftest.py b/lib/spack/spack/test/conftest.py index 7a6bd0622fcf6f..37fabe3f0bc1c8 100644 --- a/lib/spack/spack/test/conftest.py +++ b/lib/spack/spack/test/conftest.py @@ -63,6 +63,12 @@ from spack.util.pattern import Bunch +@pytest.fixture(autouse=True) +def check_config_fixture(request): + if "config" in request.fixturenames and "mutable_config" in request.fixturenames: + raise RuntimeError("'config' and 'mutable_config' are both requested") + + def ensure_configuration_fixture_run_before(request): """Ensure that fixture mutating the configuration run before the one where the function is called. @@ -561,7 +567,7 @@ def _use_test_platform(test_platform): # @pytest.fixture(scope="session") def mock_repo_path(): - yield spack.repo.Repo(spack.paths.mock_packages_path) + yield spack.repo.from_path(spack.paths.mock_packages_path) def _pkg_install_fn(pkg, spec, prefix): @@ -588,7 +594,7 @@ def mock_packages(mock_repo_path, mock_pkg_install, request): def mutable_mock_repo(mock_repo_path, request): """Function-scoped mock packages, for tests that need to modify them.""" ensure_configuration_fixture_run_before(request) - mock_repo = spack.repo.Repo(spack.paths.mock_packages_path) + mock_repo = spack.repo.from_path(spack.paths.mock_packages_path) with spack.repo.use_repositories(mock_repo) as mock_repo_path: yield mock_repo_path @@ -597,7 +603,7 @@ def mutable_mock_repo(mock_repo_path, request): def mock_custom_repository(tmpdir, mutable_mock_repo): """Create a custom repository with a single package "c" and return its path.""" builder = spack.repo.MockRepositoryBuilder(tmpdir.mkdir("myrepo")) - builder.add_package("c") + builder.add_package("pkg-c") return builder.root @@ -719,9 +725,9 @@ def _create_mock_configuration_scopes(configuration_dir): """Create the configuration scopes used in `config` and `mutable_config`.""" return [ spack.config.InternalConfigScope("_builtin", spack.config.CONFIG_DEFAULTS), - spack.config.ConfigScope("site", str(configuration_dir.join("site"))), - spack.config.ConfigScope("system", str(configuration_dir.join("system"))), - spack.config.ConfigScope("user", str(configuration_dir.join("user"))), + spack.config.DirectoryConfigScope("site", str(configuration_dir.join("site"))), + spack.config.DirectoryConfigScope("system", str(configuration_dir.join("system"))), + spack.config.DirectoryConfigScope("user", str(configuration_dir.join("user"))), spack.config.InternalConfigScope("command_line"), ] @@ -755,7 +761,7 @@ def mutable_empty_config(tmpdir_factory, configuration_dir): """Empty configuration that can be modified by the tests.""" mutable_dir = tmpdir_factory.mktemp("mutable_config").join("tmp") scopes = [ - spack.config.ConfigScope(name, str(mutable_dir.join(name))) + spack.config.DirectoryConfigScope(name, str(mutable_dir.join(name))) for name in ["site", "system", "user"] ] @@ -790,7 +796,7 @@ def concretize_scope(mutable_config, tmpdir): """Adds a scope for concretization preferences""" tmpdir.ensure_dir("concretize") mutable_config.push_scope( - spack.config.ConfigScope("concretize", str(tmpdir.join("concretize"))) + spack.config.DirectoryConfigScope("concretize", str(tmpdir.join("concretize"))) ) yield str(tmpdir.join("concretize")) @@ -802,10 +808,10 @@ def concretize_scope(mutable_config, tmpdir): @pytest.fixture def no_compilers_yaml(mutable_config): """Creates a temporary configuration without compilers.yaml""" - for scope, local_config in mutable_config.scopes.items(): - if not local_config.path: # skip internal scopes + for local_config in mutable_config.scopes.values(): + if not isinstance(local_config, spack.config.DirectoryConfigScope): continue - compilers_yaml = os.path.join(local_config.path, "compilers.yaml") + compilers_yaml = local_config.get_section_filename("compilers") if os.path.exists(compilers_yaml): os.remove(compilers_yaml) return mutable_config @@ -814,7 +820,9 @@ def no_compilers_yaml(mutable_config): @pytest.fixture() def mock_low_high_config(tmpdir): """Mocks two configuration scopes: 'low' and 'high'.""" - scopes = [spack.config.ConfigScope(name, str(tmpdir.join(name))) for name in ["low", "high"]] + scopes = [ + spack.config.DirectoryConfigScope(name, str(tmpdir.join(name))) for name in ["low", "high"] + ] with spack.config.use_configuration(*scopes) as config: yield config @@ -849,7 +857,7 @@ def _install(spec): _install("mpileaks ^mpich") _install("mpileaks ^mpich2") _install("mpileaks ^zmpi") - _install("externaltest") + _install("externaltest ^externalvirtual") _install("trivial-smoke-test") @@ -990,19 +998,6 @@ def temporary_store(tmpdir, request): temporary_store_path.remove() -@pytest.fixture(scope="function") -def install_mockery_mutable_config(temporary_store, mutable_config, mock_packages): - """Hooks a fake install directory, DB, and stage directory into Spack. - - This is specifically for tests which want to use 'install_mockery' but - also need to modify configuration (and hence would want to use - 'mutable config'): 'install_mockery' does not support this. - """ - # We use a fake package, so temporarily disable checksumming - with spack.config.override("config:checksum", False): - yield - - @pytest.fixture() def mock_fetch(mock_archive, monkeypatch): """Fake the URL for a package so it downloads from a file.""" @@ -2019,7 +2014,8 @@ def create_test_repo(tmpdir, pkg_name_content_tuples): with open(str(pkg_file), "w") as f: f.write(pkg_str) - return spack.repo.Repo(repo_path) + repo_cache = spack.util.file_cache.FileCache(str(tmpdir.join("cache"))) + return spack.repo.Repo(repo_path, cache=repo_cache) @pytest.fixture() @@ -2061,3 +2057,10 @@ def _c_compiler_always_exists(): spack.solver.asp.c_compiler_runs = _true yield spack.solver.asp.c_compiler_runs = fn + + +@pytest.fixture(scope="session") +def mock_test_cache(tmp_path_factory): + cache_dir = tmp_path_factory.mktemp("cache") + print(cache_dir) + return spack.util.file_cache.FileCache(str(cache_dir)) diff --git a/lib/spack/spack/test/database.py b/lib/spack/spack/test/database.py index b981191676b95c..91eab857f41b41 100644 --- a/lib/spack/spack/test/database.py +++ b/lib/spack/spack/test/database.py @@ -58,16 +58,22 @@ def upstream_and_downstream_db(tmpdir, gen_mock_layout): @pytest.mark.parametrize( "install_tree,result", - [("all", ["b", "c"]), ("upstream", ["c"]), ("local", ["b"]), ("{u}", ["c"]), ("{d}", ["b"])], + [ + ("all", ["pkg-b", "pkg-c"]), + ("upstream", ["pkg-c"]), + ("local", ["pkg-b"]), + ("{u}", ["pkg-c"]), + ("{d}", ["pkg-b"]), + ], ) def test_query_by_install_tree( install_tree, result, upstream_and_downstream_db, mock_packages, monkeypatch, config ): up_write_db, up_db, up_layout, down_db, down_layout = upstream_and_downstream_db - # Set the upstream DB to contain "c" and downstream to contain "b") - b = spack.spec.Spec("b").concretized() - c = spack.spec.Spec("c").concretized() + # Set the upstream DB to contain "pkg-c" and downstream to contain "pkg-b") + b = spack.spec.Spec("pkg-b").concretized() + c = spack.spec.Spec("pkg-c").concretized() up_write_db.add(c, up_layout) up_db._read() down_db.add(b, down_layout) @@ -86,7 +92,7 @@ def test_spec_installed_upstream( # a known installed spec should say that it's installed with spack.repo.use_repositories(mock_custom_repository): - spec = spack.spec.Spec("c").concretized() + spec = spack.spec.Spec("pkg-c").concretized() assert not spec.installed assert not spec.installed_upstream @@ -848,7 +854,7 @@ def test_query_virtual_spec(database): def test_failed_spec_path_error(database): """Ensure spec not concrete check is covered.""" - s = spack.spec.Spec("a") + s = spack.spec.Spec("pkg-a") with pytest.raises(AssertionError, match="concrete spec required"): spack.store.STORE.failure_tracker.mark(s) @@ -863,14 +869,14 @@ def _is(self, spec): # Pretend the spec has been failure locked monkeypatch.setattr(spack.database.FailureTracker, "lock_taken", _is) - s = spack.spec.Spec("a").concretized() + s = spack.spec.Spec("pkg-a").concretized() spack.store.STORE.failure_tracker.clear(s) out = capfd.readouterr()[0] assert "Retaining failure marking" in out @pytest.mark.db -def test_clear_failure_forced(default_mock_concretization, mutable_database, monkeypatch, capfd): +def test_clear_failure_forced(mutable_database, monkeypatch, capfd): """Add test coverage for clear_failure operation when force.""" def _is(self, spec): @@ -881,7 +887,7 @@ def _is(self, spec): # Ensure raise OSError when try to remove the non-existent marking monkeypatch.setattr(spack.database.FailureTracker, "persistent_mark", _is) - s = default_mock_concretization("a") + s = spack.spec.Spec("pkg-a").concretized() spack.store.STORE.failure_tracker.clear(s, force=True) out = capfd.readouterr()[1] assert "Removing failure marking despite lock" in out @@ -889,30 +895,30 @@ def _is(self, spec): @pytest.mark.db -def test_mark_failed(default_mock_concretization, mutable_database, monkeypatch, tmpdir, capsys): +def test_mark_failed(mutable_database, monkeypatch, tmpdir, capsys): """Add coverage to mark_failed.""" def _raise_exc(lock): raise lk.LockTimeoutError("write", "/mock-lock", 1.234, 10) - # Ensure attempt to acquire write lock on the mark raises the exception - monkeypatch.setattr(lk.Lock, "acquire_write", _raise_exc) - with tmpdir.as_cwd(): - s = default_mock_concretization("a") - spack.store.STORE.failure_tracker.mark(s) + s = spack.spec.Spec("pkg-a").concretized() + + # Ensure attempt to acquire write lock on the mark raises the exception + monkeypatch.setattr(lk.Lock, "acquire_write", _raise_exc) + spack.store.STORE.failure_tracker.mark(s) out = str(capsys.readouterr()[1]) - assert "Unable to mark a as failed" in out + assert "Unable to mark pkg-a as failed" in out spack.store.STORE.failure_tracker.clear_all() @pytest.mark.db -def test_prefix_failed(default_mock_concretization, mutable_database, monkeypatch): +def test_prefix_failed(mutable_database, monkeypatch): """Add coverage to failed operation.""" - s = default_mock_concretization("a") + s = spack.spec.Spec("pkg-a").concretized() # Confirm the spec is not already marked as failed assert not spack.store.STORE.failure_tracker.has_failed(s) @@ -930,13 +936,13 @@ def test_prefix_failed(default_mock_concretization, mutable_database, monkeypatc assert spack.store.STORE.failure_tracker.has_failed(s) -def test_prefix_write_lock_error(default_mock_concretization, mutable_database, monkeypatch): +def test_prefix_write_lock_error(mutable_database, monkeypatch): """Cover the prefix write lock exception.""" def _raise(db, spec): raise lk.LockError("Mock lock error") - s = default_mock_concretization("a") + s = spack.spec.Spec("pkg-a").concretized() # Ensure subsequent lock operations fail monkeypatch.setattr(lk.Lock, "acquire_write", _raise) @@ -1112,7 +1118,7 @@ def test_database_read_works_with_trailing_data(tmp_path, default_mock_concretiz # Populate a database root = str(tmp_path) db = spack.database.Database(root) - spec = default_mock_concretization("a") + spec = default_mock_concretization("pkg-a") db.add(spec, directory_layout=None) specs_in_db = db.query_local() assert spec in specs_in_db diff --git a/lib/spack/spack/test/directives.py b/lib/spack/spack/test/directives.py index 6ae60b4f3974b4..c941a60049680c 100644 --- a/lib/spack/spack/test/directives.py +++ b/lib/spack/spack/test/directives.py @@ -31,7 +31,7 @@ def test_true_directives_exist(mock_packages): assert cls.dependencies assert "extendee" in cls.dependencies[spack.spec.Spec()] - assert "b" in cls.dependencies[spack.spec.Spec()] + assert "pkg-b" in cls.dependencies[spack.spec.Spec()] assert cls.resources assert spack.spec.Spec() in cls.resources @@ -44,7 +44,7 @@ def test_constraints_from_context(mock_packages): pkg_cls = spack.repo.PATH.get_pkg_class("with-constraint-met") assert pkg_cls.dependencies - assert "b" in pkg_cls.dependencies[spack.spec.Spec("@1.0")] + assert "pkg-b" in pkg_cls.dependencies[spack.spec.Spec("@1.0")] assert pkg_cls.conflicts assert (spack.spec.Spec("%gcc"), None) in pkg_cls.conflicts[spack.spec.Spec("+foo@1.0")] @@ -55,7 +55,7 @@ def test_constraints_from_context_are_merged(mock_packages): pkg_cls = spack.repo.PATH.get_pkg_class("with-constraint-met") assert pkg_cls.dependencies - assert "c" in pkg_cls.dependencies[spack.spec.Spec("@0.14:15 ^b@3.8:4.0")] + assert "pkg-c" in pkg_cls.dependencies[spack.spec.Spec("@0.14:15 ^pkg-b@3.8:4.0")] @pytest.mark.regression("27754") @@ -69,9 +69,9 @@ def test_extends_spec(config, mock_packages): @pytest.mark.regression("34368") def test_error_on_anonymous_dependency(config, mock_packages): - pkg = spack.repo.PATH.get_pkg_class("a") + pkg = spack.repo.PATH.get_pkg_class("pkg-a") with pytest.raises(spack.directives.DependencyError): - spack.directives._depends_on(pkg, "@4.5") + spack.directives._depends_on(pkg, spack.spec.Spec("@4.5")) @pytest.mark.regression("34879") diff --git a/lib/spack/spack/test/directory_layout.py b/lib/spack/spack/test/directory_layout.py index 6f422818276239..da51de415ea412 100644 --- a/lib/spack/spack/test/directory_layout.py +++ b/lib/spack/spack/test/directory_layout.py @@ -146,7 +146,7 @@ def test_read_and_write_spec(temporary_store, config, mock_packages): assert not os.path.exists(install_dir) -def test_handle_unknown_package(temporary_store, config, mock_packages): +def test_handle_unknown_package(temporary_store, config, mock_packages, tmp_path): """This test ensures that spack can at least do *some* operations with packages that are installed but that it does not know about. This is actually not such an uncommon @@ -158,7 +158,9 @@ def test_handle_unknown_package(temporary_store, config, mock_packages): or query them again if the package goes away. """ layout = temporary_store.layout - mock_db = spack.repo.RepoPath(spack.paths.mock_packages_path) + + repo_cache = spack.util.file_cache.FileCache(str(tmp_path / "cache")) + mock_db = spack.repo.RepoPath(spack.paths.mock_packages_path, cache=repo_cache) not_in_mock = set.difference( set(spack.repo.all_package_names()), set(mock_db.all_package_names()) diff --git a/lib/spack/spack/test/env.py b/lib/spack/spack/test/env.py index d8bcc0797eb80e..46be9ca66c864b 100644 --- a/lib/spack/spack/test/env.py +++ b/lib/spack/spack/test/env.py @@ -96,7 +96,7 @@ def test_env_change_spec(tmp_path, mock_packages, config): """ -def test_env_change_spec_in_definition(tmp_path, mock_packages, config, mutable_mock_env_path): +def test_env_change_spec_in_definition(tmp_path, mock_packages, mutable_mock_env_path): manifest_file = tmp_path / ev.manifest_name manifest_file.write_text(_test_matrix_yaml) e = ev.create("test", manifest_file) @@ -118,9 +118,7 @@ def test_env_change_spec_in_definition(tmp_path, mock_packages, config, mutable_ assert not any(x.intersects("mpileaks@2.1%gcc") for x in e.user_specs) -def test_env_change_spec_in_matrix_raises_error( - tmp_path, mock_packages, config, mutable_mock_env_path -): +def test_env_change_spec_in_matrix_raises_error(tmp_path, mock_packages, mutable_mock_env_path): manifest_file = tmp_path / ev.manifest_name manifest_file.write_text(_test_matrix_yaml) e = ev.create("test", manifest_file) @@ -255,7 +253,7 @@ def test_update_default_view(init_view, update_value, tmp_path, mock_packages, c if isinstance(init_view, str) and update_value is True: expected_value = init_view - assert env.manifest.pristine_yaml_content["spack"]["view"] == expected_value + assert env.manifest.yaml_content["spack"]["view"] == expected_value @pytest.mark.parametrize( @@ -383,10 +381,10 @@ def test_can_add_specs_to_environment_without_specs_attribute(tmp_path, mock_pac """ ) env = ev.Environment(tmp_path) - env.add("a") + env.add("pkg-a") assert len(env.user_specs) == 1 - assert env.manifest.pristine_yaml_content["spack"]["specs"] == ["a"] + assert env.manifest.yaml_content["spack"]["specs"] == ["pkg-a"] @pytest.mark.parametrize( @@ -584,7 +582,7 @@ def test_conflicts_with_packages_that_are_not_dependencies( spack: specs: - {spec_str} - - b + - pkg-b concretizer: unify: true """ @@ -712,7 +710,7 @@ def test_variant_propagation_with_unify_false(tmp_path, mock_packages, config): spack: specs: - parent-foo ++foo - - c + - pkg-c concretizer: unify: false """ @@ -797,10 +795,10 @@ def test_deconcretize_then_concretize_does_not_error(mutable_mock_env_path, mock """spack: specs: # These two specs concretize to the same hash - - c - - c@1.0 + - pkg-c + - pkg-c@1.0 # Spec used to trigger the bug - - a + - pkg-a concretizer: unify: true """ @@ -808,10 +806,10 @@ def test_deconcretize_then_concretize_does_not_error(mutable_mock_env_path, mock e = ev.Environment(mutable_mock_env_path) with e: e.concretize() - e.deconcretize(spack.spec.Spec("a"), concrete=False) + e.deconcretize(spack.spec.Spec("pkg-a"), concrete=False) e.concretize() assert len(e.concrete_roots()) == 3 - all_root_hashes = set(x.dag_hash() for x in e.concrete_roots()) + all_root_hashes = {x.dag_hash() for x in e.concrete_roots()} assert len(all_root_hashes) == 2 @@ -843,3 +841,28 @@ def test_root_version_weights_for_old_versions(mutable_mock_env_path, mock_packa assert bowtie.satisfies("@=1.3.0") assert gcc.satisfies("@=1.0") + + +def test_env_view_on_empty_dir_is_fine(tmp_path, config, mock_packages, temporary_store): + """Tests that creating a view pointing to an empty dir is not an error.""" + view_dir = tmp_path / "view" + view_dir.mkdir() + env = ev.create_in_dir(tmp_path, with_view="view") + env.add("mpileaks") + env.concretize() + env.install_all(fake=True) + env.regenerate_views() + assert view_dir.is_symlink() + + +def test_env_view_on_non_empty_dir_errors(tmp_path, config, mock_packages, temporary_store): + """Tests that creating a view pointing to a non-empty dir errors.""" + view_dir = tmp_path / "view" + view_dir.mkdir() + (view_dir / "file").write_text("") + env = ev.create_in_dir(tmp_path, with_view="view") + env.add("mpileaks") + env.concretize() + env.install_all(fake=True) + with pytest.raises(ev.SpackEnvironmentError, match="because it is a non-empty dir"): + env.regenerate_views() diff --git a/lib/spack/spack/test/installer.py b/lib/spack/spack/test/installer.py index 53ce7314eb7794..1ca3982dd6ca5d 100644 --- a/lib/spack/spack/test/installer.py +++ b/lib/spack/spack/test/installer.py @@ -99,7 +99,7 @@ def test_hms(sec, result): def test_get_dependent_ids(install_mockery, mock_packages): # Concretize the parent package, which handle dependency too - spec = spack.spec.Spec("a") + spec = spack.spec.Spec("pkg-a") spec.concretize() assert spec.concrete @@ -190,11 +190,11 @@ def _spec(spec, unsigned=False, mirrors_for_spec=None): # Skip database updates monkeypatch.setattr(spack.database.Database, "add", _noop) - spec = spack.spec.Spec("a").concretized() + spec = spack.spec.Spec("pkg-a").concretized() assert inst._process_binary_cache_tarball(spec.package, explicit=False, unsigned=False) out = capfd.readouterr()[0] - assert "Extracting a" in out + assert "Extracting pkg-a" in out assert "from binary cache" in out @@ -243,7 +243,7 @@ def test_installer_prune_built_build_deps(install_mockery, monkeypatch, tmpdir): @property def _mock_installed(self): - return self.name in ["c"] + return self.name == "pkg-c" # Mock the installed property to say that (b) is installed monkeypatch.setattr(spack.spec.Spec, "installed", _mock_installed) @@ -251,23 +251,24 @@ def _mock_installed(self): # Create mock repository with packages (a), (b), (c), (d), and (e) builder = spack.repo.MockRepositoryBuilder(tmpdir.mkdir("mock-repo")) - builder.add_package("a", dependencies=[("b", "build", None), ("c", "build", None)]) - builder.add_package("b", dependencies=[("d", "build", None)]) + builder.add_package("pkg-a", dependencies=[("pkg-b", "build", None), ("pkg-c", "build", None)]) + builder.add_package("pkg-b", dependencies=[("pkg-d", "build", None)]) builder.add_package( - "c", dependencies=[("d", "build", None), ("e", "all", None), ("f", "build", None)] + "pkg-c", + dependencies=[("pkg-d", "build", None), ("pkg-e", "all", None), ("pkg-f", "build", None)], ) - builder.add_package("d") - builder.add_package("e") - builder.add_package("f") + builder.add_package("pkg-d") + builder.add_package("pkg-e") + builder.add_package("pkg-f") with spack.repo.use_repositories(builder.root): - installer = create_installer(["a"]) + installer = create_installer(["pkg-a"]) installer._init_queue() # Assert that (c) is not in the build_pq - result = set([task.pkg_id[0] for _, task in installer.build_pq]) - expected = set(["a", "b", "c", "d", "e"]) + result = {task.pkg_id[:5] for _, task in installer.build_pq} + expected = {"pkg-a", "pkg-b", "pkg-c", "pkg-d", "pkg-e"} assert result == expected @@ -379,8 +380,7 @@ def test_ensure_locked_have(install_mockery, tmpdir, capsys): @pytest.mark.parametrize("lock_type,reads,writes", [("read", 1, 0), ("write", 0, 1)]) def test_ensure_locked_new_lock(install_mockery, tmpdir, lock_type, reads, writes): - pkg_id = "a" - installer = create_installer([pkg_id], {}) + installer = create_installer(["pkg-a"], {}) spec = installer.build_requests[0].pkg.spec with tmpdir.as_cwd(): ltype, lock = installer._ensure_locked(lock_type, spec.package) @@ -398,8 +398,7 @@ def _pl(db, spec, timeout): lock.default_timeout = 1e-9 if timeout is None else None return lock - pkg_id = "a" - installer = create_installer([pkg_id], {}) + installer = create_installer(["pkg-a"], {}) spec = installer.build_requests[0].pkg.spec monkeypatch.setattr(spack.database.SpecLocker, "lock", _pl) @@ -453,7 +452,7 @@ def test_packages_needed_to_bootstrap_compiler_packages(install_mockery, monkeyp spec.concretize() def _conc_spec(compiler): - return spack.spec.Spec("a").concretized() + return spack.spec.Spec("pkg-a").concretized() # Ensure we can get past functions that are precluding obtaining # packages. @@ -561,7 +560,7 @@ def test_clear_failures_success(tmpdir): """Test the clear_failures happy path.""" failures = spack.database.FailureTracker(str(tmpdir), default_timeout=0.1) - spec = spack.spec.Spec("a") + spec = spack.spec.Spec("pkg-a") spec._mark_concrete() # Set up a test prefix failure lock @@ -587,7 +586,7 @@ def test_clear_failures_success(tmpdir): def test_clear_failures_errs(tmpdir, capsys): """Test the clear_failures exception paths.""" failures = spack.database.FailureTracker(str(tmpdir), default_timeout=0.1) - spec = spack.spec.Spec("a") + spec = spack.spec.Spec("pkg-a") spec._mark_concrete() failures.mark(spec) @@ -649,11 +648,11 @@ def test_check_deps_status_install_failure(install_mockery): """Tests that checking the dependency status on a request to install 'a' fails, if we mark the dependency as failed. """ - s = spack.spec.Spec("a").concretized() + s = spack.spec.Spec("pkg-a").concretized() for dep in s.traverse(root=False): spack.store.STORE.failure_tracker.mark(dep) - installer = create_installer(["a"], {}) + installer = create_installer(["pkg-a"], {}) request = installer.build_requests[0] with pytest.raises(inst.InstallError, match="install failure"): @@ -661,7 +660,7 @@ def test_check_deps_status_install_failure(install_mockery): def test_check_deps_status_write_locked(install_mockery, monkeypatch): - installer = create_installer(["a"], {}) + installer = create_installer(["pkg-a"], {}) request = installer.build_requests[0] # Ensure the lock is not acquired @@ -672,7 +671,7 @@ def test_check_deps_status_write_locked(install_mockery, monkeypatch): def test_check_deps_status_external(install_mockery, monkeypatch): - installer = create_installer(["a"], {}) + installer = create_installer(["pkg-a"], {}) request = installer.build_requests[0] # Mock the dependencies as external so assumed to be installed @@ -684,7 +683,7 @@ def test_check_deps_status_external(install_mockery, monkeypatch): def test_check_deps_status_upstream(install_mockery, monkeypatch): - installer = create_installer(["a"], {}) + installer = create_installer(["pkg-a"], {}) request = installer.build_requests[0] # Mock the known dependencies as installed upstream @@ -756,7 +755,7 @@ def test_install_task_add_compiler(install_mockery, monkeypatch, capfd): def _add(_compilers): tty.msg(config_msg) - installer = create_installer(["a"], {}) + installer = create_installer(["pkg-a"], {}) task = create_build_task(installer.build_requests[0].pkg) task.compiler = True @@ -792,7 +791,7 @@ def test_release_lock_write_n_exception(install_mockery, tmpdir, capsys): @pytest.mark.parametrize("installed", [True, False]) def test_push_task_skip_processed(install_mockery, installed): """Test to ensure skip re-queueing a processed package.""" - installer = create_installer(["a"], {}) + installer = create_installer(["pkg-a"], {}) assert len(list(installer.build_tasks)) == 0 # Mark the package as installed OR failed @@ -809,7 +808,7 @@ def test_push_task_skip_processed(install_mockery, installed): def test_requeue_task(install_mockery, capfd): """Test to ensure cover _requeue_task.""" - installer = create_installer(["a"], {}) + installer = create_installer(["pkg-a"], {}) task = create_build_task(installer.build_requests[0].pkg) # temporarily set tty debug messages on so we can test output @@ -826,7 +825,7 @@ def test_requeue_task(install_mockery, capfd): assert qtask.attempts == task.attempts + 1 out = capfd.readouterr()[1] - assert "Installing a" in out + assert "Installing pkg-a" in out assert " in progress by another process" in out @@ -839,16 +838,16 @@ def _mktask(pkg): def _rmtask(installer, pkg_id): raise RuntimeError("Raise an exception to test except path") - installer = create_installer(["a"], {}) + installer = create_installer(["pkg-a"], {}) spec = installer.build_requests[0].pkg.spec # Cover task removal happy path - installer.build_tasks["a"] = _mktask(spec.package) + installer.build_tasks["pkg-a"] = _mktask(spec.package) installer._cleanup_all_tasks() assert len(installer.build_tasks) == 0 # Cover task removal exception path - installer.build_tasks["a"] = _mktask(spec.package) + installer.build_tasks["pkg-a"] = _mktask(spec.package) monkeypatch.setattr(inst.PackageInstaller, "_remove_task", _rmtask) installer._cleanup_all_tasks() assert len(installer.build_tasks) == 1 @@ -938,7 +937,7 @@ def test_install_uninstalled_deps(install_mockery, monkeypatch, capsys): def test_install_failed(install_mockery, monkeypatch, capsys): """Test install with failed install.""" - installer = create_installer(["b"], {}) + installer = create_installer(["pkg-b"], {}) # Make sure the package is identified as failed monkeypatch.setattr(spack.database.FailureTracker, "has_failed", _true) @@ -953,7 +952,7 @@ def test_install_failed(install_mockery, monkeypatch, capsys): def test_install_failed_not_fast(install_mockery, monkeypatch, capsys): """Test install with failed install.""" - installer = create_installer(["a"], {"fail_fast": False}) + installer = create_installer(["pkg-a"], {"fail_fast": False}) # Make sure the package is identified as failed monkeypatch.setattr(spack.database.FailureTracker, "has_failed", _true) @@ -963,12 +962,12 @@ def test_install_failed_not_fast(install_mockery, monkeypatch, capsys): out = str(capsys.readouterr()) assert "failed to install" in out - assert "Skipping build of a" in out + assert "Skipping build of pkg-a" in out def test_install_fail_on_interrupt(install_mockery, monkeypatch): """Test ctrl-c interrupted install.""" - spec_name = "a" + spec_name = "pkg-a" err_msg = "mock keyboard interrupt for {0}".format(spec_name) def _interrupt(installer, task, install_status, **kwargs): @@ -985,13 +984,13 @@ def _interrupt(installer, task, install_status, **kwargs): with pytest.raises(KeyboardInterrupt, match=err_msg): installer.install() - assert "b" in installer.installed # ensure dependency of a is 'installed' + assert "pkg-b" in installer.installed # ensure dependency of pkg-a is 'installed' assert spec_name not in installer.installed def test_install_fail_single(install_mockery, monkeypatch): """Test expected results for failure of single package.""" - spec_name = "a" + spec_name = "pkg-a" err_msg = "mock internal package build error for {0}".format(spec_name) class MyBuildException(Exception): @@ -1011,13 +1010,13 @@ def _install(installer, task, install_status, **kwargs): with pytest.raises(MyBuildException, match=err_msg): installer.install() - assert "b" in installer.installed # ensure dependency of a is 'installed' + assert "pkg-b" in installer.installed # ensure dependency of a is 'installed' assert spec_name not in installer.installed def test_install_fail_multi(install_mockery, monkeypatch): """Test expected results for failure of multiple packages.""" - spec_name = "c" + spec_name = "pkg-c" err_msg = "mock internal package build error" class MyBuildException(Exception): @@ -1029,7 +1028,7 @@ def _install(installer, task, install_status, **kwargs): else: installer.installed.add(task.pkg.name) - installer = create_installer([spec_name, "a"], {}) + installer = create_installer([spec_name, "pkg-a"], {}) # Raise a KeyboardInterrupt error to trigger early termination monkeypatch.setattr(inst.PackageInstaller, "_install_task", _install) @@ -1037,13 +1036,13 @@ def _install(installer, task, install_status, **kwargs): with pytest.raises(inst.InstallError, match="Installation request failed"): installer.install() - assert "a" in installer.installed # ensure the the second spec installed + assert "pkg-a" in installer.installed # ensure the the second spec installed assert spec_name not in installer.installed def test_install_fail_fast_on_detect(install_mockery, monkeypatch, capsys): """Test fail_fast install when an install failure is detected.""" - b, c = spack.spec.Spec("b").concretized(), spack.spec.Spec("c").concretized() + b, c = spack.spec.Spec("pkg-b").concretized(), spack.spec.Spec("pkg-c").concretized() b_id, c_id = inst.package_id(b), inst.package_id(c) installer = create_installer([b, c], {"fail_fast": True}) @@ -1056,7 +1055,7 @@ def test_install_fail_fast_on_detect(install_mockery, monkeypatch, capsys): installer.install() assert b_id in installer.failed, "Expected b to be marked as failed" - assert c_id not in installer.failed, "Expected no attempt to install c" + assert c_id not in installer.failed, "Expected no attempt to install pkg-c" assert f"{b_id} failed to install" in capsys.readouterr().err @@ -1070,7 +1069,7 @@ def _test_install_fail_fast_on_except_patch(installer, **kwargs): @pytest.mark.disable_clean_stage_check def test_install_fail_fast_on_except(install_mockery, monkeypatch, capsys): """Test fail_fast install when an install failure results from an error.""" - installer = create_installer(["a"], {"fail_fast": True}) + installer = create_installer(["pkg-a"], {"fail_fast": True}) # Raise a non-KeyboardInterrupt exception to trigger fast failure. # @@ -1084,7 +1083,7 @@ def test_install_fail_fast_on_except(install_mockery, monkeypatch, capsys): installer.install() out = str(capsys.readouterr()) - assert "Skipping build of a" in out + assert "Skipping build of pkg-a" in out def test_install_lock_failures(install_mockery, monkeypatch, capfd): @@ -1093,7 +1092,7 @@ def test_install_lock_failures(install_mockery, monkeypatch, capfd): def _requeued(installer, task, install_status): tty.msg("requeued {0}".format(task.pkg.spec.name)) - installer = create_installer(["b"], {}) + installer = create_installer(["pkg-b"], {}) # Ensure never acquire a lock monkeypatch.setattr(inst.PackageInstaller, "_ensure_locked", _not_locked) @@ -1112,7 +1111,7 @@ def _requeued(installer, task, install_status): def test_install_lock_installed_requeue(install_mockery, monkeypatch, capfd): """Cover basic install handling for installed package.""" - b = spack.spec.Spec("b").concretized() + b = spack.spec.Spec("pkg-b").concretized() b_pkg_id = inst.package_id(b) installer = create_installer([b]) @@ -1166,7 +1165,7 @@ def _requeued(installer, task, install_status): # Ensure don't continually requeue the task monkeypatch.setattr(inst.PackageInstaller, "_requeue_task", _requeued) - installer = create_installer(["b"], {}) + installer = create_installer(["pkg-b"], {}) with pytest.raises(inst.InstallError, match="request failed"): installer.install() @@ -1181,7 +1180,7 @@ def _requeued(installer, task, install_status): def test_install_skip_patch(install_mockery, mock_fetch): """Test the path skip_patch install path.""" - installer = create_installer(["b"], {"fake": False, "skip_patch": True}) + installer = create_installer(["pkg-b"], {"fake": False, "skip_patch": True}) installer.install() assert inst.package_id(installer.build_requests[0].pkg.spec) in installer.installed @@ -1202,7 +1201,7 @@ def test_overwrite_install_backup_success(temporary_store, config, mock_packages of the original prefix, and leave the original spec marked installed. """ # Get a build task. TODO: refactor this to avoid calling internal methods - installer = create_installer(["b"]) + installer = create_installer(["pkg-b"]) installer._init_queue() task = installer._pop_task() @@ -1262,7 +1261,7 @@ def remove(self, spec): self.called = True # Get a build task. TODO: refactor this to avoid calling internal methods - installer = create_installer(["b"]) + installer = create_installer(["pkg-b"]) installer._init_queue() task = installer._pop_task() @@ -1290,8 +1289,8 @@ def test_term_status_line(): # accept that. `with log_output(buf)` doesn't really work because it trims output # and we actually want to test for escape sequences etc. x = inst.TermStatusLine(enabled=True) - x.add("a") - x.add("b") + x.add("pkg-a") + x.add("pkg-b") x.clear() diff --git a/lib/spack/spack/test/llnl/util/tty/log.py b/lib/spack/spack/test/llnl/util/tty/log.py index b2f8cd8a9eb0f5..3ff3ee995c165b 100644 --- a/lib/spack/spack/test/llnl/util/tty/log.py +++ b/lib/spack/spack/test/llnl/util/tty/log.py @@ -93,6 +93,21 @@ def test_log_python_output_and_echo_output(capfd, tmpdir): assert capfd.readouterr()[0] == "force echo\n" +def test_log_output_with_control_codes(capfd, tmpdir): + with tmpdir.as_cwd(): + with log.log_output("foo.txt"): + # Print a sample of formatted GCC error output + # Line obtained from the file generated by running gcc on a nonexistent file: + # gcc -fdiagnostics-color=always ./test.cpp 2>test.log + csi = "\x1b[" + print( + f"{csi}01m{csi}Kgcc:{csi}m{csi}K {csi}01;31m{csi}Kerror: {csi}m{csi}K./test.cpp:" + ) + + with open("foo.txt") as f: + assert f.read() == "gcc: error: ./test.cpp:\n" + + def _log_filter_fn(string): return string.replace("foo", "bar") diff --git a/lib/spack/spack/test/mirror.py b/lib/spack/spack/test/mirror.py index 5e855be00aee43..1379ad92cf9661 100644 --- a/lib/spack/spack/test/mirror.py +++ b/lib/spack/spack/test/mirror.py @@ -200,13 +200,13 @@ def test_invalid_json_mirror_collection(invalid_json, error_message): assert error_message in exc_msg -def test_mirror_archive_paths_no_version(mock_packages, config, mock_archive): +def test_mirror_archive_paths_no_version(mock_packages, mock_archive): spec = Spec("trivial-install-test-package@=nonexistingversion").concretized() fetcher = spack.fetch_strategy.URLFetchStrategy(mock_archive.url) spack.mirror.mirror_archive_paths(fetcher, "per-package-ref", spec) -def test_mirror_with_url_patches(mock_packages, config, monkeypatch): +def test_mirror_with_url_patches(mock_packages, monkeypatch): spec = Spec("patch-several-dependencies") spec.concretize() @@ -289,8 +289,8 @@ def test_mirror_cache_symlinks(tmpdir): @pytest.mark.parametrize( "specs,expected_specs", [ - (["a"], ["a@=1.0", "a@=2.0"]), - (["a", "brillig"], ["a@=1.0", "a@=2.0", "brillig@=1.0.0", "brillig@=2.0.0"]), + (["pkg-a"], ["pkg-a@=1.0", "pkg-a@=2.0"]), + (["pkg-a", "brillig"], ["pkg-a@=1.0", "pkg-a@=2.0", "brillig@=1.0.0", "brillig@=2.0.0"]), ], ) def test_get_all_versions(specs, expected_specs): diff --git a/lib/spack/spack/test/modules/lmod.py b/lib/spack/spack/test/modules/lmod.py index 5128518caa5092..43ee11ec492c3f 100644 --- a/lib/spack/spack/test/modules/lmod.py +++ b/lib/spack/spack/test/modules/lmod.py @@ -48,7 +48,7 @@ def provider(request): return request.param -@pytest.mark.usefixtures("config", "mock_packages") +@pytest.mark.usefixtures("mutable_config", "mock_packages") class TestLmod: @pytest.mark.regression("37788") @pytest.mark.parametrize("modules_config", ["core_compilers", "core_compilers_at_equal"]) @@ -355,7 +355,6 @@ def test_override_template_in_modules_yaml( content = modulefile_content(f"mpileaks target={host_architecture_str}") assert "Override even better!" in content - @pytest.mark.usefixtures("config") def test_external_configure_args(self, factory): # If this package is detected as an external, its configure option line # in the module file starts with 'unknown' diff --git a/lib/spack/spack/test/modules/tcl.py b/lib/spack/spack/test/modules/tcl.py index 76e854ced9407b..12cc770a89f088 100644 --- a/lib/spack/spack/test/modules/tcl.py +++ b/lib/spack/spack/test/modules/tcl.py @@ -26,7 +26,7 @@ ] -@pytest.mark.usefixtures("config", "mock_packages", "mock_module_filename") +@pytest.mark.usefixtures("mutable_config", "mock_packages", "mock_module_filename") class TestTcl: def test_simple_case(self, modulefile_content, module_configuration): """Tests the generation of a simple Tcl module file.""" @@ -439,19 +439,19 @@ def test_extend_context(self, modulefile_content, module_configuration): @pytest.mark.regression("4400") @pytest.mark.db - def test_hide_implicits_no_arg(self, module_configuration, database): + def test_hide_implicits_no_arg(self, module_configuration, mutable_database): module_configuration("exclude_implicits") # mpileaks has been installed explicitly when setting up # the tests database - mpileaks_specs = database.query("mpileaks") + mpileaks_specs = mutable_database.query("mpileaks") for item in mpileaks_specs: writer = writer_cls(item, "default") assert not writer.conf.excluded # callpath is a dependency of mpileaks, and has been pulled # in implicitly - callpath_specs = database.query("callpath") + callpath_specs = mutable_database.query("callpath") for item in callpath_specs: writer = writer_cls(item, "default") assert writer.conf.excluded @@ -473,8 +473,7 @@ def test_hide_implicits_with_arg(self, module_configuration): assert writer.conf.excluded @pytest.mark.regression("9624") - @pytest.mark.db - def test_autoload_with_constraints(self, modulefile_content, module_configuration, database): + def test_autoload_with_constraints(self, modulefile_content, module_configuration): """Tests the automatic loading of direct dependencies.""" module_configuration("autoload_with_constraints") diff --git a/lib/spack/spack/test/optional_deps.py b/lib/spack/spack/test/optional_deps.py index 8d1c7e37e813ca..bc3596220d30c5 100644 --- a/lib/spack/spack/test/optional_deps.py +++ b/lib/spack/spack/test/optional_deps.py @@ -13,28 +13,44 @@ # Normalize simple conditionals ("optional-dep-test", {"optional-dep-test": None}), ("optional-dep-test~a", {"optional-dep-test~a": None}), - ("optional-dep-test+a", {"optional-dep-test+a": {"a": None}}), - ("optional-dep-test a=true", {"optional-dep-test a=true": {"a": None}}), - ("optional-dep-test a=true", {"optional-dep-test+a": {"a": None}}), - ("optional-dep-test@1.1", {"optional-dep-test@1.1": {"b": None}}), - ("optional-dep-test%intel", {"optional-dep-test%intel": {"c": None}}), - ("optional-dep-test%intel@64.1", {"optional-dep-test%intel@64.1": {"c": None, "d": None}}), + ("optional-dep-test+a", {"optional-dep-test+a": {"pkg-a": None}}), + ("optional-dep-test a=true", {"optional-dep-test a=true": {"pkg-a": None}}), + ("optional-dep-test a=true", {"optional-dep-test+a": {"pkg-a": None}}), + ("optional-dep-test@1.1", {"optional-dep-test@1.1": {"pkg-b": None}}), + ("optional-dep-test%intel", {"optional-dep-test%intel": {"pkg-c": None}}), + ( + "optional-dep-test%intel@64.1", + {"optional-dep-test%intel@64.1": {"pkg-c": None, "pkg-d": None}}, + ), ( "optional-dep-test%intel@64.1.2", - {"optional-dep-test%intel@64.1.2": {"c": None, "d": None}}, + {"optional-dep-test%intel@64.1.2": {"pkg-c": None, "pkg-d": None}}, ), - ("optional-dep-test%clang@35", {"optional-dep-test%clang@35": {"e": None}}), + ("optional-dep-test%clang@35", {"optional-dep-test%clang@35": {"pkg-e": None}}), # Normalize multiple conditionals - ("optional-dep-test+a@1.1", {"optional-dep-test+a@1.1": {"a": None, "b": None}}), - ("optional-dep-test+a%intel", {"optional-dep-test+a%intel": {"a": None, "c": None}}), - ("optional-dep-test@1.1%intel", {"optional-dep-test@1.1%intel": {"b": None, "c": None}}), + ("optional-dep-test+a@1.1", {"optional-dep-test+a@1.1": {"pkg-a": None, "pkg-b": None}}), + ( + "optional-dep-test+a%intel", + {"optional-dep-test+a%intel": {"pkg-a": None, "pkg-c": None}}, + ), + ( + "optional-dep-test@1.1%intel", + {"optional-dep-test@1.1%intel": {"pkg-b": None, "pkg-c": None}}, + ), ( "optional-dep-test@1.1%intel@64.1.2+a", - {"optional-dep-test@1.1%intel@64.1.2+a": {"a": None, "b": None, "c": None, "d": None}}, + { + "optional-dep-test@1.1%intel@64.1.2+a": { + "pkg-a": None, + "pkg-b": None, + "pkg-c": None, + "pkg-d": None, + } + }, ), ( "optional-dep-test@1.1%clang@36.5+a", - {"optional-dep-test@1.1%clang@36.5+a": {"b": None, "a": None, "e": None}}, + {"optional-dep-test@1.1%clang@36.5+a": {"pkg-b": None, "pkg-a": None, "pkg-e": None}}, ), # Chained MPI ( @@ -44,7 +60,10 @@ # Each of these dependencies comes from a conditional # dependency on another. This requires iterating to evaluate # the whole chain. - ("optional-dep-test+f", {"optional-dep-test+f": {"f": None, "g": None, "mpi": None}}), + ( + "optional-dep-test+f", + {"optional-dep-test+f": {"pkg-f": None, "pkg-g": None, "mpi": None}}, + ), ] ) def spec_and_expected(request): @@ -63,12 +82,12 @@ def test_normalize(spec_and_expected, config, mock_packages): def test_default_variant(config, mock_packages): spec = Spec("optional-dep-test-3") spec.concretize() - assert "a" in spec + assert "pkg-a" in spec spec = Spec("optional-dep-test-3~var") spec.concretize() - assert "a" in spec + assert "pkg-a" in spec spec = Spec("optional-dep-test-3+var") spec.concretize() - assert "b" in spec + assert "pkg-b" in spec diff --git a/lib/spack/spack/test/package_class.py b/lib/spack/spack/test/package_class.py index 915a53400d2da7..07a82c5358564e 100644 --- a/lib/spack/spack/test/package_class.py +++ b/lib/spack/spack/test/package_class.py @@ -21,6 +21,7 @@ import spack.install_test import spack.package_base import spack.repo +import spack.spec from spack.build_systems.generic import Package from spack.installer import InstallError @@ -142,19 +143,19 @@ def setup_install_test(source_paths, test_root): "spec,sources,extras,expect", [ ( - "a", + "pkg-a", ["example/a.c"], # Source(s) ["example/a.c"], # Extra test source ["example/a.c"], ), # Test install dir source(s) ( - "b", + "pkg-b", ["test/b.cpp", "test/b.hpp", "example/b.txt"], # Source(s) ["test"], # Extra test source ["test/b.cpp", "test/b.hpp"], ), # Test install dir source ( - "c", + "pkg-c", ["examples/a.py", "examples/b.py", "examples/c.py", "tests/d.py"], ["examples/b.py", "tests"], ["examples/b.py", "tests/d.py"], @@ -202,7 +203,7 @@ def test_cache_extra_sources(install_mockery, spec, sources, extras, expect): def test_cache_extra_sources_fails(install_mockery): - s = spack.spec.Spec("a").concretized() + s = spack.spec.Spec("pkg-a").concretized() s.package.spec.concretize() with pytest.raises(InstallError) as exc_info: @@ -226,7 +227,7 @@ class URLsPackage(spack.package.Package): url = "https://www.example.com/url-package-1.0.tgz" urls = ["https://www.example.com/archive"] - s = spack.spec.Spec("a") + s = spack.spec.Spec("pkg-a") with pytest.raises(ValueError, match="defines both"): URLsPackage(s) @@ -236,7 +237,7 @@ class LicensedPackage(spack.package.Package): extendees = None # currently a required attribute for is_extension() license_files = None - s = spack.spec.Spec("a") + s = spack.spec.Spec("pkg-a") pkg = LicensedPackage(s) assert pkg.global_license_file is None @@ -249,21 +250,21 @@ class BaseTestPackage(Package): def test_package_version_fails(): - s = spack.spec.Spec("a") + s = spack.spec.Spec("pkg-a") pkg = BaseTestPackage(s) with pytest.raises(ValueError, match="does not have a concrete version"): pkg.version() def test_package_tester_fails(): - s = spack.spec.Spec("a") + s = spack.spec.Spec("pkg-a") pkg = BaseTestPackage(s) with pytest.raises(ValueError, match="without concrete version"): pkg.tester() def test_package_fetcher_fails(): - s = spack.spec.Spec("a") + s = spack.spec.Spec("pkg-a") pkg = BaseTestPackage(s) with pytest.raises(ValueError, match="without concrete version"): pkg.fetcher @@ -275,7 +276,7 @@ def compilers(compiler, arch_spec): monkeypatch.setattr(spack.compilers, "compilers_for_spec", compilers) - s = spack.spec.Spec("a") + s = spack.spec.Spec("pkg-a") pkg = BaseTestPackage(s) pkg.test_requires_compiler = True pkg.do_test() @@ -293,7 +294,7 @@ def compilers(compiler, arch_spec): ], ) def test_package_run_test_install( - install_mockery_mutable_config, mock_fetch, capfd, msg, installed, purpose, expected + install_mockery, mock_fetch, capfd, msg, installed, purpose, expected ): """Confirm expected outputs from run_test for installed/not installed exe.""" s = spack.spec.Spec("trivial-smoke-test").concretized() @@ -314,9 +315,7 @@ def test_package_run_test_install( (False, 1, str(spack.install_test.TestStatus.FAILED)), ], ) -def test_package_run_test_missing( - install_mockery_mutable_config, mock_fetch, capfd, skip, failures, status -): +def test_package_run_test_missing(install_mockery, mock_fetch, capfd, skip, failures, status): """Confirm expected results from run_test for missing exe when skip or not.""" s = spack.spec.Spec("trivial-smoke-test").concretized() pkg = s.package @@ -328,7 +327,7 @@ def test_package_run_test_missing( # TODO (post-34236): Remove when remove deprecated run_test(), etc. -def test_package_run_test_fail_fast(install_mockery_mutable_config, mock_fetch): +def test_package_run_test_fail_fast(install_mockery, mock_fetch): """Confirm expected exception when run_test with fail_fast enabled.""" s = spack.spec.Spec("trivial-smoke-test").concretized() pkg = s.package diff --git a/lib/spack/spack/test/packages.py b/lib/spack/spack/test/packages.py index f2507ee57e1a17..d00db3ed0cffa1 100644 --- a/lib/spack/spack/test/packages.py +++ b/lib/spack/spack/test/packages.py @@ -32,12 +32,12 @@ def test_package_name(self): assert pkg_cls.name == "mpich" def test_package_filename(self): - repo = spack.repo.Repo(mock_packages_path) + repo = spack.repo.from_path(mock_packages_path) filename = repo.filename_for_package_name("mpich") assert filename == os.path.join(mock_packages_path, "packages", "mpich", "package.py") def test_nonexisting_package_filename(self): - repo = spack.repo.Repo(mock_packages_path) + repo = spack.repo.from_path(mock_packages_path) filename = repo.filename_for_package_name("some-nonexisting-package") assert filename == os.path.join( mock_packages_path, "packages", "some-nonexisting-package", "package.py" diff --git a/lib/spack/spack/test/packaging.py b/lib/spack/spack/test/packaging.py index a633ad4bf084b6..aa1e50468a59b8 100644 --- a/lib/spack/spack/test/packaging.py +++ b/lib/spack/spack/test/packaging.py @@ -506,9 +506,7 @@ def fake_fn(self): "manual,instr", [(False, False), (False, True), (True, False), (True, True)] ) @pytest.mark.disable_clean_stage_check -def test_manual_download( - install_mockery, mock_download, default_mock_concretization, monkeypatch, manual, instr -): +def test_manual_download(mock_download, default_mock_concretization, monkeypatch, manual, instr): """ Ensure expected fetcher fail message based on manual download and instr. """ @@ -517,7 +515,7 @@ def test_manual_download( def _instr(pkg): return f"Download instructions for {pkg.spec.name}" - spec = default_mock_concretization("a") + spec = default_mock_concretization("pkg-a") spec.package.manual_download = manual if instr: monkeypatch.setattr(spack.package_base.PackageBase, "download_instr", _instr) @@ -539,20 +537,16 @@ def fetch(self): monkeypatch.setattr(spack.package_base.PackageBase, "fetcher", FetchingNotAllowed()) -def test_fetch_without_code_is_noop( - default_mock_concretization, install_mockery, fetching_not_allowed -): +def test_fetch_without_code_is_noop(default_mock_concretization, fetching_not_allowed): """do_fetch for packages without code should be a no-op""" - pkg = default_mock_concretization("a").package + pkg = default_mock_concretization("pkg-a").package pkg.has_code = False pkg.do_fetch() -def test_fetch_external_package_is_noop( - default_mock_concretization, install_mockery, fetching_not_allowed -): +def test_fetch_external_package_is_noop(default_mock_concretization, fetching_not_allowed): """do_fetch for packages without code should be a no-op""" - spec = default_mock_concretization("a") + spec = default_mock_concretization("pkg-a") spec.external_path = "/some/where" assert spec.external spec.package.do_fetch() diff --git a/lib/spack/spack/test/patch.py b/lib/spack/spack/test/patch.py index 3710c58303560a..4ec4cec7e79d67 100644 --- a/lib/spack/spack/test/patch.py +++ b/lib/spack/spack/test/patch.py @@ -229,7 +229,7 @@ def test_nested_directives(mock_packages): @pytest.mark.not_on_windows("Test requires Autotools") -def test_patched_dependency(mock_packages, config, install_mockery, mock_fetch): +def test_patched_dependency(mock_packages, install_mockery, mock_fetch): """Test whether patched dependencies work.""" spec = Spec("patch-a-dependency") spec.concretize() @@ -268,14 +268,11 @@ def trigger_bad_patch(pkg): def test_patch_failure_develop_spec_exits_gracefully( - mock_packages, config, install_mockery, mock_fetch, tmpdir, mock_stage + mock_packages, install_mockery, mock_fetch, tmpdir, mock_stage ): - """ - ensure that a failing patch does not trigger exceptions - for develop specs - """ + """ensure that a failing patch does not trigger exceptions for develop specs""" - spec = Spec("patch-a-dependency " "^libelf dev_path=%s" % str(tmpdir)) + spec = Spec(f"patch-a-dependency ^libelf dev_path={tmpdir}") spec.concretize() libelf = spec["libelf"] assert "patches" in list(libelf.variants.keys()) @@ -287,7 +284,7 @@ def test_patch_failure_develop_spec_exits_gracefully( # success if no exceptions raised -def test_patch_failure_restages(mock_packages, config, install_mockery, mock_fetch): +def test_patch_failure_restages(mock_packages, install_mockery, mock_fetch): """ ensure that a failing patch does not trigger exceptions for non-develop specs and the source gets restaged diff --git a/lib/spack/spack/test/repo.py b/lib/spack/spack/test/repo.py index 877b4af243ac50..e08d14828976a3 100644 --- a/lib/spack/spack/test/repo.py +++ b/lib/spack/spack/test/repo.py @@ -3,52 +3,62 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) import os +import pathlib import pytest import spack.package_base import spack.paths import spack.repo +import spack.spec +import spack.util.file_cache @pytest.fixture(params=["packages", "", "foo"]) -def extra_repo(tmpdir_factory, request): +def extra_repo(tmp_path_factory, request): repo_namespace = "extra_test_repo" - repo_dir = tmpdir_factory.mktemp(repo_namespace) - repo_dir.ensure(request.param, dir=True) - - with open(str(repo_dir.join("repo.yaml")), "w") as f: - f.write( + repo_dir = tmp_path_factory.mktemp(repo_namespace) + cache_dir = tmp_path_factory.mktemp("cache") + (repo_dir / request.param).mkdir(parents=True, exist_ok=True) + if request.param == "packages": + (repo_dir / "repo.yaml").write_text( """ repo: namespace: extra_test_repo """ ) - if request.param != "packages": - f.write(f" subdirectory: '{request.param}'") - return (spack.repo.Repo(str(repo_dir)), request.param) + else: + (repo_dir / "repo.yaml").write_text( + f""" +repo: + namespace: extra_test_repo + subdirectory: '{request.param}' +""" + ) + repo_cache = spack.util.file_cache.FileCache(str(cache_dir)) + return spack.repo.Repo(str(repo_dir), cache=repo_cache), request.param def test_repo_getpkg(mutable_mock_repo): - mutable_mock_repo.get_pkg_class("a") - mutable_mock_repo.get_pkg_class("builtin.mock.a") + mutable_mock_repo.get_pkg_class("pkg-a") + mutable_mock_repo.get_pkg_class("builtin.mock.pkg-a") def test_repo_multi_getpkg(mutable_mock_repo, extra_repo): mutable_mock_repo.put_first(extra_repo[0]) - mutable_mock_repo.get_pkg_class("a") - mutable_mock_repo.get_pkg_class("builtin.mock.a") + mutable_mock_repo.get_pkg_class("pkg-a") + mutable_mock_repo.get_pkg_class("builtin.mock.pkg-a") def test_repo_multi_getpkgclass(mutable_mock_repo, extra_repo): mutable_mock_repo.put_first(extra_repo[0]) - mutable_mock_repo.get_pkg_class("a") - mutable_mock_repo.get_pkg_class("builtin.mock.a") + mutable_mock_repo.get_pkg_class("pkg-a") + mutable_mock_repo.get_pkg_class("builtin.mock.pkg-a") def test_repo_pkg_with_unknown_namespace(mutable_mock_repo): with pytest.raises(spack.repo.UnknownNamespaceError): - mutable_mock_repo.get_pkg_class("unknown.a") + mutable_mock_repo.get_pkg_class("unknown.pkg-a") def test_repo_unknown_pkg(mutable_mock_repo): @@ -142,14 +152,14 @@ def test_get_all_mock_packages(mock_packages): def test_repo_path_handles_package_removal(tmpdir, mock_packages): builder = spack.repo.MockRepositoryBuilder(tmpdir, namespace="removal") - builder.add_package("c") + builder.add_package("pkg-c") with spack.repo.use_repositories(builder.root, override=False) as repos: - r = repos.repo_for_pkg("c") + r = repos.repo_for_pkg("pkg-c") assert r.namespace == "removal" - builder.remove("c") + builder.remove("pkg-c") with spack.repo.use_repositories(builder.root, override=False) as repos: - r = repos.repo_for_pkg("c") + r = repos.repo_for_pkg("pkg-c") assert r.namespace == "builtin.mock" @@ -177,8 +187,11 @@ def test_repo_dump_virtuals(tmpdir, mutable_mock_repo, mock_packages, ensure_deb ([spack.paths.mock_packages_path, spack.paths.packages_path], ["builtin.mock", "builtin"]), ], ) -def test_repository_construction_doesnt_use_globals(nullify_globals, repo_paths, namespaces): - repo_path = spack.repo.RepoPath(*repo_paths) +def test_repository_construction_doesnt_use_globals( + nullify_globals, tmp_path, repo_paths, namespaces +): + repo_cache = spack.util.file_cache.FileCache(str(tmp_path / "cache")) + repo_path = spack.repo.RepoPath(*repo_paths, cache=repo_cache) assert len(repo_path.repos) == len(namespaces) assert [x.namespace for x in repo_path.repos] == namespaces @@ -188,8 +201,117 @@ def test_path_computation_with_names(method_name, mock_repo_path): """Tests that repositories can compute the correct paths when using both fully qualified names and unqualified names. """ - repo_path = spack.repo.RepoPath(mock_repo_path) + repo_path = spack.repo.RepoPath(mock_repo_path, cache=None) method = getattr(repo_path, method_name) unqualified = method("mpileaks") qualified = method("builtin.mock.mpileaks") assert qualified == unqualified + + +def test_use_repositories_and_import(): + """Tests that use_repositories changes the import search too""" + import spack.paths + + repo_dir = pathlib.Path(spack.paths.repos_path) + with spack.repo.use_repositories(str(repo_dir / "compiler_runtime.test")): + import spack.pkg.compiler_runtime.test.gcc_runtime + + with spack.repo.use_repositories(str(repo_dir / "builtin.mock")): + import spack.pkg.builtin.mock.cmake + + +@pytest.mark.usefixtures("nullify_globals") +class TestRepo: + """Test that the Repo class work correctly, and does not depend on globals, + except the REPOS_FINDER. + """ + + def test_creation(self, mock_test_cache): + repo = spack.repo.Repo(spack.paths.mock_packages_path, cache=mock_test_cache) + assert repo.config_file.endswith("repo.yaml") + assert repo.namespace == "builtin.mock" + + @pytest.mark.parametrize( + "name,expected", [("mpi", True), ("mpich", False), ("mpileaks", False)] + ) + @pytest.mark.parametrize("repo_cls", [spack.repo.Repo, spack.repo.RepoPath]) + def test_is_virtual(self, repo_cls, name, expected, mock_test_cache): + repo = repo_cls(spack.paths.mock_packages_path, cache=mock_test_cache) + assert repo.is_virtual(name) is expected + assert repo.is_virtual_safe(name) is expected + + @pytest.mark.parametrize( + "module_name,expected", + [ + ("dla_future", "dla-future"), + ("num7zip", "7zip"), + # If no package is there, None is returned + ("unknown", None), + ], + ) + def test_real_name(self, module_name, expected, mock_test_cache): + """Test that we can correctly compute the 'real' name of a package, from the one + used to import the Python module. + """ + repo = spack.repo.Repo(spack.paths.mock_packages_path, cache=mock_test_cache) + assert repo.real_name(module_name) == expected + + @pytest.mark.parametrize("name", ["mpileaks", "7zip", "dla-future"]) + def test_get(self, name, mock_test_cache): + repo = spack.repo.Repo(spack.paths.mock_packages_path, cache=mock_test_cache) + mock_spec = spack.spec.Spec(name) + mock_spec._mark_concrete() + pkg = repo.get(mock_spec) + assert pkg.__class__ == repo.get_pkg_class(name) + + @pytest.mark.parametrize("virtual_name,expected", [("mpi", ["mpich", "zmpi"])]) + def test_providers(self, virtual_name, expected, mock_test_cache): + repo = spack.repo.Repo(spack.paths.mock_packages_path, cache=mock_test_cache) + provider_names = {x.name for x in repo.providers_for(virtual_name)} + assert provider_names.issuperset(expected) + + @pytest.mark.parametrize( + "extended,expected", + [("python", ["py-extension1", "python-venv"]), ("perl", ["perl-extension"])], + ) + @pytest.mark.parametrize("repo_cls", [spack.repo.Repo, spack.repo.RepoPath]) + def test_extensions(self, repo_cls, extended, expected, mock_test_cache): + repo = repo_cls(spack.paths.mock_packages_path, cache=mock_test_cache) + provider_names = {x.name for x in repo.extensions_for(extended)} + assert provider_names.issuperset(expected) + + @pytest.mark.parametrize("repo_cls", [spack.repo.Repo, spack.repo.RepoPath]) + def test_all_package_names(self, repo_cls, mock_test_cache): + repo = repo_cls(spack.paths.mock_packages_path, cache=mock_test_cache) + all_names = repo.all_package_names(include_virtuals=True) + real_names = repo.all_package_names(include_virtuals=False) + assert set(all_names).issuperset(real_names) + for name in set(all_names) - set(real_names): + assert repo.is_virtual(name) + assert repo.is_virtual_safe(name) + + @pytest.mark.parametrize("repo_cls", [spack.repo.Repo, spack.repo.RepoPath]) + def test_packages_with_tags(self, repo_cls, mock_test_cache): + repo = repo_cls(spack.paths.mock_packages_path, cache=mock_test_cache) + r1 = repo.packages_with_tags("tag1") + r2 = repo.packages_with_tags("tag1", "tag2") + assert "mpich" in r1 and "mpich" in r2 + assert "mpich2" in r1 and "mpich2" not in r2 + assert set(r2).issubset(r1) + + +@pytest.mark.usefixtures("nullify_globals") +class TestRepoPath: + def test_creation_from_string(self, mock_test_cache): + repo = spack.repo.RepoPath(spack.paths.mock_packages_path, cache=mock_test_cache) + assert len(repo.repos) == 1 + assert repo.repos[0]._finder is repo + assert repo.by_namespace["spack.pkg.builtin.mock"] is repo.repos[0] + + def test_get_repo(self, mock_test_cache): + repo = spack.repo.RepoPath(spack.paths.mock_packages_path, cache=mock_test_cache) + # builtin.mock is there + assert repo.get_repo("builtin.mock") is repo.repos[0] + # foo is not there, raise + with pytest.raises(spack.repo.UnknownNamespaceError): + repo.get_repo("foo") diff --git a/lib/spack/spack/test/spec_dag.py b/lib/spack/spack/test/spec_dag.py index da85be6d1c7e90..398741a6cfa318 100644 --- a/lib/spack/spack/test/spec_dag.py +++ b/lib/spack/spack/test/spec_dag.py @@ -138,19 +138,19 @@ def test_specify_preinstalled_dep(tmpdir, monkeypatch): transitive dependency that is only supplied by the preinstalled package. """ builder = spack.repo.MockRepositoryBuilder(tmpdir) - builder.add_package("c") - builder.add_package("b", dependencies=[("c", None, None)]) - builder.add_package("a", dependencies=[("b", None, None)]) + builder.add_package("pkg-c") + builder.add_package("pkg-b", dependencies=[("pkg-c", None, None)]) + builder.add_package("pkg-a", dependencies=[("pkg-b", None, None)]) with spack.repo.use_repositories(builder.root): - b_spec = Spec("b").concretized() - monkeypatch.setattr(Spec, "installed", property(lambda x: x.name != "a")) + b_spec = Spec("pkg-b").concretized() + monkeypatch.setattr(Spec, "installed", property(lambda x: x.name != "pkg-a")) - a_spec = Spec("a") + a_spec = Spec("pkg-a") a_spec._add_dependency(b_spec, depflag=dt.BUILD | dt.LINK, virtuals=()) a_spec.concretize() - assert set(x.name for x in a_spec.traverse()) == set(["a", "b", "c"]) + assert {x.name for x in a_spec.traverse()} == {"pkg-a", "pkg-b", "pkg-c"} @pytest.mark.usefixtures("config") @@ -978,19 +978,44 @@ def test_spec_tree_respect_deptypes(self): assert "version-test-pkg" not in out +def test_tree_cover_nodes_reduce_deptype(): + """Test that tree output with deptypes sticks to the sub-dag of interest, instead of looking + at in-edges from nodes not reachable from the root.""" + a, b, c, d = Spec("a"), Spec("b"), Spec("c"), Spec("d") + a.add_dependency_edge(d, depflag=dt.BUILD, virtuals=()) + a.add_dependency_edge(b, depflag=dt.LINK, virtuals=()) + b.add_dependency_edge(d, depflag=dt.LINK, virtuals=()) + c.add_dependency_edge(d, depflag=dt.RUN | dt.TEST, virtuals=()) + assert ( + a.tree(cover="nodes", show_types=True) + == """\ +[ ] a +[ l ] ^b +[bl ] ^d +""" + ) + assert ( + c.tree(cover="nodes", show_types=True) + == """\ +[ ] c +[ rt] ^d +""" + ) + + def test_synthetic_construction_of_split_dependencies_from_same_package(mock_packages, config): # Construct in a synthetic way (i.e. without using the solver) # the following spec: # - # b + # pkg-b # build / \ link,run - # c@2.0 c@1.0 + # pkg-c@2.0 pkg-c@1.0 # # To demonstrate that a spec can now hold two direct # dependencies from the same package - root = Spec("b").concretized() - link_run_spec = Spec("c@=1.0").concretized() - build_spec = Spec("c@=2.0").concretized() + root = Spec("pkg-b").concretized() + link_run_spec = Spec("pkg-c@=1.0").concretized() + build_spec = Spec("pkg-c@=2.0").concretized() root.add_dependency_edge(link_run_spec, depflag=dt.LINK, virtuals=()) root.add_dependency_edge(link_run_spec, depflag=dt.RUN, virtuals=()) @@ -998,10 +1023,10 @@ def test_synthetic_construction_of_split_dependencies_from_same_package(mock_pac # Check dependencies from the perspective of root assert len(root.dependencies()) == 2 - assert all(x.name == "c" for x in root.dependencies()) + assert all(x.name == "pkg-c" for x in root.dependencies()) - assert "@2.0" in root.dependencies(name="c", deptype=dt.BUILD)[0] - assert "@1.0" in root.dependencies(name="c", deptype=dt.LINK | dt.RUN)[0] + assert "@2.0" in root.dependencies(name="pkg-c", deptype=dt.BUILD)[0] + assert "@1.0" in root.dependencies(name="pkg-c", deptype=dt.LINK | dt.RUN)[0] # Check parent from the perspective of the dependencies assert len(build_spec.dependents()) == 1 @@ -1013,30 +1038,30 @@ def test_synthetic_construction_of_split_dependencies_from_same_package(mock_pac def test_synthetic_construction_bootstrapping(mock_packages, config): # Construct the following spec: # - # b@2.0 + # pkg-b@2.0 # | build - # b@1.0 + # pkg-b@1.0 # - root = Spec("b@=2.0").concretized() - bootstrap = Spec("b@=1.0").concretized() + root = Spec("pkg-b@=2.0").concretized() + bootstrap = Spec("pkg-b@=1.0").concretized() root.add_dependency_edge(bootstrap, depflag=dt.BUILD, virtuals=()) assert len(root.dependencies()) == 1 - assert root.dependencies()[0].name == "b" - assert root.name == "b" + assert root.dependencies()[0].name == "pkg-b" + assert root.name == "pkg-b" def test_addition_of_different_deptypes_in_multiple_calls(mock_packages, config): # Construct the following spec: # - # b@2.0 + # pkg-b@2.0 # | build,link,run - # b@1.0 + # pkg-b@1.0 # # with three calls and check we always have a single edge - root = Spec("b@=2.0").concretized() - bootstrap = Spec("b@=1.0").concretized() + root = Spec("pkg-b@=2.0").concretized() + bootstrap = Spec("pkg-b@=1.0").concretized() for current_depflag in (dt.BUILD, dt.LINK, dt.RUN): root.add_dependency_edge(bootstrap, depflag=current_depflag, virtuals=()) @@ -1063,9 +1088,9 @@ def test_addition_of_different_deptypes_in_multiple_calls(mock_packages, config) def test_adding_same_deptype_with_the_same_name_raises( mock_packages, config, c1_depflag, c2_depflag ): - p = Spec("b@=2.0").concretized() - c1 = Spec("b@=1.0").concretized() - c2 = Spec("b@=2.0").concretized() + p = Spec("pkg-b@=2.0").concretized() + c1 = Spec("pkg-b@=1.0").concretized() + c2 = Spec("pkg-b@=2.0").concretized() p.add_dependency_edge(c1, depflag=c1_depflag, virtuals=()) with pytest.raises(spack.error.SpackError): @@ -1105,3 +1130,23 @@ def test_indexing_prefers_direct_or_transitive_link_deps(): # Ensure that the full DAG is still searched assert root["a2"] + + +def test_getitem_sticks_to_subdag(): + """Test that indexing on Spec by virtual does not traverse outside the dag, which happens in + the unlikely case someone would rewrite __getitem__ in terms of edges_from_dependents instead + of edges_to_dependencies.""" + x, y, z = Spec("x"), Spec("y"), Spec("z") + x.add_dependency_edge(z, depflag=dt.LINK, virtuals=("virtual",)) + y.add_dependency_edge(z, depflag=dt.LINK, virtuals=()) + assert x["virtual"].name == "z" + with pytest.raises(KeyError): + y["virtual"] + + +def test_getitem_finds_transitive_virtual(): + x, y, z = Spec("x"), Spec("y"), Spec("z") + x.add_dependency_edge(z, depflag=dt.LINK, virtuals=()) + x.add_dependency_edge(y, depflag=dt.LINK, virtuals=()) + y.add_dependency_edge(z, depflag=dt.LINK, virtuals=("virtual",)) + assert x["virtual"].name == "z" diff --git a/lib/spack/spack/test/spec_list.py b/lib/spack/spack/test/spec_list.py index db31146df7cc9a..98f0f8b312a786 100644 --- a/lib/spack/spack/test/spec_list.py +++ b/lib/spack/spack/test/spec_list.py @@ -196,21 +196,29 @@ def test_spec_list_matrix_exclude(self, mock_packages): speclist = SpecList("specs", matrix) assert len(speclist.specs) == 1 - @pytest.mark.regression("22991") - def test_spec_list_constraints_with_structure( - self, mock_packages, mock_fetch, install_mockery - ): - # Setup by getting hash and installing package with dep - libdwarf_spec = Spec("libdwarf").concretized() - libdwarf_spec.package.do_install() - - # Create matrix - matrix = { - "matrix": [["mpileaks"], ["^callpath"], ["^libdwarf/%s" % libdwarf_spec.dag_hash()]] - } + def test_spec_list_exclude_with_abstract_hashes(self, mock_packages, install_mockery): + # Put mpich in the database so it can be referred to by hash. + mpich_1 = Spec("mpich+debug").concretized() + mpich_2 = Spec("mpich~debug").concretized() + mpich_1.package.do_install(fake=True) + mpich_2.package.do_install(fake=True) + + # Create matrix and exclude +debug, which excludes the first mpich after its abstract hash + # is resolved. + speclist = SpecList( + "specs", + [ + { + "matrix": [ + ["mpileaks"], + ["^callpath"], + [f"^mpich/{mpich_1.dag_hash(5)}", f"^mpich/{mpich_2.dag_hash(5)}"], + ], + "exclude": ["^mpich+debug"], + } + ], + ) - # ensure the concrete spec was retained in the matrix entry of which - # it is a dependency - speclist = SpecList("specs", [matrix]) + # Ensure that only mpich~debug is selected, and that the assembled spec remains abstract. assert len(speclist.specs) == 1 - assert libdwarf_spec in speclist.specs[0] + assert speclist.specs[0] == Spec(f"mpileaks ^callpath ^mpich/{mpich_2.dag_hash(5)}") diff --git a/lib/spack/spack/test/spec_semantics.py b/lib/spack/spack/test/spec_semantics.py index 171c194dc0f5a1..b21f0e7ac9d7d4 100644 --- a/lib/spack/spack/test/spec_semantics.py +++ b/lib/spack/spack/test/spec_semantics.py @@ -373,7 +373,7 @@ def test_satisfies_single_valued_variant(self): https://github.com/spack/spack/pull/2386#issuecomment-282147639 is handled correctly. """ - a = Spec("a foobar=bar") + a = Spec("pkg-a foobar=bar") a.concretize() assert a.satisfies("foobar=bar") @@ -390,21 +390,21 @@ def test_satisfies_single_valued_variant(self): assert "foo=bar" in a # Check that conditional dependencies are treated correctly - assert "^b" in a + assert "^pkg-b" in a def test_unsatisfied_single_valued_variant(self): - a = Spec("a foobar=baz") + a = Spec("pkg-a foobar=baz") a.concretize() - assert "^b" not in a + assert "^pkg-b" not in a mv = Spec("multivalue-variant") mv.concretize() - assert "a@1.0" not in mv + assert "pkg-a@1.0" not in mv def test_indirect_unsatisfied_single_valued_variant(self): spec = Spec("singlevalue-variant-dependent") spec.concretize() - assert "a@1.0" not in spec + assert "pkg-a@1.0" not in spec def test_unsatisfiable_multi_value_variant(self, default_mock_concretization): # Semantics for a multi-valued variant is different @@ -986,8 +986,8 @@ def test_splice_swap_names_mismatch_virtuals(self, default_mock_concretization, spec.splice(dep, transitive) def test_spec_override(self): - init_spec = Spec("a foo=baz foobar=baz cflags=-O3 cxxflags=-O1") - change_spec = Spec("a foo=fee cflags=-O2") + init_spec = Spec("pkg-a foo=baz foobar=baz cflags=-O3 cxxflags=-O1") + change_spec = Spec("pkg-a foo=fee cflags=-O2") new_spec = Spec.override(init_spec, change_spec) new_spec.concretize() assert "foo=fee" in new_spec @@ -1269,15 +1269,15 @@ def test_spec_installed(default_mock_concretization, database): spec = Spec("not-a-real-package") assert not spec.installed - # 'a' is not in the mock DB and is not installed - spec = default_mock_concretization("a") + # pkg-a is not in the mock DB and is not installed + spec = default_mock_concretization("pkg-a") assert not spec.installed @pytest.mark.regression("30678") def test_call_dag_hash_on_old_dag_hash_spec(mock_packages, default_mock_concretization): # create a concrete spec - a = default_mock_concretization("a") + a = default_mock_concretization("pkg-a") dag_hashes = {spec.name: spec.dag_hash() for spec in a.traverse()} # make it look like an old DAG hash spec with no package hash on the spec. @@ -1336,8 +1336,8 @@ def test_unsupported_compiler(): def test_package_hash_affects_dunder_and_dag_hash(mock_packages, default_mock_concretization): - a1 = default_mock_concretization("a") - a2 = default_mock_concretization("a") + a1 = default_mock_concretization("pkg-a") + a2 = default_mock_concretization("pkg-a") assert hash(a1) == hash(a2) assert a1.dag_hash() == a2.dag_hash() @@ -1361,8 +1361,8 @@ def test_intersects_and_satisfies_on_concretized_spec(default_mock_concretizatio """Test that a spec obtained by concretizing an abstract spec, satisfies the abstract spec but not vice-versa. """ - a1 = default_mock_concretization("a@1.0") - a2 = Spec("a@1.0") + a1 = default_mock_concretization("pkg-a@1.0") + a2 = Spec("pkg-a@1.0") assert a1.intersects(a2) assert a2.intersects(a1) @@ -1488,17 +1488,17 @@ def test_constrain(factory, lhs_str, rhs_str, result, constrained_str): def test_abstract_hash_intersects_and_satisfies(default_mock_concretization): - concrete: Spec = default_mock_concretization("a") + concrete: Spec = default_mock_concretization("pkg-a") hash = concrete.dag_hash() hash_5 = hash[:5] hash_6 = hash[:6] # abstract hash that doesn't have a common prefix with the others. hash_other = f"{'a' if hash_5[0] == 'b' else 'b'}{hash_5[1:]}" - abstract_5 = Spec(f"a/{hash_5}") - abstract_6 = Spec(f"a/{hash_6}") - abstract_none = Spec(f"a/{hash_other}") - abstract = Spec("a") + abstract_5 = Spec(f"pkg-a/{hash_5}") + abstract_6 = Spec(f"pkg-a/{hash_6}") + abstract_none = Spec(f"pkg-a/{hash_other}") + abstract = Spec("pkg-a") def assert_subset(a: Spec, b: Spec): assert a.intersects(b) and b.intersects(a) and a.satisfies(b) and not b.satisfies(a) @@ -1535,6 +1535,6 @@ def test_edge_equality_does_not_depend_on_virtual_order(): def test_old_format_strings_trigger_error(default_mock_concretization): - s = Spec("a").concretized() + s = Spec("pkg-a").concretized() with pytest.raises(SpecFormatStringError): s.format("${PACKAGE}-${VERSION}-${HASH}") diff --git a/lib/spack/spack/test/spec_syntax.py b/lib/spack/spack/test/spec_syntax.py index 2e6f4b4fba6d8f..e17ed724a4feca 100644 --- a/lib/spack/spack/test/spec_syntax.py +++ b/lib/spack/spack/test/spec_syntax.py @@ -759,7 +759,7 @@ def test_spec_by_hash_tokens(text, tokens): @pytest.mark.db def test_spec_by_hash(database, monkeypatch, config): mpileaks = database.query_one("mpileaks ^zmpi") - b = spack.spec.Spec("b").concretized() + b = spack.spec.Spec("pkg-b").concretized() monkeypatch.setattr(spack.binary_distribution, "update_cache_and_get_specs", lambda: [b]) hash_str = f"/{mpileaks.dag_hash()}" @@ -851,12 +851,12 @@ def test_multiple_specs_with_hash(database, config): @pytest.mark.db -def test_ambiguous_hash(mutable_database, default_mock_concretization, config): +def test_ambiguous_hash(mutable_database): """Test that abstract hash ambiguity is delayed until concretization. In the past this ambiguity error would happen during parse time.""" # This is a very sketchy as manually setting hashes easily breaks invariants - x1 = default_mock_concretization("a") + x1 = spack.spec.Spec("pkg-a").concretized() x2 = x1.copy() x1._hash = "xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" x1._process_hash = "xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" @@ -874,7 +874,7 @@ def test_ambiguous_hash(mutable_database, default_mock_concretization, config): s1.lookup_hash() # ambiguity in first hash character AND spec name - s2 = SpecParser("a/x").next_spec() + s2 = SpecParser("pkg-a/x").next_spec() with pytest.raises(spack.spec.AmbiguousHashError): s2.lookup_hash() diff --git a/lib/spack/spack/test/spec_yaml.py b/lib/spack/spack/test/spec_yaml.py index 5dd854628af9ad..3f20e5626eee10 100644 --- a/lib/spack/spack/test/spec_yaml.py +++ b/lib/spack/spack/test/spec_yaml.py @@ -13,10 +13,12 @@ import collections.abc import gzip import inspect +import io import json import os import pytest +import ruamel.yaml import spack.hash_types as ht import spack.paths @@ -314,23 +316,23 @@ def test_save_dependency_spec_jsons_subset(tmpdir, config): output_path = str(tmpdir.mkdir("spec_jsons")) builder = spack.repo.MockRepositoryBuilder(tmpdir.mkdir("mock-repo")) - builder.add_package("g") - builder.add_package("f") - builder.add_package("e") - builder.add_package("d", dependencies=[("f", None, None), ("g", None, None)]) - builder.add_package("c") - builder.add_package("b", dependencies=[("d", None, None), ("e", None, None)]) - builder.add_package("a", dependencies=[("b", None, None), ("c", None, None)]) + builder.add_package("pkg-g") + builder.add_package("pkg-f") + builder.add_package("pkg-e") + builder.add_package("pkg-d", dependencies=[("pkg-f", None, None), ("pkg-g", None, None)]) + builder.add_package("pkg-c") + builder.add_package("pkg-b", dependencies=[("pkg-d", None, None), ("pkg-e", None, None)]) + builder.add_package("pkg-a", dependencies=[("pkg-b", None, None), ("pkg-c", None, None)]) with spack.repo.use_repositories(builder.root): - spec_a = Spec("a").concretized() - b_spec = spec_a["b"] - c_spec = spec_a["c"] + spec_a = Spec("pkg-a").concretized() + b_spec = spec_a["pkg-b"] + c_spec = spec_a["pkg-c"] - save_dependency_specfiles(spec_a, output_path, [Spec("b"), Spec("c")]) + save_dependency_specfiles(spec_a, output_path, [Spec("pkg-b"), Spec("pkg-c")]) - assert check_specs_equal(b_spec, os.path.join(output_path, "b.json")) - assert check_specs_equal(c_spec, os.path.join(output_path, "c.json")) + assert check_specs_equal(b_spec, os.path.join(output_path, "pkg-b.json")) + assert check_specs_equal(c_spec, os.path.join(output_path, "pkg-c.json")) def test_legacy_yaml(tmpdir, install_mockery, mock_packages): @@ -505,3 +507,50 @@ def test_load_json_specfiles(specfile, expected_hash, reader_cls): # JSON or YAML file, not a list for edge in s2.traverse_edges(): assert isinstance(edge.virtuals, tuple), edge + + +def test_anchorify_1(): + """Test that anchorify replaces duplicate values with references to a single instance, and + that that results in anchors in the output YAML.""" + before = {"a": [1, 2, 3], "b": [1, 2, 3]} + after = {"a": [1, 2, 3], "b": [1, 2, 3]} + syaml.anchorify(after) + assert before == after + assert after["a"] is after["b"] + + # Check if anchors are used + out = io.StringIO() + ruamel.yaml.YAML().dump(after, out) + assert ( + out.getvalue() + == """\ +a: &id001 +- 1 +- 2 +- 3 +b: *id001 +""" + ) + + +def test_anchorify_2(): + before = {"a": {"b": {"c": True}}, "d": {"b": {"c": True}}, "e": {"c": True}} + after = {"a": {"b": {"c": True}}, "d": {"b": {"c": True}}, "e": {"c": True}} + syaml.anchorify(after) + assert before == after + assert after["a"] is after["d"] + assert after["a"]["b"] is after["e"] + + # Check if anchors are used + out = io.StringIO() + ruamel.yaml.YAML().dump(after, out) + assert ( + out.getvalue() + == """\ +a: &id001 + b: &id002 + c: true +d: *id001 +e: *id002 +""" + ) diff --git a/lib/spack/spack/test/stage.py b/lib/spack/spack/test/stage.py index b576a42f68df8a..7bb7f3753ac25c 100644 --- a/lib/spack/spack/test/stage.py +++ b/lib/spack/spack/test/stage.py @@ -23,7 +23,7 @@ import spack.util.executable import spack.util.url as url_util from spack.resource import Resource -from spack.stage import DevelopStage, DIYStage, ResourceStage, Stage, StageComposite +from spack.stage import DevelopStage, ResourceStage, Stage, StageComposite from spack.util.path import canonicalize_path # The following values are used for common fetch and stage mocking fixtures: @@ -146,9 +146,8 @@ def check_destroy(stage, stage_name): assert not os.path.exists(stage_path) # tmp stage needs to remove tmp dir too. - if not isinstance(stage, DIYStage): - target = os.path.realpath(stage_path) - assert not os.path.exists(target) + target = os.path.realpath(stage_path) + assert not os.path.exists(target) def check_setup(stage, stage_name, archive): @@ -801,62 +800,6 @@ def test_stage_constructor_with_path(self, tmpdir): with Stage("file:///does-not-exist", path=testpath) as stage: assert stage.path == testpath - def test_diystage_path_none(self): - """Ensure DIYStage for path=None behaves as expected.""" - with pytest.raises(ValueError): - DIYStage(None) - - def test_diystage_path_invalid(self): - """Ensure DIYStage for an invalid path behaves as expected.""" - with pytest.raises(spack.stage.StagePathError): - DIYStage("/path/does/not/exist") - - def test_diystage_path_valid(self, tmpdir): - """Ensure DIYStage for a valid path behaves as expected.""" - path = str(tmpdir) - stage = DIYStage(path) - assert stage.path == path - assert stage.source_path == path - - # Order doesn't really matter for DIYStage since they are - # basically NOOPs; however, call each since they are part - # of the normal stage usage and to ensure full test coverage. - stage.create() # Only sets the flag value - assert stage.created - - stage.cache_local() # Only outputs a message - stage.fetch() # Only outputs a message - stage.check() # Only outputs a message - stage.expand_archive() # Only outputs a message - - assert stage.expanded # The path/source_path does exist - - with pytest.raises(spack.stage.RestageError): - stage.restage() - - stage.destroy() # A no-op - assert stage.path == path # Ensure can still access attributes - assert os.path.exists(stage.source_path) # Ensure path still exists - - def test_diystage_preserve_file(self, tmpdir): - """Ensure DIYStage preserves an existing file.""" - # Write a file to the temporary directory - fn = tmpdir.join(_readme_fn) - fn.write(_readme_contents) - - # Instantiate the DIYStage and ensure the above file is unchanged. - path = str(tmpdir) - stage = DIYStage(path) - assert os.path.isdir(path) - assert os.path.isfile(str(fn)) - - stage.create() # Only sets the flag value - - readmefn = str(fn) - assert os.path.isfile(readmefn) - with open(readmefn) as _file: - _file.read() == _readme_contents - def _create_files_from_tree(base, tree): for name, content in tree.items(): diff --git a/lib/spack/spack/test/test_suite.py b/lib/spack/spack/test/test_suite.py index 6af98b6f2f1bc3..8820abe602e070 100644 --- a/lib/spack/spack/test/test_suite.py +++ b/lib/spack/spack/test/test_suite.py @@ -291,7 +291,7 @@ def test_process_test_parts(mock_packages): assert "test suite is missing" in str(exc_info) -def test_test_part_fail(tmpdir, install_mockery_mutable_config, mock_fetch, mock_test_stage): +def test_test_part_fail(tmpdir, install_mockery, mock_fetch, mock_test_stage): """Confirm test_part with a ProcessError results in FAILED status.""" s = spack.spec.Spec("trivial-smoke-test").concretized() pkg = s.package @@ -307,7 +307,7 @@ def test_test_part_fail(tmpdir, install_mockery_mutable_config, mock_fetch, mock assert status == TestStatus.FAILED -def test_test_part_pass(install_mockery_mutable_config, mock_fetch, mock_test_stage): +def test_test_part_pass(install_mockery, mock_fetch, mock_test_stage): """Confirm test_part that succeeds results in PASSED status.""" s = spack.spec.Spec("trivial-smoke-test").concretized() pkg = s.package @@ -323,7 +323,7 @@ def test_test_part_pass(install_mockery_mutable_config, mock_fetch, mock_test_st assert status == TestStatus.PASSED -def test_test_part_skip(install_mockery_mutable_config, mock_fetch, mock_test_stage): +def test_test_part_skip(install_mockery, mock_fetch, mock_test_stage): """Confirm test_part that raises SkipTest results in test status SKIPPED.""" s = spack.spec.Spec("trivial-smoke-test").concretized() pkg = s.package @@ -337,9 +337,7 @@ def test_test_part_skip(install_mockery_mutable_config, mock_fetch, mock_test_st assert status == TestStatus.SKIPPED -def test_test_part_missing_exe_fail_fast( - tmpdir, install_mockery_mutable_config, mock_fetch, mock_test_stage -): +def test_test_part_missing_exe_fail_fast(tmpdir, install_mockery, mock_fetch, mock_test_stage): """Confirm test_part with fail fast enabled raises exception.""" s = spack.spec.Spec("trivial-smoke-test").concretized() pkg = s.package @@ -360,9 +358,7 @@ def test_test_part_missing_exe_fail_fast( assert status == TestStatus.FAILED -def test_test_part_missing_exe( - tmpdir, install_mockery_mutable_config, mock_fetch, mock_test_stage -): +def test_test_part_missing_exe(tmpdir, install_mockery, mock_fetch, mock_test_stage): """Confirm test_part with missing executable fails.""" s = spack.spec.Spec("trivial-smoke-test").concretized() pkg = s.package @@ -396,7 +392,7 @@ def test_test_part_missing_exe( ], ) def test_embedded_test_part_status( - install_mockery_mutable_config, mock_fetch, mock_test_stage, current, substatuses, expected + install_mockery, mock_fetch, mock_test_stage, current, substatuses, expected ): """Check to ensure the status of the enclosing test part reflects summary of embedded parts.""" @@ -424,7 +420,7 @@ def test_embedded_test_part_status( ], ) def test_write_tested_status( - tmpdir, install_mockery_mutable_config, mock_fetch, mock_test_stage, statuses, expected + tmpdir, install_mockery, mock_fetch, mock_test_stage, statuses, expected ): """Check to ensure the status of the enclosing test part reflects summary of embedded parts.""" s = spack.spec.Spec("trivial-smoke-test").concretized() @@ -441,9 +437,7 @@ def test_write_tested_status( @pytest.mark.regression("37840") -def test_write_tested_status_no_repeats( - tmpdir, install_mockery_mutable_config, mock_fetch, mock_test_stage -): +def test_write_tested_status_no_repeats(tmpdir, install_mockery, mock_fetch, mock_test_stage): """Emulate re-running the same stand-alone tests a second time.""" s = spack.spec.Spec("trivial-smoke-test").concretized() pkg = s.package @@ -519,7 +513,7 @@ def test_find_required_file(tmpdir): def test_packagetest_fails(mock_packages): MyPackage = collections.namedtuple("MyPackage", ["spec"]) - s = spack.spec.Spec("a") + s = spack.spec.Spec("pkg-a") pkg = MyPackage(s) with pytest.raises(ValueError, match="require a concrete package"): spack.install_test.PackageTest(pkg) diff --git a/lib/spack/spack/test/url_fetch.py b/lib/spack/spack/test/url_fetch.py index 6dd548d858347f..dadac0944e1803 100644 --- a/lib/spack/spack/test/url_fetch.py +++ b/lib/spack/spack/test/url_fetch.py @@ -173,8 +173,6 @@ def test_fetch( assert "echo Building..." in contents -# TODO-27021 -@pytest.mark.not_on_windows("Not supported on Windows (yet)") @pytest.mark.parametrize( "spec,url,digest", [ @@ -205,7 +203,6 @@ def test_from_list_url(mock_packages, config, spec, url, digest, _fetch_method): assert fetch_strategy.extra_options == {"timeout": 60} -@pytest.mark.not_on_windows("Not supported on Windows (yet)") @pytest.mark.parametrize("_fetch_method", ["curl", "urllib"]) @pytest.mark.parametrize( "requested_version,tarball,digest", diff --git a/lib/spack/spack/test/views.py b/lib/spack/spack/test/views.py index 68fb286f9c24c7..d32d8e01505bd0 100644 --- a/lib/spack/spack/test/views.py +++ b/lib/spack/spack/test/views.py @@ -33,8 +33,8 @@ def test_view_with_spec_not_contributing_files(mock_packages, tmpdir): layout = DirectoryLayout(view_dir) view = SimpleFilesystemView(view_dir, layout) - a = Spec("a") - b = Spec("b") + a = Spec("pkg-a") + b = Spec("pkg-b") a.prefix = os.path.join(tmpdir, "a") b.prefix = os.path.join(tmpdir, "b") a._mark_concrete() diff --git a/lib/spack/spack/util/archive.py b/lib/spack/spack/util/archive.py index 48e624dee7fc61..950405887a48b8 100644 --- a/lib/spack/spack/util/archive.py +++ b/lib/spack/spack/util/archive.py @@ -195,14 +195,12 @@ def reproducible_tarfile_from_prefix( file_info = tarfile.TarInfo(path_to_name(entry.path)) if entry.is_symlink(): - # strip off long path reg prefix on Windows - link_dest = readlink(entry.path) - file_info.linkname = link_dest + file_info.type = tarfile.SYMTYPE + file_info.linkname = readlink(entry.path) # According to POSIX: "the value of the file mode bits returned in the # st_mode field of the stat structure is unspecified." So we set it to # something sensible without lstat'ing the link. file_info.mode = 0o755 - file_info.type = tarfile.SYMTYPE tar.addfile(file_info) elif entry.is_file(follow_symlinks=False): diff --git a/lib/spack/spack/util/environment.py b/lib/spack/spack/util/environment.py index e5c7e1e5a7148d..6e7daa4ae374b0 100644 --- a/lib/spack/spack/util/environment.py +++ b/lib/spack/spack/util/environment.py @@ -19,10 +19,6 @@ from llnl.util import tty from llnl.util.lang import dedupe -import spack.platforms -import spack.spec -import spack.target - from .executable import Executable, which if sys.platform == "win32": @@ -122,21 +118,20 @@ def filter_system_paths(paths: List[Path]) -> List[Path]: target_64bit_re = re.compile(r"(? List[Path]: +def deprioritize_system_paths(paths: List[Path], target: Optional[str] = None) -> List[Path]: """Reorders input paths by putting system paths at the end of the list, otherwise preserving order. """ + import spack.platforms + import spack.target + result = sorted(paths, key=is_system_path) # If we are building for a 64-bit target, move e.g. *64 system paths to # the front of the system paths; otherwise remove them if target is None: ref_target = spack.platforms.host().target("default_target") - elif not isinstance(target, spack.target.Target): - ref_target = spack.target.Target(target) else: - ref_target = target + ref_target = spack.target.Target(target) if target_64bit_re.search(ref_target.microarchitecture.family.name): result.sort(key=lambda path: is_system_path(path) and not path.endswith("64")) else: @@ -442,7 +437,7 @@ def __init__( *, separator: str = os.pathsep, trace: Optional[Trace] = None, - target: Optional[Union[str, spack.target.Target]] = None, + target: Optional[str] = None, ): super().__init__(name, separator=separator, trace=trace) self.target = target @@ -628,10 +623,7 @@ def remove_system_paths(self, name: str, separator: str = os.pathsep): @system_env_normalize def deprioritize_system_paths( - self, - name: str, - separator: str = os.pathsep, - target: Optional[Union[str, spack.target.Target]] = None, + self, name: str, separator: str = os.pathsep, target: Optional[str] = None ): """Stores a request to deprioritize system paths in a path list, otherwise preserving the order. @@ -745,8 +737,8 @@ def shell_modifications( for modifier in actions: modifier.execute(new_env) - if "MANPATH" in new_env and not new_env["MANPATH"].endswith(":"): - new_env["MANPATH"] += ":" + if "MANPATH" in new_env and not new_env["MANPATH"].endswith(os.pathsep): + new_env["MANPATH"] += os.pathsep cmds = "" @@ -784,9 +776,9 @@ def from_sourcing_file( (default: ``&> /dev/null``) concatenate_on_success (str): operator used to execute a command only when the previous command succeeds (default: ``&&``) - exclude ([str or re]): ignore any modifications of these + exclude ([str or re.Pattern[str]]): ignore any modifications of these variables (default: []) - include ([str or re]): always respect modifications of these + include ([str or re.Pattern[str]]): always respect modifications of these variables (default: []). Supersedes any excluded variables. clean (bool): in addition to removing empty entries, also remove duplicate entries (default: False). diff --git a/lib/spack/spack/util/libc.py b/lib/spack/spack/util/libc.py index bcfbbec646a096..402bf6f2444131 100644 --- a/lib/spack/spack/util/libc.py +++ b/lib/spack/spack/util/libc.py @@ -128,9 +128,9 @@ def startfile_prefix(prefix: str, compatible_with: str = sys.executable) -> Opti except Exception: accept = lambda path: True - queue = [(0, prefix)] - while queue: - depth, path = queue.pop() + stack = [(0, prefix)] + while stack: + depth, path = stack.pop() try: iterator = os.scandir(path) except OSError: @@ -140,7 +140,7 @@ def startfile_prefix(prefix: str, compatible_with: str = sys.executable) -> Opti try: if entry.is_dir(follow_symlinks=True): if depth < 2: - queue.append((depth + 1, entry.path)) + stack.append((depth + 1, entry.path)) elif entry.name == "crt1.o" and accept(entry.path): return path except Exception: diff --git a/lib/spack/spack/util/spack_yaml.py b/lib/spack/spack/util/spack_yaml.py index 9dadc25d82dcbb..b3326d29591a8a 100644 --- a/lib/spack/spack/util/spack_yaml.py +++ b/lib/spack/spack/util/spack_yaml.py @@ -20,7 +20,7 @@ import functools import io import re -from typing import IO, List, Optional +from typing import IO, Any, Callable, Dict, List, Optional, Union import ruamel.yaml from ruamel.yaml import comments, constructor, emitter, error, representer @@ -233,8 +233,8 @@ def wrapper(data, stream=None, **kwargs): @return_string_when_no_stream def dump(data, stream=None, default_flow_style=False): handler = ConfigYAML(yaml_type=YAMLType.GENERIC_YAML) - handler.default_flow_style = default_flow_style - handler.width = maxint + handler.yaml.default_flow_style = default_flow_style + handler.yaml.width = maxint return handler.dump(data, stream=stream) @@ -493,6 +493,29 @@ def name_mark(name): return error.StringMark(name, None, None, None, None, None) +def anchorify(data: Union[dict, list], identifier: Callable[[Any], str] = repr) -> None: + """Replace identical dict/list branches in tree with references to earlier instances. The YAML + serializer generate anchors for them, resulting in small yaml files.""" + anchors: Dict[str, Union[dict, list]] = {} + stack: List[Union[dict, list]] = [data] + + while stack: + item = stack.pop() + + for key, value in item.items() if isinstance(item, dict) else enumerate(item): + if not isinstance(value, (dict, list)): + continue + + id = identifier(value) + anchor = anchors.get(id) + + if anchor is None: + anchors[id] = value + stack.append(value) + else: + item[key] = anchor # replace with reference + + class SpackYAMLError(spack.error.SpackError): """Raised when there are issues with YAML parsing.""" diff --git a/lib/spack/spack/util/unparse/unparser.py b/lib/spack/spack/util/unparse/unparser.py index 8ca4cd57a3eaa8..13da43aa98f535 100644 --- a/lib/spack/spack/util/unparse/unparser.py +++ b/lib/spack/spack/util/unparse/unparser.py @@ -554,9 +554,7 @@ def visit_FormattedValue(self, node): def _fstring_JoinedStr(self, node, write): for value in node.values: - print(" ", value) meth = getattr(self, "_fstring_" + type(value).__name__) - print(meth) meth(value, write) def _fstring_Str(self, node, write): diff --git a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml index 9a743f0bff3f79..d0fdbfdaffbed9 100644 --- a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml +++ b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml @@ -1,4 +1,4 @@ -stages: [ "generate", "build", "publish" ] +stages: [ "generate", "build" ] variables: SPACK_DISABLE_LOCAL_CONFIG: "1" @@ -187,7 +187,7 @@ default: .generate-x86_64: extends: [ ".generate-base" ] - tags: ["spack", "public", "medium", "x86_64"] + tags: ["spack", "public", "medium", "x86_64_v3"] .generate-aarch64: extends: [ ".generate-base" ] @@ -259,36 +259,6 @@ default: extends: [ ".base-job" ] stage: build -protected-publish: - # Copy binaries from stack-specific mirrors to a root mirror - stage: publish - only: - - /^develop$/ - - /^releases\/v.*/ - - /^v.*/ - - /^develop-[\d]{4}-[\d]{2}-[\d]{2}$/ - image: "ghcr.io/spack/python-aws-bash:0.0.1" - tags: ["spack", "public", "medium", "aws", "x86_64"] - retry: - max: 2 - when: ["runner_system_failure", "stuck_or_timeout_failure"] - variables: - SPACK_COPY_BUILDCACHE: "${PROTECTED_MIRROR_PUSH_DOMAIN}/${CI_COMMIT_REF_NAME}" - SPACK_PIPELINE_TYPE: "spack_protected_branch" - KUBERNETES_CPU_REQUEST: 4000m - KUBERNETES_MEMORY_REQUEST: 16G - script: - - . "./share/spack/setup-env.sh" - - spack --version - - export COPY_SPECS_DIR=${CI_PROJECT_DIR}/jobs_scratch_dir/specs_to_copy - - spack buildcache sync --manifest-glob "${COPY_SPECS_DIR}/*.json" - - curl -fLsS https://spack.github.io/keys/spack-public-binary-key.pub -o /tmp/spack-public-binary-key.pub - - aws s3 cp /tmp/spack-public-binary-key.pub "${SPACK_COPY_BUILDCACHE}/build_cache/_pgp/spack-public-binary-key.pub" - - spack buildcache update-index --keys "${SPACK_COPY_BUILDCACHE}" - id_tokens: - GITLAB_OIDC_TOKEN: - aud: "protected_binary_mirror" - ######################################## # TEMPLATE FOR ADDING ANOTHER PIPELINE ######################################## @@ -406,7 +376,7 @@ e4s-neoverse_v1-build: e4s-rocm-external-generate: extends: [ ".e4s-rocm-external", ".generate-x86_64"] - image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm5.7.1:2024.03.01 + image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.1.1:2024.06.23 e4s-rocm-external-build: extends: [ ".e4s-rocm-external", ".build" ] @@ -452,7 +422,7 @@ e4s-rocm-external-build: e4s-oneapi-generate: extends: [ ".e4s-oneapi", ".generate-x86_64"] - image: ghcr.io/spack/ubuntu22.04-runner-amd64-oneapi-2024.0.0:2024.01.16b + image: ecpe4s/ubuntu22.04-runner-amd64-oneapi-2024.2:2024.06.21 e4s-oneapi-build: extends: [ ".e4s-oneapi", ".build" ] @@ -513,28 +483,6 @@ build_systems-build: - artifacts: True job: build_systems-generate -########################################### -# Build tests for different developer tools -########################################### -.developer-tools: - extends: [ ".linux_x86_64_v3" ] - variables: - SPACK_CI_STACK_NAME: developer-tools - -developer-tools-generate: - extends: [ ".developer-tools", ".generate-x86_64"] - -developer-tools-build: - extends: [ ".developer-tools", ".build" ] - trigger: - include: - - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml - job: developer-tools-generate - strategy: depend - needs: - - artifacts: True - job: developer-tools-generate - ########################################### # Build tests for different developer tools # manylinux2014 diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-isc-aarch64/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-isc-aarch64/spack.yaml index 1fef3594e73e67..86385c90d4c1fe 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/aws-isc-aarch64/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/aws-isc-aarch64/spack.yaml @@ -4,22 +4,22 @@ spack: all: providers: blas: - - openblas + - openblas mkl: - - intel-oneapi-mkl + - intel-oneapi-mkl mpi: - - openmpi - - mpich + - openmpi + - mpich variants: +mpi tbb: - require: "intel-tbb" + require: intel-tbb binutils: variants: +ld +gold +headers +libiberty ~nls version: - - 2.36.1 + - 2.36.1 doxygen: version: - - 1.8.20 + - 1.8.20 elfutils: variants: ~nls hdf5: @@ -39,13 +39,17 @@ spack: openmpi: variants: fabrics=ofi +legacylaunchers openturns: - version: [1.18] + version: + - '1.18' relion: variants: ~mklfft # texlive: # version: [20210325] trilinos: - variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long + variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext + +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu + +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos + +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long xz: variants: +pic @@ -108,8 +112,8 @@ spack: - '%gcc@7.3.1' - target: - - 'target=aarch64' - - 'target=neoverse_n1' + - target=aarch64 + - target=neoverse_n1 specs: @@ -132,7 +136,7 @@ spack: ci: pipeline-gen: - build-job: - image: { "name": "ghcr.io/spack/e4s-amazonlinux-2:v2023-03-09", "entrypoint": [""] } + image: {name: ghcr.io/spack/e4s-amazonlinux-2:v2023-03-09, entrypoint: ['']} cdash: build-group: AWS Packages diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml index 8d079b2ee3f02b..2da054256c418c 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml @@ -4,22 +4,22 @@ spack: all: providers: blas: - - openblas + - openblas mkl: - - intel-oneapi-mkl + - intel-oneapi-mkl mpi: - - openmpi - - mpich + - openmpi + - mpich variants: +mpi tbb: - require: "intel-tbb" + require: intel-tbb binutils: variants: +ld +gold +headers +libiberty ~nls version: - - 2.36.1 + - 2.36.1 doxygen: version: - - 1.8.20 + - 1.8.20 elfutils: variants: ~nls hdf5: @@ -39,13 +39,17 @@ spack: openmpi: variants: fabrics=ofi +legacylaunchers openturns: - version: [1.18] + version: + - '1.18' relion: variants: ~mklfft # texlive: # version: [20210325] trilinos: - variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long + variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext + +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu + +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos + +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long xz: variants: +pic @@ -115,7 +119,7 @@ spack: - '%gcc@7.3.1' - target: - - 'target=x86_64_v3' + - target=x86_64_v3 specs: @@ -143,7 +147,7 @@ spack: ci: pipeline-gen: - build-job: - image: { "name": "ghcr.io/spack/e4s-amazonlinux-2:v2023-03-09", "entrypoint": [""] } + image: {name: ghcr.io/spack/e4s-amazonlinux-2:v2023-03-09, entrypoint: ['']} cdash: build-group: AWS Packages diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/packages.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/packages.yaml index ca8cf09ef69aa3..cf6a99a62f8122 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/packages.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/packages.yaml @@ -19,8 +19,6 @@ packages: - "+intel_provided_gcc ^intel-oneapi-mkl target=x86_64_v4" - "+intel_provided_gcc ^intel-oneapi-mkl target=x86_64_v3" when: "%intel" - intel-mpi: - variants: +external-libfabric intel-oneapi-compilers: require: "intel-oneapi-compilers %gcc target=x86_64_v3" intel-oneapi-mpi: @@ -110,12 +108,15 @@ packages: read: world write: user providers: - blas: [intel-oneapi-mkl, intel-mkl] - daal: [intel-oneapi-dal, intel-daal] - fftw-api: [intel-oneapi-mkl, intel-mkl] - ipp: [intel-oneapi-ipp, intel-ipp] - lapack: [intel-oneapi-mkl, intel-mkl] - mkl: [intel-oneapi-mkl, intel-mkl] + blas: [intel-oneapi-mkl] + daal: [intel-oneapi-dal] + fftw-api: [intel-oneapi-mkl] + ipp: [intel-oneapi-ipp] + lapack: [intel-oneapi-mkl] + mkl: [intel-oneapi-mkl] mpi: [intel-oneapi-mpi, openmpi, mpich] tbb: [intel-oneapi-tbb, intel-tbb] - scalapack: [intel-oneapi-mkl, intel-mkl] + scalapack: [intel-oneapi-mkl] + + + diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/spack.yaml index 52e88506c0d99a..7fc52115b39505 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/spack.yaml @@ -7,7 +7,7 @@ spack: - lammps %intel - mpas-model %intel - openfoam %gcc - - palace %oneapi + - palace %oneapi ^superlu-dist%oneapi # hack: force fortran-rt provider through superlu-dist - quantum-espresso %intel # - wrf : While building hdf5 cmake errors out with Detecting Fortran/C Interface: Failed to compile # Root cause: ifort cannot deal with arbitrarily long file names. diff --git a/share/spack/gitlab/cloud_pipelines/stacks/developer-tools/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/developer-tools/spack.yaml deleted file mode 100644 index e322387a1e638e..00000000000000 --- a/share/spack/gitlab/cloud_pipelines/stacks/developer-tools/spack.yaml +++ /dev/null @@ -1,69 +0,0 @@ -spack: - view: false - packages: - all: - require: target=x86_64_v3 - concretizer: - unify: true - definitions: - - default_specs: - # editors - - neovim~no_luajit - - py-pynvim - - emacs@29.1+json+native+treesitter # note, pulls in gcc - # - tree-sitter is a dep, should also have cli but no package - - nano # just in case - # tags and scope search helpers - - universal-ctags # only maintained ctags, works better with c++ - - direnv - # runtimes and compilers - - python - - llvm+link_llvm_dylib~lld~lldb~polly+python build_type=MinSizeRel # for clangd, clang-format - - node-js # for editor plugins etc., pyright language server - - npm - - go # to build fzf, gh, hub - - rust+dev # fd, ripgrep, hyperfine, exa, rust-analyzer - - binutils+ld+gold+plugins # support linking with built gcc - # styling and lints - - astyle - - cppcheck - - uncrustify - - py-fprettify - - py-fortran-language-server - - py-python-lsp-server - # cli dev tools - - ripgrep - - gh - - fd - - bfs - - fzf - - tree - - jq - - py-yq - - hub - - ncdu - - eza - - lsd - - hyperfine - - htop - - tmux - - ccache - # ensure we can use a jobserver build and do this fast - - gmake - - ninja # should be @kitware, can't be because of meson requirement - - "openssl certs=system" # must be this, system external does not work - - arch: - - '%gcc target=x86_64_v3' - - specs: - - matrix: - - - $default_specs - - - $arch - - ci: - pipeline-gen: - - build-job: - image: "ghcr.io/spack/ubuntu20.04-runner-amd64-gcc-11.4:2023.08.01" - - cdash: - build-group: Developer Tools diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse-v2/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse-v2/spack.yaml index e9203c830a1af5..c0074bdd80a908 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse-v2/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse-v2/spack.yaml @@ -34,7 +34,7 @@ spack: mpi: require: mpich mpich: - require: '~wrapperrpath ~hwloc' + require: '~wrapperrpath ~hwloc %gcc target=neoverse_v2' tbb: require: intel-tbb boost: @@ -43,11 +43,13 @@ spack: +regex +serialization +shared +signals +stacktrace +system +test +thread +timer cxxstd=17 visibility=global libffi: - require: "@3.4.4" + require: "@3.4.4 %gcc target=neoverse_v2" vtk-m: - require: "+examples" + require: "+examples %gcc target=neoverse_v2" cuda: version: [11.8.0] + paraview: + require: "+examples %gcc target=neoverse_v2" specs: # CPU @@ -180,27 +182,6 @@ spack: # - libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp # py-numcodecs@0.7.3: gcc: error: unrecognized command-line option '-mno-sse2' # - variorum # variorum: https://github.com/spack/spack/issues/38786 - # PYTHON PACKAGES - # - opencv +python3 - # - py-horovod - # - py-jax - # - py-jupyterlab - # - py-matplotlib - # - py-mpi4py - # - py-notebook - # - py-numba - # - py-numpy - # - py-openai - # - py-pandas - # - py-plotly - # - py-pooch - # - py-pytest - # - py-scikit-learn - # - py-scipy - # - py-seaborn - # - py-tensorflow - # - py-torch - # CUDA NOARCH - flux-core +cuda - hpctoolkit +cuda @@ -216,7 +197,6 @@ spack: - cabana +cuda cuda_arch=90 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=90 - caliper +cuda cuda_arch=90 - chai +cuda cuda_arch=90 ^umpire ~shared - # - cp2k +mpi +cuda cuda_arch=90 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') - flecsi +cuda cuda_arch=90 - ginkgo +cuda cuda_arch=90 - gromacs +cuda cuda_arch=90 @@ -238,12 +218,13 @@ spack: - umpire ~shared +cuda cuda_arch=90 # INCLUDED IN ECP DAV CUDA - adios2 +cuda cuda_arch=90 + # - ascent +cuda cuda_arch=90 # ascent: https://github.com/spack/spack/issues/38045 # - paraview +cuda cuda_arch=90 # paraview: InstallError: Incompatible cuda_arch=90 - vtk-m +cuda cuda_arch=90 - zfp +cuda cuda_arch=90 # -- - # - ascent +cuda cuda_arch=90 # ascent: https://github.com/spack/spack/issues/38045 # - axom +cuda cuda_arch=90 # axom: https://github.com/spack/spack/issues/29520 + # - cp2k +mpi +cuda cuda_arch=90 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') # - cusz +cuda cuda_arch=90 # cusz: https://github.com/spack/spack/issues/38787 # - dealii +cuda cuda_arch=90 # dealii: https://github.com/spack/spack/issues/39532 # - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=90 # embree: https://github.com/spack/spack/issues/39534 diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml index 51f2f657d79f92..ecf7772ad43cb4 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml @@ -34,7 +34,7 @@ spack: mpi: require: mpich mpich: - require: '~wrapperrpath ~hwloc' + require: '~wrapperrpath ~hwloc %gcc target=neoverse_v1' tbb: require: intel-tbb boost: @@ -43,9 +43,11 @@ spack: +regex +serialization +shared +signals +stacktrace +system +test +thread +timer cxxstd=17 visibility=global libffi: - require: "@3.4.4" + require: "@3.4.4 %gcc target=neoverse_v1" vtk-m: - require: "+examples" + require: "+examples %gcc target=neoverse_v1" + paraview: + require: "+examples %gcc target=neoverse_v1" cuda: version: [11.8.0] @@ -57,7 +59,6 @@ spack: - amrex - arborx - argobots - - ascent # ecp dav - axom - bolt - boost @@ -158,6 +159,7 @@ spack: - xyce +mpi +shared +pymi +pymi_static_tpls # INCLUDED IN ECP DAV CPU - adios2 + - ascent - darshan-runtime - darshan-util - faodel @@ -169,16 +171,16 @@ spack: - sz - unifyfs - veloc - # - visit # silo: https://github.com/spack/spack/issues/39538 + # - visit # silo: https://github.com/spack/spack/issues/39538 - vtk-m - zfp # -- - # - bricks ~cuda # not respecting target=aarch64? - # - dealii # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. - # - geopm # geopm: https://github.com/spack/spack/issues/38795 - # - glvis # glvis: https://github.com/spack/spack/issues/42839 + # - bricks ~cuda # not respecting target=aarch64? + # - dealii # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. + # - geopm # geopm: https://github.com/spack/spack/issues/38795 + # - glvis # glvis: https://github.com/spack/spack/issues/42839 # - libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp # py-numcodecs@0.7.3: gcc: error: unrecognized command-line option '-mno-sse2' - # - variorum # variorum: https://github.com/spack/spack/issues/38786 + # - variorum # variorum: https://github.com/spack/spack/issues/38786 # PYTHON PACKAGES - opencv +python3 @@ -207,16 +209,19 @@ spack: - papi +cuda - tau +mpi +cuda +syscall # -- - # - bricks +cuda # not respecting target=aarch64? - # - legion +cuda # legion: needs NVIDIA driver + # - bricks +cuda # not respecting target=aarch64? + # - legion +cuda # legion: needs NVIDIA driver # CUDA 75 - amrex +cuda cuda_arch=75 - arborx +cuda cuda_arch=75 ^kokkos +wrapper + - axom +cuda cuda_arch=75 - cabana +cuda cuda_arch=75 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=75 - caliper +cuda cuda_arch=75 - chai +cuda cuda_arch=75 ^umpire ~shared - # - cp2k +mpi +cuda cuda_arch=75 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') + - cusz +cuda cuda_arch=75 + - dealii +cuda cuda_arch=75 + - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=75 # # +paraview: job killed oom? - flecsi +cuda cuda_arch=75 - ginkgo +cuda cuda_arch=75 - gromacs +cuda cuda_arch=75 @@ -231,8 +236,10 @@ spack: - omega-h +cuda cuda_arch=75 - parsec +cuda cuda_arch=75 - petsc +cuda cuda_arch=75 + - py-torch +cuda cuda_arch=75 - raja +cuda cuda_arch=75 - slate +cuda cuda_arch=75 + - slepc +cuda cuda_arch=75 - strumpack ~slate +cuda cuda_arch=75 - sundials +cuda cuda_arch=75 - superlu-dist +cuda cuda_arch=75 @@ -241,29 +248,27 @@ spack: - umpire ~shared +cuda cuda_arch=75 # INCLUDED IN ECP DAV CUDA - adios2 +cuda cuda_arch=75 + # - ascent +cuda cuda_arch=75 # ascent: https://github.com/spack/spack/issues/38045 - vtk-m +cuda cuda_arch=75 - zfp +cuda cuda_arch=75 # -- - # - ascent +cuda cuda_arch=75 # ascent: https://github.com/spack/spack/issues/38045 - # - axom +cuda cuda_arch=75 # axom: https://github.com/spack/spack/issues/29520 - # - cusz +cuda cuda_arch=75 # cusz: https://github.com/spack/spack/issues/38787 - # - dealii +cuda cuda_arch=75 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. - # - paraview +cuda cuda_arch=75 # Error building some cuda componets in paraview - # - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=75 # embree: https://github.com/spack/spack/issues/39534 - # - lammps +cuda cuda_arch=75 # lammps: needs NVIDIA driver - # - lbann +cuda cuda_arch=75 # lbann: https://github.com/spack/spack/issues/38788 + # - cp2k +mpi +cuda cuda_arch=75 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') + # - lammps +cuda cuda_arch=75 # lammps: needs NVIDIA driver + # - lbann +cuda cuda_arch=75 # aluminum: include/aluminum/base.hpp:53: multiple definition of `cub::CUB_200400___CUDA_ARCH_LIST___NS::Debug(cudaError,char const*, int)'; lbann: https://github.com/spack/spack/issues/38788 # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=75 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787 - # - py-torch +cuda cuda_arch=75 # skipped, installed by other means - # - slepc +cuda cuda_arch=75 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. - # - upcxx +cuda cuda_arch=75 # upcxx: needs NVIDIA driver + # - paraview +cuda cuda_arch=75 # paraview: killed oom? + # - upcxx +cuda cuda_arch=75 # upcxx: needs NVIDIA driver # CUDA 80 - amrex +cuda cuda_arch=80 - arborx +cuda cuda_arch=80 ^kokkos +wrapper + - axom +cuda cuda_arch=80 - cabana +cuda cuda_arch=80 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=80 - caliper +cuda cuda_arch=80 - chai +cuda cuda_arch=80 ^umpire ~shared - # - cp2k +mpi +cuda cuda_arch=80 # cp2k: Error: KeyError: 'Point environment variable LIBSMM_PATH to the absolute path of the libsmm.a file' + - cusz +cuda cuda_arch=80 + - dealii +cuda cuda_arch=80 + - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=80 # +paraview: job killed oom? - flecsi +cuda cuda_arch=80 - ginkgo +cuda cuda_arch=80 - gromacs +cuda cuda_arch=80 @@ -278,8 +283,10 @@ spack: - omega-h +cuda cuda_arch=80 - parsec +cuda cuda_arch=80 - petsc +cuda cuda_arch=80 + - py-torch +cuda cuda_arch=80 - raja +cuda cuda_arch=80 - slate +cuda cuda_arch=80 + - slepc +cuda cuda_arch=80 - strumpack ~slate +cuda cuda_arch=80 - sundials +cuda cuda_arch=80 - superlu-dist +cuda cuda_arch=80 @@ -287,35 +294,32 @@ spack: - trilinos +cuda cuda_arch=80 - umpire ~shared +cuda cuda_arch=80 # INCLUDED IN ECP DAV CUDA + # - ascent +cuda cuda_arch=80 # ascent: https://github.com/spack/spack/issues/38045 - adios2 +cuda cuda_arch=80 - vtk-m +cuda cuda_arch=80 - zfp +cuda cuda_arch=80 # -- - # - ascent +cuda cuda_arch=80 # ascent: https://github.com/spack/spack/issues/38045 - # - axom +cuda cuda_arch=80 # axom: https://github.com/spack/spack/issues/29520 - # - cusz +cuda cuda_arch=80 # cusz: https://github.com/spack/spack/issues/38787 - # - dealii +cuda cuda_arch=80 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. - # - paraview +cuda cuda_arch=80 # Error building some cuda componets in paraview - # - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=80 # embree: https://github.com/spack/spack/issues/39534 - # - lammps +cuda cuda_arch=80 # lammps: needs NVIDIA driver - # - lbann +cuda cuda_arch=80 # lbann: https://github.com/spack/spack/issues/38788 + # - cp2k +mpi +cuda cuda_arch=80 # cp2k: Error: KeyError: 'Point environment variable LIBSMM_PATH to the absolute path of the libsmm.a file' + # - lammps +cuda cuda_arch=80 # lammps: needs NVIDIA driver + # - lbann +cuda cuda_arch=80 # aluminum: include/aluminum/base.hpp:53: multiple definition of `cub::CUB_200400___CUDA_ARCH_LIST___NS::Debug(cudaError,char const*, int)'; lbann: https://github.com/spack/spack/issues/38788 # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=80 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787 - # - py-torch +cuda cuda_arch=80 # skipped, installed by other means - # - slepc +cuda cuda_arch=80 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. - # - upcxx +cuda cuda_arch=80 # upcxx: needs NVIDIA driver + # - paraview +cuda cuda_arch=80 # paraview: killed oom? + # - upcxx +cuda cuda_arch=80 # upcxx: needs NVIDIA driver # CUDA 90 - amrex +cuda cuda_arch=90 - arborx +cuda cuda_arch=90 ^kokkos +wrapper + - axom +cuda cuda_arch=90 - cabana +cuda cuda_arch=90 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=90 - caliper +cuda cuda_arch=90 - chai +cuda cuda_arch=90 ^umpire ~shared - # - cp2k +mpi +cuda cuda_arch=90 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') + - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=90 # +paraview: vtkm/exec/cuda/internal/ThrustPatches.h(213): error: this declaration has no storage class or type specifier - flecsi +cuda cuda_arch=90 - ginkgo +cuda cuda_arch=90 - gromacs +cuda cuda_arch=90 - heffte +cuda cuda_arch=90 - hpx +cuda cuda_arch=90 + - hypre +cuda cuda_arch=90 - kokkos +wrapper +cuda cuda_arch=90 - kokkos-kernels +cuda cuda_arch=90 ^kokkos +wrapper +cuda cuda_arch=90 - magma +cuda cuda_arch=90 @@ -323,33 +327,31 @@ spack: - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=90 - parsec +cuda cuda_arch=90 - petsc +cuda cuda_arch=90 + - py-torch +cuda cuda_arch=90 - raja +cuda cuda_arch=90 - slate +cuda cuda_arch=90 + - slepc +cuda cuda_arch=90 - strumpack ~slate +cuda cuda_arch=90 - sundials +cuda cuda_arch=90 - superlu-dist +cuda cuda_arch=90 + - tasmanian +cuda cuda_arch=90 - trilinos +cuda cuda_arch=90 - umpire ~shared +cuda cuda_arch=90 # INCLUDED IN ECP DAV CUDA - adios2 +cuda cuda_arch=90 - # - paraview +cuda cuda_arch=90 # paraview: InstallError: Incompatible cuda_arch=90 + # - paraview +cuda cuda_arch=90 # paraview: InstallError: Incompatible cuda_arch=90 - vtk-m +cuda cuda_arch=90 - zfp +cuda cuda_arch=90 # -- - # - ascent +cuda cuda_arch=90 # ascent: https://github.com/spack/spack/issues/38045 - # - axom +cuda cuda_arch=90 # axom: https://github.com/spack/spack/issues/29520 - # - cusz +cuda cuda_arch=90 # cusz: https://github.com/spack/spack/issues/38787 - # - dealii +cuda cuda_arch=90 # dealii: https://github.com/spack/spack/issues/39532 - # - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=90 # embree: https://github.com/spack/spack/issues/39534 - # - hypre +cuda cuda_arch=90 # concretizer: hypre +cuda requires cuda@:11, but cuda_arch=90 requires cuda@12: - # - lammps +cuda cuda_arch=90 # lammps: needs NVIDIA driver - # - lbann +cuda cuda_arch=90 # concretizer: Cannot select a single "version" for package "lbann" + # - ascent +cuda cuda_arch=90 # ascent: https://github.com/spack/spack/issues/38045 + # - cp2k +mpi +cuda cuda_arch=90 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') + # - cusz +cuda cuda_arch=90 # cusz: cuda-12.5.1-pil77yk7gsseyqitybr47qmhdtszbcwa/targets/sbsa-linux/include/cub/util_device.cuh:160:63: error: 'blockIdx' was not declared in this scope + # - dealii +cuda cuda_arch=90 # dealii: concretize conflict + https://github.com/spack/spack/issues/39532 + # - lammps +cuda cuda_arch=90 # lammps: needs NVIDIA driver + # - lbann +cuda cuda_arch=90 # aluminum: include/aluminum/base.hpp:53: multiple definition of `cub::CUB_200400___CUDA_ARCH_LIST___NS::Debug(cudaError,char const*, int)'; # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=90 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787 - # - omega-h +cuda cuda_arch=90 # omega-h: https://github.com/spack/spack/issues/39535 - # - py-torch +cuda cuda_arch=90 # skipped, installed by other means - # - slepc +cuda cuda_arch=90 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'. - # - tasmanian +cuda cuda_arch=90 # tasmanian: conflicts with cuda@12 - # - upcxx +cuda cuda_arch=90 # upcxx: needs NVIDIA driver + # - omega-h +cuda cuda_arch=90 # omega-h: https://github.com/spack/spack/issues/39535 + # - upcxx +cuda cuda_arch=90 # upcxx: needs NVIDIA driver ci: pipeline-gen: diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml index 1c24f0feda99a0..504d1a4618e46e 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml @@ -19,9 +19,8 @@ spack: elfutils: variants: ~nls gcc-runtime: - require: "%gcc" + require: "%gcc target=x86_64_v3" hdf5: - require: "%gcc" variants: +fortran +hl +shared libfabric: variants: fabrics=sockets,tcp,udp,rxm @@ -39,33 +38,36 @@ spack: xz: variants: +pic mpi: - require: 'mpich@4:' + require: 'mpich@4: target=x86_64_v3' mpich: - require: '~wrapperrpath ~hwloc' + require: '~wrapperrpath ~hwloc target=x86_64_v3' unzip: - require: '%gcc' + require: '%gcc target=x86_64_v3' binutils: - require: '%gcc' + require: '%gcc target=x86_64_v3' variants: +ld +gold +headers +libiberty ~nls llvm: - require: '%gcc' + require: '%gcc target=x86_64_v3' ruby: - require: '%gcc' + require: '%gcc target=x86_64_v3' rust: - require: '%gcc' + require: '%gcc target=x86_64_v3' krb5: - require: '%gcc' + require: '%gcc target=x86_64_v3' papi: - require: '%gcc' + require: '%gcc target=x86_64_v3' openssh: - require: '%gcc' + require: '%gcc target=x86_64_v3' dyninst: - require: "%gcc" + require: "%gcc target=x86_64_v3" bison: - require: '%gcc' + require: '%gcc target=x86_64_v3' + paraview: + require: "+examples %oneapi target=x86_64_v3" specs: # CPU + - aml - adios - amrex - arborx @@ -79,7 +81,6 @@ spack: - chai - charliecloud - conduit - # - cp2k +mpi # dbcsr - datatransferkit - drishti - exaworks @@ -105,7 +106,7 @@ spack: - kokkos-kernels +openmp - laghos - lammps - - lbann + # - lbann # 2024.2 internal compiler error - legion - libnrm - libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp @@ -122,13 +123,14 @@ spack: - netlib-scalapack - nrm - omega-h + - openfoam - openmpi - papi - papyrus - parsec ~cuda - petsc - phist - - plasma + # - plasma # 2024.2 internal compiler error - plumed - precice - pruners-ninja @@ -160,7 +162,7 @@ spack: - wannier90 - xyce +mpi +shared +pymi +pymi_static_tpls # INCLUDED IN ECP DAV CPU - - adios2 # mgard: mgard.tpp:63:48: error: non-constant-expression cannot be narrowed from type 'int' to 'unsigned long' in initializer list [-Wc++11-narrowing] + - adios2 - ascent - darshan-runtime - darshan-util @@ -178,27 +180,28 @@ spack: - zfp # -- # - alquimia # pflotran: https://github.com/spack/spack/issues/39474 + # - bricks ~cuda # bricks: /opt/intel/oneapi/compiler/2024.0/bin/sycl-post-link: error while loading shared libraries: libonnxruntime.1.12.22.721.so: cannot open shared object file: No such file or directory + # - cp2k +mpi # dbcsr # - dealii # dealii: https://github.com/spack/spack/issues/39482 # - dxt-explorer # r: https://github.com/spack/spack/issues/40257 # - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc +visit +vtkm +zfp # embree: CMake Error at CMakeLists.txt:215 (MESSAGE): Unsupported compiler: IntelLLVM; qt: qtbase/src/corelib/global/qendian.h:333:54: error: incomplete type 'std::numeric_limits' used in nested name specifier # - geopm # geopm issue: https://github.com/spack/spack/issues/38795 + # - glvis ^llvm # glvis: https://github.com/spack/spack/issues/42839 # - hpctoolkit # dyninst@12.3.0%gcc: /usr/bin/ld: libiberty/./d-demangle.c:142: undefined reference to `_intel_fast_memcpy'; can't mix intel-tbb@%oneapi with dyninst%gcc # - mgard +serial +openmp +timing +unstructured ~cuda # mgard: mgard.tpp:63:48: error: non-constant-expression cannot be narrowed from type 'int' to 'unsigned long' in initializer list [-Wc++11-narrowing] - # - openfoam # cgal: https://github.com/spack/spack/issues/39481 # - openpmd-api # mgard: mgard.tpp:63:48: error: non-constant-expression cannot be narrowed from type 'int' to 'unsigned long' in initializer list [-Wc++11-narrowing] - # - swig@4.0.2-fortran # ? - # - upcxx # upcxx: /opt/intel/oneapi/mpi/2021.10.0//libfabric/bin/fi_info: error while loading shared libraries: libfabric.so.1: cannot open shared object file: No such file or directory - # -- - # - bricks ~cuda # bricks: /opt/intel/oneapi/compiler/2024.0/bin/sycl-post-link: error while loading shared libraries: libonnxruntime.1.12.22.721.so: cannot open shared object file: No such file or directory - # - glvis ^llvm # glvis: https://github.com/spack/spack/issues/42839 # - pdt # pdt: pdbType.cc:193:21: warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings] # - quantum-espresso # quantum-espresso@7.2 /i3fqdx5: warning: :0:0: loop not unroll-and-jammed: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering + # - swig@4.0.2-fortran # ? # - tau +mpi +python +syscall # pdt: pdbType.cc:193:21: warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings] + # - upcxx # upcxx: /opt/intel/oneapi/mpi/2021.10.0//libfabric/bin/fi_info: error while loading shared libraries: libfabric.so.1: cannot open shared object file: No such file or directory # PYTHON PACKAGES - opencv +python3 - py-jupyterlab + - py-mpi4py - py-notebook + - py-numba - py-numpy - py-openai - py-pandas @@ -208,8 +211,6 @@ spack: - py-scikit-learn - py-scipy - py-seaborn - - py-mpi4py - - py-numba # - py-horovod # error # - py-jax # error # - py-matplotlib # error @@ -217,31 +218,28 @@ spack: # - py-torch # error # GPU + - aml +ze - amrex +sycl + - arborx +sycl ^kokkos +sycl +openmp cxxstd=17 +examples + - cabana +sycl ^kokkos +sycl +openmp cxxstd=17 +examples + - ginkgo +sycl + - heffte +sycl + - kokkos +sycl +openmp cxxstd=17 +examples + - kokkos-kernels build_type=Release %oneapi ^kokkos +sycl +openmp cxxstd=17 +examples + - petsc +sycl + - sundials +sycl cxxstd=17 +examples-install - tau +mpi +opencl +level_zero ~pdt +syscall # requires libdrm.so to be installed - upcxx +level_zero # -- - # - hpctoolkit +level_zero # dyninst@12.3.0%gcc: /usr/bin/ld: libiberty/./d-demangle.c:142: undefined reference to `_intel_fast_memcpy'; can't mix intel-tbb@%oneapi with dyninst%gcc - # - warpx compute=sycl # warpx: spack-build-wzp6vvo/_deps/fetchedamrex-src/Src/Base/AMReX_RandomEngine.H:18:10: fatal error: 'oneapi/mkl/rng/device.hpp' file not found - # -- - - aml # aml: /opt/intel/oneapi/compiler/2024.0/bin/sycl-post-link: error while loading shared libraries: libonnxruntime.1.12.22.721.so: cannot open shared object file: No such file or directory - - aml +ze # aml: /opt/intel/oneapi/compiler/2024.0/bin/sycl-post-link: error while loading shared libraries: libonnxruntime.1.12.22.721.so: cannot open shared object file: No such file or directory - - arborx +sycl ^kokkos +sycl +openmp cxxstd=17 +examples # kokkos@4.2.00: CMake Error at cmake/Modules/FindTPLONEDPL.cmake:31 (FIND_PACKAGE): - - cabana +sycl ^kokkos +sycl +openmp cxxstd=17 +examples # kokkos@4.2.00: CMake Error at cmake/Modules/FindTPLONEDPL.cmake:31 (FIND_PACKAGE): - - ginkgo +sycl # ginkgo: Could NOT find PAPI (missing: PAPI_LIBRARY PAPI_INCLUDE_DIR sde) (Required is at least version "7.0.1.0") SYCL feature test compile failed! compile output is: CMake Error at /opt/intel/oneapi/compiler/2024.0/lib/cmake/IntelSYCL/IntelSYCLConfig.cmake:282 (SYCL_FEATURE_TEST_EXTRACT): SYCL_FEATURE_TEST_EXTRACT Function invoked with incorrect arguments for - - heffte +sycl # heffte: /opt/intel/oneapi/compiler/2024.0/bin/sycl-post-link: error while loading shared libraries: libonnxruntime.1.12.22.721.so: cannot open shared object file: No such file or directory - - kokkos +sycl +openmp cxxstd=17 +examples # kokkos@4.2.00: CMake Error at cmake/Modules/FindTPLONEDPL.cmake:31 (FIND_PACKAGE): - - kokkos-kernels build_type=Release %oneapi ^kokkos +sycl +openmp cxxstd=17 +examples # kokkos@4.0.00: tpls/desul/include/desul/atomics/Adapt_SYCL.hpp:83:7: error: no template named 'sycl_memory_scope' - - petsc +sycl # kokkos@4.0.00: tpls/desul/include/desul/atomics/Adapt_SYCL.hpp:83:7: error: no template named 'sycl_memory_scope' + # - hpctoolkit +level_zero # dyninst@12.3.0%gcc: /usr/bin/ld: libiberty/./d-demangle.c:142: undefined reference to `_intel_fast_memcpy'; can't mix intel-tbb@%oneapi with dyninst%gcc # - slate +sycl # blaspp: CMake Error at CMakeLists.txt:313 (find_package): ... set MKL_FOUND to FALSE so package "MKL" is considered to be NOT FOUND. - - sundials +sycl cxxstd=17 +examples-install # sundials@6.6.2 /cakfnxs: CMake: could NOT find MPI_CXX (missing: MPI_CXX_WORKS) (Required is at least version "2.0.0") + # - warpx compute=sycl # warpx: spack-build-wzp6vvo/_deps/fetchedamrex-src/Src/Base/AMReX_RandomEngine.H:18:10: fatal error: 'oneapi/mkl/rng/device.hpp' file not found - - py-scipy ci: pipeline-gen: - build-job: - image: ghcr.io/spack/ubuntu22.04-runner-amd64-oneapi-2024.0.0:2024.01.16b + image: ecpe4s/ubuntu22.04-runner-amd64-oneapi-2024.2:2024.06.21 cdash: build-group: E4S OneAPI diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml index 3fa3c9b0451d8f..8bd991cbbb6eac 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml @@ -35,19 +35,21 @@ spack: mpi: require: mpich mpich: - require: '~wrapperrpath ~hwloc' + require: '~wrapperrpath ~hwloc %gcc@9.4.0 target=ppc64le' ncurses: - require: '@6.3 +termlib' + require: '@6.3 +termlib %gcc@9.4.0 target=ppc64le' faodel: - require: "~tcmalloc" + require: "~tcmalloc %gcc@9.4.0 target=ppc64le" tbb: require: intel-tbb libffi: - require: "@3.4.4" + require: "@3.4.4 %gcc@9.4.0 target=ppc64le" vtk-m: - require: "+examples" + require: "+examples %gcc@9.4.0 target=ppc64le" cuda: - require: "@11.4.4" + require: "@11.4.4 %gcc@9.4.0 target=ppc64le" + paraview: + require: "+examples %gcc@9.4.0 target=ppc64le" specs: @@ -158,7 +160,6 @@ spack: - upcxx - wannier90 - xyce +mpi +shared +pymi +pymi_static_tpls - # - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 ~paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +visit: libext, libxkbfile, libxrender, libxt, silo (https://github.com/spack/spack/issues/39538), cairo # INCLUDED IN ECP DAV CPU - adios2 - ascent @@ -175,6 +176,7 @@ spack: # - visit # libext, libxkbfile, libxrender, libxt, silo (https://github.com/spack/spack/issues/39538), cairo - vtk-m - zfp + # - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 ~paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +visit: libext, libxkbfile, libxrender, libxt, silo (https://github.com/spack/spack/issues/39538), cairo # -- # - dealii # fltk: https://github.com/spack/spack/issues/38791 # - geopm # geopm: https://github.com/spack/spack/issues/38798 @@ -210,7 +212,7 @@ spack: - flux-core +cuda - hpctoolkit +cuda - papi +cuda - - tau +mpi +cuda # tau: has issue with `spack env depfile` build + - tau +mpi +cuda # -- # - legion +cuda # legion: needs NVIDIA driver @@ -219,7 +221,6 @@ spack: - arborx +cuda cuda_arch=70 ^kokkos +wrapper - caliper +cuda cuda_arch=70 - chai +cuda cuda_arch=70 ^umpire ~shared - # - cp2k +mpi +cuda cuda_arch=70 # dbcsr - ecp-data-vis-sdk ~rocm +adios2 ~ascent +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=70 - exago +mpi +python +raja +hiop ~rocm +cuda cuda_arch=70 ~ipopt ^hiop@1.0.0 ~sparse +mpi +raja ~rocm +cuda cuda_arch=70 #^raja@0.14.0 - flecsi +cuda cuda_arch=70 @@ -252,6 +253,7 @@ spack: - zfp +cuda cuda_arch=70 # -- # - axom +cuda cuda_arch=70 # axom: https://github.com/spack/spack/issues/29520 + # - cp2k +mpi +cuda cuda_arch=70 # dbcsr # - cusz +cuda cuda_arch=70 # cusz: https://github.com/spack/spack/issues/38787 # - dealii +cuda cuda_arch=70 # fltk: https://github.com/spack/spack/issues/38791 # - lammps +cuda cuda_arch=70 # lammps: needs NVIDIA driver diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml index 7677a375cb98f4..d63720dcfa75bf 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml @@ -16,208 +16,210 @@ spack: mpi: require: mpich mpich: - require: '~wrapperrpath ~hwloc' + require: '~wrapperrpath ~hwloc %gcc target=x86_64_v3' openblas: variants: threads=openmp paraview: # Don't build GUI support or GLX rendering for HPC/container deployments - require: "@5.11 ~qt ^[virtuals=gl] osmesa" + require: "@5.11 +examples ~qt ^[virtuals=gl] osmesa %gcc target=x86_64_v3" - # ROCm 5.4.3 + # ROCm comgr: buildable: false externals: - - spec: comgr@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: comgr@6.1.1 + prefix: /opt/rocm-6.1.1/ hip-rocclr: buildable: false externals: - - spec: hip-rocclr@5.7.1 - prefix: /opt/rocm-5.7.1/hip + - spec: hip-rocclr@6.1.1 + prefix: /opt/rocm-6.1.1/hip hipblas: buildable: false externals: - - spec: hipblas@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: hipblas@6.1.1 + prefix: /opt/rocm-6.1.1/ hipcub: buildable: false externals: - - spec: hipcub@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: hipcub@6.1.1 + prefix: /opt/rocm-6.1.1/ hipfft: buildable: false externals: - - spec: hipfft@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: hipfft@6.1.1 + prefix: /opt/rocm-6.1.1/ hipsparse: buildable: false externals: - - spec: hipsparse@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: hipsparse@6.1.1 + prefix: /opt/rocm-6.1.1/ miopen-hip: buildable: false externals: - - spec: miopen-hip@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: miopen-hip@6.1.1 + prefix: /opt/rocm-6.1.1/ miopengemm: buildable: false externals: - - spec: miopengemm@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: miopengemm@6.1.1 + prefix: /opt/rocm-6.1.1/ rccl: buildable: false externals: - - spec: rccl@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: rccl@6.1.1 + prefix: /opt/rocm-6.1.1/ rocblas: buildable: false externals: - - spec: rocblas@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: rocblas@6.1.1 + prefix: /opt/rocm-6.1.1/ rocfft: buildable: false externals: - - spec: rocfft@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: rocfft@6.1.1 + prefix: /opt/rocm-6.1.1/ rocm-clang-ocl: buildable: false externals: - - spec: rocm-clang-ocl@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: rocm-clang-ocl@6.1.1 + prefix: /opt/rocm-6.1.1/ rocm-cmake: buildable: false externals: - - spec: rocm-cmake@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: rocm-cmake@6.1.1 + prefix: /opt/rocm-6.1.1/ rocm-dbgapi: buildable: false externals: - - spec: rocm-dbgapi@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: rocm-dbgapi@6.1.1 + prefix: /opt/rocm-6.1.1/ rocm-debug-agent: buildable: false externals: - - spec: rocm-debug-agent@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: rocm-debug-agent@6.1.1 + prefix: /opt/rocm-6.1.1/ rocm-device-libs: buildable: false externals: - - spec: rocm-device-libs@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: rocm-device-libs@6.1.1 + prefix: /opt/rocm-6.1.1/ rocm-gdb: buildable: false externals: - - spec: rocm-gdb@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: rocm-gdb@6.1.1 + prefix: /opt/rocm-6.1.1/ rocm-opencl: buildable: false externals: - - spec: rocm-opencl@5.7.1 - prefix: /opt/rocm-5.7.1/opencl + - spec: rocm-opencl@6.1.1 + prefix: /opt/rocm-6.1.1/opencl rocm-smi-lib: buildable: false externals: - - spec: rocm-smi-lib@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: rocm-smi-lib@6.1.1 + prefix: /opt/rocm-6.1.1/ hip: buildable: false externals: - - spec: hip@5.7.1 - prefix: /opt/rocm-5.7.1 + - spec: hip@6.1.1 + prefix: /opt/rocm-6.1.1 extra_attributes: compilers: - c: /opt/rocm-5.7.1/llvm/bin/clang++ - c++: /opt/rocm-5.7.1/llvm/bin/clang++ - hip: /opt/rocm-5.7.1/hip/bin/hipcc + c: /opt/rocm-6.1.1/llvm/bin/clang++ + c++: /opt/rocm-6.1.1/llvm/bin/clang++ + hip: /opt/rocm-6.1.1/hip/bin/hipcc hipify-clang: buildable: false externals: - - spec: hipify-clang@5.7.1 - prefix: /opt/rocm-5.7.1 + - spec: hipify-clang@6.1.1 + prefix: /opt/rocm-6.1.1 llvm-amdgpu: buildable: false externals: - - spec: llvm-amdgpu@5.7.1 - prefix: /opt/rocm-5.7.1/llvm + - spec: llvm-amdgpu@6.1.1 + prefix: /opt/rocm-6.1.1/llvm extra_attributes: compilers: - c: /opt/rocm-5.7.1/llvm/bin/clang++ - cxx: /opt/rocm-5.7.1/llvm/bin/clang++ + c: /opt/rocm-6.1.1/llvm/bin/clang++ + cxx: /opt/rocm-6.1.1/llvm/bin/clang++ hsakmt-roct: buildable: false externals: - - spec: hsakmt-roct@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: hsakmt-roct@6.1.1 + prefix: /opt/rocm-6.1.1/ hsa-rocr-dev: buildable: false externals: - - spec: hsa-rocr-dev@5.7.1 - prefix: /opt/rocm-5.7.1/ + - spec: hsa-rocr-dev@6.1.1 + prefix: /opt/rocm-6.1.1/ extra_atributes: compilers: - c: /opt/rocm-5.7.1/llvm/bin/clang++ - cxx: /opt/rocm-5.7.1/llvm/bin/clang++ + c: /opt/rocm-6.1.1/llvm/bin/clang++ + cxx: /opt/rocm-6.1.1/llvm/bin/clang++ roctracer-dev-api: buildable: false externals: - - spec: roctracer-dev-api@5.7.1 - prefix: /opt/rocm-5.7.1 + - spec: roctracer-dev-api@6.1.1 + prefix: /opt/rocm-6.1.1 roctracer-dev: buildable: false externals: - spec: roctracer-dev@4.5.3 - prefix: /opt/rocm-5.7.1 + prefix: /opt/rocm-6.1.1 rocprim: buildable: false externals: - - spec: rocprim@5.7.1 - prefix: /opt/rocm-5.7.1 + - spec: rocprim@6.1.1 + prefix: /opt/rocm-6.1.1 rocrand: buildable: false externals: - - spec: rocrand@5.7.1 - prefix: /opt/rocm-5.7.1 + - spec: rocrand@6.1.1 + prefix: /opt/rocm-6.1.1 hipsolver: buildable: false externals: - - spec: hipsolver@5.7.1 - prefix: /opt/rocm-5.7.1 + - spec: hipsolver@6.1.1 + prefix: /opt/rocm-6.1.1 rocsolver: buildable: false externals: - - spec: rocsolver@5.7.1 - prefix: /opt/rocm-5.7.1 + - spec: rocsolver@6.1.1 + prefix: /opt/rocm-6.1.1 rocsparse: buildable: false externals: - - spec: rocsparse@5.7.1 - prefix: /opt/rocm-5.7.1 + - spec: rocsparse@6.1.1 + prefix: /opt/rocm-6.1.1 rocthrust: buildable: false externals: - - spec: rocthrust@5.7.1 - prefix: /opt/rocm-5.7.1 + - spec: rocthrust@6.1.1 + prefix: /opt/rocm-6.1.1 rocprofiler-dev: buildable: false externals: - - spec: rocprofiler-dev@5.7.1 - prefix: /opt/rocm-5.7.1 + - spec: rocprofiler-dev@6.1.1 + prefix: /opt/rocm-6.1.1 + rocm-core: + buildable: false + externals: + - spec: rocm-core@6.1.1 + prefix: /opt/rocm-6.1.1 specs: # ROCM NOARCH - hpctoolkit +rocm - - tau +mpi +rocm +syscall # tau: has issue with `spack env depfile` build + - tau +mpi +rocm +syscall # ROCM 908 - - adios2 +kokkos +rocm amdgpu_target=gfx908 - amrex +rocm amdgpu_target=gfx908 - arborx +rocm amdgpu_target=gfx908 - cabana +rocm amdgpu_target=gfx908 - caliper +rocm amdgpu_target=gfx908 - chai +rocm amdgpu_target=gfx908 - # - cp2k +mpi +rocm amdgpu_target=gfx908 # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]), - ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx908 - - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx908 ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx908 - gasnet +rocm amdgpu_target=gfx908 - ginkgo +rocm amdgpu_target=gfx908 - heffte +rocm amdgpu_target=gfx908 @@ -227,12 +229,8 @@ spack: - legion +rocm amdgpu_target=gfx908 - magma ~cuda +rocm amdgpu_target=gfx908 - mfem +rocm amdgpu_target=gfx908 - - petsc +rocm amdgpu_target=gfx908 - raja ~openmp +rocm amdgpu_target=gfx908 - # - slate +rocm amdgpu_target=gfx908 # slate: hip/device_gescale_row_col.hip.cc:58:49: error: use of overloaded operator '*' is ambiguous (with operand types 'HIP_vector_type' and 'const HIP_vector_type') - - slepc +rocm amdgpu_target=gfx908 ^petsc +rocm amdgpu_target=gfx908 - strumpack ~slate +rocm amdgpu_target=gfx908 - - sundials +rocm amdgpu_target=gfx908 - superlu-dist +rocm amdgpu_target=gfx908 - tasmanian ~openmp +rocm amdgpu_target=gfx908 - trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack ~ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu ~stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long +rocm amdgpu_target=gfx908 @@ -244,22 +242,26 @@ spack: # - hdf5-vol-cache # - hdf5-vol-log # - libcatalyst - - paraview +rocm amdgpu_target=gfx908 + # - paraview +rocm amdgpu_target=gfx908 # mesa: https://github.com/spack/spack/issues/44745 # - vtk-m ~openmp +rocm amdgpu_target=gfx908 # vtk-m: https://github.com/spack/spack/issues/40268 # -- + - adios2 +kokkos +rocm amdgpu_target=gfx908 # adios2:https://github.com/spack/spack/issues/44594 + # - cp2k +mpi +rocm amdgpu_target=gfx908 # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]), + # - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx908 ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx908 # raja: https://github.com/spack/spack/issues/44593 # - lbann ~cuda +rocm amdgpu_target=gfx908 # aluminum: https://github.com/spack/spack/issues/38807 # - papi +rocm amdgpu_target=gfx908 # papi: https://github.com/spack/spack/issues/27898 + # - petsc +rocm amdgpu_target=gfx908 # petsc: https://github.com/spack/spack/issues/44600 + # - slate +rocm amdgpu_target=gfx908 # slate: hip/device_gescale_row_col.hip.cc:58:49: error: use of overloaded operator '*' is ambiguous (with operand types 'HIP_vector_type' and 'const HIP_vector_type') + # - slepc +rocm amdgpu_target=gfx908 ^petsc +rocm amdgpu_target=gfx908 # petsc: https://github.com/spack/spack/issues/44600 + # - sundials +rocm amdgpu_target=gfx908 # sundials: https://github.com/spack/spack/issues/44601 # ROCM 90a - - adios2 +kokkos +rocm amdgpu_target=gfx90a - amrex +rocm amdgpu_target=gfx90a - arborx +rocm amdgpu_target=gfx90a - cabana +rocm amdgpu_target=gfx90a - caliper +rocm amdgpu_target=gfx90a - chai +rocm amdgpu_target=gfx90a - # - cp2k +mpi +rocm amdgpu_target=gfx90a # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]), - ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx90a - - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx90a ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx90a - gasnet +rocm amdgpu_target=gfx90a - ginkgo +rocm amdgpu_target=gfx90a - heffte +rocm amdgpu_target=gfx90a @@ -269,12 +271,8 @@ spack: - legion +rocm amdgpu_target=gfx90a - magma ~cuda +rocm amdgpu_target=gfx90a - mfem +rocm amdgpu_target=gfx90a - - petsc +rocm amdgpu_target=gfx90a - raja ~openmp +rocm amdgpu_target=gfx90a - # - slate +rocm amdgpu_target=gfx90a # slate: hip/device_gescale_row_col.hip.cc:58:49: error: use of overloaded operator '*' is ambiguous (with operand types 'HIP_vector_type' and 'const HIP_vector_type') - - slepc +rocm amdgpu_target=gfx90a ^petsc +rocm amdgpu_target=gfx90a - strumpack ~slate +rocm amdgpu_target=gfx90a - - sundials +rocm amdgpu_target=gfx90a - superlu-dist +rocm amdgpu_target=gfx90a - tasmanian ~openmp +rocm amdgpu_target=gfx90a - trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack ~ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu ~stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long +rocm amdgpu_target=gfx90a @@ -286,16 +284,23 @@ spack: # - hdf5-vol-cache # - hdf5-vol-log # - libcatalyst - - paraview +rocm amdgpu_target=gfx90a + # - paraview +rocm amdgpu_target=gfx90a # mesa: https://github.com/spack/spack/issues/44745 # - vtk-m ~openmp +rocm amdgpu_target=gfx90a # vtk-m: https://github.com/spack/spack/issues/40268 # -- + - adios2 +kokkos +rocm amdgpu_target=gfx90a # adios2: https://github.com/spack/spack/issues/44594 + # - cp2k +mpi +rocm amdgpu_target=gfx90a # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]), + # - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx90a ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx90a # raja: https://github.com/spack/spack/issues/44593 # - lbann ~cuda +rocm amdgpu_target=gfx90a # aluminum: https://github.com/spack/spack/issues/38807 # - papi +rocm amdgpu_target=gfx90a # papi: https://github.com/spack/spack/issues/27898 + # - petsc +rocm amdgpu_target=gfx90a # petsc: https://github.com/spack/spack/issues/44600 + # - slate +rocm amdgpu_target=gfx90a # slate: hip/device_gescale_row_col.hip.cc:58:49: error: use of overloaded operator '*' is ambiguous (with operand types 'HIP_vector_type' and 'const HIP_vector_type') + # - slepc +rocm amdgpu_target=gfx90a ^petsc +rocm amdgpu_target=gfx90a # petsc: https://github.com/spack/spack/issues/44600 + # - sundials +rocm amdgpu_target=gfx90a # sundials: https://github.com/spack/spack/issues/44601 ci: pipeline-gen: - build-job: - image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm5.7.1:2024.03.01 + image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.1.1:2024.06.23 cdash: build-group: E4S ROCm External diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml index d274690629dc5c..5d25864371695e 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml @@ -52,7 +52,7 @@ spack: version: [11.8.0] paraview: # Don't build GUI support or GLX rendering for HPC/container deployments - require: "@5.11 ~qt ^[virtuals=gl] osmesa" + require: "@5.11 +examples ~qt ^[virtuals=gl] osmesa" specs: # CPU @@ -185,12 +185,12 @@ spack: - sz - unifyfs - veloc - # - visit # silo: https://github.com/spack/spack/issues/39538 + - visit # silo: https://github.com/spack/spack/issues/39538 - vtk-m - zfp # -- # - geopm # geopm: https://github.com/spack/spack/issues/38795 - # - glvis # glvis: https://github.com/spack/spack/issues/42839 + - glvis # glvis: https://github.com/spack/spack/issues/42839 # - nek5000 +mpi +visit # nek5000: Error: AttributeError: 'str' object has no attribute 'propagate': 'VISIT_INSTALL="' + spec["visit"].prefix.bin + '"', # PYTHON PACKAGES @@ -215,198 +215,157 @@ spack: - py-torch - py-deephyper - # # CUDA NOARCH - # - bricks +cuda - # - flux-core +cuda - # - hpctoolkit +cuda - # - papi +cuda - # - tau +mpi +cuda +syscall - # # -- - # # - legion +cuda # legion: needs NVIDIA driver - - # # CUDA 80 - # - amrex +cuda cuda_arch=80 - # - arborx +cuda cuda_arch=80 ^kokkos +wrapper - # - cabana +cuda cuda_arch=80 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=80 - # - caliper +cuda cuda_arch=80 - # - chai +cuda cuda_arch=80 ^umpire ~shared - # - cusz +cuda cuda_arch=80 - # - dealii +cuda cuda_arch=80 - # - ecp-data-vis-sdk ~rocm +adios2 ~ascent +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=80 # +ascent fails because fides fetch error - # - exago +mpi +python +raja +hiop ~rocm +cuda cuda_arch=80 ~ipopt ^hiop@1.0.0 ~sparse +mpi +raja ~rocm +cuda cuda_arch=80 #^raja@0.14.0 - # - flecsi +cuda cuda_arch=80 - # - ginkgo +cuda cuda_arch=80 - # - gromacs +cuda cuda_arch=80 - # - heffte +cuda cuda_arch=80 - # - hpx +cuda cuda_arch=80 - # - hypre +cuda cuda_arch=80 - # - kokkos +wrapper +cuda cuda_arch=80 - # - kokkos-kernels +cuda cuda_arch=80 ^kokkos +wrapper +cuda cuda_arch=80 - # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +cusz +mgard +cuda cuda_arch=80 ^cusz +cuda cuda_arch=80 - # - magma +cuda cuda_arch=80 - # - mfem +cuda cuda_arch=80 - # - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=80 - # - omega-h +cuda cuda_arch=80 - # - parsec +cuda cuda_arch=80 - # - petsc +cuda cuda_arch=80 - # - py-torch +cuda cuda_arch=80 - # - raja +cuda cuda_arch=80 - # - slate +cuda cuda_arch=80 - # - slepc +cuda cuda_arch=80 - # - strumpack ~slate +cuda cuda_arch=80 - # - sundials +cuda cuda_arch=80 - # - superlu-dist +cuda cuda_arch=80 - # - tasmanian +cuda cuda_arch=80 - # - trilinos +cuda cuda_arch=80 - # - umpire ~shared +cuda cuda_arch=80 - # # INCLUDED IN ECP DAV CUDA - # # - adios2 +cuda cuda_arch=80 - # # - ascent +cuda cuda_arch=80 # ascent: https://github.com/spack/spack/issues/38045 - # # - paraview +cuda cuda_arch=80 - # # - vtk-m +cuda cuda_arch=80 - # # - zfp +cuda cuda_arch=80 - # # -- - # # - lammps +cuda cuda_arch=80 # lammps: needs NVIDIA driver - # # - upcxx +cuda cuda_arch=80 # upcxx: needs NVIDIA driver - # # - axom +cuda cuda_arch=80 # axom: https://github.com/spack/spack/issues/29520 - # # - lbann +cuda cuda_arch=80 # lbann: https://github.com/spack/spack/issues/38788 + # CUDA NOARCH + - bricks +cuda + - flux-core +cuda + - hpctoolkit +cuda + - papi +cuda + - tau +mpi +cuda +syscall + # -- + # - legion +cuda # legion: needs NVIDIA driver - # # CUDA 90 - # - amrex +cuda cuda_arch=90 - # - arborx +cuda cuda_arch=90 ^kokkos +wrapper - # - cabana +cuda cuda_arch=90 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=90 - # - caliper +cuda cuda_arch=90 - # - chai +cuda cuda_arch=90 ^umpire ~shared - # - cusz +cuda cuda_arch=90 - # - flecsi +cuda cuda_arch=90 - # - ginkgo +cuda cuda_arch=90 - # - gromacs +cuda cuda_arch=90 - # - heffte +cuda cuda_arch=90 - # - hpx +cuda cuda_arch=90 - # - kokkos +wrapper +cuda cuda_arch=90 - # - kokkos-kernels +cuda cuda_arch=90 ^kokkos +wrapper +cuda cuda_arch=90 - # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +cusz +mgard +cuda cuda_arch=90 ^cusz +cuda cuda_arch=90 - # - magma +cuda cuda_arch=90 - # - mfem +cuda cuda_arch=90 - # - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=90 - # - parsec +cuda cuda_arch=90 - # - petsc +cuda cuda_arch=90 - # - py-torch +cuda cuda_arch=90 - # - raja +cuda cuda_arch=90 - # - slate +cuda cuda_arch=90 - # - slepc +cuda cuda_arch=90 - # - strumpack ~slate +cuda cuda_arch=90 - # - sundials +cuda cuda_arch=90 - # - superlu-dist +cuda cuda_arch=90 - # - trilinos +cuda cuda_arch=90 - # - umpire ~shared +cuda cuda_arch=90 - # # INCLUDED IN ECP DAV CUDA - # - adios2 +cuda cuda_arch=90 - # # - ascent +cuda cuda_arch=90 # ascent: https://github.com/spack/spack/issues/38045 - # # - paraview +cuda cuda_arch=90 # paraview: InstallError: Incompatible cuda_arch=90 - # - vtk-m +cuda cuda_arch=90 - # - zfp +cuda cuda_arch=90 - # # -- - # # - axom +cuda cuda_arch=90 # axom: https://github.com/spack/spack/issues/29520 - # # - dealii +cuda cuda_arch=90 # dealii: https://github.com/spack/spack/issues/39532 - # # - ecp-data-vis-sdk ~rocm +adios2 +ascent +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=90 # paraview: incompatible cuda_arch; vtk-m: CMake Error at CMake/VTKmWrappers.cmake:413 (message): vtkm_cont needs to be built STATIC as CUDA doesn't support virtual methods across dynamic library boundaries. You need to set the CMake opt ion BUILD_SHARED_LIBS to `OFF` or (better) turn VTKm_NO_DEPRECATED_VIRTUAL to `ON`. - # # - hypre +cuda cuda_arch=90 # concretizer: hypre +cuda requires cuda@:11, but cuda_arch=90 requires cuda@12: - # # - lammps +cuda cuda_arch=90 # lammps: needs NVIDIA driver - # # - lbann +cuda cuda_arch=90 # concretizer: Cannot select a single "version" for package "lbann" - # # - omega-h +cuda cuda_arch=90 # omega-h: https://github.com/spack/spack/issues/39535 - # # - tasmanian +cuda cuda_arch=90 # tasmanian: conflicts with cuda@12 - # # - upcxx +cuda cuda_arch=90 # upcxx: needs NVIDIA driver + # CUDA 80 + - amrex +cuda cuda_arch=80 + - arborx +cuda cuda_arch=80 ^kokkos +wrapper + - axom +cuda cuda_arch=80 + - cabana +cuda cuda_arch=80 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=80 + - caliper +cuda cuda_arch=80 + - chai +cuda cuda_arch=80 ^umpire ~shared + - cusz +cuda cuda_arch=80 + - ecp-data-vis-sdk ~rocm +adios2 ~ascent +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=80 # +ascent fails because fides fetch error + - exago +mpi +python +raja +hiop ~rocm +cuda cuda_arch=80 ~ipopt ^hiop@1.0.0 ~sparse +mpi +raja ~rocm +cuda cuda_arch=80 #^raja@0.14.0 + - flecsi +cuda cuda_arch=80 + - ginkgo +cuda cuda_arch=80 + - gromacs +cuda cuda_arch=80 + - heffte +cuda cuda_arch=80 + - hpx +cuda cuda_arch=80 + - hypre +cuda cuda_arch=80 + - kokkos +wrapper +cuda cuda_arch=80 + - kokkos-kernels +cuda cuda_arch=80 ^kokkos +wrapper +cuda cuda_arch=80 + - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +cusz +mgard +cuda cuda_arch=80 ^cusz +cuda cuda_arch=80 + - magma +cuda cuda_arch=80 + - mfem +cuda cuda_arch=80 + - omega-h +cuda cuda_arch=80 + - parsec +cuda cuda_arch=80 + - petsc +cuda cuda_arch=80 + - py-torch +cuda cuda_arch=80 + - raja +cuda cuda_arch=80 + - slate +cuda cuda_arch=80 + - slepc +cuda cuda_arch=80 + - strumpack ~slate +cuda cuda_arch=80 + - sundials +cuda cuda_arch=80 + - superlu-dist +cuda cuda_arch=80 + - tasmanian +cuda cuda_arch=80 + - trilinos +cuda cuda_arch=80 + - umpire ~shared +cuda cuda_arch=80 + # INCLUDED IN ECP DAV CUDA + - adios2 +cuda cuda_arch=80 + # - ascent +cuda cuda_arch=80 # ascent: https://github.com/spack/spack/issues/38045 + - paraview +cuda cuda_arch=80 + - vtk-m +cuda cuda_arch=80 + - zfp +cuda cuda_arch=80 + # -- + # - dealii +cuda cuda_arch=80 # dealii: conflicts with '+cuda ^cuda@12:' + # - lammps +cuda cuda_arch=80 # lammps: needs NVIDIA driver + # - lbann +cuda cuda_arch=80 # lbann: layers/transform/cereal_registration/../permute/cutensor_support.hpp:95:18: error: 'cutensorInit' was not declared in this scope; did you mean 'cutensorPlan_t'? + # - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=80 # mgard: https://github.com/spack/spack/issues/44833 + # - upcxx +cuda cuda_arch=80 # upcxx: needs NVIDIA driver - # # ROCM NOARCH - # - hpctoolkit +rocm - # - tau +mpi +rocm +syscall # tau: has issue with `spack env depfile` build + # CUDA 90 + - amrex +cuda cuda_arch=90 + - arborx +cuda cuda_arch=90 ^kokkos +wrapper + - axom +cuda cuda_arch=90 + - cabana +cuda cuda_arch=90 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=90 + - caliper +cuda cuda_arch=90 + - chai +cuda cuda_arch=90 ^umpire ~shared + - flecsi +cuda cuda_arch=90 + - ginkgo +cuda cuda_arch=90 + - gromacs +cuda cuda_arch=90 + - heffte +cuda cuda_arch=90 + - hpx +cuda cuda_arch=90 + - hypre +cuda cuda_arch=90 + - kokkos +wrapper +cuda cuda_arch=90 + - kokkos-kernels +cuda cuda_arch=90 ^kokkos +wrapper +cuda cuda_arch=90 + - magma +cuda cuda_arch=90 + - mfem +cuda cuda_arch=90 + - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=90 + - parsec +cuda cuda_arch=90 + - petsc +cuda cuda_arch=90 + - raja +cuda cuda_arch=90 + - slate +cuda cuda_arch=90 + - slepc +cuda cuda_arch=90 + - strumpack ~slate +cuda cuda_arch=90 + - sundials +cuda cuda_arch=90 + - superlu-dist +cuda cuda_arch=90 + - tasmanian +cuda cuda_arch=90 + - trilinos +cuda cuda_arch=90 + - umpire ~shared +cuda cuda_arch=90 + # INCLUDED IN ECP DAV CUDA + - adios2 +cuda cuda_arch=90 + # - ascent +cuda cuda_arch=90 # ascent: https://github.com/spack/spack/issues/38045 + # - paraview +cuda cuda_arch=90 # paraview: InstallError: Incompatible cuda_arch=90 + - vtk-m +cuda cuda_arch=90 + - zfp +cuda cuda_arch=90 + # -- + # - cusz +cuda cuda_arch=90 # cusz: cuda-12.5.0-ndrzb7undvancjdj3fi6bhthdxdo7gr5/targets/x86_64-linux/include/cub/util_device.cuh:202:50: error: 'blockDim' was not declared in this scope + # - dealii +cuda cuda_arch=90 # dealii: conflicts with '+cuda ^cuda@12:'; dealii: https://github.com/spack/spack/issues/39532 + # - ecp-data-vis-sdk ~rocm +adios2 +ascent +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=90 # +ascent: # ascent: https://github.com/spack/spack/issues/38045; +paraview: VTK/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/exec/cuda/internal/ExecutionPolicy.h(121): error: namespace "thrust" has no member "sort" + # - lammps +cuda cuda_arch=90 # lammps: needs NVIDIA driver + # - lbann +cuda cuda_arch=90 # aluminum: /usr/include/c++/11/bits/basic_string.h:1260: multiple definition of `cub::CUB_200400___CUDA_ARCH_LIST___NS::Debug(cudaError, char const*, int)'; + # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +cusz +mgard +cuda cuda_arch=90 ^cusz +cuda cuda_arch=90 # cusz: cuda-12.5.0-e3rny44pq5z5x3nnoljynbsq5on5fnl3/targets/x86_64-linux/include/cub/util_device.cuh:202:50: error: 'blockDim' was not declared in this scope + # - omega-h +cuda cuda_arch=90 # omega-h: https://github.com/spack/spack/issues/39535 + # - py-torch +cuda cuda_arch=90 # py-torch: FAILED: caffe2/CMakeFiles/torch_cuda.dir/__/aten/src/ATen/native/transformers/cuda/flash_attn/kernels/flash_bwd_hdim256_bf16_sm80.cu.o + # - upcxx +cuda cuda_arch=90 # upcxx: needs NVIDIA driver - # # ROCM 908 - # - adios2 +kokkos +rocm amdgpu_target=gfx908 - # - amrex +rocm amdgpu_target=gfx908 - # - arborx +rocm amdgpu_target=gfx908 - # - cabana +rocm amdgpu_target=gfx908 - # - caliper +rocm amdgpu_target=gfx908 - # - chai +rocm amdgpu_target=gfx908 - # - ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx908 - # - gasnet +rocm amdgpu_target=gfx908 - # - ginkgo +rocm amdgpu_target=gfx908 - # - heffte +rocm amdgpu_target=gfx908 - # - hpx +rocm amdgpu_target=gfx908 - # - hypre +rocm amdgpu_target=gfx908 - # - kokkos +rocm amdgpu_target=gfx908 - # - legion +rocm amdgpu_target=gfx908 - # - magma ~cuda +rocm amdgpu_target=gfx908 - # - mfem +rocm amdgpu_target=gfx908 - # - petsc +rocm amdgpu_target=gfx908 - # - raja ~openmp +rocm amdgpu_target=gfx908 - # - slate +rocm amdgpu_target=gfx908 - # - slepc +rocm amdgpu_target=gfx908 ^petsc +rocm amdgpu_target=gfx908 - # - strumpack ~slate +rocm amdgpu_target=gfx908 - # - sundials +rocm amdgpu_target=gfx908 - # - superlu-dist +rocm amdgpu_target=gfx908 - # - tasmanian ~openmp +rocm amdgpu_target=gfx908 - # - trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack ~ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu ~stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long +rocm amdgpu_target=gfx908 - # - umpire +rocm amdgpu_target=gfx908 - # - upcxx +rocm amdgpu_target=gfx908 - # # INCLUDED IN ECP DAV ROCM - # # - hdf5 - # # - hdf5-vol-async - # # - hdf5-vol-cache - # # - hdf5-vol-log - # # - libcatalyst - # - paraview +rocm amdgpu_target=gfx908 - # # - vtk-m ~openmp +rocm amdgpu_target=gfx908 # vtk-m: https://github.com/spack/spack/issues/40268 - # # -- - # # - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx908 ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx908 # hiop: CMake Error at cmake/FindHiopHipLibraries.cmake:23 (find_package) - # # - lbann ~cuda +rocm amdgpu_target=gfx908 # aluminum: https://github.com/spack/spack/issues/38807 - # # - papi +rocm amdgpu_target=gfx908 # papi: https://github.com/spack/spack/issues/27898 + # ROCM NOARCH + - hpctoolkit +rocm + - tau +mpi +rocm +syscall # tau: has issue with `spack env depfile` build - # # ROCM 90a - # - adios2 +kokkos +rocm amdgpu_target=gfx90a - # - amrex +rocm amdgpu_target=gfx90a - # - arborx +rocm amdgpu_target=gfx90a - # - cabana +rocm amdgpu_target=gfx90a - # - caliper +rocm amdgpu_target=gfx90a - # - chai +rocm amdgpu_target=gfx90a - # - ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx90a - # - gasnet +rocm amdgpu_target=gfx90a - # - ginkgo +rocm amdgpu_target=gfx90a - # - heffte +rocm amdgpu_target=gfx90a - # - hpx +rocm amdgpu_target=gfx90a - # - hypre +rocm amdgpu_target=gfx90a - # - kokkos +rocm amdgpu_target=gfx90a - # - legion +rocm amdgpu_target=gfx90a - # - magma ~cuda +rocm amdgpu_target=gfx90a - # - mfem +rocm amdgpu_target=gfx90a - # - petsc +rocm amdgpu_target=gfx90a - # - raja ~openmp +rocm amdgpu_target=gfx90a - # - slate +rocm amdgpu_target=gfx90a - # - slepc +rocm amdgpu_target=gfx90a ^petsc +rocm amdgpu_target=gfx90a - # - strumpack ~slate +rocm amdgpu_target=gfx90a - # - sundials +rocm amdgpu_target=gfx90a - # - superlu-dist +rocm amdgpu_target=gfx90a - # - tasmanian ~openmp +rocm amdgpu_target=gfx90a - # - trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack ~ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu ~stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long +rocm amdgpu_target=gfx90a - # - umpire +rocm amdgpu_target=gfx90a - # - upcxx +rocm amdgpu_target=gfx90a - # # INCLUDED IN ECP DAV ROCM - # # - hdf5 - # # - hdf5-vol-async - # # - hdf5-vol-cache - # # - hdf5-vol-log - # # - libcatalyst - # - paraview +rocm amdgpu_target=gfx90a - # # - vtk-m ~openmp +rocm amdgpu_target=gfx90a # vtk-m: https://github.com/spack/spack/issues/40268 - # # -- - # # - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx90a ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx90a # hiop: CMake Error at cmake/FindHiopHipLibraries.cmake:23 (find_package) - # # - lbann ~cuda +rocm amdgpu_target=gfx90a # aluminum: https://github.com/spack/spack/issues/38807 - # # - papi +rocm amdgpu_target=gfx90a # papi: https://github.com/spack/spack/issues/27898 + # ROCM 90a + - amrex +rocm amdgpu_target=gfx90a + - caliper +rocm amdgpu_target=gfx90a + - chai +rocm amdgpu_target=gfx90a + - ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx90a + - gasnet +rocm amdgpu_target=gfx90a + - ginkgo +rocm amdgpu_target=gfx90a + - heffte +rocm amdgpu_target=gfx90a + - hpx +rocm amdgpu_target=gfx90a + - hypre +rocm amdgpu_target=gfx90a + - magma ~cuda +rocm amdgpu_target=gfx90a + - mfem +rocm amdgpu_target=gfx90a + - raja ~openmp +rocm amdgpu_target=gfx90a + - slate +rocm amdgpu_target=gfx90a + - strumpack ~slate +rocm amdgpu_target=gfx90a + - sundials +rocm amdgpu_target=gfx90a + - superlu-dist +rocm amdgpu_target=gfx90a + - tasmanian ~openmp +rocm amdgpu_target=gfx90a + - trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack ~ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu ~stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long +rocm amdgpu_target=gfx90a + - umpire +rocm amdgpu_target=gfx90a + - upcxx +rocm amdgpu_target=gfx90a + # INCLUDED IN ECP DAV ROCM + # - hdf5 + # - hdf5-vol-async + # - hdf5-vol-cache + # - hdf5-vol-log + # - libcatalyst + - paraview +rocm amdgpu_target=gfx90a + # - vtk-m ~openmp +rocm amdgpu_target=gfx90a # vtk-m: https://github.com/spack/spack/issues/40268 + # -- + # - adios2 +kokkos +rocm amdgpu_target=gfx90a # +kokkos: https://github.com/spack/spack/issues/44832 + # - arborx +rocm amdgpu_target=gfx90a # kokkos: https://github.com/spack/spack/issues/44832 + # - cabana +rocm amdgpu_target=gfx90a # kokkos: https://github.com/spack/spack/issues/44832 + # - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx90a ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx90a # hiop: CMake Error at cmake/FindHiopHipLibraries.cmake:23 (find_package) + # - kokkos +rocm amdgpu_target=gfx90a # kokkos: https://github.com/spack/spack/issues/44832 + # - lbann ~cuda +rocm amdgpu_target=gfx90a # aluminum: https://github.com/spack/spack/issues/38807 + # - legion +rocm amdgpu_target=gfx90a # kokkos: https://github.com/spack/spack/issues/44832 + # - papi +rocm amdgpu_target=gfx90a # papi: https://github.com/spack/spack/issues/27898 + # - petsc +rocm amdgpu_target=gfx90a # petsc: https://github.com/spack/spack/issues/44600 + # - slepc +rocm amdgpu_target=gfx90a ^petsc +rocm amdgpu_target=gfx90a # petsc: https://github.com/spack/spack/issues/44600 - # - cp2k +mpi +cuda cuda_arch=80 # cp2k: spack-stage-libxsmm-1.17-ml4asr3rsb5biw34x6m764cbrp3zrwyk/spack-src/./src/libxsmm_gemm.c:223: undefined reference to `dgemv_' - # - cp2k +mpi +cuda cuda_arch=90 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') - # - cp2k +mpi +rocm amdgpu_target=gfx908 # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]), - # - cp2k +mpi +rocm amdgpu_target=gfx90a # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]), + # - cp2k +mpi +cuda cuda_arch=80 # cp2k: spack-stage-libxsmm-1.17-r2zqxa24bhufaj5i3ili5se25cw7tioo/spack-src/./src/libxsmm_gemm.c:238: undefined reference to `sgemv_' + # - cp2k +mpi +cuda cuda_arch=90 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') + # - cp2k +mpi +rocm amdgpu_target=gfx908 # cp2k: "-L{}".format(spec["rocm"].libs.directories[0]), + # - cp2k +mpi +rocm amdgpu_target=gfx90a # cp2k: "-L{}".format(spec["rocm"].libs.directories[0]), ci: pipeline-gen: diff --git a/share/spack/qa/validate_last_exit.ps1 b/share/spack/qa/validate_last_exit.ps1 index c8a9f7f5be7912..565968b2b1d73f 100644 --- a/share/spack/qa/validate_last_exit.ps1 +++ b/share/spack/qa/validate_last_exit.ps1 @@ -1,3 +1,3 @@ if ($LASTEXITCODE -ne 0){ - throw "Unit Tests have failed" + throw "Tests have failed" } \ No newline at end of file diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index b5e7529dac96a9..9ffecf321d11c5 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -564,14 +564,14 @@ _spack_buildcache() { then SPACK_COMPREPLY="-h --help" else - SPACK_COMPREPLY="push create install list keys preview check download get-buildcache-name save-specfile sync update-index rebuild-index" + SPACK_COMPREPLY="push create install list keys check download get-buildcache-name save-specfile sync update-index rebuild-index" fi } _spack_buildcache_push() { if $list_options then - SPACK_COMPREPLY="-h --help -f --force --allow-root -a --unsigned -u --signed --key -k --update-index --rebuild-index --spec-file --only --fail-fast --base-image --tag -t --private -j --jobs" + SPACK_COMPREPLY="-h --help -f --force --unsigned -u --signed --key -k --update-index --rebuild-index --spec-file --only --fail-fast --base-image --tag -t --private -j --jobs" else _mirrors fi @@ -580,7 +580,7 @@ _spack_buildcache_push() { _spack_buildcache_create() { if $list_options then - SPACK_COMPREPLY="-h --help -f --force --allow-root -a --unsigned -u --signed --key -k --update-index --rebuild-index --spec-file --only --fail-fast --base-image --tag -t --private -j --jobs" + SPACK_COMPREPLY="-h --help -f --force --unsigned -u --signed --key -k --update-index --rebuild-index --spec-file --only --fail-fast --base-image --tag -t --private -j --jobs" else _mirrors fi @@ -608,15 +608,6 @@ _spack_buildcache_keys() { SPACK_COMPREPLY="-h --help -i --install -t --trust -f --force" } -_spack_buildcache_preview() { - if $list_options - then - SPACK_COMPREPLY="-h --help" - else - _installed_packages - fi -} - _spack_buildcache_check() { if $list_options then @@ -1201,7 +1192,7 @@ _spack_fetch() { _spack_find() { if $list_options then - SPACK_COMPREPLY="-h --help --format -H --hashes --json -d --deps -p --paths --groups --no-groups -l --long -L --very-long -t --tag -N --namespaces -r --only-roots -c --show-concretized -f --show-flags --show-full-compiler -x --explicit -X --implicit -u --unknown -m --missing -v --variants --loaded -M --only-missing --deprecated --only-deprecated --install-tree --start-date --end-date" + SPACK_COMPREPLY="-h --help --format -H --hashes --json -I --install-status -d --deps -p --paths --groups --no-groups -l --long -L --very-long -t --tag -N --namespaces -r --only-roots -c --show-concretized -f --show-flags --show-full-compiler -x --explicit -X --implicit -u --unknown -m --missing -v --variants --loaded -M --only-missing --deprecated --only-deprecated --install-tree --start-date --end-date" else _installed_packages fi diff --git a/share/spack/spack-completion.fish b/share/spack/spack-completion.fish index 826be145defad2..a7f465f8b7231d 100755 --- a/share/spack/spack-completion.fish +++ b/share/spack/spack-completion.fish @@ -438,7 +438,7 @@ complete -c spack -n '__fish_spack_using_command ' -l color -r -d 'when to color complete -c spack -n '__fish_spack_using_command ' -s c -l config -r -f -a config_vars complete -c spack -n '__fish_spack_using_command ' -s c -l config -r -d 'add one or more custom, one off config settings' complete -c spack -n '__fish_spack_using_command ' -s C -l config-scope -r -f -a config_scopes -complete -c spack -n '__fish_spack_using_command ' -s C -l config-scope -r -d 'add a custom configuration scope' +complete -c spack -n '__fish_spack_using_command ' -s C -l config-scope -r -d 'add directory or environment as read-only configuration scope, without activating the environment.' complete -c spack -n '__fish_spack_using_command ' -s d -l debug -f -a debug complete -c spack -n '__fish_spack_using_command ' -s d -l debug -d 'write out debug messages' complete -c spack -n '__fish_spack_using_command ' -l timestamp -f -a timestamp @@ -688,7 +688,6 @@ complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a create complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a install -d 'install from a binary package' complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a list -d 'list binary packages available from mirrors' complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a keys -d 'get public keys available on mirrors' -complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a preview -d 'analyze an installed spec and reports whether executables and libraries are relocatable' complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a check -d 'check specs against remote binary mirror(s) to see if any need to be rebuilt' complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a download -d 'download buildcache entry from a remote mirror to local folder' complete -c spack -n '__fish_spack_using_command_pos 0 buildcache' -f -a get-buildcache-name -d 'get name (prefix) of buildcache entries for this spec' @@ -700,14 +699,12 @@ complete -c spack -n '__fish_spack_using_command buildcache' -s h -l help -f -a complete -c spack -n '__fish_spack_using_command buildcache' -s h -l help -d 'show this help message and exit' # spack buildcache push -set -g __fish_spack_optspecs_spack_buildcache_push h/help f/force a/allow-root u/unsigned signed k/key= update-index spec-file= only= fail-fast base-image= t/tag= private j/jobs= +set -g __fish_spack_optspecs_spack_buildcache_push h/help f/force u/unsigned signed k/key= update-index spec-file= only= fail-fast base-image= t/tag= private j/jobs= complete -c spack -n '__fish_spack_using_command_pos_remainder 1 buildcache push' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command buildcache push' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command buildcache push' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command buildcache push' -s f -l force -f -a force complete -c spack -n '__fish_spack_using_command buildcache push' -s f -l force -d 'overwrite tarball if it exists' -complete -c spack -n '__fish_spack_using_command buildcache push' -l allow-root -s a -f -a allow_root -complete -c spack -n '__fish_spack_using_command buildcache push' -l allow-root -s a -d 'allow install root string in binary files after RPATH substitution' complete -c spack -n '__fish_spack_using_command buildcache push' -l unsigned -s u -f -a signed complete -c spack -n '__fish_spack_using_command buildcache push' -l unsigned -s u -d 'push unsigned buildcache tarballs' complete -c spack -n '__fish_spack_using_command buildcache push' -l signed -f -a signed @@ -732,14 +729,12 @@ complete -c spack -n '__fish_spack_using_command buildcache push' -s j -l jobs - complete -c spack -n '__fish_spack_using_command buildcache push' -s j -l jobs -r -d 'explicitly set number of parallel jobs' # spack buildcache create -set -g __fish_spack_optspecs_spack_buildcache_create h/help f/force a/allow-root u/unsigned signed k/key= update-index spec-file= only= fail-fast base-image= t/tag= private j/jobs= +set -g __fish_spack_optspecs_spack_buildcache_create h/help f/force u/unsigned signed k/key= update-index spec-file= only= fail-fast base-image= t/tag= private j/jobs= complete -c spack -n '__fish_spack_using_command_pos_remainder 1 buildcache create' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command buildcache create' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command buildcache create' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command buildcache create' -s f -l force -f -a force complete -c spack -n '__fish_spack_using_command buildcache create' -s f -l force -d 'overwrite tarball if it exists' -complete -c spack -n '__fish_spack_using_command buildcache create' -l allow-root -s a -f -a allow_root -complete -c spack -n '__fish_spack_using_command buildcache create' -l allow-root -s a -d 'allow install root string in binary files after RPATH substitution' complete -c spack -n '__fish_spack_using_command buildcache create' -l unsigned -s u -f -a signed complete -c spack -n '__fish_spack_using_command buildcache create' -l unsigned -s u -d 'push unsigned buildcache tarballs' complete -c spack -n '__fish_spack_using_command buildcache create' -l signed -f -a signed @@ -804,12 +799,6 @@ complete -c spack -n '__fish_spack_using_command buildcache keys' -s t -l trust complete -c spack -n '__fish_spack_using_command buildcache keys' -s f -l force -f -a force complete -c spack -n '__fish_spack_using_command buildcache keys' -s f -l force -d 'force new download of keys' -# spack buildcache preview -set -g __fish_spack_optspecs_spack_buildcache_preview h/help -complete -c spack -n '__fish_spack_using_command_pos_remainder 0 buildcache preview' -f -a '(__fish_spack_installed_specs)' -complete -c spack -n '__fish_spack_using_command buildcache preview' -s h -l help -f -a help -complete -c spack -n '__fish_spack_using_command buildcache preview' -s h -l help -d 'show this help message and exit' - # spack buildcache check set -g __fish_spack_optspecs_spack_buildcache_check h/help m/mirror-url= o/output-file= scope= s/spec= spec-file= complete -c spack -n '__fish_spack_using_command_pos_remainder 0 buildcache check' -f -k -a '(__fish_spack_specs)' @@ -962,9 +951,9 @@ complete -c spack -n '__fish_spack_using_command ci generate' -l output-file -r complete -c spack -n '__fish_spack_using_command ci generate' -l copy-to -r -f -a copy_to complete -c spack -n '__fish_spack_using_command ci generate' -l copy-to -r -d 'path to additional directory for job files' complete -c spack -n '__fish_spack_using_command ci generate' -l optimize -f -a optimize -complete -c spack -n '__fish_spack_using_command ci generate' -l optimize -d '(experimental) optimize the gitlab yaml file for size' +complete -c spack -n '__fish_spack_using_command ci generate' -l optimize -d '(DEPRECATED) optimize the gitlab yaml file for size' complete -c spack -n '__fish_spack_using_command ci generate' -l dependencies -f -a dependencies -complete -c spack -n '__fish_spack_using_command ci generate' -l dependencies -d '(experimental) disable DAG scheduling (use \'plain\' dependencies)' +complete -c spack -n '__fish_spack_using_command ci generate' -l dependencies -d '(DEPRECATED) disable DAG scheduling (use \'plain\' dependencies)' complete -c spack -n '__fish_spack_using_command ci generate' -l buildcache-destination -r -f -a buildcache_destination complete -c spack -n '__fish_spack_using_command ci generate' -l buildcache-destination -r -d 'override the mirror configured in the environment' complete -c spack -n '__fish_spack_using_command ci generate' -l prune-dag -f -a prune_dag @@ -1461,7 +1450,7 @@ complete -c spack -n '__fish_spack_using_command docs' -s h -l help -d 'show thi # spack edit set -g __fish_spack_optspecs_spack_edit h/help b/build-system c/command d/docs t/test m/module r/repo= N/namespace= -complete -c spack -n '__fish_spack_using_command_pos 0 edit' -f -a '(__fish_spack_packages)' +complete -c spack -n '__fish_spack_using_command_pos_remainder 0 edit' -f -a '(__fish_spack_packages)' complete -c spack -n '__fish_spack_using_command edit' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command edit' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command edit' -s b -l build-system -f -a path @@ -1763,7 +1752,7 @@ complete -c spack -n '__fish_spack_using_command fetch' -l deprecated -f -a conf complete -c spack -n '__fish_spack_using_command fetch' -l deprecated -d 'allow concretizer to select deprecated versions' # spack find -set -g __fish_spack_optspecs_spack_find h/help format= H/hashes json d/deps p/paths groups no-groups l/long L/very-long t/tag= N/namespaces r/only-roots c/show-concretized f/show-flags show-full-compiler x/explicit X/implicit u/unknown m/missing v/variants loaded M/only-missing deprecated only-deprecated install-tree= start-date= end-date= +set -g __fish_spack_optspecs_spack_find h/help format= H/hashes json I/install-status d/deps p/paths groups no-groups l/long L/very-long t/tag= N/namespaces r/only-roots c/show-concretized f/show-flags show-full-compiler x/explicit X/implicit u/unknown m/missing v/variants loaded M/only-missing deprecated only-deprecated install-tree= start-date= end-date= complete -c spack -n '__fish_spack_using_command_pos_remainder 0 find' -f -a '(__fish_spack_installed_specs)' complete -c spack -n '__fish_spack_using_command find' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command find' -s h -l help -d 'show this help message and exit' @@ -1773,6 +1762,8 @@ complete -c spack -n '__fish_spack_using_command find' -s H -l hashes -f -a form complete -c spack -n '__fish_spack_using_command find' -s H -l hashes -d 'same as \'--format {/hash}\'; use with xargs or $()' complete -c spack -n '__fish_spack_using_command find' -l json -f -a json complete -c spack -n '__fish_spack_using_command find' -l json -d 'output specs as machine-readable json records' +complete -c spack -n '__fish_spack_using_command find' -s I -l install-status -f -a install_status +complete -c spack -n '__fish_spack_using_command find' -s I -l install-status -d 'show install status of packages' complete -c spack -n '__fish_spack_using_command find' -s d -l deps -f -a deps complete -c spack -n '__fish_spack_using_command find' -s d -l deps -d 'output dependencies along with found specs' complete -c spack -n '__fish_spack_using_command find' -s p -l paths -f -a paths diff --git a/share/spack/templates/container/Dockerfile b/share/spack/templates/container/Dockerfile index 2f7aae901ca0ba..35dc270a221579 100644 --- a/share/spack/templates/container/Dockerfile +++ b/share/spack/templates/container/Dockerfile @@ -4,7 +4,7 @@ {% endif %} {% if render_phase.build %} # Build stage with Spack pre-installed and ready to be used -FROM {{ build.image }} as builder +FROM {{ build.image }} AS builder {% block build_stage %} {% if os_packages_build %} diff --git a/share/spack/templates/container/bootstrap-base.dockerfile b/share/spack/templates/container/bootstrap-base.dockerfile index 38de6c88494ac2..a8310a982a4f3a 100644 --- a/share/spack/templates/container/bootstrap-base.dockerfile +++ b/share/spack/templates/container/bootstrap-base.dockerfile @@ -1,4 +1,4 @@ -FROM {{ bootstrap.image }} as bootstrap +FROM {{ bootstrap.image }} AS bootstrap {% block env_vars %} ENV SPACK_ROOT=/opt/spack \ diff --git a/share/spack/templates/container/centos_7.dockerfile b/share/spack/templates/container/centos_7.dockerfile deleted file mode 100644 index 2d99ecad91586a..00000000000000 --- a/share/spack/templates/container/centos_7.dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -{% extends "container/bootstrap-base.dockerfile" %} -{% block install_os_packages %} -RUN yum update -y \ - && yum install -y epel-release \ - && yum update -y \ - && yum --enablerepo epel groupinstall -y "Development Tools" \ - && yum --enablerepo epel install -y \ - curl \ - findutils \ - gcc-c++ \ - gcc \ - gcc-gfortran \ - git \ - gnupg2 \ - hostname \ - hg \ - iproute \ - make \ - patch \ - python3 \ - python3-pip \ - python3-setuptools \ - unzip \ - zstd \ - && pip3 install boto3 \ - && rm -rf /var/cache/yum \ - && yum clean all -{% endblock %} diff --git a/share/spack/templates/container/centos_stream.dockerfile b/share/spack/templates/container/centos_stream9.dockerfile similarity index 83% rename from share/spack/templates/container/centos_stream.dockerfile rename to share/spack/templates/container/centos_stream9.dockerfile index c11a658fc7d960..e62c64364f79d1 100644 --- a/share/spack/templates/container/centos_stream.dockerfile +++ b/share/spack/templates/container/centos_stream9.dockerfile @@ -1,14 +1,14 @@ {% extends "container/bootstrap-base.dockerfile" %} {% block install_os_packages %} RUN dnf update -y \ - # See https://fedoraproject.org/wiki/EPEL#Quickstart for powertools + # See https://fedoraproject.org/wiki/EPEL#Quickstart for crb && dnf install -y dnf-plugins-core \ - && dnf config-manager --set-enabled powertools \ + && dnf config-manager --set-enabled crb \ && dnf install -y epel-release \ && dnf update -y \ && dnf --enablerepo epel groupinstall -y "Development Tools" \ && dnf --enablerepo epel install -y \ - curl \ + curl-minimal \ findutils \ gcc-c++ \ gcc \ diff --git a/var/spack/repos/builtin.mock/packages/7zip/package.py b/var/spack/repos/builtin.mock/packages/7zip/package.py new file mode 100644 index 00000000000000..e052e02b93716b --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/7zip/package.py @@ -0,0 +1,14 @@ +# 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 _7zip(AutotoolsPackage): + """Simple package with a name starting with a digit""" + + homepage = "http://www.example.com" + url = "http://www.example.com/a-1.0.tar.gz" + + version("1.0", md5="0123456789abcdef0123456789abcdef") diff --git a/var/spack/repos/builtin.mock/packages/depb/package.py b/var/spack/repos/builtin.mock/packages/depb/package.py index 7022e3472b408e..82661560b4029d 100644 --- a/var/spack/repos/builtin.mock/packages/depb/package.py +++ b/var/spack/repos/builtin.mock/packages/depb/package.py @@ -14,7 +14,7 @@ class Depb(AutotoolsPackage): version("1.0", md5="0123456789abcdef0123456789abcdef") - depends_on("b") + depends_on("pkg-b") def install(self, spec, prefix): # sanity_check_prefix requires something in the install directory diff --git a/var/spack/repos/builtin.mock/packages/external-buildable-with-variant/package.py b/var/spack/repos/builtin.mock/packages/external-buildable-with-variant/package.py index 1ec1561a679c9a..28421bad1ad14b 100644 --- a/var/spack/repos/builtin.mock/packages/external-buildable-with-variant/package.py +++ b/var/spack/repos/builtin.mock/packages/external-buildable-with-variant/package.py @@ -15,4 +15,4 @@ class ExternalBuildableWithVariant(Package): variant("baz", default=False, description="nope") - depends_on("c@1.0", when="@0.9") + depends_on("pkg-c@1.0", when="@0.9") diff --git a/var/spack/repos/builtin.mock/packages/find-externals1/package.py b/var/spack/repos/builtin.mock/packages/find-externals1/package.py index 2a82fad9b552ae..07d16a8f221a67 100644 --- a/var/spack/repos/builtin.mock/packages/find-externals1/package.py +++ b/var/spack/repos/builtin.mock/packages/find-externals1/package.py @@ -16,6 +16,10 @@ class FindExternals1(AutotoolsPackage): version("1.0", md5="abcdef1234567890abcdef1234567890") + @classmethod + def determine_version(cls, exe): + return "1.0" + @classmethod def determine_spec_details(cls, prefix, exes_in_prefix): exe_to_path = dict((os.path.basename(p), p) for p in exes_in_prefix) diff --git a/var/spack/repos/builtin.mock/packages/git-ref-package/package.py b/var/spack/repos/builtin.mock/packages/git-ref-package/package.py new file mode 100644 index 00000000000000..21fe10e818a9fe --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/git-ref-package/package.py @@ -0,0 +1,41 @@ +# 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 GitRefPackage(AutotoolsPackage): + """ + dummy package copied from zlib-ng + """ + + homepage = "https://github.com/dummy/dummy" + url = "https://github.com/dummy/dummy/archive/2.0.0.tar.gz" + git = "https://github.com/dummy/dummy.git" + + version("2.1.6", sha256="a5d504c0d52e2e2721e7e7d86988dec2e290d723ced2307145dedd06aeb6fef2") + version("2.1.5", sha256="3f6576971397b379d4205ae5451ff5a68edf6c103b2f03c4188ed7075fbb5f04") + version("2.1.4", sha256="a0293475e6a44a3f6c045229fe50f69dc0eebc62a42405a51f19d46a5541e77a") + version( + "2.1.3", + sha256="d20e55f89d71991c59f1c5ad1ef944815e5850526c0d9cd8e504eaed5b24491a", + deprecated=True, + ) + version( + "2.1.2", + sha256="383560d6b00697c04e8878e26c0187b480971a8bce90ffd26a5a7b0f7ecf1a33", + deprecated=True, + ) + version("2.0.7", sha256="6c0853bb27738b811f2b4d4af095323c3d5ce36ceed6b50e5f773204fb8f7200") + version("2.0.0", sha256="86993903527d9b12fc543335c19c1d33a93797b3d4d37648b5addae83679ecd8") + + variant("compat", default=True, description="Enable compatibility API") + variant("opt", default=True, description="Enable optimizations") + variant("shared", default=True, description="Build shared library") + variant("pic", default=True, description="Enable position-independent code (PIC)") + + conflicts("+shared~pic") + + variant("new_strategies", default=True, description="Enable new deflate strategies") diff --git a/var/spack/repos/builtin.mock/packages/missing-dependency/package.py b/var/spack/repos/builtin.mock/packages/missing-dependency/package.py index 043ab7981366da..630e32927f3e9d 100644 --- a/var/spack/repos/builtin.mock/packages/missing-dependency/package.py +++ b/var/spack/repos/builtin.mock/packages/missing-dependency/package.py @@ -18,4 +18,4 @@ class MissingDependency(Package): depends_on("this-is-a-missing-dependency") # this one is a "real" mock dependency - depends_on("a") + depends_on("pkg-a") diff --git a/var/spack/repos/builtin.mock/packages/multivalue-variant/package.py b/var/spack/repos/builtin.mock/packages/multivalue-variant/package.py index 1921cfd810f32b..70ab8306a304ad 100644 --- a/var/spack/repos/builtin.mock/packages/multivalue-variant/package.py +++ b/var/spack/repos/builtin.mock/packages/multivalue-variant/package.py @@ -40,5 +40,5 @@ class MultivalueVariant(Package): depends_on("mpi") depends_on("callpath") - depends_on("a") - depends_on("a@1.0", when="fee=barbaz") + depends_on("pkg-a") + depends_on("pkg-a@1.0", when="fee=barbaz") diff --git a/var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py b/var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py index 48fa846fdde9fe..1e77b601f0706a 100644 --- a/var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py +++ b/var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py @@ -16,5 +16,5 @@ class OptionalDepTest3(Package): variant("var", default=False) - depends_on("a", when="~var") - depends_on("b", when="+var") + depends_on("pkg-a", when="~var") + depends_on("pkg-b", when="+var") diff --git a/var/spack/repos/builtin.mock/packages/optional-dep-test/package.py b/var/spack/repos/builtin.mock/packages/optional-dep-test/package.py index ae807650461ddd..b7f87f490f62b2 100644 --- a/var/spack/repos/builtin.mock/packages/optional-dep-test/package.py +++ b/var/spack/repos/builtin.mock/packages/optional-dep-test/package.py @@ -19,14 +19,14 @@ class OptionalDepTest(Package): variant("f", default=False) variant("mpi", default=False) - depends_on("a", when="+a") - depends_on("b", when="@1.1") - depends_on("c", when="%intel") - depends_on("d", when="%intel@64.1") - depends_on("e", when="%clang@34:40") - - depends_on("f", when="+f") - depends_on("g", when="^f") - depends_on("mpi", when="^g") + depends_on("pkg-a", when="+a") + depends_on("pkg-b", when="@1.1") + depends_on("pkg-c", when="%intel") + depends_on("pkg-d", when="%intel@64.1") + depends_on("pkg-e", when="%clang@34:40") + + depends_on("pkg-f", when="+f") + depends_on("pkg-g", when="^pkg-f") + depends_on("mpi", when="^pkg-g") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin.mock/packages/a/package.py b/var/spack/repos/builtin.mock/packages/pkg-a/package.py similarity index 95% rename from var/spack/repos/builtin.mock/packages/a/package.py rename to var/spack/repos/builtin.mock/packages/pkg-a/package.py index 3cc214461074c5..d1ecba835dfc20 100644 --- a/var/spack/repos/builtin.mock/packages/a/package.py +++ b/var/spack/repos/builtin.mock/packages/pkg-a/package.py @@ -6,7 +6,7 @@ from spack.package import * -class A(AutotoolsPackage): +class PkgA(AutotoolsPackage): """Simple package with one optional dependency""" homepage = "http://www.example.com" @@ -25,7 +25,7 @@ class A(AutotoolsPackage): variant("bvv", default=True, description="The good old BV variant") - depends_on("b", when="foobar=bar") + depends_on("pkg-b", when="foobar=bar") depends_on("test-dependency", type="test") parallel = False diff --git a/var/spack/repos/builtin.mock/packages/b/package.py b/var/spack/repos/builtin.mock/packages/pkg-b/package.py similarity index 96% rename from var/spack/repos/builtin.mock/packages/b/package.py rename to var/spack/repos/builtin.mock/packages/pkg-b/package.py index f5d212d3d439ed..bc20950ebc528b 100644 --- a/var/spack/repos/builtin.mock/packages/b/package.py +++ b/var/spack/repos/builtin.mock/packages/pkg-b/package.py @@ -6,7 +6,7 @@ from spack.package import * -class B(Package): +class PkgB(Package): """Simple package with no dependencies""" homepage = "http://www.example.com" diff --git a/var/spack/repos/builtin.mock/packages/c/package.py b/var/spack/repos/builtin.mock/packages/pkg-c/package.py similarity index 95% rename from var/spack/repos/builtin.mock/packages/c/package.py rename to var/spack/repos/builtin.mock/packages/pkg-c/package.py index 2e066242af60e5..2c76f1ea5184c7 100644 --- a/var/spack/repos/builtin.mock/packages/c/package.py +++ b/var/spack/repos/builtin.mock/packages/pkg-c/package.py @@ -6,7 +6,7 @@ from spack.package import * -class C(Package): +class PkgC(Package): """Simple package with no dependencies""" homepage = "http://www.example.com" diff --git a/var/spack/repos/builtin.mock/packages/e/package.py b/var/spack/repos/builtin.mock/packages/pkg-e/package.py similarity index 95% rename from var/spack/repos/builtin.mock/packages/e/package.py rename to var/spack/repos/builtin.mock/packages/pkg-e/package.py index eb0fb0e2ce8a98..d49de9e6fbe075 100644 --- a/var/spack/repos/builtin.mock/packages/e/package.py +++ b/var/spack/repos/builtin.mock/packages/pkg-e/package.py @@ -6,7 +6,7 @@ from spack.package import * -class E(Package): +class PkgE(Package): """Simple package with no dependencies""" homepage = "http://www.example.com" diff --git a/var/spack/repos/builtin.mock/packages/test-dep-with-imposed-conditions/package.py b/var/spack/repos/builtin.mock/packages/test-dep-with-imposed-conditions/package.py index bcea98c52920ef..a34e504bab59ed 100644 --- a/var/spack/repos/builtin.mock/packages/test-dep-with-imposed-conditions/package.py +++ b/var/spack/repos/builtin.mock/packages/test-dep-with-imposed-conditions/package.py @@ -14,4 +14,4 @@ class TestDepWithImposedConditions(Package): version("1.0", md5="0123456789abcdef0123456789abcdef") - depends_on("c@1.0", type="test") + depends_on("pkg-c@1.0", type="test") diff --git a/var/spack/repos/builtin.mock/packages/url-list-test/package.py b/var/spack/repos/builtin.mock/packages/url-list-test/package.py index 0beae47abcb0ca..416451293fab83 100644 --- a/var/spack/repos/builtin.mock/packages/url-list-test/package.py +++ b/var/spack/repos/builtin.mock/packages/url-list-test/package.py @@ -5,6 +5,7 @@ import spack.paths from spack.package import * +from spack.util.url import path_to_file_url class UrlListTest(Package): @@ -13,8 +14,8 @@ class UrlListTest(Package): homepage = "http://www.url-list-example.com" web_data_path = join_path(spack.paths.test_path, "data", "web") - url = "file://" + web_data_path + "/foo-0.0.0.tar.gz" - list_url = "file://" + web_data_path + "/index.html" + url = path_to_file_url(join_path(spack.paths.test_path, "data", "web") + "/foo-0.0.0.tar.gz") + list_url = path_to_file_url(join_path(spack.paths.test_path, "data", "web") + "/index.html") list_depth = 3 version("0.0.0", md5="00000000000000000000000000000000") diff --git a/var/spack/repos/builtin.mock/packages/vendorsb/package.py b/var/spack/repos/builtin.mock/packages/vendorsb/package.py index ebf9c92e5590eb..4ad440a10ed921 100644 --- a/var/spack/repos/builtin.mock/packages/vendorsb/package.py +++ b/var/spack/repos/builtin.mock/packages/vendorsb/package.py @@ -15,5 +15,5 @@ class Vendorsb(Package): version("1.1", md5="0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef") - # b is not a dependency - conflicts("b", when="@=1.1") + # pkg-b is not a dependency + conflicts("pkg-b", when="@=1.1") diff --git a/var/spack/repos/builtin.mock/packages/when-directives-false/package.py b/var/spack/repos/builtin.mock/packages/when-directives-false/package.py index d29d9d83a7b605..5f094b3da91013 100644 --- a/var/spack/repos/builtin.mock/packages/when-directives-false/package.py +++ b/var/spack/repos/builtin.mock/packages/when-directives-false/package.py @@ -20,7 +20,7 @@ class WhenDirectivesFalse(Package): when=False, ) extends("extendee", when=False) - depends_on("b", when=False) + depends_on("pkg-b", when=False) conflicts("@1.0", when=False) resource( url="http://www.example.com/example-1.0-resource.tar.gz", diff --git a/var/spack/repos/builtin.mock/packages/when-directives-true/package.py b/var/spack/repos/builtin.mock/packages/when-directives-true/package.py index 3681b02687ef57..83119b912466a4 100644 --- a/var/spack/repos/builtin.mock/packages/when-directives-true/package.py +++ b/var/spack/repos/builtin.mock/packages/when-directives-true/package.py @@ -20,7 +20,7 @@ class WhenDirectivesTrue(Package): when=True, ) extends("extendee", when=True) - depends_on("b", when=True) + depends_on("pkg-b", when=True) conflicts("@1.0", when=True) resource( url="http://www.example.com/example-1.0-resource.tar.gz", diff --git a/var/spack/repos/builtin.mock/packages/with-constraint-met/package.py b/var/spack/repos/builtin.mock/packages/with-constraint-met/package.py index a4f6e916bb2dbd..e300a0fd366d67 100644 --- a/var/spack/repos/builtin.mock/packages/with-constraint-met/package.py +++ b/var/spack/repos/builtin.mock/packages/with-constraint-met/package.py @@ -16,8 +16,8 @@ class WithConstraintMet(Package): version("1.0", md5="0123456789abcdef0123456789abcdef") with when("@1.0"): - depends_on("b") + depends_on("pkg-b") conflicts("%gcc", when="+foo") - with when("@0.14: ^b@:4.0"): - depends_on("c", when="@:15 ^b@3.8:") + with when("@0.14: ^pkg-b@:4.0"): + depends_on("pkg-c", when="@:15 ^pkg-b@3.8:") diff --git a/var/spack/repos/builtin.mock/packages/wrong-variant-in-depends-on/package.py b/var/spack/repos/builtin.mock/packages/wrong-variant-in-depends-on/package.py index cef5aafe472b5f..98fb4a95c087b4 100644 --- a/var/spack/repos/builtin.mock/packages/wrong-variant-in-depends-on/package.py +++ b/var/spack/repos/builtin.mock/packages/wrong-variant-in-depends-on/package.py @@ -13,4 +13,4 @@ class WrongVariantInDependsOn(Package): version("1.0", md5="0123456789abcdef0123456789abcdef") - depends_on("b+doesnotexist") + depends_on("pkg-b+doesnotexist") diff --git a/var/spack/repos/builtin/packages/3proxy/package.py b/var/spack/repos/builtin/packages/3proxy/package.py index ed6f19609493f1..a8750657715c31 100644 --- a/var/spack/repos/builtin/packages/3proxy/package.py +++ b/var/spack/repos/builtin/packages/3proxy/package.py @@ -18,6 +18,8 @@ class _3proxy(MakefilePackage): version("0.8.12", sha256="c2ad3798b4f0df06cfcc7b49f658304e451d60e4834e2705ef83ddb85a03f849") version("0.8.11", sha256="fc4295e1a462baa61977fcc21747db7861c4e3d0dcca86cbaa3e06017e5c66c9") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/7zip/package.py b/var/spack/repos/builtin/packages/7zip/package.py index e3e1f7957cd0b7..089e8f54e6ce22 100644 --- a/var/spack/repos/builtin/packages/7zip/package.py +++ b/var/spack/repos/builtin/packages/7zip/package.py @@ -25,6 +25,9 @@ class _7zip(SourceforgePackage, Package): version("21.07", sha256="213d594407cb8efcba36610b152ca4921eda14163310b43903d13e68313e1e39") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "link_type", default="shared", diff --git a/var/spack/repos/builtin/packages/abacus/package.py b/var/spack/repos/builtin/packages/abacus/package.py index 68cfbfea75ff49..7ba2ee206ab2c0 100644 --- a/var/spack/repos/builtin/packages/abacus/package.py +++ b/var/spack/repos/builtin/packages/abacus/package.py @@ -29,6 +29,9 @@ class Abacus(MakefilePackage): version("2.2.1", sha256="14feca1d8d1ce025d3f263b85ebfbebc1a1efff704b6490e95b07603c55c1d63") version("2.2.0", sha256="09d4a2508d903121d29813a85791eeb3a905acbe1c5664b8a88903f8eda64b8f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("openmp", default=True, description="Enable OpenMP support") depends_on("elpa+openmp", when="+openmp") diff --git a/var/spack/repos/builtin/packages/abduco/package.py b/var/spack/repos/builtin/packages/abduco/package.py index 21a075e0f513e8..dc4a1b9c3b1316 100644 --- a/var/spack/repos/builtin/packages/abduco/package.py +++ b/var/spack/repos/builtin/packages/abduco/package.py @@ -22,5 +22,7 @@ class Abduco(MakefilePackage): version("0.5", sha256="bf22226a4488355a7001a5dabbd1e8e3b7e7645efd1519274b956fcb8bcff086") version("0.4", sha256="bda3729df116ce41f9a087188d71d934da2693ffb1ebcf33b803055eb478bcbb") + depends_on("c", type="build") # generated + def install(self, spec, prefix): make(f"PREFIX={prefix}", "install") diff --git a/var/spack/repos/builtin/packages/abinit/package.py b/var/spack/repos/builtin/packages/abinit/package.py index 1c783952e3877a..67abe078f6d280 100644 --- a/var/spack/repos/builtin/packages/abinit/package.py +++ b/var/spack/repos/builtin/packages/abinit/package.py @@ -25,11 +25,11 @@ class Abinit(AutotoolsPackage): """ homepage = "https://www.abinit.org/" - url = "https://www.abinit.org/sites/default/files/packages/abinit-8.6.3.tar.gz" - + url = "https://www.abinit.org/sites/default/files/packages/abinit-10.0.7.tar.gz" license("Apache-2.0") maintainers("downloadico") + version("10.0.7", sha256="a9fc044b33861b7defd50fafd19a73eb6f225e18ae30b23bc731d9c8009c881c") version("9.10.5", sha256="a9e0f0e058baa6088ea93d26ada369ccf0fe52dc9d4a865b1c38c20620148cd5") version("9.10.3", sha256="3f2a9aebbf1fee9855a09dd687f88d2317b8b8e04f97b2628ab96fb898dce49b") version("9.8.4", sha256="a086d5045f0093b432e6a044d5f71f7edf5a41a62d67b3677cb0751d330c564a") @@ -44,6 +44,10 @@ class Abinit(AutotoolsPackage): # Versions before 8.0.8b are not supported. version("8.0.8b", sha256="37ad5f0f215d2a36e596383cb6e54de3313842a0390ce8d6b48a423d3ee25af2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Builds with MPI support. Requires MPI2+") variant("openmp", default=False, description="Enables OpenMP threads. Use threaded FFTW3") variant("scalapack", default=False, description="Enables scalapack support. Requires MPI") @@ -127,7 +131,7 @@ class Abinit(AutotoolsPackage): ) patch("rm_march_settings.patch", when="@:8") - patch("rm_march_settings_v9.patch", when="@9:") + patch("rm_march_settings_v9.patch", when="@9") # Fix detection of Fujitsu compiler # Fix configure not to collect the option that causes an error @@ -317,6 +321,16 @@ def check(self): if "~mpi" in self.spec: make("tests_in") + # Abinit assumes the *old* behavior of HDF5 where the library flags to link + # to the library were stored in the lib/libhdf5.settings file. + # Spack already knows how to link to HDF5, disable this check in configure + def patch(self): + filter_file( + r"sd_hdf5_libs_extra=.*", + "sd_hdf5_libs_extra=%s" % self.spec["hdf5"].libs.ld_flags, + "configure", + ) + def install(self, spec, prefix): make("install") if "+install-tests" in spec: diff --git a/var/spack/repos/builtin/packages/abseil-cpp/package.py b/var/spack/repos/builtin/packages/abseil-cpp/package.py index e102c8d2aac8d6..aee27434ac93e2 100644 --- a/var/spack/repos/builtin/packages/abseil-cpp/package.py +++ b/var/spack/repos/builtin/packages/abseil-cpp/package.py @@ -69,6 +69,15 @@ class AbseilCpp(CMakePackage): version("20181200", sha256="e2b53bfb685f5d4130b84c4f3050c81bf48c497614dc85d91dbd3ed9129bce6d") version("20180600", sha256="794d483dd9a19c43dc1fbbe284ce8956eb7f2600ef350dac4c602f9b4eb26e90") + depends_on("cxx", type="build") # generated + + # Avoid export of testonly target absl::test_allocator in CMake builds + patch( + "https://github.com/abseil/abseil-cpp/commit/779a3565ac6c5b69dd1ab9183e500a27633117d5.patch?full_index=1", + sha256="14ad7abbc20b10d57e00d0940e8338f69fd69f58d8285214848998e8687688cc", + when="@20240116", + ) + variant("shared", default=True, description="Build shared instead of static libraries") conflicts("+shared", when="@:20190808") diff --git a/var/spack/repos/builtin/packages/abyss/package.py b/var/spack/repos/builtin/packages/abyss/package.py index 1e7f8d185e96a8..5d52353b10e7c1 100644 --- a/var/spack/repos/builtin/packages/abyss/package.py +++ b/var/spack/repos/builtin/packages/abyss/package.py @@ -36,6 +36,9 @@ class Abyss(AutotoolsPackage): version("2.0.2", sha256="d87b76edeac3a6fb48f24a1d63f243d8278a324c9a5eb29027b640f7089422df") version("1.5.2", sha256="8a52387f963afb7b63db4c9b81c053ed83956ea0a3981edcad554a895adf84b1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "maxk", default=128, values=is_multiple_32, description="set the maximum k-mer length." ) diff --git a/var/spack/repos/builtin/packages/accfft/package.py b/var/spack/repos/builtin/packages/accfft/package.py index d3a4b91c035239..b38e074119b3d4 100644 --- a/var/spack/repos/builtin/packages/accfft/package.py +++ b/var/spack/repos/builtin/packages/accfft/package.py @@ -18,6 +18,8 @@ class Accfft(CMakePackage, CudaPackage): version("develop", branch="master") + depends_on("cxx", type="build") # generated + variant("pnetcdf", default=True, description="Add support for parallel NetCDF") variant("shared", default=True, description="Enables the build of shared libraries") diff --git a/var/spack/repos/builtin/packages/acct/package.py b/var/spack/repos/builtin/packages/acct/package.py index 2f0181bd085114..906f9b34f30cdf 100644 --- a/var/spack/repos/builtin/packages/acct/package.py +++ b/var/spack/repos/builtin/packages/acct/package.py @@ -18,6 +18,9 @@ class Acct(AutotoolsPackage): version("6.6.3", sha256="5eae79323bf1ce403704d2b70483c46e7c853276ee7b5ad561ec3ccae9fca093") version("6.6.2", sha256="8ed47b2f893b08f0d67720880adbb48b835a826c314fa52fd52af1cee6870101") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def setup_run_environment(self, env): env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/accumulo/package.py b/var/spack/repos/builtin/packages/accumulo/package.py index dea471e673d70c..6b1a915271d95e 100644 --- a/var/spack/repos/builtin/packages/accumulo/package.py +++ b/var/spack/repos/builtin/packages/accumulo/package.py @@ -21,5 +21,8 @@ class Accumulo(MavenPackage): version("1.9.3", sha256="d9548d5b9cf9f494f027f0fe59d5d6d45d09064359d7761cade62991ce2a5d0c") version("1.9.2", sha256="11ab028143ad6313cd5fc701b36b4c35e46a4a3fa2ce663869860b9f6bf5ee4d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("java@8:", type=("build", "run")) depends_on("maven@3.5.0:", type="build") diff --git a/var/spack/repos/builtin/packages/ace/package.py b/var/spack/repos/builtin/packages/ace/package.py index 03b8d78bf1d275..89a2158420fdc9 100644 --- a/var/spack/repos/builtin/packages/ace/package.py +++ b/var/spack/repos/builtin/packages/ace/package.py @@ -26,6 +26,9 @@ class Ace(MakefilePackage): version("6.5.1", sha256="1f318adadb19da23c9be570a9c600a330056b18950fe0bf0eb1cf5cac8b72a32") version("6.5.0", sha256="b6f9ec922fbdcecb4348e16d851d0d1f135df1836dfe77d2e0b64295ddb83066") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def edit(self, spec, prefix): # Dictionary mapping: compiler-name : ACE config-label supported = {"intel": "_icc", "gcc": ""} diff --git a/var/spack/repos/builtin/packages/acfl/package.py b/var/spack/repos/builtin/packages/acfl/package.py index 5b9e9053212713..42a750da51eaf1 100644 --- a/var/spack/repos/builtin/packages/acfl/package.py +++ b/var/spack/repos/builtin/packages/acfl/package.py @@ -378,7 +378,10 @@ def libs(self): def headers(self): armpl_dir = get_armpl_prefix(self.spec) - suffix = "include" + self.lib_suffix + if self.spec.satisfies("@24:"): + suffix = "include" + else: + suffix = "include" + self.lib_suffix incdir = join_path(armpl_dir, suffix) diff --git a/var/spack/repos/builtin/packages/acl/package.py b/var/spack/repos/builtin/packages/acl/package.py index ba30afbf22548a..c15e07a0c00e24 100644 --- a/var/spack/repos/builtin/packages/acl/package.py +++ b/var/spack/repos/builtin/packages/acl/package.py @@ -21,6 +21,8 @@ class Acl(AutotoolsPackage): version("2.2.49", sha256="c6e01460cac4e47673dd60a7f57b970b49f6998bb564eff141cca129aa8940d1") version("2.2.48", sha256="877eaeccc1500baec58391935b46ac7dfc5ffd8c54fbc0385ccd8b2b18ac3fa6") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/acpica-tools/package.py b/var/spack/repos/builtin/packages/acpica-tools/package.py index 5c0dc148470de1..090ccd70e111bd 100644 --- a/var/spack/repos/builtin/packages/acpica-tools/package.py +++ b/var/spack/repos/builtin/packages/acpica-tools/package.py @@ -15,6 +15,8 @@ class AcpicaTools(MakefilePackage): version("20200528", sha256="07cd3e370b695ab787d25a7165e37eb7b150dca7908f047a6a6486d216cf05a8") version("20200430", sha256="e3118583bf6e4bb4745d642a863cce1b4fcfdf67558e4ae53df367b7e26b89ac") + depends_on("c", type="build") # generated + depends_on("flex", type="build") depends_on("bison", type="build") diff --git a/var/spack/repos/builtin/packages/acpid/package.py b/var/spack/repos/builtin/packages/acpid/package.py index 00af2a543ee051..3e224a39c623f6 100644 --- a/var/spack/repos/builtin/packages/acpid/package.py +++ b/var/spack/repos/builtin/packages/acpid/package.py @@ -24,6 +24,8 @@ class Acpid(AutotoolsPackage): version("2.0.25", sha256="947d2e4f9b2d61a728ce5d6139901f1b666dcef5e2a48833cb33d82895e261cf") version("2.0.24", sha256="05903901369c4ebea1d24e445b4a1d516dd3b07e7864cc752a2d09b4147e1985") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/activemq/package.py b/var/spack/repos/builtin/packages/activemq/package.py index 7b1add648ad08c..c003cfae517b86 100644 --- a/var/spack/repos/builtin/packages/activemq/package.py +++ b/var/spack/repos/builtin/packages/activemq/package.py @@ -26,6 +26,8 @@ class Activemq(Package): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("java") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/acts-algebra-plugins/package.py b/var/spack/repos/builtin/packages/acts-algebra-plugins/package.py new file mode 100644 index 00000000000000..0e12d5e25cefcf --- /dev/null +++ b/var/spack/repos/builtin/packages/acts-algebra-plugins/package.py @@ -0,0 +1,68 @@ +# 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 ActsAlgebraPlugins(CMakePackage): + """A portable linear algebra library with multiple backends that is part of + the Acts ecosystem.""" + + homepage = "https://github.com/acts-project/algebra-plugins" + url = "https://github.com/acts-project/algebra-plugins/archive/refs/tags/v0.24.0.tar.gz" + + maintainers("stephenswat", "wdconinc") + + license("MPL-2.0", checked_by="stephenswat") + + version("0.24.0", sha256="f44753e62b1ba29c28ab86b282ab67ac6028a0f9fe41e599b7fc6fc50b586b62") + + depends_on("cxx", type="build") # generated + + variant( + "cxxstd", + default="17", + values=("17", "20", "23"), + multi=False, + description="C++ standard used", + ) + variant("eigen", default=False, description="Enables the Eigen plugin") + variant("smatrix", default=False, description="Enables the SMatrix plugin") + variant("vecmem", default=False, description="Enables the vecmem plugin") + variant("vc", default=False, description="Enables the Vc plugin") + variant("fastor", default=False, description="Enables the Fastor plugin") + + depends_on("cmake@3.14:", type="build") + depends_on("vecmem@1.5.0:", when="+vecmem") + depends_on("eigen@3.4.0:", when="+eigen") + depends_on("vc@1.4.3:", when="+vc") + depends_on("root@6.18.0:", when="+smatrix") + depends_on("fastor@0.6.4:", when="+fastor") + + with when("+smatrix"): + depends_on("root cxxstd=17", when="cxxstd=17") + depends_on("root cxxstd=20", when="cxxstd=20") + conflicts("cxxstd=23") + + def cmake_args(self): + args = [ + self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"), + self.define("ALGEBRA_PLUGINS_USE_SYSTEM_LIBS", True), + self.define_from_variant("ALGEBRA_PLUGINS_INCLUDE_EIGEN", "eigen"), + self.define_from_variant("ALGEBRA_PLUGINS_SETUP_EIGEN3", "eigen"), + self.define_from_variant("ALGEBRA_PLUGINS_INCLUDE_SMATRIX", "smatrix"), + self.define_from_variant("ALGEBRA_PLUGINS_INCLUDE_VC", "vc"), + self.define_from_variant("ALGEBRA_PLUGINS_SETUP_VC", "vc"), + self.define_from_variant("ALGEBRA_PLUGINS_INCLUDE_VECMEM", "vecmem"), + self.define_from_variant("ALGEBRA_PLUGINS_SETUP_VECMEM", "vecmem"), + self.define_from_variant("ALGEBRA_PLUGINS_INCLUDE_FASTOR", "fastor"), + self.define_from_variant("ALGEBRA_PLUGINS_SETUP_FASTOR", "fastor"), + self.define("ALGEBRA_PLUGINS_BUILD_TESTING", False), + self.define("ALGEBRA_PLUGINS_SETUP_GOOGLETEST", False), + self.define("ALGEBRA_PLUGINS_SETUP_BENCHMARK", False), + self.define("ALGEBRA_PLUGINS_BUILD_BENCHMARKS", False), + ] + + return args diff --git a/var/spack/repos/builtin/packages/acts-dd4hep/package.py b/var/spack/repos/builtin/packages/acts-dd4hep/package.py index 5aa29c7c20c0b1..173a9f283e7b8e 100644 --- a/var/spack/repos/builtin/packages/acts-dd4hep/package.py +++ b/var/spack/repos/builtin/packages/acts-dd4hep/package.py @@ -12,9 +12,11 @@ class ActsDd4hep(CMakePackage): homepage = "https://github.com/acts-project/acts-dd4hep" url = "https://github.com/acts-project/acts-dd4hep/archive/refs/tags/v1.0.0.tar.gz" - maintainers("HadrienG2", "wdconinc") + maintainers("wdconinc") version("1.0.1", sha256="e40f34ebc30b3c33a6802c9d94136e65072d8dcee0b7db57a645f08a64ea5334") version("1.0.0", sha256="991f996944c88efa837880f919239e50d12c5c9361e220bc9422438dd608308c") + depends_on("cxx", type="build") # generated + depends_on("dd4hep@1.11: +dddetectors") diff --git a/var/spack/repos/builtin/packages/acts/package.py b/var/spack/repos/builtin/packages/acts/package.py index b09ee3c5d3cc5b..735b4b8736fc67 100644 --- a/var/spack/repos/builtin/packages/acts/package.py +++ b/var/spack/repos/builtin/packages/acts/package.py @@ -33,7 +33,7 @@ class Acts(CMakePackage, CudaPackage): homepage = "https://acts.web.cern.ch/ACTS/" git = "https://github.com/acts-project/acts.git" list_url = "https://github.com/acts-project/acts/releases/" - maintainers("HadrienG2") + maintainers("wdconinc") tags = ["hep"] @@ -42,6 +42,8 @@ class Acts(CMakePackage, CudaPackage): # Supported Acts versions version("main", branch="main") version("master", branch="main", deprecated=True) # For compatibility + version("35.2.0", commit="b3b09f46d064c43050dd3d21cdf51d7a412134fc", submodules=True) + version("35.1.0", commit="9dfb47b8edeb8b9c75115462079bcb003dd3f031", submodules=True) version("35.0.0", commit="352b423ec31934f825deb9897780246d60ffc44e", submodules=True) version("34.1.0", commit="8e1b7a659d912cd98db9d700906ff59e708da574", submodules=True) version("34.0.0", commit="daafd83adf0ce50f9667f3c9d4791a459e39fd1b", submodules=True) @@ -178,6 +180,8 @@ class Acts(CMakePackage, CudaPackage): version("0.08.1", commit="289bdcc320f0b3ff1d792e29e462ec2d3ea15df6") version("0.08.0", commit="99eedb38f305e3a1cd99d9b4473241b7cd641fa9") + depends_on("cxx", type="build") # generated + # Variants that affect the core Acts library variant( "benchmarks", default=False, description="Build the performance benchmarks", when="@0.16:" diff --git a/var/spack/repos/builtin/packages/actsvg/package.py b/var/spack/repos/builtin/packages/actsvg/package.py index 75e1fa85204ddc..f0e8bc66cdf783 100644 --- a/var/spack/repos/builtin/packages/actsvg/package.py +++ b/var/spack/repos/builtin/packages/actsvg/package.py @@ -16,10 +16,13 @@ class Actsvg(CMakePackage): list_url = "https://github.com/acts-project/actsvg/tags" git = "https://github.com/acts-project/actsvg.git" - maintainers("HadrienG2", "wdconinc") + maintainers("wdconinc", "stephenswat") license("MPL-2.0") + version("0.4.44", sha256="6eda7306b8b863e1860e090f328ac6e7982dc2d3b3d674db2799c13007ffd07f") + version("0.4.43", sha256="e2aef32185db37cfdc023282b25c003e63dc974a11118ab2040bd30b2d346147") + version("0.4.42", sha256="a8439d50b469ccc4428973507db1adf56aa68b34900ce0c6077ddb92a133a4f2") version("0.4.41", sha256="c675795e74efcf42c3015d6efc8d7a1848b677f1d4efe6dcaa4fb490b46268ff") version("0.4.40", sha256="e24f51e70cff57c74d3b5f51c08f6ea1f409ef85ef7b4bad4a29520ecda032a6") version("0.4.39", sha256="2d9605ecf8c9975d600cafb6d076969d77c634fa92844bd9586c38066da31739") diff --git a/var/spack/repos/builtin/packages/additivefoam/package.py b/var/spack/repos/builtin/packages/additivefoam/package.py index 7e7d3735ef6b43..3fed737361fb82 100644 --- a/var/spack/repos/builtin/packages/additivefoam/package.py +++ b/var/spack/repos/builtin/packages/additivefoam/package.py @@ -25,6 +25,8 @@ class Additivefoam(Package): version("main", branch="main") version("1.0.0", sha256="abbdf1b0230cd2f26f526be76e973f508978611f404fe8ec4ecdd7d5df88724c") + depends_on("cxx", type="build") # generated + depends_on("openfoam-org@10") common = ["spack-derived-Allwmake"] diff --git a/var/spack/repos/builtin/packages/addrwatch/package.py b/var/spack/repos/builtin/packages/addrwatch/package.py index e04575b2e2a4f7..1db0d0af4aac49 100644 --- a/var/spack/repos/builtin/packages/addrwatch/package.py +++ b/var/spack/repos/builtin/packages/addrwatch/package.py @@ -18,5 +18,7 @@ class Addrwatch(AutotoolsPackage): version("1.0.2", sha256="f04e143da881cd63c299125b592cfb85e4812abbd146f419a1894c00f2ae6208") version("1.0.1", sha256="f772b62b1c6570b577473e7c98614dad1124352b377324cbebb36360d8f4ce5a") + depends_on("c", type="build") # generated + depends_on("libevent") depends_on("libpcap") diff --git a/var/spack/repos/builtin/packages/adept-utils/package.py b/var/spack/repos/builtin/packages/adept-utils/package.py index 5a542e3ab81d73..921b09076b517b 100644 --- a/var/spack/repos/builtin/packages/adept-utils/package.py +++ b/var/spack/repos/builtin/packages/adept-utils/package.py @@ -15,6 +15,9 @@ class AdeptUtils(CMakePackage): version("1.0.1", sha256="259f777aeb368ede3583d3617bb779f0fde778319bf2122fdd216bdf223c015e") version("1.0", sha256="fed29366c9bcf5f3799220ae3b351d2cb338e2aa42133d61584ea650aa8d6ff7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost@:1.72.0") depends_on("mpi") depends_on("cmake@2.8:", type="build") diff --git a/var/spack/repos/builtin/packages/adiak/package.py b/var/spack/repos/builtin/packages/adiak/package.py index c9640c586e6e95..e1ad9344c17153 100644 --- a/var/spack/repos/builtin/packages/adiak/package.py +++ b/var/spack/repos/builtin/packages/adiak/package.py @@ -34,6 +34,10 @@ class Adiak(CMakePackage): version("0.2.1", commit="950e3bfb91519ecb7b7ee7fa3063bfab23c0e2c9", submodules=True) version("0.1.1", sha256="438e4652e15e206cd0019423d829fd4f2329323ff0c8861d9586bae051d9624b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi", when="+mpi") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/adios/package.py b/var/spack/repos/builtin/packages/adios/package.py index 3b5e3bcbe19072..88536258c713ad 100644 --- a/var/spack/repos/builtin/packages/adios/package.py +++ b/var/spack/repos/builtin/packages/adios/package.py @@ -28,6 +28,10 @@ class Adios(AutotoolsPackage): version("1.10.0", sha256="6713069259ee7bfd4d03f47640bf841874e9114bab24e7b0c58e310c42a0ec48") version("1.9.0", sha256="23b2bb70540d51ab0855af0b205ca484fd1bd963c39580c29e3133f9e6fffd46") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Builds a shared version of the library") variant("fortran", default=False, description="Enable Fortran bindings support") diff --git a/var/spack/repos/builtin/packages/adios2/2.10-enable-rocm6.patch b/var/spack/repos/builtin/packages/adios2/2.10-enable-rocm6.patch new file mode 100644 index 00000000000000..abd69a9d99f7e2 --- /dev/null +++ b/var/spack/repos/builtin/packages/adios2/2.10-enable-rocm6.patch @@ -0,0 +1,28 @@ +From c718e99a9e226b7327ab41396823873999206e38 Mon Sep 17 00:00:00 2001 +From: Vicente Adolfo Bolea Sanchez +Date: Thu, 27 Jun 2024 18:25:58 -0400 +Subject: [PATCH] kokkos: support ROCM >=6 + +--- + source/adios2/helper/kokkos/adiosKokkos.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/source/adios2/helper/kokkos/adiosKokkos.cpp b/source/adios2/helper/kokkos/adiosKokkos.cpp +index e0599944e..d2619f0d4 100644 +--- a/source/adios2/helper/kokkos/adiosKokkos.cpp ++++ b/source/adios2/helper/kokkos/adiosKokkos.cpp +@@ -85,7 +85,11 @@ bool IsGPUbuffer(const void *ptr) + hipError_t ret; + hipPointerAttribute_t attr; + ret = hipPointerGetAttributes(&attr, ptr); ++#if defined(ROCM_VERSION_MAJOR) && ROCM_VERSION_MAJOR < 6 + if (ret == hipSuccess && attr.memoryType == hipMemoryTypeDevice) ++#else ++ if (ret == hipSuccess && attr.type == hipMemoryTypeDevice) ++#endif + { + return true; + } +-- +2.35.3 + diff --git a/var/spack/repos/builtin/packages/adios2/package.py b/var/spack/repos/builtin/packages/adios2/package.py index b23120c5996456..7a263b5a1c9d2d 100644 --- a/var/spack/repos/builtin/packages/adios2/package.py +++ b/var/spack/repos/builtin/packages/adios2/package.py @@ -45,6 +45,10 @@ class Adios2(CMakePackage, CudaPackage, ROCmPackage): version("2.4.0", sha256="50ecea04b1e41c88835b4b3fd4e7bf0a0a2a3129855c9cc4ba6cf6a1575106e2") version("2.3.1", sha256="3bf81ccc20a7f2715935349336a76ba4c8402355e1dc3848fcd6f4c3c5931893") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # There's not really any consistency about how static and shared libs are # implemented across spack. What we're trying to support is specifically three # library build types: @@ -232,6 +236,10 @@ class Adios2(CMakePackage, CudaPackage, ROCmPackage): # https://github.com/ornladios/ADIOS2/pull/3893 patch("2.9.2-cmake-find-threads-package-first.patch", when="@2.9") + # ROCM: enable support for rocm >= 6 + # https://github.com/ornladios/ADIOS2/pull/4214 + patch("2.10-enable-rocm6.patch", when="@2.9.1:") + @when("%fj") def patch(self): """add fujitsu mpi commands #16864""" diff --git a/var/spack/repos/builtin/packages/adlbx/package.py b/var/spack/repos/builtin/packages/adlbx/package.py index 8e8bddbfd80793..b8d45aa5868cd1 100644 --- a/var/spack/repos/builtin/packages/adlbx/package.py +++ b/var/spack/repos/builtin/packages/adlbx/package.py @@ -19,6 +19,8 @@ class Adlbx(AutotoolsPackage): version("0.9.2", sha256="524902d648001b689a98492402d754a607b8c1d0734699154063c1a4f3410d4a") version("0.9.1", sha256="8913493fe0c097ff13c721ab057514e5bdb55f6318d4e3512692ab739c3190b3") + depends_on("c", type="build") # generated + depends_on("exmcutils@master", when="@master") depends_on("exmcutils@:0.5.7", when="@:0.9.2") depends_on("exmcutils", when="@0.9.1:") diff --git a/var/spack/repos/builtin/packages/admixtools/package.py b/var/spack/repos/builtin/packages/admixtools/package.py index df0683ac8e85e8..b764190ca79dfc 100644 --- a/var/spack/repos/builtin/packages/admixtools/package.py +++ b/var/spack/repos/builtin/packages/admixtools/package.py @@ -23,6 +23,8 @@ class Admixtools(MakefilePackage): version("1.0.1", sha256="ef3afff161e6a24c0857678373138edb1251c24d7b5308a07f10bdb0dedd44d0") version("1.0", sha256="cf0d6950285e801e8a99c2a0b3dbbbc941a78e867af1767b1d002ec3f5803c4b") + depends_on("c", type="build") # generated + depends_on("lapack") depends_on("gsl") diff --git a/var/spack/repos/builtin/packages/adms/package.py b/var/spack/repos/builtin/packages/adms/package.py index fac47fa602c0eb..e76aac4aa70e72 100644 --- a/var/spack/repos/builtin/packages/adms/package.py +++ b/var/spack/repos/builtin/packages/adms/package.py @@ -23,6 +23,8 @@ class Adms(AutotoolsPackage): version("master", branch="master") version("2.3.7", sha256="3a78e1283ecdc3f356410474b3ff44c4dcc82cb89772087fd3bbde8a1038ce08") + depends_on("c", type="build") # generated + depends_on("bison@2.5:", type="build") depends_on("flex", type="build") depends_on("perl-xml-libxml", type="build") diff --git a/var/spack/repos/builtin/packages/adol-c/package.py b/var/spack/repos/builtin/packages/adol-c/package.py index 749adc5e3ed98e..44567d936b93bd 100644 --- a/var/spack/repos/builtin/packages/adol-c/package.py +++ b/var/spack/repos/builtin/packages/adol-c/package.py @@ -30,6 +30,9 @@ class AdolC(AutotoolsPackage): version("2.5.1", sha256="dedb93c3bb291366d799014b04b6d1ec63ca4e7216edf16167776c07961e3b4a") version("2.5.0", sha256="9d51c426d831884aac8f418be410c001eb62f3a11cb8f30c66af0b842edffb96") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "advanced_branching", default=False, diff --git a/var/spack/repos/builtin/packages/advancecomp/package.py b/var/spack/repos/builtin/packages/advancecomp/package.py index e9d2b348d60937..7d28e0bd2cd9a0 100644 --- a/var/spack/repos/builtin/packages/advancecomp/package.py +++ b/var/spack/repos/builtin/packages/advancecomp/package.py @@ -22,6 +22,9 @@ class Advancecomp(AutotoolsPackage): version("1.23", sha256="fe89d6ab382efc6b6be536b8d58113f36b83d82783d5215c261c14374cba800a") version("1.22", sha256="b8c482027a5f78d9a7f871cbba19cc896ed61653d1d93034c9dbe55484952605") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/aegean/package.py b/var/spack/repos/builtin/packages/aegean/package.py index c466ec07cf27fe..3ba9b902331b73 100644 --- a/var/spack/repos/builtin/packages/aegean/package.py +++ b/var/spack/repos/builtin/packages/aegean/package.py @@ -20,6 +20,8 @@ class Aegean(MakefilePackage): version("0.16.0", sha256="c6303ec58289f6c7bc4dd0edcd0e6c0bce4d95b21e25386f314f2b5e2f835812") version("0.15.2", sha256="734c9dd23ab3415c3966083bfde5fb72c81e6ace84e08ee3fe0d4c338331d975") + depends_on("c", type="build") # generated + depends_on("genometools") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/aeskeyfind/package.py b/var/spack/repos/builtin/packages/aeskeyfind/package.py index 5b8912c52d7e28..a0d6373792f764 100644 --- a/var/spack/repos/builtin/packages/aeskeyfind/package.py +++ b/var/spack/repos/builtin/packages/aeskeyfind/package.py @@ -15,6 +15,8 @@ class Aeskeyfind(MakefilePackage): version("master", branch="master") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("aeskeyfind", prefix.bin) diff --git a/var/spack/repos/builtin/packages/aespipe/package.py b/var/spack/repos/builtin/packages/aespipe/package.py index 66580750f04d2f..9edfa7aba46b21 100644 --- a/var/spack/repos/builtin/packages/aespipe/package.py +++ b/var/spack/repos/builtin/packages/aespipe/package.py @@ -22,3 +22,5 @@ class Aespipe(AutotoolsPackage): version("2.4b", sha256="4f08611966998f66266f03d40d0597f94096164393c8f303b2dfd565e9d9b59d") version("2.3e", sha256="4e63a5709fdd0bffdb555582f9fd7a0bd1842e429420159accaf7f60c5d3c70f") version("2.3d", sha256="70330cd0710446c9ddf8148a7713fd73f1dc5e0b13fc4d3c75590305b2e3f008") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/agile/package.py b/var/spack/repos/builtin/packages/agile/package.py index fc263abeb62fd9..41c3da1b1a66df 100644 --- a/var/spack/repos/builtin/packages/agile/package.py +++ b/var/spack/repos/builtin/packages/agile/package.py @@ -21,6 +21,10 @@ class Agile(AutotoolsPackage): version("1.5.1", sha256="e38536300060e4b845ccaaed824c7495944f9117a0d7e4ee74a18bf278e2012f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("hepmc") depends_on("boost") diff --git a/var/spack/repos/builtin/packages/agrep/package.py b/var/spack/repos/builtin/packages/agrep/package.py index 505a248f11edce..ef8711831388c6 100644 --- a/var/spack/repos/builtin/packages/agrep/package.py +++ b/var/spack/repos/builtin/packages/agrep/package.py @@ -20,6 +20,8 @@ class Agrep(MakefilePackage): version("3.41", sha256="0508eafaf9725fc67cc955eb6d32ba4f50138443a4fea4275508d2c3f67a234e") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("agrep", prefix.bin) diff --git a/var/spack/repos/builtin/packages/akantu/package.py b/var/spack/repos/builtin/packages/akantu/package.py index 46ebb5cec19aac..51addfaa1097bb 100644 --- a/var/spack/repos/builtin/packages/akantu/package.py +++ b/var/spack/repos/builtin/packages/akantu/package.py @@ -26,6 +26,9 @@ class Akantu(CMakePackage): version("master", branch="master") version("3.0.0", sha256="7e8f64e25956eba44def1b2d891f6db8ba824e4a82ff0d51d6b585b60ab465db") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "external_solvers", values=any_combination_of("mumps", "petsc"), diff --git a/var/spack/repos/builtin/packages/albany/package.py b/var/spack/repos/builtin/packages/albany/package.py index db7e3dbb02a45a..cfe0aaab7dc915 100644 --- a/var/spack/repos/builtin/packages/albany/package.py +++ b/var/spack/repos/builtin/packages/albany/package.py @@ -21,6 +21,8 @@ class Albany(CMakePackage): version("develop", branch="master") + depends_on("cxx", type="build") # generated + variant("lcm", default=True, description="Enable LCM") variant("aeras", default=False, description="Enable AERAS") variant("qcad", default=False, description="Enable QCAD") diff --git a/var/spack/repos/builtin/packages/albert/package.py b/var/spack/repos/builtin/packages/albert/package.py index 796a45fdf3fb24..9d27edeb6ff72a 100644 --- a/var/spack/repos/builtin/packages/albert/package.py +++ b/var/spack/repos/builtin/packages/albert/package.py @@ -16,6 +16,8 @@ class Albert(MakefilePackage): version("4.0a_opt4", sha256="80b9ee774789c9cd123072523cfb693c443c3624708a58a5af177a51f36b2c79") version("4.0a", sha256="caf49e24fb9bf2a09053d9bf022c4737ffe61d62ce9c6bc32aa03dded2a14913") + depends_on("cxx", type="build") # generated + depends_on("readline") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/alembic/package.py b/var/spack/repos/builtin/packages/alembic/package.py index b0f9ee6ac66b08..fd1ff6fe78f873 100644 --- a/var/spack/repos/builtin/packages/alembic/package.py +++ b/var/spack/repos/builtin/packages/alembic/package.py @@ -21,6 +21,8 @@ class Alembic(CMakePackage): version("1.8.5", sha256="180a12f08d391cd89f021f279dbe3b5423b1db751a9898540c8059a45825c2e9") version("1.7.16", sha256="2529586c89459af34d27a36ab114ad1d43dafd44061e65cfcfc73b7457379e7c") + depends_on("cxx", type="build") # generated + variant("python", default=False, description="Python support") variant("hdf5", default=False, description="HDF5 support") diff --git a/var/spack/repos/builtin/packages/alglib/package.py b/var/spack/repos/builtin/packages/alglib/package.py index 784dbfb73f1e2c..5d830bf43a0efd 100644 --- a/var/spack/repos/builtin/packages/alglib/package.py +++ b/var/spack/repos/builtin/packages/alglib/package.py @@ -21,6 +21,8 @@ class Alglib(MakefilePackage): version("3.20.0", sha256="e7357f0f894313ff1b640ec9cb5e8b63f06d2d3411c2143a374aa0e9740da8a9") version("3.11.0", sha256="34e391594aac89fb354bdaf58c42849489cd1199197398ba98bb69961f42bdb0") + depends_on("cxx", type="build") # generated + build_directory = "src" def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/allpaths-lg/package.py b/var/spack/repos/builtin/packages/allpaths-lg/package.py index f3be71e7a1e4b9..2a325cd3b7f5af 100644 --- a/var/spack/repos/builtin/packages/allpaths-lg/package.py +++ b/var/spack/repos/builtin/packages/allpaths-lg/package.py @@ -15,6 +15,8 @@ class AllpathsLg(AutotoolsPackage): version("52488", sha256="035b49cb21b871a6b111976757d7aee9c2513dd51af04678f33375e620998542") + depends_on("cxx", type="build") # generated + # compiles with gcc 4.7.0 to 4.9.4) conflicts("%gcc@:4.6.4,5.1.0:") conflicts("%cce") diff --git a/var/spack/repos/builtin/packages/alpaka/package.py b/var/spack/repos/builtin/packages/alpaka/package.py index 7a4b22c42065c8..e8e06fd4a9990e 100644 --- a/var/spack/repos/builtin/packages/alpaka/package.py +++ b/var/spack/repos/builtin/packages/alpaka/package.py @@ -25,6 +25,8 @@ class Alpaka(CMakePackage, CudaPackage): version("0.5.0", sha256="0ba08ea19961dd986160219ba00d6162fe7758980d88a606eff6494d7b3a6cd1") version("0.4.0", sha256="ad7905b13c22abcee4344ba225a65078e3f452ad45a9eda907e7d27c08315e46") + depends_on("cxx", type="build") # generated + variant( "backend", multi=True, diff --git a/var/spack/repos/builtin/packages/alquimia/package.py b/var/spack/repos/builtin/packages/alquimia/package.py index 5fb67270a82f61..c5ae05ac32e9f5 100644 --- a/var/spack/repos/builtin/packages/alquimia/package.py +++ b/var/spack/repos/builtin/packages/alquimia/package.py @@ -24,6 +24,10 @@ class Alquimia(CMakePackage): version("xsdk-0.6.0", commit="9a0aedd3a927d4d5e837f8fd18b74ad5a78c3821") version("xsdk-0.5.0", commit="8397c3b00a09534c5473ff3ab21f0e32bb159380") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/alsa-lib/package.py b/var/spack/repos/builtin/packages/alsa-lib/package.py index d9624e0dd46465..e13b3c30d17fbd 100644 --- a/var/spack/repos/builtin/packages/alsa-lib/package.py +++ b/var/spack/repos/builtin/packages/alsa-lib/package.py @@ -20,6 +20,8 @@ class AlsaLib(AutotoolsPackage): version("1.2.2", sha256="d8e853d8805574777bbe40937812ad1419c9ea7210e176f0def3e6ed255ab3ec") version("1.1.4.1", sha256="91bb870c14d1c7c269213285eeed874fa3d28112077db061a3af8010d0885b76") + depends_on("c", type="build") # generated + variant("python", default=False, description="enable python") patch("python.patch", when="@1.1.4:1.1.5 +python") diff --git a/var/spack/repos/builtin/packages/aluminum/package.py b/var/spack/repos/builtin/packages/aluminum/package.py index 63275c66ed9c5f..5c1fb482a3871e 100644 --- a/var/spack/repos/builtin/packages/aluminum/package.py +++ b/var/spack/repos/builtin/packages/aluminum/package.py @@ -33,6 +33,8 @@ class Aluminum(CachedCMakePackage, CudaPackage, ROCmPackage): version("1.3.0", sha256="d0442efbebfdfb89eec793ae65eceb8f1ba65afa9f2e48df009f81985a4c27e3") version("1.2.3", sha256="9b214bdf30f9b7e8e017f83e6615db6be2631f5be3dd186205dbe3aa62f4018a") + depends_on("cxx", type="build") # generated + # Library capabilities variant( "cuda_rma", diff --git a/var/spack/repos/builtin/packages/amdblis/package.py b/var/spack/repos/builtin/packages/amdblis/package.py index 33fd95aee4fc8d..27e713845fbb59 100644 --- a/var/spack/repos/builtin/packages/amdblis/package.py +++ b/var/spack/repos/builtin/packages/amdblis/package.py @@ -51,6 +51,10 @@ class Amdblis(BlisBase): version("3.0", sha256="ac848c040cd6c3550fe49148dbdf109216cad72d3235763ee7ee8134e1528517") version("2.2", sha256="e1feb60ac919cf6d233c43c424f6a8a11eab2c62c2c6e3f2652c15ee9063c0c9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("ilp64", default=False, when="@3.0.1:", description="ILP64 support") variant("aocl_gemm", default=False, when="@4.1:", description="aocl_gemm support") variant("suphandling", default=True, description="Small Unpacked Kernel handling") diff --git a/var/spack/repos/builtin/packages/amdfftw/package.py b/var/spack/repos/builtin/packages/amdfftw/package.py index 56dcd091451543..3d5891c46e161b 100644 --- a/var/spack/repos/builtin/packages/amdfftw/package.py +++ b/var/spack/repos/builtin/packages/amdfftw/package.py @@ -54,6 +54,9 @@ class Amdfftw(FftwBase): version("3.0", sha256="a69deaf45478a59a69f77c4f7e9872967f1cfe996592dd12beb6318f18ea0bcd") version("2.2", sha256="de9d777236fb290c335860b458131678f75aa0799c641490c644c843f0e246f8") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Builds a shared version of the library") variant("openmp", default=True, description="Enable OpenMP support") variant("threads", default=False, description="Enable SMP threads support") diff --git a/var/spack/repos/builtin/packages/amdlibflame/package.py b/var/spack/repos/builtin/packages/amdlibflame/package.py index c8aa228f0d8f8e..2fed863a23bbfd 100644 --- a/var/spack/repos/builtin/packages/amdlibflame/package.py +++ b/var/spack/repos/builtin/packages/amdlibflame/package.py @@ -62,6 +62,10 @@ class Amdlibflame(CMakePackage, LibflameBase): version("3.0", sha256="d94e08b688539748571e6d4c1ec1ce42732eac18bd75de989234983c33f01ced") version("2.2", sha256="12b9c1f92d2c2fa637305aaa15cf706652406f210eaa5cbc17aaea9fcfa576dc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("ilp64", default=False, when="@3.0.1: ", description="Build with ILP64 support") variant( "enable-aocl-blas", diff --git a/var/spack/repos/builtin/packages/amdlibm/libm-ose-SconsSpack.patch b/var/spack/repos/builtin/packages/amdlibm/libm-ose-SconsSpack.patch new file mode 100644 index 00000000000000..e90653d491a94b --- /dev/null +++ b/var/spack/repos/builtin/packages/amdlibm/libm-ose-SconsSpack.patch @@ -0,0 +1,10 @@ +--- a/scripts/site_scons/alm/env.py 2024-04-30 14:30:40.936684295 -0500 ++++ b/scripts/site_scons/alm/env.py 2024-04-30 14:31:10.901423863 -0500 +@@ -72,6 +72,7 @@ + 'SPACK_LINKER_ARG', + 'SPACK_SHORT_SPEC', + 'SPACK_SYSTEM_DIRS', ++ 'SPACK_MANAGED_DIRS', + ] + + # add these keys to mydict if they exist in environ diff --git a/var/spack/repos/builtin/packages/amdlibm/package.py b/var/spack/repos/builtin/packages/amdlibm/package.py index e0e0a36aaabb04..00fb03d94e270c 100644 --- a/var/spack/repos/builtin/packages/amdlibm/package.py +++ b/var/spack/repos/builtin/packages/amdlibm/package.py @@ -46,6 +46,9 @@ class Amdlibm(SConsPackage): version("3.0", sha256="eb26b5e174f43ce083928d0d8748a6d6d74853333bba37d50057aac2bef7c7aa") version("2.2", commit="4033e022da428125747e118ccd6fdd9cee21c470") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("verbose", default=False, description="Building with verbosity", when="@:4.1") # Mandatory dependencies @@ -58,6 +61,10 @@ class Amdlibm(SConsPackage): patch("0001-libm-ose-Scripts-cleanup-pyc-files.patch", when="@2.2") patch("0002-libm-ose-prevent-log-v3.c-from-building.patch", when="@2.2") + # Patch to update the SCons environment with + # the newly introduced 'SPACK_MANAGED_DIRS' + # build environment variable. + patch("libm-ose-SconsSpack.patch", when="@3.1:4.2") conflicts("%gcc@:9.1.0", msg="Minimum supported GCC version is 9.2.0") conflicts("%gcc@13.2.0:", msg="Maximum supported GCC version is 13.1.0") diff --git a/var/spack/repos/builtin/packages/amdscalapack/package.py b/var/spack/repos/builtin/packages/amdscalapack/package.py index aaa489a057b523..5f25811f6f451e 100644 --- a/var/spack/repos/builtin/packages/amdscalapack/package.py +++ b/var/spack/repos/builtin/packages/amdscalapack/package.py @@ -45,6 +45,9 @@ class Amdscalapack(ScalapackBase): version("3.0", sha256="6e6f3578f44a8e64518d276e7580530599ecfa8729f568303ed2590688e7096f") version("2.2", sha256="2d64926864fc6d12157b86e3f88eb1a5205e7fc157bf67e7577d0f18b9a7484c") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("ilp64", default=False, description="Build with ILP64 support") conflicts("+ilp64", when="@:3.0", msg="ILP64 is supported from 3.1 onwards") diff --git a/var/spack/repos/builtin/packages/amdsmi/package.py b/var/spack/repos/builtin/packages/amdsmi/package.py index dc48df3ab34dba..8185f27a0b0405 100644 --- a/var/spack/repos/builtin/packages/amdsmi/package.py +++ b/var/spack/repos/builtin/packages/amdsmi/package.py @@ -13,13 +13,14 @@ class Amdsmi(CMakePackage): applications to monitor and control AMD device.""" homepage = "https://github.com/ROCm/amdsmi" - url = "https://github.com/ROCm/amdsmi/archive/refs/tags/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/amdsmi/archive/refs/tags/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") libraries = ["libamd_smi"] license("MIT") + version("6.1.2", sha256="4583ea9bc71d55e987db4a42f9b3b730def22892953d30bca64ca29ac844e058") version("6.1.1", sha256="10ece6b1ca8bb36ab3ae987fc512838f30a92ab788a2200410e9c1707fe0166b") version("6.1.0", sha256="5bd1f150a2191b1703ff2670e40f6fed730f59f155623d6e43b7f64c39ae0967") version("6.0.2", sha256="aeadf07750def0325a0eaa29e767530b2ec94f3d45dc3b7452fd7a2493769428") @@ -29,10 +30,11 @@ class Amdsmi(CMakePackage): version("5.5.1", sha256="b794c7fd562fd92f2c9f2bbdc2d5dded7486101fcd4598f2e8c3484c9a939281") version("5.5.0", sha256="dcfbd96e93afcf86b1261464e008e9ef7e521670871a1885e6eaffc7cdc8f555") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.11:") depends_on("python@3.6:") depends_on("py-virtualenv") - depends_on("llvm@14:") depends_on("pkgconfig") depends_on("libdrm") depends_on("py-pyyaml") diff --git a/var/spack/repos/builtin/packages/amg2013/package.py b/var/spack/repos/builtin/packages/amg2013/package.py index dbb5ded532cbfd..adbe89e12f135d 100644 --- a/var/spack/repos/builtin/packages/amg2013/package.py +++ b/var/spack/repos/builtin/packages/amg2013/package.py @@ -24,6 +24,8 @@ class Amg2013(MakefilePackage): version("1.1", tag="1.1", commit="09fe8a78baf6ba5eaef7d2804f7b653885d60fee") version("1.0", tag="1.0", commit="f5b864708ca3ef48a86e1e46fcb812cbbfa80c51") + depends_on("c", type="build") # generated + variant("openmp", default=True, description="Build with OpenMP support") variant("optflags", default=False, description="Additional optimizations") variant("int64", default=False, description="Use 64-bit integers for global variables") diff --git a/var/spack/repos/builtin/packages/amg2023/package.py b/var/spack/repos/builtin/packages/amg2023/package.py index 60bf0f337d04f5..cb46c9df3f66a4 100644 --- a/var/spack/repos/builtin/packages/amg2023/package.py +++ b/var/spack/repos/builtin/packages/amg2023/package.py @@ -21,6 +21,8 @@ class Amg2023(CMakePackage, CudaPackage, ROCmPackage): version("develop", branch="main") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant("openmp", default=False, description="Enable OpenMP support") variant("caliper", default=False, description="Enable Caliper monitoring") diff --git a/var/spack/repos/builtin/packages/amgx/package.py b/var/spack/repos/builtin/packages/amgx/package.py index 1e91250708515e..332cc3cd9ed850 100644 --- a/var/spack/repos/builtin/packages/amgx/package.py +++ b/var/spack/repos/builtin/packages/amgx/package.py @@ -29,6 +29,9 @@ class Amgx(CMakePackage, CudaPackage): version("2.0.1", sha256="6f9991f1836fbf4ba2114ce9f49febd0edc069a24f533bd94fd9aa9be72435a7") version("2.0.0", sha256="8ec7ea8412be3de216fcf7243c4e2a8bcf76878e6865468e4238630a082a431b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cuda", default=True, description="Build with CUDA") variant("mpi", default=True, description="Enable MPI support") variant("mkl", default=False, description="Enable MKL support") diff --git a/var/spack/repos/builtin/packages/aml/package.py b/var/spack/repos/builtin/packages/aml/package.py index dee1c1ca0e8dd9..3974d2689a6e58 100644 --- a/var/spack/repos/builtin/packages/aml/package.py +++ b/var/spack/repos/builtin/packages/aml/package.py @@ -41,6 +41,8 @@ class Aml(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + # Generate possible variants. ############################# diff --git a/var/spack/repos/builtin/packages/ampliconnoise/package.py b/var/spack/repos/builtin/packages/ampliconnoise/package.py index 0bc5e2cc190c1b..5984a13b28289b 100644 --- a/var/spack/repos/builtin/packages/ampliconnoise/package.py +++ b/var/spack/repos/builtin/packages/ampliconnoise/package.py @@ -17,6 +17,8 @@ class Ampliconnoise(MakefilePackage): version("1.29", sha256="0bf946806d77ecaf0994ad8ebf9a5e98ad33c809f6def5c9340a16c367918167") + depends_on("c", type="build") # generated + depends_on("mpi@2:") depends_on("gsl") diff --git a/var/spack/repos/builtin/packages/amqp-cpp/package.py b/var/spack/repos/builtin/packages/amqp-cpp/package.py index 714169e1d61275..4123c2fab97d8f 100644 --- a/var/spack/repos/builtin/packages/amqp-cpp/package.py +++ b/var/spack/repos/builtin/packages/amqp-cpp/package.py @@ -22,6 +22,8 @@ class AmqpCpp(CMakePackage): version("4.3.24", sha256="c3312f8af813cacabf6c257dfaf41bf9e66606bbf7d62d085a9b7da695355245") version("4.3.19", sha256="ca29bb349c498948576a4604bed5fd3c27d87240b271a4441ccf04ba3797b31d") + depends_on("cxx", type="build") # generated + variant( "tcp", default=False, diff --git a/var/spack/repos/builtin/packages/amr-wind/package.py b/var/spack/repos/builtin/packages/amr-wind/package.py index 807d917cec81e5..b3875753bcf2ee 100644 --- a/var/spack/repos/builtin/packages/amr-wind/package.py +++ b/var/spack/repos/builtin/packages/amr-wind/package.py @@ -55,6 +55,10 @@ class AmrWind(CMakePackage, CudaPackage, ROCmPackage): "0.9.0", tag="v0.9.0", commit="cf66ebe31fd5f27b76a83451cd22f346e7a67160", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("hypre", default=False, description="Enable Hypre integration") variant("ascent", default=False, description="Enable Ascent integration") variant("masa", default=False, description="Enable MASA integration") diff --git a/var/spack/repos/builtin/packages/amrex/package.py b/var/spack/repos/builtin/packages/amrex/package.py index 1417a1eecc7a16..62813b5681906a 100644 --- a/var/spack/repos/builtin/packages/amrex/package.py +++ b/var/spack/repos/builtin/packages/amrex/package.py @@ -26,6 +26,8 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage): license("BSD-3-Clause") version("develop", branch="development") + version("24.07", sha256="6baf76c1377d765e94020a9bd89dd1bf1485d0440d41cce2ba35d4dfee562580") + version("24.06", sha256="103a97163d81716165fcff1af56df61741608b56f90730a725e9e4eb797bebf0") version("24.05", sha256="f3db5ea2b81973e3e244c5cf39d5a5383a98f297f56ed91c8dcdd2e24f7b750e") version("24.04", sha256="77a91e75ad0106324a44ca514e1e8abc54f2fc2d453406441c871075726a8167") version("24.03", sha256="024876fe65838d1021fcbf8530b992bff8d9be1d3f08a1723c4e2e5f7c28b427") @@ -85,6 +87,10 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage): version("18.10", sha256="298eba03ef03d617c346079433af1089d38076d6fab2c34476c687740c1f4234") version("18.09.1", sha256="a065ee4d1d98324b6c492ae20ea63ba12a4a4e23432bf5b3fe9788d44aa4398e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Config options variant( "dimensions", diff --git a/var/spack/repos/builtin/packages/amrfinder/package.py b/var/spack/repos/builtin/packages/amrfinder/package.py index 6d5f8cda84b4b1..091e57753ce99e 100644 --- a/var/spack/repos/builtin/packages/amrfinder/package.py +++ b/var/spack/repos/builtin/packages/amrfinder/package.py @@ -24,6 +24,8 @@ class Amrfinder(MakefilePackage): version("3.10.30", sha256="2f1e30b86935a27cee740bd7229a41fbce278f2f60b33b8e51592bab8bdf23f1") version("3.10.24", sha256="fce299c980cda740dcc4f53f9b2dc9061c856213e5bdbc2c339185a5fb7dcf6a") + depends_on("cxx", type="build") # generated + depends_on("blast-plus") depends_on("hmmer") depends_on("curl") diff --git a/var/spack/repos/builtin/packages/amrvis/package.py b/var/spack/repos/builtin/packages/amrvis/package.py index 16bfd5a732c0f2..8732d860015f7e 100644 --- a/var/spack/repos/builtin/packages/amrvis/package.py +++ b/var/spack/repos/builtin/packages/amrvis/package.py @@ -20,6 +20,8 @@ class Amrvis(MakefilePackage): version("main", branch="main") + depends_on("cxx", type="build") # generated + variant( "dims", default="3", diff --git a/var/spack/repos/builtin/packages/ams/package.py b/var/spack/repos/builtin/packages/ams/package.py index 4cf123a848eed0..b59d6e00c3bc97 100644 --- a/var/spack/repos/builtin/packages/ams/package.py +++ b/var/spack/repos/builtin/packages/ams/package.py @@ -10,7 +10,7 @@ class Ams(CMakePackage, CudaPackage): """AMS Autonomous Multiscale Framework.""" homepage = "https://github.com/LLNL/AMS" - git = "git@github.com:LLNL/AMS.git" + git = "https://github.com/LLNL/AMS.git" maintainers("koparasy", "lpottier") @@ -28,6 +28,9 @@ class Ams(CMakePackage, CudaPackage): submodules=False, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "faiss", default=False, diff --git a/var/spack/repos/builtin/packages/andi/package.py b/var/spack/repos/builtin/packages/andi/package.py index e7a2052c75fe5b..ce8956db292c91 100644 --- a/var/spack/repos/builtin/packages/andi/package.py +++ b/var/spack/repos/builtin/packages/andi/package.py @@ -19,6 +19,9 @@ class Andi(AutotoolsPackage): version("0.14", sha256="2c9e11524f38e74fe3f981e6acd9527c1a1ca30994a30c5e86808ba5165a25b7") version("0.10", sha256="1ff371de0b6db4080e402ded2687947dc2d6913e28626edec21dcf5149489ee8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("m4", type="build") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/angsd/package.py b/var/spack/repos/builtin/packages/angsd/package.py index a682aaf4dcb84e..98ce30c1bacea2 100644 --- a/var/spack/repos/builtin/packages/angsd/package.py +++ b/var/spack/repos/builtin/packages/angsd/package.py @@ -22,6 +22,9 @@ class Angsd(MakefilePackage): version("0.921", sha256="8892d279ce1804f9e17fe2fc65a47e5498e78fc1c1cb84d2ca2527fd5c198772") version("0.919", sha256="c2ea718ca5a5427109f4c3415e963dcb4da9afa1b856034e25c59c003d21822a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("r", default=True, description="Enable R dependency") depends_on("htslib") diff --git a/var/spack/repos/builtin/packages/antlr/package.py b/var/spack/repos/builtin/packages/antlr/package.py index 87cab3ca5b8e4c..8f10a2f0980579 100644 --- a/var/spack/repos/builtin/packages/antlr/package.py +++ b/var/spack/repos/builtin/packages/antlr/package.py @@ -20,6 +20,9 @@ class Antlr(AutotoolsPackage): version("2.7.7", sha256="853aeb021aef7586bda29e74a6b03006bcb565a755c86b66032d8ec31b67dbb9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Fixes build with recent versions of GCC patch("gcc.patch") diff --git a/var/spack/repos/builtin/packages/antlr4-cpp-runtime/package.py b/var/spack/repos/builtin/packages/antlr4-cpp-runtime/package.py index d8a30eaf03d9b4..e8b12cc36c779b 100644 --- a/var/spack/repos/builtin/packages/antlr4-cpp-runtime/package.py +++ b/var/spack/repos/builtin/packages/antlr4-cpp-runtime/package.py @@ -26,7 +26,7 @@ class Antlr4CppRuntime(CMakePackage): "clanglibcpp", default=False, description="Compile with clang libc++ instead of libstdc++" ) - depends_on("libuuid", type=["build", "link"], when="@:4.10.1") + depends_on("uuid", type=["build", "link"], when="@:4.10.1") depends_on("git", type=["build"]) depends_on("pkgconfig", type=["build"]) diff --git a/var/spack/repos/builtin/packages/ants/package.py b/var/spack/repos/builtin/packages/ants/package.py index b125a6e3327c34..6dcded9621c81a 100644 --- a/var/spack/repos/builtin/packages/ants/package.py +++ b/var/spack/repos/builtin/packages/ants/package.py @@ -26,6 +26,8 @@ class Ants(CMakePackage): version("2.3.5", sha256="2fddfd5f274a47f1c383e734a7e763b627c4a8383d2d3b9971561f335016bb0a") version("2.2.0", sha256="62f8f9ae141cb45025f4bb59277c053acf658d4a3ba868c9e0f609af72e66b4a") + depends_on("cxx", type="build") # generated + depends_on("zlib-api", type="link") variant("minc", default=True, description="Build ITK with MINC support") diff --git a/var/spack/repos/builtin/packages/aocc/package.py b/var/spack/repos/builtin/packages/aocc/package.py index f2451d1f63f975..db3d1d3755bbdb 100644 --- a/var/spack/repos/builtin/packages/aocc/package.py +++ b/var/spack/repos/builtin/packages/aocc/package.py @@ -53,6 +53,8 @@ class Aocc(Package, CompilerPackage): url="https://download.amd.com/developer/eula/aocc-compiler/aocc-compiler-3.2.0.tar", ) + depends_on("c", type="build") # generated + # Licensing license_url = "https://www.amd.com/en/developer/aocc/aocc-compiler/eula.html" diff --git a/var/spack/repos/builtin/packages/aocl-compression/package.py b/var/spack/repos/builtin/packages/aocl-compression/package.py index 133c92b8f4f78c..70ce6a6fdfcac9 100644 --- a/var/spack/repos/builtin/packages/aocl-compression/package.py +++ b/var/spack/repos/builtin/packages/aocl-compression/package.py @@ -51,6 +51,9 @@ class AoclCompression(CMakePackage): preferred=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared library") variant("zlib", default=True, description="Build zlib library") variant("bzip2", default=True, description="Build bzip2 library") diff --git a/var/spack/repos/builtin/packages/aocl-crypto/package.py b/var/spack/repos/builtin/packages/aocl-crypto/package.py index 908117655a1316..65a687cb27c82f 100644 --- a/var/spack/repos/builtin/packages/aocl-crypto/package.py +++ b/var/spack/repos/builtin/packages/aocl-crypto/package.py @@ -44,6 +44,9 @@ class AoclCrypto(CMakePackage): sha256="2bdbedd8ab1b28632cadff237f4abd776e809940ad3633ad90fc52ce225911fe", preferred=True, ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated variant("examples", default=False, description="Build examples") depends_on("cmake@3.15:", type="build") diff --git a/var/spack/repos/builtin/packages/aocl-libmem/package.py b/var/spack/repos/builtin/packages/aocl-libmem/package.py index 323a04c0cf97c1..c01365db7dd717 100644 --- a/var/spack/repos/builtin/packages/aocl-libmem/package.py +++ b/var/spack/repos/builtin/packages/aocl-libmem/package.py @@ -41,6 +41,9 @@ class AoclLibmem(CMakePackage): preferred=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("logging", default=False, description="Enable/Disable logger") variant("tunables", default=False, description="Enable/Disable user input") variant("shared", default=True, description="build shared library") diff --git a/var/spack/repos/builtin/packages/aocl-sparse/package.py b/var/spack/repos/builtin/packages/aocl-sparse/package.py index 765bc0e3215d2c..84ac6781422687 100644 --- a/var/spack/repos/builtin/packages/aocl-sparse/package.py +++ b/var/spack/repos/builtin/packages/aocl-sparse/package.py @@ -44,6 +44,9 @@ class AoclSparse(CMakePackage): version("3.0", sha256="1d04ba16e04c065051af916b1ed9afce50296edfa9b1513211a7378e1d6b952e") version("2.2", sha256="33c2ed6622cda61d2613ee63ff12c116a6cd209c62e54307b8fde986cd65f664") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared library") variant("ilp64", default=False, description="Build with ILP64 support") variant("examples", default=False, description="Build sparse examples") diff --git a/var/spack/repos/builtin/packages/aocl-utils/package.py b/var/spack/repos/builtin/packages/aocl-utils/package.py index d32477c7814e77..693228ba9adec3 100644 --- a/var/spack/repos/builtin/packages/aocl-utils/package.py +++ b/var/spack/repos/builtin/packages/aocl-utils/package.py @@ -44,6 +44,8 @@ class AoclUtils(CMakePackage): ) version("4.1", sha256="660746e7770dd195059ec25e124759b126ee9f060f43302d13354560ca76c02c") + depends_on("cxx", type="build") # generated + variant("doc", default=False, description="enable documentation") variant("tests", default=False, description="enable testing") variant("shared", default=True, when="@4.2:", description="build shared library") diff --git a/var/spack/repos/builtin/packages/aoflagger/package.py b/var/spack/repos/builtin/packages/aoflagger/package.py index 66309bf9fd9589..5dfc09e72203c2 100644 --- a/var/spack/repos/builtin/packages/aoflagger/package.py +++ b/var/spack/repos/builtin/packages/aoflagger/package.py @@ -18,6 +18,8 @@ class Aoflagger(CMakePackage): version("2.10.0", sha256="3ec1188d37101acf2029575ebc09c50b19c158c88a12b55ac5d25a96bd8fc18d") + depends_on("cxx", type="build") # generated + depends_on("casacore+python~fftpack@1.10:") depends_on("fftw~mpi@3.0:") depends_on("boost+python@:1.66.99") diff --git a/var/spack/repos/builtin/packages/aom/package.py b/var/spack/repos/builtin/packages/aom/package.py index 2862b40edca617..55c78e9f35f5c1 100644 --- a/var/spack/repos/builtin/packages/aom/package.py +++ b/var/spack/repos/builtin/packages/aom/package.py @@ -15,6 +15,9 @@ class Aom(CMakePackage): license("BSD-2-Clause AND AOM-Patent-License-1.0", checked_by="tgamblin") version("v1.0.0-errata1", commit="29d8ce4836630df5cc7ab58f1afc4836765fc212") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("yasm") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/apachetop/package.py b/var/spack/repos/builtin/packages/apachetop/package.py index 060c5e1f878c1c..b1e72cee7a8de2 100644 --- a/var/spack/repos/builtin/packages/apachetop/package.py +++ b/var/spack/repos/builtin/packages/apachetop/package.py @@ -21,6 +21,8 @@ class Apachetop(AutotoolsPackage): version("0.17.4", sha256="892ed3b83b45eb38811e74d068089b1e8c34707787f240ce133d8c93198d7ff0") version("0.15.6", sha256="7343caeb1adab795439b7be9cf47ce6049751ae948537d5f27251c075264801a") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/apcomp/package.py b/var/spack/repos/builtin/packages/apcomp/package.py index b98f324b77e692..dd2abe442c603a 100644 --- a/var/spack/repos/builtin/packages/apcomp/package.py +++ b/var/spack/repos/builtin/packages/apcomp/package.py @@ -36,11 +36,15 @@ class Apcomp(Package): maintainers("cyrush") - version("master", branch="master", submodules="True") - version("0.0.4", sha256="061876dd55e443de91a40d10662496f6bb58b0a3835aec78f5710f5a737d0494") - version("0.0.3", sha256="07e8c1d6a23205f4cc66d0a030e65a69e8344545f4d56213d968b67a410adc6e") - version("0.0.2", sha256="cb2e2c4524889408de2dd3d29665512c99763db13e6f5e35c3b55e52948c649c") - version("0.0.1", sha256="cbf85fe58d5d5bc2f468d081386cc8b79861046b3bb7e966edfa3f8e95b998b2") + with default_args(deprecated=True): # part of ascent + version("master", branch="master", submodules="True") + version("0.0.4", sha256="061876dd55e443de91a40d10662496f6bb58b0a3835aec78f5710f5a737d0494") + version("0.0.3", sha256="07e8c1d6a23205f4cc66d0a030e65a69e8344545f4d56213d968b67a410adc6e") + version("0.0.2", sha256="cb2e2c4524889408de2dd3d29665512c99763db13e6f5e35c3b55e52948c649c") + version("0.0.1", sha256="cbf85fe58d5d5bc2f468d081386cc8b79861046b3bb7e966edfa3f8e95b998b2") + + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated variant("openmp", default=True, description="Build with openmp support") variant("mpi", default=True, description="Build with MPI support") @@ -60,19 +64,8 @@ def install(self, spec, prefix): """ with working_dir("spack-build", create=True): host_cfg_fname = self.create_host_config(spec, prefix) - cmake_args = [] - # if we have a static build, we need to avoid any of - # spack's default cmake settings related to rpaths - # (see: https://github.com/LLNL/spack/issues/2658) - if "+shared" in spec: - cmake_args.extend(std_cmake_args) - else: - for arg in std_cmake_args: - if arg.count("RPATH") == 0: - cmake_args.append(arg) - cmake_args.extend(["-C", host_cfg_fname, "../src"]) print("Configuring APComp...") - cmake(*cmake_args) + cmake(*std_cmake_args, "-C", host_cfg_fname, "../src") print("Building APComp...") make() print("Installing APComp...") diff --git a/var/spack/repos/builtin/packages/apex/package.py b/var/spack/repos/builtin/packages/apex/package.py index e6bb94ef3d40f0..0660ccbc6c7ead 100644 --- a/var/spack/repos/builtin/packages/apex/package.py +++ b/var/spack/repos/builtin/packages/apex/package.py @@ -65,6 +65,10 @@ class Apex(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Disable some default dependencies on Darwin/OSX darwin_default = False if sys.platform != "darwin": diff --git a/var/spack/repos/builtin/packages/apfel/package.py b/var/spack/repos/builtin/packages/apfel/package.py index e5a797024e3451..29fe90c04b8554 100644 --- a/var/spack/repos/builtin/packages/apfel/package.py +++ b/var/spack/repos/builtin/packages/apfel/package.py @@ -22,6 +22,9 @@ class Apfel(AutotoolsPackage): version("3.0.6", sha256="7063c9eee457e030b97926ac166cdaedd84625b31397e1dfd01ae47371fb9f61") version("3.0.4", sha256="c7bfae7fe2dc0185981850f2fe6ae4842749339d064c25bf525b4ef412bbb224") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("swig", when="+python") depends_on("python", type=("build", "run")) depends_on("lhapdf", when="+lhapdf", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/appres/package.py b/var/spack/repos/builtin/packages/appres/package.py index 588af73fbb15c6..29fb85c0f4d5a4 100644 --- a/var/spack/repos/builtin/packages/appres/package.py +++ b/var/spack/repos/builtin/packages/appres/package.py @@ -18,6 +18,8 @@ class Appres(AutotoolsPackage, XorgPackage): version("1.0.6", sha256="848f383ff429612fb9df840d79e97dc193dc72dbbf53d3217a8d1e90a5aa1e26") version("1.0.4", sha256="22cb6f639c891ffdbb5371bc50a88278185789eae6907d05e9e0bd1086a80803") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/apptainer/package.py b/var/spack/repos/builtin/packages/apptainer/package.py index 2fbe795b7702ea..45a05af31ac3b3 100644 --- a/var/spack/repos/builtin/packages/apptainer/package.py +++ b/var/spack/repos/builtin/packages/apptainer/package.py @@ -4,6 +4,9 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from glob import glob +from os.path import basename + from spack.package import * from spack.pkg.builtin.singularityce import SingularityBase @@ -33,6 +36,8 @@ class Apptainer(SingularityBase): ) version("main", branch="main") + version("1.3.1", sha256="6956c689c4a8f148789c5c34b33c15ad8f3460b4cee3f48022119fd872eacee9") + version("1.2.5", sha256="606b67ef97683e1420401718687d258b1034fdf2edae72eeacd0828dffbfc2c2") version("1.1.9", sha256="c615777539154288542cf393d3fd44c04ccb3260bc6330dc324d4e4ebe902bfa") version("1.1.7", sha256="e6d3956a26c3965703402e17f153ba07f59bf710068806462b314d2d04e825e7") version("1.1.6", sha256="5f32d305279a51ce8bdbe69e733c4ac12b1efdcb77758fab8ec9463e96a8fd82") @@ -41,8 +46,17 @@ class Apptainer(SingularityBase): version("1.1.3", sha256="c7bf7f4d5955e1868739627928238d02f94ca9fd0caf110b0243d65548427899") version("1.0.2", sha256="2d7a9d0a76d5574459d249c3415e21423980d9154ce85e8c34b0600782a7dfd3") + depends_on("c", type="build") # generated + + depends_on("e2fsprogs@1.47:+fuse2fs", type="run") depends_on("go@1.17.5:", when="@1.1.0:") + depends_on("go@1.19:", when="@1.2:") + depends_on("go@1.20:", when="@1.3:") + depends_on("gocryptfs@2.4:", type="run", when="@1.3:") depends_on("squashfuse", type="run") + depends_on("squashfuse@0.5.1:", type="run", when="@1.3:") + depends_on("fuse-overlayfs", type="run") + depends_on("fuse-overlayfs@1.13:", type="run", when="@1.3:") singularity_org = "apptainer" singularity_name = "apptainer" @@ -64,3 +78,19 @@ def flag_handler(self, name, flags): # Certain go modules this build pulls in cannot be built with anything # other than -O0. Best to just discard any injected flags. return (None, flags, None) + + # They started vendoring the fuse bits and assume they'll be in the + # libexec/apptainer prefix as a result. When singularity is run with + # suid it doesn't search the user's $PATH for security reasons. + # Since we don't use the vendored deps and instead install them in + # their own prefixes they are not found by default. + # This is likely only relevant for 1.3:, but it should be fine everywhere + @run_after("install") + def fix_binary_path(self): + for i in [ + s for s in ["e2fsprogs", "gocryptfs", "squashfuse", "fuse-overlayfs"] if s in self.spec + ]: + for binary in glob(join_path(self.spec[i].prefix.bin, "*")): + symlink( + binary, join_path(self.spec.prefix.libexec.apptainer.bin, basename(binary)) + ) diff --git a/var/spack/repos/builtin/packages/apr-util/package.py b/var/spack/repos/builtin/packages/apr-util/package.py index 8638f880c0085e..bcc127be85638d 100644 --- a/var/spack/repos/builtin/packages/apr-util/package.py +++ b/var/spack/repos/builtin/packages/apr-util/package.py @@ -19,6 +19,8 @@ class AprUtil(AutotoolsPackage): version("1.6.0", sha256="483ef4d59e6ac9a36c7d3fd87ad7b9db7ad8ae29c06b9dd8ff22dda1cc416389") version("1.5.4", sha256="976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19") + depends_on("c", type="build") # generated + variant("crypto", default=True, description="Enable crypto support") variant("gdbm", default=False, description="Enable GDBM support") variant("pgsql", default=False, description="Enable PostgreSQL support") diff --git a/var/spack/repos/builtin/packages/apr/package.py b/var/spack/repos/builtin/packages/apr/package.py index c56f4eb7a143a0..27ac0eb8d3f528 100644 --- a/var/spack/repos/builtin/packages/apr/package.py +++ b/var/spack/repos/builtin/packages/apr/package.py @@ -21,6 +21,8 @@ class Apr(AutotoolsPackage): version("1.6.2", sha256="4fc24506c968c5faf57614f5d0aebe0e9d0b90afa47a883e1a1ca94f15f4a42e") version("1.5.2", sha256="1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb") + depends_on("c", type="build") # generated + patch("missing_includes.patch", when="@1.7.0") depends_on("uuid", type="link") diff --git a/var/spack/repos/builtin/packages/aqlprofile/package.py b/var/spack/repos/builtin/packages/aqlprofile/package.py index 05be86d933a9e5..9fae0246a5290b 100644 --- a/var/spack/repos/builtin/packages/aqlprofile/package.py +++ b/var/spack/repos/builtin/packages/aqlprofile/package.py @@ -8,6 +8,20 @@ from spack.package import * _versions = { + "6.1.2": { + "apt": ( + "93faa8a0d702bc1623d2346e07a9a1c9134d99c0d3f9de62903e7394e0eedf47", + "https://repo.radeon.com/rocm/apt/6.1.2/pool/main/h/hsa-amd-aqlprofile/hsa-amd-aqlprofile_1.0.0.60102.60102-119~20.04_amd64.deb", + ), + "yum": ( + "b8c6a8c8fad6b07c87f99a95126b982aeb39a3e4943d05df090d2221f4aef779", + "https://repo.radeon.com/rocm/yum/6.1.2/main/hsa-amd-aqlprofile-1.0.0.60102.60102-119.el7.x86_64.rpm", + ), + "zyp": ( + "132dde13aa550376ac39d57a51b42b803574cd0c57d2bd1346f36bf8d7efa4c4", + "https://repo.radeon.com/rocm/zyp/6.1.2/main/hsa-amd-aqlprofile-1.0.0.60102.60102-sles154.119.x86_64.rpm", + ), + }, "6.1.1": { "apt": ( "faa5dae914fc63f0c8d0c2be28b7ec502db487004bdff0fe88dd15432efc5401", diff --git a/var/spack/repos/builtin/packages/arbor/package.py b/var/spack/repos/builtin/packages/arbor/package.py index 3f57386a9bf338..b4dd99b56b1ed1 100644 --- a/var/spack/repos/builtin/packages/arbor/package.py +++ b/var/spack/repos/builtin/packages/arbor/package.py @@ -51,6 +51,9 @@ class Arbor(CMakePackage, CudaPackage): url="https://github.com/arbor-sim/arbor/releases/download/v0.5.2/arbor-v0.5.2-full.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("assertions", default=False, description="Enable arb_assert() assertions in code.") variant("doc", default=False, description="Build documentation.") variant("mpi", default=False, description="Enable MPI support") diff --git a/var/spack/repos/builtin/packages/arborx/package.py b/var/spack/repos/builtin/packages/arborx/package.py index c193523c3904d6..86615c0b37396b 100644 --- a/var/spack/repos/builtin/packages/arborx/package.py +++ b/var/spack/repos/builtin/packages/arborx/package.py @@ -37,6 +37,8 @@ class Arborx(CMakePackage, CudaPackage, ROCmPackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + # Allowed C++ standard variant( "cxxstd", diff --git a/var/spack/repos/builtin/packages/arc/package.py b/var/spack/repos/builtin/packages/arc/package.py index afcad0a0beedd3..b14e81ca13ecdf 100644 --- a/var/spack/repos/builtin/packages/arc/package.py +++ b/var/spack/repos/builtin/packages/arc/package.py @@ -23,6 +23,8 @@ class Arc(CMakePackage): version("master", branch="master") version("2021-12-01", commit="49d4a5df53a082f15a6959aef434224fd7b9beac") + depends_on("c", type="build") # generated + depends_on("libpressio+sz+zfp", when="+examples") variant("examples", description="build examples", default=False) diff --git a/var/spack/repos/builtin/packages/archer/package.py b/var/spack/repos/builtin/packages/archer/package.py index 731d318365d310..d414ce5cdd7253 100644 --- a/var/spack/repos/builtin/packages/archer/package.py +++ b/var/spack/repos/builtin/packages/archer/package.py @@ -21,6 +21,9 @@ class Archer(CMakePackage): version("2.0.0", sha256="3241cadb0078403368b69166b27f815e12c350486d4ceb3fb33147895b9ebde8") version("1.0.0", sha256="df814a475606b83c659932caa30a68bed1c62e713386b375c1b78eb8d60e0d15") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.4.3:", type="build") depends_on("llvm@:8.0.0") depends_on("ninja@1.5:", type="build") diff --git a/var/spack/repos/builtin/packages/argobots/package.py b/var/spack/repos/builtin/packages/argobots/package.py index e0c919b7579572..95af52ede50270 100644 --- a/var/spack/repos/builtin/packages/argobots/package.py +++ b/var/spack/repos/builtin/packages/argobots/package.py @@ -28,6 +28,8 @@ class Argobots(AutotoolsPackage): version("1.0.1", sha256="fa05a02d7f8f74d845647636609219ee02f6adf628ebcbf40393f829987d9036") version("1.0", sha256="36a0815f7bf99900a9c9c1eef61ef9b3b76aa2cfc4594a304f6c8c3296da8def") + depends_on("c", type="build") # generated + variant("perf", default=True, description="Add performance optimization flags") variant("valgrind", default=False, description="Enable Valgrind") variant("debug", default=False, description="Compiled with debugging symbols") diff --git a/var/spack/repos/builtin/packages/argon2/package.py b/var/spack/repos/builtin/packages/argon2/package.py index 4484e1eb52a4c9..f9227c9957e4d3 100644 --- a/var/spack/repos/builtin/packages/argon2/package.py +++ b/var/spack/repos/builtin/packages/argon2/package.py @@ -21,5 +21,7 @@ class Argon2(MakefilePackage): version("20171227", sha256="eaea0172c1f4ee4550d1b6c9ce01aab8d1ab66b4207776aa67991eb5872fdcd8") version("20161029", sha256="fe0049728b946b58b94cc6db89b34e2d050c62325d16316a534d2bedd78cd5e7") + depends_on("c", type="build") # generated + def install(self, spec, prefix): make(f"PREFIX={prefix}", "install", "LIBRARY_REL=lib") diff --git a/var/spack/repos/builtin/packages/argp-standalone/package.py b/var/spack/repos/builtin/packages/argp-standalone/package.py index 9cdfdc81384458..3b5fe1efdcd077 100644 --- a/var/spack/repos/builtin/packages/argp-standalone/package.py +++ b/var/spack/repos/builtin/packages/argp-standalone/package.py @@ -18,6 +18,8 @@ class ArgpStandalone(AutotoolsPackage): version("1.3", sha256="dec79694da1319acd2238ce95df57f3680fea2482096e483323fddf3d818d8be") + depends_on("c", type="build") # generated + # Homebrew (https://github.com/Homebrew/homebrew-core) patches # argp-standalone to work on Darwin; the patchfile below was taken # from diff --git a/var/spack/repos/builtin/packages/args/package.py b/var/spack/repos/builtin/packages/args/package.py index 27c739b1684536..907cdb9370ea23 100644 --- a/var/spack/repos/builtin/packages/args/package.py +++ b/var/spack/repos/builtin/packages/args/package.py @@ -21,3 +21,5 @@ class Args(CMakePackage): version("6.2.3", sha256="c202d15fc4b30519a08bae7df9e6f4fdc40ac2434ba65d83a108ebbf6e4822c2") version("6.2.2", sha256="8016fb0fc079d746433be3df9cf662e3e931e730aaf9f69f2287eac79ac643c1") version("6.2.1", sha256="699b91fae4509b09974274838e2038612da24eeae89e62d0bc580457a9e261b0") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/argtable/package.py b/var/spack/repos/builtin/packages/argtable/package.py index 88604bbe50af3e..4da15c45a9bc83 100644 --- a/var/spack/repos/builtin/packages/argtable/package.py +++ b/var/spack/repos/builtin/packages/argtable/package.py @@ -17,3 +17,5 @@ class Argtable(AutotoolsPackage): license("LGPL-2.0-or-later") version("2-13", sha256="8f77e8a7ced5301af6e22f47302fdbc3b1ff41f2b83c43c77ae5ca041771ddbf") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/aria2/package.py b/var/spack/repos/builtin/packages/aria2/package.py index cdc82973200164..83bc44605a0d1e 100644 --- a/var/spack/repos/builtin/packages/aria2/package.py +++ b/var/spack/repos/builtin/packages/aria2/package.py @@ -20,6 +20,9 @@ class Aria2(AutotoolsPackage): version("1.35.0", sha256="fd85589416f8246cefc4e6ba2fa52da54fdf11fd5602a2db4b6749f7c33b5b2d") version("1.34.0", sha256="ec4866985760b506aa36dc9021dbdc69551c1a647823cae328c30a4f3affaa6c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libxml2") depends_on("libssh2") depends_on("libgcrypt") diff --git a/var/spack/repos/builtin/packages/armadillo/package.py b/var/spack/repos/builtin/packages/armadillo/package.py index dc7f3a31122354..d22297cdd303d4 100644 --- a/var/spack/repos/builtin/packages/armadillo/package.py +++ b/var/spack/repos/builtin/packages/armadillo/package.py @@ -27,6 +27,8 @@ class Armadillo(CMakePackage): version("8.100.1", sha256="54773f7d828bd3885c598f90122b530ded65d9b195c9034e082baea737cd138d") version("7.950.1", sha256="a32da32a0ea420b8397a53e4b40ed279c1a5fc791dd492a2ced81ffb14ad0d1b") + depends_on("cxx", type="build") # generated + variant("hdf5", default=False, description="Include HDF5 support") depends_on("cmake@2.8.12:", type="build") @@ -42,6 +44,14 @@ class Armadillo(CMakePackage): # platform's compiler is adding `#define linux 1`. patch("undef_linux.patch", when="platform=linux") + def flag_handler(self, name, flags): + spec = self.spec + if name == "ldflags": + if spec.satisfies("%apple-clang@15:"): + flags.append("-Wl,-ld_classic") + + return (flags, None, None) + def patch(self): # Do not include Find{BLAS_type} because we are specifying the # BLAS/LAPACK libraries explicitly. diff --git a/var/spack/repos/builtin/packages/armcimpi/package.py b/var/spack/repos/builtin/packages/armcimpi/package.py index e2126f5de2aefe..eed186a5ceb5b8 100644 --- a/var/spack/repos/builtin/packages/armcimpi/package.py +++ b/var/spack/repos/builtin/packages/armcimpi/package.py @@ -23,6 +23,9 @@ class Armcimpi(AutotoolsPackage): "0.3.1-beta", sha256="f3eaa8f365fb55123ecd9ced401086b0732e37e4df592b27916d71a67ab34fe9" ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Builds a shared version of the library") variant("progress", default=False, description="Enable asynchronous progress") diff --git a/var/spack/repos/builtin/packages/arpack-ng/package.py b/var/spack/repos/builtin/packages/arpack-ng/package.py index df345e65a75d1d..4036f6f8a660be 100644 --- a/var/spack/repos/builtin/packages/arpack-ng/package.py +++ b/var/spack/repos/builtin/packages/arpack-ng/package.py @@ -56,6 +56,10 @@ class ArpackNg(CMakePackage, AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries") variant("mpi", default=True, description="Activates MPI support") variant("icb", default=False, when="@3.6:", description="Activates iso_c_binding support") diff --git a/var/spack/repos/builtin/packages/arrayfire/package.py b/var/spack/repos/builtin/packages/arrayfire/package.py index 23f7ad63e8e2e3..d934ae78a0718b 100644 --- a/var/spack/repos/builtin/packages/arrayfire/package.py +++ b/var/spack/repos/builtin/packages/arrayfire/package.py @@ -29,6 +29,9 @@ class Arrayfire(CMakePackage, CudaPackage): "3.7.0", commit="fbea2aeb6f7f2d277dcb0ab425a77bb18ed22291", submodules=True, tag="v3.7.0" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("forge", default=False, description="Enable graphics library") variant("opencl", default=False, description="Enable OpenCL backend") diff --git a/var/spack/repos/builtin/packages/arrow/package.py b/var/spack/repos/builtin/packages/arrow/package.py index 0bdf33dee00dd5..7089454b67e78d 100644 --- a/var/spack/repos/builtin/packages/arrow/package.py +++ b/var/spack/repos/builtin/packages/arrow/package.py @@ -41,6 +41,9 @@ class Arrow(CMakePackage, CudaPackage): version("0.9.0", sha256="65f89a3910b6df02ac71e4d4283db9b02c5b3f1e627346c7b6a5982ae994af91") version("0.8.0", sha256="c61a60c298c30546fc0b418a35be66ef330fb81b06c49928acca7f1a34671d54") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost@1.60: +filesystem +system") depends_on("cmake@3.2.0:", type="build") depends_on("flatbuffers") diff --git a/var/spack/repos/builtin/packages/asagi/package.py b/var/spack/repos/builtin/packages/asagi/package.py index 603cd0ad198a59..17080d61031c35 100644 --- a/var/spack/repos/builtin/packages/asagi/package.py +++ b/var/spack/repos/builtin/packages/asagi/package.py @@ -24,6 +24,10 @@ class Asagi(CMakePackage): # is preferred to satisfy internal-dependencies version("1.0", commit="f67250798b435c308b9a1e7516f916f7855534ec", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "link_type", default="shared", diff --git a/var/spack/repos/builtin/packages/ascent/package.py b/var/spack/repos/builtin/packages/ascent/package.py index 17c56040338daf..32fd20a20a515f 100644 --- a/var/spack/repos/builtin/packages/ascent/package.py +++ b/var/spack/repos/builtin/packages/ascent/package.py @@ -55,13 +55,17 @@ class Ascent(CMakePackage, CudaPackage): version("develop", branch="develop", submodules=True) version( - "0.9.2", - tag="v0.9.2", - commit="b842516d12640e4a0d9433a18c7249440ef6fc3d", + "0.9.3", + tag="v0.9.3", + commit="e69d6ec77938846caae8fea7ed988b1151ac9b81", submodules=True, preferred=True, ) + version( + "0.9.2", tag="v0.9.2", commit="b842516d12640e4a0d9433a18c7249440ef6fc3d", submodules=True + ) + version( "0.9.1", tag="v0.9.1", commit="027a2fe184f65a4923817a8cdfed0b0c61c2c75a", submodules=True ) @@ -86,6 +90,10 @@ class Ascent(CMakePackage, CudaPackage): "0.6.0", tag="v0.6.0", commit="9ade37b0a9ea495e45adb25cda7498c0bf9465c5", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + ########################################################################### # package variants ########################################################################### @@ -155,6 +163,7 @@ class Ascent(CMakePackage, CudaPackage): depends_on("conduit@:0.7.2", when="@:0.7.1") depends_on("conduit@0.8.2:", when="@0.8:") depends_on("conduit@0.8.6:", when="@0.9:") + depends_on("conduit@0.9.1:", when="@0.9.3:") depends_on("conduit+python", when="+python") depends_on("conduit~python", when="~python") depends_on("conduit+mpi", when="+mpi") @@ -183,12 +192,18 @@ class Ascent(CMakePackage, CudaPackage): ####################### # RAJA and Umpire + # Note: Let RAJA/Umpire handle the Camp version constraints ####################### - depends_on("raja", when="+raja") - depends_on("raja+openmp", when="+raja +openmp") - depends_on("raja~openmp", when="+raja ~openmp") - depends_on("umpire", when="+umpire") - depends_on("umpire@:2023.06.0", when="@:0.9.2 +umpire") + with when("+raja"): + depends_on("raja") + depends_on("raja@2024.02.1:", when="@0.9.3:") + depends_on("raja+openmp", when="+openmp") + depends_on("raja~openmp", when="~openmp") + + with when("+umpire"): + depends_on("umpire") + depends_on("umpire@:2023.06.0", when="@:0.9.2") + depends_on("umpire@2024.02.1:", when="@0.9.3:") ####################### # BabelFlow @@ -215,6 +230,7 @@ class Ascent(CMakePackage, CudaPackage): depends_on("vtk-m~shared+fpic", when="@0.8.0: ~shared") # Ascent defaults to C++11 depends_on("kokkos cxxstd=11", when="+vtkh ^vtk-m +kokkos") + depends_on("kokkos@3.7.02", when="@0.9.3: +vtkh ^vtk-m +kokkos") ####################### # VTK-h diff --git a/var/spack/repos/builtin/packages/asdcplib/package.py b/var/spack/repos/builtin/packages/asdcplib/package.py index d0c37005d13e35..1379229232d3a6 100644 --- a/var/spack/repos/builtin/packages/asdcplib/package.py +++ b/var/spack/repos/builtin/packages/asdcplib/package.py @@ -20,6 +20,9 @@ class Asdcplib(AutotoolsPackage): version("2_10_33", sha256="16fafb5da3d46b0f44570ef9780c85dd82cca60106a9e005e538809ea1a95373") version("2_10_32", sha256="fe5123c49980ee3fa25dea876286f2ac974d203bfcc6c77fc288a59025dee3ee") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/asdf-cxx/package.py b/var/spack/repos/builtin/packages/asdf-cxx/package.py index b2d15a98142c78..069d3c7635c8e7 100644 --- a/var/spack/repos/builtin/packages/asdf-cxx/package.py +++ b/var/spack/repos/builtin/packages/asdf-cxx/package.py @@ -38,6 +38,8 @@ class AsdfCxx(CMakePackage): version("1.1.0", sha256="3e23b9cd16254f5adbf878145e320f56b4d3ad75de23d2c761eb7f04150926c5") version("1.0.0", sha256="0b63594a1dec27cc85d25adbf900b6e936b5015f579b9b892b983151bec96775") + depends_on("cxx", type="build") # generated + variant("python", default=True, description="Enable Python support") depends_on("bzip2") diff --git a/var/spack/repos/builtin/packages/asio/package.py b/var/spack/repos/builtin/packages/asio/package.py index 2cc677c0d78b4b..b2c67c5da1ab1d 100644 --- a/var/spack/repos/builtin/packages/asio/package.py +++ b/var/spack/repos/builtin/packages/asio/package.py @@ -62,6 +62,8 @@ class Asio(AutotoolsPackage): version("1.16.1", sha256="e40bbd531530f08318b7c7d7e84e457176d8eae6f5ad2e3714dc27b9131ecd35") version("1.16.0", sha256="c87410ea62de6245aa239b9ed2057edf01d7f66acc3f5e50add9a29343c87512") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("m4", type="build") diff --git a/var/spack/repos/builtin/packages/aspa/package.py b/var/spack/repos/builtin/packages/aspa/package.py index 2356a09bd6b538..0e56447380c481 100644 --- a/var/spack/repos/builtin/packages/aspa/package.py +++ b/var/spack/repos/builtin/packages/aspa/package.py @@ -21,6 +21,8 @@ class Aspa(MakefilePackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Build with MPI Support") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/aspcud/package.py b/var/spack/repos/builtin/packages/aspcud/package.py index fcd2675ac3bf36..6d6d50546a38c6 100644 --- a/var/spack/repos/builtin/packages/aspcud/package.py +++ b/var/spack/repos/builtin/packages/aspcud/package.py @@ -24,6 +24,9 @@ class Aspcud(CMakePackage): version("1.9.5", sha256="9cd3a9490d377163d87b16fa1a10cc7254bc2dbb9f60e846961ac8233f3835cf") version("1.9.4", sha256="3645f08b079e1cc80e24cd2d7ae5172a52476d84e3ec5e6a6c0034492a6ea885") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost@1.74:+exception+serialization+container", type=("build"), when="@1.9.5:") depends_on("cmake", type=("build")) depends_on("re2c", type=("build")) diff --git a/var/spack/repos/builtin/packages/aspect/package.py b/var/spack/repos/builtin/packages/aspect/package.py index 914869a2e5e2ed..1f627498732042 100644 --- a/var/spack/repos/builtin/packages/aspect/package.py +++ b/var/spack/repos/builtin/packages/aspect/package.py @@ -25,6 +25,10 @@ class Aspect(CMakePackage): version("2.0.1", sha256="0bf5600c42afce9d39c1d285b0654ecfdeb0f30e9f3421651c95f54ca01ac165") version("2.0.0", sha256="d485c07f54248e824bdfa35f3eec8971b65e8b7114552ffa2c771bc0dede8cc0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "build_type", default="Release", diff --git a/var/spack/repos/builtin/packages/aspell/package.py b/var/spack/repos/builtin/packages/aspell/package.py index 2cda1b9ac045de..affaa1c10260d9 100644 --- a/var/spack/repos/builtin/packages/aspell/package.py +++ b/var/spack/repos/builtin/packages/aspell/package.py @@ -21,5 +21,8 @@ class Aspell(AutotoolsPackage, GNUMirrorPackage): version("0.60.8", sha256="f9b77e515334a751b2e60daab5db23499e26c9209f5e7b7443b05235ad0226f2") version("0.60.6.1", sha256="f52583a83a63633701c5f71db3dc40aab87b7f76b29723aeb27941eff42df6e1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch("fix_cpp.patch") patch("issue-519.patch", when="@:0.60.6.1") diff --git a/var/spack/repos/builtin/packages/assimp/package.py b/var/spack/repos/builtin/packages/assimp/package.py index 8b015b59d65d32..9fd69d85b4fb18 100644 --- a/var/spack/repos/builtin/packages/assimp/package.py +++ b/var/spack/repos/builtin/packages/assimp/package.py @@ -19,6 +19,7 @@ class Assimp(CMakePackage): license("BSD-3-Clause") version("master", branch="master") + version("5.4.2", sha256="7414861a7b038e407b510e8b8c9e58d5bf8ca76c9dfe07a01d20af388ec5086a") version("5.4.0", sha256="a90f77b0269addb2f381b00c09ad47710f2aab6b1d904f5e9a29953c30104d3f") version("5.3.1", sha256="a07666be71afe1ad4bc008c2336b7c688aca391271188eb9108d0c6db1be53f1") version("5.2.5", sha256="b5219e63ae31d895d60d98001ee5bb809fb2c7b2de1e7f78ceeb600063641e1a") @@ -31,6 +32,9 @@ class Assimp(CMakePackage): version("5.0.1", sha256="11310ec1f2ad2cd46b95ba88faca8f7aaa1efe9aa12605c55e3de2b977b3dbfc") version("4.0.1", sha256="60080d8ab4daaab309f65b3cffd99f19eb1af8d05623fff469b9b652818e286e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch( "https://patch-diff.githubusercontent.com/raw/assimp/assimp/pull/4203.patch?full_index=1", sha256="24135e88bcef205e118f7a3f99948851c78d3f3e16684104dc603439dd790d74", diff --git a/var/spack/repos/builtin/packages/astral/package.py b/var/spack/repos/builtin/packages/astral/package.py index 4a06d3658a0eca..a430bda03cf82b 100644 --- a/var/spack/repos/builtin/packages/astral/package.py +++ b/var/spack/repos/builtin/packages/astral/package.py @@ -25,7 +25,7 @@ class Astral(Package): ) version("4.10.7", sha256="314b49e0129ec06a7c78a1b60d590259ede6a5e75253407031e108d8048fcc79") - depends_on("java", type=("build", "run")) + depends_on("java@11", type=("build", "run")) depends_on("zip", type="build") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/astyle/package.py b/var/spack/repos/builtin/packages/astyle/package.py index 716a5f7c1e6529..202b0af22102b8 100644 --- a/var/spack/repos/builtin/packages/astyle/package.py +++ b/var/spack/repos/builtin/packages/astyle/package.py @@ -30,6 +30,8 @@ class Astyle(CMakePackage, MakefilePackage): version("2.05.1", sha256="fbdfc6f1966a972d19a215927266c76d4183eee235ed1e2bd7ec551c2a270eac") version("2.04", sha256="70b37f4853c418d1e2632612967eebf1bdb93dfbe558c51d7d013c9b4e116b60") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.8.0:", type="build", when="@3.2.0:") build_system(conditional("cmake", when="@3.2.0:"), "makefile", default="cmake") diff --git a/var/spack/repos/builtin/packages/at-spi2-atk/package.py b/var/spack/repos/builtin/packages/at-spi2-atk/package.py index 5d421477584255..85233ec111fcf1 100644 --- a/var/spack/repos/builtin/packages/at-spi2-atk/package.py +++ b/var/spack/repos/builtin/packages/at-spi2-atk/package.py @@ -22,6 +22,8 @@ class AtSpi2Atk(MesonPackage): version("2.26.2", sha256="61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e") version("2.26.1", sha256="b4f0c27b61dbffba7a5b5ba2ff88c8cee10ff8dac774fa5b79ce906853623b75") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("at-spi2-core@2.28.0:") depends_on("atk@2.28.1:") diff --git a/var/spack/repos/builtin/packages/at-spi2-core/package.py b/var/spack/repos/builtin/packages/at-spi2-core/package.py index cc8911a29c36a1..8be998302e4f8d 100644 --- a/var/spack/repos/builtin/packages/at-spi2-core/package.py +++ b/var/spack/repos/builtin/packages/at-spi2-core/package.py @@ -27,6 +27,8 @@ class AtSpi2Core(MesonPackage): version("2.36.0", sha256="88da57de0a7e3c60bc341a974a80fdba091612db3547c410d6deab039ca5c05a") version("2.28.0", sha256="42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87") + depends_on("c", type="build") # generated + depends_on("meson@0.46.0:", type="build") depends_on("glib@2.56.1:") depends_on("glib@2.68.1:", when="@2.51.91:") diff --git a/var/spack/repos/builtin/packages/atf/package.py b/var/spack/repos/builtin/packages/atf/package.py index a0916aec82a495..979211cab3b864 100644 --- a/var/spack/repos/builtin/packages/atf/package.py +++ b/var/spack/repos/builtin/packages/atf/package.py @@ -19,6 +19,9 @@ class Atf(AutotoolsPackage): version("0.20", sha256="3677cf957d7f574835b8bdd385984ba928d5695b3ff28f958e4227f810483ab7") version("0.19", sha256="f9b1d76dad7c34ae61a75638edc517fc05b10fa4c8f97b1d13d739bffee79b16") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/athena/package.py b/var/spack/repos/builtin/packages/athena/package.py index cf4da42d09283a..a49982a0b405a4 100644 --- a/var/spack/repos/builtin/packages/athena/package.py +++ b/var/spack/repos/builtin/packages/athena/package.py @@ -18,6 +18,8 @@ class Athena(AutotoolsPackage): version("master", branch="master") version("4.2", sha256="6334848d7f1325aa44859418feac8ce223b56793ae8907103000af5b27f50e7e") + depends_on("c", type="build") # generated + # PHYSICS "packages": variant( "problem", diff --git a/var/spack/repos/builtin/packages/atk/package.py b/var/spack/repos/builtin/packages/atk/package.py index bcb6425b081521..6bebc59054cc2f 100644 --- a/var/spack/repos/builtin/packages/atk/package.py +++ b/var/spack/repos/builtin/packages/atk/package.py @@ -34,6 +34,8 @@ class Atk(Package): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("meson@0.40.1:", type="build", when="@2.28:") depends_on("meson@0.46.0:", type="build", when="@2.29:") depends_on("glib") diff --git a/var/spack/repos/builtin/packages/atlas/package.py b/var/spack/repos/builtin/packages/atlas/package.py index 3788044cd2785d..026cf000d68b0f 100644 --- a/var/spack/repos/builtin/packages/atlas/package.py +++ b/var/spack/repos/builtin/packages/atlas/package.py @@ -34,6 +34,9 @@ class Atlas(Package): ) version("3.10.2", sha256="3aab139b118bf3fcdb4956fbd71676158d713ab0d3bccb2ae1dc3769db22102f") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # not all packages (e.g. Trilinos@12.6.3) stopped using deprecated in 3.6.0 # Lapack routines. Stick with 3.5.0 until this is fixed. resource( diff --git a/var/spack/repos/builtin/packages/atmi/package.py b/var/spack/repos/builtin/packages/atmi/package.py index 07c9e9fe4397b0..439f2c27796e4e 100644 --- a/var/spack/repos/builtin/packages/atmi/package.py +++ b/var/spack/repos/builtin/packages/atmi/package.py @@ -23,33 +23,18 @@ class Atmi(CMakePackage): maintainers("srekolam", "renjithravindrankannath") version("5.5.1", sha256="6b3ee68433506315b55d093a4b47463916874fb6f3f602098eaff2ec283e69ab") version("5.5.0", sha256="b8bfd32e5c386f5169da62172964343f9b7fad207e0e74dd1093c7acf06d9811") - version("5.4.3", sha256="243aae6614e5bd136a099102957a6d65a01434b620291349613ad63701868ef8") - version("5.4.0", sha256="b5cce10d7099fecbb40a0d9c2f29a7675315471fe145212b375e37e4c8ba5618") - version("5.3.3", sha256="cc1144e4939cea2944f6c72a21406b9dc5b56d933696494074c280df7469834a") - version("5.3.0", sha256="dffc0eb0bc1617843e7f728dbd6c8b12326c5c8baa34369aa267aab40f5deb6a") with default_args(deprecated=True): - version("5.2.3", sha256="5f66c59e668cf968e86b556a0a52ee0202d1b370d8406e291a874cbfd200ee17") - version("5.2.1", sha256="6b33445aa67444c038cd756f855a58a72dd35db57e7b63da37fe78a8585b982b") - version("5.2.0", sha256="33e77905a607734157d46c736c924c7c50b6b13f2b2ddbf711cb08e37f2efa4f") - version("5.1.3", sha256="a43448d77705b2b07e1758ffe8035aa6ba146abc2167984e8cb0f1615797b341") - version("5.1.0", sha256="6a758f5a8332e6774cd8e14a4e5ce05e43b1e05298d817b4068c35fa1793d333") + version("5.4.3", sha256="243aae6614e5bd136a099102957a6d65a01434b620291349613ad63701868ef8") + version("5.4.0", sha256="b5cce10d7099fecbb40a0d9c2f29a7675315471fe145212b375e37e4c8ba5618") + version("5.3.3", sha256="cc1144e4939cea2944f6c72a21406b9dc5b56d933696494074c280df7469834a") + version("5.3.0", sha256="dffc0eb0bc1617843e7f728dbd6c8b12326c5c8baa34369aa267aab40f5deb6a") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("cmake@3:", type="build") depends_on("rsync") - - for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", - "5.3.0", - "5.3.3", - "5.4.0", - "5.4.3", - "5.5.0", - "5.5.1", - ]: + for ver in ["5.3.0", "5.3.3", "5.4.0", "5.4.3", "5.5.0", "5.5.1"]: depends_on(f"comgr@{ver}", type="link", when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", type="link", when=f"@{ver}") depends_on("elf", type="link", when=f"@{ver}") @@ -59,8 +44,6 @@ class Atmi(CMakePackage): root_cmakelists_dir = "src" - # Reset the installation path and remove direct reference to rsync. - patch("0002-Remove-usr-bin-rsync-reference-5.2.0.patch", when="@5.0.2:5.2.0") # Remove direct reference to /usr/bin/rsync path for rsync command patch( "0002-Remove-direct-reference-to-usr-bin-rysnc-for-rsync-cmd-5.2.1.patch", when="@5.2.1:" diff --git a/var/spack/repos/builtin/packages/atompaw/package.py b/var/spack/repos/builtin/packages/atompaw/package.py index c056dedccba596..cf062ef3aeebfc 100644 --- a/var/spack/repos/builtin/packages/atompaw/package.py +++ b/var/spack/repos/builtin/packages/atompaw/package.py @@ -29,6 +29,10 @@ class Atompaw(AutotoolsPackage): version("4.0.0.13", sha256="cbd73f11f3e9cc3ff2e5f3ec87498aeaf439555903d0b95a72f3b0a021902020") version("3.1.0.3", sha256="15fe9a0369bdcc366370a0ecaa67e803ae54534b479ad63c4c7494a04fa3ea78") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("lapack") depends_on("blas") diff --git a/var/spack/repos/builtin/packages/atop/package.py b/var/spack/repos/builtin/packages/atop/package.py index f87d6c0c6ada94..1136b5741bdb01 100644 --- a/var/spack/repos/builtin/packages/atop/package.py +++ b/var/spack/repos/builtin/packages/atop/package.py @@ -20,6 +20,8 @@ class Atop(Package): version("2.2.6", sha256="d0386840ee4df36e5d0ad55f144661b434d9ad35d94deadc0405b514485db615") version("2.2-3", sha256="c785b8a2355be28b3de6b58a8ea4c4fcab8fadeaa57a99afeb03c66fac8e055d") + depends_on("c", type="build") # generated + depends_on("zlib-api") depends_on("ncurses") diff --git a/var/spack/repos/builtin/packages/attr/package.py b/var/spack/repos/builtin/packages/attr/package.py index 3ab1244986fcc2..d8659708493611 100644 --- a/var/spack/repos/builtin/packages/attr/package.py +++ b/var/spack/repos/builtin/packages/attr/package.py @@ -18,6 +18,8 @@ class Attr(AutotoolsPackage): version("2.4.47", sha256="25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859") version("2.4.46", sha256="dcd69bdca7ff166bc45141eddbcf21967999a6b66b0544be12a1cc2fd6340e1f") + depends_on("c", type="build") # generated + def url_for_version(self, version): if version >= Version("2.4.48"): url = "http://download.savannah.gnu.org/releases/attr/attr-{0}.tar.gz" diff --git a/var/spack/repos/builtin/packages/audacious/package.py b/var/spack/repos/builtin/packages/audacious/package.py index d6737186f5ee1c..2ee953de775767 100644 --- a/var/spack/repos/builtin/packages/audacious/package.py +++ b/var/spack/repos/builtin/packages/audacious/package.py @@ -19,6 +19,9 @@ class Audacious(AutotoolsPackage): version("3.10.1", sha256="c478939b4bcf6704c26eee87d48cab26547e92a83741f437711178c433373fa1") version("3.10", sha256="82710d6ac90931c2cc4a0f0fcb6380ac21ed42a7a50856d16a67d3179a96e9ae") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/audacity/package.py b/var/spack/repos/builtin/packages/audacity/package.py index 9e3332032ceaf9..9e97c93a7f344a 100644 --- a/var/spack/repos/builtin/packages/audacity/package.py +++ b/var/spack/repos/builtin/packages/audacity/package.py @@ -22,4 +22,7 @@ class Audacity(CMakePackage): version("2.4.1", sha256="50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f") version("2.4.0", sha256="5d1c096d7b04ff8d5dbca3dca5b9d9f8e62093b5ea6e57ae5f821ae3132dc88f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("wxwidgets") diff --git a/var/spack/repos/builtin/packages/audit-userspace/package.py b/var/spack/repos/builtin/packages/audit-userspace/package.py index aa9877a2933c9e..1c719a9753990a 100644 --- a/var/spack/repos/builtin/packages/audit-userspace/package.py +++ b/var/spack/repos/builtin/packages/audit-userspace/package.py @@ -21,6 +21,8 @@ class AuditUserspace(AutotoolsPackage): version("2.8.3", sha256="c239e3813b84bc264aaf2f796c131c1fe02960244f789ec2bd8d88aad4561b29") version("2.8.2", sha256="0a312a8487190d97715d46abb30aa2abd464b55f21d5c2d24428baa320ee4ce2") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/augustus/package.py b/var/spack/repos/builtin/packages/augustus/package.py index a80de62d02f479..6a28651cee4d00 100644 --- a/var/spack/repos/builtin/packages/augustus/package.py +++ b/var/spack/repos/builtin/packages/augustus/package.py @@ -38,6 +38,9 @@ class Augustus(MakefilePackage): url="https://bioinf.uni-greifswald.de/augustus/binaries/old/augustus-3.2.3.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("perl", type=("build", "run")) depends_on("python", when="@3.3.1:", type=("build", "run")) depends_on("bamtools") diff --git a/var/spack/repos/builtin/packages/authd/package.py b/var/spack/repos/builtin/packages/authd/package.py index 230d32196ef88e..fa02a85c18c533 100644 --- a/var/spack/repos/builtin/packages/authd/package.py +++ b/var/spack/repos/builtin/packages/authd/package.py @@ -18,6 +18,8 @@ class Authd(MakefilePackage): version("1.4.4", sha256="71ee3d1c3e107c93e082148f75ee460c949b203c861dd20d48f7c5cfdc272bf8") + depends_on("c", type="build") # generated + def setup_run_environment(self, env): env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/authselect/package.py b/var/spack/repos/builtin/packages/authselect/package.py index fb61a06610ece3..9bdd979206af47 100644 --- a/var/spack/repos/builtin/packages/authselect/package.py +++ b/var/spack/repos/builtin/packages/authselect/package.py @@ -18,6 +18,8 @@ class Authselect(AutotoolsPackage): version("1.2", sha256="c354c87a0115612cb51b09b5157f151569e16384cdd69f32b8515209036531b4") version("1.1", sha256="39b888575980c1ecac7022dfe5a5452eef59cef850b8544ed5f928e2e8a335dd") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/autodiff/package.py b/var/spack/repos/builtin/packages/autodiff/package.py index ac7b50477e43be..78dca3bc183b93 100644 --- a/var/spack/repos/builtin/packages/autodiff/package.py +++ b/var/spack/repos/builtin/packages/autodiff/package.py @@ -14,7 +14,7 @@ class Autodiff(CMakePackage): list_url = "https://github.com/autodiff/autodiff/tags" git = "https://github.com/autodiff/autodiff.git" - maintainers("wdconinc", "HadrienG2") + maintainers("wdconinc") license("MIT") @@ -31,6 +31,8 @@ class Autodiff(CMakePackage): version("0.6.4", sha256="cfe0bb7c0de10979caff9d9bfdad7e6267faea2b8d875027397486b47a7edd75") version("0.5.13", sha256="a73dc571bcaad6b44f74865fed51af375f5a877db44321b5568d94a4358b77a1") + depends_on("cxx", type="build") # generated + variant("python", default=False, description="Enable the compilation of the python bindings.") variant("examples", default=False, description="Enable the compilation of the example files.") diff --git a/var/spack/repos/builtin/packages/autodock-gpu/package.py b/var/spack/repos/builtin/packages/autodock-gpu/package.py index e687cfd4ce73b3..f37859b13f581c 100644 --- a/var/spack/repos/builtin/packages/autodock-gpu/package.py +++ b/var/spack/repos/builtin/packages/autodock-gpu/package.py @@ -22,6 +22,8 @@ class AutodockGpu(MakefilePackage, CudaPackage): version("develop", branch="develop") + depends_on("cxx", type="build") # generated + variant( "device", default="cuda", diff --git a/var/spack/repos/builtin/packages/autodock-vina/package.py b/var/spack/repos/builtin/packages/autodock-vina/package.py index f1cfa5694c303e..b4104e99377712 100644 --- a/var/spack/repos/builtin/packages/autodock-vina/package.py +++ b/var/spack/repos/builtin/packages/autodock-vina/package.py @@ -27,6 +27,8 @@ class AutodockVina(MakefilePackage): url="https://github.com/ccsb-scripps/AutoDock-Vina/archive/refs/tags/v1.1.2-boost-new.tar.gz", ) + depends_on("cxx", type="build") # generated + depends_on( "boost@1.50.0:1.75.0 +filesystem +program_options +serialization +system +thread", when="@1.1.2", diff --git a/var/spack/repos/builtin/packages/autogen/package.py b/var/spack/repos/builtin/packages/autogen/package.py index 895970b374eb66..215e3793452d29 100644 --- a/var/spack/repos/builtin/packages/autogen/package.py +++ b/var/spack/repos/builtin/packages/autogen/package.py @@ -21,6 +21,8 @@ class Autogen(AutotoolsPackage, GNUMirrorPackage): version("5.18.12", sha256="805c20182f3cb0ebf1571d3b01972851c56fb34348dfdc38799fd0ec3b2badbe") + depends_on("c", type="build") # generated + variant("xml", default=True, description="Enable XML support") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/automaded/package.py b/var/spack/repos/builtin/packages/automaded/package.py index bd488830d08934..4006fbaf888b70 100644 --- a/var/spack/repos/builtin/packages/automaded/package.py +++ b/var/spack/repos/builtin/packages/automaded/package.py @@ -24,6 +24,8 @@ class Automaded(CMakePackage): version("1.0", sha256="600740cdd594cc6968c7bcb285d0829eb0ddbd5597c32c06c6ae5d9929a2625d") + depends_on("cxx", type="build") # generated + depends_on("mpi") # TODO: replace this with an explicit list of components of Boost, diff --git a/var/spack/repos/builtin/packages/automake/package.py b/var/spack/repos/builtin/packages/automake/package.py index d0ae1456edcacf..3e5d07085a9c2d 100644 --- a/var/spack/repos/builtin/packages/automake/package.py +++ b/var/spack/repos/builtin/packages/automake/package.py @@ -25,6 +25,8 @@ class Automake(AutotoolsPackage, GNUMirrorPackage): version("1.13.4", sha256="4c93abc0bff54b296f41f92dd3aa1e73e554265a6f719df465574983ef6f878c") version("1.11.6", sha256="53dbf1945401c43f4ce19c1971baecdbf8bc32e0f37fa3f49fe7b6992d0d2030") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("perl+threads", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/aws-ofi-nccl/package.py b/var/spack/repos/builtin/packages/aws-ofi-nccl/package.py index c128a1033f545b..adb7474869c4f3 100644 --- a/var/spack/repos/builtin/packages/aws-ofi-nccl/package.py +++ b/var/spack/repos/builtin/packages/aws-ofi-nccl/package.py @@ -26,6 +26,8 @@ class AwsOfiNccl(AutotoolsPackage): version("1.7.1", sha256="d50a160c7aba76445e5c895fba0f3dbfdec51f702d218168a5e5017806cf0fb0") version("1.6.0", sha256="19a6fc91afe9a317fd3154c897fa219eab48fcdddefa66d881f1843c1165f7ee") + depends_on("c", type="build") # generated + variant("trace", default=False, description="Enable printing trace messages") variant("tests", default=False, description="Build tests") diff --git a/var/spack/repos/builtin/packages/aws-ofi-rccl/package.py b/var/spack/repos/builtin/packages/aws-ofi-rccl/package.py index f831c885375434..abb83477a423c5 100644 --- a/var/spack/repos/builtin/packages/aws-ofi-rccl/package.py +++ b/var/spack/repos/builtin/packages/aws-ofi-rccl/package.py @@ -23,6 +23,8 @@ class AwsOfiRccl(AutotoolsPackage): version("cxi", branch="cxi", preferred=True) version("master", branch="master") + depends_on("c", type="build") # generated + variant("trace", default=False, description="Enable printing trace messages") variant("tests", default=False, description="Build tests") diff --git a/var/spack/repos/builtin/packages/aws-sdk-cpp/package.py b/var/spack/repos/builtin/packages/aws-sdk-cpp/package.py index cdea77da7e8ef4..82227f0a6f7788 100644 --- a/var/spack/repos/builtin/packages/aws-sdk-cpp/package.py +++ b/var/spack/repos/builtin/packages/aws-sdk-cpp/package.py @@ -51,6 +51,9 @@ class AwsSdkCpp(CMakePackage): submodules=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type="build") depends_on("zlib-api") depends_on("curl") diff --git a/var/spack/repos/builtin/packages/axel/package.py b/var/spack/repos/builtin/packages/axel/package.py index eb57c69b897e6b..93cf39625345ec 100644 --- a/var/spack/repos/builtin/packages/axel/package.py +++ b/var/spack/repos/builtin/packages/axel/package.py @@ -19,6 +19,8 @@ class Axel(AutotoolsPackage): version("2.17.10", sha256="c0d26eba6b94945cd98c5b69ca6df2744639d17bfd49047ef51a8a48f067de10") version("2.16.1", sha256="763066efc61e4f7be2eb59afa049bdbc520837e01c95a78f403e542ad82f2719") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") # For systems not providing libintl APU in the system libc (glibc integrated it) diff --git a/var/spack/repos/builtin/packages/axl/package.py b/var/spack/repos/builtin/packages/axl/package.py index f1b51eb388b272..998cdc8cd184d2 100644 --- a/var/spack/repos/builtin/packages/axl/package.py +++ b/var/spack/repos/builtin/packages/axl/package.py @@ -45,6 +45,8 @@ class Axl(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("kvtree") depends_on("zlib-api", type="link") diff --git a/var/spack/repos/builtin/packages/axom/package.py b/var/spack/repos/builtin/packages/axom/package.py index 0504c845855430..908d468e058556 100644 --- a/var/spack/repos/builtin/packages/axom/package.py +++ b/var/spack/repos/builtin/packages/axom/package.py @@ -59,6 +59,10 @@ class Axom(CachedCMakePackage, CudaPackage, ROCmPackage): version("0.3.0", tag="v0.3.0", commit="20068ccab4b4f70055918b4f17960ec3ed6dbce8") version("0.2.9", tag="v0.2.9", commit="9e9a54ede3326817c05f35922738516e43b5ec3d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # https://github.com/spack/spack/issues/31829 patch("examples-oneapi.patch", when="@0.6.1 +examples %oneapi") diff --git a/var/spack/repos/builtin/packages/babelflow/package.py b/var/spack/repos/builtin/packages/babelflow/package.py index 7be4ce4d726c22..ccaacb0421024e 100644 --- a/var/spack/repos/builtin/packages/babelflow/package.py +++ b/var/spack/repos/builtin/packages/babelflow/package.py @@ -23,6 +23,8 @@ class Babelflow(CMakePackage): version("1.0.1", sha256="b7817870b7a1d7ae7ae2eff1a1acec2824675fb856f666d5dc95c41ce453ae91") version("1.0.0", sha256="4c4d7ddf60e25e8d3550c07875dba3e46e7c9e61b309cc47a409461b7ffa405e") + depends_on("cxx", type="build") # generated + depends_on("mpi") variant("shared", default=True, description="Build Babelflow as shared libs") diff --git a/var/spack/repos/builtin/packages/babelstream/package.py b/var/spack/repos/builtin/packages/babelstream/package.py index 4b2a1c58571eb0..f7e6d6fbd5db4c 100644 --- a/var/spack/repos/builtin/packages/babelstream/package.py +++ b/var/spack/repos/builtin/packages/babelstream/package.py @@ -26,6 +26,8 @@ class Babelstream(CMakePackage, CudaPackage, ROCmPackage): version("main", branch="main") version("develop", branch="develop") + depends_on("cxx", type="build") # generated + maintainers("tomdeakin", "kaanolgu", "tom91136", "robj0nes") # Languages diff --git a/var/spack/repos/builtin/packages/babeltrace/package.py b/var/spack/repos/builtin/packages/babeltrace/package.py index af0552d6a01f90..3677c2b4292b77 100644 --- a/var/spack/repos/builtin/packages/babeltrace/package.py +++ b/var/spack/repos/builtin/packages/babeltrace/package.py @@ -18,6 +18,8 @@ class Babeltrace(AutotoolsPackage): version("1.2.4", sha256="666e3a1ad2dc7d5703059963056e7800f0eab59c8eeb6be2efe4f3acc5209eb1") + depends_on("c", type="build") # generated + depends_on("glib@2.22:", type=("build", "link")) depends_on("uuid") depends_on("popt") diff --git a/var/spack/repos/builtin/packages/babl/package.py b/var/spack/repos/builtin/packages/babl/package.py index dc9b480eaed07a..d100f204d4a385 100644 --- a/var/spack/repos/builtin/packages/babl/package.py +++ b/var/spack/repos/builtin/packages/babl/package.py @@ -29,6 +29,8 @@ class Babl(MesonPackage): version("0.1.92", sha256="f667735028944b6375ad18f160a64ceb93f5c7dccaa9d8751de359777488a2c1") version("0.1.90", sha256="6e2ebb636f37581588e3d02499b3d2f69f9ac73e34a262f42911d7f5906a9243") + depends_on("c", type="build") # generated + depends_on("cmake@3.4:", type="build") depends_on("lcms") depends_on("gobject-introspection") diff --git a/var/spack/repos/builtin/packages/bacio/package.py b/var/spack/repos/builtin/packages/bacio/package.py index fba81bb1189dc4..1bf0e9f842e030 100644 --- a/var/spack/repos/builtin/packages/bacio/package.py +++ b/var/spack/repos/builtin/packages/bacio/package.py @@ -20,16 +20,10 @@ class Bacio(CMakePackage): version("develop", branch="develop") version("2.6.0", sha256="03fef581e1bd3710fb8d2f2659a6c3e01a0437c1350ba53958d2ff1ffef47bcb") version("2.5.0", sha256="540a0ed73941d70dbf5d7b21d5d0a441e76fad2bfe37dfdfea0db3e98fc0fbfb") + version("2.4.1", sha256="7b9b6ba0a288f438bfba6a08b6e47f8133f7dba472a74ac56a5454e2260a7200") - # Prefer version 2.4.1 because the library and include directory - # names changed in verion 2.5.0 (dropping the "_4" they used to - # contain.) We need some time to let all the using packages adjust - # to the new names. - version( - "2.4.1", - sha256="7b9b6ba0a288f438bfba6a08b6e47f8133f7dba472a74ac56a5454e2260a7200", - preferred=True, - ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated variant("pic", default=True, description="Build with position-independent-code") variant("shared", default=False, description="Build shared library", when="@2.6.0:") @@ -43,3 +37,7 @@ def cmake_args(self): def patch(self): if self.spec.satisfies("@2.4.1"): filter_file(".+", "2.4.1", "VERSION") + + def check(self): + with working_dir(self.builder.build_directory): + make("test") diff --git a/var/spack/repos/builtin/packages/backward-cpp/package.py b/var/spack/repos/builtin/packages/backward-cpp/package.py index 05e7a5ae32324c..7905f6682a618d 100644 --- a/var/spack/repos/builtin/packages/backward-cpp/package.py +++ b/var/spack/repos/builtin/packages/backward-cpp/package.py @@ -24,6 +24,8 @@ class BackwardCpp(CMakePackage): version("1.2", sha256="0a44fdad126cf2c53f93c33fd6418abaf99672048c98a5a57e2a2e43a38d5f84") version("1.1", sha256="36139e98b8b6a8ff84b28c50fd6443054ccee93cf63231fdd1db0036093553c4") + depends_on("cxx", type="build") # generated + variant("dwarf", default=False, description="Use libdwarf/libelf to read debug info") depends_on("libdwarf", when="+dwarf") diff --git a/var/spack/repos/builtin/packages/bam-readcount/package.py b/var/spack/repos/builtin/packages/bam-readcount/package.py index 3a5bb85905da8d..e7373d4cdcd2bb 100644 --- a/var/spack/repos/builtin/packages/bam-readcount/package.py +++ b/var/spack/repos/builtin/packages/bam-readcount/package.py @@ -17,5 +17,7 @@ class BamReadcount(CMakePackage): version("1.0.1", sha256="8ebf84d9efee0f2d3b43f0452dbf16b27337c960e25128f6a7173119e62588b8") version("0.8.0", sha256="4f4dd558e3c6bfb24d6a57ec441568f7524be6639b24f13ea6f2bb350c7ea65f") + depends_on("cxx", type="build") # generated + def setup_build_environment(self, env): env.append_flags("CFLAGS", self.compiler.cc_pic_flag) diff --git a/var/spack/repos/builtin/packages/bamaddrg/package.py b/var/spack/repos/builtin/packages/bamaddrg/package.py index ae30012e3ab737..fe0f4c518491c7 100644 --- a/var/spack/repos/builtin/packages/bamaddrg/package.py +++ b/var/spack/repos/builtin/packages/bamaddrg/package.py @@ -16,6 +16,8 @@ class Bamaddrg(MakefilePackage): version("0.1", sha256="725a689d8326d72f865837b231005a9211d6c70a25b7a3a754df4f90d2996355") + depends_on("cxx", type="build") # generated + depends_on("bamtools", type="build") def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/bamdst/package.py b/var/spack/repos/builtin/packages/bamdst/package.py index 9080d471e20c98..e89438222ac32a 100644 --- a/var/spack/repos/builtin/packages/bamdst/package.py +++ b/var/spack/repos/builtin/packages/bamdst/package.py @@ -14,6 +14,8 @@ class Bamdst(MakefilePackage): version("master", git="https://github.com/shiquan/bamdst.git") + depends_on("c", type="build") # generated + depends_on("zlib-api") parallel = False diff --git a/var/spack/repos/builtin/packages/bamtools/package.py b/var/spack/repos/builtin/packages/bamtools/package.py index f6007ae761f816..cb26f3b6867c69 100644 --- a/var/spack/repos/builtin/packages/bamtools/package.py +++ b/var/spack/repos/builtin/packages/bamtools/package.py @@ -24,6 +24,8 @@ class Bamtools(CMakePackage): version("2.3.0", sha256="288046e6d5d41afdc5fce8608c5641cf2b8e670644587c1315b90bbe92f039af") version("2.2.3", sha256="92ddef44801a1f8f01ce1a397f83e0f8b5e1ae8ad92c620f2dafaaf8d54cf178") + depends_on("cxx", type="build") # generated + depends_on("zlib-api", type="link") depends_on("jsoncpp") diff --git a/var/spack/repos/builtin/packages/bamutil/package.py b/var/spack/repos/builtin/packages/bamutil/package.py index b568cb8385d554..975bf3252911a8 100644 --- a/var/spack/repos/builtin/packages/bamutil/package.py +++ b/var/spack/repos/builtin/packages/bamutil/package.py @@ -24,6 +24,8 @@ class Bamutil(MakefilePackage): url="https://genome.sph.umich.edu/w/images/7/70/BamUtilLibStatGen.1.0.13.tgz", ) + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("git", type="build", when="@1.0.15:") diff --git a/var/spack/repos/builtin/packages/banner/package.py b/var/spack/repos/builtin/packages/banner/package.py index c997b5a18c7ff6..fa230b1e355fe4 100644 --- a/var/spack/repos/builtin/packages/banner/package.py +++ b/var/spack/repos/builtin/packages/banner/package.py @@ -21,6 +21,8 @@ class Banner(AutotoolsPackage): version("1.3.5", sha256="fb21c42620a0a668334b5732a6216b23b3990ca5d87cf3b15f0689dc617e7fdc") + depends_on("c", type="build") # generated + def url_for_version(self, version): return "https://github.com/pronovic/banner/archive/refs/tags/BANNER_V{0}.tar.gz".format( version diff --git a/var/spack/repos/builtin/packages/bannergrab/package.py b/var/spack/repos/builtin/packages/bannergrab/package.py index 7bd7abbb4d12b3..7a60ff04e6ec48 100644 --- a/var/spack/repos/builtin/packages/bannergrab/package.py +++ b/var/spack/repos/builtin/packages/bannergrab/package.py @@ -19,6 +19,8 @@ class Bannergrab(MakefilePackage): version("master", branch="master") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) mkdirp(prefix.man1) diff --git a/var/spack/repos/builtin/packages/bart/package.py b/var/spack/repos/builtin/packages/bart/package.py index d3920734349605..5bb8a2c6d240f6 100644 --- a/var/spack/repos/builtin/packages/bart/package.py +++ b/var/spack/repos/builtin/packages/bart/package.py @@ -18,6 +18,9 @@ class Bart(MakefilePackage, CudaPackage): version("0.6.00", sha256="dbbd33d1e3ed3324fe21f90a3b62cb51765fe369f21df100b46a32004928f18d") version("0.5.00", sha256="30eedcda0f0ef3808157542e0d67df5be49ee41e4f41487af5c850632788f643") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # patch to fix build with MKL patch( "https://github.com/mrirecon/bart/commit/b62ca4972d5ac41a44217a5c27123c15daae74db.patch?full_index=1", diff --git a/var/spack/repos/builtin/packages/bash-completion/package.py b/var/spack/repos/builtin/packages/bash-completion/package.py index 245be3d518be33..5d835d2aa44bf0 100644 --- a/var/spack/repos/builtin/packages/bash-completion/package.py +++ b/var/spack/repos/builtin/packages/bash-completion/package.py @@ -20,6 +20,8 @@ class BashCompletion(AutotoolsPackage): version("2.7", sha256="dba2b88c363178622b61258f35d82df64dc8d279359f599e3b93eac0375a416c") version("2.3", sha256="d92fcef5f6e3bbc68a84f0a7b063a1cd07b4000cc6e275cd1ff83863ab3b322a") + depends_on("c", type="build") # generated + # Build dependencies depends_on("automake", type="build") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/bash/package.py b/var/spack/repos/builtin/packages/bash/package.py index ae322c17857d96..3e520521062ef6 100644 --- a/var/spack/repos/builtin/packages/bash/package.py +++ b/var/spack/repos/builtin/packages/bash/package.py @@ -22,6 +22,8 @@ class Bash(AutotoolsPackage, GNUMirrorPackage): version("4.4", sha256="d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb") version("4.3", sha256="afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4") + depends_on("c", type="build") # generated + depends_on("ncurses") depends_on("readline@8.2:", when="@5.2:") depends_on("readline@5.0:") diff --git a/var/spack/repos/builtin/packages/bat/package.py b/var/spack/repos/builtin/packages/bat/package.py index 1718b778c6d2a2..2af4dd2eee8a96 100644 --- a/var/spack/repos/builtin/packages/bat/package.py +++ b/var/spack/repos/builtin/packages/bat/package.py @@ -19,3 +19,7 @@ class Bat(CargoPackage): version("0.21.0", sha256="3dff1e52d577d0a105f4afe3fe7722a4a2b8bb2eb3e7a6a5284ac7add586a3ee") version("0.13.0", sha256="f4aee370013e2a3bc84c405738ed0ab6e334d3a9f22c18031a7ea008cd5abd2a") version("0.12.1", sha256="1dd184ddc9e5228ba94d19afc0b8b440bfc1819fef8133fe331e2c0ec9e3f8e2") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/batchedblas/package.py b/var/spack/repos/builtin/packages/batchedblas/package.py index 283e7e23a37857..fa3e79a2a98c6b 100644 --- a/var/spack/repos/builtin/packages/batchedblas/package.py +++ b/var/spack/repos/builtin/packages/batchedblas/package.py @@ -18,6 +18,8 @@ class Batchedblas(MakefilePackage): version("1.0", sha256="798ae4e7cc4ad5c3d5f3479f3d001da566d7d5205779103aaf10cd5b956ba433") + depends_on("c", type="build") # generated + depends_on("blas") patch("AVX2.patch") diff --git a/var/spack/repos/builtin/packages/batctl/package.py b/var/spack/repos/builtin/packages/batctl/package.py index 84a5cb3aa310e0..5c69f5263b6dd8 100644 --- a/var/spack/repos/builtin/packages/batctl/package.py +++ b/var/spack/repos/builtin/packages/batctl/package.py @@ -19,6 +19,8 @@ class Batctl(MakefilePackage): version("2019.3", sha256="2bd93fa14925a8dc63a67e64266c8ccd2fa3ac44b10253d93e6f8a630350070c") version("2019.2", sha256="fb656208ff7d4cd8b1b422f60c9e6d8747302a347cbf6c199d7afa9b80f80ea3") + depends_on("c", type="build") # generated + depends_on("libnl") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/baurmc/package.py b/var/spack/repos/builtin/packages/baurmc/package.py index 3fff20bcb00d11..a3a711ac0e412a 100644 --- a/var/spack/repos/builtin/packages/baurmc/package.py +++ b/var/spack/repos/builtin/packages/baurmc/package.py @@ -22,6 +22,8 @@ class Baurmc(AutotoolsPackage): version("1.0", sha256="de5027ed2e66028bed890760bee9d869e1e330ac7f7112ee5cb25868cea5c35b") + depends_on("fortran", type="build") # generated + @property def configure_directory(self): return os.path.join(self.stage.source_path, str(self.spec.version)) diff --git a/var/spack/repos/builtin/packages/bbmap/package.py b/var/spack/repos/builtin/packages/bbmap/package.py index f45c473e023eda..4404eb725666e2 100644 --- a/var/spack/repos/builtin/packages/bbmap/package.py +++ b/var/spack/repos/builtin/packages/bbmap/package.py @@ -19,6 +19,8 @@ class Bbmap(Package, SourceforgePackage): version("37.78", sha256="f2da19f64d2bfb7db4c0392212668b425c96a27c77bd9d88d8f0aea90a193509") version("37.36", sha256="befe76d7d6f3d0f0cd79b8a01004a2283bdc0b5ab21b0743e9dbde7c7d79e8a9") + depends_on("c", type="build") # generated + depends_on("java") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/bc/package.py b/var/spack/repos/builtin/packages/bc/package.py index 7ab944d91ea140..a756baa783580f 100644 --- a/var/spack/repos/builtin/packages/bc/package.py +++ b/var/spack/repos/builtin/packages/bc/package.py @@ -19,6 +19,8 @@ class Bc(AutotoolsPackage, GNUMirrorPackage): version("1.07.1", sha256="62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a") version("1.07", sha256="55cf1fc33a728d7c3d386cc7b0cb556eb5bacf8e0cb5a3fcca7f109fc61205ad") + depends_on("c", type="build") # generated + depends_on("ed", type="build") depends_on("texinfo", type="build") diff --git a/var/spack/repos/builtin/packages/bcache/package.py b/var/spack/repos/builtin/packages/bcache/package.py index 598c50f09ef076..21d850f04005d7 100644 --- a/var/spack/repos/builtin/packages/bcache/package.py +++ b/var/spack/repos/builtin/packages/bcache/package.py @@ -21,6 +21,8 @@ class Bcache(MakefilePackage): version("1.0.5", sha256="1449294ef545b3dc6f715f7b063bc2c8656984ad73bcd81a0dc048cbba416ea9") version("1.0.4", sha256="102ffc3a8389180f4b491188c3520f8a4b1a84e5a7ca26d2bd6de1821f4d913d") + depends_on("c", type="build") # generated + depends_on("uuid") depends_on("util-linux") depends_on("gettext") diff --git a/var/spack/repos/builtin/packages/bcftools/package.py b/var/spack/repos/builtin/packages/bcftools/package.py index e1867c3cebaa80..05cf578bf9603b 100644 --- a/var/spack/repos/builtin/packages/bcftools/package.py +++ b/var/spack/repos/builtin/packages/bcftools/package.py @@ -37,6 +37,9 @@ class Bcftools(AutotoolsPackage): version("1.3.1", sha256="12c37a4054cbf1980223e2b3a80a7fdb3fd850324a4ba6832e38fdba91f1b924") version("1.2", sha256="53c628339020dd45334a007c9cefdaf1cba3f1032492ec813b116379fa684fd6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "libgsl", default=False, diff --git a/var/spack/repos/builtin/packages/bdftopcf/package.py b/var/spack/repos/builtin/packages/bdftopcf/package.py index bd190c5e46a644..30ee505a4dfaf2 100644 --- a/var/spack/repos/builtin/packages/bdftopcf/package.py +++ b/var/spack/repos/builtin/packages/bdftopcf/package.py @@ -22,6 +22,8 @@ class Bdftopcf(AutotoolsPackage, XorgPackage): version("1.1", sha256="699d1a62012035b1461c7f8e3f05a51c8bd6f28f348983249fb89bbff7309b47") version("1.0.5", sha256="78a5ec945de1d33e6812167b1383554fda36e38576849e74a9039dc7364ff2c3") + depends_on("c", type="build") # generated + depends_on("libxfont") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/bdsim/package.py b/var/spack/repos/builtin/packages/bdsim/package.py index 656fde32ce026f..cf007073b44698 100644 --- a/var/spack/repos/builtin/packages/bdsim/package.py +++ b/var/spack/repos/builtin/packages/bdsim/package.py @@ -27,6 +27,8 @@ class Bdsim(CMakePackage): version("1.7.0", sha256="713ce3c9d94f340ca774ce1803e0c4f992b904dbc28ce4129713abe883e98683") version("1.6.0", sha256="e3241d2d097cb4e22249e315c1474da9b3657b9c6893232d9f9e543a5323f717") + depends_on("cxx", type="build") # generated + depends_on("cmake") depends_on("geant4") depends_on("geant4@:10.7.3", when="@:1.6.0") diff --git a/var/spack/repos/builtin/packages/bdw-gc/package.py b/var/spack/repos/builtin/packages/bdw-gc/package.py index 5f9943691bac16..25434ffac83c2f 100644 --- a/var/spack/repos/builtin/packages/bdw-gc/package.py +++ b/var/spack/repos/builtin/packages/bdw-gc/package.py @@ -31,6 +31,9 @@ class BdwGc(AutotoolsPackage): url="http://www.hboehm.info/gc/gc_source/gc-7.4.4.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("libatomic-ops", default=True, description="Use external libatomic-ops") variant( "threads", diff --git a/var/spack/repos/builtin/packages/bear/package.py b/var/spack/repos/builtin/packages/bear/package.py index e7389a4f4cc367..b58df4beab0596 100644 --- a/var/spack/repos/builtin/packages/bear/package.py +++ b/var/spack/repos/builtin/packages/bear/package.py @@ -31,6 +31,9 @@ class Bear(CMakePackage): version("2.2.0", sha256="6bd61a6d64a24a61eab17e7f2950e688820c72635e1cf7ea8ea7bf9482f3b612") version("2.0.4", sha256="33ea117b09068aa2cd59c0f0f7535ad82c5ee473133779f1cc20f6f99793a63e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pkgconfig", when="@3:") depends_on("fmt@8", when="@3.0.0:") depends_on("grpc +shared", when="@3.0.0:") diff --git a/var/spack/repos/builtin/packages/beast-tracer/package.py b/var/spack/repos/builtin/packages/beast-tracer/package.py index 1ed549a8a0ff55..bb3c6d0aa6b617 100644 --- a/var/spack/repos/builtin/packages/beast-tracer/package.py +++ b/var/spack/repos/builtin/packages/beast-tracer/package.py @@ -18,6 +18,8 @@ class BeastTracer(Package): version("1.7.2", sha256="fd891e2244445fef71ab8010d8fab924abff2e5436e035bb335834e7c2e6d83b") version("1.7.1", sha256="947d51c5afa52354099b9b182ba6036e352356bd62df94031f33cdcb7e8effd3") + depends_on("c", type="build") # generated + depends_on("ant", type="build") depends_on("java", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/beast1/package.py b/var/spack/repos/builtin/packages/beast1/package.py index 9e557fde3abe9f..ba4c933122d87e 100644 --- a/var/spack/repos/builtin/packages/beast1/package.py +++ b/var/spack/repos/builtin/packages/beast1/package.py @@ -15,6 +15,8 @@ class Beast1(Package): version("1.10.4", sha256="be652c4d55953f7c6c7a9d3eb3de203c77dc380e81ad81cfe0492408990c36a8") version("1.8.4", sha256="c14e93976008463108aefa34ecc23287ab70703caccf4962e36e295207120d78") + depends_on("c", type="build") # generated + variant("beagle", default=True, description="Build with libbeagle support") depends_on("java", type="run") diff --git a/var/spack/repos/builtin/packages/beatnik/package.py b/var/spack/repos/builtin/packages/beatnik/package.py index d16ec01a24af58..2000a7a80a843e 100644 --- a/var/spack/repos/builtin/packages/beatnik/package.py +++ b/var/spack/repos/builtin/packages/beatnik/package.py @@ -20,6 +20,8 @@ class Beatnik(CMakePackage, CudaPackage, ROCmPackage): version("develop", branch="develop") version("main", branch="main") + depends_on("cxx", type="build") # generated + # Variants are primarily backends to build on GPU systems and pass the right # informtion to the packages we depend on variant("cuda", default=False, description="Use CUDA support from subpackages") diff --git a/var/spack/repos/builtin/packages/bedops/package.py b/var/spack/repos/builtin/packages/bedops/package.py index 9d49dfd649b51e..a1e29fa2f4ada3 100644 --- a/var/spack/repos/builtin/packages/bedops/package.py +++ b/var/spack/repos/builtin/packages/bedops/package.py @@ -26,6 +26,9 @@ class Bedops(MakefilePackage): version("2.4.34", sha256="533a62a403130c048d3378e6a975b73ea88d156d4869556a6b6f58d90c52ed95") version("2.4.30", sha256="218e0e367aa79747b2f90341d640776eea17befc0fdc35b0cec3c6184098d462") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + @property def build_targets(self): # avoid static linking with glibc for all invocations diff --git a/var/spack/repos/builtin/packages/bedtools2/package.py b/var/spack/repos/builtin/packages/bedtools2/package.py index 045c6b1dd6a7df..7a13dc7641f445 100644 --- a/var/spack/repos/builtin/packages/bedtools2/package.py +++ b/var/spack/repos/builtin/packages/bedtools2/package.py @@ -27,6 +27,9 @@ class Bedtools2(Package): version("2.25.0", sha256="159122afb9978015f7ec85d7b17739b01415a5738086b20a48147eeefcf08cfb") version("2.23.0", sha256="9dacaa561d11ce9835d1d51e5aeb092bcbe117b7119663ec9a671abac6a36056") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("bzip2", when="@2.29:") depends_on("xz", when="@2.29:") diff --git a/var/spack/repos/builtin/packages/beforelight/package.py b/var/spack/repos/builtin/packages/beforelight/package.py index 321805e4b652d2..ac5e68ea95a9c3 100644 --- a/var/spack/repos/builtin/packages/beforelight/package.py +++ b/var/spack/repos/builtin/packages/beforelight/package.py @@ -20,6 +20,8 @@ class Beforelight(AutotoolsPackage, XorgPackage): version("1.0.6", sha256="735579a7671a9f9de16b7211cf0ba39027183bdc3e82a937fbccfdd893e64a2e") version("1.0.5", sha256="93bb3c457d6d5e8def3180fdee07bc84d1b7f0e5378a95812e2193cd51455cdc") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxscrnsaver") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/benchmark/package.py b/var/spack/repos/builtin/packages/benchmark/package.py index 13887d425234a0..7300c40e8c47d3 100644 --- a/var/spack/repos/builtin/packages/benchmark/package.py +++ b/var/spack/repos/builtin/packages/benchmark/package.py @@ -39,6 +39,8 @@ class Benchmark(CMakePackage): version("1.1.0", sha256="e7334dd254434c6668e33a54c8f839194c7c61840d52f4b6258eee28e9f3b20e") version("1.0.0", sha256="d2206c263fc1a7803d4b10e164e0c225f6bcf0d5e5f20b87929f137dee247b54") + depends_on("cxx", type="build") # generated + variant( "build_type", default="RelWithDebInfo", diff --git a/var/spack/repos/builtin/packages/berkeley-db/package.py b/var/spack/repos/builtin/packages/berkeley-db/package.py index c549ed24b99cb7..acce6ce336ec72 100644 --- a/var/spack/repos/builtin/packages/berkeley-db/package.py +++ b/var/spack/repos/builtin/packages/berkeley-db/package.py @@ -34,6 +34,9 @@ class BerkeleyDb(AutotoolsPackage): ) version("5.3.28", sha256="e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("docs", default=False, description="Build documentation") variant("cxx", default=True, description="Build with C++ API") variant("stl", default=True, description="Build with C++ STL API") diff --git a/var/spack/repos/builtin/packages/berkeleygw/package.py b/var/spack/repos/builtin/packages/berkeleygw/package.py index 4f97c5a91ba482..a6003995bdc80f 100644 --- a/var/spack/repos/builtin/packages/berkeleygw/package.py +++ b/var/spack/repos/builtin/packages/berkeleygw/package.py @@ -47,6 +47,10 @@ class Berkeleygw(MakefilePackage): expand=False, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # For parallel computing support, enable +mpi. It uses MPI and ScaLAPACK # which are inter-dependent in the berkeleygw code(they need each other): # https://github.com/spack/spack/pull/33948#issuecomment-1323805817 diff --git a/var/spack/repos/builtin/packages/bertini/package.py b/var/spack/repos/builtin/packages/bertini/package.py index 68b52246a882d5..d74608455c68d1 100644 --- a/var/spack/repos/builtin/packages/bertini/package.py +++ b/var/spack/repos/builtin/packages/bertini/package.py @@ -18,6 +18,8 @@ class Bertini(AutotoolsPackage): version("1.5", sha256="a9a68a96e180fe6a93ba1bc1d61f522784c9a053b049b2cbd98008b5b6deec3c") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Compile in parallel") depends_on("flex", type="build") diff --git a/var/spack/repos/builtin/packages/bfs/package.py b/var/spack/repos/builtin/packages/bfs/package.py index d517b5ed90bed9..36476092bb144d 100644 --- a/var/spack/repos/builtin/packages/bfs/package.py +++ b/var/spack/repos/builtin/packages/bfs/package.py @@ -22,6 +22,8 @@ class Bfs(MakefilePackage): version("3.0.2", sha256="d3456a9aeecc031064db0dbe012e55a11eb97be88d0ab33a90e570fe66457f92") version("3.0.1", sha256="a38bb704201ed29f4e0b989fb2ab3791ca51c3eff90acfc31fff424579bbf962") + depends_on("c", type="build") # generated + depends_on("acl", when="platform=linux") depends_on("attr", when="platform=linux") depends_on("libcap", when="platform=linux") diff --git a/var/spack/repos/builtin/packages/bgen/package.py b/var/spack/repos/builtin/packages/bgen/package.py index 0a2e6443f89339..f71d04d47278e9 100644 --- a/var/spack/repos/builtin/packages/bgen/package.py +++ b/var/spack/repos/builtin/packages/bgen/package.py @@ -25,3 +25,6 @@ class Bgen(WafPackage): sha256="121f5956f04ad174bc410fa7deed59e2ebff0ec818a3c66cf5d667357dddfb62", url="https://enkre.net/cgi-bin/code/bgen/tarball/6ac2d582f9/BGEN-6ac2d582f9.tar.gz", ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/bgpdump/package.py b/var/spack/repos/builtin/packages/bgpdump/package.py index 334769aca16f92..c83bded26376b0 100644 --- a/var/spack/repos/builtin/packages/bgpdump/package.py +++ b/var/spack/repos/builtin/packages/bgpdump/package.py @@ -14,6 +14,8 @@ class Bgpdump(AutotoolsPackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/bigdft-atlab/package.py b/var/spack/repos/builtin/packages/bigdft-atlab/package.py index fca44cf20f7f13..08792adde4fc09 100644 --- a/var/spack/repos/builtin/packages/bigdft-atlab/package.py +++ b/var/spack/repos/builtin/packages/bigdft-atlab/package.py @@ -20,6 +20,10 @@ class BigdftAtlab(AutotoolsPackage): version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41") version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant("openmp", default=True, description="Enable OpenMP support") variant("openbabel", default=False, description="Enable detection of openbabel compilation") diff --git a/var/spack/repos/builtin/packages/bigdft-chess/package.py b/var/spack/repos/builtin/packages/bigdft-chess/package.py index dc5ba9362a37e5..54664c8f73ad19 100644 --- a/var/spack/repos/builtin/packages/bigdft-chess/package.py +++ b/var/spack/repos/builtin/packages/bigdft-chess/package.py @@ -19,6 +19,10 @@ class BigdftChess(AutotoolsPackage, CudaPackage): version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41") version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant("openmp", default=True, description="Enable OpenMP support") variant("scalapack", default=True, description="Enable SCALAPACK support") diff --git a/var/spack/repos/builtin/packages/bigdft-core/package.py b/var/spack/repos/builtin/packages/bigdft-core/package.py index 834b65f3777c24..5b9b61aa368eba 100644 --- a/var/spack/repos/builtin/packages/bigdft-core/package.py +++ b/var/spack/repos/builtin/packages/bigdft-core/package.py @@ -19,6 +19,10 @@ class BigdftCore(AutotoolsPackage, CudaPackage): version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41") version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant("openmp", default=True, description="Enable OpenMP support") variant("scalapack", default=True, description="Enable SCALAPACK support") diff --git a/var/spack/repos/builtin/packages/bigdft-futile/package.py b/var/spack/repos/builtin/packages/bigdft-futile/package.py index 8f9218d3835a3c..ca65dc29a9cf54 100644 --- a/var/spack/repos/builtin/packages/bigdft-futile/package.py +++ b/var/spack/repos/builtin/packages/bigdft-futile/package.py @@ -24,6 +24,10 @@ class BigdftFutile(AutotoolsPackage, CudaPackage): version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41") version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant("openmp", default=True, description="Enable OpenMP support") variant( diff --git a/var/spack/repos/builtin/packages/bigdft-libabinit/package.py b/var/spack/repos/builtin/packages/bigdft-libabinit/package.py index c88763946b2aaa..451e72065655ac 100644 --- a/var/spack/repos/builtin/packages/bigdft-libabinit/package.py +++ b/var/spack/repos/builtin/packages/bigdft-libabinit/package.py @@ -21,6 +21,10 @@ class BigdftLibabinit(AutotoolsPackage): version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41") version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/bigdft-psolver/package.py b/var/spack/repos/builtin/packages/bigdft-psolver/package.py index 95a2ea73ca5a7e..7557b28b45becc 100644 --- a/var/spack/repos/builtin/packages/bigdft-psolver/package.py +++ b/var/spack/repos/builtin/packages/bigdft-psolver/package.py @@ -22,6 +22,10 @@ class BigdftPsolver(AutotoolsPackage, CudaPackage): version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41") version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant("openmp", default=True, description="Enable OpenMP support") variant("scalapack", default=True, description="Enable SCALAPACK support") diff --git a/var/spack/repos/builtin/packages/bigdft-spred/package.py b/var/spack/repos/builtin/packages/bigdft-spred/package.py index 14215c3f7fe47a..f468e67a9217ed 100644 --- a/var/spack/repos/builtin/packages/bigdft-spred/package.py +++ b/var/spack/repos/builtin/packages/bigdft-spred/package.py @@ -19,6 +19,10 @@ class BigdftSpred(AutotoolsPackage): version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41") version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/binder/llvm_dir.patch b/var/spack/repos/builtin/packages/binder/llvm_dir.patch new file mode 100644 index 00000000000000..dbd38b2e806b1c --- /dev/null +++ b/var/spack/repos/builtin/packages/binder/llvm_dir.patch @@ -0,0 +1,12 @@ +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index 06a0353..32678eb 100644 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -107,7 +107,6 @@ if(USE_EXTERNAL_LLVM) + else() + target_link_libraries(binder + PRIVATE +- ${lib_llvm_path} + clang + clang-cpp + ) diff --git a/var/spack/repos/builtin/packages/binder/package.py b/var/spack/repos/builtin/packages/binder/package.py index 0b08dd0c290d2e..34bd72518006e5 100644 --- a/var/spack/repos/builtin/packages/binder/package.py +++ b/var/spack/repos/builtin/packages/binder/package.py @@ -24,13 +24,19 @@ class Binder(CMakePackage): license("MIT") version("master", branch="master") + version("1.4.2", tag="v1.4.2", commit="b9f309e0513e745a7465571321e87595fa33d195") version("1.3.0", tag="v1.3.0", commit="e9b55985af297ca161d615058e4a5da07c22bc77") version("1.2.0", tag="v1.2.0", commit="90cf5b31b6f4ecad3fe87518ca2b949dc9e8ed1a") version("1.1.0", tag="v1.0.0", commit="3de7949343197295250f988716d511a264b21324") version("1.0.0", tag="v1.0.0", commit="3de7949343197295250f988716d511a264b21324") + depends_on("cxx", type="build") # generated + # Add dependencies - depends_on("llvm+clang+llvm_dylib@7.0:9") + depends_on("llvm+clang+llvm_dylib@7.0:9", when="@:1.3.0") + depends_on("llvm+clang+llvm_dylib@7.0:", when="@1.4.2:") + + patch("llvm_dir.patch", when="@1.4.2:") def cmake_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/binutils/package.py b/var/spack/repos/builtin/packages/binutils/package.py index 76e060f88ccf8f..5c90098c830bb7 100644 --- a/var/spack/repos/builtin/packages/binutils/package.py +++ b/var/spack/repos/builtin/packages/binutils/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) import os +import pathlib import re from llnl.util.filesystem import force_remove, working_dir @@ -89,6 +90,9 @@ class Binutils(AutotoolsPackage, GNUMirrorPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("plugins", default=True, description="enable plugins, needed for gold linker") # When you build ld.gold you automatically get ld, even when you add the # --disable-ld flag @@ -181,10 +185,6 @@ class Binutils(AutotoolsPackage, GNUMirrorPackage): # when compiling with debug symbols on gcc. conflicts("+gas", "~ld", msg="Assembler not always compatible with system ld") - # When you build ld.gold you automatically get ld, even when you add the - # --disable-ld flag - conflicts("~ld", "+gold") - @when("@2.39") @run_before("autoreconf") def force_autoreconf_gprofng(self): @@ -197,17 +197,19 @@ def determine_version(cls, exe): match = re.search(r"GNU (nm|readelf).* (\S+)", output) return Version(match.group(2)).dotted.up_to(3) if match else None - @run_after("install") - def install_headers(self): - # some packages (like TAU) need the ELF headers, so install them - # as a subdirectory in include/extras - if "+headers" in self.spec: - extradir = join_path(self.prefix.include, "extra") - mkdirp(extradir) - # grab the full binutils set of headers - install_tree("include", extradir) - # also grab the headers from the bfd directory - install(join_path(self.build_directory, "bfd", "*.h"), extradir) + @classmethod + def determine_variants(cls, exes, version_str): + bin_dir = pathlib.Path(exes[0]).parent + include_dir = bin_dir.parent / "include" + plugin_h = include_dir / "plugin-api.h" + + variants = "+gold" if find(str(bin_dir), "gold", recursive=False) else "~gold" + if find(str(include_dir), str(plugin_h), recursive=False): + variants += "+headers" + else: + variants += "~headers" + + return variants def flag_handler(self, name, flags): spec = self.spec diff --git a/var/spack/repos/builtin/packages/biobambam2/package.py b/var/spack/repos/builtin/packages/biobambam2/package.py index e0826724e3d4dc..c50f11c47ac435 100644 --- a/var/spack/repos/builtin/packages/biobambam2/package.py +++ b/var/spack/repos/builtin/packages/biobambam2/package.py @@ -18,6 +18,8 @@ class Biobambam2(AutotoolsPackage): url="https://gitlab.com/german.tischler/biobambam2/-/archive/2.0.177-release-20201112105453/biobambam2-2.0.177-release-20201112105453.tar.gz", ) + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/biobloom/package.py b/var/spack/repos/builtin/packages/biobloom/package.py index e89488f9ef99eb..8559f7504a3e8a 100644 --- a/var/spack/repos/builtin/packages/biobloom/package.py +++ b/var/spack/repos/builtin/packages/biobloom/package.py @@ -16,6 +16,9 @@ class Biobloom(AutotoolsPackage): version("2.3.5", sha256="03fbc0d0fc867f76d64f756d556598e5fe5f015363df8f97fbed4cfd541c6749") version("2.2.0", sha256="5d09f8690f0b6402f967ac09c5b0f769961f3fe3791000f8f73af6af7324f02c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost+exception+math+serialization+container") depends_on("sdsl-lite") depends_on("sparsehash") diff --git a/var/spack/repos/builtin/packages/biopieces/package.py b/var/spack/repos/builtin/packages/biopieces/package.py index 3b36ee0b5862fc..d84bce1f094909 100644 --- a/var/spack/repos/builtin/packages/biopieces/package.py +++ b/var/spack/repos/builtin/packages/biopieces/package.py @@ -18,6 +18,8 @@ class Biopieces(Package): version("2016-04-12", commit="982f80f7c55e2cae67737d80fe35a4e784762856", submodules=True) + depends_on("c", type="build") # generated + depends_on("perl", type=("build", "run")) depends_on("perl-module-build", type=("build", "run")) depends_on("perl-bit-vector", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/bison/package.py b/var/spack/repos/builtin/packages/bison/package.py index e3305d7a8f1653..7226ae8be4d9d7 100644 --- a/var/spack/repos/builtin/packages/bison/package.py +++ b/var/spack/repos/builtin/packages/bison/package.py @@ -50,6 +50,9 @@ class Bison(AutotoolsPackage, GNUMirrorPackage): version("3.0.4", sha256="b67fd2daae7a64b5ba862c66c07c1addb9e6b1b05c5f2049392cfd8a2172952e") version("2.7", sha256="19bbe7374fd602f7a6654c131c21a15aebdc06cc89493e8ff250cb7f9ed0a831") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("color", default=False, description="Enable experimental colored output", when="@3.4:") # https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00008.html diff --git a/var/spack/repos/builtin/packages/bitgroomingz/package.py b/var/spack/repos/builtin/packages/bitgroomingz/package.py index ec6fdfd17f844e..57727803d57e88 100644 --- a/var/spack/repos/builtin/packages/bitgroomingz/package.py +++ b/var/spack/repos/builtin/packages/bitgroomingz/package.py @@ -17,6 +17,8 @@ class Bitgroomingz(CMakePackage): version("master", branch="master") version("2022-10-14", commit="a018b20cca9f7d6a5396ab36230e4be6ae1cb25b") + depends_on("c", type="build") # generated + variant("shared", default=True, description="build shared libs") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/bitlbee/package.py b/var/spack/repos/builtin/packages/bitlbee/package.py index 1ffdd1b9b5babb..56f5e9d5bfcceb 100644 --- a/var/spack/repos/builtin/packages/bitlbee/package.py +++ b/var/spack/repos/builtin/packages/bitlbee/package.py @@ -18,6 +18,8 @@ class Bitlbee(AutotoolsPackage): version("3.6", sha256="6ec3a1054eaa98eaaabe6159cb4912cfd6286f71adcfa970419b273b38fdfe0c") version("3.5-2", sha256="cdcf3ed829d1905b73687b6aa189bbfaf9194f886d9fc7156646827dc0384fdb") + depends_on("c", type="build") # generated + depends_on("glib") depends_on("gnutls") depends_on("libgcrypt") diff --git a/var/spack/repos/builtin/packages/bitmap/package.py b/var/spack/repos/builtin/packages/bitmap/package.py index fc2e3940badd20..c99c8001647c39 100644 --- a/var/spack/repos/builtin/packages/bitmap/package.py +++ b/var/spack/repos/builtin/packages/bitmap/package.py @@ -16,6 +16,8 @@ class Bitmap(AutotoolsPackage, XorgPackage): version("1.1.0", sha256="60ca941e8e38e1f8f9c61d3e86c098878113fd11eac4e07177c111f0bf00779e") version("1.0.8", sha256="1a2fbd10a2ca5cd93f7b77bbb0555b86d8b35e0fc18d036b1607c761755006fc") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxmu") depends_on("libxaw") diff --git a/var/spack/repos/builtin/packages/bitsery/package.py b/var/spack/repos/builtin/packages/bitsery/package.py index f3695651b61d91..078fe1fcb1dabf 100644 --- a/var/spack/repos/builtin/packages/bitsery/package.py +++ b/var/spack/repos/builtin/packages/bitsery/package.py @@ -16,3 +16,5 @@ class Bitsery(CMakePackage): license("MIT") version("5.1.0", sha256="8f46667db5d0b62fdaab33612108498bcbcbe9cfa48d2cd220b2129734440a8d") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/blackhat/package.py b/var/spack/repos/builtin/packages/blackhat/package.py index 6ed4a4a42c84e9..5d6563cf516ec3 100644 --- a/var/spack/repos/builtin/packages/blackhat/package.py +++ b/var/spack/repos/builtin/packages/blackhat/package.py @@ -14,6 +14,9 @@ class Blackhat(AutotoolsPackage): version("0.9.9", branch="cms/v0.9.9") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("qd") depends_on("python") extends("python") diff --git a/var/spack/repos/builtin/packages/blake3/package.py b/var/spack/repos/builtin/packages/blake3/package.py new file mode 100644 index 00000000000000..923d5a0fcd69ee --- /dev/null +++ b/var/spack/repos/builtin/packages/blake3/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 Blake3(CMakePackage): + """BLAKE3 is a cryptographic hash function""" + + homepage = "https://github.com/BLAKE3-team/BLAKE3" + url = "https://github.com/BLAKE3-team/BLAKE3/archive/refs/tags/1.5.1.tar.gz" + + root_cmakelists_dir = "c" + + maintainers("haampie") + + version("1.5.1", sha256="822cd37f70152e5985433d2c50c8f6b2ec83aaf11aa31be9fe71486a91744f37") + + depends_on("c", type="build") # generated + + depends_on("cmake@3.9:", type="build") diff --git a/var/spack/repos/builtin/packages/blaspp/package.py b/var/spack/repos/builtin/packages/blaspp/package.py index 0fda353caae526..b6ba591ed6cf5f 100644 --- a/var/spack/repos/builtin/packages/blaspp/package.py +++ b/var/spack/repos/builtin/packages/blaspp/package.py @@ -21,6 +21,9 @@ class Blaspp(CMakePackage, CudaPackage, ROCmPackage): license("BSD-3-Clause") version("master", branch="master") + version( + "2024.05.31", sha256="24f325d2e1c2cc4275324bd88406555688379480877d19553656a0328287927a" + ) version( "2023.11.05", sha256="62dfc03ec07c0826e0466dc2c204b460caa929d53ad4f050cb132d92670be7ce" ) @@ -49,6 +52,8 @@ class Blaspp(CMakePackage, CudaPackage, ROCmPackage): "2020.10.00", sha256="ce148cfe397428d507c72d7d9eba5e9d3f55ad4cd842e6e873c670183dcb7795" ) + depends_on("cxx", type="build") # generated + variant("openmp", default=True, description="Use OpenMP internally.") variant("shared", default=True, description="Build shared libraries") variant("sycl", default=False, description="Build support for the SYCL backend") diff --git a/var/spack/repos/builtin/packages/blast-legacy/package.py b/var/spack/repos/builtin/packages/blast-legacy/package.py index bad9bdd26995d1..f85bdac5808230 100644 --- a/var/spack/repos/builtin/packages/blast-legacy/package.py +++ b/var/spack/repos/builtin/packages/blast-legacy/package.py @@ -21,6 +21,9 @@ class BlastLegacy(Package): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("tcsh", type="build") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/blast-plus/package.py b/var/spack/repos/builtin/packages/blast-plus/package.py index 0506a4188316e6..2ab6ca28c718f6 100644 --- a/var/spack/repos/builtin/packages/blast-plus/package.py +++ b/var/spack/repos/builtin/packages/blast-plus/package.py @@ -24,6 +24,9 @@ class BlastPlus(AutotoolsPackage): version("2.6.0", sha256="0510e1d607d0fb4389eca50d434d5a0be787423b6850b3a4f315abc2ef19c996") version("2.2.30", sha256="26f72d51c81b9497f33b7274109565c36692572faef4d72377f79b7e59910e40") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # homebrew sez: Fixed upstream in future version > 2.6 # But this bug sez that it will be fixed in 2.6 # https://github.com/Homebrew/homebrew-science/pull/4740 diff --git a/var/spack/repos/builtin/packages/blat/package.py b/var/spack/repos/builtin/packages/blat/package.py index 5246c0eee7c927..4f258d206a83db 100644 --- a/var/spack/repos/builtin/packages/blat/package.py +++ b/var/spack/repos/builtin/packages/blat/package.py @@ -18,7 +18,7 @@ class Blat(Package): version("35", sha256="06d9bcf114ec4a4b21fef0540a0532556b6602322a5a2b33f159dc939ae53620") depends_on("libpng") - depends_on("libuuid", when="@37:") + depends_on("uuid", when="@37:") depends_on("mysql-client", when="@37:") @when("@37") diff --git a/var/spack/repos/builtin/packages/blaze/package.py b/var/spack/repos/builtin/packages/blaze/package.py index e2762147f5c0e4..3826610462afea 100644 --- a/var/spack/repos/builtin/packages/blaze/package.py +++ b/var/spack/repos/builtin/packages/blaze/package.py @@ -22,6 +22,8 @@ class Blaze(CMakePackage): maintainers("nilsvu") version("master", branch="master") + version("3.8.2", sha256="4c4e1915971efbedab95790e4c5cf017d8448057fa8f8c62c46e1643bf72cbb1") + version("3.8.1", sha256="a084c6d1acc75e742a1cdcddf93d0cda0d9e3cc4014c246d997a064fa2196d39") version("3.8", sha256="dfaae1a3a9fea0b3cc92e78c9858dcc6c93301d59f67de5d388a3a41c8a629ae") version("3.7", sha256="ef3cbc5db7d62dcdde0af88d3c951051254afd750d26773406fddb6afc5ad890") version("3.6", sha256="2ebbadacaf3f066e27352c1e413ead127b7ced8a3b202ae45f39c8f5f12324cc") @@ -45,6 +47,8 @@ class Blaze(CMakePackage): version("1.1", sha256="6add20eb9c176ea9f8091c49b101f46d1a1a6bd9c31553a6eff5e53603f0527f") version("1.0", sha256="ee13cfd467c1a4b0fe7cc58b61b846eae862167a90dd2e60559626a30418b5a3") + depends_on("cxx", type="build") # generated + # These configuration options set defaults for dependent packages and # control Blaze dependencies. They can also be enabled or disabled with # compiler flags later by dependent packages, since Blaze is a header-only diff --git a/var/spack/repos/builtin/packages/blis/package.py b/var/spack/repos/builtin/packages/blis/package.py index f5b6387e137596..e298ca6a69c666 100644 --- a/var/spack/repos/builtin/packages/blis/package.py +++ b/var/spack/repos/builtin/packages/blis/package.py @@ -138,6 +138,10 @@ class Blis(BlisBase): version("0.3.0", sha256="d34d17df7bdc2be8771fe0b7f867109fd10437ac91e2a29000a4a23164c7f0da") version("0.2.2", sha256="4a7ecb56034fb20e9d1d8b16e2ef587abbc3d30cb728e70629ca7e795a7998e8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Problems with permissions on installed libraries: # https://github.com/flame/blis/issues/343 patch("Makefile_0.6.0.patch", when="@0.4.0:0.6.0") diff --git a/var/spack/repos/builtin/packages/blitz/package.py b/var/spack/repos/builtin/packages/blitz/package.py index 2ef254bd1c12bc..617af332dbe75f 100644 --- a/var/spack/repos/builtin/packages/blitz/package.py +++ b/var/spack/repos/builtin/packages/blitz/package.py @@ -6,7 +6,7 @@ from spack.package import * -class Blitz(AutotoolsPackage): +class Blitz(CMakePackage): """N-dimensional arrays for C++""" homepage = "https://github.com/blitzpp/blitz" @@ -16,17 +16,10 @@ class Blitz(AutotoolsPackage): version("1.0.2", sha256="500db9c3b2617e1f03d0e548977aec10d36811ba1c43bb5ef250c0e3853ae1c2") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("python@3:", type="build") - depends_on("m4", type="build") - depends_on("autoconf", type="build") - depends_on("automake", type="build") - depends_on("libtool", type="build") # Fix makefile and include to build with Fujitsu compiler patch("fujitsu_compiler_specfic_header.patch", when="%fj") - - build_targets = ["lib"] - - def check(self): - make("check-testsuite") - make("check-examples") diff --git a/var/spack/repos/builtin/packages/blktrace/package.py b/var/spack/repos/builtin/packages/blktrace/package.py index 99cbdd772543a4..f6ef57e5d584f1 100644 --- a/var/spack/repos/builtin/packages/blktrace/package.py +++ b/var/spack/repos/builtin/packages/blktrace/package.py @@ -28,6 +28,8 @@ class Blktrace(MakefilePackage): version("1.0.3", sha256="78c6825212fe6700039fab77d53bc02e6b324e712caea718fff190e4e034cfa8") version("1.0.2", sha256="15f01e2a952919ba3c7b90f8bd891d1a98c454626501094030df632666786343") + depends_on("c", type="build") # generated + depends_on("libaio") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/bloaty/package.py b/var/spack/repos/builtin/packages/bloaty/package.py index ed940950b27b00..0774b107fe8dbb 100644 --- a/var/spack/repos/builtin/packages/bloaty/package.py +++ b/var/spack/repos/builtin/packages/bloaty/package.py @@ -17,3 +17,6 @@ class Bloaty(CMakePackage): license("Apache-2.0") version("1.1", sha256="a308d8369d5812aba45982e55e7c3db2ea4780b7496a5455792fb3dcba9abd6f") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/blogbench/package.py b/var/spack/repos/builtin/packages/blogbench/package.py index 3f03391b157290..e827a2ca7d196c 100644 --- a/var/spack/repos/builtin/packages/blogbench/package.py +++ b/var/spack/repos/builtin/packages/blogbench/package.py @@ -15,3 +15,5 @@ class Blogbench(AutotoolsPackage): version("1.2", sha256="1eabdb1ac0ad8ff6f5b9de36b2ef9b684a35b6e40aea0424e3dd4d6cd923c1af") version("1.1", sha256="8cded059bfdbccb7be35bb6a2272ecfdbe3fbea43d53c92ba5572ac24f26c4df") version("1.0", sha256="dc29261a19064a8fb64d39b27607f19d3b33ce3795908e717404167687ef33be") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/blt/package.py b/var/spack/repos/builtin/packages/blt/package.py index 1e488b5f13f7f3..4202ca559c9893 100644 --- a/var/spack/repos/builtin/packages/blt/package.py +++ b/var/spack/repos/builtin/packages/blt/package.py @@ -88,6 +88,10 @@ class Blt(Package): version("0.2.5", sha256="3a000f60194e47b3e5623cc528cbcaf88f7fea4d9620b3c7446ff6658dc582a5") version("0.2.0", sha256="c0cadf1269c2feb189e398a356e3c49170bc832df95e5564e32bdbb1eb0fa1b3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake", type="run") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/bmake/package.py b/var/spack/repos/builtin/packages/bmake/package.py index 95558244604d34..3ae19ae9a72c7c 100644 --- a/var/spack/repos/builtin/packages/bmake/package.py +++ b/var/spack/repos/builtin/packages/bmake/package.py @@ -20,6 +20,8 @@ class Bmake(Package): version("20180512", sha256="ac3cd262065fcc20c1dec7c95f06306c8138b3e17025b949343a06a8980a5508") version("20171207", sha256="1703667e53a0498c0903b20612ebcbb41b886a94b238624cfeadd91a4111d39a") + depends_on("c", type="build") # generated + def patch(self): # Do not pre-roff cat pages filter_file("MANTARGET?", "MANTARGET", "mk/man.mk", string=True) diff --git a/var/spack/repos/builtin/packages/bmi/package.py b/var/spack/repos/builtin/packages/bmi/package.py index 5ae430148c2c09..ff2be55bf51f6e 100644 --- a/var/spack/repos/builtin/packages/bmi/package.py +++ b/var/spack/repos/builtin/packages/bmi/package.py @@ -20,6 +20,8 @@ class Bmi(AutotoolsPackage): version("main", branch="main") version("2.8.1", sha256="28aa4341f0456cf20ee762f712d7c749ab8f864003329f9327c18ea03fc7ffdb") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/bml/package.py b/var/spack/repos/builtin/packages/bml/package.py index 2822968fc63e5d..a2f7eecb0d4e90 100644 --- a/var/spack/repos/builtin/packages/bml/package.py +++ b/var/spack/repos/builtin/packages/bml/package.py @@ -32,6 +32,10 @@ class Bml(CMakePackage): version("1.2.2", sha256="babc2fd0229397e418be00f3691277e86f549b5a23cadbcee66078595e9176a0") version("1.1.0", sha256="a90ede19d80ed870f0bf1588875a9f371484d89006a7296010d8d791da3eac33") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Build shared libs") variant("mpi", default=True, description="Build with MPI Support") diff --git a/var/spack/repos/builtin/packages/bohrium/package.py b/var/spack/repos/builtin/packages/bohrium/package.py index fd9e6656631ac2..c9f01ae431423d 100644 --- a/var/spack/repos/builtin/packages/bohrium/package.py +++ b/var/spack/repos/builtin/packages/bohrium/package.py @@ -30,6 +30,9 @@ class Bohrium(CMakePackage, CudaPackage): version("0.9.1", sha256="a8675db35ea4587ef12d5885a1aa19b59fd9c3f1366e239059de8b0f3cf51e04") version("0.9.0", sha256="6f6379f1555de5a6a19138beac891a470df7df1fc9594e2b9404cf01b6e17d93") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # # Variants # diff --git a/var/spack/repos/builtin/packages/boinc-client/package.py b/var/spack/repos/builtin/packages/boinc-client/package.py index 4b4ec8d7c369d8..5e120eeccf2776 100644 --- a/var/spack/repos/builtin/packages/boinc-client/package.py +++ b/var/spack/repos/builtin/packages/boinc-client/package.py @@ -21,6 +21,9 @@ class BoincClient(AutotoolsPackage): version("7.16.5", sha256="33db60991b253e717c6124cce4750ae7729eaab4e54ec718b9e37f87012d668a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("manager", default=False, description="Builds the client manager") variant("graphics", default=False, description="Graphic apps support") diff --git a/var/spack/repos/builtin/packages/bolt/package.py b/var/spack/repos/builtin/packages/bolt/package.py index 0c37acc5538656..a5486cb1a756a6 100644 --- a/var/spack/repos/builtin/packages/bolt/package.py +++ b/var/spack/repos/builtin/packages/bolt/package.py @@ -35,6 +35,9 @@ class Bolt(CMakePackage): version("1.0.1", sha256="769e30dfc4042cee7ebbdadd23cf08796c03bcd8b335f516dc8cbc3f8adfa597") version("1.0", sha256="1c0d2f75597485ca36335d313a73736594e75c8a36123c5a6f54d01b5ba5c384") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("argobots") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/bonniepp/package.py b/var/spack/repos/builtin/packages/bonniepp/package.py index 55dba48278ae5e..ae4a2817da99c8 100644 --- a/var/spack/repos/builtin/packages/bonniepp/package.py +++ b/var/spack/repos/builtin/packages/bonniepp/package.py @@ -15,6 +15,8 @@ class Bonniepp(AutotoolsPackage): version("1.98", sha256="6e0bcbc08b78856fd998dd7bcb352d4615a99c26c2dc83d5b8345b102bad0b04") + depends_on("cxx", type="build") # generated + def configure_args(self): configure_args = [] configure_args.append("--enable-debug") diff --git a/var/spack/repos/builtin/packages/bookleaf-cpp/package.py b/var/spack/repos/builtin/packages/bookleaf-cpp/package.py index 6a145c30de43bf..b9d9df610c8ebc 100644 --- a/var/spack/repos/builtin/packages/bookleaf-cpp/package.py +++ b/var/spack/repos/builtin/packages/bookleaf-cpp/package.py @@ -21,6 +21,8 @@ class BookleafCpp(CMakePackage): version("2.0.1", sha256="1286f916f59d1f3bf325041854e8c203894e293c5e26d5b19b9362ee02082983") version("2.0", sha256="3c14344c31385bec9e089f9babf815566c4fcf98a47822f663afa2cefb0e90e1") + depends_on("cxx", type="build") # generated + variant("typhon", default=True, description="Use Typhon") variant("parmetis", default=False, description="Use ParMETIS") variant("silo", default=False, description="Use Silo") diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py index 527d28c3579382..766d77e78dbd69 100644 --- a/var/spack/repos/builtin/packages/boost/package.py +++ b/var/spack/repos/builtin/packages/boost/package.py @@ -79,6 +79,9 @@ class Boost(Package): version("1.40.0", sha256="36cf4a239b587067a4923fdf6e290525a14c3af29829524fa73f3dec6841530c") version("1.39.0", sha256="44785eae8c6cce61a29a8a51f9b737e57b34d66baa7c0bcd4af188832b8018fd") + depends_on("c", type="build") + depends_on("cxx", type="build") + with_default_variants = "boost" + "".join( [ "+atomic", @@ -245,6 +248,8 @@ def libs(self): depends_on("zstd", when="+iostreams") depends_on("xz", when="+iostreams") depends_on("py-numpy", when="+numpy", type=("build", "run")) + # https://github.com/boostorg/python/issues/431 + depends_on("py-numpy@:1", when="@:1.85+numpy", type=("build", "run")) # Improve the error message when the context-impl variant is conflicting conflicts("context-impl=fcontext", when="@:1.65.0") @@ -446,7 +451,7 @@ def patch(self): def url_for_version(self, version): if version >= Version("1.63.0"): - url = "https://boostorg.jfrog.io/artifactory/main/release/{0}/source/boost_{1}.tar.bz2" + url = "https://archives.boost.io/release/{0}/source/boost_{1}.tar.bz2" else: url = "http://downloads.sourceforge.net/project/boost/boost/{0}/boost_{1}.tar.bz2" diff --git a/var/spack/repos/builtin/packages/boostmplcartesianproduct/package.py b/var/spack/repos/builtin/packages/boostmplcartesianproduct/package.py index e940d648b3bb7f..c66b1ca6a59cbf 100644 --- a/var/spack/repos/builtin/packages/boostmplcartesianproduct/package.py +++ b/var/spack/repos/builtin/packages/boostmplcartesianproduct/package.py @@ -17,5 +17,7 @@ class Boostmplcartesianproduct(Package): version("20161205", sha256="1fa8e367e4dc545b34016bf57d802858ce38baf40aff20f7c93b329895a18572") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): install_tree("boost/mpl", join_path(prefix.include, "boost", "mpl")) diff --git a/var/spack/repos/builtin/packages/botan/package.py b/var/spack/repos/builtin/packages/botan/package.py index 9159f15a0ddc8f..9a16a46547abd4 100644 --- a/var/spack/repos/builtin/packages/botan/package.py +++ b/var/spack/repos/builtin/packages/botan/package.py @@ -42,6 +42,8 @@ class Botan(MakefilePackage): version("2.12.0", sha256="1eaefd459d52f27de1805cff8c68792e0610919648ee98e101980e94edb90a63") version("2.11.0", sha256="f7874da2aeb8c018fd77df40b2137879bf90b66f5589490c991e83fb3e8094be") + depends_on("cxx", type="build") # generated + variant("doc", default=False, description="Build documentation") executables = ["^botan$"] diff --git a/var/spack/repos/builtin/packages/bowtie/package.py b/var/spack/repos/builtin/packages/bowtie/package.py index 2df76062168e41..cabf35d67dc5f0 100644 --- a/var/spack/repos/builtin/packages/bowtie/package.py +++ b/var/spack/repos/builtin/packages/bowtie/package.py @@ -42,6 +42,9 @@ class Bowtie(MakefilePackage): url="https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.0/bowtie-1.2-source.zip", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # 1.2.2 and 1.2.2_p1 fail to build with %gcc@8.3.0 # with and without issue-87 patch conflicts("%gcc@8:", when="@1.2.2") diff --git a/var/spack/repos/builtin/packages/boxlib/package.py b/var/spack/repos/builtin/packages/boxlib/package.py index 4d67b338e21f7a..2fc461baecfdba 100644 --- a/var/spack/repos/builtin/packages/boxlib/package.py +++ b/var/spack/repos/builtin/packages/boxlib/package.py @@ -17,6 +17,10 @@ class Boxlib(CMakePackage): version("16.12.2", sha256="e87faeccfcb14b3436d36c45fcd9f46ea20f65298d35c6db2a80d6332b036dd2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") variant( diff --git a/var/spack/repos/builtin/packages/bpp-core/package.py b/var/spack/repos/builtin/packages/bpp-core/package.py index c1bd5c19d9f8a7..c56ce4afa85303 100644 --- a/var/spack/repos/builtin/packages/bpp-core/package.py +++ b/var/spack/repos/builtin/packages/bpp-core/package.py @@ -23,6 +23,8 @@ class BppCore(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("cmake@2.6:", type="build") # Clarify isnan's namespace, because Fujitsu compiler can't diff --git a/var/spack/repos/builtin/packages/bpp-phyl-omics/package.py b/var/spack/repos/builtin/packages/bpp-phyl-omics/package.py index bdcd4c186bba8e..f5ae9825ac0890 100644 --- a/var/spack/repos/builtin/packages/bpp-phyl-omics/package.py +++ b/var/spack/repos/builtin/packages/bpp-phyl-omics/package.py @@ -20,6 +20,8 @@ class BppPhylOmics(CMakePackage): version("2.3.1", sha256="f4853b99bf0baacf96c9ba567a5875242283cba5fb6f066d74716c6f7d84bd34") version("2.3.0", sha256="c4dc3aa39826c50bd8fe7ee4c56a92c8eb9922edc143864a0e2da34481036009") + depends_on("cxx", type="build") # generated + depends_on("cmake@2.6:", type="build") depends_on("bpp-core") depends_on("bpp-phyl") diff --git a/var/spack/repos/builtin/packages/bpp-phyl/package.py b/var/spack/repos/builtin/packages/bpp-phyl/package.py index 78c9d3aab95d36..c078bd520a1414 100644 --- a/var/spack/repos/builtin/packages/bpp-phyl/package.py +++ b/var/spack/repos/builtin/packages/bpp-phyl/package.py @@ -23,6 +23,8 @@ class BppPhyl(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("cmake@2.6:", type="build") depends_on("bpp-core") depends_on("bpp-seq") diff --git a/var/spack/repos/builtin/packages/bpp-popgen/package.py b/var/spack/repos/builtin/packages/bpp-popgen/package.py index 6aa6a9a2ca7a80..ffd4a73c8bab05 100644 --- a/var/spack/repos/builtin/packages/bpp-popgen/package.py +++ b/var/spack/repos/builtin/packages/bpp-popgen/package.py @@ -18,4 +18,6 @@ class BppPopgen(CMakePackage): version("2.4.1", sha256="03b57d71a63c8fa7f11c085e531d0d691fc1d40d4ea541070dabde0ab3baf413") + depends_on("cxx", type="build") # generated + depends_on("bpp-seq") diff --git a/var/spack/repos/builtin/packages/bpp-seq-omics/package.py b/var/spack/repos/builtin/packages/bpp-seq-omics/package.py index 5051043206154b..c1b10ce51c3ab6 100644 --- a/var/spack/repos/builtin/packages/bpp-seq-omics/package.py +++ b/var/spack/repos/builtin/packages/bpp-seq-omics/package.py @@ -20,5 +20,7 @@ class BppSeqOmics(CMakePackage): version("2.3.1", sha256="3217b35fa98e94824e19e5e2765f4561cb5d5ec0f93f5f4e7fc213e6b5b59e83") version("2.3.0", sha256="be0c8c593e48cd94a2a878e8635609788dfa806179f7844ecf8243e548bfe0fa") + depends_on("cxx", type="build") # generated + depends_on("bpp-core") depends_on("bpp-seq") diff --git a/var/spack/repos/builtin/packages/bpp-seq/package.py b/var/spack/repos/builtin/packages/bpp-seq/package.py index 9d6351508e1ec3..880b0360790570 100644 --- a/var/spack/repos/builtin/packages/bpp-seq/package.py +++ b/var/spack/repos/builtin/packages/bpp-seq/package.py @@ -23,6 +23,8 @@ class BppSeq(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("cmake@2.6:", type="build") depends_on("bpp-core") diff --git a/var/spack/repos/builtin/packages/bpp-suite/package.py b/var/spack/repos/builtin/packages/bpp-suite/package.py index 81e213fd050aa8..7c9d2c69a002e1 100644 --- a/var/spack/repos/builtin/packages/bpp-suite/package.py +++ b/var/spack/repos/builtin/packages/bpp-suite/package.py @@ -24,6 +24,8 @@ class BppSuite(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("cmake@2.6:", type="build") depends_on("texinfo", type="build") depends_on("bpp-core") diff --git a/var/spack/repos/builtin/packages/bracken/package.py b/var/spack/repos/builtin/packages/bracken/package.py index b62f82e638354f..7f18cafec16cf7 100644 --- a/var/spack/repos/builtin/packages/bracken/package.py +++ b/var/spack/repos/builtin/packages/bracken/package.py @@ -22,6 +22,8 @@ class Bracken(Package): version("2.8", sha256="b0c8a803cc020b7d1cbca47b53e71e874d9688b836911e4a4b71b0e4b826b61a") version("2.7", sha256="1795ecd9f9e5582f37549795ba68854780936110a2f6f285c3e626d448cd1532") + depends_on("cxx", type="build") # generated + depends_on("python", type="run") depends_on("kraken2", type="run") diff --git a/var/spack/repos/builtin/packages/brahma/package.py b/var/spack/repos/builtin/packages/brahma/package.py index a8640c9e781865..224e4e1108b7a5 100644 --- a/var/spack/repos/builtin/packages/brahma/package.py +++ b/var/spack/repos/builtin/packages/brahma/package.py @@ -15,20 +15,29 @@ class Brahma(CMakePackage): license("MIT") - version("develop", branch="dev") + version("develop", branch="develop") version("master", branch="master") + version("0.0.5", tag="v0.0.5", commit="219198c653cc4add845a644872e7b963a8de0fe2") + version("0.0.4", tag="v0.0.4", commit="8f41cc885dd8e31a1f134cbbcbaaab7e5d84331e") version("0.0.3", tag="v0.0.3", commit="fd201c653e8fa00d4ba6197a56a513f740e3014e") version("0.0.2", tag="v0.0.2", commit="4a36d5c08787d41c939fa1b987344b69d9ef97a6") version("0.0.1", tag="v0.0.1", commit="15156036f14e36511dfc3f3751dc953540526a2b") + depends_on("cxx", type="build") # generated + variant("mpi", default=False, description="Enable MPI support") depends_on("cpp-logger@0.0.1", when="@:0.0.1") - depends_on("cpp-logger@0.0.2:", when="@0.0.2:") + depends_on("cpp-logger@0.0.2", when="@0.0.2:0.0.3") + depends_on("cpp-logger@0.0.3", when="@0.0.4") + depends_on("cpp-logger@0.0.4", when="@0.0.5:") depends_on("gotcha@1.0.4", when="@:0.0.1") - depends_on("gotcha@1.0.5:", when="@0.0.2:") + depends_on("gotcha@1.0.5", when="@0.0.2:0.0.3") + depends_on("gotcha@1.0.6", when="@0.0.4") + depends_on("gotcha@1.0.7", when="@0.0.5:") depends_on("catch2@3.0.1:") depends_on("mpi", when="+mpi") def cmake_args(self): - return [self.define_from_variant("BUILD_WITH_MPI", "mpi")] + prefix = "BRAHMA_" if self.spec.satisfies("@0.0.4:") else "" + return [self.define_from_variant(f"{prefix}BUILD_WITH_MPI", "mpi")] diff --git a/var/spack/repos/builtin/packages/branson/package.py b/var/spack/repos/builtin/packages/branson/package.py index dd52874eea9677..70f4ad0b90a5ce 100644 --- a/var/spack/repos/builtin/packages/branson/package.py +++ b/var/spack/repos/builtin/packages/branson/package.py @@ -31,6 +31,8 @@ class Branson(CMakePackage): version("0.81", sha256="493f720904791f06b49ff48c17a681532c6a4d9fa59636522cf3f9700e77efe4") version("0.8", sha256="85ffee110f89be00c37798700508b66b0d15de1d98c54328b6d02a9eb2cf1cb8") + depends_on("cxx", type="build") # generated + depends_on("mpi@2:") # TODO: replace this with an explicit list of components of Boost, diff --git a/var/spack/repos/builtin/packages/breakdancer/package.py b/var/spack/repos/builtin/packages/breakdancer/package.py index f7795d03d39ce9..a45719d8ff9a39 100644 --- a/var/spack/repos/builtin/packages/breakdancer/package.py +++ b/var/spack/repos/builtin/packages/breakdancer/package.py @@ -28,6 +28,8 @@ class Breakdancer(CMakePackage): preferred=True, ) + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("ncurses", type="link") diff --git a/var/spack/repos/builtin/packages/breseq/package.py b/var/spack/repos/builtin/packages/breseq/package.py index acf0bb71bc7e2b..397a60dc206b68 100644 --- a/var/spack/repos/builtin/packages/breseq/package.py +++ b/var/spack/repos/builtin/packages/breseq/package.py @@ -21,6 +21,9 @@ class Breseq(AutotoolsPackage): version("0.33.1", sha256="e24a50e254ad026c519747313b9e42bbeb32bd766a6a06ed369bd5b9dc50e84d") version("0.31.1", sha256="ffc8a7f40a5ad918234e465e9d4cdf74be02fd29091b13720c2cab1dc238cf5c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/bricks/package.py b/var/spack/repos/builtin/packages/bricks/package.py index 037802de682746..adef4b41c25eb3 100644 --- a/var/spack/repos/builtin/packages/bricks/package.py +++ b/var/spack/repos/builtin/packages/bricks/package.py @@ -27,6 +27,9 @@ class Bricks(CMakePackage): version("r0.1", branch="r0.1") version("2023.08.25", commit="d81725055c117c4b63a1b3835c6b634768b5bea7") # no official release + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cuda", default=False, description="Build bricks with CUDA enabled") # Building a variant of cmake without openssl is to match how the diff --git a/var/spack/repos/builtin/packages/bridger/package.py b/var/spack/repos/builtin/packages/bridger/package.py index d1c607238f741e..47077a7393ae39 100644 --- a/var/spack/repos/builtin/packages/bridger/package.py +++ b/var/spack/repos/builtin/packages/bridger/package.py @@ -20,6 +20,9 @@ class Bridger(MakefilePackage, SourceforgePackage): version( "2014-12-01", sha256="8fbec8603ea8ad2162cbd0c658e4e0a4af6453bdb53310b4b7e0d112e40b5737" ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("boost + exception + filesystem + system + serialization + graph") depends_on("ncurses~termlib") depends_on("perl", type="run") diff --git a/var/spack/repos/builtin/packages/brigand/package.py b/var/spack/repos/builtin/packages/brigand/package.py index 0bb8f27abfa63d..50c91a3c527caa 100644 --- a/var/spack/repos/builtin/packages/brigand/package.py +++ b/var/spack/repos/builtin/packages/brigand/package.py @@ -24,6 +24,8 @@ class Brigand(CMakePackage): version("1.1.0", sha256="afdcc6909ebff6994269d3039c31698c2b511a70280072f73382b26855221f64") version("1.0.0", sha256="8daf7686ff39792f851ef1977323808b80aab31c5f38ef0ba4e6a8faae491f8d") + depends_on("cxx", type="build") # generated + def cmake_args(self): args = [self.define("BUILD_TESTING", self.run_tests)] return args diff --git a/var/spack/repos/builtin/packages/brltty/package.py b/var/spack/repos/builtin/packages/brltty/package.py index 4e94ef3651afc5..40c74e58c3a3c8 100644 --- a/var/spack/repos/builtin/packages/brltty/package.py +++ b/var/spack/repos/builtin/packages/brltty/package.py @@ -21,6 +21,8 @@ class Brltty(AutotoolsPackage): version("5.5", sha256="cd80a0d225f13779791dc3a72d7f137c06c48e5f2c9600e80a565d2378422207") version("5.4", sha256="9ad5a540d29438a755f8b8f1f1534e0eba601c604f3d8223fa00b802959ec636") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/brotli/package.py b/var/spack/repos/builtin/packages/brotli/package.py index 1dc4c93352151b..799f8133bb5ce6 100644 --- a/var/spack/repos/builtin/packages/brotli/package.py +++ b/var/spack/repos/builtin/packages/brotli/package.py @@ -18,6 +18,8 @@ class Brotli(CMakePackage): version("1.0.9", sha256="f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46") version("1.0.7", sha256="4c61bfb0faca87219ea587326c467b95acb25555b53d1a421ffa3c8a9296ee2c") + depends_on("c", type="build") # generated + @run_after("install") def darwin_fix(self): # The shared library is not installed correctly on Darwin; fix this diff --git a/var/spack/repos/builtin/packages/brpc/package.py b/var/spack/repos/builtin/packages/brpc/package.py index e0144373fb9dcf..3d7f00c922fd8c 100644 --- a/var/spack/repos/builtin/packages/brpc/package.py +++ b/var/spack/repos/builtin/packages/brpc/package.py @@ -22,6 +22,9 @@ class Brpc(CMakePackage): version("0.9.6", sha256="b872ca844999e0ba768acd823b409761f126590fb34cb0183da915a595161446") version("0.9.5", sha256="11ca8942242a4c542c11345b7463a4aea33a11ca33e91d9a2f64f126df8c70e9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("gflags") depends_on("protobuf") depends_on("leveldb") diff --git a/var/spack/repos/builtin/packages/brunsli/package.py b/var/spack/repos/builtin/packages/brunsli/package.py index c0ce3de05d65a3..528ebc70ef9b2d 100644 --- a/var/spack/repos/builtin/packages/brunsli/package.py +++ b/var/spack/repos/builtin/packages/brunsli/package.py @@ -16,6 +16,9 @@ class Brunsli(CMakePackage): version("0.1", tag="v0.1", commit="8a0e9b8ca2e3e089731c95a1da7ce8a3180e667c", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type="build") @property diff --git a/var/spack/repos/builtin/packages/brynet/package.py b/var/spack/repos/builtin/packages/brynet/package.py index a6a81363b5e44d..be055a7db42016 100644 --- a/var/spack/repos/builtin/packages/brynet/package.py +++ b/var/spack/repos/builtin/packages/brynet/package.py @@ -21,6 +21,8 @@ class Brynet(CMakePackage): version("1.0.7", sha256="60116fccff108d03f3ff0a3d5c1fb5ad442bad7ef155bf1a3c7819ffc9d57524") version("1.0.6", sha256="5e94b5b64fbdfbcb4e33b11fb7832cf0ca3898ab6b6461867182598bab7ca65f") + depends_on("cxx", type="build") # generated + def cmake_args(self): args = [] args.append("-Dbrynet_BUILD_EXAMPLES=ON") diff --git a/var/spack/repos/builtin/packages/btop/package.py b/var/spack/repos/builtin/packages/btop/package.py index 2e76633ccea247..b388a6daacee62 100644 --- a/var/spack/repos/builtin/packages/btop/package.py +++ b/var/spack/repos/builtin/packages/btop/package.py @@ -22,6 +22,8 @@ class Btop(MakefilePackage, CMakePackage): version("1.3.0", sha256="375e078ce2091969f0cd14030620bd1a94987451cf7a73859127a786006a32cf") version("1.2.13", sha256="668dc4782432564c35ad0d32748f972248cc5c5448c9009faeb3445282920e02") + depends_on("cxx", type="build") # generated + build_system("makefile", conditional("cmake", when="@1.3.0:"), default="cmake") variant("gpu", default=False, description="Enable GPU support", when="build_system=cmake") diff --git a/var/spack/repos/builtin/packages/bubblewrap/package.py b/var/spack/repos/builtin/packages/bubblewrap/package.py index 5925aee4de499c..6811eda3beae89 100644 --- a/var/spack/repos/builtin/packages/bubblewrap/package.py +++ b/var/spack/repos/builtin/packages/bubblewrap/package.py @@ -28,6 +28,8 @@ class Bubblewrap(AutotoolsPackage): version("0.3.3", sha256="c6a45f51794a908b76833b132471397a7413f07620af08e76c273d9f7b364dff") version("0.3.1", sha256="deca6b608c54df4be0669b8bb6d254858924588e9f86e116eb04656a3b6d4bf8") + depends_on("c", type="build") # generated + def configure_args(self): return ["--disable-sudo", "--disable-man", "--without-bash-completion-dir"] diff --git a/var/spack/repos/builtin/packages/buddy/package.py b/var/spack/repos/builtin/packages/buddy/package.py index 3a9a6982f27a25..49b77e8e2dd9fa 100644 --- a/var/spack/repos/builtin/packages/buddy/package.py +++ b/var/spack/repos/builtin/packages/buddy/package.py @@ -18,6 +18,9 @@ class Buddy(AutotoolsPackage): version("2.4", sha256="d3df80a6a669d9ae408cb46012ff17bd33d855529d20f3a7e563d0d913358836") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def configure_args(self): if platform.machine() == "aarch64": config_args = ["--build=aarch64-unknown-linux-gnu"] diff --git a/var/spack/repos/builtin/packages/bueno/package.py b/var/spack/repos/builtin/packages/bueno/package.py index f08d719ef8ecf2..f571fd69380812 100644 --- a/var/spack/repos/builtin/packages/bueno/package.py +++ b/var/spack/repos/builtin/packages/bueno/package.py @@ -19,6 +19,8 @@ class Bueno(PythonPackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("python@3.7:", type=("build", "run")) depends_on("py-pyyaml", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/bufr/package.py b/var/spack/repos/builtin/packages/bufr/package.py index 6339c727dfa7f7..76cd7909ae5565 100644 --- a/var/spack/repos/builtin/packages/bufr/package.py +++ b/var/spack/repos/builtin/packages/bufr/package.py @@ -31,6 +31,9 @@ class Bufr(CMakePackage): version("11.5.0", sha256="d154839e29ef1fe82e58cf20232e9f8a4f0610f0e8b6a394b7ca052e58f97f43") version("11.4.0", sha256="946482405e675b99e8e0c221d137768f246076f5e9ba92eed6cae47fb68b7a26") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # Patch to not add "-c" to ranlib flags when using llvm-ranlib on Apple systems patch("cmakelists-apple-llvm-ranlib.patch", when="@11.5.0:11.6.0") # C test does not explicity link to -lm causing DSO error when building shared libs diff --git a/var/spack/repos/builtin/packages/busybox/package.py b/var/spack/repos/builtin/packages/busybox/package.py index ccecdc8d555605..e7d36937fba351 100644 --- a/var/spack/repos/builtin/packages/busybox/package.py +++ b/var/spack/repos/builtin/packages/busybox/package.py @@ -23,6 +23,9 @@ class Busybox(MakefilePackage): version("1.30.1", sha256="3d1d04a4dbd34048f4794815a5c48ebb9eb53c5277e09ffffc060323b95dfbdc") version("1.30.0", sha256="9553da068c0a30b1b8b72479908c1ba58672e2be7b535363a88de5e0f7bc04ce") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def build(self, spec, prefix): make("defconfig") make(f"CC={spack_cc}") diff --git a/var/spack/repos/builtin/packages/butterflypack/package.py b/var/spack/repos/builtin/packages/butterflypack/package.py index 048b0a02431eca..3d2e8db6b3b4f9 100644 --- a/var/spack/repos/builtin/packages/butterflypack/package.py +++ b/var/spack/repos/builtin/packages/butterflypack/package.py @@ -3,8 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from platform import machine - from spack.package import * @@ -44,6 +42,10 @@ class Butterflypack(CMakePackage): version("1.0.1", sha256="e8ada37466a19f49e13456b150700d4c3afaad2ddbe3678f4e933f9d556a24a5") version("1.0.0", sha256="86c5eb09a18522367d63ce2bacf67ca1c9813ef351a1443baaab3c53f0d77232") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("openmp", default=True, description="add OpenMP support") @@ -79,7 +81,13 @@ def cmake_args(self): args.append("-Denable_openmp=%s" % ("ON" if "+openmp" in spec else "OFF")) if "%cce" in spec: # Assume the proper Cray CCE module (cce) is loaded: - craylibs_path = env["CRAYLIBS_" + machine().upper()] + craylibs_var = "CRAYLIBS_" + str(spec.target.family).upper() + craylibs_path = env.get(craylibs_var, None) + if not craylibs_path: + raise InstallError( + f"The environment variable {craylibs_var} is not defined.\n" + "\tMake sure the 'cce' module is in the compiler spec." + ) env.setdefault("LDFLAGS", "") env["LDFLAGS"] += " -Wl,-rpath," + craylibs_path diff --git a/var/spack/repos/builtin/packages/bwa/package.py b/var/spack/repos/builtin/packages/bwa/package.py index ad003282995649..1c1aea92682529 100644 --- a/var/spack/repos/builtin/packages/bwa/package.py +++ b/var/spack/repos/builtin/packages/bwa/package.py @@ -25,6 +25,8 @@ class Bwa(Package): url="https://github.com/lh3/bwa/archive/0.7.12.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("zlib-api") depends_on("sse2neon", when="target=aarch64:") diff --git a/var/spack/repos/builtin/packages/bwtool/package.py b/var/spack/repos/builtin/packages/bwtool/package.py index a966b41a34a33b..a9b249070e8421 100644 --- a/var/spack/repos/builtin/packages/bwtool/package.py +++ b/var/spack/repos/builtin/packages/bwtool/package.py @@ -14,4 +14,6 @@ class Bwtool(AutotoolsPackage): version("1.0", sha256="2e177573602c129e1d37e07288bdc04bef14d2c25c39636aea8c9a359400594a") + depends_on("c", type="build") # generated + depends_on("libbeato") diff --git a/var/spack/repos/builtin/packages/byfl/package.py b/var/spack/repos/builtin/packages/byfl/package.py index 0cb1744e41a3bc..ac8275f24c7f83 100644 --- a/var/spack/repos/builtin/packages/byfl/package.py +++ b/var/spack/repos/builtin/packages/byfl/package.py @@ -18,5 +18,9 @@ class Byfl(CMakePackage): version("1.8.0", sha256="45a9640ba2d77153a425c72349c18b124754123b30c411707b71abd217bbfce0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # llvm-13 builds, but doesn’t work depends_on("llvm@:12.9999") diff --git a/var/spack/repos/builtin/packages/byte-unixbench/package.py b/var/spack/repos/builtin/packages/byte-unixbench/package.py index f9332bf853cae3..6dc0b50d93debe 100644 --- a/var/spack/repos/builtin/packages/byte-unixbench/package.py +++ b/var/spack/repos/builtin/packages/byte-unixbench/package.py @@ -14,6 +14,8 @@ class ByteUnixbench(MakefilePackage): version("5.1.3", sha256="3a6bb00f270a5329682dff20fd2c1ab5332ef046eb54a96a0d7bd371005d31a3") + depends_on("c", type="build") # generated + build_directory = "UnixBench" @property diff --git a/var/spack/repos/builtin/packages/bzip2/package.py b/var/spack/repos/builtin/packages/bzip2/package.py index 3a970efb821632..1a60cd030c6ea6 100644 --- a/var/spack/repos/builtin/packages/bzip2/package.py +++ b/var/spack/repos/builtin/packages/bzip2/package.py @@ -28,6 +28,8 @@ class Bzip2(Package, SourcewarePackage): version("1.0.7", sha256="e768a87c5b1a79511499beb41500bcc4caf203726fff46a6f5f9ad27fe08ab2b") version("1.0.6", sha256="a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd") + depends_on("c", type="build") # generated + variant( "shared", default=(sys.platform != "win32"), diff --git a/var/spack/repos/builtin/packages/c-ares/package.py b/var/spack/repos/builtin/packages/c-ares/package.py index 6922b6229154f3..f0f31c8080105e 100644 --- a/var/spack/repos/builtin/packages/c-ares/package.py +++ b/var/spack/repos/builtin/packages/c-ares/package.py @@ -24,6 +24,9 @@ class CAres(CMakePackage): version("1.15.0", sha256="7deb7872cbd876c29036d5f37e30c4cbc3cc068d59d8b749ef85bb0736649f04") version("1.13.0", sha256="7c48c57706a38691041920e705d2a04426ad9c68d40edd600685323f214b2d57") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): url = "https://github.com/c-ares/c-ares/archive/cares-{0}.tar.gz" return url.format(version.underscored) diff --git a/var/spack/repos/builtin/packages/c-blosc/package.py b/var/spack/repos/builtin/packages/c-blosc/package.py index ba6381f31786d6..fe16bcb62078a5 100644 --- a/var/spack/repos/builtin/packages/c-blosc/package.py +++ b/var/spack/repos/builtin/packages/c-blosc/package.py @@ -33,6 +33,9 @@ class CBlosc(CMakePackage): version("1.8.1", sha256="1abf048634c37aeca53eeb6a9248ea235074077028d12b3560eccf1dff7143b8") version("1.8.0", sha256="e0f8b9e12e86776a1b037385826c55006da6e2ae4973dac5b5ad3cfcf01e9043") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("avx2", default=True, description="Enable AVX2 support") depends_on("cmake@2.8.10:", type="build") diff --git a/var/spack/repos/builtin/packages/c-blosc2/package.py b/var/spack/repos/builtin/packages/c-blosc2/package.py index 0bbbecefaf79af..c899c16e997982 100644 --- a/var/spack/repos/builtin/packages/c-blosc2/package.py +++ b/var/spack/repos/builtin/packages/c-blosc2/package.py @@ -34,6 +34,8 @@ class CBlosc2(CMakePackage): version("2.0.2", sha256="fba51ba601610441eea6046e384284b2d8d7884922060cf15369d01d713b9b77") version("2.0.1", sha256="35b93dfed479b1dfd9372d41d7843b60254ed1d71792577b95e489c28705874f") + depends_on("c", type="build") # generated + variant("avx2", default=True, description="Enable AVX2 support") variant("lizard", default=True, description="support for LIZARD (LZ5)") diff --git a/var/spack/repos/builtin/packages/c-lime/package.py b/var/spack/repos/builtin/packages/c-lime/package.py index b4b2ee31ada224..cb0d8b6cf53e1a 100644 --- a/var/spack/repos/builtin/packages/c-lime/package.py +++ b/var/spack/repos/builtin/packages/c-lime/package.py @@ -18,3 +18,5 @@ class CLime(AutotoolsPackage): license("GPL-2.0-or-later") version("2-3-9", sha256="7b9aeadd4dfec50e24da3e7e729f56abf95c9192612c41515fe27b2158773aac") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/c-raft/package.py b/var/spack/repos/builtin/packages/c-raft/package.py index 4e4480ba9c79c9..e9f5238313959a 100644 --- a/var/spack/repos/builtin/packages/c-raft/package.py +++ b/var/spack/repos/builtin/packages/c-raft/package.py @@ -19,6 +19,8 @@ class CRaft(AutotoolsPackage): version("master", branch="master") version("0.17.1", sha256="e31c7fafbdd5f94913161c5d64341a203364e512524b47295c97a91e83c4198b") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/c3d/package.py b/var/spack/repos/builtin/packages/c3d/package.py index ab4b2872ec8252..e69588e7ba6114 100644 --- a/var/spack/repos/builtin/packages/c3d/package.py +++ b/var/spack/repos/builtin/packages/c3d/package.py @@ -17,6 +17,9 @@ class C3d(CMakePackage): version("1.3.0", sha256="bd45482247fa4ac5ab98b3a775b5438390671e3e224a42f73967904b3895050d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("itk") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/cabana/package.py b/var/spack/repos/builtin/packages/cabana/package.py index 2327939bbbe7ff..556d2ae2cf6744 100644 --- a/var/spack/repos/builtin/packages/cabana/package.py +++ b/var/spack/repos/builtin/packages/cabana/package.py @@ -27,6 +27,8 @@ class Cabana(CMakePackage, CudaPackage, ROCmPackage): version("0.1.0", sha256="3280712facf6932b9d1aff375b24c932abb9f60a8addb0c0a1950afd0cb9b9cf") version("0.1.0-rc0", sha256="73754d38aaa0c2a1e012be6959787108fec142294774c23f70292f59c1bdc6c5") + depends_on("cxx", type="build") # generated + _kokkos_backends = Kokkos.devices_variants for _backend in _kokkos_backends: _deflt, _descr = _kokkos_backends[_backend] diff --git a/var/spack/repos/builtin/packages/cachefilesd/package.py b/var/spack/repos/builtin/packages/cachefilesd/package.py index d92ae8d6803936..9f193722c1e22a 100644 --- a/var/spack/repos/builtin/packages/cachefilesd/package.py +++ b/var/spack/repos/builtin/packages/cachefilesd/package.py @@ -20,6 +20,8 @@ class Cachefilesd(MakefilePackage): version("0.10.6", sha256="aaaaea887a5850c6fa01d09c80946e987411f6b550261f83967c671c65af959d") version("0.10.5", sha256="125ea4f6aef4bf8e936a7cc747b59e074537a8aed74cd1bab3f05d7fbc47287f") + depends_on("c", type="build") # generated + @when("target=aarch64:") def edit(self, spec, prefix): makefile = FileFilter("Makefile") diff --git a/var/spack/repos/builtin/packages/caffe/package.py b/var/spack/repos/builtin/packages/caffe/package.py index 5103368b1fa848..fc0b3db426ca3c 100644 --- a/var/spack/repos/builtin/packages/caffe/package.py +++ b/var/spack/repos/builtin/packages/caffe/package.py @@ -23,6 +23,8 @@ class Caffe(CMakePackage, CudaPackage): version("rc3", sha256="0884207bfba0fbc8b263b87d30f9304f7094eec3a48f975177d142f8c72b6e3b") version("rc2", sha256="55c9c20870b30ce398e19e4f1a62ade1eff08fce51e28fa5604035b711978eec") + depends_on("cxx", type="build") # generated + variant("cuda", default=False, description="Builds with support for GPUs via CUDA and cuDNN") variant("opencv", default=True, description="Build with OpenCV support") variant("leveldb", default=True, description="Build with levelDB") diff --git a/var/spack/repos/builtin/packages/cairo/package.py b/var/spack/repos/builtin/packages/cairo/package.py index 1b3482c1a75393..4ac0c846df6f91 100644 --- a/var/spack/repos/builtin/packages/cairo/package.py +++ b/var/spack/repos/builtin/packages/cairo/package.py @@ -35,13 +35,16 @@ class Cairo(AutotoolsPackage): version("1.14.8", sha256="d1f2d98ae9a4111564f6de4e013d639cf77155baf2556582295a0f00a9bc5e20") version("1.14.0", sha256="2cf5f81432e77ea4359af9dcd0f4faf37d015934501391c311bfd2d19a0134b7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("X", default=False, description="Build with X11 support") variant("pdf", default=False, description="Enable cairo's PDF surface backend feature") variant("gobject", default=False, description="Enable cairo's gobject functions feature") variant("ft", default=False, description="Enable cairo's FreeType font backend feature") variant("fc", default=False, description="Enable cairo's Fontconfig font backend feature") variant("png", default=False, description="Enable cairo's PNG functions feature") - variant("svg", default=False, description="Enable cairo's SVN functions feature") + variant("svg", default=False, description="Enable cairo's SVG functions feature") variant("shared", default=True, description="Build shared libraries") variant("pic", default=True, description="Enable position-independent code (PIC)") @@ -51,7 +54,6 @@ class Cairo(AutotoolsPackage): depends_on("libxcb", when="+X") depends_on("python", when="+X", type="build") depends_on("libpng", when="+png") - depends_on("librsvg", when="+svg") depends_on("glib") depends_on("pixman@0.36.0:", when="@1.17.2:") depends_on("pixman") diff --git a/var/spack/repos/builtin/packages/cairomm/package.py b/var/spack/repos/builtin/packages/cairomm/package.py index 8812da63e61e58..c4d9f0c8c01f2d 100644 --- a/var/spack/repos/builtin/packages/cairomm/package.py +++ b/var/spack/repos/builtin/packages/cairomm/package.py @@ -17,6 +17,8 @@ class Cairomm(AutotoolsPackage): version("1.6.4", sha256="3cb2c898d0ceb94ad2deb722b50a3a6ee46abdda741ecd6e5a40517c85ecea4c") version("1.6.2", sha256="068edc1743d92ff1d102141ba7597ba02a47379f9cb97799b0c3310848b56eff") + depends_on("cxx", type="build") # generated + depends_on("cairo") depends_on("libsigcpp") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/caliper/package.py b/var/spack/repos/builtin/packages/caliper/package.py index 74d88880316514..904e808de11790 100644 --- a/var/spack/repos/builtin/packages/caliper/package.py +++ b/var/spack/repos/builtin/packages/caliper/package.py @@ -76,6 +76,10 @@ class Caliper(CMakePackage, CudaPackage, ROCmPackage): "1.7.0", tag="v1.7.0", commit="898277c93d884d4e7ca1ffcf3bbea81d22364f26", deprecated=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + is_linux = sys.platform.startswith("linux") variant("shared", default=True, description="Build shared libraries") variant("adiak", default=True, description="Enable Adiak support") diff --git a/var/spack/repos/builtin/packages/callpath/package.py b/var/spack/repos/builtin/packages/callpath/package.py index 29566c512f3f64..3b36222c97e6fc 100644 --- a/var/spack/repos/builtin/packages/callpath/package.py +++ b/var/spack/repos/builtin/packages/callpath/package.py @@ -17,6 +17,8 @@ class Callpath(CMakePackage): version("1.0.2", sha256="cbe42bba8b9dda259dcbe7e16ebd7ecd005eabf7e9ccf169535b03110df75c84") version("1.0.1", sha256="9bd9723126f80d0b518c28e5298ad0fa8d8dbc6a3f03fee5ae5449cf4c9a550f") + depends_on("cxx", type="build") # generated + depends_on("elf", type="link") depends_on("libdwarf") depends_on("dyninst") diff --git a/var/spack/repos/builtin/packages/camellia/package.py b/var/spack/repos/builtin/packages/camellia/package.py index e9a80de93bc11a..1ae82413474d10 100644 --- a/var/spack/repos/builtin/packages/camellia/package.py +++ b/var/spack/repos/builtin/packages/camellia/package.py @@ -18,6 +18,8 @@ class Camellia(CMakePackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + variant( "moab", default=True, diff --git a/var/spack/repos/builtin/packages/camp/camp-rocm6.patch b/var/spack/repos/builtin/packages/camp/camp-rocm6.patch new file mode 100644 index 00000000000000..dbb3fa022071b3 --- /dev/null +++ b/var/spack/repos/builtin/packages/camp/camp-rocm6.patch @@ -0,0 +1,15 @@ +diff -ruN spack-src/include/camp/resource/hip.hpp spack-src-patched/include/camp/resource/hip.hpp +--- spack-src/include/camp/resource/hip.hpp 2021-08-20 23:38:39.000000000 +0000 ++++ spack-src-patched/include/camp/resource/hip.hpp 2024-06-06 21:34:25.174477941 +0000 +@@ -111,7 +111,11 @@ + hipPointerAttribute_t a; + hipError_t status = hipPointerGetAttributes(&a, p); + if (status == hipSuccess) { ++#if (HIP_VERSION_MAJOR >= 6) ++ switch (a.type) { ++#else + switch (a.memoryType) { ++#endif + case hipMemoryTypeHost: + return MemoryAccess::Pinned; + case hipMemoryTypeDevice: diff --git a/var/spack/repos/builtin/packages/camp/package.py b/var/spack/repos/builtin/packages/camp/package.py index 1bea45b34c37c2..324a075ecb59a5 100644 --- a/var/spack/repos/builtin/packages/camp/package.py +++ b/var/spack/repos/builtin/packages/camp/package.py @@ -16,11 +16,17 @@ class Camp(CMakePackage, CudaPackage, ROCmPackage): git = "https://github.com/LLNL/camp.git" url = "https://github.com/LLNL/camp/archive/v0.1.0.tar.gz" - maintainers("trws") + maintainers("trws", "adrienbernede") license("BSD-3-Clause") version("main", branch="main", submodules=False) + version( + "2024.02.1", + tag="v2024.02.", + commit="79c320fa09db987923b56884afdc9f82f4b70fc4", + submodules=False, + ) version( "2024.02.0", tag="v2024.02.0", @@ -42,6 +48,8 @@ class Camp(CMakePackage, CudaPackage, ROCmPackage): version("0.2.2", sha256="194d38b57e50e3494482a7f94940b27f37a2bee8291f2574d64db342b981d819") version("0.1.0", sha256="fd4f0f2a60b82a12a1d9f943f8893dc6fe770db493f8fae5ef6f7d0c439bebcc") + depends_on("cxx", type="build") # generated + # TODO: figure out gtest dependency and then set this default True. variant("tests", default=False, description="Build tests") variant("openmp", default=False, description="Build with OpenMP support") @@ -49,11 +57,14 @@ class Camp(CMakePackage, CudaPackage, ROCmPackage): depends_on("cub", when="+cuda") depends_on("blt", type="build") + depends_on("blt@0.6.2:", type="build", when="@2024.02.1:") depends_on("blt@0.6.1:", type="build", when="@2024.02.0:") depends_on("blt@0.5.0:0.5.3", type="build", when="@2022.03.0:2023.06.0") patch("libstdc++-13-missing-header.patch", when="@:2022.10") + patch("camp-rocm6.patch", when="@0.2.3 +rocm ^hip@6:") + conflicts("^blt@:0.3.6", when="+rocm") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/cans/package.py b/var/spack/repos/builtin/packages/cans/package.py index 8827ff9d6a87ea..8279910a085f55 100644 --- a/var/spack/repos/builtin/packages/cans/package.py +++ b/var/spack/repos/builtin/packages/cans/package.py @@ -27,6 +27,8 @@ class Cans(MakefilePackage): version("1.1.2", sha256="31c8d6c1f619fb60b7919922c7a3a64dd614a1a2f89f38560184f75ed0526171") version("1.1.0", sha256="e3fd84902e18715c6476fe780e2395ca04db9e6b0c830b55a7aa9204b1fd0886") + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("fftw") diff --git a/var/spack/repos/builtin/packages/cantera/package.py b/var/spack/repos/builtin/packages/cantera/package.py index ef057f955b0900..94a8c4c1fbbd36 100644 --- a/var/spack/repos/builtin/packages/cantera/package.py +++ b/var/spack/repos/builtin/packages/cantera/package.py @@ -21,6 +21,10 @@ class Cantera(SConsPackage): version("2.3.0", sha256="06624f0f06bdd2acc9c0dba13443d945323ba40f68a9d422d95247c02e539b57") version("2.2.1", sha256="c7bca241848f541466f56e479402521c618410168e8983e2b54ae48888480e1e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("python", default=False, description="Build the Cantera Python module") variant("matlab", default=False, description="Build the Cantera Matlab toolbox") variant("sundials", default=True, description="Build with Sundials") diff --git a/var/spack/repos/builtin/packages/canu/package.py b/var/spack/repos/builtin/packages/canu/package.py index 75094e70f0de8f..a6f18fcde7b477 100644 --- a/var/spack/repos/builtin/packages/canu/package.py +++ b/var/spack/repos/builtin/packages/canu/package.py @@ -26,6 +26,9 @@ class Canu(MakefilePackage): version("1.7", sha256="c5be54b0ad20729093413e7e722a19637d32e966dc8ecd2b579ba3e4958d378a") version("1.5", sha256="06e2c6d7b9f6d325b3b468e9c1a5de65e4689aed41154f2cee5ccd2cef0d5cf6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("git@2.12:", type="build", when="@2.2:") depends_on("gnuplot", type="run") depends_on("java", type="run") diff --git a/var/spack/repos/builtin/packages/capnproto/package.py b/var/spack/repos/builtin/packages/capnproto/package.py index 8552fbd9b4f5c5..f590f876c2d341 100644 --- a/var/spack/repos/builtin/packages/capnproto/package.py +++ b/var/spack/repos/builtin/packages/capnproto/package.py @@ -36,6 +36,8 @@ class Capnproto(AutotoolsPackage): version("0.5.1.1", sha256="caf308e92683b278bc6c568d4fb5558eca78180cac1eb4a3db15d435bf25116f") version("0.4.1.2", sha256="6376c1910e9bc9d09dc46d53b063c5bdcb5cdf066a8210e9fffe299fb863f0d9") + depends_on("cxx", type="build") # generated + depends_on("zlib-api", when="+zlib") depends_on("openssl", when="+tls") diff --git a/var/spack/repos/builtin/packages/capstone/package.py b/var/spack/repos/builtin/packages/capstone/package.py index 491a488edcf465..a41258027d4538 100644 --- a/var/spack/repos/builtin/packages/capstone/package.py +++ b/var/spack/repos/builtin/packages/capstone/package.py @@ -20,3 +20,6 @@ class Capstone(CMakePackage): version("5.0.1", sha256="2b9c66915923fdc42e0e32e2a9d7d83d3534a45bb235e163a70047951890c01a") version("4.0.2", sha256="7c81d798022f81e7507f1a60d6817f63aa76e489aa4e7055255f21a22f5e526a") version("4.0.1", sha256="79bbea8dbe466bd7d051e037db5961fdb34f67c9fac5c3471dd105cfb1e05dc7") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/cardioid/package.py b/var/spack/repos/builtin/packages/cardioid/package.py index f14aa1c9c4d55f..de91899e2b2b08 100644 --- a/var/spack/repos/builtin/packages/cardioid/package.py +++ b/var/spack/repos/builtin/packages/cardioid/package.py @@ -18,6 +18,10 @@ class Cardioid(CMakePackage): version("develop", branch="master") version("elecfem", branch="elec-fem") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("cuda", default=False, description="Build with cuda support") variant("mfem", default=False, description="Build with mfem support") diff --git a/var/spack/repos/builtin/packages/care/package.py b/var/spack/repos/builtin/packages/care/package.py index 1b45dc1ed6db36..68583088d6c6ea 100644 --- a/var/spack/repos/builtin/packages/care/package.py +++ b/var/spack/repos/builtin/packages/care/package.py @@ -17,8 +17,28 @@ class Care(CMakePackage, CudaPackage, ROCmPackage): license("GPL-2.0-or-later") + maintainers("adayton1") + version("develop", branch="develop", submodules="True") version("master", branch="main", submodules="True") + version( + "0.13.1", + tag="v0.13.1", + commit="0fd0d47aaaa57076f26caad88e667fbc01ff7214", + submodules="True", + ) + version( + "0.13.0", + tag="v0.13.0", + commit="2b288e2c557c3b14befeebc8e14a7d48348bd857", + submodules="True", + ) + version( + "0.12.0", + tag="v0.12.0", + commit="a9978083035eb00a090451bd36d7987bc935204d", + submodules="True", + ) version( "0.3.0", tag="v0.3.0", commit="5e2b69b2836c9f2215207ca9a36a690cb77eea33", submodules="True" ) @@ -26,6 +46,10 @@ class Care(CMakePackage, CudaPackage, ROCmPackage): "0.2.0", tag="v0.2.0", commit="30135e03b14b1dc753634e9147dafede0663906f", submodules="True" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=False, description="Build Shared Libs") variant( "implicit_conversions", @@ -38,22 +62,42 @@ class Care(CMakePackage, CudaPackage, ROCmPackage): variant("tests", default=False, description="Build tests") variant("loop_fuser", default=False, description="Enable loop fusion capability") + depends_on("cmake@3.8:", type="build") + depends_on("cmake@3.9:", type="build", when="+cuda") + depends_on("cmake@3.18:", type="build", when="@0.12.0:") + depends_on("cmake@3.21:", type="build", when="@0.12.0:+rocm") + + depends_on("blt") + depends_on("blt@0.6.2:", type="build", when="@0.13.0:") + depends_on("blt@0.6.1:", type="build", when="@0.12.0:") depends_on("blt@0.4.0:", type="build", when="@0.3.1:") depends_on("blt@:0.3.6", type="build", when="@:0.3.0") conflicts("^blt@:0.3.6", when="+rocm") - depends_on("camp") - depends_on("umpire@develop") - depends_on("raja@develop") - depends_on("chai@develop+enable_pick") + depends_on("camp", when="@:0.11.1") + + depends_on("umpire") + depends_on("umpire@2024.02.1:", when="@0.13.0:") + depends_on("umpire@2024.02.0:", when="@0.12.0:") + + depends_on("raja") + depends_on("raja@2024.02.2:", when="@0.13.1:") + depends_on("raja@2024.02.1:", when="@0.13.0:") + depends_on("raja@2024.02.0:", when="@0.12.0:") + depends_on("chai+enable_pick+raja") + depends_on("chai@2024.02.2:", when="@0.13.1:") + depends_on("chai@2024.02.1:", when="@0.13.0:") + depends_on("chai@2024.02.0:", when="@0.12.0:") + + # pass on +cuda variants # WARNING: this package currently only supports an internal cub # package. This will cause a race condition if compiled with another # package that uses cub. TODO: have all packages point to the same external # cub package. + depends_on("cub", when="+cuda") depends_on("camp+cuda", when="+cuda") depends_on("umpire+cuda~shared", when="+cuda") - depends_on("cub", when="+cuda") depends_on("raja+cuda~openmp", when="+cuda") depends_on("chai+cuda~shared", when="+cuda") diff --git a/var/spack/repos/builtin/packages/cargs/package.py b/var/spack/repos/builtin/packages/cargs/package.py index 504914b197c950..45a3a7a9f5426e 100644 --- a/var/spack/repos/builtin/packages/cargs/package.py +++ b/var/spack/repos/builtin/packages/cargs/package.py @@ -20,4 +20,6 @@ class Cargs(CMakePackage): version("1.1.0", sha256="87e7da5b539f574d48529870cb0620ef5a244a5ee2eac73cc7559dedc04128ca") version("1.0.3", sha256="ddba25bd35e9c6c75bc706c126001b8ce8e084d40ef37050e6aa6963e836eb8b") + depends_on("c", type="build") # generated + depends_on("cmake@3.14.7:", type=("build")) diff --git a/var/spack/repos/builtin/packages/casacore/package.py b/var/spack/repos/builtin/packages/casacore/package.py index 870146b258a69e..37bf1dc025d8d4 100644 --- a/var/spack/repos/builtin/packages/casacore/package.py +++ b/var/spack/repos/builtin/packages/casacore/package.py @@ -28,6 +28,10 @@ class Casacore(CMakePackage): version("3.0.0", sha256="6f0e68fd77b5c96299f7583a03a53a90980ec347bff9dfb4c0abb0e2933e6bcb") version("2.4.1", sha256="58eccc875053b2c6fe44fe53b6463030ef169597ec29926936f18d27b5087d63") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@3.7.1:", type="build") variant("adios2", default=False, description="Build ADIOS2 support") diff --git a/var/spack/repos/builtin/packages/casper/package.py b/var/spack/repos/builtin/packages/casper/package.py index ff4c4e7f129183..9d2bd90237cfd8 100644 --- a/var/spack/repos/builtin/packages/casper/package.py +++ b/var/spack/repos/builtin/packages/casper/package.py @@ -23,6 +23,8 @@ class Casper(MakefilePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("jellyfish@2.2.3:") depends_on("boost+exception") diff --git a/var/spack/repos/builtin/packages/catch2/package.py b/var/spack/repos/builtin/packages/catch2/package.py index 604dd3956538c0..590552eb8c63bc 100644 --- a/var/spack/repos/builtin/packages/catch2/package.py +++ b/var/spack/repos/builtin/packages/catch2/package.py @@ -108,6 +108,8 @@ class Catch2(CMakePackage): version("1.3.5", sha256="f15730d81b4173fb860ce3561768de7d41bbefb67dc031d7d1f5ae2c07f0a472") version("1.3.0", sha256="245f6ee73e2fea66311afa1da59e5087ddab8b37ce64994ad88506e8af28c6ac") + depends_on("cxx", type="build") # generated + variant( "cxxstd", when="@3:", diff --git a/var/spack/repos/builtin/packages/cbc/package.py b/var/spack/repos/builtin/packages/cbc/package.py index ee4685c8bf788f..79c1e48fcd0b68 100644 --- a/var/spack/repos/builtin/packages/cbc/package.py +++ b/var/spack/repos/builtin/packages/cbc/package.py @@ -21,6 +21,9 @@ class Cbc(AutotoolsPackage): version("2.10.8", sha256="8525abb541ee1b8e6ff03b00411b66e98bbc58f95be1aefd49d2bca571be2eaf") version("2.10.5", sha256="cc44c1950ff4615e7791d7e03ea34318ca001d3cac6dc3f7f5ee392459ce6719") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("coinutils") depends_on("osi") depends_on("cgl") diff --git a/var/spack/repos/builtin/packages/cbench/package.py b/var/spack/repos/builtin/packages/cbench/package.py index 609e5bba5416ad..ad598b6bb7a318 100644 --- a/var/spack/repos/builtin/packages/cbench/package.py +++ b/var/spack/repos/builtin/packages/cbench/package.py @@ -19,6 +19,10 @@ class Cbench(MakefilePackage): version("1.3.0", sha256="b40fdafd14869b86819e5906a107b0735290a1e58bae229d8166514a72f58732") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("blas") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/cbflib/package.py b/var/spack/repos/builtin/packages/cbflib/package.py index 7e313acece0698..d883fdcd5eeef8 100644 --- a/var/spack/repos/builtin/packages/cbflib/package.py +++ b/var/spack/repos/builtin/packages/cbflib/package.py @@ -22,6 +22,10 @@ class Cbflib(MakefilePackage): version("0.9.2", sha256="367e37e1908a65d5472e921150291332823a751206804866e752b793bca17afc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("m4", type="build") patch("cbf_f16.patch") diff --git a/var/spack/repos/builtin/packages/cblas/package.py b/var/spack/repos/builtin/packages/cblas/package.py index 86b50b7c5e2fe9..d3d563453550ef 100644 --- a/var/spack/repos/builtin/packages/cblas/package.py +++ b/var/spack/repos/builtin/packages/cblas/package.py @@ -20,6 +20,9 @@ class Cblas(Package): url="https://www.netlib.org/blas/blast-forum/cblas.tgz", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("blas") parallel = False diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py index 36549c6063000f..841a61e0fe5ae8 100644 --- a/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py +++ b/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py @@ -22,6 +22,8 @@ class CbtfArgonavisGui(QMakePackage): version("develop", branch="master") version("1.3.0.0", branch="1.3.0.0") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.0.2:", type="build") depends_on("qt@5.10.0:") diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py index 96b3679b18bc8a..a4d1ae654344be 100644 --- a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py +++ b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py @@ -22,6 +22,9 @@ class CbtfArgonavis(CMakePackage): version("1.9.4", branch="1.9.4") version("1.9.3", branch="1.9.3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "crayfe", default=False, diff --git a/var/spack/repos/builtin/packages/cbtf-krell/package.py b/var/spack/repos/builtin/packages/cbtf-krell/package.py index 3196840a934d54..4c731a1e8d51f8 100644 --- a/var/spack/repos/builtin/packages/cbtf-krell/package.py +++ b/var/spack/repos/builtin/packages/cbtf-krell/package.py @@ -25,6 +25,9 @@ class CbtfKrell(CMakePackage): version("1.9.4", branch="1.9.4") version("1.9.3", branch="1.9.3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # MPI variants variant( "openmpi", default=False, description="Build mpi experiment collector for openmpi MPI.." diff --git a/var/spack/repos/builtin/packages/cbtf-lanl/package.py b/var/spack/repos/builtin/packages/cbtf-lanl/package.py index 371c1dd63889b6..69882e9b2a90f6 100644 --- a/var/spack/repos/builtin/packages/cbtf-lanl/package.py +++ b/var/spack/repos/builtin/packages/cbtf-lanl/package.py @@ -20,6 +20,8 @@ class CbtfLanl(CMakePackage): version("1.9.4", branch="1.9.4") version("1.9.3", branch="1.9.3") + depends_on("cxx", type="build") # generated + variant( "build_type", default="RelWithDebInfo", diff --git a/var/spack/repos/builtin/packages/cbtf/package.py b/var/spack/repos/builtin/packages/cbtf/package.py index 92166c5286e8eb..dcd00bb0f9f392 100644 --- a/var/spack/repos/builtin/packages/cbtf/package.py +++ b/var/spack/repos/builtin/packages/cbtf/package.py @@ -27,6 +27,8 @@ class Cbtf(CMakePackage): version("1.9.4", branch="1.9.4") version("1.9.3", branch="1.9.3") + depends_on("cxx", type="build") # generated + variant( "runtime", default=False, description="build only the runtime libraries and collectors." ) diff --git a/var/spack/repos/builtin/packages/cc65/package.py b/var/spack/repos/builtin/packages/cc65/package.py index 1f4998ed545742..cebbf6a3d4f399 100644 --- a/var/spack/repos/builtin/packages/cc65/package.py +++ b/var/spack/repos/builtin/packages/cc65/package.py @@ -22,5 +22,7 @@ class Cc65(MakefilePackage): version("2.15", sha256="adeac1a4b04183dd77fba1d69e56bbf4a6d358e0b253ee43ef4cac2391ba848a") version("2.14", sha256="128bda63490eb43ad25fd3615adee4c819c0b7da4b9b8f1801df36bd19e3bdf8") + depends_on("c", type="build") # generated + def install(self, spec, prefix): make("PREFIX={0}".format(prefix), "install") diff --git a/var/spack/repos/builtin/packages/ccache/package.py b/var/spack/repos/builtin/packages/ccache/package.py index a2ca2f7fb43c11..5566e348c6540a 100644 --- a/var/spack/repos/builtin/packages/ccache/package.py +++ b/var/spack/repos/builtin/packages/ccache/package.py @@ -56,6 +56,9 @@ class Ccache(CMakePackage): version("3.3", sha256="b220fce435fe3d86b8b90097e986a17f6c1f971e0841283dd816adb238c5fd6a") version("3.2.9", sha256="1e13961b83a3d215c4013469c149414a79312a22d3c7bf9f946abac9ee33e63f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("redis", default=True, description="Enable Redis secondary storage") depends_on("cmake@3.15:", when="@4.7:", type="build") diff --git a/var/spack/repos/builtin/packages/ccfits/package.py b/var/spack/repos/builtin/packages/ccfits/package.py index 1b2a98f8686680..13e2701a69c86e 100644 --- a/var/spack/repos/builtin/packages/ccfits/package.py +++ b/var/spack/repos/builtin/packages/ccfits/package.py @@ -20,4 +20,6 @@ class Ccfits(AutotoolsPackage): version("2.5", sha256="938ecd25239e65f519b8d2b50702416edc723de5f0a5387cceea8c4004a44740") version("2.4", sha256="ba6c5012b260adf7633f92581279ea582e331343d8c973981aa7de07242bd7f8") + depends_on("cxx", type="build") # generated + depends_on("cfitsio") diff --git a/var/spack/repos/builtin/packages/ccls/package.py b/var/spack/repos/builtin/packages/ccls/package.py index 3d48d9d5683b9a..7d05aa4e808b2c 100644 --- a/var/spack/repos/builtin/packages/ccls/package.py +++ b/var/spack/repos/builtin/packages/ccls/package.py @@ -33,6 +33,8 @@ class Ccls(CMakePackage): "0.20201025", sha256="1470797b2c1a466e2d8a069efd807aac6fefdef8a556e1edf2d44f370c949221" ) + depends_on("cxx", type="build") # generated + depends_on("cmake@3.8:", type="build") depends_on("llvm@7:") depends_on("rapidjson") diff --git a/var/spack/repos/builtin/packages/ccs-qcd/package.py b/var/spack/repos/builtin/packages/ccs-qcd/package.py index bd404445ccd823..1c437a63594b7b 100644 --- a/var/spack/repos/builtin/packages/ccs-qcd/package.py +++ b/var/spack/repos/builtin/packages/ccs-qcd/package.py @@ -40,6 +40,10 @@ class CcsQcd(MakefilePackage): version("master", branch="master") version("1.2.1", commit="d7c6b6923f35a824e997ba8db5bd12dc20dda45c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "class", default=1, diff --git a/var/spack/repos/builtin/packages/cctools/package.py b/var/spack/repos/builtin/packages/cctools/package.py index d3244d76b61fca..85f35f7b8c6906 100644 --- a/var/spack/repos/builtin/packages/cctools/package.py +++ b/var/spack/repos/builtin/packages/cctools/package.py @@ -32,6 +32,9 @@ class Cctools(AutotoolsPackage): version("7.0.18", sha256="5b6f3c87ae68dd247534a5c073eb68cb1a60176a7f04d82699fbc05e649a91c2") version("6.1.1", sha256="97f073350c970d6157f80891b3bf6d4f3eedb5f031fea386dc33e22f22b8af9d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("openssl") depends_on("perl+shared", type=("build", "run")) depends_on("python", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/cdbfasta/package.py b/var/spack/repos/builtin/packages/cdbfasta/package.py index 24ab2790e6723b..bb4fb47a1f5b05 100644 --- a/var/spack/repos/builtin/packages/cdbfasta/package.py +++ b/var/spack/repos/builtin/packages/cdbfasta/package.py @@ -16,6 +16,8 @@ class Cdbfasta(MakefilePackage): version("2017-03-16", commit="b3e481fe02dfbc767a3842bcb1b687c60376a5e8") + depends_on("cxx", type="build") # generated + depends_on("zlib-api") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/cdd/package.py b/var/spack/repos/builtin/packages/cdd/package.py index 1be8ab23a3f6cd..e061ceff6b8aa1 100644 --- a/var/spack/repos/builtin/packages/cdd/package.py +++ b/var/spack/repos/builtin/packages/cdd/package.py @@ -21,6 +21,8 @@ class Cdd(Package): version("0.61a", sha256="637a1909bbd8aa4d32667da08f9e9ac687bf7d3ef1b8af5bd227e91a3cd4019b") + depends_on("c", type="build") # generated + depends_on("libtool", type="build") patch("Makefile.spack.patch") diff --git a/var/spack/repos/builtin/packages/cddlib/package.py b/var/spack/repos/builtin/packages/cddlib/package.py index fbf3e0b33b141c..ef8cdb560f49ef 100644 --- a/var/spack/repos/builtin/packages/cddlib/package.py +++ b/var/spack/repos/builtin/packages/cddlib/package.py @@ -22,6 +22,8 @@ class Cddlib(AutotoolsPackage): version("0.94m", sha256="70dffdb3369b8704dc75428a1b3c42ab9047b81ce039f12f427e2eb2b1b0dee2") version("0.94h", sha256="7382782c3834214b022c8b2898ed775a7bf915f2cb2acb73fa045d6fd9a3de33") + depends_on("c", type="build") # generated + depends_on("gmp", when="@0.94h") def url_for_version(self, version): diff --git a/var/spack/repos/builtin/packages/cdecimal/package.py b/var/spack/repos/builtin/packages/cdecimal/package.py index a725b726ca0881..a02ec04244c5c4 100644 --- a/var/spack/repos/builtin/packages/cdecimal/package.py +++ b/var/spack/repos/builtin/packages/cdecimal/package.py @@ -17,4 +17,6 @@ class Cdecimal(AutotoolsPackage): version("2.3", sha256="d737cbe43ed1f6ad9874fb86c3db1e9bbe20c0c750868fde5be3f379ade83d8b") + depends_on("c", type="build") # generated + patch("darwin_install_name.patch", when="platform=darwin") diff --git a/var/spack/repos/builtin/packages/cdhit/package.py b/var/spack/repos/builtin/packages/cdhit/package.py index 1d6bdf304b5668..15923d966fabe0 100644 --- a/var/spack/repos/builtin/packages/cdhit/package.py +++ b/var/spack/repos/builtin/packages/cdhit/package.py @@ -20,6 +20,8 @@ class Cdhit(MakefilePackage): version("4.8.1", sha256="f8bc3cdd7aebb432fcd35eed0093e7a6413f1e36bbd2a837ebc06e57cdb20b70") version("4.6.8", sha256="37d685e4aa849314401805fe4d4db707e1d06070368475e313d6f3cb8fb65949") + depends_on("cxx", type="build") # generated + maintainers("snehring") variant("openmp", default=True, description="Compile with multi-threading support") diff --git a/var/spack/repos/builtin/packages/cdo/package.py b/var/spack/repos/builtin/packages/cdo/package.py index 929eaaebfc6379..af1b14fc4814b1 100644 --- a/var/spack/repos/builtin/packages/cdo/package.py +++ b/var/spack/repos/builtin/packages/cdo/package.py @@ -151,6 +151,10 @@ class Cdo(AutotoolsPackage): url="https://code.mpimet.mpg.de/attachments/download/12760/cdo-1.7.2.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("netcdf", default=True, description="Enable NetCDF support") variant( "grib2", diff --git a/var/spack/repos/builtin/packages/cdt/package.py b/var/spack/repos/builtin/packages/cdt/package.py index 00942d900e01d9..01730fdcda5d69 100644 --- a/var/spack/repos/builtin/packages/cdt/package.py +++ b/var/spack/repos/builtin/packages/cdt/package.py @@ -21,6 +21,8 @@ class Cdt(CMakePackage): version("1.3.6", sha256="15881e4c451f3b7cceade9b11884b3813ff674dff3edae4fb7c440634f8d4c33") version("1.3.0", sha256="7e8feadf9534cf79f9bf188365510fd6bc68ea997758e1c68d1569f98da924da") + depends_on("cxx", type="build") # generated + variant( "boost", default=False, diff --git a/var/spack/repos/builtin/packages/celeritas/package.py b/var/spack/repos/builtin/packages/celeritas/package.py index 25d8a0b966dd4a..729be79cd28bb9 100644 --- a/var/spack/repos/builtin/packages/celeritas/package.py +++ b/var/spack/repos/builtin/packages/celeritas/package.py @@ -19,6 +19,7 @@ class Celeritas(CMakePackage, CudaPackage, ROCmPackage): license("Apache-2.0") + version("0.4.4", sha256="8b5ae63aa2d50c2ecf48d752424e4a33c50c07d9f0f5ca5448246de3286fd836") version("0.4.3", sha256="b4f603dce1dc9c4894ea4c86f6574026ea8536714982e7dc6dff7472c925c892") version("0.4.2", sha256="eeca9705413f5e16e0fb81154e042600c8df125af7049912757feb01d43730e2") version("0.4.1", sha256="24e5c15eb9eec45f52d94a6719ae3505388b49d409cb7e26c875c70ac409bd2c") @@ -76,6 +77,8 @@ class Celeritas(CMakePackage, CudaPackage, ROCmPackage): deprecated=True, ) + depends_on("cxx", type="build") + _cxxstd_values = ("14", "17") # Note: cuda and rocm variants are defined by mixin classes diff --git a/var/spack/repos/builtin/packages/centrifuge/package.py b/var/spack/repos/builtin/packages/centrifuge/package.py index c0c6db46775889..ce7fea5f4a1fb7 100644 --- a/var/spack/repos/builtin/packages/centrifuge/package.py +++ b/var/spack/repos/builtin/packages/centrifuge/package.py @@ -15,6 +15,8 @@ class Centrifuge(MakefilePackage): version("1.0.4.1", sha256="638cc6701688bfdf81173d65fa95332139e11b215b2d25c030f8ae873c34e5cc") version("1.0.4", sha256="929daed0f84739f7636cc1ea2757527e83373f107107ffeb5937a403ba5201bc") + depends_on("cxx", type="build") # generated + def build(self, spec, prefix): make() diff --git a/var/spack/repos/builtin/packages/cepgen/package.py b/var/spack/repos/builtin/packages/cepgen/package.py index c6a79f3fcb4377..061cfab7e556cb 100644 --- a/var/spack/repos/builtin/packages/cepgen/package.py +++ b/var/spack/repos/builtin/packages/cepgen/package.py @@ -21,6 +21,9 @@ class Cepgen(CMakePackage): "1.0.2patch1", sha256="333bba0cb1965a98dec127e00c150eab1a515cd348a90f7b1d66d5cd8d206d21" ) + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + generator("ninja") depends_on("cmake@3.5:", type="build", when="@1.0:") diff --git a/var/spack/repos/builtin/packages/cereal/package.py b/var/spack/repos/builtin/packages/cereal/package.py index d7a5cc9aa17c30..a53ddb79cedb0b 100644 --- a/var/spack/repos/builtin/packages/cereal/package.py +++ b/var/spack/repos/builtin/packages/cereal/package.py @@ -33,6 +33,8 @@ class Cereal(CMakePackage): version("1.0.0", sha256="51c31c84d4c9e410e56d8bfc3424076b3234f11aa349ac8cda3db9f18118c125") version("0.9.1", sha256="2a99722df9c3d0f75267f732808a4d7e564cb5a35318a3d1c00086e2ef139385") + depends_on("cxx", type="build") # generated + patch("Boost.patch", when="@:1.3.0") patch("Boost2.patch", when="@1.2.2:1.3.0") patch("pointers.patch") diff --git a/var/spack/repos/builtin/packages/ceres-solver/package.py b/var/spack/repos/builtin/packages/ceres-solver/package.py index 5a8ac5db62d000..b70deaab6afd75 100644 --- a/var/spack/repos/builtin/packages/ceres-solver/package.py +++ b/var/spack/repos/builtin/packages/ceres-solver/package.py @@ -24,6 +24,9 @@ class CeresSolver(CMakePackage): version("1.14.0", sha256="4744005fc3b902fed886ea418df70690caa8e2ff6b5a90f3dd88a3d291ef8e8e") version("1.12.0", sha256="745bfed55111e086954126b748eb9efe20e30be5b825c6dec3c525cf20afc895") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("suitesparse", default=False, description="Build with SuiteSparse") variant("shared", default=True, description="Build shared libraries") variant("examples", default=False, description="Build examples") diff --git a/var/spack/repos/builtin/packages/cernlib/package.py b/var/spack/repos/builtin/packages/cernlib/package.py index 55660d391f69b4..8e7b812929d201 100644 --- a/var/spack/repos/builtin/packages/cernlib/package.py +++ b/var/spack/repos/builtin/packages/cernlib/package.py @@ -23,6 +23,10 @@ class Cernlib(CMakePackage): sha256="7006475d9c38254cb94ce75e556a319fea3b3155087780ea522003103771474e", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Build shared libraries") depends_on("freetype") diff --git a/var/spack/repos/builtin/packages/cfitsio/package.py b/var/spack/repos/builtin/packages/cfitsio/package.py index 6c87ebf15a676a..46422d4be02492 100644 --- a/var/spack/repos/builtin/packages/cfitsio/package.py +++ b/var/spack/repos/builtin/packages/cfitsio/package.py @@ -29,6 +29,9 @@ class Cfitsio(AutotoolsPackage): version("3.41", sha256="a556ac7ea1965545dcb4d41cfef8e4915eeb8c0faa1b52f7ff70870f8bb5734c") version("3.37", sha256="092897c6dae4dfe42d91d35a738e45e8236aa3d8f9b3ffc7f0e6545b8319c63a") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("bzip2", default=True, description="Enable bzip2 support") variant("shared", default=True, description="Build shared libraries") diff --git a/var/spack/repos/builtin/packages/cgal/package.py b/var/spack/repos/builtin/packages/cgal/package.py index dccceb27322d5e..daa2a48f06dfdd 100644 --- a/var/spack/repos/builtin/packages/cgal/package.py +++ b/var/spack/repos/builtin/packages/cgal/package.py @@ -33,6 +33,8 @@ class Cgal(CMakePackage): version("4.7", sha256="50bd0a1cad7a8957b09012f831eebaf7d670e2a3467e8f365ec0c71fa5436369") version("4.6.3", sha256="e338027b8767c0a7a6e4fd8679182d1b83b5b1a0da0a1fe4546e7c0ca094fc21") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries") variant( "build_type", diff --git a/var/spack/repos/builtin/packages/cgdb/package.py b/var/spack/repos/builtin/packages/cgdb/package.py index 73a8ff07eaf68e..0118b6d6ec6543 100644 --- a/var/spack/repos/builtin/packages/cgdb/package.py +++ b/var/spack/repos/builtin/packages/cgdb/package.py @@ -20,6 +20,9 @@ class Cgdb(AutotoolsPackage): version("0.7.1", sha256="bb723be58ec68cb59a598b8e24a31d10ef31e0e9c277a4de07b2f457fe7de198") version("0.7.0", sha256="bf7a9264668db3f9342591b08b2cc3bbb08e235ba2372877b4650b70c6fb5423") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Required dependency depends_on("gdb", type="run") depends_on("ncurses") diff --git a/var/spack/repos/builtin/packages/cgdcbxd/package.py b/var/spack/repos/builtin/packages/cgdcbxd/package.py index c372afeed1b8f9..e86d1e3bdb874c 100644 --- a/var/spack/repos/builtin/packages/cgdcbxd/package.py +++ b/var/spack/repos/builtin/packages/cgdcbxd/package.py @@ -19,6 +19,8 @@ class Cgdcbxd(AutotoolsPackage): version("1.0.2", sha256="ef626c60e27005d3cae1e19a60d0133be0d1f0a012b695f7f1f6ad5a2afa4166") version("1.0.1", sha256="663b87a5ab4a760e2446e479fec36f6300d53e6113af1408efc156325219900c") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/cgl/package.py b/var/spack/repos/builtin/packages/cgl/package.py index 4aa3e02be2c6c4..5e417aa77a9a9d 100644 --- a/var/spack/repos/builtin/packages/cgl/package.py +++ b/var/spack/repos/builtin/packages/cgl/package.py @@ -24,6 +24,8 @@ class Cgl(AutotoolsPackage): version("0.60.6", sha256="9e2c51ffad816ab408763d6b931e2a3060482ee4bf1983148969de96d4b2c9ce") version("0.60.3", sha256="cfeeedd68feab7c0ce377eb9c7b61715120478f12c4dd0064b05ad640e20f3fb") + depends_on("cxx", type="build") # generated + depends_on("coinutils") depends_on("osi") depends_on("clp") diff --git a/var/spack/repos/builtin/packages/cgm/package.py b/var/spack/repos/builtin/packages/cgm/package.py index 88d9335db698bb..1d81247db3e985 100644 --- a/var/spack/repos/builtin/packages/cgm/package.py +++ b/var/spack/repos/builtin/packages/cgm/package.py @@ -19,6 +19,8 @@ class Cgm(AutotoolsPackage): version("13.1.0", sha256="c81bead4b919bd0cea9dbc61b219e316718d940bd3dc70825c58efbf0a0acdc3") version("13.1", sha256="985aa6c5db4257999af6f2bdfcb24f2bce74191cdcd98e937700db7fd9f6b549") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="enable mpi support") variant("oce", default=False, description="enable oce geometry kernel") variant("debug", default=False, description="enable debug symbols") diff --git a/var/spack/repos/builtin/packages/cgns/gcc14.patch b/var/spack/repos/builtin/packages/cgns/gcc14.patch new file mode 100644 index 00000000000000..62f9bd2e1f7d63 --- /dev/null +++ b/var/spack/repos/builtin/packages/cgns/gcc14.patch @@ -0,0 +1,50 @@ +From: Mickael Philit +Date: Sun, 3 Mar 2024 20:54:39 +0100 +Subject: [PATCH] backport gcc14 fedora patch + +--- + src/cgnstools/tkogl/gencyl.c | 4 ++-- + src/cgnstools/tkogl/tkogl.c | 8 +++++++- + 2 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/src/cgnstools/tkogl/gencyl.c b/src/cgnstools/tkogl/gencyl.c +index cc36c4ba6..b64d777f4 100644 +--- a/src/cgnstools/tkogl/gencyl.c ++++ b/src/cgnstools/tkogl/gencyl.c +@@ -682,8 +682,8 @@ RenderModel (Model* model) + Vector normal; + GLdouble v [3]; + obj = gluNewTess(); +- gluTessCallback(obj, GLU_BEGIN, glBegin); +- gluTessCallback(obj, GLU_VERTEX, glVertex3fv); ++ gluTessCallback(obj, GLU_BEGIN, (_GLUfuncptr)glBegin); ++ gluTessCallback(obj, GLU_VERTEX, (_GLUfuncptr)glVertex3fv); + gluTessCallback(obj, GLU_END, glEnd); + if (flags&CLOSE_FIRST) { + CrossSection *a = model->cross [0]; +diff --git a/src/cgnstools/tkogl/tkogl.c b/src/cgnstools/tkogl/tkogl.c +index e697e735e..506599d54 100644 +--- a/src/cgnstools/tkogl/tkogl.c ++++ b/src/cgnstools/tkogl/tkogl.c +@@ -22,6 +22,12 @@ + #include "printstr.h" + #include "feedback.h" + ++#if ! defined(__WIN32__) && ! defined(_WIN32) ++/* For TkWmAddToColormapWindows. */ ++#define _TKPORT /* Typical installations cannot find tkPort.h. */ ++#include ++#endif ++ + #ifndef CONST + # define CONST + #endif +@@ -599,7 +605,7 @@ OGLwinCmd(clientData, interp, argc, argv) + + if ((Tk_Parent(tkwin) != NULL) && + (Tk_Colormap(tkwin) != Tk_Colormap (Tk_Parent(tkwin)))) { +- TkWmAddToColormapWindows(tkwin); ++ TkWmAddToColormapWindows((TkWindow *)tkwin); + } + + /* See if this window will share display lists with another */ diff --git a/var/spack/repos/builtin/packages/cgns/package.py b/var/spack/repos/builtin/packages/cgns/package.py index 4ac08f89d491b3..d6abd25088bd2c 100644 --- a/var/spack/repos/builtin/packages/cgns/package.py +++ b/var/spack/repos/builtin/packages/cgns/package.py @@ -38,6 +38,9 @@ class Cgns(CMakePackage): version("3.3.1", sha256="81093693b2e21a99c5640b82b267a495625b663d7b8125d5f1e9e7aaa1f8d469") version("3.3.0", sha256="8422c67994f8dc6a2f201523a14f6c7d7e16313bdd404c460c16079dbeafc662") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("hdf5", default=True, description="Enable HDF5 interface") variant("fortran", default=False, description="Enable Fortran interface") variant("base_scope", default=False, description="Enable base scope") @@ -73,6 +76,11 @@ class Cgns(CMakePackage): # https://bugs.gentoo.org/662210 patch("no-matherr.patch", when="@:3.3.1 +tools") + # patch for gcc14 due to using internal tk type/function, + # copied from https://github.com/CGNS/CGNS/pull/757 + # (adjusted an include from tk-private/generic/tkInt.h to tkInt.h) + patch("gcc14.patch", when="@:4.4.0 %gcc@14:") + def cmake_args(self): spec = self.spec options = [] diff --git a/var/spack/repos/builtin/packages/chaco/package.py b/var/spack/repos/builtin/packages/chaco/package.py index 08f4ade01309b5..e1b76a7ce00c5a 100644 --- a/var/spack/repos/builtin/packages/chaco/package.py +++ b/var/spack/repos/builtin/packages/chaco/package.py @@ -19,6 +19,9 @@ class Chaco(CMakePackage): version("develop", branch="truchas") version("2020-07-16", commit="92a877b381933d12b02507413897f696d81b4682", preferred=True) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="build shared library") depends_on("cmake@3.16:", type="build") diff --git a/var/spack/repos/builtin/packages/chai/package.py b/var/spack/repos/builtin/packages/chai/package.py index 0f4b8457fec708..877b42fe4a5f74 100644 --- a/var/spack/repos/builtin/packages/chai/package.py +++ b/var/spack/repos/builtin/packages/chai/package.py @@ -19,11 +19,23 @@ class Chai(CachedCMakePackage, CudaPackage, ROCmPackage): git = "https://github.com/LLNL/CHAI.git" tags = ["ecp", "e4s", "radiuss"] - maintainers("davidbeckingsale") + maintainers("davidbeckingsale", "adayton1") license("BSD-3-Clause") version("develop", branch="develop", submodules=False) + version( + "2024.02.2", + tag="v2024.02.2", + commit="5ba0944d862513f600432c34b009824875df27e5", + submodules=False, + ) + version( + "2024.02.1", + tag="v2024.02.1", + commit="7597134729bd3a38b45b67b4dfbf7f199d8106f3", + submodules=False, + ) version( "2024.02.0", tag="v2024.02.0", @@ -80,6 +92,8 @@ class Chai(CachedCMakePackage, CudaPackage, ROCmPackage): ) version("1.0", tag="v1.0", commit="501a098ad879dc8deb4a74fcfe8c08c283a10627", submodules=True) + depends_on("cxx", type="build") # generated + # Patching Umpire for dual BLT targets import changed MPI target name in Umpire link interface # We propagate the patch here. patch("change_mpi_target_name_umpire_patch.patch", when="@2022.10.0:2023.06.0") @@ -110,6 +124,7 @@ class Chai(CachedCMakePackage, CudaPackage, ROCmPackage): depends_on("cmake@3.14:", type="build", when="@2022.03.0:") depends_on("blt") + depends_on("blt@0.6.2:", type="build", when="@2024.02.1:") depends_on("blt@0.6.1:", type="build", when="@2024.02.0:") depends_on("blt@0.5.3", type="build", when="@2023.06.0") depends_on("blt@0.5.2:0.5.3", type="build", when="@2022.10.0") @@ -120,6 +135,7 @@ class Chai(CachedCMakePackage, CudaPackage, ROCmPackage): conflicts("^blt@:0.3.6", when="+rocm") depends_on("umpire") + depends_on("umpire@2024.02.1:", when="@2024.02.1:") depends_on("umpire@2024.02.0:", when="@2024.02.0:") depends_on("umpire@2023.06.0", when="@2023.06.0") depends_on("umpire@2022.10.0:2023.06.0", when="@2022.10.0") @@ -144,6 +160,8 @@ class Chai(CachedCMakePackage, CudaPackage, ROCmPackage): with when("+raja"): depends_on("raja~openmp", when="~openmp") depends_on("raja+openmp", when="+openmp") + depends_on("raja@2024.02.2:", when="@2024.02.2:") + depends_on("raja@2024.02.1:", when="@2024.02.1:") depends_on("raja@2024.02.0:", when="@2024.02.0:") depends_on("raja@2023.06.0", when="@2023.06.0") depends_on("raja@2022.10.0:2023.06.0", when="@2022.10.0") diff --git a/var/spack/repos/builtin/packages/chameleon/package.py b/var/spack/repos/builtin/packages/chameleon/package.py index 5f9c8451ab32b2..8a600cdb8d9449 100644 --- a/var/spack/repos/builtin/packages/chameleon/package.py +++ b/var/spack/repos/builtin/packages/chameleon/package.py @@ -19,6 +19,10 @@ class Chameleon(CMakePackage, CudaPackage): version("1.2.0", sha256="b8988ecbff19c603ae9f61441653c21bba18d040bee9bb83f7fc9077043e50b4") version("1.1.0", sha256="e64d0438dfaf5effb3740e53f3ab017d12744b85a138b2ef702a81df559126df") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # cmake's specific variant("shared", default=True, description="Build chameleon as a shared library") diff --git a/var/spack/repos/builtin/packages/changa/package.py b/var/spack/repos/builtin/packages/changa/package.py index 43b55a6a85c2bf..ac44bc2a936555 100644 --- a/var/spack/repos/builtin/packages/changa/package.py +++ b/var/spack/repos/builtin/packages/changa/package.py @@ -24,6 +24,9 @@ class Changa(AutotoolsPackage): version("master", branch="master") version("3.4", sha256="c2bceb6ac00025dfd704bb6960bc17c6df7c746872185845d1e75f47e6ce2a94") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated patch("fix_configure_path.patch") resource( diff --git a/var/spack/repos/builtin/packages/channelflow/package.py b/var/spack/repos/builtin/packages/channelflow/package.py index 1f0cb9fa898bd6..bd8352c7102ad5 100644 --- a/var/spack/repos/builtin/packages/channelflow/package.py +++ b/var/spack/repos/builtin/packages/channelflow/package.py @@ -19,6 +19,8 @@ class Channelflow(CMakePackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libs") variant("mpi", default=True, description="Enable MPI parallelism") variant("hdf5", default=True, description="Enable support for HDF5 I/O") diff --git a/var/spack/repos/builtin/packages/chaparral/package.py b/var/spack/repos/builtin/packages/chaparral/package.py index 050ca651d4f5d7..ff55533b118b14 100644 --- a/var/spack/repos/builtin/packages/chaparral/package.py +++ b/var/spack/repos/builtin/packages/chaparral/package.py @@ -19,6 +19,8 @@ class Chaparral(CMakePackage): version("develop", branch="truchas") version("2020-08-28", commit="c8a190bb74ef33ad8b2f7b67d20590f393fde32a", preferred=True) + depends_on("c", type="build") # generated + variant("shared", default=True, description="Build shared library") variant("mpi", default=True, description="Build parallel library") diff --git a/var/spack/repos/builtin/packages/chapel/fix_spack_cc_wrapper_in_cray_prgenv.patch b/var/spack/repos/builtin/packages/chapel/fix_spack_cc_wrapper_in_cray_prgenv.patch new file mode 100644 index 00000000000000..b53b7f2c26064c --- /dev/null +++ b/var/spack/repos/builtin/packages/chapel/fix_spack_cc_wrapper_in_cray_prgenv.patch @@ -0,0 +1,22 @@ +diff --git a/util/chplenv/chpl_llvm.py b/util/chplenv/chpl_llvm.py +index f0fd495f28..95dc9c3f67 100755 +--- a/util/chplenv/chpl_llvm.py ++++ b/util/chplenv/chpl_llvm.py +@@ -866,13 +866,14 @@ def get_clang_prgenv_args(): + os.environ['PE_CHAPEL_PKGCONFIG_LIBS'] = gather_pe_chpl_pkgconfig_libs() + + # Use cc --cray-print-opts=... to get arguments from compiler driver +- ++ # find the actual cc in case something like spack has wrapped it ++ real_cc = os.path.join(os.environ["CRAYPE_DIR"], "bin", "cc") + # Get compilation arguments +- opts = run_command(['cc', '--cray-print-opts=cflags']) ++ opts = run_command([real_cc, '--cray-print-opts=cflags']) + comp_args.extend(opts.split()) + + # Get link arguments +- opts = run_command(['cc', '--cray-print-opts=libs']) ++ opts = run_command([real_cc, '--cray-print-opts=libs']) + link_args.extend(opts.split()) + + return (comp_args, link_args) diff --git a/var/spack/repos/builtin/packages/chapel/package.py b/var/spack/repos/builtin/packages/chapel/package.py index feedd735d15e27..3d530d7a99ee79 100644 --- a/var/spack/repos/builtin/packages/chapel/package.py +++ b/var/spack/repos/builtin/packages/chapel/package.py @@ -3,24 +3,822 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os +import subprocess + from spack.package import * +from spack.util.environment import is_system_path, set_env + + +@llnl.util.lang.memoized +def is_CrayEX(): + # Credit to upcxx package for this hpe-cray-ex detection function + if spack.platforms.host().name == "linux": + target = os.environ.get("CRAYPE_NETWORK_TARGET") + if target in ["ofi", "ucx"]: # normal case + return True + elif target is None: # but some systems lack Cray PrgEnv + fi_info = which("fi_info") + if ( + fi_info + and fi_info("-l", output=str, error=str, fail_on_error=False).find("cxi") >= 0 + ): + return True + return False -class Chapel(AutotoolsPackage): +class Chapel(AutotoolsPackage, CudaPackage, ROCmPackage): """Chapel is a modern programming language that is parallel, productive, - portable, scalable and open-source.""" + portable, scalable and open-source. The Chapel package comes with many + options in the form of variants, most of which can be left unset to allow + Chapel's built-in scripts to determine the proper values based on the environment.""" homepage = "https://chapel-lang.org/" - url = "https://github.com/chapel-lang/chapel/releases/download/1.24.1/chapel-1.24.1.tar.gz" + url = "https://github.com/chapel-lang/chapel/archive/refs/tags/2.1.0.tar.gz" + git = "https://github.com/chapel-lang/chapel.git" + + test_requires_compiler = True + + # TODO: Re-enable these once we add determine_version and determine_variants + # executables = ["^chpl$", "^chpldoc$"] + + # A list of GitHub accounts to notify when the package is updated. + # TODO: add chapel-project github account + maintainers("arezaii", "bonachea") + + # See https://spdx.org/licenses/ for a list. license("Apache-2.0") - version("1.24.1", sha256="f898f266fccaa34d937b38730a361d42efb20753ba43a95e5682816e008ce5e4") - version("1.24.0", sha256="77c6087f3e0837268470915f2ad260d49cf7ac4adf16f5b44862ae624c1be801") - version("1.23.0", sha256="7ae2c8f17a7b98ac68378e94a842cf16d4ab0bcfeabc0fee5ab4aaa07b205661") - version("1.22.1", sha256="8235eb0869c9b04256f2e5ce3ac4f9eff558401582fba0eba05f254449a24989") - version("1.22.0", sha256="57ba6ee5dfc36efcd66854ecb4307e1c054700ea201eff73012bd8b4572c2ce6") - version("1.21.0", sha256="886f7ba0e0e86c86dba99417e3165f90b1d3eca59c8cd5a7f645ce28cb5d82a0") - version("1.20.0", sha256="08bc86df13e4ad56d0447f52628b0f8e36b0476db4e19a90eeb2bd5f260baece") - version("1.19.0", sha256="c2b68a20d87cc382c2f73dd1ecc6a4f42fb2f590b0b10fbc577382dd35c9e9bd") - version("1.18.0", sha256="68471e1f398b074edcc28cae0be26a481078adc3edea4df663f01c6bd3b6ae0d") + version("main", branch="main") + + version("2.1.0", sha256="8e164d9a9e705e6b816857e84833b0922ce0bde6a36a9f3a29734830aac168ef") + version("2.0.1", sha256="47e1f3789478ea870bd4ecdf52acbe469d171b89b663309325431f3da7c75008") + version("2.0.0", sha256="a8cab99fd034c7b7229be8d4626ec95cf02072646fb148c74b4f48c460c6059c") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + + patch("fix_spack_cc_wrapper_in_cray_prgenv.patch", when="@2.0.0:") + + launcher_names = ( + "amudprun", + "aprun", + "gasnetrun_ibv", + "gasnetrun_mpi", + "mpirun4ofi", + "lsf-gasnetrun_ibv", + "pals", + "pbs-aprun", + "pbs-gasnetrun_ibv", + "slurm-gasnetrun_ibv", + "slurm-gasnetrun_mpi", + "slurm-gasnetrun_ofi", + "slurm-srun", + "smp", + "none", + "unset", + ) + + # TODO: revise this list of mappings, probably need more logic for cce, see upc++ + compiler_map = { + "aocc": "clang", + "apple-clang": "clang", + "arm": "clang", + "clang": "clang", + "cce": "cray-prgenv-cray", + "dpcpp": "intel", + "gcc": "gnu", + "intel": "intel", + "llvm": "llvm", + "oneapi": "intel", + "pgi": "pgi", + "rocmcc": "clang", + "unset": "unset", + } + + cpu_options = ( + "native", + "none", + "unknown", + "unset", + "aarch64", + "barcelona", + "bdver1", + "bdver2", + "bdver3", + "bdver4", + "broadwell", + "core2", + "haswell", + "ivybridge", + "k8", + "k8sse3", + "nehalem", + "sandybridge", + "skylake", + "thunderx", + "thunderx2t99", + "westmere", + ) + + # TODO: add other package dependencies + package_module_dict = { + "curl": "curl", + "hdf5": "hdf5+hl~mpi", + "libevent": "libevent", + "protobuf": "py-protobuf", + "ssl": "openssl", + "yaml": "libyaml@0.1", + "zmq": "libzmq", + } + + platform_opts = ( + "cray-cs", + "cray-xc", + "cygwin32", + "cygwin64", + "darwin", + "hpe-apollo", + "hpe-cray-ex", + "linux32", + "linux64", + "netbsd32", + "netbsd64", + "pwr6", + "unset", + ) + + variant( + "atomics", + values=("unset", "cstdlib", "intrinsics", "locks"), + default="unset", + description="Select atomics implementation", + multi=False, + ) + + # TODO: refactor this somehow, this is a separate documentation tool, not a variant of chapel + variant("chpldoc", default=False, description="Build chpldoc in addition to chpl") + + variant("developer", default=False, description="Enable Chapel developer mode") + + variant( + "comm", + default="none", + description="Build Chapel with multi-locale support", + values=("gasnet", "none", "ofi", "ugni"), + ) + + variant( + "comm_substrate", + default="unset", + description="Build Chapel with GASNet multi-locale support using the " + "supplied CHPL_COMM_SUBSTRATE", + values=("ibv", "ofi", "udp", "smp", "unset"), + multi=False, + sticky=True, # never allow the concretizer to choose this + ) + + # Chapel depends on GASNet whenever comm=gasnet. + # The default (and recommendation) is to use the embedded copy of GASNet. + # This variant allows overriding with a particular version of GASNet sources, + # although this is not officially supported and some combinations might be rejected. + variant( + "gasnet", + description="Control the GASNet library version used", + default="bundled", + values=("bundled", "spack"), + multi=False, + ) + + variant( + "gasnet_segment", + default="unset", + description="Build Chapel with multi-locale support using the " + "supplied CHPL_GASNET_SEGMENT", + values=("everything", "fast", "large", "unset"), + multi=False, + ) + + variant( + "gmp", + description="Build with gmp support", + default="spack", + values=("bundled", "none", "spack"), + multi=False, + ) + + variant( + "gpu_mem_strategy", + description="The memory allocation strategy for GPU data", + values=("array_on_device", "unified_memory"), + default="array_on_device", + multi=False, + ) + + variant( + "host_arch", + description="Host architecture of the build machine", + values=("x86_64", "aarch64", "arm64", "unset"), + default="unset", + multi=False, + ) + + variant( + "host_jemalloc", + values=("bundled", "none", "spack", "unset"), + default="unset", + multi=False, + description="Selects between no jemalloc, bundled jemalloc, or spack supplied jemalloc", + ) + + variant( + "host_mem", + values=("cstdlib", "jemalloc"), + default="jemalloc", + description="Memory management layer for the chpl compiler", + multi=False, + ) + + variant( + "host_platform", + description="Host platform", + default="unset", + values=platform_opts, + multi=False, + ) + + variant( + "hwloc", + description="Build with hwloc support", + default="bundled", + values=( + "bundled", + "none", + # CHPL_HWLOC=system existed back to at least 2017, + # but it was buggy and unsupported until version 2.1 + conditional("spack", when="@2.1:"), + ), + multi=False, + ) + + variant( + "launcher", + values=launcher_names, + default="unset", + description="Launcher to use for running Chapel programs", + multi=False, + ) + + variant( + "lib_pic", + values=("none", "pic"), + default="none", + description="Build position-independent code suitable for shared libraries", + ) + + variant( + "libfabric", + default="unset", + description="When building with ofi support, specify libfabric option", + values=("bundled", "spack", "unset"), + multi=False, + ) + + variant( + "llvm", + default="spack", + description="LLVM backend type. The 'spack' value can use an external " + "source of LLVM or let spack build a version if no LLVM installs were " + "previously detected by 'spack external find'", + values=("bundled", "none", "spack"), + ) + + variant( + "re2", + description="Build with re2 support", + default="bundled", + values=("bundled", "none"), + multi=False, + ) + + variant( + "target_arch", + description="Target architecture for cross compilation", + default="unset", + values=("x86_64", "aarch64", "arm64", "unset"), + multi=False, + ) + + variant( + "target_cpu", + values=cpu_options, + description="Indicate that the target executable should be specialized " + "to the given architecture when using --specialize (and --fast).", + default="unset", + multi=False, + ) + + variant( + "target_platform", + description="Target platform for cross compilation", + default="unset", + values=platform_opts, + multi=False, + ) + + variant( + "tasks", + description="Select tasking layer for intra-locale parallelism", + default="qthreads", + values=("fifo", "qthreads"), + multi=False, + ) + + variant( + "timers", + description="Select timers implementation", + default="unset", + values=("generic", "unset"), + multi=False, + ) + + variant( + "unwind", + description="Build with unwind library for stack tracing", + default="none", + values=("bundled", "none", "spack"), + multi=False, + ) + + # Add dependencies for package modules + for variant_name, dep in package_module_dict.items(): + variant( + variant_name, + description="Build with support for the Chapel {0} package module".format( + variant_name + ), + default=True, + ) + depends_on(dep, when="+{0}".format(variant_name)) + + # TODO: for CHPL_X_CC and CHPL_X_CXX, can we capture an arbitrary path, possibly + # with arguments? + chpl_env_vars = [ + "CHPL_ATOMICS", + "CHPL_AUX_FILESYS", + "CHPL_COMM", + "CHPL_COMM_SUBSTRATE", + "CHPL_DEVELOPER", + "CHPL_GASNET_SEGMENT", + "CHPL_GMP", + "CHPL_GPU", + "CHPL_GPU_ARCH", + "CHPL_GPU_MEM_STRATEGY", + "CHPL_HOST_ARCH", + # "CHPL_HOST_CC", + "CHPL_HOST_COMPILER", + # "CHPL_HOST_CXX", + "CHPL_HOST_JEMALLOC", + "CHPL_HOST_MEM", + "CHPL_HOST_PLATFORM", + "CHPL_HWLOC", + "CHPL_LAUNCHER", + "CHPL_LIB_PIC", + "CHPL_LIBFABRIC", + "CHPL_LLVM", + "CHPL_LLVM_CONFIG", + "CHPL_LLVM_SUPPORT", + "CHPL_LLVM_VERSION", + "CHPL_LOCALE_MODEL", + "CHPL_MEM", + "CHPL_RE2", + "CHPL_SANITIZE", + "CHPL_SANITIZE_EXE", + "CHPL_TARGET_ARCH", + # "CHPL_TARGET_CC", + "CHPL_TARGET_COMPILER", + "CHPL_TARGET_CPU", + # "CHPL_TARGET_CXX", + "CHPL_TARGET_PLATFORM", + "CHPL_TASKS", + "CHPL_TIMERS", + "CHPL_UNWIND", + ] + + conflicts("platform=windows") # Support for windows is through WSL only + + conflicts("+rocm", when="+cuda", msg="Chapel must be built with either CUDA or ROCm, not both") + conflicts("+rocm", when="@:2.0.0", msg="ROCm support in spack requires Chapel 2.0.0 or later") + + conflicts( + "comm_substrate=unset", + when="comm=gasnet", + msg="comm=gasnet requires you to also set comm_substrate= to the appropriate network", + ) + + conflicts( + "^python@3.12:", + when="@:2.1.0", + msg="Chapel versions prior to 2.1.0 may produce SyntaxWarnings with Python >= 3.12", + ) + + conflicts( + "host_jemalloc=spack", + when="platform=linux", + msg="Only bundled jemalloc may be used on Linux systems, see " + "https://chapel-lang.org/docs/usingchapel/chplenv.html#chpl-host-jemalloc", + ) + + conflicts( + "host_jemalloc=bundled", + when="platform=darwin", + msg="Only system jemalloc may be used on Darwin (MacOS) systems, see " + "https://chapel-lang.org/docs/usingchapel/chplenv.html#chpl-host-jemalloc", + ) + + with when("llvm=none"): + conflicts("+cuda", msg="Cuda support requires building with LLVM") + conflicts("+rocm", msg="ROCm support requires building with LLVM") + + # Add dependencies + + depends_on("doxygen@1.8.17:", when="+chpldoc") + + # TODO: keep up to date with util/chplenv/chpl_llvm.py + with when("llvm=spack"): + depends_on("llvm@11:17", when="@:2.0.1") + depends_on("llvm@11:18", when="@2.1.0:") + + # Based on docs https://chapel-lang.org/docs/technotes/gpu.html#requirements + depends_on("llvm@16:", when="llvm=spack ^cuda@12:") + requires( + "^llvm targets=all", + msg="llvm=spack +cuda requires LLVM support the nvptx target", + when="llvm=spack +cuda", + ) + + depends_on("cuda@11:", when="+cuda", type=("build", "link", "run", "test")) + + # This is because certain systems have binutils installed as a system package + # but do not include the headers. Spack incorrectly supplies those external + # packages as proper dependencies for LLVM, but then LLVM will fail to build + # with an error about missing plugin-api.h + depends_on("binutils+gold+ld+plugins+headers", when="llvm=bundled") + + depends_on("m4") + + depends_on("gmp", when="gmp=spack", type=("build", "link", "run", "test")) + depends_on("hwloc", when="hwloc=spack", type=("build", "link", "run", "test")) + depends_on("libfabric", when="libfabric=spack", type=("build", "link", "run", "test")) + depends_on("libunwind", when="unwind=spack", type=("build", "link", "run", "test")) + depends_on("jemalloc", when="host_jemalloc=spack", type=("build", "link", "run", "test")) + + depends_on("gasnet conduits=none", when="gasnet=spack") + depends_on("gasnet@2024.5.0: conduits=none", when="@2.1.0: gasnet=spack") + + depends_on("python@3.7:") + depends_on("cmake@3.16:") + + # ensure we can map the spack compiler name to one of the ones we recognize + requires( + "%aocc", + "%apple-clang", + "%arm", + "%clang", + "%cce", + "%cray-prgenv-cray", + "%cray-prgenv-gnu", + "%cray-prgenv-intel", + "%cray-prgenv-pgi", + "%dpcpp", + "%gcc", + "%intel", + "%llvm", + "%oneapi", + "%pgi", + "%rocmcc", + policy="one_of", + ) + + def unset_chpl_env_vars(self, env): + # Clean the environment from any pre-set CHPL_ variables that affect the build + for var in self.chpl_env_vars: + env.unset(var) + + def build(self, spec, prefix): + make() + if spec.variants["chpldoc"].value: + make("chpldoc") + + def setup_chpl_platform(self, env): + if self.spec.variants["host_platform"].value == "unset": + if is_CrayEX(): + env.set("CHPL_HOST_PLATFORM", "hpe-cray-ex") + + def setup_chpl_compilers(self, env): + env.set("CHPL_HOST_COMPILER", self.compiler_map[self.spec.compiler.name]) + env.set("CHPL_TARGET_COMPILER", self.compiler_map[self.spec.compiler.name]) + + # Undo spack compiler wrappers: + # the C/C++ compilers must work post-install + if self.spec.satisfies("+cuda") or self.spec.satisfies("+rocm"): + env.set("CHPL_TARGET_COMPILER", "llvm") + real_cc = join_path(self.spec["llvm"].prefix, "bin", "clang") + real_cxx = join_path(self.spec["llvm"].prefix, "bin", "clang++") + elif is_CrayEX() and os.environ.get("CRAYPE_DIR"): + real_cc = join_path(os.environ["CRAYPE_DIR"], "bin", "cc") + real_cxx = join_path(os.environ["CRAYPE_DIR"], "bin", "CC") + else: + real_cc = self.compiler.cc + real_cxx = self.compiler.cxx + env.set("CHPL_TARGET_CC", real_cc) + env.set("CHPL_TARGET_CXX", real_cxx) + + def setup_chpl_comm(self, env, spec): + env.set("CHPL_COMM", spec.variants["comm"].value) + + @run_before("configure", when="gasnet=spack") + def setup_gasnet(self): + dst = join_path(self.stage.source_path, "third-party", "gasnet", "gasnet-src") + remove_directory_contents(dst) + os.rmdir(dst) + symlink(self.spec["gasnet"].prefix.src, dst) + + def setup_chpl_llvm(self, env): + if self.spec.variants["llvm"].value == "spack": + env.set( + "CHPL_LLVM_CONFIG", "{0}/{1}".format(self.spec["llvm"].prefix, "bin/llvm-config") + ) + + def setup_if_not_unset(self, env, var, value): + if value != "unset": + if value == "spack": + value = "system" + env.set(var, value) + + def prepend_cpath_include(self, env, prefix): + if not is_system_path(prefix): + env.prepend_path("CPATH", prefix.include) + + def setup_env_vars(self, env): + # variants that appear unused by Spack typically correspond directly to + # a CHPL_ variable which will be used by the Chapel build system + for v in self.spec.variants.keys(): + self.setup_if_not_unset(env, "CHPL_" + v.upper(), self.spec.variants[v].value) + self.setup_chpl_llvm(env) + self.setup_chpl_compilers(env) + self.setup_chpl_platform(env) + + # TODO: a function to set defaults for things where we removed variants + # We'll set to GPU later if +rocm or +cuda requested + env.set("CHPL_LOCALE_MODEL", "flat") + + if self.spec.satisfies("+developer"): + env.set("CHPL_DEVELOPER", "true") + + if self.spec.variants["gmp"].value == "spack": + # TODO: why must we add to CPATH to find gmp.h + # TODO: why must we add to LIBRARY_PATH to find lgmp + self.prepend_cpath_include(env, self.spec["gmp"].prefix) + env.prepend_path("LIBRARY_PATH", self.spec["gmp"].prefix.lib) + # Need this for the test env, where it does not appear automatic: + env.prepend_path("PKG_CONFIG_PATH", self.spec["gmp"].prefix.lib.pkgconfig) + + if self.spec.variants["hwloc"].value == "spack": + env.prepend_path("LD_LIBRARY_PATH", self.spec["hwloc"].prefix.lib) + # Need this for the test env, where it does not appear automatic: + env.prepend_path("PKG_CONFIG_PATH", self.spec["hwloc"].prefix.lib.pkgconfig) + env.prepend_path("PKG_CONFIG_PATH", self.spec["libpciaccess"].prefix.lib.pkgconfig) + + if self.spec.variants["unwind"].value == "spack": + # chapel package would not build without cpath, missing libunwind.h + self.prepend_cpath_include(env, self.spec["libunwind"].prefix) + env.prepend_path("LD_LIBRARY_PATH", self.spec["libunwind"].prefix.lib) + + if self.spec.satisfies("+yaml"): + env.prepend_path("PKG_CONFIG_PATH", self.spec["libyaml"].prefix.lib.pkgconfig) + self.prepend_cpath_include(env, self.spec["libyaml"].prefix) + # could not compile test/library/packages/Yaml/writeAndParse.chpl without this + env.prepend_path("LIBRARY_PATH", self.spec["libyaml"].prefix.lib) + + if self.spec.satisfies("+zmq"): + self.prepend_cpath_include(env, self.spec["libzmq"].prefix) + # could not compile test/library/packages/ZMQ/hello.chpl without this + env.prepend_path("LIBRARY_PATH", self.spec["libzmq"].prefix.lib) + env.prepend_path("LD_LIBRARY_PATH", self.spec["libzmq"].prefix.lib) + # could not compile test/library/packages/ZMQ/hello.chpl without this + env.prepend_path("LIBRARY_PATH", self.spec["libzmq"].prefix.lib) + env.prepend_path("PKG_CONFIG_PATH", self.spec["libzmq"].prefix.lib.pkgconfig) + env.prepend_path("PKG_CONFIG_PATH", self.spec["libsodium"].prefix.lib.pkgconfig) + + if self.spec.satisfies("+curl"): + self.prepend_cpath_include(env, self.spec["curl"].prefix) + # could not compile test/library/packages/Curl/check-http.chpl without this + env.prepend_path("LIBRARY_PATH", self.spec["curl"].prefix.lib) + env.prepend_path("LD_LIBRARY_PATH", self.spec["curl"].prefix.lib) + env.prepend_path("PKG_CONFIG_PATH", self.spec["curl"].prefix.lib.pkgconfig) + + if self.spec.satisfies("+cuda"): + # TODO: why must we add to LD_LIBRARY_PATH to find libcudart? + env.prepend_path("LD_LIBRARY_PATH", self.spec["cuda"].prefix.lib64) + env.set("CHPL_LOCALE_MODEL", "gpu") + env.set("CHPL_GPU", "nvidia") + + if self.spec.satisfies("+rocm"): + env.set("CHPL_LOCALE_MODEL", "gpu") + env.set("CHPL_GPU", "amd") + env.set("CHPL_HOST_COMPILER", "llvm") + env.set("CHPL_GPU_ARCH", self.spec.variants["amdgpu_target"].value[0]) + env.set( + "CHPL_LLVM_CONFIG", + "{0}/{1}".format(self.spec["llvm-amdgpu"].prefix, "bin/llvm-config"), + ) + self.prepend_cpath_include(env, self.spec["hip"].prefix) + env.set("CHPL_ROCM_PATH", self.spec["llvm-amdgpu"].prefix) + env.prepend_path("LIBRARY_PATH", self.spec["hip"].prefix.lib) + env.prepend_path("LIBRARY_PATH", self.spec["hsa-rocr-dev"].prefix.lib) + env.prepend_path("LD_LIBRARY_PATH", self.spec["hip"].prefix.lib) + env.prepend_path("LD_LIBRARY_PATH", self.spec["hsa-rocr-dev"].prefix.lib) + self.setup_chpl_comm(env, self.spec) + + def setup_build_environment(self, env): + self.unset_chpl_env_vars(env) + self.setup_env_vars(env) + + def setup_run_environment(self, env): + self.setup_env_vars(env) + env.prepend_path( + "PATH", join_path(self.prefix.share, "chapel", self._output_version_short, "util") + ) + + @property + @llnl.util.lang.memoized + def _output_version_long(self): + if str(self.spec.version).lower() == "main": + return "2.2.0" + spec_vers_str = str(self.spec.version.up_to(3)) + return spec_vers_str + + @property + @llnl.util.lang.memoized + def _output_version_short(self): + if str(self.spec.version).lower() == "main": + return "2.2" + spec_vers_str = str(self.spec.version.up_to(2)) + return spec_vers_str + + def test_version(self): + """Perform version checks on selected installed package binaries.""" + expected = f"version {self._output_version_long}" + exes = ["chpl"] + + if self.spec.satisfies("+chpldoc"): + exes.append("chpldoc") + + for exe in exes: + reason = f"ensure version of {exe} is {self._output_version_long}" + with test_part(self, f"test_version_{exe}", purpose=reason): + path = join_path(self.prefix.bin, exe) + if not os.path.isfile(path): + raise SkipTest(f"{path} is not installed") + prog = which(path) + if prog is None: + raise RuntimeError(f"Could not find {path}") + output = prog("--version", output=str.split, error=str.split) + assert expected in output + + def check(self): + # TODO: we skip the self-check because it's ran by default but: + # - make check doesn't work at build time b/c the PATH isn't yet updated + # - make test is a long running operation + pass + + def check_chpl_install_gasnet(self): + """Setup env to run self-test after installing the package with gasnet""" + with set_env( + GASNET_SPAWNFN="L", + GASNET_QUIET="yes", + GASNET_ROUTE_OUTPUT="0", + QT_AFFINITY="no", + CHPL_QTHREAD_ENABLE_OVERSUBSCRIPTION="1", + CHPL_RT_MASTERIP="127.0.0.1", + CHPL_RT_WORKERIP="127.0.0.0", + CHPL_LAUNCHER="", + ): + return subprocess.run(["util/test/checkChplInstall"]) + + def check_chpl_install(self): + if self.spec.variants["comm"].value != "none": + return self.check_chpl_install_gasnet() + else: + return subprocess.run(["util/test/checkChplInstall"]) + + def test_hello(self): + """Run the hello world test""" + with working_dir(self.test_suite.current_test_cache_dir): + with set_env(CHPL_CHECK_HOME=self.test_suite.current_test_cache_dir): + with test_part(self, "test_hello", purpose="test hello world"): + if self.spec.satisfies("+cuda") or self.spec.satisfies("+rocm"): + with set_env(COMP_FLAGS="--no-checks --no-compiler-driver"): + res = self.check_chpl_install() + assert res and res.returncode == 0 + else: + res = self.check_chpl_install() + assert res and res.returncode == 0 + + # TODO: This is a pain because the checkChplDoc script doesn't have the same + # support for CHPL_CHECK_HOME and chpldoc is finicky about CHPL_HOME + def test_chpldoc(self): + """Run the chpldoc test""" + if not self.spec.satisfies("+chpldoc"): + print("Skipping chpldoc test as chpldoc variant is not set") + return + with working_dir(self.test_suite.current_test_cache_dir): + with set_env(CHPL_HOME=self.test_suite.current_test_cache_dir): + with test_part(self, "test_chpldoc", purpose="test chpldoc"): + res = subprocess.run(["util/test/checkChplDoc"]) + assert res.returncode == 0 + + # TODO: In order to run these tests, there's a lot of infrastructure to copy + # from the Chapel test suite and there are conflicts with CHPL_HOME needing + # to match the compiler's directory and the test suite's directory + # def test_package_modules(self): + # """Test that the package modules are available""" + # # if not self.spec.satisfies("+module_tests"): + # # print("Skipping module tests as module_tests variant is not set") + # # return + # tests_to_run = [] + # with working_dir(self.test_suite.current_test_cache_dir): + # with set_env(CHPL_HOME=join_path(self.spec.prefix.share, + # "chapel", self._output_version_short)): + # with test_part(self, "test_package_modules", purpose="test package modules"): + # if self.spec.satisfies("+yaml"): + # tests_to_run.append("test/library/packages/Yaml/writeAndParse.chpl") + # if self.spec.satisfies("+zmq"): + # tests_to_run.append("test/library/packages/ZMQ/weather.chpl") + # if self.spec.satisfies("+ssl"): + # tests_to_run.append("test/library/packages/Crypto/") + # # TODO: These tests fail with llvm, unable to find C variable CURLPAUSE_CONT + # if ( + # self.spec.satisfies("+curl") + # and self.spec.variants["llvm"].value == "none" + # ): + # with set_env(CHPL_NIGHTLY_TEST_CONFIG_NAME="networking-packages"): + # print("Running package module test for package 'curl'") + # res = subprocess.run( + # ["util/start_test", "test/library/packages/Curl/"] + # ) + # assert res.returncode == 0 + # print("Running package module test for package 'url'") + # res = subprocess.run(["util/start_test", + # "test/library/packages/URL/"]) + # assert res.returncode == 0 + # if self.spec.satisfies("+hdf5"): + # tests_to_run.append("test/library/packages/HDF5/") + # if self.spec.satisfies("+protobuf"): + # tests_to_run.append("test/library/packages/ProtobufProtocolSupport/") + # if len(tests_to_run) > 0: + # with set_env(CHPL_HOME=self.test_suite.current_test_cache_dir): + # compiler = join_path(self.spec.prefix.bin,'chpl') + # print("Running package module tests for packages...") + # print(f" command to run: util/start_test --compiler {compiler}") + # tests_to_run.insert(0, "util/start_test") + # tests_to_run.insert(1, "--compiler") + # tests_to_run.insert(2, compiler) + # res = subprocess.run([t for t in tests_to_run]) + # assert res.returncode == 0 + + @run_after("install") + def copy_test_files(self): + """Copy test files to the install directory""" + test_files = [ + "test/release/examples", + "util/start_test", + "util/test", + "util/chplenv", + "util/config", + # "test/library/packages/Curl", + # "test/library/packages/URL/", + # "test/library/packages/ProtobufProtocolSupport/", + # "test/library/packages/Crypto/", + # "test/library/packages/Yaml/", + # "test/library/packages/ZMQ/", + # "test/library/packages/HDF5/", + "chplconfig", + "make", + "third-party/chpl-venv/", + ] + cache_extra_test_sources(self, test_files) + + # @run_after("install") + # @on_package_attributes(run_tests=True) + # def self_check(self): + # """Run the self-check after installing the package""" + # path_put_first("PATH", [self.prefix.bin]) + # self.test_version() + # self.test_hello() + # if self.spec.satisfies("+chpldoc"): + # make("check-chpldoc") + # self.test_package_modules() diff --git a/var/spack/repos/builtin/packages/chaplin/package.py b/var/spack/repos/builtin/packages/chaplin/package.py index 78244802438992..32a4f3629bb918 100644 --- a/var/spack/repos/builtin/packages/chaplin/package.py +++ b/var/spack/repos/builtin/packages/chaplin/package.py @@ -20,3 +20,5 @@ class Chaplin(AutotoolsPackage): maintainers("vvolkl") version("1.2", sha256="f17c2d985fd4e4ce36cede945450416d3fa940af68945c91fa5d3ca1d76d4b49") + + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/charliecloud/package.py b/var/spack/repos/builtin/packages/charliecloud/package.py index 45a6e33810aac2..0bc1f030c5d993 100644 --- a/var/spack/repos/builtin/packages/charliecloud/package.py +++ b/var/spack/repos/builtin/packages/charliecloud/package.py @@ -102,6 +102,8 @@ class Charliecloud(AutotoolsPackage): deprecated=True, sha256="15ce63353afe1fc6bcc10979496a54fcd5628f997cb13c827c9fc7afb795bdc5", ) + + depends_on("c", type="build") # generated variant("docs", default=False, description="Build man pages and html docs") variant("squashfuse", default=True, description="Build with squashfuse support", when="@0.32:") diff --git a/var/spack/repos/builtin/packages/charmpp/package.py b/var/spack/repos/builtin/packages/charmpp/package.py index 5225c20b430087..5d0e230d68607f 100644 --- a/var/spack/repos/builtin/packages/charmpp/package.py +++ b/var/spack/repos/builtin/packages/charmpp/package.py @@ -26,6 +26,11 @@ class Charmpp(Package): version("main", branch="main") + version( + "8.0.0", + sha256="e30fc1e921e5cbf3406e792d5b0ca5f211c5d8ffbfc56e56d5501d8118abcaf6", + url="https://github.com/charmplusplus/charm/archive/refs/tags/v8.0.0.tar.gz", + ) version("7.0.0", sha256="9c247b421bb157bdf9bc0ced3e25738c7a1dc1f7ec57b7943a7faf97f7e4fb2e") version("6.10.2", sha256="7abb4cace8aebdfbb8006eac03eb766897c009cfb919da0d0a33f74c3b4e6deb") version("6.10.1", sha256="ab96198105daabbb8c8bdf370f87b0523521ce502c656cb6cd5b89f69a2c70a8") @@ -40,6 +45,10 @@ class Charmpp(Package): version("6.6.0", sha256="c916010f2d4cc2c6bd30ea19764839d0298fb56d1696d8ff08d9fa9a61dfb1c9") version("6.5.1", sha256="68aa43e2a6e476e116a7e80e385c25c6ac6497807348025505ba8bfa256ed34a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Support OpenMPI; see # # Patch is no longer needed in versions 6.8.0+ @@ -235,6 +244,9 @@ def charmarch(self): { ("linux", "arm", "mpi"): "mpi-linux-arm7", ("linux", "aarch64", "mpi"): "mpi-linux-arm8", + ("darwin", "arm", "multicore"): "multicore-darwin-arm8", + ("darwin", "arm", "netlrts"): "netlrts-darwin-arm8", + ("darwin", "arm", "mpi"): "mpi-darwin-arm8", } ) diff --git a/var/spack/repos/builtin/packages/chatterbug/package.py b/var/spack/repos/builtin/packages/chatterbug/package.py index eddb9e3a9b8964..b7fff4fc1c2314 100644 --- a/var/spack/repos/builtin/packages/chatterbug/package.py +++ b/var/spack/repos/builtin/packages/chatterbug/package.py @@ -23,6 +23,8 @@ class Chatterbug(MakefilePackage): version("develop", branch="master") version("1.0", tag="v1.0", commit="ee1b13c634943dbe32ac22f5e2154b00eab8c574") + depends_on("cxx", type="build") # generated + variant("scorep", default=False, description="Build with Score-P tracing") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/check/package.py b/var/spack/repos/builtin/packages/check/package.py index b2c2900fd7600b..e256b0008a7742 100644 --- a/var/spack/repos/builtin/packages/check/package.py +++ b/var/spack/repos/builtin/packages/check/package.py @@ -23,3 +23,5 @@ class Check(AutotoolsPackage): version("0.12.0", sha256="464201098bee00e90f5c4bdfa94a5d3ead8d641f9025b560a27755a83b824234") version("0.11.0", sha256="24f7a48aae6b74755bcbe964ce8bc7240f6ced2141f8d9cf480bc3b3de0d5616") version("0.10.0", sha256="f5f50766aa6f8fe5a2df752666ca01a950add45079aa06416b83765b1cf71052") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/chemfiles/package.py b/var/spack/repos/builtin/packages/chemfiles/package.py index 148e806d6a456a..e098a4f2d1f6fc 100644 --- a/var/spack/repos/builtin/packages/chemfiles/package.py +++ b/var/spack/repos/builtin/packages/chemfiles/package.py @@ -21,6 +21,9 @@ class Chemfiles(CMakePackage): version("0.10.4", sha256="b8232ddaae2953538274982838aa6c2df87d300f7e2f80e92c171581e06325ba") version("0.10.3", sha256="5f53d87a668a85bebf04e0e8ace0f1db984573de1c54891ba7d37d31cced0408") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=False, description="Build shared libraries") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/chgcentre/package.py b/var/spack/repos/builtin/packages/chgcentre/package.py index 4ad3cbffa3801c..19da180caed8fe 100644 --- a/var/spack/repos/builtin/packages/chgcentre/package.py +++ b/var/spack/repos/builtin/packages/chgcentre/package.py @@ -16,6 +16,8 @@ class Chgcentre(CMakePackage): version("1.6", sha256="5b14f9f56b900072c42dab2a8217cd399fb1bb50aae20f9e3b6ff30ec5b12008") + depends_on("cxx", type="build") # generated + depends_on("casacore") depends_on("gsl") diff --git a/var/spack/repos/builtin/packages/chombo/package.py b/var/spack/repos/builtin/packages/chombo/package.py index f28606aad3b02d..73a03560b242b7 100644 --- a/var/spack/repos/builtin/packages/chombo/package.py +++ b/var/spack/repos/builtin/packages/chombo/package.py @@ -25,6 +25,10 @@ class Chombo(MakefilePackage): version("3.2", commit="71d856c2f469e96755a606db1e5151067da0f54a") version("develop", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI parallel support") variant("hdf5", default=True, description="Enable HDF5 support") variant( diff --git a/var/spack/repos/builtin/packages/chrony/package.py b/var/spack/repos/builtin/packages/chrony/package.py index 1219b0c0cbc83f..c50f87a2b2f694 100644 --- a/var/spack/repos/builtin/packages/chrony/package.py +++ b/var/spack/repos/builtin/packages/chrony/package.py @@ -22,6 +22,8 @@ class Chrony(AutotoolsPackage): version("3.4", sha256="85fbe433f5a3ee961a20c47a72367760b074448587a9e2d3a6788a95750ed77e") version("3.3", sha256="0dd7323b5ed9e3208236c1b39fcabf2ad03469fa07ac516ba9c682206133f66d") + depends_on("c", type="build") # generated + depends_on("ruby-asciidoctor") depends_on("bison", type="build") diff --git a/var/spack/repos/builtin/packages/chrpath/package.py b/var/spack/repos/builtin/packages/chrpath/package.py index fe0c081d7faa6e..0010c2377d98ee 100644 --- a/var/spack/repos/builtin/packages/chrpath/package.py +++ b/var/spack/repos/builtin/packages/chrpath/package.py @@ -16,3 +16,5 @@ class Chrpath(AutotoolsPackage): license("GPL-2.0-or-later") version("0.16", sha256="bb0d4c54bac2990e1bdf8132f2c9477ae752859d523e141e72b3b11a12c26e7b") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/circe2/package.py b/var/spack/repos/builtin/packages/circe2/package.py index 5b42f60d607e15..eb7067e0b3866d 100644 --- a/var/spack/repos/builtin/packages/circe2/package.py +++ b/var/spack/repos/builtin/packages/circe2/package.py @@ -24,6 +24,8 @@ class Circe2(AutotoolsPackage): version("3.1.2.1", sha256="8bb09e6f566adefcf7b5b1cf9d9fe4536dd3dd11ed3674861de29e177ee0bb04") + depends_on("fortran", type="build") # generated + variant("doc", default=False, description="Create the latex documentation") depends_on("ocaml@4.05:") diff --git a/var/spack/repos/builtin/packages/citcoms/package.py b/var/spack/repos/builtin/packages/citcoms/package.py index 0e83ec33cd644b..ae71db7661a662 100644 --- a/var/spack/repos/builtin/packages/citcoms/package.py +++ b/var/spack/repos/builtin/packages/citcoms/package.py @@ -22,6 +22,9 @@ class Citcoms(AutotoolsPackage): version("3.3.1", sha256="e3520e0a933e4699d31e86fe309b8c154ea6ecb0f42a1cf6f25e8d13d825a4b3") version("3.2.0", sha256="773a14d91ecbb4a4d1e04317635fab79819d83c57b47f19380ff30b9b19cb07a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("ggrd", default=False, description="use GGRD file support") variant("cuda", default=False, description="use CUDA") variant("hdf5", default=False, description="add HDF5 support") diff --git a/var/spack/repos/builtin/packages/cityhash/package.py b/var/spack/repos/builtin/packages/cityhash/package.py index 2929bf09771c11..efa2b2227d50db 100644 --- a/var/spack/repos/builtin/packages/cityhash/package.py +++ b/var/spack/repos/builtin/packages/cityhash/package.py @@ -15,5 +15,7 @@ class Cityhash(AutotoolsPackage): version("master", branch="master") version("2013-07-31", commit="8af9b8c2b889d80c22d6bc26ba0df1afb79a30db") + depends_on("cxx", type="build") # generated + def configure_args(self): return ["--enable-sse4.2"] diff --git a/var/spack/repos/builtin/packages/clamav/package.py b/var/spack/repos/builtin/packages/clamav/package.py index 14e3b0c11b159d..337152762ea8b6 100644 --- a/var/spack/repos/builtin/packages/clamav/package.py +++ b/var/spack/repos/builtin/packages/clamav/package.py @@ -17,6 +17,9 @@ class Clamav(AutotoolsPackage): version("0.101.2", sha256="0a12ebdf6ff7a74c0bde2bdc2b55cae33449e6dd953ec90824a9e01291277634") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("json-c") depends_on("openssl") diff --git a/var/spack/repos/builtin/packages/clamr/package.py b/var/spack/repos/builtin/packages/clamr/package.py index cba0c2cab81a52..b879eeeef3b397 100644 --- a/var/spack/repos/builtin/packages/clamr/package.py +++ b/var/spack/repos/builtin/packages/clamr/package.py @@ -20,6 +20,10 @@ class Clamr(CMakePackage): version("master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "graphics", default="opengl", diff --git a/var/spack/repos/builtin/packages/clapack/package.py b/var/spack/repos/builtin/packages/clapack/package.py index 10e1ce2652656a..84f5500161e17c 100644 --- a/var/spack/repos/builtin/packages/clapack/package.py +++ b/var/spack/repos/builtin/packages/clapack/package.py @@ -22,6 +22,8 @@ class Clapack(MakefilePackage): version("3.2.1", sha256="6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac") + depends_on("c", type="build") # generated + variant("external-blas", default=True, description="Build with external BLAS (ATLAS here).") depends_on("atlas", when="+external-blas") diff --git a/var/spack/repos/builtin/packages/clara/package.py b/var/spack/repos/builtin/packages/clara/package.py index 812ec40305e7b4..fd021efff6b1a6 100644 --- a/var/spack/repos/builtin/packages/clara/package.py +++ b/var/spack/repos/builtin/packages/clara/package.py @@ -33,6 +33,8 @@ class Clara(CMakePackage, Package): version("1.1.1", sha256="10915a49a94d371f05af360d40e9cc9615ab86f200d261edf196a8ddd7efa7f8") version("1.1.0", sha256="29ca29d843150aabad702356f79009f5b30dda05ac9674a064362b7edcba5477") + depends_on("cxx", type="build") # generated + class GenericBuilder(spack.build_systems.generic.GenericBuilder): def install(self, pkg, spec, prefix): diff --git a/var/spack/repos/builtin/packages/claw/package.py b/var/spack/repos/builtin/packages/claw/package.py index 025f216a44b954..913b1b82f6a077 100644 --- a/var/spack/repos/builtin/packages/claw/package.py +++ b/var/spack/repos/builtin/packages/claw/package.py @@ -45,6 +45,10 @@ class Claw(CMakePackage): "1.1.0", tag="v1.1.0", commit="16b165a443b11b025a77cad830b1280b8c9bcf01", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@3.0:", type="build") depends_on("ant@1.9:", type="build") depends_on("bison", type="build") diff --git a/var/spack/repos/builtin/packages/cleverleaf/package.py b/var/spack/repos/builtin/packages/cleverleaf/package.py index 8f16ba94d24f83..1f0b821b94317e 100644 --- a/var/spack/repos/builtin/packages/cleverleaf/package.py +++ b/var/spack/repos/builtin/packages/cleverleaf/package.py @@ -22,6 +22,9 @@ class Cleverleaf(CMakePackage): version("develop", branch="develop") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("samrai@3.8.0:") depends_on("hdf5+mpi") diff --git a/var/spack/repos/builtin/packages/clfft/package.py b/var/spack/repos/builtin/packages/clfft/package.py index a51360a6085e96..c9cdbb03c75945 100644 --- a/var/spack/repos/builtin/packages/clfft/package.py +++ b/var/spack/repos/builtin/packages/clfft/package.py @@ -17,6 +17,9 @@ class Clfft(CMakePackage): version("2.12.2", sha256="e7348c146ad48c6a3e6997b7702202ad3ee3b5df99edf7ef00bbacc21e897b12") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("client", default=True, description="build client and callback client") depends_on("opencl@1.2:") diff --git a/var/spack/repos/builtin/packages/clhep/package.py b/var/spack/repos/builtin/packages/clhep/package.py index 2710b3dd877529..66fe9753d915bf 100644 --- a/var/spack/repos/builtin/packages/clhep/package.py +++ b/var/spack/repos/builtin/packages/clhep/package.py @@ -53,6 +53,8 @@ class Clhep(CMakePackage): version("2.2.0.4", sha256="9bf7fcd9892313c8d1436bc4a4a285a016c4f8e81e1fc65bdf6783207ae57550") version("2.1.2.3", sha256="4353231be09c134507092161cd3ced27a065ca0ebb31ee0256e60a8163c47c3b") + depends_on("cxx", type="build") # generated + variant( "cxxstd", default="11", diff --git a/var/spack/repos/builtin/packages/cli11/package.py b/var/spack/repos/builtin/packages/cli11/package.py index 563357978779b1..8f51db6d1f036f 100644 --- a/var/spack/repos/builtin/packages/cli11/package.py +++ b/var/spack/repos/builtin/packages/cli11/package.py @@ -24,6 +24,8 @@ class Cli11(CMakePackage): version("2.0.0", sha256="2c672f17bf56e8e6223a3bfb74055a946fa7b1ff376510371902adb9cb0ab6a3") version("1.9.1", sha256="c780cf8cf3ba5ec2648a7eeb20a47e274493258f38a9b417628e0576f473a50b") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.4:", type="build") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/clinfo/package.py b/var/spack/repos/builtin/packages/clinfo/package.py index 8dc7876d0f4a96..9fc026a1f07a4c 100644 --- a/var/spack/repos/builtin/packages/clinfo/package.py +++ b/var/spack/repos/builtin/packages/clinfo/package.py @@ -28,6 +28,8 @@ class Clinfo(MakefilePackage): "2.2.18.04.06", sha256="f77021a57b3afcdebc73107e2254b95780026a9df9aa4f8db6aff11c03f0ec6c" ) + depends_on("c", type="build") # generated + depends_on("opencl") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py index 048743f60173bb..784533c0120d63 100644 --- a/var/spack/repos/builtin/packages/clingo/package.py +++ b/var/spack/repos/builtin/packages/clingo/package.py @@ -39,6 +39,9 @@ class Clingo(CMakePackage): version("5.3.0", sha256="b0d406d2809352caef7fccf69e8864d55e81ee84f4888b0744894977f703f976") version("5.2.2", sha256="da1ef8142e75c5a6f23c9403b90d4f40b9f862969ba71e2aaee9a257d058bfcf") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("docs", default=False, description="build documentation with Doxygen") variant("python", default=True, description="build with python bindings") diff --git a/var/spack/repos/builtin/packages/cln/package.py b/var/spack/repos/builtin/packages/cln/package.py index b5ce6793e9340a..f5a61e1148ef19 100644 --- a/var/spack/repos/builtin/packages/cln/package.py +++ b/var/spack/repos/builtin/packages/cln/package.py @@ -33,6 +33,9 @@ class Cln(AutotoolsPackage): version("1.2.1", commit="567378ab4cbfd443c3d82d810599860c769251fe") version("1.2.0", commit="679a0a8927f011fb32411f8a31070c77a9901094") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("gmp", default=True, description="Enable GMP multiprecision library") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/cloc/package.py b/var/spack/repos/builtin/packages/cloc/package.py index 1a3d557823003c..ce99e6b8803fbe 100644 --- a/var/spack/repos/builtin/packages/cloc/package.py +++ b/var/spack/repos/builtin/packages/cloc/package.py @@ -23,6 +23,10 @@ class Cloc(Package): version("1.80", sha256="082f53530eee3f9ee84ec449eca59a77ff114250cd7daf9519679537b5b21d67") version("1.74", sha256="55ac423d5766c74236700a47838ed66bea47ba42e1d594fdd894074ba3eb0567") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("perl") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/cloog/package.py b/var/spack/repos/builtin/packages/cloog/package.py index f18ba78ebc0b8c..191ea89fe53718 100644 --- a/var/spack/repos/builtin/packages/cloog/package.py +++ b/var/spack/repos/builtin/packages/cloog/package.py @@ -21,6 +21,9 @@ class Cloog(Package): version("0.18.0", sha256="1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228") version("0.17.0", sha256="f265f5069830c03d2919a7673c0963495437d6d79a8cbd3474cde2d4e3291e04") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("gmp") depends_on("isl") diff --git a/var/spack/repos/builtin/packages/cloverleaf-ref/package.py b/var/spack/repos/builtin/packages/cloverleaf-ref/package.py index 77456edb165562..a2b7ce586882cc 100644 --- a/var/spack/repos/builtin/packages/cloverleaf-ref/package.py +++ b/var/spack/repos/builtin/packages/cloverleaf-ref/package.py @@ -26,6 +26,9 @@ class CloverleafRef(MakefilePackage): "1.1", sha256="0ac87accf81d85b959e5da839e6b0659afb3a2840a13f5da113a1c34eeb87942" ) # commit "5667c3a" + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "ieee", default=False, description="Build with IEEE754 compliant floating point operations" ) diff --git a/var/spack/repos/builtin/packages/cloverleaf/package.py b/var/spack/repos/builtin/packages/cloverleaf/package.py index 4848130837c1b9..2fa6a9a2c744b1 100644 --- a/var/spack/repos/builtin/packages/cloverleaf/package.py +++ b/var/spack/repos/builtin/packages/cloverleaf/package.py @@ -24,6 +24,10 @@ class Cloverleaf(MakefilePackage): version("master", branch="master", submodules=True) version("1.1", sha256="de87f7ee6b917e6b3d243ccbbe620370c62df890e3ef7bdbab46569b57be132f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "build", default="ref", diff --git a/var/spack/repos/builtin/packages/cloverleaf3d/package.py b/var/spack/repos/builtin/packages/cloverleaf3d/package.py index 5eb8bcef88046a..9b7ba8a2c751a5 100644 --- a/var/spack/repos/builtin/packages/cloverleaf3d/package.py +++ b/var/spack/repos/builtin/packages/cloverleaf3d/package.py @@ -25,6 +25,10 @@ class Cloverleaf3d(MakefilePackage): version("1.0", sha256="78d591728c61bdfd6175b3930df7652e09ed04fbcd01b3fc86fb2aa0f237a8ef") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("opencl", default=False, description="Enable OpenCL Support") variant("openacc", default=False, description="Enable OpenACC Support") diff --git a/var/spack/repos/builtin/packages/clp/package.py b/var/spack/repos/builtin/packages/clp/package.py index 491a94c8d3b28f..a60c6e56b53922 100644 --- a/var/spack/repos/builtin/packages/clp/package.py +++ b/var/spack/repos/builtin/packages/clp/package.py @@ -21,6 +21,9 @@ class Clp(AutotoolsPackage): version("1.17.4", sha256="ef412cde00cb1313d9041115a700d8d59d4b8b8b5e4dde43e9deb5108fcfbea8") version("1.16.11", sha256="b525451423a9a09a043e6a13d9436e13e3ee7a7049f558ad41a110742fa65f39") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("coinutils") depends_on("osi") diff --git a/var/spack/repos/builtin/packages/clustal-omega/package.py b/var/spack/repos/builtin/packages/clustal-omega/package.py index 3cafd307e6c13d..caf7e1e6e5aa14 100644 --- a/var/spack/repos/builtin/packages/clustal-omega/package.py +++ b/var/spack/repos/builtin/packages/clustal-omega/package.py @@ -16,4 +16,7 @@ class ClustalOmega(AutotoolsPackage): version("1.2.4", sha256="8683d2286d663a46412c12a0c789e755e7fd77088fb3bc0342bb71667f05a3ee") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("argtable") diff --git a/var/spack/repos/builtin/packages/clustalw/package.py b/var/spack/repos/builtin/packages/clustalw/package.py index ece7896b687db4..adf5b8d79b626d 100644 --- a/var/spack/repos/builtin/packages/clustalw/package.py +++ b/var/spack/repos/builtin/packages/clustalw/package.py @@ -15,3 +15,5 @@ class Clustalw(AutotoolsPackage): license("LGPL-3.0-only") version("2.1", sha256="e052059b87abfd8c9e695c280bfba86a65899138c82abccd5b00478a80f49486") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/cmake/mr-9623.patch b/var/spack/repos/builtin/packages/cmake/mr-9623.patch new file mode 100644 index 00000000000000..c36e22c59f4315 --- /dev/null +++ b/var/spack/repos/builtin/packages/cmake/mr-9623.patch @@ -0,0 +1,67 @@ +diff --git a/Source/cmELF.cxx b/Source/cmELF.cxx +index a71e5f1280..003f47b439 100644 +--- a/Source/cmELF.cxx ++++ b/Source/cmELF.cxx +@@ -112,6 +112,9 @@ public: + virtual bool IsMips() const = 0; + virtual void PrintInfo(std::ostream& os) const = 0; + ++ /** Returns true if the ELF file has a dynamic section **/ ++ bool HasDynamicSection() const { return this->DynamicSectionIndex >= 0; } ++ + // Lookup the SONAME in the DYNAMIC section. + StringEntry const* GetSOName() + { +@@ -461,7 +464,7 @@ template + bool cmELFInternalImpl::LoadDynamicSection() + { + // If there is no dynamic section we are done. +- if (this->DynamicSectionIndex < 0) { ++ if (!this->HasDynamicSection()) { + return false; + } + +@@ -772,6 +775,11 @@ std::vector cmELF::EncodeDynamicEntries( + return std::vector(); + } + ++bool cmELF::HasDynamicSection() const ++{ ++ return this->Valid() && this->Internal->HasDynamicSection(); ++} ++ + bool cmELF::GetSOName(std::string& soname) + { + if (StringEntry const* se = this->GetSOName()) { +diff --git a/Source/cmELF.h b/Source/cmELF.h +index ce8bd7fb92..dd37c65302 100644 +--- a/Source/cmELF.h ++++ b/Source/cmELF.h +@@ -88,6 +88,9 @@ public: + std::vector EncodeDynamicEntries( + const DynamicEntryList& entries) const; + ++ /** Returns true if the ELF file has a dynamic section **/ ++ bool HasDynamicSection() const; ++ + /** Get the SONAME field if any. */ + bool GetSOName(std::string& soname); + StringEntry const* GetSOName(); +diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx +index 093a18b82b..3affef0394 100644 +--- a/Source/cmSystemTools.cxx ++++ b/Source/cmSystemTools.cxx +@@ -2817,6 +2817,10 @@ cm::optional AdjustRPathELF(std::string const& file, + return cm::nullopt; // Not a valid ELF file. + } + ++ if (!elf.HasDynamicSection()) { ++ return true; // No dynamic section to update. ++ } ++ + // Get the RPATH and RUNPATH entries from it. + int se_count = 0; + cmELF::StringEntry const* se[2] = { nullptr, nullptr }; +-- +2.40.1 + diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py index 8fb2a7820fc63b..ea3b5f9c32d05d 100644 --- a/var/spack/repos/builtin/packages/cmake/package.py +++ b/var/spack/repos/builtin/packages/cmake/package.py @@ -29,8 +29,10 @@ class Cmake(Package): license("BSD-3-Clause") version("master", branch="master") - version("3.29.2", sha256="36db4b6926aab741ba6e4b2ea2d99c9193222132308b4dc824d4123cb730352e") - version("3.28.4", sha256="eb9c787e078848dc493f4f83f8a4bbec857cd1f38ab6425ce8d2776a9f6aa6fb") + version("3.29.6", sha256="1391313003b83d48e2ab115a8b525a557f78d8c1544618b48d1d90184a10f0af") + version("3.29.5", sha256="dd63da7d763c0db455ca232f2c443f5234fe0b11f8bd6958a81d29cc987dfd6e") + version("3.29.4", sha256="b1b48d7100bdff0b46e8c8f6a3c86476dbe872c8df39c42b8d104298b3d56a2c") + version("3.28.6", sha256="c39c733900affc4eb0e9688b4d1a45435a732105d9bf9cc1e75dd2b9b81a36bb") version("3.27.9", sha256="609a9b98572a6a5ea477f912cffb973109ed4d0a6a6b3f9e2353d2cdc048708e") version("3.26.6", sha256="070b9a2422e666d2c1437e2dab239a236e8a63622d0a8d0ffe9e389613d2b76a") version("3.25.3", sha256="cc995701d590ca6debc4245e9989939099ca52827dd46b5d3592f093afe1901c") @@ -62,339 +64,45 @@ class Cmake(Package): with default_args(deprecated=True): version( - "3.29.1", sha256="7fb02e8f57b62b39aa6b4cf71e820148ba1a23724888494735021e32ab0eefcc" - ) - version( - "3.29.0", sha256="a0669630aae7baa4a8228048bf30b622f9e9fd8ee8cedb941754e9e38686c778" - ) - version( - "3.28.3", sha256="72b7570e5c8593de6ac4ab433b73eab18c5fb328880460c86ce32608141ad5c1" - ) - version( - "3.28.2", sha256="1466f872dc1c226f373cf8fba4230ed216a8f108bd54b477b5ccdfd9ea2d124a" - ) - version( - "3.28.1", sha256="15e94f83e647f7d620a140a7a5da76349fc47a1bfed66d0f5cdee8e7344079ad" - ) - version( - "3.28.0", sha256="e1dcf9c817ae306e73a45c2ba6d280c65cf4ec00dd958eb144adaf117fb58e71" - ) - 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" + "3.29.3", sha256="252aee1448d49caa04954fd5e27d189dd51570557313e7b281636716a238bccb" ) version( - "3.24.2", sha256="0d9020f06f3ddf17fb537dc228e1a56c927ee506b486f55fe2dc19f69bf0c8db" + "3.29.2", sha256="36db4b6926aab741ba6e4b2ea2d99c9193222132308b4dc824d4123cb730352e" ) version( - "3.24.1", sha256="4931e277a4db1a805f13baa7013a7757a0cbfe5b7932882925c7061d9d1fa82b" - ) - version( - "3.24.0", sha256="c2b61f7cdecb1576cad25f918a8f42b8685d88a832fd4b62b9e0fa32e915a658" - ) - version( - "3.23.4", sha256="aa8b6c17a5adf04de06e42c06adc7e25b21e4fe8378f44f703a861e5f6ac59c7" - ) - version( - "3.23.3", sha256="06fefaf0ad94989724b56f733093c2623f6f84356e5beb955957f9ce3ee28809" + "3.29.1", sha256="7fb02e8f57b62b39aa6b4cf71e820148ba1a23724888494735021e32ab0eefcc" ) version( - "3.23.2", sha256="f316b40053466f9a416adf981efda41b160ca859e97f6a484b447ea299ff26aa" + "3.29.0", sha256="a0669630aae7baa4a8228048bf30b622f9e9fd8ee8cedb941754e9e38686c778" ) version( - "3.23.1", sha256="33fd10a8ec687a4d0d5b42473f10459bb92b3ae7def2b745dc10b192760869f3" + "3.28.4", sha256="eb9c787e078848dc493f4f83f8a4bbec857cd1f38ab6425ce8d2776a9f6aa6fb" ) version( - "3.23.0", sha256="5ab0a12f702f44013be7e19534cd9094d65cc9fe7b2cd0f8c9e5318e0fe4ac82" + "3.28.3", sha256="72b7570e5c8593de6ac4ab433b73eab18c5fb328880460c86ce32608141ad5c1" ) version( - "3.22.5", sha256="d3987c3f7759fa0a401c5fcd5076be44a19613bfaa8baee1b5d1835750dc5375" + "3.28.2", sha256="1466f872dc1c226f373cf8fba4230ed216a8f108bd54b477b5ccdfd9ea2d124a" ) version( - "3.22.4", sha256="5c55d0b0bc4c191549e3502b8f99a4fe892077611df22b4178cc020626e22a47" + "3.28.1", sha256="15e94f83e647f7d620a140a7a5da76349fc47a1bfed66d0f5cdee8e7344079ad" ) version( - "3.22.3", sha256="9f8469166f94553b6978a16ee29227ec49a2eb5ceb608275dec40d8ae0d1b5a0" + "3.28.0", sha256="e1dcf9c817ae306e73a45c2ba6d280c65cf4ec00dd958eb144adaf117fb58e71" ) + # used in py-cmake, to be removed in Spack 0.23 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") + + depends_on("c", type="build") + depends_on("cxx", type="build") variant( "build_type", @@ -419,6 +127,10 @@ class Cmake(Package): when="@3.15.5", ) + # Statically linked binaries error on install when CMAKE_INSTALL_RPATH is set + # https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9623 + patch("mr-9623.patch", when="@3.22.0:3.30") + depends_on("ninja", when="platform=windows") depends_on("gmake", when="platform=linux") depends_on("gmake", when="platform=darwin") diff --git a/var/spack/repos/builtin/packages/cmaq/package.py b/var/spack/repos/builtin/packages/cmaq/package.py index 911fa288943842..fe53a9f446bc77 100644 --- a/var/spack/repos/builtin/packages/cmaq/package.py +++ b/var/spack/repos/builtin/packages/cmaq/package.py @@ -26,5 +26,8 @@ class Cmaq(Package): url="https://github.com/USEPA/CMAQ/archive/CMAQv5.3_27Aug2019.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + def install(self, spec, prefix): install_tree(".", prefix) diff --git a/var/spack/repos/builtin/packages/cmark/package.py b/var/spack/repos/builtin/packages/cmark/package.py index af239f8a67bc62..80bd320351dfb6 100644 --- a/var/spack/repos/builtin/packages/cmark/package.py +++ b/var/spack/repos/builtin/packages/cmark/package.py @@ -22,3 +22,6 @@ class Cmark(CMakePackage): version("0.28.1", sha256="dda7b8b5974815b7cbc8f12f509ad419250571f258ee697db2efe3deae01aaf8") version("0.28.0", sha256="68cf191f4a78494a43b7e1663506635e370f0ba4c67c9ee9518e295685bbfe0e") version("0.27.1", sha256="669b4c19355e8cb90139fdd03b02283b97130e92ea99a104552a2976751446b5") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/cmdlime/package.py b/var/spack/repos/builtin/packages/cmdlime/package.py index 853d997b8049ae..16718fdd66c041 100644 --- a/var/spack/repos/builtin/packages/cmdlime/package.py +++ b/var/spack/repos/builtin/packages/cmdlime/package.py @@ -16,3 +16,5 @@ class Cmdlime(CMakePackage): license("MS-PL") version("2.5.0", sha256="d5188d7f075142fcb546099a4ee2a967f8248109c0bee8c084e0e00f37603481") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/cmdstan/package.py b/var/spack/repos/builtin/packages/cmdstan/package.py index ad2e799d21874c..db56241565961b 100644 --- a/var/spack/repos/builtin/packages/cmdstan/package.py +++ b/var/spack/repos/builtin/packages/cmdstan/package.py @@ -16,6 +16,10 @@ class Cmdstan(MakefilePackage): version("2.30.1", sha256="bab76dcefa7f4c955595c0bf0496770507fc6ab0df5896e8cf8c2db0a17eedb9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("threads", default=True, description="enable thread support") variant("opencl", default=False, description="enable OpenCl support") variant("mpi", default=False, description="enable MPI support") diff --git a/var/spack/repos/builtin/packages/cminpack/package.py b/var/spack/repos/builtin/packages/cminpack/package.py index 735a39fbea8d93..ac9d099f888d2d 100644 --- a/var/spack/repos/builtin/packages/cminpack/package.py +++ b/var/spack/repos/builtin/packages/cminpack/package.py @@ -19,6 +19,9 @@ class Cminpack(CMakePackage): version("master", branch="master") version("1.3.6", sha256="3c07fd21308c96477a2c900032e21d937739c233ee273b4347a0d4a84a32d09f") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=False, description="Build shared libraries") variant("blas", default=True, description="Compile with BLAS") diff --git a/var/spack/repos/builtin/packages/cmocka/package.py b/var/spack/repos/builtin/packages/cmocka/package.py index 2046ada5d72f06..a7fd47b85a3032 100644 --- a/var/spack/repos/builtin/packages/cmocka/package.py +++ b/var/spack/repos/builtin/packages/cmocka/package.py @@ -18,6 +18,8 @@ class Cmocka(CMakePackage): version("1.1.1", sha256="f02ef48a7039aa77191d525c5b1aee3f13286b77a13615d11bc1148753fc0389") version("1.1.0", sha256="e960d3bf1be618634a4b924f18bb4d6f20a825c109a8ad6d1af03913ba421330") + depends_on("c", type="build") # generated + depends_on("cmake@2.6.0:", type="build") parallel = False diff --git a/var/spack/repos/builtin/packages/cmockery/package.py b/var/spack/repos/builtin/packages/cmockery/package.py index 55c531a9800f2c..cae17ca932337b 100644 --- a/var/spack/repos/builtin/packages/cmockery/package.py +++ b/var/spack/repos/builtin/packages/cmockery/package.py @@ -19,6 +19,8 @@ class Cmockery(AutotoolsPackage): version("0.1.1", sha256="a801d17976f781fff6dc49042ff109e55ca4ebe8efb13757fa1a511ca52316be") version("0.1.0", sha256="9e017d48e56ab9d2ebcf5286fa54e37d42fe308d3c01fbc367793da2b9ad95e7") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/cmor/package.py b/var/spack/repos/builtin/packages/cmor/package.py index 87bc3ba34810a5..56db33761540be 100644 --- a/var/spack/repos/builtin/packages/cmor/package.py +++ b/var/spack/repos/builtin/packages/cmor/package.py @@ -27,6 +27,9 @@ class Cmor(AutotoolsPackage): version("3.2.0", sha256="8d49899549dd4c08197739300d507e6fc2b4a5cfe2bfd3e6b44e8e3eaf79b132") version("3.1.2", sha256="ee58b6d405f081e4e0633af931b7992f1a570953b71ece17c01ab9e15889211a") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=True, description="Enable Fortran API") variant("python", default=False, description="Enable PYTHON support", when="@3.4:") diff --git a/var/spack/repos/builtin/packages/cni-plugins/package.py b/var/spack/repos/builtin/packages/cni-plugins/package.py index baaec3a7a73eeb..e6236b0c85ec9f 100644 --- a/var/spack/repos/builtin/packages/cni-plugins/package.py +++ b/var/spack/repos/builtin/packages/cni-plugins/package.py @@ -20,6 +20,8 @@ class CniPlugins(Package): version("1.1.1", sha256="c86c44877c47f69cd23611e22029ab26b613f620195b76b3ec20f589367a7962") version("1.0.1", sha256="2ba3cd9f341a7190885b60d363f6f23c6d20d975a7a0ab579dd516f8c6117619") + depends_on("c", type="build") # generated + depends_on("go", type="build") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/cnmem/package.py b/var/spack/repos/builtin/packages/cnmem/package.py index 16d2066fc55166..42adb5e100d6a5 100644 --- a/var/spack/repos/builtin/packages/cnmem/package.py +++ b/var/spack/repos/builtin/packages/cnmem/package.py @@ -16,4 +16,6 @@ class Cnmem(CMakePackage): version("git", branch="master") + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8.8:", type="build") diff --git a/var/spack/repos/builtin/packages/cnpy/package.py b/var/spack/repos/builtin/packages/cnpy/package.py index b49556c659718e..860755f22b35a1 100644 --- a/var/spack/repos/builtin/packages/cnpy/package.py +++ b/var/spack/repos/builtin/packages/cnpy/package.py @@ -18,6 +18,8 @@ class Cnpy(CMakePackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + depends_on("zlib-api", type="link") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/cntk/package.py b/var/spack/repos/builtin/packages/cntk/package.py index 03130fa0b4f634..8d243e7d42f972 100644 --- a/var/spack/repos/builtin/packages/cntk/package.py +++ b/var/spack/repos/builtin/packages/cntk/package.py @@ -22,6 +22,8 @@ class Cntk(Package): version("master", branch="master") version("2.0", sha256="3adee17f166e2a682dfb551ca017ae5c3836ca9772c0af14215a7e76254f201c") + depends_on("cxx", type="build") # generated + variant("opencv", default=False, description="Enable OpenCV support.") variant("kaldi", default=False, description="Enable Kaldi support.") variant("asgd", default=True, description="Enable DataParallelASGD powered by Multiverso.") diff --git a/var/spack/repos/builtin/packages/cnvnator/package.py b/var/spack/repos/builtin/packages/cnvnator/package.py index e4348104db4c02..55081c0d0d1303 100644 --- a/var/spack/repos/builtin/packages/cnvnator/package.py +++ b/var/spack/repos/builtin/packages/cnvnator/package.py @@ -15,6 +15,8 @@ class Cnvnator(MakefilePackage): version("0.3.3", sha256="58c5acf61f9a1e5febf546c196f8917a5e084b729e5c4cfd3eba83471b3fe5c1") + depends_on("cxx", type="build") # generated + depends_on("samtools@:1.13") depends_on("htslib") depends_on("root") diff --git a/var/spack/repos/builtin/packages/codar-cheetah/package.py b/var/spack/repos/builtin/packages/codar-cheetah/package.py index f1a97d842b398a..5cbdd9d3842a93 100644 --- a/var/spack/repos/builtin/packages/codar-cheetah/package.py +++ b/var/spack/repos/builtin/packages/codar-cheetah/package.py @@ -22,5 +22,7 @@ class CodarCheetah(PythonPackage): version("1.0.0", sha256="1f935fbc1475a654f3b6d2140d8b2a6079a65c8701655e544ba1fab3a7c1bc19") version("0.5", sha256="f37a554741eff4bb8407a68f799dd042dfc4df525e84896cad70fccbd6aca6ee") + depends_on("cxx", type="build") # generated + depends_on("python@3.5:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/code-server/package.py b/var/spack/repos/builtin/packages/code-server/package.py index e208405387efeb..bc7da6afcc396f 100644 --- a/var/spack/repos/builtin/packages/code-server/package.py +++ b/var/spack/repos/builtin/packages/code-server/package.py @@ -52,6 +52,9 @@ class CodeServer(Package): version("3.1.0", sha256="5ef85c8f280ce781a176a8b77386b333efe892755a5c325a1782e4eac6016e59") version("3.0.2", sha256="04367cfeb23991f3dc3f1ef8e3dfe5e9d683bb50c9e1fa69e3c21757facfd7ee") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): if version <= Version("3.2.0"): return "https://github.com/coder/code-server/releases/download/{0}/code-server-{0}-linux-x86_64.tar.gz".format( diff --git a/var/spack/repos/builtin/packages/codipack/package.py b/var/spack/repos/builtin/packages/codipack/package.py index 6d6577f6a82d17..2347df15ce3ccf 100644 --- a/var/spack/repos/builtin/packages/codipack/package.py +++ b/var/spack/repos/builtin/packages/codipack/package.py @@ -22,6 +22,8 @@ class Codipack(CMakePackage, Package): version("1.9.3", sha256="27dd92d0b5132de37b431989c0c3d5bd829821a6a2e31e0529137e427421f06e") version("openmp", branch="experimentalOpenMPSupport") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.12:", type="build", when="@2.1.0:") build_system( diff --git a/var/spack/repos/builtin/packages/coevp/package.py b/var/spack/repos/builtin/packages/coevp/package.py index 589a9253a32c38..b0a695e14f257e 100644 --- a/var/spack/repos/builtin/packages/coevp/package.py +++ b/var/spack/repos/builtin/packages/coevp/package.py @@ -24,6 +24,10 @@ class Coevp(MakefilePackage): version("develop", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Build with MPI Support") variant("silo", default=False, description="Build with silo Support") variant("flann", default=False, description="Build with flann Support") diff --git a/var/spack/repos/builtin/packages/cohmm/package.py b/var/spack/repos/builtin/packages/cohmm/package.py index feb7881e3f0981..49bec4f075441d 100644 --- a/var/spack/repos/builtin/packages/cohmm/package.py +++ b/var/spack/repos/builtin/packages/cohmm/package.py @@ -21,6 +21,8 @@ class Cohmm(MakefilePackage): version("develop", branch="sad") + depends_on("c", type="build") # generated + variant("openmp", default=True, description="Build with OpenMP Support") variant("gnuplot", default=False, description="Enable gnu plot Support") depends_on("gnuplot", when="+gnuplot") diff --git a/var/spack/repos/builtin/packages/coin3d/package.py b/var/spack/repos/builtin/packages/coin3d/package.py index a184e68e2c8e2e..6cffab95cbd7c4 100644 --- a/var/spack/repos/builtin/packages/coin3d/package.py +++ b/var/spack/repos/builtin/packages/coin3d/package.py @@ -21,6 +21,9 @@ class Coin3d(AutotoolsPackage, CMakePackage): version("3.0.0", sha256="d5c2eb0ecaa5c83d93daf0e9e275e58a6a8dfadc74c873d51b0c939011f81bfa") version("2.0.0", sha256="6d26435aa962d085b7accd306a0b478069a7de1bc5ca24e22344971852dd097c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + build_system( conditional("cmake", when="@4.0.0:"), conditional("autotools", when="@:3.1.0"), diff --git a/var/spack/repos/builtin/packages/coinutils/package.py b/var/spack/repos/builtin/packages/coinutils/package.py index 27d248862cb49f..b7295633ee8579 100644 --- a/var/spack/repos/builtin/packages/coinutils/package.py +++ b/var/spack/repos/builtin/packages/coinutils/package.py @@ -21,4 +21,6 @@ class Coinutils(AutotoolsPackage): version("2.11.6", sha256="6ea31d5214f7eb27fa3ffb2bdad7ec96499dd2aaaeb4a7d0abd90ef852fc79ca") version("2.11.4", sha256="d4effff4452e73356eed9f889efd9c44fe9cd68bd37b608a5ebb2c58bd45ef81") + depends_on("cxx", type="build") # generated + build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/collectd/package.py b/var/spack/repos/builtin/packages/collectd/package.py index 50c4b1fa512891..1365bb8404cbb7 100644 --- a/var/spack/repos/builtin/packages/collectd/package.py +++ b/var/spack/repos/builtin/packages/collectd/package.py @@ -18,4 +18,7 @@ class Collectd(AutotoolsPackage): version("5.11.0", sha256="37b10a806e34aa8570c1cafa6006c604796fae13cc2e1b3e630d33dcba9e5db2") version("5.10.0", sha256="a03359f563023e744c2dc743008a00a848f4cd506e072621d86b6d8313c0375b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("valgrind", type="test") diff --git a/var/spack/repos/builtin/packages/collier/package.py b/var/spack/repos/builtin/packages/collier/package.py index a15ee75b9c13ec..3475d40f4bf780 100644 --- a/var/spack/repos/builtin/packages/collier/package.py +++ b/var/spack/repos/builtin/packages/collier/package.py @@ -32,6 +32,8 @@ class Collier(CMakePackage): version("1.1", sha256="80fd54e2c30029d3d7d646738ae9469ad3a6f5ea7aa1179b951030df048e36bc") version("1.0", sha256="54f40c1ed07a6829230af400abfe48791e74e56eac2709c0947cec3410a4473d") + depends_on("fortran", type="build") # generated + @property def parallel(self): return not self.spec.satisfies("@:1.2.4") diff --git a/var/spack/repos/builtin/packages/colm/package.py b/var/spack/repos/builtin/packages/colm/package.py index 500337d3bd120f..dcea9ae1524b1e 100644 --- a/var/spack/repos/builtin/packages/colm/package.py +++ b/var/spack/repos/builtin/packages/colm/package.py @@ -19,3 +19,6 @@ class Colm(AutotoolsPackage): license("GPL-2.0-only") version("0.12.0", sha256="7b545d74bd139f5c622975d243c575310af1e4985059a1427b6fdbb1fb8d6e4d") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/comd/package.py b/var/spack/repos/builtin/packages/comd/package.py index f6c846325942f0..af109ac1f44b94 100644 --- a/var/spack/repos/builtin/packages/comd/package.py +++ b/var/spack/repos/builtin/packages/comd/package.py @@ -25,6 +25,8 @@ class Comd(MakefilePackage): version("develop", branch="master") version("1.1", sha256="4e85f86f043681a1ef72940fc24a4c71356a36afa45446f7cfe776abad6aa252") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Build with MPI support") variant("openmp", default=False, description="Build with OpenMP support") variant("precision", default=True, description="Toggle Precesion Options") diff --git a/var/spack/repos/builtin/packages/comgr/package.py b/var/spack/repos/builtin/packages/comgr/package.py index f7176123529ab3..b0c0723f8fa397 100644 --- a/var/spack/repos/builtin/packages/comgr/package.py +++ b/var/spack/repos/builtin/packages/comgr/package.py @@ -30,6 +30,7 @@ def url_for_version(self, version): license("NCSA") version("master", branch="amd-stg-open") + version("6.1.2", sha256="300e9d6a137dcd91b18d5809a316fddb615e0e7f982dc7ef1bb56876dff6e097") version("6.1.1", sha256="f1a67efb49f76a9b262e9735d3f75ad21e3bd6a05338c9b15c01e6c625c4460d") version("6.1.0", sha256="6bd9912441de6caf6b26d1323e1c899ecd14ff2431874a2f5883d3bc5212db34") version("6.0.2", sha256="737b110d9402509db200ee413fb139a78369cf517453395b96bda52d0aa362b9") @@ -40,16 +41,15 @@ def url_for_version(self, version): version("5.6.0", sha256="9396a7238b547ee68146c669b10b9d5de8f1d76527c649133c75d8076a185a72") version("5.5.1", sha256="0fbb15fe5a95c2e141ccd360bc413e1feda283334781540a6e5095ab27fd8019") version("5.5.0", sha256="97dfff03226ce0902b9d5d1c8c7bebb7a15978a81b6e9c750bf2d2473890bd42") - version("5.4.3", sha256="8af18035550977fe0aa9cca8dfacbe65fe292e971de5a0e160710bafda05a81f") - version("5.4.0", sha256="f4b83b27ff6195679d695c3f41fa25456e9c50bae6d978f46d3541b472aef757") - version("5.3.3", sha256="6a4ef69e672a077b5909977248445f0eedf5e124af9812993a4d444be030c78b") - version("5.3.0", sha256="072f849d79476d87d31d62b962e368762368d540a9da02ee2675963dc4942b2c") with default_args(deprecated=True): - version("5.2.3", sha256="36d67dbe791d08ad0a02f0f3aedd46059848a0a232c5f999670103b0410c89dc") - version("5.2.1", sha256="ebeaea8e653fc2b9d67d3271be44690ac7876ee679baa01d47863e75362b8c85") - version("5.2.0", sha256="5f63fa93739ee9230756ef93c53019474b6cdddea3b588492d785dae1b08c087") - version("5.1.3", sha256="3078c10e9a852fe8357712a263ad775b15944e083f93a879935c877511066ac9") - version("5.1.0", sha256="1cdcfe5acb768ef50fb0026d4ee7ba01e615251ad3c27bb2593cdcf8c070a894") + version("5.4.3", sha256="8af18035550977fe0aa9cca8dfacbe65fe292e971de5a0e160710bafda05a81f") + version("5.4.0", sha256="f4b83b27ff6195679d695c3f41fa25456e9c50bae6d978f46d3541b472aef757") + version("5.3.3", sha256="6a4ef69e672a077b5909977248445f0eedf5e124af9812993a4d444be030c78b") + version("5.3.0", sha256="072f849d79476d87d31d62b962e368762368d540a9da02ee2675963dc4942b2c") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") @@ -66,11 +66,6 @@ def url_for_version(self, version): depends_on("rocm-cmake@3.5.0:", type="build") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -85,6 +80,7 @@ def url_for_version(self, version): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", "master", ]: # llvm libs are linked statically, so this *could* be a build dep @@ -105,6 +101,7 @@ def url_for_version(self, version): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/compadre/package.py b/var/spack/repos/builtin/packages/compadre/package.py index 32e276ce55f94c..801f0d8b865096 100644 --- a/var/spack/repos/builtin/packages/compadre/package.py +++ b/var/spack/repos/builtin/packages/compadre/package.py @@ -25,6 +25,10 @@ class Compadre(CMakePackage): version("1.4.1", sha256="2e1e7d8e30953f76b6dc3a4c86ec8103d4b29447194cb5d5abb74b8e4099bdd9") version("1.3.0", sha256="f711a840fd921e84660451ded408023ec3bcfc98fd0a7dc4a299bfae6ab489c2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("kokkos-kernels@3.3.01:4") depends_on("cmake@3.13:", type="build") diff --git a/var/spack/repos/builtin/packages/compiz/package.py b/var/spack/repos/builtin/packages/compiz/package.py index a6805d07487ebb..08a26f9dd535fa 100644 --- a/var/spack/repos/builtin/packages/compiz/package.py +++ b/var/spack/repos/builtin/packages/compiz/package.py @@ -21,6 +21,9 @@ class Compiz(AutotoolsPackage, XorgPackage): version("0.7.8", sha256="b46f52b776cc78e85357a07688d04b36ec19c65eadeaf6f6cfcca7b8515e6503") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libxcb") depends_on("libxcomposite") depends_on("libxfixes") diff --git a/var/spack/repos/builtin/packages/composable-kernel/package.py b/var/spack/repos/builtin/packages/composable-kernel/package.py index 1ff8e78404b299..e56bdd63fdbbb9 100644 --- a/var/spack/repos/builtin/packages/composable-kernel/package.py +++ b/var/spack/repos/builtin/packages/composable-kernel/package.py @@ -13,12 +13,13 @@ class ComposableKernel(CMakePackage): homepage = "https://github.com/ROCm/composable_kernel" git = "https://github.com/ROCm/composable_kernel.git" - url = "https://github.com/ROCm/composable_kernel/archive/refs/tags/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/composable_kernel/archive/refs/tags/rocm-6.1.2.tar.gz" maintainers("srekolam", "afzpatel") license("MIT") version("master", branch="develop") + version("6.1.2", sha256="54db801e1c14239f574cf94dd764a2f986b4abcc223393d55c49e4b276e738c9") version("6.1.1", sha256="f55643c6eee0878e8f2d14a382c33c8b84af0bdf8f31b37b6092b377f7a9c6b5") version("6.1.0", sha256="355a4514b96b56aa9edf78198a3e22067e7397857cfe29d9a64d9c5557b9f83d") version("6.0.2", sha256="f648a99388045948b7d5fbf8eb8da6a1803c79008b54d406830b7f9119e1dcf6") @@ -29,8 +30,11 @@ class ComposableKernel(CMakePackage): version("5.6.0", commit="f5ec04f091fa5c48c67d7bacec36a414d0be06a5") version("5.5.1", commit="ac9e01e2cc3721be24619807adc444e1f59a9d25") version("5.5.0", commit="8b76b832420a3d69708401de6607a033163edcce") - version("5.4.3", commit="bb3d9546f186e39cefedc3e7f01d88924ba20168") - version("5.4.0", commit="236bd148b98c7f1ec61ee850fcc0c5d433576305") + with default_args(deprecated=True): + version("5.4.3", commit="bb3d9546f186e39cefedc3e7f01d88924ba20168") + version("5.4.0", commit="236bd148b98c7f1ec61ee850fcc0c5d433576305") + + depends_on("cxx", type="build") # generated amdgpu_targets = ROCmPackage.amdgpu_targets variant( @@ -52,6 +56,7 @@ class ComposableKernel(CMakePackage): for ver in [ "master", + "6.1.2", "6.1.1", "6.1.0", "6.0.2", @@ -84,7 +89,10 @@ def cmake_args(self): if "auto" not in self.spec.variants["amdgpu_target"]: args.append(self.define_from_variant("GPU_TARGETS", "amdgpu_target")) if self.spec.satisfies("@5.6.0:"): - args.append(self.define("INSTANCES_ONLY", "ON")) + if self.run_tests: + args.append(self.define("BUILD_TESTING", "ON")) + else: + args.append(self.define("INSTANCES_ONLY", "ON")) args.append(self.define("CK_BUILD_JIT_LIB", "ON")) args.append(self.define("CMAKE_POSITION_INDEPENDENT_CODE", "ON")) if self.spec.satisfies("@:5.7"): diff --git a/var/spack/repos/builtin/packages/maphyspp/package.py b/var/spack/repos/builtin/packages/composyx/package.py similarity index 54% rename from var/spack/repos/builtin/packages/maphyspp/package.py rename to var/spack/repos/builtin/packages/composyx/package.py index fb440cad5ae799..d177bee5b25d21 100644 --- a/var/spack/repos/builtin/packages/maphyspp/package.py +++ b/var/spack/repos/builtin/packages/composyx/package.py @@ -7,16 +7,20 @@ from spack.package import * -class Maphyspp(CMakePackage): +class Composyx(CMakePackage): """a Massively Parallel Hybrid Solver in C++""" - homepage = "https://gitlab.inria.fr/solverstack/maphys/maphyspp" - git = "https://gitlab.inria.fr/solverstack/maphys/maphyspp.git" - url = "https://gitlab.inria.fr/api/v4/projects/6194/packages/generic/source/v1.1.9/maphyspp-1.1.9.tar.gz" + homepage = "https://gitlab.inria.fr/composyx/composyx" + git = "https://gitlab.inria.fr/composyx/composyx.git" + url = "https://gitlab.inria.fr/api/v4/projects/52455/packages/generic/source/v1.0.1/composyx-1.0.1.tar.gz" maintainers("fpruvost") - version("master", branch="master", submodules=True) - version("1.1.9", sha256="472deef05f69c26337a6f8e769cf36cbe0a50e6ec096757389ed10286a0d7e04") + version("main", branch="main", submodules=True) + version("1.0.1", sha256="d97936e3b297fde435c165cbe29cb39e5d88ae368be451b1c45b8ee51486782c") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated # User options variant("armadillo", default=False, description="Enable Armadillo interface") @@ -47,20 +51,20 @@ class Maphyspp(CMakePackage): def cmake_args(self): args = [ self.define("BUILD_SHARED_LIBS", True), - self.define("MAPHYSPP_C_DRIVER", True), - self.define("MAPHYSPP_Fortran_DRIVER", True), - self.define("MAPHYSPP_COMPILE_BENCH", False), - self.define("MAPHYSPP_USE_MUMPS", False), - self.define("MAPHYSPP_USE_QRMUMPS", False), - self.define("MAPHYSPP_USE_SZ_COMPRESSOR", False), - self.define_from_variant("MAPHYSPP_COMPILE_EXAMPLES", "examples"), - self.define_from_variant("MAPHYSPP_COMPILE_TESTS", "tests"), - self.define_from_variant("MAPHYSPP_USE_ARMADILLO", "armadillo"), - self.define_from_variant("MAPHYSPP_USE_ARPACK", "arpack-ng"), - self.define_from_variant("MAPHYSPP_USE_EIGEN", "eigen"), - self.define_from_variant("MAPHYSPP_USE_FABULOUS", "fabulous"), - self.define_from_variant("MAPHYSPP_USE_PADDLE", "paddle"), - self.define_from_variant("MAPHYSPP_USE_PASTIX", "pastix"), + self.define("COMPOSYX_C_DRIVER", True), + self.define("COMPOSYX_Fortran_DRIVER", True), + self.define("COMPOSYX_COMPILE_BENCH", False), + self.define("COMPOSYX_USE_MUMPS", False), + self.define("COMPOSYX_USE_QRMUMPS", False), + self.define("COMPOSYX_USE_SZ_COMPRESSOR", False), + self.define_from_variant("COMPOSYX_COMPILE_EXAMPLES", "examples"), + self.define_from_variant("COMPOSYX_COMPILE_TESTS", "tests"), + self.define_from_variant("COMPOSYX_USE_ARMADILLO", "armadillo"), + self.define_from_variant("COMPOSYX_USE_ARPACK", "arpack-ng"), + self.define_from_variant("COMPOSYX_USE_EIGEN", "eigen"), + self.define_from_variant("COMPOSYX_USE_FABULOUS", "fabulous"), + self.define_from_variant("COMPOSYX_USE_PADDLE", "paddle"), + self.define_from_variant("COMPOSYX_USE_PASTIX", "pastix"), ] return args diff --git a/var/spack/repos/builtin/packages/conduit/package.py b/var/spack/repos/builtin/packages/conduit/package.py index 63411110774e79..ebf372fefac447 100644 --- a/var/spack/repos/builtin/packages/conduit/package.py +++ b/var/spack/repos/builtin/packages/conduit/package.py @@ -70,6 +70,10 @@ class Conduit(CMakePackage): version("0.2.1", sha256="796576b9c69717c52f0035542c260eb7567aa351ee892d3fbe3521c38f1520c4") version("0.2.0", sha256="31eff8dbc654a4b235cfcbc326a319e1752728684296721535c7ca1c9b463061") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + maintainers("cyrush") ########################################################################### diff --git a/var/spack/repos/builtin/packages/conmon/package.py b/var/spack/repos/builtin/packages/conmon/package.py index 065ec8aa20affe..f7bac7bbdcedd6 100644 --- a/var/spack/repos/builtin/packages/conmon/package.py +++ b/var/spack/repos/builtin/packages/conmon/package.py @@ -20,6 +20,8 @@ class Conmon(MakefilePackage): version("2.1.5", sha256="ee3179ee2b9a9107acec00eb546062cf7deb847f135a3b81503d22b0d226b3ed") version("2.0.30", sha256="4b0a98fbe8a63c42f60edac25c19aa6606caa7b1e4fe7846fc7f7de0b566ba25") + depends_on("c", type="build") # generated + depends_on("go", type="build") depends_on("go-md2man", type="build") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/conquest/package.py b/var/spack/repos/builtin/packages/conquest/package.py index 32ab7d77792f4c..56ed26c11b96ed 100644 --- a/var/spack/repos/builtin/packages/conquest/package.py +++ b/var/spack/repos/builtin/packages/conquest/package.py @@ -24,6 +24,8 @@ class Conquest(MakefilePackage): version("master", branch="master") version("develop", branch="develop") + depends_on("fortran", type="build") # generated + depends_on("blas") depends_on("lapack") depends_on("scalapack") diff --git a/var/spack/repos/builtin/packages/conserver/package.py b/var/spack/repos/builtin/packages/conserver/package.py index 599104957ca3b6..0b3d75d9f143c6 100644 --- a/var/spack/repos/builtin/packages/conserver/package.py +++ b/var/spack/repos/builtin/packages/conserver/package.py @@ -22,5 +22,7 @@ class Conserver(AutotoolsPackage): version("8.2.2", sha256="05ea1693bf92b42ad2f0a9389c60352ccd35c2ea93c8fc8e618d0153362a7d81") version("8.2.1", sha256="251ae01997e8f3ee75106a5b84ec6f2a8eb5ff2f8092438eba34384a615153d0") + depends_on("c", type="build") # generated + def setup_run_environment(self, env): env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/console-bridge/package.py b/var/spack/repos/builtin/packages/console-bridge/package.py index bff4b72b4ed9a7..a6b17ed44fe737 100644 --- a/var/spack/repos/builtin/packages/console-bridge/package.py +++ b/var/spack/repos/builtin/packages/console-bridge/package.py @@ -24,3 +24,5 @@ class ConsoleBridge(CMakePackage): version("0.5.0", sha256="1cecdf232b1eb883b41cc50d1d38443b2163fdc0497072dc1aa6e7ba30696060") version("0.4.4", sha256="1147af6ad6477fcfd640c543684e17ee540e434aa70d6f31c1d137bc86fb937c") version("0.4.3", sha256="9f024a38f0947ed9fa67f58829980c2d90d84740e6de20d75cb00866f07a7a0b") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/constype/package.py b/var/spack/repos/builtin/packages/constype/package.py index 0ed38e823589d0..2f11a8cae01ec9 100644 --- a/var/spack/repos/builtin/packages/constype/package.py +++ b/var/spack/repos/builtin/packages/constype/package.py @@ -19,5 +19,7 @@ class Constype(AutotoolsPackage, XorgPackage): version("1.0.5", sha256="ec7d07204dd5abf8d21d0a89408be17ab316a017838c88b087b127082f02c051") version("1.0.4", sha256="ec09aff369cf1d527fd5b8075fb4dd0ecf89d905190cf1a0a0145d5e523f913d") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("util-macros", type="build") diff --git a/var/spack/repos/builtin/packages/cool/package.py b/var/spack/repos/builtin/packages/cool/package.py index c849e48149d617..07a1ebae6ebccf 100644 --- a/var/spack/repos/builtin/packages/cool/package.py +++ b/var/spack/repos/builtin/packages/cool/package.py @@ -21,6 +21,8 @@ class Cool(CMakePackage): version("3.3.4", tag="COOL_3_3_4", commit="c3f9f780e0949fc78277c05d21d06fd7ddc6ea48") version("3.3.3", tag="COOL_3_3_3", commit="42137f0ecd5028c41a46a99f0b95b56e105ef4e3") + depends_on("cxx", type="build") # generated + # Spack-specific patches: # * Create python/PyCool/_internal directory # (only necessary for Spack builds, for some reason) diff --git a/var/spack/repos/builtin/packages/coordgen/package.py b/var/spack/repos/builtin/packages/coordgen/package.py index b0a6f70675296e..45fc4c08a5258e 100644 --- a/var/spack/repos/builtin/packages/coordgen/package.py +++ b/var/spack/repos/builtin/packages/coordgen/package.py @@ -18,6 +18,8 @@ class Coordgen(CMakePackage): version("3.0.2", sha256="f67697434f7fec03bca150a6d84ea0e8409f6ec49d5aab43badc5833098ff4e3") + depends_on("cxx", type="build") # generated + variant("maeparser", default=True, description="Use MAE parser") variant("example", default=False, description="Build sample executable") variant("shared", default=True, description="Build as shared library") diff --git a/var/spack/repos/builtin/packages/coral/package.py b/var/spack/repos/builtin/packages/coral/package.py index 56e20a06391704..7d55cfbc88e5c6 100644 --- a/var/spack/repos/builtin/packages/coral/package.py +++ b/var/spack/repos/builtin/packages/coral/package.py @@ -18,6 +18,8 @@ class Coral(CMakePackage): version("3.3.10", tag="CORAL_3_3_10", commit="d79c4d94f74e8eaf518841e70c70c1d9b2f816fe") version("3.3.3", tag="CORAL_3_3_3", commit="1c0393b2aa8d03748208ce564070d96f1bbd0c29") + + depends_on("cxx", type="build") # generated variant("binary_tag", default="auto", description="Build type") depends_on("ninja") diff --git a/var/spack/repos/builtin/packages/coreutils/package.py b/var/spack/repos/builtin/packages/coreutils/package.py index 09afeea14aac10..aaf868e1c3534c 100644 --- a/var/spack/repos/builtin/packages/coreutils/package.py +++ b/var/spack/repos/builtin/packages/coreutils/package.py @@ -37,6 +37,8 @@ class Coreutils(AutotoolsPackage, GNUMirrorPackage): version("8.26", sha256="155e94d748f8e2bc327c66e0cbebdb8d6ab265d2f37c3c928f7bf6c3beba9a8e") version("8.23", sha256="ec43ca5bcfc62242accb46b7f121f6b684ee21ecd7d075059bf650ff9e37b82d") + depends_on("c", type="build") # generated + variant( "gprefix", default=False, diff --git a/var/spack/repos/builtin/packages/cosma/package.py b/var/spack/repos/builtin/packages/cosma/package.py index 77a9ba7b69a1c4..3bc12ac1b8e2b8 100644 --- a/var/spack/repos/builtin/packages/cosma/package.py +++ b/var/spack/repos/builtin/packages/cosma/package.py @@ -36,6 +36,8 @@ class Cosma(CMakePackage): version("2.0.7", sha256="8d70bfcbda6239b6a8fbeaca138790bbe58c0c3aa576879480d2632d4936cf7e") version("2.0.2", sha256="4f3354828bc718f3eef2f0098c3bdca3499297497a220da32db1acd57920c68d") + depends_on("cxx", type="build") # generated + # We just need the libraries of cuda and rocm, so no need to extend # CudaPackage or ROCmPackage. variant("cuda", default=False, description="Build with cuBLAS support") diff --git a/var/spack/repos/builtin/packages/cosmomc/package.py b/var/spack/repos/builtin/packages/cosmomc/package.py index 9e66b8938af2d8..6bb14da1c4c7e7 100644 --- a/var/spack/repos/builtin/packages/cosmomc/package.py +++ b/var/spack/repos/builtin/packages/cosmomc/package.py @@ -23,6 +23,9 @@ class Cosmomc(Package): version("2016.11", sha256="b83edbf043ff83a4dde9bc14c56a09737dbc41ffe247a8e9c9a26892ed8745ba") version("2016.06", sha256="23fa23eef40846c17d3740be63a7fefde13880cbb81545a44d14034277d9ffc0") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + def url_for_version(self, version): names = {"2016.11": "Nov2016", "2016.06": "June2016"} return "https://github.com/cmbant/CosmoMC/archive/%s.tar.gz" % names[str(version)] diff --git a/var/spack/repos/builtin/packages/cosp2/package.py b/var/spack/repos/builtin/packages/cosp2/package.py index d16466bad6bf48..d66a22f09c3d4e 100644 --- a/var/spack/repos/builtin/packages/cosp2/package.py +++ b/var/spack/repos/builtin/packages/cosp2/package.py @@ -21,6 +21,8 @@ class Cosp2(MakefilePackage): version("master", branch="master") + depends_on("c", type="build") # generated + variant("double", default=True, description="Build with double precision.") variant("mpi", default=True, description="Build with MPI Support") diff --git a/var/spack/repos/builtin/packages/costa/package.py b/var/spack/repos/builtin/packages/costa/package.py index 4e85387a88580a..3070e78a42effd 100644 --- a/var/spack/repos/builtin/packages/costa/package.py +++ b/var/spack/repos/builtin/packages/costa/package.py @@ -28,6 +28,8 @@ class Costa(CMakePackage): version("2.1", sha256="c1e86452415083f7470b292d93ec60708b7c8dbafc2bac383636bb4b28135866") version("2.0", sha256="de250197f31f7d23226c6956a687c3ff46fb0ff6c621a932428236c3f7925fe4") + depends_on("cxx", type="build") # generated + variant("scalapack", default=False, description="Build with ScaLAPACK API") variant("shared", default=True, description="Build shared libraries") variant("profiling", default=False, description="Enable profiling") diff --git a/var/spack/repos/builtin/packages/cotter/package.py b/var/spack/repos/builtin/packages/cotter/package.py index c38d5352e70e8b..f1ab277344174c 100644 --- a/var/spack/repos/builtin/packages/cotter/package.py +++ b/var/spack/repos/builtin/packages/cotter/package.py @@ -15,6 +15,8 @@ class Cotter(CMakePackage): version("master", branch="master") version("20190205", commit="b7b07f3298a8d57b9dfff0b72fc21e68b23a42da") + depends_on("cxx", type="build") # generated + depends_on("erfa") depends_on("pal") depends_on("aoflagger") diff --git a/var/spack/repos/builtin/packages/countdown/package.py b/var/spack/repos/builtin/packages/countdown/package.py index b2ba2aab72e163..c3aa9a9db1438a 100644 --- a/var/spack/repos/builtin/packages/countdown/package.py +++ b/var/spack/repos/builtin/packages/countdown/package.py @@ -21,6 +21,8 @@ class Countdown(CMakePackage, CudaPackage): version("1.1.1", sha256="ee7f00ffc047f000a21a7a71f6ea6f4049afb1a8407608adc04993929ceba917") + depends_on("c", type="build") # generated + variant( "acc_mpi", default=True, diff --git a/var/spack/repos/builtin/packages/covfie/package.py b/var/spack/repos/builtin/packages/covfie/package.py new file mode 100644 index 00000000000000..2b88af03d117e7 --- /dev/null +++ b/var/spack/repos/builtin/packages/covfie/package.py @@ -0,0 +1,39 @@ +# 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 Covfie(CMakePackage, CudaPackage): + """ + Covfie is a library for compositional descriptions of storage methods for + vector fields and other structured multi-dimensional data. + """ + + homepage = "https://github.com/acts-project/covfie" + url = "https://github.com/acts-project/covfie/archive/refs/tags/v0.1.0.tar.gz" + list_url = "https://github.com/acts-project/covfie/tags" + + license("MPL-2.0") + + maintainers("stephenswat") + + version("0.10.0", sha256="d44142b302ffc193ad2229f1d2cc6d8d720dd9da8c37989ada4f23018f86c964") + + depends_on("cxx", type="build") # generated + + variant("concepts", default=False, description="Enforce C++20 concepts") + + depends_on("cmake@3.18:", type="build") + + def cmake_args(self): + args = [ + self.define("COVFIE_PLATFORM_CPU", True), + self.define_from_variant("COVFIE_PLATFORM_CUDA", "cuda"), + self.define_from_variant("COVFIE_REQUIRE_CXX20", "concepts"), + self.define("COVFIE_QUIET", True), + ] + + return args diff --git a/var/spack/repos/builtin/packages/cp2k/package.py b/var/spack/repos/builtin/packages/cp2k/package.py index 8e626999043f18..014b2243122e79 100644 --- a/var/spack/repos/builtin/packages/cp2k/package.py +++ b/var/spack/repos/builtin/packages/cp2k/package.py @@ -56,6 +56,10 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage): version("7.1", sha256="ccd711a09a426145440e666310dd01cc5772ab103493c4ae6a3470898cd0addb") version("master", branch="master", submodules="True") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant("openmp", default=True, description="Enable OpenMP support") variant( @@ -169,14 +173,14 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage): depends_on("cray-libsci+openmp", when="^[virtuals=blas] cray-libsci") with when("smm=libxsmm"): - depends_on("libxsmm@1.17:~header-only", when="@9.1:") + depends_on("libxsmm~header-only") # require libxsmm-1.11+ since 1.10 can leak file descriptors in Fortran - depends_on("libxsmm@1.11:~header-only", when="@:8.9") + depends_on("libxsmm@1.11:") + depends_on("libxsmm@1.17:", when="@9.1:") + # build needs to be fixed for libxsmm@2 once it is released + depends_on("libxsmm@:1") # use pkg-config (support added in libxsmm-1.10) to link to libxsmm depends_on("pkgconfig", type="build") - # please set variants: smm=blas by configuring packages.yaml or install - # cp2k with option smm=blas on aarch64 - conflicts("target=aarch64:", msg="libxsmm is not available on arm") with when("+libint"): depends_on("pkgconfig", type="build", when="@7.0:") @@ -224,11 +228,23 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage): depends_on("elpa@2023.05.001:", when="@2023.2:") with when("+dlaf"): - depends_on("dla-future@0.2.1: +scalapack") - depends_on("dla-future ~cuda", when="~cuda") - depends_on("dla-future ~rocm", when="~rocm") - depends_on("dla-future +cuda", when="+cuda") - depends_on("dla-future +rocm", when="+rocm") + with when("@:2024.1"): + depends_on("dla-future@0.2.1: +scalapack") + depends_on("dla-future ~cuda", when="~cuda") + depends_on("dla-future ~rocm", when="~rocm") + depends_on("dla-future +cuda", when="+cuda") + depends_on("dla-future +rocm", when="+rocm") + + with when("@master"): + depends_on("dla-future-fortran@0.1.0:") + + # Use a direct dependency on dla-future so that constraints can be expressed + # WARN: In the concretizer output, dla-future will appear as dependency of CP2K + # instead of dla-future-fortran + depends_on("dla-future ~cuda", when="~cuda") + depends_on("dla-future ~rocm", when="~rocm") + depends_on("dla-future +cuda", when="+cuda") + depends_on("dla-future +rocm", when="+rocm") with when("+plumed"): depends_on("plumed+shared") @@ -276,6 +292,8 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage): depends_on("dbcsr+mpi", when="+mpi") depends_on("dbcsr+cuda", when="+cuda") depends_on("dbcsr+rocm", when="+rocm") + depends_on("dbcsr smm=libxsmm", when="smm=libxsmm") + depends_on("dbcsr smm=blas", when="smm=blas") with when("@2022: +rocm"): depends_on("hipblas") @@ -460,78 +478,6 @@ def edit(self, pkg, spec, prefix): if "superlu-dist@4.3" in spec: ldflags.insert(0, "-Wl,--allow-multiple-definition") - if "+plumed" in spec: - dflags.extend(["-D__PLUMED2"]) - cppflags.extend(["-D__PLUMED2"]) - libs.extend([join_path(spec["plumed"].prefix.lib, "libplumed.{0}".format(dso_suffix))]) - - cc = spack_cc if "~mpi" in spec else spec["mpi"].mpicc - cxx = spack_cxx if "~mpi" in spec else spec["mpi"].mpicxx - fc = spack_fc if "~mpi" in spec else spec["mpi"].mpifc - - # Intel - if "%intel" in spec: - cppflags.extend(["-D__INTEL", "-D__HAS_ISO_C_BINDING", "-D__USE_CP2K_TRACE"]) - fcflags.extend(["-diag-disable 8290,8291,10010,10212,11060", "-free", "-fpp"]) - - # FFTW, LAPACK, BLAS - lapack = spec["lapack"].libs - blas = spec["blas"].libs - ldflags.append((lapack + blas).search_flags) - libs.extend([str(x) for x in (fftw.libs, lapack, blas)]) - - if spec.satisfies("platform=darwin"): - cppflags.extend(["-D__NO_STATM_ACCESS"]) - - if spec["blas"].name in ("intel-mkl", "intel-parallel-studio", "intel-oneapi-mkl"): - cppflags += ["-D__MKL"] - elif spec["blas"].name == "accelerate": - cppflags += ["-D__ACCELERATE"] - - if "+cosma" in spec: - # add before ScaLAPACK to override the p?gemm symbols - cosma = spec["cosma"].libs - ldflags.append(cosma.search_flags) - libs.extend(cosma) - - # MPI - if "+mpi" in spec: - cppflags.extend(["-D__parallel", "-D__SCALAPACK"]) - - if spec["mpi"].name == "intel-oneapi-mpi": - mpi = [join_path(spec["intel-oneapi-mpi"].libs.directories[0], "libmpi.so")] - else: - mpi = spec["mpi:cxx"].libs - - # while intel-mkl has a mpi variant and adds the scalapack - # libs to its libs, intel-oneapi-mkl does not. - if spec["scalapack"].name == "intel-oneapi-mkl": - mpi_impl = "openmpi" if spec["mpi"].name in ["openmpi", "hpcx-mpi"] else "intelmpi" - scalapack = [ - join_path( - spec["intel-oneapi-mkl"].libs.directories[0], "libmkl_scalapack_lp64.so" - ), - join_path( - spec["intel-oneapi-mkl"].libs.directories[0], - "libmkl_blacs_{0}_lp64.so".format(mpi_impl), - ), - ] - else: - scalapack = spec["scalapack"].libs - ldflags.append(scalapack.search_flags) - - libs.extend(scalapack) - libs.extend(mpi) - libs.extend(pkg.compiler.stdcxx_libs) - - if "+mpi_f08" in spec: - cppflags.append("-D__MPI_F08") - - if "wannier90" in spec: - cppflags.append("-D__WANNIER90") - wannier = join_path(spec["wannier90"].libs.directories[0], "libwannier.a") - libs.append(wannier) - if "+libint" in spec: cppflags += ["-D__LIBINT"] @@ -632,6 +578,91 @@ def edit(self, pkg, spec, prefix): fcflags += ["-I{0}".format(sirius.prefix.include.sirius)] libs += list(sirius.libs) + if "+plumed" in spec: + dflags.extend(["-D__PLUMED2"]) + cppflags.extend(["-D__PLUMED2"]) + libs.extend([join_path(spec["plumed"].prefix.lib, "libplumed.{0}".format(dso_suffix))]) + + if "+libvori" in spec: + cppflags += ["-D__LIBVORI"] + libvori = spec["libvori"].libs + ldflags += [libvori.search_flags] + libs += libvori + libs += ["-lstdc++"] + + if "+spglib" in spec: + cppflags += ["-D__SPGLIB"] + spglib = spec["spglib"].libs + ldflags += [spglib.search_flags] + libs += spglib + + cc = spack_cc if "~mpi" in spec else spec["mpi"].mpicc + cxx = spack_cxx if "~mpi" in spec else spec["mpi"].mpicxx + fc = spack_fc if "~mpi" in spec else spec["mpi"].mpifc + + # Intel + if "%intel" in spec: + cppflags.extend(["-D__INTEL", "-D__HAS_ISO_C_BINDING", "-D__USE_CP2K_TRACE"]) + fcflags.extend(["-diag-disable 8290,8291,10010,10212,11060", "-free", "-fpp"]) + + # FFTW, LAPACK, BLAS + lapack = spec["lapack"].libs + blas = spec["blas"].libs + ldflags.append((lapack + blas).search_flags) + libs.extend([str(x) for x in (fftw.libs, lapack, blas)]) + + if spec.satisfies("platform=darwin"): + cppflags.extend(["-D__NO_STATM_ACCESS"]) + + if spec["blas"].name in ("intel-mkl", "intel-parallel-studio", "intel-oneapi-mkl"): + cppflags += ["-D__MKL"] + elif spec["blas"].name == "accelerate": + cppflags += ["-D__ACCELERATE"] + + if "+cosma" in spec: + # add before ScaLAPACK to override the p?gemm symbols + cosma = spec["cosma"].libs + ldflags.append(cosma.search_flags) + libs.extend(cosma) + + # MPI + if "+mpi" in spec: + cppflags.extend(["-D__parallel", "-D__SCALAPACK"]) + + if spec["mpi"].name == "intel-oneapi-mpi": + mpi = [join_path(spec["intel-oneapi-mpi"].libs.directories[0], "libmpi.so")] + else: + mpi = spec["mpi:cxx"].libs + + # while intel-mkl has a mpi variant and adds the scalapack + # libs to its libs, intel-oneapi-mkl does not. + if spec["scalapack"].name == "intel-oneapi-mkl": + mpi_impl = "openmpi" if spec["mpi"].name in ["openmpi", "hpcx-mpi"] else "intelmpi" + scalapack = [ + join_path( + spec["intel-oneapi-mkl"].libs.directories[0], "libmkl_scalapack_lp64.so" + ), + join_path( + spec["intel-oneapi-mkl"].libs.directories[0], + "libmkl_blacs_{0}_lp64.so".format(mpi_impl), + ), + ] + else: + scalapack = spec["scalapack"].libs + ldflags.append(scalapack.search_flags) + + libs.extend(scalapack) + libs.extend(mpi) + libs.extend(pkg.compiler.stdcxx_libs) + + if "+mpi_f08" in spec: + cppflags.append("-D__MPI_F08") + + if "wannier90" in spec: + cppflags.append("-D__WANNIER90") + wannier = join_path(spec["wannier90"].libs.directories[0], "libwannier.a") + libs.append(wannier) + gpuver = "" if spec.satisfies("+cuda"): libs += [ @@ -719,19 +750,6 @@ def edit(self, pkg, spec, prefix): fcflags += pkgconf("--cflags-only-I", "libxsmmf", output=str).split() libs += pkgconf("--libs", "libxsmmf", output=str).split() - if "+libvori" in spec: - cppflags += ["-D__LIBVORI"] - libvori = spec["libvori"].libs - ldflags += [libvori.search_flags] - libs += libvori - libs += ["-lstdc++"] - - if "+spglib" in spec: - cppflags += ["-D__SPGLIB"] - spglib = spec["spglib"].libs - ldflags += [spglib.search_flags] - libs += spglib - dflags.extend(cppflags) cflags.extend(cppflags) cxxflags.extend(cppflags) diff --git a/var/spack/repos/builtin/packages/cpio/package.py b/var/spack/repos/builtin/packages/cpio/package.py index 81eb20758f8db6..5b743a829849be 100644 --- a/var/spack/repos/builtin/packages/cpio/package.py +++ b/var/spack/repos/builtin/packages/cpio/package.py @@ -24,6 +24,8 @@ class Cpio(AutotoolsPackage, GNUMirrorPackage): version("2.14", sha256="145a340fd9d55f0b84779a44a12d5f79d77c99663967f8cfa168d7905ca52454") version("2.13", sha256="e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8f3db88") + depends_on("c", type="build") # generated + build_directory = "spack-build" def patch(self): diff --git a/var/spack/repos/builtin/packages/cpmd/package.py b/var/spack/repos/builtin/packages/cpmd/package.py index 61977a370669a7..8bc10da0c50ae0 100644 --- a/var/spack/repos/builtin/packages/cpmd/package.py +++ b/var/spack/repos/builtin/packages/cpmd/package.py @@ -18,6 +18,9 @@ class Cpmd(MakefilePackage): version("4.3", sha256="e0290f9da0d255f90a612e60662b14a97ca53003f89073c6af84fa7bc8739f65") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("omp", description="Enables the use of OMP instructions", default=False) variant("mpi", description="Build with MPI support", default=False) diff --git a/var/spack/repos/builtin/packages/cpp-argparse/package.py b/var/spack/repos/builtin/packages/cpp-argparse/package.py index 509724a3fc661f..5241608a8ad118 100644 --- a/var/spack/repos/builtin/packages/cpp-argparse/package.py +++ b/var/spack/repos/builtin/packages/cpp-argparse/package.py @@ -18,3 +18,5 @@ class CppArgparse(CMakePackage): version("2.9", sha256="cd563293580b9dc592254df35b49cf8a19b4870ff5f611c7584cf967d9e6031e") version("2.2", sha256="f0fc6ab7e70ac24856c160f44ebb0dd79dc1f7f4a614ee2810d42bb73799872b") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/cpp-httplib/package.py b/var/spack/repos/builtin/packages/cpp-httplib/package.py index 0975b610cac615..1fa77baa286c18 100644 --- a/var/spack/repos/builtin/packages/cpp-httplib/package.py +++ b/var/spack/repos/builtin/packages/cpp-httplib/package.py @@ -30,3 +30,5 @@ class CppHttplib(CMakePackage): version("0.3.3", sha256="476471c6fcd4b39fc79a5dd6ad343a2428cb69b4d528557abb6a0b7bf8186e34") version("0.2.6", sha256="8678afc0e69bc198edcb8fe0066e46a87373221232ebabde2d78c237f31d3c3d") version("0.2.1", sha256="94a6ddd25088b66b7b9e57b9d0ea138c984967e91b21395401642027bf279438") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/cpp-logger/package.py b/var/spack/repos/builtin/packages/cpp-logger/package.py index e90a0dabc84869..eb79d36a3520cb 100644 --- a/var/spack/repos/builtin/packages/cpp-logger/package.py +++ b/var/spack/repos/builtin/packages/cpp-logger/package.py @@ -17,6 +17,9 @@ class CppLogger(CMakePackage): version("develop", branch="develop") version("master", branch="master") + version("0.0.4", tag="v0.0.4", commit="2231deee4b74fb1ddae3dae0618baaead4fecf75") version("0.0.3", tag="v0.0.3", commit="398e6fa1eb4442cba94d46ecacfa47a426474387") version("0.0.2", tag="v0.0.2", commit="329a48401033d2d2a1f1196141763cab029220ae") version("0.0.1", tag="v0.0.1", commit="d48b38ab14477bb7c53f8189b8b4be2ea214c28a") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/cpp-termcolor/package.py b/var/spack/repos/builtin/packages/cpp-termcolor/package.py index 93954c23c997f1..c99e233fc113fa 100644 --- a/var/spack/repos/builtin/packages/cpp-termcolor/package.py +++ b/var/spack/repos/builtin/packages/cpp-termcolor/package.py @@ -19,6 +19,8 @@ class CppTermcolor(CMakePackage): version("2.0.0", sha256="4a73a77053822ca1ed6d4a2af416d31028ec992fb0ffa794af95bd6216bb6a20") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.0:", type="build") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/cppad/package.py b/var/spack/repos/builtin/packages/cppad/package.py index 2e8f7795109b85..6ca15a825e4850 100644 --- a/var/spack/repos/builtin/packages/cppad/package.py +++ b/var/spack/repos/builtin/packages/cppad/package.py @@ -9,20 +9,42 @@ class Cppad(CMakePackage): """A Package for Differentiation of C++ Algorithms.""" - homepage = "https://www.coin-or.org/CppAD/" - url = "http://www.coin-or.org/download/source/CppAD/cppad-20170114.gpl.tgz" + homepage = "https://github.com/coin-or/CppAD" + url = "https://github.com/coin-or/CppAD/archive/refs/tags/20240000.4.tar.gz" git = "https://github.com/coin-or/CppAD.git" - version("develop", branch="master") + maintainers("whart222") + + version("master", branch="master") + version( + "20240000.4", sha256="0dfc1e30b32d5dd3086ee3adb6d2746a019e9d670b644c4d5ec1df3c35dd1fe5" + ) + version( + "20220000.5", sha256="9fb4562f6169855eadcd86ac4671593d1c0edf97bb6ce7cbb28e19af2bfc165e" + ) version( - "20180000.0", sha256="1c355713e720fc5226ff3d6db2909922d46cd7ee0d36ee7985882f86905f655a" + "20180000.0", + sha256="a5226e4c5aa2ad6d95668f987b39939315bf134a0a793231984e6d42d6488cca", + deprecated=True, + ) + version( + "20170114", + sha256="fa3980a882be2a668a7522146273a1b4f1d8dabe66ad4aafa8964c8c1fd6f957", + deprecated=True, ) - version("20170114", sha256="fa3980a882be2a668a7522146273a1b4f1d8dabe66ad4aafa8964c8c1fd6f957") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated def cmake_args(self): - # This package does not obey CMAKE_INSTALL_PREFIX + # NOTE: This package does not obey CMAKE_INSTALL_PREFIX args = [ self.define("cppad_prefix", self.prefix), - self.define("cmake_install_docdir", "share/cppad/doc"), + self.define("CMAKE_BUILD_TYPE", "Release"), + # + # Installing documents sometimes fails. + # + # self.define("cmake_install_docdir", "share/cppad/doc"), ] + return args diff --git a/var/spack/repos/builtin/packages/cppcheck/package.py b/var/spack/repos/builtin/packages/cppcheck/package.py index fbda439345b37c..0874acd21a2864 100644 --- a/var/spack/repos/builtin/packages/cppcheck/package.py +++ b/var/spack/repos/builtin/packages/cppcheck/package.py @@ -30,6 +30,9 @@ class Cppcheck(CMakePackage): version("1.72", sha256="9460b184ff2d8dd15344f3e2f42f634c86e4dd3303e1e9b3f13dc67536aab420") version("1.68", sha256="add6e5e12b05ca02b356cd0ec7420ae0dcafddeaef183b4dfbdef59c617349b1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("rules", default=False, description="Enable rules (requires PCRE)") variant("htmlreport", default=False, description="Install cppcheck-htmlreport") diff --git a/var/spack/repos/builtin/packages/cppcodec/package.py b/var/spack/repos/builtin/packages/cppcodec/package.py index 1cee1f9ad1e93f..29f342bd95ff54 100644 --- a/var/spack/repos/builtin/packages/cppcodec/package.py +++ b/var/spack/repos/builtin/packages/cppcodec/package.py @@ -19,4 +19,6 @@ class Cppcodec(CMakePackage): version("0.2", sha256="0edaea2a9d9709d456aa99a1c3e17812ed130f9ef2b5c2d152c230a5cbc5c482") + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8:", type="build") diff --git a/var/spack/repos/builtin/packages/cppcoro/package.py b/var/spack/repos/builtin/packages/cppcoro/package.py index ac998ace01c62e..f928c954d8ffcd 100644 --- a/var/spack/repos/builtin/packages/cppcoro/package.py +++ b/var/spack/repos/builtin/packages/cppcoro/package.py @@ -19,4 +19,6 @@ class Cppcoro(CMakePackage): version("develop", branch="master") version("2021-01-13", commit="7cc9433436fe8f2482138019cfaafce8e1d7a896") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.12:", type="build") diff --git a/var/spack/repos/builtin/packages/cppgsl/package.py b/var/spack/repos/builtin/packages/cppgsl/package.py index a797e6eefc0cb7..9f63fbb1320ab2 100644 --- a/var/spack/repos/builtin/packages/cppgsl/package.py +++ b/var/spack/repos/builtin/packages/cppgsl/package.py @@ -22,6 +22,8 @@ class Cppgsl(CMakePackage): version("2.0.0", sha256="6cce6fb16b651e62711a4f58e484931013c33979b795d1b1f7646f640cfa9c8e") version("1.0.0", sha256="9694b04cd78e5b1a769868f19fdd9eea2002de3d4c3a81a1b769209364543c36") + depends_on("cxx", type="build") # generated + variant( "cxxstd", default="14", diff --git a/var/spack/repos/builtin/packages/cpprestsdk/package.py b/var/spack/repos/builtin/packages/cpprestsdk/package.py index 403e8bc42e98b5..94ac694297652b 100644 --- a/var/spack/repos/builtin/packages/cpprestsdk/package.py +++ b/var/spack/repos/builtin/packages/cpprestsdk/package.py @@ -25,6 +25,9 @@ class Cpprestsdk(CMakePackage): ) version("2.9.1", sha256="537358760acd782f4d2ed3a85d92247b4fc423aff9c85347dc31dbb0ab9bab16") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on( "boost@1.69.0: +random+chrono+locale+filesystem+system+exception+regex+thread+date_time" ) diff --git a/var/spack/repos/builtin/packages/cppunit/package.py b/var/spack/repos/builtin/packages/cppunit/package.py index 1fdba0c399cb54..016b6b67f468e9 100644 --- a/var/spack/repos/builtin/packages/cppunit/package.py +++ b/var/spack/repos/builtin/packages/cppunit/package.py @@ -24,6 +24,8 @@ class Cppunit(AutotoolsPackage): ) version("1.13.2", sha256="3f47d246e3346f2ba4d7c9e882db3ad9ebd3fcbd2e8b732f946e0e3eeb9f429f") + depends_on("cxx", type="build") # generated + # https://github.com/cms-sw/cmsdist/blob/IB/CMSSW_12_6_X/master/cppunit-1.14-defaulted-function-deleted.patch patch("cppunit-1.14-defaulted-function-deleted.patch", when="@1.15:") diff --git a/var/spack/repos/builtin/packages/cppzmq/package.py b/var/spack/repos/builtin/packages/cppzmq/package.py index 9866654c5eef3c..669a95e707417f 100644 --- a/var/spack/repos/builtin/packages/cppzmq/package.py +++ b/var/spack/repos/builtin/packages/cppzmq/package.py @@ -30,6 +30,8 @@ class Cppzmq(CMakePackage): version("4.2.3", sha256="3e6b57bf49115f4ae893b1ff7848ead7267013087dc7be1ab27636a97144d373") version("4.2.2", sha256="3ef50070ac5877c06c6bb25091028465020e181bbfd08f110294ed6bc419737d") + depends_on("cxx", type="build") # generated + variant("drafts", default=False, description="Build and install draft classes and methods") depends_on("cmake@3.0.0:", type="build") diff --git a/var/spack/repos/builtin/packages/cpr/package.py b/var/spack/repos/builtin/packages/cpr/package.py index 93cff509b40a2e..9c5e7d82c6e35b 100644 --- a/var/spack/repos/builtin/packages/cpr/package.py +++ b/var/spack/repos/builtin/packages/cpr/package.py @@ -19,6 +19,8 @@ class Cpr(CMakePackage): version("1.10.4", sha256="88462d059cd3df22c4d39ae04483ed50dfd2c808b3effddb65ac3b9aa60b542d") version("1.9.2", sha256="3bfbffb22c51f322780d10d3ca8f79424190d7ac4b5ad6ad896de08dbd06bf31") + depends_on("cxx", type="build") # generated + depends_on("curl") depends_on("git", type="build") diff --git a/var/spack/repos/builtin/packages/cprnc/package.py b/var/spack/repos/builtin/packages/cprnc/package.py index 9e4282879e05fd..c719c107155cc5 100644 --- a/var/spack/repos/builtin/packages/cprnc/package.py +++ b/var/spack/repos/builtin/packages/cprnc/package.py @@ -20,6 +20,8 @@ class Cprnc(CMakePackage): version("1.0.1", sha256="b8a8fd4ad7e2716968dfa60f677217c55636580807b1309276f4c062ee432ccd") version("1.0.0", sha256="70ff75bbf01a0cef885db3074c78f39a8890949ca505530c0407398b8803552c") + depends_on("fortran", type="build") # generated + depends_on("netcdf-fortran") depends_on("cmake@3:", type="build") diff --git a/var/spack/repos/builtin/packages/cpu-features/package.py b/var/spack/repos/builtin/packages/cpu-features/package.py index 0ec7b1969560a9..1e4e0c246f6b5e 100644 --- a/var/spack/repos/builtin/packages/cpu-features/package.py +++ b/var/spack/repos/builtin/packages/cpu-features/package.py @@ -20,6 +20,9 @@ class CpuFeatures(CMakePackage): version("0.9.0", sha256="bdb3484de8297c49b59955c3b22dba834401bc2df984ef5cfc17acbe69c5018e") version("0.7.0", sha256="df80d9439abf741c7d2fdcdfd2d26528b136e6c52976be8bd0cd5e45a27262c0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", description="Build shared libraries", default=False) depends_on("cmake@3.0.0:", type="build") diff --git a/var/spack/repos/builtin/packages/cpuinfo/package.py b/var/spack/repos/builtin/packages/cpuinfo/package.py index 4d1cb8fc223152..fd990da38af3bd 100644 --- a/var/spack/repos/builtin/packages/cpuinfo/package.py +++ b/var/spack/repos/builtin/packages/cpuinfo/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import sys + from spack.package import * @@ -28,16 +30,23 @@ class Cpuinfo(CMakePackage): version("2018-05-13", commit="1e6c8c99d27f2b5eb9d2e6231055c6a4115b85e5") # py-torch@0.4.1 version("2018-04-04", commit="831dc28341b5f20d13e840caf87eaba644d82643") # py-torch@:0.4.0 + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + generator("ninja") depends_on("cmake@3.5:", type="build") def cmake_args(self): + # cpuinfo cannot produce a shared build with MSVC because it does not export + # any symbols + # cpuinfo CI builds "default" on Windows platform + build_type = "default" if sys.platform == "win32" else "shared" # https://salsa.debian.org/deeplearning-team/cpuinfo/-/blob/master/debian/rules return [ self.define("CPUINFO_BUILD_UNIT_TESTS", False), self.define("CPUINFO_BUILD_MOCK_TESTS", False), self.define("CPUINFO_BUILD_BENCHMARKS", False), - self.define("CPUINFO_LIBRARY_TYPE", "shared"), + self.define("CPUINFO_LIBRARY_TYPE", build_type), self.define("CPUINFO_LOG_LEVEL", "error"), self.define("CMAKE_SKIP_RPATH", True), ] diff --git a/var/spack/repos/builtin/packages/cqrlib/package.py b/var/spack/repos/builtin/packages/cqrlib/package.py index aaaf2264792381..e9a187d4caf969 100644 --- a/var/spack/repos/builtin/packages/cqrlib/package.py +++ b/var/spack/repos/builtin/packages/cqrlib/package.py @@ -18,6 +18,9 @@ class Cqrlib(MakefilePackage): version("1.1.2", sha256="af3cf2402974579f3c6efc6a6174a5da52786db4bfee9d38d504d93bc42410fd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libtool", type="build") patch("cqr.patch") diff --git a/var/spack/repos/builtin/packages/cquery/package.py b/var/spack/repos/builtin/packages/cquery/package.py index a00e3ea62ce639..58c918c6fcbfb6 100644 --- a/var/spack/repos/builtin/packages/cquery/package.py +++ b/var/spack/repos/builtin/packages/cquery/package.py @@ -16,6 +16,9 @@ class Cquery(CMakePackage): version("2018-08-23", commit="70c755b2e390d3edfb594a84a7531beb26b2bc07", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("llvm") # trivial patch (missing header) by mueller@kip.uni-heidelberg.de diff --git a/var/spack/repos/builtin/packages/cracklib/package.py b/var/spack/repos/builtin/packages/cracklib/package.py index 0042b18de8c8a8..564ae8a0f37536 100644 --- a/var/spack/repos/builtin/packages/cracklib/package.py +++ b/var/spack/repos/builtin/packages/cracklib/package.py @@ -22,6 +22,8 @@ class Cracklib(AutotoolsPackage): version("2.9.6", sha256="7cd2c01365f199c466b490ad2585beccbe0108ccd606c1bcc6c1e52800e627fe") version("2.9.5", sha256="b3fcf3fba2f4566f8eb2b79502d1a66198a71c557d2ab1011c78001489f0fe26") + depends_on("c", type="build") # generated + depends_on("python", type=("build", "run")) depends_on("gettext") depends_on("fmt") diff --git a/var/spack/repos/builtin/packages/cram/package.py b/var/spack/repos/builtin/packages/cram/package.py index 2aceaad214a891..0869adb08d09ed 100644 --- a/var/spack/repos/builtin/packages/cram/package.py +++ b/var/spack/repos/builtin/packages/cram/package.py @@ -14,6 +14,9 @@ class Cram(CMakePackage): version("1.0.1", sha256="985888018f6481c3e9ab4f1d1788e25725d8b92a1cf52b1366ee93793614709a") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + extends("python") depends_on("python@2.7:") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/creduce/package.py b/var/spack/repos/builtin/packages/creduce/package.py index d06a171995fb8b..cac9da7e6dc1eb 100644 --- a/var/spack/repos/builtin/packages/creduce/package.py +++ b/var/spack/repos/builtin/packages/creduce/package.py @@ -20,6 +20,9 @@ class Creduce(CMakePackage): version("develop", branch="master") version("2.10.0", tag="creduce-2.10.0", commit="fb91843c547794f165e5764a003166191e6c6643") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("flex") depends_on("libxml2") depends_on("llvm") diff --git a/var/spack/repos/builtin/packages/crmc/package.py b/var/spack/repos/builtin/packages/crmc/package.py index 0edb7bf18b53eb..3f4d4b77675164 100644 --- a/var/spack/repos/builtin/packages/crmc/package.py +++ b/var/spack/repos/builtin/packages/crmc/package.py @@ -23,6 +23,10 @@ class Crmc(CMakePackage): version("1.5.7", sha256="ec7456c08b60a40665e9ff31d6029e0151b0cdf2ca98bd09a8b570b1e33f6053") version("1.5.6", sha256="a546a9352dcbdb8a1df3d63530eacf16f8b64a190e224b72afd434f78388a8a0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("hepmc") depends_on("boost+filesystem+iostreams+system+program_options") depends_on("root") diff --git a/var/spack/repos/builtin/packages/cronie/package.py b/var/spack/repos/builtin/packages/cronie/package.py index 72ddb7c57f3a47..d9ac89f90cb65e 100644 --- a/var/spack/repos/builtin/packages/cronie/package.py +++ b/var/spack/repos/builtin/packages/cronie/package.py @@ -19,6 +19,8 @@ class Cronie(AutotoolsPackage): version("1.6.1", sha256="1ddbc8f8d07dfe1d45998b0a0cbd9a216cd4d7bc64d1626b2bc8b3a69e4641d1") version("1.5.5", sha256="22c2a2b22577c0f776c1268d0e0f305c5c041e10155022a345b43b665da0ffe9") + depends_on("c", type="build") # generated + def autoreconf(self, spec, prefix): bash = which("bash") bash("./autogen.sh") diff --git a/var/spack/repos/builtin/packages/crosstool-ng/package.py b/var/spack/repos/builtin/packages/crosstool-ng/package.py index 4c9865b35906f4..bb5c0b3f128e17 100644 --- a/var/spack/repos/builtin/packages/crosstool-ng/package.py +++ b/var/spack/repos/builtin/packages/crosstool-ng/package.py @@ -20,6 +20,8 @@ class CrosstoolNg(AutotoolsPackage): version("1.26.0", sha256="e8ce69c5c8ca8d904e6923ccf86c53576761b9cf219e2e69235b139c8e1b74fc") version("1.25.0", sha256="68162f342243cd4189ed7c1f4e3bb1302caa3f2cbbf8331879bd01fe06c60cd3") + depends_on("c", type="build") # generated + depends_on("ncurses") depends_on("bash", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/crtm/package.py b/var/spack/repos/builtin/packages/crtm/package.py index 753bcc44689a32..d876a245dd034c 100644 --- a/var/spack/repos/builtin/packages/crtm/package.py +++ b/var/spack/repos/builtin/packages/crtm/package.py @@ -78,6 +78,8 @@ class Crtm(CMakePackage): # Uses the tip of REL-2.3.0_emc branch version("2.3.0", commit="99760e693ce3b90a3b3b0e97d80972b4dfb61196") + depends_on("fortran", type="build") # generated + def url_for_version(self, version): if self.spec.satisfies("@v3") or version >= Version("3.0.0"): return f"https://github.com/JCSDA/crtmv3/archive/refs/tags/{version}.tar.gz" diff --git a/var/spack/repos/builtin/packages/crunch/package.py b/var/spack/repos/builtin/packages/crunch/package.py index 35c0195ef5a6bf..bc9406bdd75cad 100644 --- a/var/spack/repos/builtin/packages/crunch/package.py +++ b/var/spack/repos/builtin/packages/crunch/package.py @@ -21,6 +21,8 @@ class Crunch(CMakePackage): # No stable releases since 2012 version("master", branch="build_fixes") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.5:", type="build") conflicts("platform=darwin") diff --git a/var/spack/repos/builtin/packages/cryptsetup/package.py b/var/spack/repos/builtin/packages/cryptsetup/package.py index 223726dc1ebfff..7c6a7bc814b809 100644 --- a/var/spack/repos/builtin/packages/cryptsetup/package.py +++ b/var/spack/repos/builtin/packages/cryptsetup/package.py @@ -23,6 +23,8 @@ class Cryptsetup(AutotoolsPackage): version("2.2.2", sha256="2af0ec9551ab9c870074cae9d3f68d82cab004f4095fa89db0e4413713424a46") version("2.2.1", sha256="94e79a31ed38bdb0acd9af7ccca1605a2ac62ca850ed640202876b1ee11c1c61") + depends_on("c", type="build") # generated + depends_on("uuid", type=("build", "link")) depends_on("lvm2", type=("build", "link")) depends_on("popt", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/csa-c/package.py b/var/spack/repos/builtin/packages/csa-c/package.py index ec189e26f9c011..f5fd07a95979fa 100644 --- a/var/spack/repos/builtin/packages/csa-c/package.py +++ b/var/spack/repos/builtin/packages/csa-c/package.py @@ -16,4 +16,6 @@ class CsaC(AutotoolsPackage): version("master", branch="master") + depends_on("c", type="build") # generated + configure_directory = "csa" diff --git a/var/spack/repos/builtin/packages/cscope/package.py b/var/spack/repos/builtin/packages/cscope/package.py index 6b6ebfd0f5dee0..0c43bf4fc37f95 100644 --- a/var/spack/repos/builtin/packages/cscope/package.py +++ b/var/spack/repos/builtin/packages/cscope/package.py @@ -17,6 +17,8 @@ class Cscope(AutotoolsPackage): version("15.9", sha256="c5505ae075a871a9cd8d9801859b0ff1c09782075df281c72c23e72115d9f159") version("15.8b", sha256="4889d091f05aa0845384b1e4965aa31d2b20911fb2c001b2cdcffbcb7212d3af") + depends_on("c", type="build") # generated + depends_on("ncurses") depends_on("flex", type="build") diff --git a/var/spack/repos/builtin/packages/csdp/package.py b/var/spack/repos/builtin/packages/csdp/package.py index 22333049dd5b5c..128f6977c14082 100644 --- a/var/spack/repos/builtin/packages/csdp/package.py +++ b/var/spack/repos/builtin/packages/csdp/package.py @@ -18,6 +18,8 @@ class Csdp(MakefilePackage): version("6.1.1", sha256="0558a46ac534e846bf866b76a9a44e8a854d84558efa50988ffc092f99a138b9") + depends_on("c", type="build") # generated + depends_on("atlas") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/ctffind/package.py b/var/spack/repos/builtin/packages/ctffind/package.py index 0cf000dfa22418..03199ede884968 100644 --- a/var/spack/repos/builtin/packages/ctffind/package.py +++ b/var/spack/repos/builtin/packages/ctffind/package.py @@ -25,6 +25,8 @@ class Ctffind(AutotoolsPackage): extension="tar.gz", ) + depends_on("cxx", type="build") # generated + def url_for_version(self, version): url = "https://grigoriefflab.umassmed.edu/system/tdf?path=ctffind-{0}.tar.gz&file=1&type=node&id=26" return url.format(version) diff --git a/var/spack/repos/builtin/packages/ctpl/package.py b/var/spack/repos/builtin/packages/ctpl/package.py index 0971f1decbda21..d44984013b80d6 100644 --- a/var/spack/repos/builtin/packages/ctpl/package.py +++ b/var/spack/repos/builtin/packages/ctpl/package.py @@ -17,6 +17,8 @@ class Ctpl(AutotoolsPackage): version("0.3", sha256="034875ba8e1ce87b7ee85bc7146a6a2b2a6ac0518482b36d65eb67dd09c03d0a") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/ctre/package.py b/var/spack/repos/builtin/packages/ctre/package.py index 81c8feab684c26..7c1760fdd8ded3 100644 --- a/var/spack/repos/builtin/packages/ctre/package.py +++ b/var/spack/repos/builtin/packages/ctre/package.py @@ -26,3 +26,5 @@ class Ctre(CMakePackage): version("2.6.3", sha256="bdf668b02f0b986dfc0fbc6066f446e2d0a9faa3347f00f53b19131297c84c4a") version("2.6.2", sha256="e82c87aeb0fc3f21ae8a2d3ffce2b1ef970fbea9c3e846ef1a6e5f81790f2946") version("2.6.1", sha256="58c623d9ea1cb7890aaa63c1a87f1a60a8acf31dbd4061ab672bea287ed689ac") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/cuba/package.py b/var/spack/repos/builtin/packages/cuba/package.py index b70f294614b7db..04a03e30870d25 100644 --- a/var/spack/repos/builtin/packages/cuba/package.py +++ b/var/spack/repos/builtin/packages/cuba/package.py @@ -20,4 +20,8 @@ class Cuba(AutotoolsPackage): version("4.2.2", sha256="8d9f532fd2b9561da2272c156ef7be5f3960953e4519c638759f1b52fe03ed52") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + parallel = False diff --git a/var/spack/repos/builtin/packages/cube-blade/package.py b/var/spack/repos/builtin/packages/cube-blade/package.py index 7e1c8ae00caee0..910148019a78a9 100644 --- a/var/spack/repos/builtin/packages/cube-blade/package.py +++ b/var/spack/repos/builtin/packages/cube-blade/package.py @@ -16,6 +16,8 @@ class CubeBlade(AutotoolsPackage): version("0.2", sha256="ab3c5bbca79e2ec599166e75b3c96a8f6a18b3064414fc39e56f78aaae9c165c") + depends_on("cxx", type="build") # generated + depends_on("cube@4.5:") depends_on("cubelib@4.5:") depends_on("qt@5.9.1:") diff --git a/var/spack/repos/builtin/packages/cube/package.py b/var/spack/repos/builtin/packages/cube/package.py index be571342821ed1..6b1f619db3232c 100644 --- a/var/spack/repos/builtin/packages/cube/package.py +++ b/var/spack/repos/builtin/packages/cube/package.py @@ -34,6 +34,9 @@ class Cube(AutotoolsPackage): version("4.3.3", sha256="ce8e1bff5a208fe5700a0194170be85bbd8f554e1aa1514b4afc5129326c7f83") version("4.2.3", sha256="b30c6998bcc54f795bcd6de3cfbef9c3cec094f782820174b533f628b0e60765") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("gui", default=True, description="Build Cube GUI") patch("qt-version.patch", when="@4.3.0:4.3 +gui") diff --git a/var/spack/repos/builtin/packages/cubelib/package.py b/var/spack/repos/builtin/packages/cubelib/package.py index c3c4734153fa53..059f03c5320d36 100644 --- a/var/spack/repos/builtin/packages/cubelib/package.py +++ b/var/spack/repos/builtin/packages/cubelib/package.py @@ -46,6 +46,9 @@ class Cubelib(AutotoolsPackage): deprecated="true", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/cubew/package.py b/var/spack/repos/builtin/packages/cubew/package.py index a358aacd6ffd2b..0fe52ca9752ff5 100644 --- a/var/spack/repos/builtin/packages/cubew/package.py +++ b/var/spack/repos/builtin/packages/cubew/package.py @@ -46,6 +46,9 @@ class Cubew(AutotoolsPackage): deprecated="true", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/cubist/package.py b/var/spack/repos/builtin/packages/cubist/package.py index bd6fbc94bbf4ec..cbc74c64360448 100644 --- a/var/spack/repos/builtin/packages/cubist/package.py +++ b/var/spack/repos/builtin/packages/cubist/package.py @@ -23,6 +23,8 @@ class Cubist(MakefilePackage): version("2.07", sha256="f2b20807cd3275e775c42263a4efd3f50df6e495a8b6dc8989ea2d41b973ac1a") + depends_on("c", type="build") # generated + def edit(self, spec, prefix): makefile = FileFilter("Makefile") makefile.filter("SHELL .*", "SHELL = /bin/bash") diff --git a/var/spack/repos/builtin/packages/cuda-memtest/package.py b/var/spack/repos/builtin/packages/cuda-memtest/package.py index 90e218b126b5b0..5bc671c6610a89 100644 --- a/var/spack/repos/builtin/packages/cuda-memtest/package.py +++ b/var/spack/repos/builtin/packages/cuda-memtest/package.py @@ -24,6 +24,8 @@ class CudaMemtest(CMakePackage): version("master", branch="dev") + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8.5:", type="build") # depends_on('nvml', when='+nvml') depends_on("cuda@5.0:") diff --git a/var/spack/repos/builtin/packages/cuda/package.py b/var/spack/repos/builtin/packages/cuda/package.py index 1cf2f0b823e696..dce84006cf45d1 100644 --- a/var/spack/repos/builtin/packages/cuda/package.py +++ b/var/spack/repos/builtin/packages/cuda/package.py @@ -25,6 +25,26 @@ preferred_ver = "11.8.0" _versions = { + "12.5.1": { + "Linux-aarch64": ( + "353e8abc52ca80adf05002b775c7b3a2d2feefcf1c25ae13f8757f9a11efba3e", + "https://developer.download.nvidia.com/compute/cuda/12.5.1/local_installers/cuda_12.5.1_555.42.06_linux_sbsa.run", + ), + "Linux-x86_64": ( + "b5e0a779e089c86610051141c4cf498beef431858ec63398107391727ecbdb04", + "https://developer.download.nvidia.com/compute/cuda/12.5.1/local_installers/cuda_12.5.1_555.42.06_linux.run", + ), + }, + "12.5.0": { + "Linux-aarch64": ( + "e7b864c9ae27cef77cafc78614ec33cbb0a27606af9375deffa09c4269a07f04", + "https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.42.02_linux_sbsa.run", + ), + "Linux-x86_64": ( + "90fcc7df48226434065ff12a4372136b40b9a4cbf0c8602bb763b745f22b7a99", + "https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.42.02_linux.run", + ), + }, "12.4.1": { "Linux-aarch64": ( "b0fbc77effa225498974625b6b08b3f6eff4a37e379f5b60f1d3827b215ad19b", @@ -603,7 +623,7 @@ class Cuda(Package): homepage = "https://developer.nvidia.com/cuda-zone" - maintainers("ax3l", "Rombur") + maintainers("ax3l", "Rombur", "pauleonix") executables = ["^nvcc$"] skip_version_audit = ["platform=darwin", "platform=windows"] diff --git a/var/spack/repos/builtin/packages/cudd/package.py b/var/spack/repos/builtin/packages/cudd/package.py index 8c89391f65c054..c060514c476a5b 100644 --- a/var/spack/repos/builtin/packages/cudd/package.py +++ b/var/spack/repos/builtin/packages/cudd/package.py @@ -19,3 +19,6 @@ class Cudd(AutotoolsPackage): maintainers("davekeeshan") version("3.0.0", sha256="b8e966b4562c96a03e7fbea239729587d7b395d53cadcc39a7203b49cf7eeb69") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/cudnn/package.py b/var/spack/repos/builtin/packages/cudnn/package.py index 5b5c10c44e79b7..38dc8c88a3a0e0 100644 --- a/var/spack/repos/builtin/packages/cudnn/package.py +++ b/var/spack/repos/builtin/packages/cudnn/package.py @@ -9,6 +9,14 @@ from spack.package import * _versions = { + # cuDNN 9.2.0 + "9.2.0.82-12": { + "Linux-x86_64": "1362b4d437e37e92c9814c3b4065db5106c2e03268e22275a5869e968cee7aa8", + "Linux-aarch64": "24cc2a0308dfe412c02c7d41d4b07ec12dacb021ebf8c719de38eb77d22f68c1", + }, + "9.2.0.82-11": { + "Linux-x86_64": "99dcb3fa2bf7eed7f35b0f8e58e7d1f04d9a52e01e382efc1de16fed230d3b26" + }, # cuDNN 8.9.7 "8.9.7.29-12": { "Linux-x86_64": "475333625c7e42a7af3ca0b2f7506a106e30c93b1aa0081cd9c13efb6e21e3bb", diff --git a/var/spack/repos/builtin/packages/cunit/package.py b/var/spack/repos/builtin/packages/cunit/package.py index c1e7eec160e791..ab75d9f13c5b58 100644 --- a/var/spack/repos/builtin/packages/cunit/package.py +++ b/var/spack/repos/builtin/packages/cunit/package.py @@ -16,6 +16,9 @@ class Cunit(AutotoolsPackage): version("2.1-3", sha256="f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/cupla/package.py b/var/spack/repos/builtin/packages/cupla/package.py index abfd480d5f7126..b9db779b010fb6 100644 --- a/var/spack/repos/builtin/packages/cupla/package.py +++ b/var/spack/repos/builtin/packages/cupla/package.py @@ -20,6 +20,8 @@ class Cupla(Package): version("master", branch="master") version("0.3.0", sha256="035512517167967697e73544c788453de5e3f0bc4e8d4864b41b2e287365cbaf") + depends_on("cxx", type="build") # generated + depends_on("alpaka@0.6.0:0.7") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/cups/package.py b/var/spack/repos/builtin/packages/cups/package.py index 6d4bf76626876e..22ce987f83992a 100644 --- a/var/spack/repos/builtin/packages/cups/package.py +++ b/var/spack/repos/builtin/packages/cups/package.py @@ -21,6 +21,9 @@ class Cups(AutotoolsPackage): version("2.3.3", sha256="261fd948bce8647b6d5cb2a1784f0c24cc52b5c4e827b71d726020bcc502f3ee") version("2.2.3", sha256="66701fe15838f2c892052c913bde1ba106bbee2e0a953c955a62ecacce76885f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("gnutls") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/curl/package.py b/var/spack/repos/builtin/packages/curl/package.py index d45744d52606e0..fa8316e9286a9c 100644 --- a/var/spack/repos/builtin/packages/curl/package.py +++ b/var/spack/repos/builtin/packages/curl/package.py @@ -37,7 +37,6 @@ class Curl(NMakePackage, AutotoolsPackage): version("8.4.0", sha256="e5250581a9c032b1b6ed3cf2f9c114c811fc41881069e9892d115cc73f9e88c6") # Deprecated versions due to CVEs - # CVE-2023-38545 version( "8.1.2", sha256="b54974d32fd610acace92e3df1f643144015ac65847f0a041fdc17db6f43f243", @@ -48,204 +47,21 @@ class Curl(NMakePackage, AutotoolsPackage): sha256="9b6b1e96b748d04b968786b6bdf407aa5c75ab53a3d37c1c8c81cdb736555ccf", deprecated=True, ) + # needed by r@:4.2 version( "7.88.1", sha256="8224b45cce12abde039c12dc0711b7ea85b104b9ad534d6e4c5b4e188a61c907", deprecated=True, ) - # https://nvd.nist.gov/vuln/detail/CVE-2022-43551 - version( - "7.87.0", - sha256="5d6e128761b7110946d1276aff6f0f266f2b726f5e619f7e0a057a474155f307", - deprecated=True, - ) - # https://nvd.nist.gov/vuln/detail/CVE-2022-32221 - version( - "7.86.0", - sha256="f5ca69db03eea17fa8705bdfb1a9f58d76a46c9010518109bb38f313137e0a28", - deprecated=True, - ) - version( - "7.85.0", - sha256="21a7e83628ee96164ac2b36ff6bf99d467c7b0b621c1f7e317d8f0d96011539c", - deprecated=True, - ) - version( - "7.84.0", - sha256="702fb26e73190a3bd77071aa146f507b9817cc4dfce218d2ab87f00cd3bc059d", - deprecated=True, - ) - # https://nvd.nist.gov/vuln/detail/CVE-2022-32206 - version( - "7.83.0", - sha256="247c7ec7521c4258e65634e529270d214fe32969971cccb72845e7aa46831f96", - deprecated=True, - ) - version( - "7.82.0", - sha256="46d9a0400a33408fd992770b04a44a7434b3036f2e8089ac28b57573d59d371f", - deprecated=True, - ) - version( - "7.81.0", - sha256="1e7a38d7018ec060f1f16df839854f0889e94e122c4cfa5d3a37c2dc56f1e258", - deprecated=True, - ) - version( - "7.80.0", - sha256="dd0d150e49cd950aff35e16b628edf04927f0289df42883750cf952bb858189c", - deprecated=True, - ) - version( - "7.79.1", - sha256="de62c4ab9a9316393962e8b94777a570bb9f71feb580fb4475e412f2f9387851", - deprecated=True, - ) - version( - "7.79.0", - sha256="d607a677f473f79f96c964100327125a6204a39d835dc00dab7fc0129b959f42", - deprecated=True, - ) - version( - "7.78.0", - sha256="98530b317dc95ccb324bbe4f834f07bb642fbc393b794ddf3434f246a71ea44a", - deprecated=True, - ) - version( - "7.77.0", - sha256="6c0c28868cb82593859fc43b9c8fdb769314c855c05cf1b56b023acf855df8ea", - deprecated=True, - ) - version( - "7.76.1", - sha256="7a8e184d7d31312c4ebf6a8cb59cd757e61b2b2833a9ed4f9bf708066e7695e9", - deprecated=True, - ) - version( - "7.76.0", - sha256="e29bfe3633701590d75b0071bbb649ee5ca4ca73f00649268bd389639531c49a", - deprecated=True, - ) - version( - "7.75.0", - sha256="50552d4501c178e4cc68baaecc487f466a3d6d19bbf4e50a01869effb316d026", - deprecated=True, - ) - version( - "7.74.0", - sha256="0f4d63e6681636539dc88fa8e929f934cd3a840c46e0bf28c73be11e521b77a5", - deprecated=True, - ) - version( - "7.73.0", - sha256="cf34fe0b07b800f1c01a499a6e8b2af548f6d0e044dca4a29d88a4bee146d131", - deprecated=True, - ) - version( - "7.72.0", - sha256="ad91970864102a59765e20ce16216efc9d6ad381471f7accceceab7d905703ef", - deprecated=True, - ) - version( - "7.71.0", - sha256="600f00ac2481a89548a4141ddf983fd9386165e1960bac91d0a1c81dca5dd341", - deprecated=True, - ) - version( - "7.68.0", - sha256="207f54917dd6a2dc733065ccf18d61bb5bebeaceb5df49cd9445483e8623eeb9", - deprecated=True, - ) - version( - "7.64.0", - sha256="d573ba1c2d1cf9d8533fadcce480d778417964e8d04ccddcc76e591d544cf2eb", - deprecated=True, - ) + # needed by old r-curl version( "7.63.0", sha256="9bab7ed4ecff77020a312d84cc5fb7eb02d58419d218f267477a724a17fd8dd8", deprecated=True, ) - version( - "7.60.0", - sha256="897dfb2204bd99be328279f88f55b7c61592216b0542fcbe995c60aa92871e9b", - deprecated=True, - ) - version( - "7.59.0", - sha256="b5920ffd6a8c95585fb95070e0ced38322790cb335c39d0dab852d12e157b5a0", - deprecated=True, - ) - version( - "7.56.0", - sha256="de60a4725a3d461c70aa571d7d69c788f1816d9d1a8a2ef05f864ce8f01279df", - deprecated=True, - ) - version( - "7.54.0", - sha256="f50ebaf43c507fa7cc32be4b8108fa8bbd0f5022e90794388f3c7694a302ff06", - deprecated=True, - ) - version( - "7.53.1", - sha256="1c7207c06d75e9136a944a2e0528337ce76f15b9ec9ae4bb30d703b59bf530e8", - deprecated=True, - ) - version( - "7.52.1", - sha256="d16185a767cb2c1ba3d5b9096ec54e5ec198b213f45864a38b3bda4bbf87389b", - deprecated=True, - ) - version( - "7.50.3", - sha256="7b7347d976661d02c84a1f4d6daf40dee377efdc45b9e2c77dedb8acf140d8ec", - deprecated=True, - ) - version( - "7.50.2", - sha256="0c72105df4e9575d68bcf43aea1751056c1d29b1040df6194a49c5ac08f8e233", - deprecated=True, - ) - version( - "7.50.1", - sha256="3c12c5f54ccaa1d40abc65d672107dcc75d3e1fcb38c267484334280096e5156", - deprecated=True, - ) - version( - "7.49.1", - sha256="eb63cec4bef692eab9db459033f409533e6d10e20942f4b060b32819e81885f1", - deprecated=True, - ) - version( - "7.47.1", - sha256="ddc643ab9382e24bbe4747d43df189a0a6ce38fcb33df041b9cb0b3cd47ae98f", - deprecated=True, - ) - version( - "7.46.0", - sha256="b7d726cdd8ed4b6db0fa1b474a3c59ebbbe4dcd4c61ac5e7ade0e0270d3195ad", - deprecated=True, - ) - version( - "7.45.0", - sha256="65154e66b9f8a442b57c436904639507b4ac37ec13d6f8a48248f1b4012b98ea", - deprecated=True, - ) - version( - "7.44.0", - sha256="1e2541bae6582bb697c0fbae49e1d3e6fad5d05d5aa80dbd6f072e0a44341814", - deprecated=True, - ) - version( - "7.43.0", - sha256="baa654a1122530483ccc1c58cc112fec3724a82c11c6a389f1e6a37dc8858df9", - deprecated=True, - ) - version( - "7.42.1", - sha256="e2905973391ec2dfd7743a8034ad10eeb58dab8b3a297e7892a41a7999cac887", - deprecated=True, - ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated default_tls = "openssl" if sys.platform == "darwin": @@ -281,10 +97,6 @@ class Curl(NMakePackage, AutotoolsPackage): variant("librtmp", default=False, description="enable Rtmp support") variant("ldap", default=False, description="enable ldap support") variant("libidn2", default=False, description="enable libidn2 support") - for plat in ["darwin", "linux"]: - with when("platform=%s" % plat): - # curl queries pkgconfig for openssl compilation flags - depends_on("pkgconfig", type="build") variant( "libs", default="shared,static" if not is_windows else "shared", @@ -295,6 +107,10 @@ class Curl(NMakePackage, AutotoolsPackage): conflicts("platform=linux", when="tls=secure_transport", msg="Only supported on macOS") + depends_on("pkgconfig", type="build", when="platform=darwin") + depends_on("pkgconfig", type="build", when="platform=linux") + depends_on("pkgconfig", type="build", when="platform=freebsd") + depends_on("gnutls", when="tls=gnutls") depends_on("mbedtls@2: +pic", when="@7.79: tls=mbedtls") depends_on("mbedtls@:2 +pic", when="@:7.78 tls=mbedtls") diff --git a/var/spack/repos/builtin/packages/cusz/package.py b/var/spack/repos/builtin/packages/cusz/package.py index 9937734144ccc1..c6a939d1868268 100644 --- a/var/spack/repos/builtin/packages/cusz/package.py +++ b/var/spack/repos/builtin/packages/cusz/package.py @@ -24,6 +24,9 @@ class Cusz(CMakePackage, CudaPackage): version("0.3.1", commit="02be3cbd07db467decaf45ec9eb593ba6173c809") version("0.3", sha256="0feb4f7fd64879fe147624dd5ad164adf3983f79b2e0383d35724f8d185dcb11") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # these version of Cuda provide the CUB headers, but not CUB cmake configuration that we use. conflicts("^cuda@11.0.2:11.2.2") diff --git a/var/spack/repos/builtin/packages/cutlang/package.py b/var/spack/repos/builtin/packages/cutlang/package.py deleted file mode 100644 index 4a675143ad4af2..00000000000000 --- a/var/spack/repos/builtin/packages/cutlang/package.py +++ /dev/null @@ -1,40 +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 Cutlang(Package): - """CutLang is a domain specific language that aims to provide a clear, - human readable way to define analyses in high energy particle physics (HEP) - along with an interpretation framework of that language.""" - - homepage = "https://github.com/unelg/CutLang" - url = "https://github.com/unelg/CutLang/archive/refs/tags/v2.12.10.tar.gz" - maintainers("unelg", "ssekmen", "sabrivatansever") - - version( - "2.12.10", - sha256="999a2b9fdb4b7d241a6fc21c03d92deadf80ad4682f8ce677ee0fa3b24169bfd", - preferred=True, - ) - version("2.12.9", sha256="56bfb16f8ed683775fbadbca306cc09bbd65f58f42fa16d98f6d6868e8585b45") - version("2.12.8", sha256="d776198fca3c2dcb612cf3bd98f27c069187aa970b80594fdb6681e0643f5e91") - version("2.12.7", sha256="f20704abf0f4e04891eb0651f059782eb0f2652661c2c66c70c1bb6d58900380") - version("2.12.6", sha256="0fb787457466610d37d1a3f047b68e73ace81e708bd2db76eb84af5a1406377e") - version("2.12.5", sha256="eeb31be584551364569bdef8567b4910fd20be4c00bf7dcf07c8c8cbdaa2419c") - version("2.12.4", sha256="cc941c358772ada5f66bc768f71bf7841ba2c495dd2bdf132df72a509d5ccb8b") - version("2.12.3", sha256="a181fc739d13a7b187a94555b12f0b064e900b1cb69b880c69a9f2877bc5de4c") - version("2.12.2", sha256="c2dc8b841bddd58b4e41b104c72c31bb00c750f7fe07672a30c15746dea6734c") - version("2.12.1", sha256="7bd7d2e894fdc8465c89970d0011aeaaeae6ec02b4c45d6e2b9111b278ca18a9") - depends_on("root", type="build") - depends_on("flex", type="build") - depends_on("bison", type="build") - - def install(self, spec, prefix): - cmake("..", *std_cmake_args) - make() - make("install") diff --git a/var/spack/repos/builtin/packages/cutlass/package.py b/var/spack/repos/builtin/packages/cutlass/package.py index f7e67a6a582757..28f38b9517455e 100644 --- a/var/spack/repos/builtin/packages/cutlass/package.py +++ b/var/spack/repos/builtin/packages/cutlass/package.py @@ -44,6 +44,8 @@ class Cutlass(CMakePackage, CudaPackage): version("1.1.0", sha256="7ae0da2257efa7f4ad9c224bce0d10cb1a5580df6b7010d832cf0a11def4627d") version("1.0.1", sha256="2adec90497141893ca53ac945b88d5881610ed3347166b36be4f72449b5342a0") version("1.0.0", sha256="c7a16d349e11d85891cb91ece97d5bdbc4b140f614a0265732c2dc81a806bd98") + + depends_on("cxx", type="build") # generated variant("cuda", default=True, description="Build with CUDA") conflicts("~cuda", msg="Cutlass requires CUDA") conflicts( diff --git a/var/spack/repos/builtin/packages/cvector/package.py b/var/spack/repos/builtin/packages/cvector/package.py index 9a65d39edf257e..71bf37c1b8efcd 100644 --- a/var/spack/repos/builtin/packages/cvector/package.py +++ b/var/spack/repos/builtin/packages/cvector/package.py @@ -16,6 +16,8 @@ class Cvector(MakefilePackage): version("1.0.3", sha256="d3fa92de3cd5ba8697abdbb52080248b2c252a81cf40a8ec639be301518d0ce3") + depends_on("c", type="build") # generated + depends_on("libtool", type="build") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/cvise/package.py b/var/spack/repos/builtin/packages/cvise/package.py index 945fc4d08f41db..3b04c5d61f5c3f 100644 --- a/var/spack/repos/builtin/packages/cvise/package.py +++ b/var/spack/repos/builtin/packages/cvise/package.py @@ -20,6 +20,9 @@ class Cvise(CMakePackage): version("2.10.0", tag="v2.10.0", commit="c8606497e354ddab273745cf823823bdd3e86bd8") version("2.7.0", tag="v2.7.0", commit="d9e4a50514d9931b2a1293755a7e96e0f9520032") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("pytest", default=False, description="Add py-pytest as dependency") variant("colordiff", default=False, description="Add colordiff support") diff --git a/var/spack/repos/builtin/packages/cvs/package.py b/var/spack/repos/builtin/packages/cvs/package.py index 867da627895f17..1e4da0d450548a 100644 --- a/var/spack/repos/builtin/packages/cvs/package.py +++ b/var/spack/repos/builtin/packages/cvs/package.py @@ -18,6 +18,9 @@ class Cvs(AutotoolsPackage, GNUMirrorPackage): version("1.12.13", sha256="78853613b9a6873a30e1cc2417f738c330e75f887afdaf7b3d0800cb19ca515e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # To avoid the problem: The use of %n in format strings in writable memory # may crash the program on glibc2 systems from 2004-10-18 or newer. patch( diff --git a/var/spack/repos/builtin/packages/cxxopts/package.py b/var/spack/repos/builtin/packages/cxxopts/package.py index be90a56cefc4bb..2f9bb7ba0de7c5 100644 --- a/var/spack/repos/builtin/packages/cxxopts/package.py +++ b/var/spack/repos/builtin/packages/cxxopts/package.py @@ -30,6 +30,8 @@ class Cxxopts(CMakePackage): version("1.4.1", sha256="c5ccfe99bd3db0604d077c968b39a42d61333a64d171fe84d7037d6c0dcc996d") version("1.4.0", sha256="60d4a482ec603ef4efa2603978596716884b33e24d39af6ddca52b4a30f7107b") + depends_on("cxx", type="build") # generated + variant("unicode", default=False, description="Enables unicode support using the ICU library.") depends_on("cmake@3.1.0:", type="build") diff --git a/var/spack/repos/builtin/packages/cxxtest/package.py b/var/spack/repos/builtin/packages/cxxtest/package.py index 162d85432656df..386894276a6a6c 100644 --- a/var/spack/repos/builtin/packages/cxxtest/package.py +++ b/var/spack/repos/builtin/packages/cxxtest/package.py @@ -16,5 +16,8 @@ class Cxxtest(Package): version("4.4", sha256="1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): install_tree(self.stage.source_path, prefix) diff --git a/var/spack/repos/builtin/packages/cyrus-sasl/package.py b/var/spack/repos/builtin/packages/cyrus-sasl/package.py index a464055d49aa68..f4f92d0a6dc73e 100644 --- a/var/spack/repos/builtin/packages/cyrus-sasl/package.py +++ b/var/spack/repos/builtin/packages/cyrus-sasl/package.py @@ -23,6 +23,8 @@ class CyrusSasl(AutotoolsPackage): version("2.1.24", sha256="1df15c492f7ecb90be49531a347b3df21b041c2e0325dcc4fc5a6e98384c40dd") version("2.1.23", sha256="b1ec43f62d68446a6a5879925c63d94e26089c5a46cd83e061dd685d014c7d1f") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/czmq/package.py b/var/spack/repos/builtin/packages/czmq/package.py index 13c79ac8e0b6f7..9f8805bed9e8f4 100644 --- a/var/spack/repos/builtin/packages/czmq/package.py +++ b/var/spack/repos/builtin/packages/czmq/package.py @@ -19,6 +19,9 @@ class Czmq(AutotoolsPackage): version("4.0.2", sha256="794f80af7392ec8d361ad69646fc20aaa284d23fef92951334009771a732c810") version("3.0.2", sha256="e56f8498daf70310b31c42669b2f9b753c5e747eafaff6d4fdac26d72a474b27") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libtool", type="build") depends_on("automake", type="build") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/daemonize/package.py b/var/spack/repos/builtin/packages/daemonize/package.py index 05aefdc1e6b394..bee632b9f824c1 100644 --- a/var/spack/repos/builtin/packages/daemonize/package.py +++ b/var/spack/repos/builtin/packages/daemonize/package.py @@ -18,6 +18,8 @@ class Daemonize(Package): version("master", branch="master") version("1.7.8", sha256="20c4fc9925371d1ddf1b57947f8fb93e2036eb9ccc3b43a1e3678ea8471c4c60") + depends_on("c", type="build") # generated + def install(self, spec, prefix): configure("--prefix={0}".format(prefix)) make() diff --git a/var/spack/repos/builtin/packages/dakota/package.py b/var/spack/repos/builtin/packages/dakota/package.py index a4666412681109..860ca0f528d915 100644 --- a/var/spack/repos/builtin/packages/dakota/package.py +++ b/var/spack/repos/builtin/packages/dakota/package.py @@ -58,6 +58,10 @@ class Dakota(CMakePackage): version("6.9", sha256="989b689278964b96496e3058b8ef5c2724d74bcd232f898fe450c51eba7fe0c2") version("6.3", sha256="0fbc310105860d77bb5c96de0e8813d75441fca1a5e6dfaf732aa095c4488d52") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries") variant("mpi", default=True, description="Activates MPI support") variant("python", default=True, description="Add Python dependency for dakota.interfacing API") diff --git a/var/spack/repos/builtin/packages/daligner/package.py b/var/spack/repos/builtin/packages/daligner/package.py index d7763a0a0c013e..1f4ff5ddbdb5fb 100644 --- a/var/spack/repos/builtin/packages/daligner/package.py +++ b/var/spack/repos/builtin/packages/daligner/package.py @@ -14,6 +14,8 @@ class Daligner(MakefilePackage): version("1.0", sha256="2fb03616f0d60df767fbba7c8f0021ec940c8d822ab2011cf58bd56a8b9fb414") + depends_on("c", type="build") # generated + def edit(self, spec, prefix): makefile = FileFilter("Makefile") kwargs = {"ignore_absent": False, "backup": False, "string": True} diff --git a/var/spack/repos/builtin/packages/dalton/package.py b/var/spack/repos/builtin/packages/dalton/package.py index a911d5e18c286f..5b658f865b589c 100644 --- a/var/spack/repos/builtin/packages/dalton/package.py +++ b/var/spack/repos/builtin/packages/dalton/package.py @@ -27,6 +27,10 @@ class Dalton(CMakePackage): "2018.2", tag="2018.2", commit="4aa945ecd235fbf67ed0c1609617c553ef40be89", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "build_type", default="Release", diff --git a/var/spack/repos/builtin/packages/damaris/package.py b/var/spack/repos/builtin/packages/damaris/package.py index 6953292e63d2c3..3d1221dd50215a 100644 --- a/var/spack/repos/builtin/packages/damaris/package.py +++ b/var/spack/repos/builtin/packages/damaris/package.py @@ -18,6 +18,7 @@ class Damaris(CMakePackage): license("LGPL-3.0-or-later") version("master", branch="master") + version("1.11.0", tag="v1.11.0", commit="1aee2a8971584712d81323d77f9805448fe54947") version("1.10.0", tag="v1.10.0", commit="4e6b2641be1f7ded379312a8e7f4644ebe009ec9") version("1.9.2", tag="v1.9.2", commit="22c146b4b4ca047d4d36fd904d248e0280b3c0ea") version("1.9.1", tag="v1.9.1", commit="2fe83f587837b7ad0b5c187b8ff453f7d3ad2c18") @@ -43,6 +44,10 @@ class Damaris(CMakePackage): "1.3.1", tag="v1.3.1", commit="6cee3690fa7d387acc8f5f650a7b019e13b90284", deprecated=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=True, description="Enables Fortran support") variant("hdf5", default=False, description="Enables the HDF5 storage plugin") variant("static", default=False, description="Builds a static version of the library") diff --git a/var/spack/repos/builtin/packages/damask-grid/package.py b/var/spack/repos/builtin/packages/damask-grid/package.py index 1335c01215741e..db73d936b1cb0e 100644 --- a/var/spack/repos/builtin/packages/damask-grid/package.py +++ b/var/spack/repos/builtin/packages/damask-grid/package.py @@ -36,6 +36,9 @@ class DamaskGrid(CMakePackage): "3.0.0-alpha4", sha256="0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493" ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("petsc@3.20.3:3.21", when="@3.0.0-beta") depends_on("petsc@3.20.2:3.21", when="@3.0.0-alpha8") depends_on("petsc@3.17.1:3.18", when="@3.0.0-alpha7") diff --git a/var/spack/repos/builtin/packages/damask-mesh/package.py b/var/spack/repos/builtin/packages/damask-mesh/package.py index f39f30de148326..b30ed5a0533439 100644 --- a/var/spack/repos/builtin/packages/damask-mesh/package.py +++ b/var/spack/repos/builtin/packages/damask-mesh/package.py @@ -36,6 +36,9 @@ class DamaskMesh(CMakePackage): "3.0.0-alpha4", sha256="0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493" ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("petsc@3.20.3:3.21", when="@3.0.0-beta") depends_on("petsc@3.20.2:3.21", when="@3.0.0-alpha8") depends_on("petsc@3.17.1:3.18", when="@3.0.0-alpha7") diff --git a/var/spack/repos/builtin/packages/damselfly/package.py b/var/spack/repos/builtin/packages/damselfly/package.py index 74b8a078ad95e0..bccbeda6c83a79 100644 --- a/var/spack/repos/builtin/packages/damselfly/package.py +++ b/var/spack/repos/builtin/packages/damselfly/package.py @@ -14,5 +14,8 @@ class Damselfly(CMakePackage): version("1.0", sha256="560e1b800c9036766396a1033c00914bd8d181b911e87140c3ac8879baf6545a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@2.6:", type="build") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/daos/package.py b/var/spack/repos/builtin/packages/daos/package.py index 87bbfe86622247..ca9ce746fd2ccd 100644 --- a/var/spack/repos/builtin/packages/daos/package.py +++ b/var/spack/repos/builtin/packages/daos/package.py @@ -21,6 +21,9 @@ class Daos(SConsPackage): version( "2.2.0", tag="v2.2.0", commit="d2a1f2790c946659c9398926254e6203fd957b7c", submodules=True ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated variant( "debug", default=False, description="Enable debugging info and strict compile warnings" ) @@ -36,7 +39,7 @@ class Daos(SConsPackage): depends_on("isa-l-crypto@2.23.0:") depends_on("libfabric@1.15.1:") depends_on("libfuse@3.6.1:") - depends_on("libuuid") + depends_on("uuid") depends_on("libunwind") depends_on("libyaml") depends_on("mercury@2.2.0:+boostsys") diff --git a/var/spack/repos/builtin/packages/darshan-runtime/package.py b/var/spack/repos/builtin/packages/darshan-runtime/package.py index 1dfa9ca9f43fbd..54d65cf7474481 100644 --- a/var/spack/repos/builtin/packages/darshan-runtime/package.py +++ b/var/spack/repos/builtin/packages/darshan-runtime/package.py @@ -50,6 +50,10 @@ class DarshanRuntime(AutotoolsPackage): version("3.1.0", sha256="b847047c76759054577823fbe21075cfabb478cdafad341d480274fb1cef861c") version("3.0.0", sha256="95232710f5631bbf665964c0650df729c48104494e887442596128d189da43e0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi", when="+mpi") depends_on("zlib-api") depends_on("hdf5", when="+hdf5") diff --git a/var/spack/repos/builtin/packages/darshan-util/package.py b/var/spack/repos/builtin/packages/darshan-util/package.py index b3c20ae1938ee6..53899df259b10c 100644 --- a/var/spack/repos/builtin/packages/darshan-util/package.py +++ b/var/spack/repos/builtin/packages/darshan-util/package.py @@ -46,6 +46,10 @@ class DarshanUtil(AutotoolsPackage): version("3.1.0", sha256="b847047c76759054577823fbe21075cfabb478cdafad341d480274fb1cef861c") version("3.0.0", sha256="95232710f5631bbf665964c0650df729c48104494e887442596128d189da43e0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("bzip2", default=False, description="Enable bzip2 compression") variant( "apmpi", diff --git a/var/spack/repos/builtin/packages/dash/package.py b/var/spack/repos/builtin/packages/dash/package.py index b5fe8a7cd19830..791bfc7f7582a3 100644 --- a/var/spack/repos/builtin/packages/dash/package.py +++ b/var/spack/repos/builtin/packages/dash/package.py @@ -18,6 +18,8 @@ class Dash(AutotoolsPackage): version("0.5.12", sha256="0d632f6b945058d84809cac7805326775bd60cb4a316907d0bd4228ff7107154") version("0.5.9.1", sha256="3f747013a20a3a9d2932be1a6dd1b002ca5649849b649be0af8a8da80bd8a918") + depends_on("c", type="build") # generated + depends_on("libedit", type="link") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/datamash/package.py b/var/spack/repos/builtin/packages/datamash/package.py index c36f9e83e6a104..dec03d20f2f291 100644 --- a/var/spack/repos/builtin/packages/datamash/package.py +++ b/var/spack/repos/builtin/packages/datamash/package.py @@ -23,4 +23,6 @@ class Datamash(AutotoolsPackage, GNUMirrorPackage): version("1.0.6", sha256="0154c25c45b5506b6d618ca8e18d0ef093dac47946ac0df464fb21e77b504118") version("1.0.5", sha256="cb7c0b7bf654eea5bb80f10c1710c8dffab8106549fd6b4341cba140e15a9938") + depends_on("c", type="build") # generated + build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/datatransferkit/package.py b/var/spack/repos/builtin/packages/datatransferkit/package.py index dbef82bcbe8def..cd68df4ede6e97 100644 --- a/var/spack/repos/builtin/packages/datatransferkit/package.py +++ b/var/spack/repos/builtin/packages/datatransferkit/package.py @@ -26,6 +26,10 @@ class Datatransferkit(CMakePackage): version("3.1-rc3", commit="691d5a1540f7cd42141a3b3d2a7c8370cbc3560a", submodules=True) version("3.1-rc2", commit="1abc1a43b33dffc7a16d7497b4185d09d865e36a", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "external-arborx", default=False, diff --git a/var/spack/repos/builtin/packages/dateutils/package.py b/var/spack/repos/builtin/packages/dateutils/package.py index 64606671c0a9e7..2da01bf79f31d6 100644 --- a/var/spack/repos/builtin/packages/dateutils/package.py +++ b/var/spack/repos/builtin/packages/dateutils/package.py @@ -20,4 +20,6 @@ class Dateutils(AutotoolsPackage): version("0.4.6", sha256="26a071317ae5710f226a3e6ba9a54d3764cd9efe3965aecc18e75372088757cd") version("0.4.5", sha256="16d6a0fe7b7d49ddbb303f33538dd7304a0d4af5a0369bcbf275db6a5060cbde") + depends_on("c", type="build") # generated + build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/dbcsr/package.py b/var/spack/repos/builtin/packages/dbcsr/package.py index 8f207fb99b0c0c..0e0ff823a26392 100644 --- a/var/spack/repos/builtin/packages/dbcsr/package.py +++ b/var/spack/repos/builtin/packages/dbcsr/package.py @@ -28,6 +28,10 @@ class Dbcsr(CMakePackage, CudaPackage, ROCmPackage): version("2.1.0", sha256="9e58fd998f224632f356e479d18b5032570d00d87b86736b6a6ac2d03f8d4b3c") version("2.0.1", sha256="61d5531b661e1dab043353a1d67939ddcde3893d3dc7b0ab3d05074d448b485c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Compile with MPI") variant("openmp", default=False, description="Build with OpenMP support") variant("shared", default=True, description="Build shared library") @@ -54,7 +58,10 @@ class Dbcsr(CMakePackage, CudaPackage, ROCmPackage): depends_on("blas") depends_on("lapack") depends_on("mpi", when="+mpi") - depends_on("libxsmm@1.11:~header-only", when="smm=libxsmm") + + with when("smm=libxsmm"): + depends_on("libxsmm~header-only") + depends_on("libxsmm@1.11:1") depends_on("cmake@3.10:", type="build") depends_on("cmake@3.12:", type="build", when="@2.1:") diff --git a/var/spack/repos/builtin/packages/dbow2/package.py b/var/spack/repos/builtin/packages/dbow2/package.py index 08af93657bb317..ab9bdaa0cb8aed 100644 --- a/var/spack/repos/builtin/packages/dbow2/package.py +++ b/var/spack/repos/builtin/packages/dbow2/package.py @@ -18,6 +18,8 @@ class Dbow2(CMakePackage): version("master", branch="master") version("shinsumicco", git="https://github.com/shinsumicco/DBoW2.git", branch="master") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.0:", type="build") # TODO: replace this with an explicit list of components of Boost, # for instance depends_on('boost +filesystem') diff --git a/var/spack/repos/builtin/packages/dbus-glib/package.py b/var/spack/repos/builtin/packages/dbus-glib/package.py index cbee80b7ed8482..d9086972b89712 100644 --- a/var/spack/repos/builtin/packages/dbus-glib/package.py +++ b/var/spack/repos/builtin/packages/dbus-glib/package.py @@ -18,6 +18,8 @@ class DbusGlib(AutotoolsPackage): version("0.112", sha256="7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a") version("0.110", sha256="7ce4760cf66c69148f6bd6c92feaabb8812dee30846b24cd0f7395c436d7e825") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("expat") depends_on("glib") diff --git a/var/spack/repos/builtin/packages/dbus/package.py b/var/spack/repos/builtin/packages/dbus/package.py index 1d7ec8fc8e07a4..7c59223d99bfdc 100644 --- a/var/spack/repos/builtin/packages/dbus/package.py +++ b/var/spack/repos/builtin/packages/dbus/package.py @@ -30,6 +30,9 @@ class Dbus(AutotoolsPackage): version("1.8.4", sha256="3ef63dc8d0111042071ee7f7bafa0650c6ce2d7be957ef0b7ec269495a651ff8") version("1.8.2", sha256="5689f7411165adc953f37974e276a3028db94447c76e8dd92efe910c6d3bae08") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("xml_docs", default=False, description="Build XML documentation") variant("system-socket", default="default", description="Location for the DBus system socket") diff --git a/var/spack/repos/builtin/packages/dbxtool/package.py b/var/spack/repos/builtin/packages/dbxtool/package.py index 94e9cb8b4de691..6d361a1e5de128 100644 --- a/var/spack/repos/builtin/packages/dbxtool/package.py +++ b/var/spack/repos/builtin/packages/dbxtool/package.py @@ -17,6 +17,8 @@ class Dbxtool(MakefilePackage): version("8", sha256="196d9475f7cf3aa52d8e0c29c20affb7c903512e13895edb6296caf02d4a983b") version("7", sha256="486b8a7cf4e149ab9630783e5259d6af70a7022209e1e48fbee9b54c48535c5e") + depends_on("c", type="build") # generated + depends_on("efivar") depends_on("popt") diff --git a/var/spack/repos/builtin/packages/dcap/package.py b/var/spack/repos/builtin/packages/dcap/package.py index 87c25a443dc886..735f74c01d38af 100644 --- a/var/spack/repos/builtin/packages/dcap/package.py +++ b/var/spack/repos/builtin/packages/dcap/package.py @@ -16,6 +16,8 @@ class Dcap(AutotoolsPackage): version("2.47.12", sha256="050a8d20c241abf358d5d72586f9abc43940e61d9ec9480040ac7da52ec804ac") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/dcm2niix/package.py b/var/spack/repos/builtin/packages/dcm2niix/package.py index b92f1b0e731d6a..530a58678ead90 100644 --- a/var/spack/repos/builtin/packages/dcm2niix/package.py +++ b/var/spack/repos/builtin/packages/dcm2niix/package.py @@ -24,3 +24,6 @@ class Dcm2niix(CMakePackage): version( "1.0.20210317", sha256="42fb22458ebfe44036c3d6145dacc6c1dc577ebbb067bedc190ed06f546ee05a" ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/dcmtk/package.py b/var/spack/repos/builtin/packages/dcmtk/package.py index f6c14c642ed6e7..94fdd48b680c59 100644 --- a/var/spack/repos/builtin/packages/dcmtk/package.py +++ b/var/spack/repos/builtin/packages/dcmtk/package.py @@ -22,6 +22,9 @@ class Dcmtk(CMakePackage): version("3.6.3", sha256="57f4f71ee4af9114be6408ff6fcafc441c349e4c2954e17c9c22c8ce0fb065bf") version("3.6.2", sha256="e9bf6e8805bbcf8a25274566541798785fd4e73bd046045ef27a0109ab520924") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("ssl", default=True, description="Suuport DICOM Security Enhancements one") depends_on("openssl", type=("build", "link"), when="+ssl") @@ -50,6 +53,8 @@ class Dcmtk(CMakePackage): conflicts("platform=darwin target=aarch64:", when="@:3.6.6") + patch("tiff-3.6.7.patch", when="@3.6.7") + def patch(self): # Backport 3.6.4 if self.spec.satisfies("@:3.6.3 %fj"): diff --git a/var/spack/repos/builtin/packages/dcmtk/tiff-3.6.7.patch b/var/spack/repos/builtin/packages/dcmtk/tiff-3.6.7.patch new file mode 100644 index 00000000000000..53df4e75eb4c33 --- /dev/null +++ b/var/spack/repos/builtin/packages/dcmtk/tiff-3.6.7.patch @@ -0,0 +1,12 @@ +diff --color=auto --color=never -Naur a/CMake/3rdparty.cmake b/CMake/3rdparty.cmake +--- a/CMake/3rdparty.cmake 2022-04-28 15:47:25 ++++ b/CMake/3rdparty.cmake 2024-07-12 15:04:19 +@@ -38,7 +38,7 @@ + message(STATUS "Info: DCMTK TIFF support will be enabled") + include_directories(${TIFF_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}) + endif() +- set(LIBTIFF_LIBS ${TIFF_LIBRARY} ${TIFF_EXTRA_LIBS_STATIC} ${JPEG_LIBRARY}) ++ set(LIBTIFF_LIBS ${TIFF_LIBRARIES} ${TIFF_EXTRA_LIBS_STATIC} ${JPEG_LIBRARIES}) + endif() + endif() + diff --git a/var/spack/repos/builtin/packages/dctz/package.py b/var/spack/repos/builtin/packages/dctz/package.py index 0795f062775212..df77705d628dd8 100755 --- a/var/spack/repos/builtin/packages/dctz/package.py +++ b/var/spack/repos/builtin/packages/dctz/package.py @@ -19,6 +19,9 @@ class Dctz(CMakePackage): version("0.2.2", sha256="5d270199b93e81704292ad87787ce961b458865c6a60ef7da59d5073513f6cff") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", description="build a shared library", default=True) variant("libpressio", description="use libpressio support", default=True) diff --git a/var/spack/repos/builtin/packages/dd4hep/package.py b/var/spack/repos/builtin/packages/dd4hep/package.py index 97c01f98621e8e..c6c45d9cfc838a 100644 --- a/var/spack/repos/builtin/packages/dd4hep/package.py +++ b/var/spack/repos/builtin/packages/dd4hep/package.py @@ -26,6 +26,7 @@ class Dd4hep(CMakePackage): license("LGPL-3.0-or-later") version("master", branch="master") + version("1.29", sha256="435d25a7ef093d8bf660f288b5a89b98556b4c1c293c55b93bf641fb4cba77e9") version("1.28", sha256="b28d671eda0154073873a044a384486e66f1f200065deca99537aa84f07328ad") version("1.27.2", sha256="09d8acd743d010274562b856d39e2a88aeaf89cf287a4148f52223b0cd960ab2") version("1.27.1", sha256="e66ae726c0a9a55e5603024a7f8a48ffbc5613ea36e5f892e9a90d87833f92e0") @@ -45,6 +46,8 @@ class Dd4hep(CMakePackage): version("1.17", sha256="036a9908aaf1e13eaf5f2f43b6f5f4a8bdda8183ddc5befa77a4448dbb485826") version("1.16.1", sha256="c8b1312aa88283986f89cc008d317b3476027fd146fdb586f9f1fbbb47763f1a") + depends_on("cxx", type="build") # generated + generator("ninja") # Workaround for failing build file generation in some cases @@ -94,10 +97,13 @@ class Dd4hep(CMakePackage): depends_on("boost +iostreams", when="+ddg4") depends_on("boost +system +filesystem", when="%gcc@:7") depends_on("root @6.08: +gdml +math +python") + depends_on("root @6.12.2: +root7", when="@1.26:") # DDCoreGraphics needs ROOT::ROOTHistDraw with when("+ddeve"): depends_on("root @6.08: +x +opengl") depends_on("root @:6.27", when="@:1.23") conflicts("^root ~webgui", when="^root@6.28:") + # For DD4hep >= 1.24, DDEve_Interface needs ROOT::ROOTGeomViewer only if ROOT >= 6.27 + requires("^root +root7 +webgui", when="@1.24: ^root @6.27:") depends_on("root @6.08: +gdml +math +python +x +opengl", when="+utilityapps") extends("python") diff --git a/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py b/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py index fd5ebcf4e0d5c1..7e3b90521b5518 100644 --- a/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py +++ b/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py @@ -17,6 +17,8 @@ class DealiiParameterGui(CMakePackage): version("develop", branch="master") + depends_on("cxx", type="build") # generated + depends_on("qt") def setup_run_environment(self, env): diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py index 71fbb69df71f91..6ea7f851d6cabf 100644 --- a/var/spack/repos/builtin/packages/dealii/package.py +++ b/var/spack/repos/builtin/packages/dealii/package.py @@ -51,6 +51,10 @@ class Dealii(CMakePackage, CudaPackage): version("8.2.1", sha256="d75674e45fe63cd9fa294460fe45228904d51a68f744dbb99cd7b60720f3b2a0") version("8.1.0", sha256="d666bbda2a17b41b80221d7029468246f2658051b8c00d9c5907cd6434c4df99") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Configuration variants variant( "build_type", diff --git a/var/spack/repos/builtin/packages/debugedit/package.py b/var/spack/repos/builtin/packages/debugedit/package.py index 1c258d9fcef998..5bfa199736290b 100644 --- a/var/spack/repos/builtin/packages/debugedit/package.py +++ b/var/spack/repos/builtin/packages/debugedit/package.py @@ -23,6 +23,8 @@ class Debugedit(AutotoolsPackage): version("develop", branch="main") version("0.2", sha256="b78258240bb7ec5bbff109495092dcc111aa0393f135f2d2a4b43887ba26a942") + depends_on("c", type="build") # generated + depends_on("help2man", type="build") depends_on("pkgconfig", type="build") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/decentralized-internet/package.py b/var/spack/repos/builtin/packages/decentralized-internet/package.py index 63eace559fd4ad..395a9929673845 100644 --- a/var/spack/repos/builtin/packages/decentralized-internet/package.py +++ b/var/spack/repos/builtin/packages/decentralized-internet/package.py @@ -16,3 +16,5 @@ class DecentralizedInternet(MakefilePackage): maintainers("Lonero-Team", "Mentors4edu") version("4.2.3", sha256="2922b9128b411ece2f04d07942a453f1e772548aa27b3936c9f9bcfbc0737058") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/deconseq-standalone/package.py b/var/spack/repos/builtin/packages/deconseq-standalone/package.py index 47314ef952136b..d5bd5bcf1e37a5 100644 --- a/var/spack/repos/builtin/packages/deconseq-standalone/package.py +++ b/var/spack/repos/builtin/packages/deconseq-standalone/package.py @@ -17,6 +17,8 @@ class DeconseqStandalone(Package): version("0.4.3", sha256="fb4050418c26a5203220f6396263da554326657590cffd65053eb8adc465ac65") + depends_on("c", type="build") # generated + depends_on("perl@5:") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/dedisp/package.py b/var/spack/repos/builtin/packages/dedisp/package.py index 5d617dff9a361d..557fd943c4188e 100644 --- a/var/spack/repos/builtin/packages/dedisp/package.py +++ b/var/spack/repos/builtin/packages/dedisp/package.py @@ -16,6 +16,9 @@ class Dedisp(MakefilePackage, CudaPackage): version("master", branch="master", preferred=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + conflicts("~cuda", msg="You must specify +cuda") conflicts("cuda@11.8") conflicts("cuda_arch=none", msg="You must specify the CUDA architecture") diff --git a/var/spack/repos/builtin/packages/dejagnu/package.py b/var/spack/repos/builtin/packages/dejagnu/package.py index 94d808fd36faca..5f9baa0fb2e900 100644 --- a/var/spack/repos/builtin/packages/dejagnu/package.py +++ b/var/spack/repos/builtin/packages/dejagnu/package.py @@ -19,6 +19,9 @@ class Dejagnu(AutotoolsPackage, GNUMirrorPackage): version("1.6", sha256="00b64a618e2b6b581b16eb9131ee80f721baa2669fa0cdee93c500d1a652d763") version("1.4.4", sha256="d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("expect", type=("run", "link", "build")) # DejaGnu 1.4.4 cannot be built in parallel diff --git a/var/spack/repos/builtin/packages/delly2/package.py b/var/spack/repos/builtin/packages/delly2/package.py index 535bcf23ab1745..32c4076c604b87 100644 --- a/var/spack/repos/builtin/packages/delly2/package.py +++ b/var/spack/repos/builtin/packages/delly2/package.py @@ -25,6 +25,8 @@ class Delly2(MakefilePackage): version("0.9.1", tag="v0.9.1", commit="ef1cd626a85cfd1c1b7acfca2b5fd5957f2a05f1") version("2017-08-03", commit="e32a9cd55c7e3df5a6ae4a91f31a0deb354529fc", deprecated=True) + depends_on("cxx", type="build") # generated + variant("openmp", default=False, description="Build with openmp support") depends_on("htslib", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/delphes/package.py b/var/spack/repos/builtin/packages/delphes/package.py index ccc1258c550cfe..a35a6784053839 100644 --- a/var/spack/repos/builtin/packages/delphes/package.py +++ b/var/spack/repos/builtin/packages/delphes/package.py @@ -43,6 +43,9 @@ class Delphes(CMakePackage): version("3.0.6", sha256="9e225731d57d2a76d35886841f8eff121bb3a45560b16077bd8c351151581d88") version("3.0.5", sha256="ab64ec6d2476fbfa40562e7edb510a8ab4c4fe5be77a4353ebf315c2af181a80") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("pythia8", default=True, description="build with pythia8") depends_on("cmake", type="build") diff --git a/var/spack/repos/builtin/packages/demuxlet/package.py b/var/spack/repos/builtin/packages/demuxlet/package.py index d0724e204ef6ee..6c98a2ca010f65 100644 --- a/var/spack/repos/builtin/packages/demuxlet/package.py +++ b/var/spack/repos/builtin/packages/demuxlet/package.py @@ -19,6 +19,8 @@ class Demuxlet(AutotoolsPackage): version("20210211", commit="f5044eb9ed5c6678aa3a80a8f2be7db7748ee732") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/denovogear/package.py b/var/spack/repos/builtin/packages/denovogear/package.py index b679b51cb06fc9..e378af69a43d85 100644 --- a/var/spack/repos/builtin/packages/denovogear/package.py +++ b/var/spack/repos/builtin/packages/denovogear/package.py @@ -20,6 +20,9 @@ class Denovogear(CMakePackage): version("1.1.1", sha256="799fe99193e9cf12320893cf020a3251022f60a49de8677a1c5a18c578fe4be2") version("1.1.0", sha256="f818f80cd67183294c8aae312cad8311e6a9abede1f687567bb079d29f79c005") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type=("build")) depends_on( "boost@1.47:1.60" diff --git a/var/spack/repos/builtin/packages/detray/package.py b/var/spack/repos/builtin/packages/detray/package.py new file mode 100644 index 00000000000000..85d0c57531195d --- /dev/null +++ b/var/spack/repos/builtin/packages/detray/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 Detray(CMakePackage): + """Detray is a description library for high energy physics experiments that + works entirely without polymorphism, making it exceptionally suitable for + use on GPU platforms.""" + + homepage = "https://github.com/acts-project/detray" + url = "https://github.com/acts-project/detray/archive/refs/tags/v0.67.0.tar.gz" + + tags = ["hep"] + + maintainers("stephenswat") + + license("MPL-2.0", checked_by="stephenswat") + + version("0.69.1", sha256="7100ec86a47458a35f5943cd6c7da07c68b8c1c2f62d36d13b8bb50568d0abe5") + version("0.68.0", sha256="6d57835f22ced9243fbcc29b84ea4c01878a46bfa5910e320c933e9bf8e96612") + version("0.67.0", sha256="87b1b29f333c955ea6160f9dda89628490d85a9e5186c2f35f57b322bbe27e18") + + variant("csv", default=True, description="Enable the CSV IO plugin") + variant( + "cxxstd", + default="17", + values=("17", "20", "23"), + multi=False, + description="C++ standard used", + ) + variant("json", default=True, description="Enable the JSON IO plugin") + variant( + "scalar", + default="float", + values=("float", "double"), + multi=False, + description="Scalar type to use by default", + ) + variant("eigen", default=True, description="Enable the Eigen math plugin") + variant("smatrix", default=False, description="Enable the SMatrix math plugin") + variant("vc", default=True, description="Enable the Vc math plugin") + + depends_on("cmake@3.11:", type="build") + depends_on("vecmem@1.6.0:") + depends_on("covfie@0.10.0:") + depends_on("nlohmann-json@3.11.0:", when="+json") + depends_on("dfelibs@20211029:") + depends_on("acts-algebra-plugins@0.18.0: +vecmem") + depends_on("acts-algebra-plugins +vc", when="+vc") + depends_on("acts-algebra-plugins +eigen", when="+eigen") + depends_on("acts-algebra-plugins +smatrix", when="+smatrix") + + with when("+smatrix"): + depends_on("acts-algebra-plugins cxxstd=17", when="cxxstd=17") + depends_on("acts-algebra-plugins cxxstd=20", when="cxxstd=20") + depends_on("acts-algebra-plugins cxxstd=23", when="cxxstd=23") + + depends_on("actsvg +meta") + + def cmake_args(self): + args = [ + self.define("DETRAY_USE_SYSTEM_LIBS", True), + self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"), + self.define_from_variant("CMAKE_CUDA_STANDARD", "cxxstd"), + self.define_from_variant("CMAKE_SYCL_STANDARD", "cxxstd"), + self.define_from_variant("DETRAY_CUSTOM_SCALARTYPE", "scalar"), + self.define_from_variant("DETRAY_EIGEN_PLUGIN", "eigen"), + self.define_from_variant("DETRAY_SMATRIX_PLUGIN", "smatrix"), + self.define_from_variant("DETRAY_IO_CSV", "csv"), + self.define_from_variant("DETRAY_IO_JSON", "json"), + self.define("DETRAY_SVG_DISPLAY", True), + self.define("DETRAY_SETUP_ACTSVG", True), + self.define("DETRAY_BUILD_TESTING", False), + self.define("DETRAY_SETUP_GOOGLETEST", False), + self.define("DETRAY_SETUP_BENCHMARK", False), + self.define("DETRAY_BUILD_TUTORIALS", False), + ] + + return args diff --git a/var/spack/repos/builtin/packages/dfelibs/package.py b/var/spack/repos/builtin/packages/dfelibs/package.py new file mode 100644 index 00000000000000..c2ec7d65acbd31 --- /dev/null +++ b/var/spack/repos/builtin/packages/dfelibs/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 Dfelibs(CMakePackage): + """Acts fork of dfelibs, a header-only utility library for C++.""" + + homepage = "https://github.com/acts-project/dfelibs" + url = "https://github.com/acts-project/dfelibs/archive/refs/tags/v20211029.tar.gz" + + maintainers("stephenswat", "wdconinc") + + license("MIT", checked_by="stephenswat") + + version("20231012", sha256="7127069858c2e3ce663e66f45e3f7e02ede8bbca23d90f6c89f43f5b05c44dcb") + version("20211029", sha256="65b8d536b06b550e38822905dea06d193beb703fe0e4442791f43dc087c5cbfb") + + depends_on("cxx", type="build") # generated + + depends_on("cmake@3.8:", type="build") + depends_on("boost@1.59:", type="test") + + def cmake_args(self): + args = [ + self.define("dfelibs_BUILD_EXAMPLES", False), + self.define("dfelibs_BUILD_UNITTESTS", self.run_tests), + ] + + return args diff --git a/var/spack/repos/builtin/packages/dftbplus/package.py b/var/spack/repos/builtin/packages/dftbplus/package.py index 1efaf68aa4ad3f..fbd6a9fd46b781 100644 --- a/var/spack/repos/builtin/packages/dftbplus/package.py +++ b/var/spack/repos/builtin/packages/dftbplus/package.py @@ -27,6 +27,7 @@ class Dftbplus(CMakePackage, MakefilePackage): license("CC-BY-SA-4.0") version("main", branch="main") + version("24.1", sha256="3bc405d1ab834b6b145ca671fb44565ec50a6f576e9e18e7a1ae2c613a311321") version("23.1", sha256="e2d0471c2fd3aaf174a9aac44fd8e7de2668d182201779626d6e62754adc4cf9") version("22.2", sha256="0140f5f2e24d3071e5e7aede2ed6216a6f46d55216b0d69da17af917c62e98ed") version("22.1", sha256="02daca6f4c6372656598f3ba0311110c8e473c87c8d934d7bb276feaa4cc1c82") @@ -41,6 +42,10 @@ class Dftbplus(CMakePackage, MakefilePackage): sha256="78f45ef0571c78cf732a5493d32830455a832fa05ebcad43098895e46ad8d220", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "api", default=True, diff --git a/var/spack/repos/builtin/packages/dftd3-lib/package.py b/var/spack/repos/builtin/packages/dftd3-lib/package.py index ab705b53e3e85d..b28c0509802495 100644 --- a/var/spack/repos/builtin/packages/dftd3-lib/package.py +++ b/var/spack/repos/builtin/packages/dftd3-lib/package.py @@ -16,6 +16,8 @@ class Dftd3Lib(MakefilePackage): version("0.10", sha256="db61bc6c7c699628e8c5bf2018ea38de03a53eac38014e06845829d765caf6bb") version("0.9.2", sha256="4178f3cf2f3e7e982a7084ec66bac92b4fdf164537d9fc0ada840a11b784f0e0") + depends_on("fortran", type="build") # generated + # This fixes a concurrency bug, where make would try to start compiling # the dftd3 target before the lib target ended. # Since the library is small, disabling causes not much harm diff --git a/var/spack/repos/builtin/packages/dftd4/package.py b/var/spack/repos/builtin/packages/dftd4/package.py index 8c2d5c62889f02..a55cc34d4eff66 100644 --- a/var/spack/repos/builtin/packages/dftd4/package.py +++ b/var/spack/repos/builtin/packages/dftd4/package.py @@ -25,6 +25,9 @@ class Dftd4(MesonPackage): version("3.1.0", sha256="b652aa7cbf8d087c91bcf80f2d5801459ecf89c5d4176ebb39e963ee740ed54b") version("3.0.0", sha256="a7539d68d48d851bf37b79e37ea907c9da5eee908d0aa58a0a7dc15f04f8bc35") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=True, description="Use OpenMP parallelisation") variant("python", default=False, description="Build Python extension module") diff --git a/var/spack/repos/builtin/packages/dftfe/package.py b/var/spack/repos/builtin/packages/dftfe/package.py index a4423d68197dbc..7e6973257e48ab 100644 --- a/var/spack/repos/builtin/packages/dftfe/package.py +++ b/var/spack/repos/builtin/packages/dftfe/package.py @@ -20,6 +20,8 @@ class Dftfe(CMakePackage): version("0.5.1", sha256="e47272d3783cf675dcd8bc31da07765695164110bfebbbab29f5815531f148c1") version("0.5.0", sha256="9aadb9a9b059f98f88c7756b417423dc67d02f1cdd2ed7472ba395fcfafc6dcb") + depends_on("cxx", type="build") # generated + variant( "scalapack", default=True, diff --git a/var/spack/repos/builtin/packages/dhtest/package.py b/var/spack/repos/builtin/packages/dhtest/package.py index e673ef2d4de572..60d42644982ccc 100644 --- a/var/spack/repos/builtin/packages/dhtest/package.py +++ b/var/spack/repos/builtin/packages/dhtest/package.py @@ -19,6 +19,8 @@ class Dhtest(MakefilePackage): version("1.5", sha256="df66150429a59a3b6cea9b29e2687707d04ab10db5dfe1c893ba3e0b0531b151") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("dhtest", prefix.bin) diff --git a/var/spack/repos/builtin/packages/dia/package.py b/var/spack/repos/builtin/packages/dia/package.py index 9fe94c845255fe..258d5773f3658e 100644 --- a/var/spack/repos/builtin/packages/dia/package.py +++ b/var/spack/repos/builtin/packages/dia/package.py @@ -16,6 +16,9 @@ class Dia(Package): version("0.97.3", sha256="22914e48ef48f894bb5143c5efc3d01ab96e0a0cde80de11058d3b4301377d34") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("intltool", type="build") depends_on("gettext", type="build") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/dialign/package.py b/var/spack/repos/builtin/packages/dialign/package.py index 9573f98bac1c7a..64ef6b1e988f5c 100644 --- a/var/spack/repos/builtin/packages/dialign/package.py +++ b/var/spack/repos/builtin/packages/dialign/package.py @@ -17,6 +17,8 @@ class Dialign(MakefilePackage): version("2.2.1", sha256="046361bb4ca6e4ab2ac5e634cfcd673f964a887006c09c1b8bd3310fac86f519") + depends_on("c", type="build") # generated + build_directory = "src" def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/diamond/package.py b/var/spack/repos/builtin/packages/diamond/package.py index c0ea26edd5fba9..62a7c101ddcb88 100644 --- a/var/spack/repos/builtin/packages/diamond/package.py +++ b/var/spack/repos/builtin/packages/diamond/package.py @@ -16,6 +16,8 @@ class Diamond(CMakePackage): license("GPL-3.0-only") + version("2.1.9", sha256="4cde9df78c63e8aef9df1e3265cd06a93ce1b047d6dba513a1437719b70e9d88") + version("2.1.8", sha256="b6088259f2bc92d1f9dc4add44590cff68321bcbf91eefbc295a3525118b9415") version("2.1.7", sha256="2dcaba0e79ecb02c3d2a6816d317e714767118a9a056721643abff4c586ca95b") version("2.1.6", sha256="852d27c7535d53f1ce59db0625ff23ac3bf17e57f7a3b1c46c08718f77e19c54") version("2.0.15", sha256="cc8e1f3fd357d286cf6585b21321bd25af69aae16ae1a8f605ea603c1886ffa4") @@ -34,6 +36,9 @@ class Diamond(CMakePackage): version("0.8.38", sha256="582a7932f3aa73b0eac2275dd773818665f0b067b32a79ff5a13b0e3ca375f60") version("0.8.26", sha256="00d2be32dad76511a767ab8e917962c0ecc572bc808080be60dec028df45439f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") conflicts("target=aarch64:", when="@:0.9.25") diff --git a/var/spack/repos/builtin/packages/dicom3tools/package.py b/var/spack/repos/builtin/packages/dicom3tools/package.py index b49547f0b7c427..d5c2f315a43d25 100644 --- a/var/spack/repos/builtin/packages/dicom3tools/package.py +++ b/var/spack/repos/builtin/packages/dicom3tools/package.py @@ -20,6 +20,8 @@ class Dicom3tools(MakefilePackage): sha256="3cc2d6056e349e0ac6a093d231d8f4dd7a77e26ed29c1ebaca945dd5e56c1520", ) + depends_on("cxx", type="build") # generated + variant( "uid_root", default="0.0.0.0", diff --git a/var/spack/repos/builtin/packages/diffmark/package.py b/var/spack/repos/builtin/packages/diffmark/package.py index 73f405bf96e037..5d61f9551f4bbe 100644 --- a/var/spack/repos/builtin/packages/diffmark/package.py +++ b/var/spack/repos/builtin/packages/diffmark/package.py @@ -16,6 +16,8 @@ class Diffmark(AutotoolsPackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/diffsplice/package.py b/var/spack/repos/builtin/packages/diffsplice/package.py index 128663a98991a6..5246249d7ba731 100644 --- a/var/spack/repos/builtin/packages/diffsplice/package.py +++ b/var/spack/repos/builtin/packages/diffsplice/package.py @@ -19,6 +19,8 @@ class Diffsplice(MakefilePackage): version("0.1.2beta", sha256="cc06dcb9f8d98b2184f0dd5863b79bdd6a8cd33b9418e6549b7ea63e90ee1aa6") version("0.1.1", sha256="9740426692b0e5f92b943b127014c1d9815bed2938b5dd9e9d0c5b64abbb5da6") + depends_on("cxx", type="build") # generated + def edit(self, spec, prefix): if spec.target.family == "aarch64": makefile = FileFilter(join_path(self.build_directory, "Makefile")) diff --git a/var/spack/repos/builtin/packages/diffutils/package.py b/var/spack/repos/builtin/packages/diffutils/package.py index 6d668d2e4a4b09..180d654197469f 100644 --- a/var/spack/repos/builtin/packages/diffutils/package.py +++ b/var/spack/repos/builtin/packages/diffutils/package.py @@ -28,6 +28,8 @@ class Diffutils(AutotoolsPackage, GNUMirrorPackage): version("3.6", sha256="d621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6") version("3.3", sha256="a25e89a8ab65fded1731e4186be1bb25cda967834b6df973599cdcd5abdfc19c") + depends_on("c", type="build") # generated + build_directory = "spack-build" patch("nvhpc.patch", when="@3.7 %nvhpc") diff --git a/var/spack/repos/builtin/packages/digitrounding/package.py b/var/spack/repos/builtin/packages/digitrounding/package.py index 3697955ff66d58..c61687a2cb07e1 100644 --- a/var/spack/repos/builtin/packages/digitrounding/package.py +++ b/var/spack/repos/builtin/packages/digitrounding/package.py @@ -19,6 +19,8 @@ class Digitrounding(CMakePackage): version("master", branch="master") version("2020-02-27", commit="7b18679aded7a85e6f221f7f5cd4f080f322bc33") + depends_on("c", type="build") # generated + depends_on("zlib-api") variant("shared", default=True, description="build shared libraries") diff --git a/var/spack/repos/builtin/packages/dihydrogen/package.py b/var/spack/repos/builtin/packages/dihydrogen/package.py index cb1225ceb2ba20..1b8834fafe0472 100644 --- a/var/spack/repos/builtin/packages/dihydrogen/package.py +++ b/var/spack/repos/builtin/packages/dihydrogen/package.py @@ -61,6 +61,8 @@ class Dihydrogen(CachedCMakePackage, CudaPackage, ROCmPackage): version("0.3.0", sha256="8dd143441a28e0c7662cd92694e9a4894b61fd48508ac1d77435f342bc226dcf") + depends_on("cxx", type="build") # generated + # Primary features variant("dace", default=False, sticky=True, description="Enable DaCe backend.") diff --git a/var/spack/repos/builtin/packages/dimemas/package.py b/var/spack/repos/builtin/packages/dimemas/package.py index 8c5751fbc53377..2c41548e82ee50 100644 --- a/var/spack/repos/builtin/packages/dimemas/package.py +++ b/var/spack/repos/builtin/packages/dimemas/package.py @@ -16,6 +16,9 @@ class Dimemas(AutotoolsPackage): version("5.4.1", sha256="10ddca3745a56ebab5c1ba180f6f4bce5832c4deac50c1b1dc08271db5c7cafa") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/ding-libs/package.py b/var/spack/repos/builtin/packages/ding-libs/package.py index f8714e2f01ee40..c7c322279e7a34 100644 --- a/var/spack/repos/builtin/packages/ding-libs/package.py +++ b/var/spack/repos/builtin/packages/ding-libs/package.py @@ -16,3 +16,5 @@ class DingLibs(AutotoolsPackage): version("0.6.1", sha256="a319a327deb81f2dfab9ce4a4926e80e1dac5dcfc89f4c7e548cec2645af27c1") version("0.6.0", sha256="764a211f40cbcf2c9a613fc7ce0d77799d5ee469221b8b6739972e76f09e9fad") version("0.5.0", sha256="dab937537a05d7a7cbe605fdb9b3809080d67b124ac97eb321255b35f5b172fd") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/dire/package.py b/var/spack/repos/builtin/packages/dire/package.py index 1d7630754a7c58..b819f019e794cc 100644 --- a/var/spack/repos/builtin/packages/dire/package.py +++ b/var/spack/repos/builtin/packages/dire/package.py @@ -23,6 +23,8 @@ class Dire(Package): version("2.004", sha256="8cc1213b58fec744fdaa50834560a14b141de99efb2c3e3d3d47f3d6d84b179f") + depends_on("cxx", type="build") # generated + depends_on("zlib-api") # TODO: replace this with an explicit list of components of Boost, diff --git a/var/spack/repos/builtin/packages/discotec/package.py b/var/spack/repos/builtin/packages/discotec/package.py index aa876aa1cd34a0..cc41090c452676 100644 --- a/var/spack/repos/builtin/packages/discotec/package.py +++ b/var/spack/repos/builtin/packages/discotec/package.py @@ -20,6 +20,8 @@ class Discotec(CMakePackage): version("main", branch="main") + depends_on("cxx", type="build") # generated + variant("compression", default=False, description="Write sparse grid files compressed") variant("ft", default=False, description="DisCoTec with algorithm-based fault tolerance") variant("gene", default=False, description="Build for GENE (as task library)") diff --git a/var/spack/repos/builtin/packages/discovar/package.py b/var/spack/repos/builtin/packages/discovar/package.py index 95c5bcdb1c530b..474546aae9c448 100644 --- a/var/spack/repos/builtin/packages/discovar/package.py +++ b/var/spack/repos/builtin/packages/discovar/package.py @@ -16,4 +16,6 @@ class Discovar(AutotoolsPackage): version("52488", sha256="c46e8f5727b3c8116d715c02e20a83e6261c762e8964d00709abfb322a501d4e") + depends_on("cxx", type="build") # generated + conflicts("%gcc@6:") diff --git a/var/spack/repos/builtin/packages/discovardenovo/package.py b/var/spack/repos/builtin/packages/discovardenovo/package.py index a84709eba6ba63..e5e09a455b0c24 100644 --- a/var/spack/repos/builtin/packages/discovardenovo/package.py +++ b/var/spack/repos/builtin/packages/discovardenovo/package.py @@ -19,6 +19,8 @@ class Discovardenovo(AutotoolsPackage): version("52488", sha256="445445a3b75e17e276a6119434f13784a5a661a9c7277f5e10f3b6b3b8ac5771") + depends_on("cxx", type="build") # generated + # lots of compiler errors with GCC7, works with 4.8.5 # and devs claim it works with 4.7 so I'm assuming 4.7-4.8'll work conflicts("%gcc@5:") diff --git a/var/spack/repos/builtin/packages/disktype/package.py b/var/spack/repos/builtin/packages/disktype/package.py index 3ca4692da967f6..90eb8b86821e01 100644 --- a/var/spack/repos/builtin/packages/disktype/package.py +++ b/var/spack/repos/builtin/packages/disktype/package.py @@ -16,6 +16,8 @@ class Disktype(MakefilePackage): version("9.2.1", sha256="fb274d6ce6b69c0d36eb23fcc9f01db3c32c3996b404900d46bb743ce4fa8154") + depends_on("c", type="build") # generated + build_directory = "src" def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/distbench/package.py b/var/spack/repos/builtin/packages/distbench/package.py index 02daf6b841b262..fe4dc758f01ec0 100644 --- a/var/spack/repos/builtin/packages/distbench/package.py +++ b/var/spack/repos/builtin/packages/distbench/package.py @@ -17,6 +17,8 @@ class Distbench(MakefilePackage): version("1.0rc4", sha256="adc8da85890219800207d0d4cd7ffd63193d2c4007dba7c44cf545cc13675ff7") + depends_on("cxx", type="build") # generated + depends_on("bazel", type="build") def patch(self): diff --git a/var/spack/repos/builtin/packages/distcc/package.py b/var/spack/repos/builtin/packages/distcc/package.py index 4bedadec9fae49..95d817301bd0e1 100644 --- a/var/spack/repos/builtin/packages/distcc/package.py +++ b/var/spack/repos/builtin/packages/distcc/package.py @@ -19,6 +19,8 @@ class Distcc(AutotoolsPackage): version("3.3.5", sha256="13a4b3ce49dfc853a3de550f6ccac583413946b3a2fa778ddf503a9edc8059b0") version("3.3.3", sha256="b7f37d314704fbaf006d747514ff6e4d0d722102ef7d2aea132f97cf170f5169") + depends_on("c", type="build") # generated + depends_on("popt") depends_on("libiberty") diff --git a/var/spack/repos/builtin/packages/diy/package.py b/var/spack/repos/builtin/packages/diy/package.py index bca8f759cf4fc6..7b2311d37c0976 100644 --- a/var/spack/repos/builtin/packages/diy/package.py +++ b/var/spack/repos/builtin/packages/diy/package.py @@ -19,6 +19,8 @@ class Diy(CMakePackage): version("3.6.0", sha256="d12eb7dabe3a8a66cd406d34aabdb43c1ec178b7ed40cf1dff10016643bbf149") version("3.5.0", sha256="b3b5490441d521b6e9b33471c782948194bf95c7c3df3eb97bc5cf4530b91576") + depends_on("cxx", type="build") # generated + depends_on("mpi") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/dla-future-fortran/package.py b/var/spack/repos/builtin/packages/dla-future-fortran/package.py index 3eec46512e0536..ea6a50c7425626 100644 --- a/var/spack/repos/builtin/packages/dla-future-fortran/package.py +++ b/var/spack/repos/builtin/packages/dla-future-fortran/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +# dlaf-no-license-check from spack.package import * @@ -20,15 +21,19 @@ class DlaFutureFortran(CMakePackage): license("BSD-3-Clause") version("main", branch="main") + version("0.2.0", sha256="7fd3e1779c111b35f0d2701a024398b4f6e8dea4af523b6c8617d28c0b7ae61a") version("0.1.0", sha256="9fd8a105cbb2f3e1daf8a49910f98fce68ca0b954773dba98a91464cf2e7c1da") + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Build shared libraries.") variant("test", default=False, description="Build tests.") generator("ninja") depends_on("cmake@3.22:", type="build") - depends_on("dla-future@0.4.1: +scalapack") + depends_on("dla-future@0.4.1:0.5 +scalapack", when="@0.1.0") + depends_on("dla-future@0.6.0: +scalapack", when="@0.2.0:") depends_on("dla-future +shared", when="+shared") depends_on("mpi", when="+test") diff --git a/var/spack/repos/builtin/packages/dla-future/package.py b/var/spack/repos/builtin/packages/dla-future/package.py index 87164e6097fde1..566158e5ebc4cc 100644 --- a/var/spack/repos/builtin/packages/dla-future/package.py +++ b/var/spack/repos/builtin/packages/dla-future/package.py @@ -16,6 +16,8 @@ class DlaFuture(CMakePackage, CudaPackage, ROCmPackage): license("BSD-3-Clause") + version("0.6.0", sha256="85dfcee36ff28fa44da3134408c40ebd611bccff8a295982a7c78eaf982524d9") + version("0.5.0", sha256="f964ee2a96bb58b3f0ee4563ae65fcd136e409a7c0e66beda33f926fc9515a8e") version("0.4.1", sha256="ba95f26475ad68da1f3a24d091dc1b925525e269e4c83c1eaf1d37d29b526666") version("0.4.0", sha256="34fd0da0d1a72b6981bed0bba029ba0947e0d0d99beb3e0aad0a478095c9527d") version("0.3.1", sha256="350a7fd216790182aa52639a3d574990a9d57843e02b92d87b854912f4812bfe") @@ -25,6 +27,9 @@ class DlaFuture(CMakePackage, CudaPackage, ROCmPackage): version("0.1.0", sha256="f7ffcde22edabb3dc24a624e2888f98829ee526da384cd752b2b271c731ca9b1") version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries.") variant( @@ -45,6 +50,16 @@ class DlaFuture(CMakePackage, CudaPackage, ROCmPackage): description="Build C API compatible with ScaLAPACK", ) + variant("mpi_gpu_aware", default=False, when="@0.5.0:", description="Use GPU-aware MPI.") + conflicts("+mpi_gpu_aware", when="~cuda ~rocm", msg="GPU-aware MPI requires +cuda or +rocm") + + variant( + "mpi_gpu_force_contiguous", + default=True, + when="@0.5.0: +mpi_gpu_aware", + description="Force GPU communication buffers to be contiguous before communicating.", + ) + generator("ninja") depends_on("cmake@3.22:", type="build") @@ -142,7 +157,7 @@ def cmake_args(self): args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared")) # BLAS/LAPACK - if spec["lapack"].name in INTEL_MATH_LIBRARIES: + if spec.version <= Version("0.4") and spec["lapack"].name in INTEL_MATH_LIBRARIES: mkl_provider = spec["lapack"].name vmap = { @@ -206,7 +221,7 @@ def cmake_args(self): ) ) else: - args.append(self.define("DLAF_WITH_MKL", False)) + args.append(self.define("DLAF_WITH_MKL", spec["lapack"].name in INTEL_MATH_LIBRARIES)) args.append( self.define( "LAPACK_LIBRARY", @@ -218,6 +233,13 @@ def cmake_args(self): args.append(self.define_from_variant("DLAF_WITH_SCALAPACK", "scalapack")) + args.append(self.define_from_variant("DLAF_WITH_MPI_GPU_AWARE", "mpi_gpu_aware")) + args.append( + self.define_from_variant( + "DLAF_WITH_MPI_GPU_FORCE_CONTIGUOUS", "mpi_gpu_force_contiguous" + ) + ) + # CUDA/HIP args.append(self.define_from_variant("DLAF_WITH_CUDA", "cuda")) args.append(self.define_from_variant("DLAF_WITH_HIP", "rocm")) diff --git a/var/spack/repos/builtin/packages/dlb/package.py b/var/spack/repos/builtin/packages/dlb/package.py index 2f4968019e2625..a1442e07c9d32c 100644 --- a/var/spack/repos/builtin/packages/dlb/package.py +++ b/var/spack/repos/builtin/packages/dlb/package.py @@ -31,6 +31,9 @@ class Dlb(AutotoolsPackage): version("3.0.1", sha256="04f8a7aa269d02fc8561d0a61d64786aa18850367ce4f95d086ca12ab3eb7d24") version("3.0", sha256="e3fc1d51e9ded6d4d40d37f8568da4c4d72d1a8996bdeff2dfbbd86c9b96e36a") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("debug", default=False, description="Builds additional debug libraries") variant("mpi", default=False, description="Builds MPI libraries") diff --git a/var/spack/repos/builtin/packages/dlib/package.py b/var/spack/repos/builtin/packages/dlib/package.py index 511081ca33ec7e..26a2399112c93c 100644 --- a/var/spack/repos/builtin/packages/dlib/package.py +++ b/var/spack/repos/builtin/packages/dlib/package.py @@ -5,7 +5,7 @@ from spack.package import * -class Dlib(CMakePackage): +class Dlib(CMakePackage, CudaPackage): """toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems""" @@ -24,20 +24,61 @@ class Dlib(CMakePackage): version("19.20", sha256="fc3f0986350e8e53aceadf95a71d2f413f1eedc469abda99a462cb528741d411") version("19.19", sha256="7af455bb422d3ae5ef369c51ee64e98fa68c39435b0fa23be2e5d593a3d45b87") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + + variant("ffmpeg", default=False, description="build ffmpeg image support") + variant("gif", default=False, description="build gif image support") + variant("gui", default=False, description="build dlib graphical support") + variant("jpeg", default=False, description="build jpeg image support") + variant("jxl", default=False, description="build jxl image support") + variant("png", default=False, description="build png image support") variant("shared", default=True, description="build the shared libraries") + variant("sqlite", default=False, description="build sqlite3 support") + variant("webp", default=False, description="build webp image support") + variant("blas", default=True, description="build blas image support") + variant("lapack", default=True, description="build lapack image support") depends_on("zlib-api") - depends_on("libpng") - depends_on("libjpeg") - depends_on("blas") - depends_on("lapack") - depends_on("libsm") - depends_on("libx11") + depends_on("ffmpeg", when="+ffmpeg") + depends_on("libjxl@0.10.2:", when="+jxl") + depends_on("giflib", when="+gif") + depends_on("libpng", when="+png") + depends_on("libwebp", when="+webp") + depends_on("libjpeg", when="+jpeg") + depends_on("sqlite", when="+sqlite") + depends_on("blas", when="+blas") + depends_on("lapack", when="+lapack") + depends_on("libsm", when="+gui") + depends_on("libx11", when="+gui") + depends_on("cuda@7.5:", when="+cuda") + depends_on("cudnn", when="+cuda") + # depends on the deprecated FindCUDA module dependency as of 19.24.4 + # when cuda is enabled + depends_on("cmake@:3.26", when="+cuda") def cmake_args(self): spec = self.spec - args = [] - if spec.satisfies("+shared"): - args.append(self.define("BUILD_SHARED_LIBS", "ON")) + args = [ + self.define_from_variant("DLIB_USE_BLAS", "blas"), + self.define_from_variant("DLIB_USE_LAPACK", "lapack"), + self.define_from_variant("DLIB_USE_FFMPEG", "ffmpeg"), + self.define_from_variant("DLIB_GIF_SUPPORT", "gif"), + self.define("DLIB_NO_GUI_SUPPORT", spec.satisfies("~gui")), + self.define_from_variant("DLIB_JPEG_SUPPORT", "jpeg"), + self.define_from_variant("DLIB_JXL_SUPPORT", "jxl"), + self.define_from_variant("DLIB_PNG_SUPPORT", "png"), + self.define_from_variant("BUILD_SHARED_LIBS", "shared"), + self.define_from_variant("DLIB_LINK_WITH_SQLITE3", "sqlite"), + self.define_from_variant("DLIB_WEBP_SUPPORT", "webp"), + self.define_from_variant("DLIB_USE_CUDA", "cuda"), + ] + if spec.satisfies("+cuda"): + args.append( + self.define( + "DLIB_USE_CUDA_COMPUTE_CAPABILITIES", self.spec.variants["cuda_arch"].value + ) + ) return args diff --git a/var/spack/repos/builtin/packages/dlpack/package.py b/var/spack/repos/builtin/packages/dlpack/package.py index eadfcf781ca8d2..efe5c6b4f5fed4 100644 --- a/var/spack/repos/builtin/packages/dlpack/package.py +++ b/var/spack/repos/builtin/packages/dlpack/package.py @@ -24,5 +24,8 @@ class Dlpack(Package): version("0.2", sha256="419f76ef723d21b72b704b2c4bf718dcd9d2ecd44cd28c8a71798389b7932ae5") version("0.1", sha256="c69b06bfe03711e9d9d3f4d3f307d6dfd7e21d4864a053cca26296d5d05c175c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): install_tree("include", prefix.include) diff --git a/var/spack/repos/builtin/packages/dmd/package.py b/var/spack/repos/builtin/packages/dmd/package.py index d6672d6baae778..9c7d8e211d4e40 100644 --- a/var/spack/repos/builtin/packages/dmd/package.py +++ b/var/spack/repos/builtin/packages/dmd/package.py @@ -19,6 +19,9 @@ class Dmd(MakefilePackage): version("2.081.1", sha256="14f3aafe1c93c86646aaeb3ed7361a5fc5a24374cf25c8848c81942bfd9fae1a") version("2.081.0", sha256="29b9882ed424b744df83ac73182d4ae952251029ebd16117d18f9cc1e83542e2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("openssl") depends_on("curl") diff --git a/var/spack/repos/builtin/packages/dmidecode/package.py b/var/spack/repos/builtin/packages/dmidecode/package.py index 37f964655e66b9..1eb0db8b6bb453 100644 --- a/var/spack/repos/builtin/packages/dmidecode/package.py +++ b/var/spack/repos/builtin/packages/dmidecode/package.py @@ -17,6 +17,8 @@ class Dmidecode(MakefilePackage): version("3-2", sha256="489d840d076785617a432649603aafa6358327f4376694c062b69dfa359bcc2d") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("dmidecode", prefix.bin) diff --git a/var/spack/repos/builtin/packages/dmlc-core/package.py b/var/spack/repos/builtin/packages/dmlc-core/package.py index 60cc32da43ecd3..18f443e9e7e339 100644 --- a/var/spack/repos/builtin/packages/dmlc-core/package.py +++ b/var/spack/repos/builtin/packages/dmlc-core/package.py @@ -19,6 +19,8 @@ class DmlcCore(CMakePackage): version("master") version("20170508", commit="a6c5701219e635fea808d264aefc5b03c3aec314") + depends_on("cxx", type="build") # generated + variant("openmp", default=False, description="Enable OpenMP support") patch("cmake.patch") diff --git a/var/spack/repos/builtin/packages/dmtcp/package.py b/var/spack/repos/builtin/packages/dmtcp/package.py index ee31dcadc35ed3..282038b6b71105 100644 --- a/var/spack/repos/builtin/packages/dmtcp/package.py +++ b/var/spack/repos/builtin/packages/dmtcp/package.py @@ -22,4 +22,7 @@ class Dmtcp(AutotoolsPackage): version("3.0.0", sha256="2c7e95e1dbc55db33433bfee48a65f274298e98f246a36ab6dad1e0694750d37") version("2.6.0", sha256="3ed62a86dd0cb9c828b93ee8c7c852d6f9c96a0efa48bcfe867521adf7bced68") version("2.5.2", sha256="0e3e5e15bd401b7b6937f2b678cd7d6a252eab0a143d5740b89cc3bebb4282be") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated patch("for_aarch64.patch", when="@2.6.0 target=aarch64:") diff --git a/var/spack/repos/builtin/packages/dnsmap/package.py b/var/spack/repos/builtin/packages/dnsmap/package.py index f5e8ca90d02e9d..8b15753a5cd769 100644 --- a/var/spack/repos/builtin/packages/dnsmap/package.py +++ b/var/spack/repos/builtin/packages/dnsmap/package.py @@ -17,6 +17,8 @@ class Dnsmap(MakefilePackage): version("master", branch="master") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("dnsmap", prefix.bin) diff --git a/var/spack/repos/builtin/packages/dnsmasq/package.py b/var/spack/repos/builtin/packages/dnsmasq/package.py index e52445450ca7b0..0c0108320e2771 100644 --- a/var/spack/repos/builtin/packages/dnsmasq/package.py +++ b/var/spack/repos/builtin/packages/dnsmasq/package.py @@ -29,6 +29,8 @@ class Dnsmasq(MakefilePackage): version("2.71", sha256="7d8c64f66a396442e01b639df3ea6b4e02ba88cbe206c80be8de68b6841634c4") version("2.70", sha256="8eb7bf53688d6aaede5c90cfd2afcce04803a4efbddfbeecc6297180749e98af") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("./src/dnsmasq", prefix.bin) diff --git a/var/spack/repos/builtin/packages/dnstop/package.py b/var/spack/repos/builtin/packages/dnstop/package.py index 088eb6aadf2db2..2ea5086d3f002a 100644 --- a/var/spack/repos/builtin/packages/dnstop/package.py +++ b/var/spack/repos/builtin/packages/dnstop/package.py @@ -16,6 +16,8 @@ class Dnstop(AutotoolsPackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("libpcap") depends_on("ncurses") diff --git a/var/spack/repos/builtin/packages/dnstracer/package.py b/var/spack/repos/builtin/packages/dnstracer/package.py index c88435d527ff74..e393f959ee164f 100644 --- a/var/spack/repos/builtin/packages/dnstracer/package.py +++ b/var/spack/repos/builtin/packages/dnstracer/package.py @@ -19,6 +19,8 @@ class Dnstracer(MakefilePackage): version("master", branch="master") + depends_on("c", type="build") # generated + def edit(self, spec, prefix): configure = Executable("./configure.sh") configure("--prefix={0}".format(prefix)) diff --git a/var/spack/repos/builtin/packages/dorado/package.py b/var/spack/repos/builtin/packages/dorado/package.py index e3b4c400d81c29..a56d355c625dc8 100644 --- a/var/spack/repos/builtin/packages/dorado/package.py +++ b/var/spack/repos/builtin/packages/dorado/package.py @@ -19,6 +19,9 @@ class Dorado(CMakePackage, CudaPackage): version("0.5.3", commit="d9af343c0097e0e60503231e036d69e6eda2f19a", submodules=True) version("0.5.1", commit="a7fb3e3d4afa7a11cb52422e7eecb1a2cdb7860f", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("git", type="build") diff --git a/var/spack/repos/builtin/packages/dorian3d-dlib/package.py b/var/spack/repos/builtin/packages/dorian3d-dlib/package.py index 74951a4a921e7e..d68366dd08f85d 100644 --- a/var/spack/repos/builtin/packages/dorian3d-dlib/package.py +++ b/var/spack/repos/builtin/packages/dorian3d-dlib/package.py @@ -17,5 +17,7 @@ class Dorian3dDlib(CMakePackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.0:", type="build") depends_on("opencv+calib3d+features2d+highgui+imgproc+imgcodecs+flann") diff --git a/var/spack/repos/builtin/packages/dos2unix/package.py b/var/spack/repos/builtin/packages/dos2unix/package.py index 29465bff033dc0..cc90aae1b7ed9e 100644 --- a/var/spack/repos/builtin/packages/dos2unix/package.py +++ b/var/spack/repos/builtin/packages/dos2unix/package.py @@ -22,6 +22,8 @@ class Dos2unix(MakefilePackage): version("7.4.2", sha256="6035c58df6ea2832e868b599dfa0d60ad41ca3ecc8aa27822c4b7a9789d3ae01") version("7.3.4", sha256="8ccda7bbc5a2f903dafd95900abb5bf5e77a769b572ef25150fde4056c5f30c5") + depends_on("c", type="build") # generated + depends_on("gettext") executables = [r"^dos2unix$"] diff --git a/var/spack/repos/builtin/packages/dosfstools/package.py b/var/spack/repos/builtin/packages/dosfstools/package.py index 6d89720b87d2f6..db158d6e79caaf 100644 --- a/var/spack/repos/builtin/packages/dosfstools/package.py +++ b/var/spack/repos/builtin/packages/dosfstools/package.py @@ -18,6 +18,8 @@ class Dosfstools(AutotoolsPackage): version("4.1", sha256="8ff9c2dcc01551fe9de8888cb41eb1051fd58bdf1ab3a93d3d88916f0a4ffd1b") version("4.0", sha256="77975e289e695cb8c984a3c0a15a3bbf3af90be83c26983d43abcde9ec48eea5") + depends_on("c", type="build") # generated + depends_on("automake", type="build") depends_on("autoconf", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/dotconf/package.py b/var/spack/repos/builtin/packages/dotconf/package.py index 43ddf559246700..d0d30b9ba308f3 100644 --- a/var/spack/repos/builtin/packages/dotconf/package.py +++ b/var/spack/repos/builtin/packages/dotconf/package.py @@ -16,6 +16,8 @@ class Dotconf(AutotoolsPackage): version("1.3", sha256="7f1ecf40de1ad002a065a321582ed34f8c14242309c3547ad59710ae3c805653") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/double-batched-fft-library/package.py b/var/spack/repos/builtin/packages/double-batched-fft-library/package.py index 5371f3a3c3eeea..168e51eb91aeeb 100644 --- a/var/spack/repos/builtin/packages/double-batched-fft-library/package.py +++ b/var/spack/repos/builtin/packages/double-batched-fft-library/package.py @@ -28,6 +28,8 @@ class DoubleBatchedFftLibrary(CMakePackage): version("0.4.0", sha256="f3518012b632c92c2a933d70a040d6b0eee2d631ab6b1881a192a8d1624f242d") version("0.3.6", sha256="ff163251d77d3c686563141e871c702bf4997c0302d53616add55d6cf9b02d28") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Shared library") variant("sycl", default=True, description="Build bbfft-sycl") variant("level-zero", default=True, when="~sycl", description="Build bbfft-level-zero") diff --git a/var/spack/repos/builtin/packages/doxygen/package.py b/var/spack/repos/builtin/packages/doxygen/package.py index e937975b6604cf..4bbafec5dc3401 100644 --- a/var/spack/repos/builtin/packages/doxygen/package.py +++ b/var/spack/repos/builtin/packages/doxygen/package.py @@ -41,6 +41,10 @@ class Doxygen(CMakePackage): version("1.8.11", sha256="86263cb4ce1caa41937465f73f644651bd73128d685d35f18dea3046c7c42c12") version("1.8.10", sha256="0ac08900e5dc3ab5b65976991bf197623a7cc33ec3b32fe29360fb55d0c16b60") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # graphviz appears to be a run-time optional dependency variant("graphviz", default=False, description="Build with dot command support from Graphviz.") diff --git a/var/spack/repos/builtin/packages/dpdk/package.py b/var/spack/repos/builtin/packages/dpdk/package.py index 590fe54ef49aaf..2d86cf2178143b 100644 --- a/var/spack/repos/builtin/packages/dpdk/package.py +++ b/var/spack/repos/builtin/packages/dpdk/package.py @@ -29,6 +29,9 @@ class Dpdk(MakefilePackage, MesonPackage): version("19.05", sha256="5fea95cb726e6adaa506dab330e79563ccd4dacf03f126c826aabdced605d32b") version("19.02", sha256="04885d32c86fff5aefcfffdb8257fed405233602dbcd22f8298be13c2e285a50") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + conflicts("target=aarch64:", msg="DPDK is not supported on aarch64.") # Build system diff --git a/var/spack/repos/builtin/packages/draco/package.py b/var/spack/repos/builtin/packages/draco/package.py index fd045639ab10e9..c645c9391f9373 100644 --- a/var/spack/repos/builtin/packages/draco/package.py +++ b/var/spack/repos/builtin/packages/draco/package.py @@ -20,6 +20,7 @@ class Draco(CMakePackage): license("BSD-3-Clause-Open-MPI") version("develop", branch="develop") + version("7.18.0", sha256="b210e202a06ffdaf149193b5cba164411fd508e20e573e1dfc46d1f56e3fffaa") version("7.14.1", sha256="b05c75f1b8ea1d4fac4900d897fb1c948b470826b174ed8b97b32c6da9f030bf") version("7.14.0", sha256="c8abf293d81c1b8020907557c20d8d2f2edf9ac7ae60a534eab052a8c3b7f99d") version("7.13.0", sha256="07a443df71d8d3720ced98f86821f714d2bfaa9f17a177c7f0465a59a1e9e719") diff --git a/var/spack/repos/builtin/packages/dracut/package.py b/var/spack/repos/builtin/packages/dracut/package.py index 0129222109664b..7152ee96b291fe 100644 --- a/var/spack/repos/builtin/packages/dracut/package.py +++ b/var/spack/repos/builtin/packages/dracut/package.py @@ -19,4 +19,6 @@ class Dracut(AutotoolsPackage): version("059", sha256="eabf0bb685420c1e1d5475b6855ef787104508f0135ff570312845256e0fcecf") version("050", sha256="f9dbf18597e5929221365964293212c8c9ffb7d84529c5a338c834ecab06e333") + depends_on("c", type="build") # generated + depends_on("kmod") diff --git a/var/spack/repos/builtin/packages/dramsim2/package.py b/var/spack/repos/builtin/packages/dramsim2/package.py index 3a896ffcd68092..fe31b2bb460cf6 100644 --- a/var/spack/repos/builtin/packages/dramsim2/package.py +++ b/var/spack/repos/builtin/packages/dramsim2/package.py @@ -20,6 +20,8 @@ class Dramsim2(MakefilePackage): version("2.2.2", sha256="96d0257eafb41e38ffa4f13e3ef3759567bdde7fa3329403f324abd0ddf8d015") + depends_on("cxx", type="build") # generated + def build(self, spec, prefix): if spec.satisfies("platform=darwin"): make("libdramsim.dylib") diff --git a/var/spack/repos/builtin/packages/dramsim3/package.py b/var/spack/repos/builtin/packages/dramsim3/package.py index 85668f3e9e76e3..a96546d041a424 100644 --- a/var/spack/repos/builtin/packages/dramsim3/package.py +++ b/var/spack/repos/builtin/packages/dramsim3/package.py @@ -23,6 +23,9 @@ class Dramsim3(Package): version("1.0.0", sha256="064b732256f3bec9b553e00bcbc9a1d82172ec194f2b69c8797f585200b12566") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake", type="build") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/dray/package.py b/var/spack/repos/builtin/packages/dray/package.py index 4986e640263f6c..0815c310c83bf7 100644 --- a/var/spack/repos/builtin/packages/dray/package.py +++ b/var/spack/repos/builtin/packages/dray/package.py @@ -45,16 +45,20 @@ class Dray(Package, CudaPackage): license("BSD-3-Clause") - version("develop", branch="develop", submodules="True") - version("0.1.8", sha256="ae78ca6a5a31f06f6400a4a1ff6fc1d75347c8b41027a80662179f5b877eee30") - version("0.1.7", sha256="11ea794c1a24d7ed0d76bad7209d62bafc033ec40a2ea3a00e68fe598c6aa46d") - version("0.1.6", sha256="43f39039599e3493cbbaeaf5621b611bef301ff504bed6e32c98f30bb2179e92") - version("0.1.5", sha256="aaf0975561a8e7910b9353e2dc30bd78abf9f01c306ec042422b7da223d3a8b8") - version("0.1.4", sha256="e763a3aa537b23486a4788f9d68db0a3eb545f6a2e617cd7c8a876682ca2d0a0") - version("0.1.3", sha256="b2f624a072463189997343b1ed911cc34c9bb1b6c7f0c3e48efeb40c05dd0d92") - version("0.1.2", sha256="46937f20124b28dc78a634e8e063a3e7a3bbfd9f424ce2680b08417010c376da") - version("0.1.1", sha256="e5daa49ee3367c087f5028dc5a08655298beb318014c6f3f65ef4a08fcbe346c") - version("0.1.0", sha256="8b341138e1069361351e0a94478608c5af479cca76e2f97d556229aed45c0169") + with default_args(deprecated=True): # part of ascent + version("develop", branch="develop", submodules="True") + version("0.1.8", sha256="ae78ca6a5a31f06f6400a4a1ff6fc1d75347c8b41027a80662179f5b877eee30") + version("0.1.7", sha256="11ea794c1a24d7ed0d76bad7209d62bafc033ec40a2ea3a00e68fe598c6aa46d") + version("0.1.6", sha256="43f39039599e3493cbbaeaf5621b611bef301ff504bed6e32c98f30bb2179e92") + version("0.1.5", sha256="aaf0975561a8e7910b9353e2dc30bd78abf9f01c306ec042422b7da223d3a8b8") + version("0.1.4", sha256="e763a3aa537b23486a4788f9d68db0a3eb545f6a2e617cd7c8a876682ca2d0a0") + version("0.1.3", sha256="b2f624a072463189997343b1ed911cc34c9bb1b6c7f0c3e48efeb40c05dd0d92") + version("0.1.2", sha256="46937f20124b28dc78a634e8e063a3e7a3bbfd9f424ce2680b08417010c376da") + version("0.1.1", sha256="e5daa49ee3367c087f5028dc5a08655298beb318014c6f3f65ef4a08fcbe346c") + version("0.1.0", sha256="8b341138e1069361351e0a94478608c5af479cca76e2f97d556229aed45c0169") + + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated variant("openmp", default=True, description="Build OpenMP backend") variant("shared", default=True, description="Build as shared libs") @@ -115,19 +119,8 @@ def install(self, spec, prefix): """ with working_dir("spack-build", create=True): host_cfg_fname = self.create_host_config(spec, prefix) - cmake_args = [] - # if we have a static build, we need to avoid any of - # spack's default cmake settings related to rpaths - # (see: https://github.com/LLNL/spack/issues/2658) - if "+shared" in spec: - cmake_args.extend(std_cmake_args) - else: - for arg in std_cmake_args: - if arg.count("RPATH") == 0: - cmake_args.append(arg) - cmake_args.extend(["-C", host_cfg_fname, "../src"]) print("Configuring Devil Ray...") - cmake(*cmake_args) + cmake(*std_cmake_args, "-C", host_cfg_fname, "../src") print("Building Devil Ray...") make() # run unit tests if requested diff --git a/var/spack/repos/builtin/packages/drishti/package.py b/var/spack/repos/builtin/packages/drishti/package.py index 8ea7d53d3bb85d..65e7bca88c15e2 100644 --- a/var/spack/repos/builtin/packages/drishti/package.py +++ b/var/spack/repos/builtin/packages/drishti/package.py @@ -24,6 +24,8 @@ class Drishti(PythonPackage): version("0.4", sha256="bbbb272b4f6f44ae762f6cba28a2c589e15608691c559af0cc2f552590335d7b") + depends_on("c", type="build") # generated + depends_on("darshan-util", type=("run")) depends_on("python@3.6:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/dropwatch/package.py b/var/spack/repos/builtin/packages/dropwatch/package.py index e003c5602d95b5..1d43a943eec4dd 100644 --- a/var/spack/repos/builtin/packages/dropwatch/package.py +++ b/var/spack/repos/builtin/packages/dropwatch/package.py @@ -20,6 +20,8 @@ class Dropwatch(AutotoolsPackage): version("1.5.4", sha256="8c43d0c15d0cb9ce179fa1fb0610611723689a6f551b23c70a7ddc1cf068e8d2") version("1.5.3", sha256="b748b66a816c1f94531446c0451da5461a4a31b0949244bb867d741c6ac0148b") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/dsdp/package.py b/var/spack/repos/builtin/packages/dsdp/package.py index 381dba628e7d04..a913c197c47a8b 100644 --- a/var/spack/repos/builtin/packages/dsdp/package.py +++ b/var/spack/repos/builtin/packages/dsdp/package.py @@ -23,6 +23,8 @@ class Dsdp(MakefilePackage): version("5.8", sha256="26aa624525a636de272c0b329e2dfd01a0d5b7827f1c1c76f393d71e37dead70") + depends_on("c", type="build") # generated + depends_on("blas") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/dsfmt/package.py b/var/spack/repos/builtin/packages/dsfmt/package.py index 5486455f9daedb..1c44116a31efed 100644 --- a/var/spack/repos/builtin/packages/dsfmt/package.py +++ b/var/spack/repos/builtin/packages/dsfmt/package.py @@ -23,6 +23,9 @@ class Dsfmt(MakefilePackage): version("2.2.5", sha256="b7bc498cd140b4808963b1ff9f33b42a491870f54775c1060ecad0e02bcaffb4") version("2.2.4", sha256="39682961ecfba621a98dbb6610b6ae2b7d6add450d4f08d8d4edd0e10abd8174") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + @property def libs(self): return find_libraries("libdSFMT", root=self.prefix, recursive=True) diff --git a/var/spack/repos/builtin/packages/dsqss/package.py b/var/spack/repos/builtin/packages/dsqss/package.py index 44f76ab619861d..1fb90c9ab04a1f 100644 --- a/var/spack/repos/builtin/packages/dsqss/package.py +++ b/var/spack/repos/builtin/packages/dsqss/package.py @@ -21,6 +21,8 @@ class Dsqss(CMakePackage): version("2.0.3", sha256="11255dd1f1317fb4ac2d6ae95535f027d627d03f5470717cd277dd9ab94496e0") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="build mpi support") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/dsrc/package.py b/var/spack/repos/builtin/packages/dsrc/package.py index 4baa53b74bd552..d7a98f398c43d0 100644 --- a/var/spack/repos/builtin/packages/dsrc/package.py +++ b/var/spack/repos/builtin/packages/dsrc/package.py @@ -17,6 +17,8 @@ class Dsrc(MakefilePackage): version("2.0.2", sha256="6d7abe0d72a501054a2115ccafff2e85e6383de627ec3e94ff4f03b7bb96a806") + depends_on("cxx", type="build") # generated + parallel = False def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/dssp/package.py b/var/spack/repos/builtin/packages/dssp/package.py index a5a20a4be59688..cfd40cc00822f6 100644 --- a/var/spack/repos/builtin/packages/dssp/package.py +++ b/var/spack/repos/builtin/packages/dssp/package.py @@ -18,6 +18,8 @@ class Dssp(AutotoolsPackage): version("3.1.4", sha256="496282b4b5defc55d111190ab9f1b615a9574a2f090e7cf5444521c747b272d4") version("2.3.0", sha256="4c95976d86dc64949cb0807fbd58c7bee5393df0001999405863dc90f05846c6") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/dtc/package.py b/var/spack/repos/builtin/packages/dtc/package.py index a775a98803f8c7..541041d5322d2b 100644 --- a/var/spack/repos/builtin/packages/dtc/package.py +++ b/var/spack/repos/builtin/packages/dtc/package.py @@ -18,6 +18,8 @@ class Dtc(MakefilePackage): version("1.6.1", sha256="6401c9a0f577a270df4632bf0f3e5454ccc7a5ca3caefa67a3e1c29c9c6b8c60") + depends_on("c", type="build") # generated + depends_on("bison", type="build") # Build error with flex 2.6.3 # (convert-dtsv0-lexer.lex.c:398: error: "yywrap" redefined) diff --git a/var/spack/repos/builtin/packages/dtcmp/package.py b/var/spack/repos/builtin/packages/dtcmp/package.py index 992b2bf646a4d0..1fa7c28e1dc143 100644 --- a/var/spack/repos/builtin/packages/dtcmp/package.py +++ b/var/spack/repos/builtin/packages/dtcmp/package.py @@ -24,6 +24,8 @@ class Dtcmp(AutotoolsPackage): version("1.1.0", sha256="fd2c4485eee560a029f62c8f227df4acdb1edc9340907f4ae2dbee59f05f057d") version("1.0.3", sha256="1327368e2808043ad5f245cd16f0da19543de50eae02a4e22b8a1c2e0eff8f35") + depends_on("c", type="build") # generated + depends_on("mpi") depends_on("lwgrp") diff --git a/var/spack/repos/builtin/packages/dtf/package.py b/var/spack/repos/builtin/packages/dtf/package.py index 97e057717b4f88..a11ef8b7a2009a 100644 --- a/var/spack/repos/builtin/packages/dtf/package.py +++ b/var/spack/repos/builtin/packages/dtf/package.py @@ -21,6 +21,10 @@ class Dtf(AutotoolsPackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("cxx", default=True, description="Build pnetcdf the C++ Interface") variant("fortran", default=True, description="Build pnetcdf the Fortran Interface") diff --git a/var/spack/repos/builtin/packages/duckdb/package.py b/var/spack/repos/builtin/packages/duckdb/package.py index 3f2b899122f91a..0f45b68428a40b 100644 --- a/var/spack/repos/builtin/packages/duckdb/package.py +++ b/var/spack/repos/builtin/packages/duckdb/package.py @@ -18,6 +18,8 @@ class Duckdb(MakefilePackage): maintainers("glentner", "teaguesterling") version("master", branch="master") + version("1.0.0", sha256="04e472e646f5cadd0a3f877a143610674b0d2bcf9f4102203ac3c3d02f1c5f26") + version("0.10.3", sha256="7855587b3491dd488993287caee28720bee43ae28e92e8f41ea4631e9afcbf88") version("0.10.2", sha256="662a0ba5c35d678ab6870db8f65ffa1c72e6096ad525a35b41b275139684cea6") version("0.10.0", sha256="5a925b8607d00a97c1a3ffe6df05c0a62a4df063abd022ada82ac1e917792013") version( @@ -51,6 +53,9 @@ class Duckdb(MakefilePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@3.7:") depends_on("cmake", type="build") depends_on("gmake", type="build") @@ -83,6 +88,13 @@ class Duckdb(MakefilePackage): variant("odbc", default=False, description="Build with ODBC driver (may not work)") variant("python", default=False, description="Build with Python driver (may not work)") + # Observed failure in an AVX2-specific codeblock on x86_64_v4 target + conflicts( + "@1.0.0", + when="target=x86_64_v3:", + msg="See: https://github.com/duckdb/duckdb/issues/12362", + ) + def setup_build_environment(self, env): if "+ninjabuild" in self.spec: env.set("GEN", "ninja") diff --git a/var/spack/repos/builtin/packages/duperemove/package.py b/var/spack/repos/builtin/packages/duperemove/package.py index 340abe8a47cc7c..71834aecd9df25 100644 --- a/var/spack/repos/builtin/packages/duperemove/package.py +++ b/var/spack/repos/builtin/packages/duperemove/package.py @@ -17,6 +17,8 @@ class Duperemove(MakefilePackage): version("0.11.1", sha256="75c3c91baf7e5195acad62eab73a7afc3d0b88cbfccefac3e3412eba06a42ac8") + depends_on("c", type="build") # generated + depends_on("glib") depends_on("sqlite") diff --git a/var/spack/repos/builtin/packages/dwz/package.py b/var/spack/repos/builtin/packages/dwz/package.py index 85afeedbb6e73c..b85f84e78a6bae 100644 --- a/var/spack/repos/builtin/packages/dwz/package.py +++ b/var/spack/repos/builtin/packages/dwz/package.py @@ -22,6 +22,9 @@ class Dwz(MakefilePackage, SourcewarePackage): preferred=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("dwz", prefix.bin) diff --git a/var/spack/repos/builtin/packages/dyninst/package.py b/var/spack/repos/builtin/packages/dyninst/package.py index 9593f3262f49ac..06b10b1911a3eb 100644 --- a/var/spack/repos/builtin/packages/dyninst/package.py +++ b/var/spack/repos/builtin/packages/dyninst/package.py @@ -51,6 +51,9 @@ class Dyninst(CMakePackage): "8.2.1", tag="v8.2.1", commit="939afcbad1a8273636a3686a31b51dae4f1f0c11", deprecated=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "openmp", default=True, diff --git a/var/spack/repos/builtin/packages/dysco/package.py b/var/spack/repos/builtin/packages/dysco/package.py index 4dbf4f438b1757..cf80d6ae6a70d6 100644 --- a/var/spack/repos/builtin/packages/dysco/package.py +++ b/var/spack/repos/builtin/packages/dysco/package.py @@ -17,6 +17,8 @@ class Dysco(CMakePackage): version("1.3", sha256="02cb53cc0a95a17a04fbaa6063b39641725b81f279b08e85761b01e8f186609f") version("1.2", sha256="dd992c5a13df67173aa1d3f6dc5df9b51b0bea2fe77bc08f5be7a839be741269") + depends_on("cxx", type="build") # generated + depends_on("casacore") depends_on("gsl") depends_on("boost+date_time+python+container+exception") diff --git a/var/spack/repos/builtin/packages/e2fsprogs/package.py b/var/spack/repos/builtin/packages/e2fsprogs/package.py index 5560a5348df4af..2d988bafeabdc0 100644 --- a/var/spack/repos/builtin/packages/e2fsprogs/package.py +++ b/var/spack/repos/builtin/packages/e2fsprogs/package.py @@ -15,14 +15,41 @@ class E2fsprogs(AutotoolsPackage): license("GPL-2.0-or-later AND LGPL-2.0-or-later AND BSD-3-Clause AND MIT") + version("1.47.1", sha256="db95ff1cb6ef741c9aa8875d9f3f52a34168360febba765b6377b80bada09a8c") + version("1.47.0", sha256="74c8ea97c73294edc6c11dc5e7fbb4324f86c28efd66ad0ba50be4eec8a48be2") version("1.45.6", sha256="d785164a2977cd88758cb0cac5c29add3fe491562a60040cfb193abcd0f9609b") version("1.45.5", sha256="0fd76e55c1196c1d97a2c01f2e84f463b8e99484541b43ff4197f5a695159fd3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + + variant("fuse2fs", default=False, description="Build fuse2fs") + depends_on("texinfo", type="build") + depends_on("fuse", when="+fuse2fs") + + # fuse3 support is in the yet unreleased 1.47.1 + patch( + "https://github.com/tytso/e2fsprogs/commit/5598a96.patch?full_index=1", + sha256="72b28eb4599dbae45a01a1518ab6b8b6fc23db4f67381b49f63d3a3d45822340", + when="@:1.47.0 +fuse2fs", + ) + patch( + "https://github.com/tytso/e2fsprogs/commit/1ac0061.patch?full_index=1", + sha256="c5fbcd4e6d7f29d083d923b33998d916e2059b8f108c8cc20e8b5c928186eef2", + when="@:1.47.0 +fuse2fs", + ) + patch( + "https://github.com/tytso/e2fsprogs/commit/448a3f8.patch?full_index=1", + sha256="fb45c3af229b49fab19c70c00c33b9f3579a9455025aedb8049ff411b1cf3a96", + when="@:1.47.0 +fuse2fs", + ) def setup_run_environment(self, env): env.prepend_path("PATH", self.prefix.sbin) def configure_args(self): # avoid installing things in /etc - return ["--without-udev-rules-dir", "--without-crond-dir", "--without-systemd-unit-dir"] + args = ["--without-udev-rules-dir", "--without-crond-dir", "--without-systemd-unit-dir"] + args.extend(self.enable_or_disable("fuse2fs")) + return args diff --git a/var/spack/repos/builtin/packages/e3sm-kernels/package.py b/var/spack/repos/builtin/packages/e3sm-kernels/package.py index 8000d18ae71381..a4564dcc71d512 100644 --- a/var/spack/repos/builtin/packages/e3sm-kernels/package.py +++ b/var/spack/repos/builtin/packages/e3sm-kernels/package.py @@ -23,6 +23,8 @@ class E3smKernels(MakefilePackage): version("master", branch="master") version("1.0", sha256="358249785ba9f95616feecbb6f37f7694646568499c11b2094c9233999c6cc95") + depends_on("fortran", type="build") # generated + variant( "kernel", default="atmosphere", diff --git a/var/spack/repos/builtin/packages/e3sm-scorpio/package.py b/var/spack/repos/builtin/packages/e3sm-scorpio/package.py index 66c8600096aa42..078a57a7d5f241 100644 --- a/var/spack/repos/builtin/packages/e3sm-scorpio/package.py +++ b/var/spack/repos/builtin/packages/e3sm-scorpio/package.py @@ -16,6 +16,10 @@ class E3smScorpio(CMakePackage): version("1.4.1", sha256="7cb4589410080d7e547ef17ddabe68f749e6af019c1d0e6ee9f11554f3ff6b1a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("timing", default=False, description="Enable timing") variant("mpi", default=True, description="Enable MPI") diff --git a/var/spack/repos/builtin/packages/ea-utils/package.py b/var/spack/repos/builtin/packages/ea-utils/package.py index b57c30ecb1e39a..8a90b61af38613 100644 --- a/var/spack/repos/builtin/packages/ea-utils/package.py +++ b/var/spack/repos/builtin/packages/ea-utils/package.py @@ -25,6 +25,9 @@ class EaUtils(MakefilePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("sparsehash") depends_on("zlib-api") depends_on("gsl") diff --git a/var/spack/repos/builtin/packages/eagle/package.py b/var/spack/repos/builtin/packages/eagle/package.py index 3a68066d11b59c..3abe19fb37102b 100644 --- a/var/spack/repos/builtin/packages/eagle/package.py +++ b/var/spack/repos/builtin/packages/eagle/package.py @@ -18,6 +18,8 @@ class Eagle(MakefilePackage): version("1.1.3", sha256="bd510b8eef2de14898cbf417e1c7a30b97ddaba24e5e2834da7b02767362fe3c") version("1.1.2", sha256="afe967560d1f8fdbd0caf4b93b5f2a86830e9e4d399fee4a526140431343045e") + depends_on("c", type="build") # generated + depends_on("curl") depends_on("zlib-api") depends_on("lzma") diff --git a/var/spack/repos/builtin/packages/earlyoom/package.py b/var/spack/repos/builtin/packages/earlyoom/package.py index 9c1886c58343a9..a79c520a6e3c65 100644 --- a/var/spack/repos/builtin/packages/earlyoom/package.py +++ b/var/spack/repos/builtin/packages/earlyoom/package.py @@ -18,6 +18,8 @@ class Earlyoom(MakefilePackage): version("1.6.1", sha256="bcd3fab4da5e1dddec952a0974c866ec90c5f9159c995f9162c45488c4d03340") version("1.6", sha256="b81804fc4470f996014d52252a87a1cf3b43d3d8754140035b10dcee349302b8") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("earlyoom", prefix.bin) diff --git a/var/spack/repos/builtin/packages/easi/package.py b/var/spack/repos/builtin/packages/easi/package.py index f93940c9ae024b..c32354d7ea4b09 100644 --- a/var/spack/repos/builtin/packages/easi/package.py +++ b/var/spack/repos/builtin/packages/easi/package.py @@ -25,6 +25,9 @@ class Easi(CMakePackage): version("1.2.0", tag="v1.2.0", commit="305a119338116a0ceac6b68b36841a50250d05b1") version("1.1.2", tag="v1.1.2", commit="4c87ef3b3dca9415d116ef102cb8de750ef7e1a0") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("python", default=True, description="Install python bindings") extends("python", when="+python") diff --git a/var/spack/repos/builtin/packages/easyloggingpp/package.py b/var/spack/repos/builtin/packages/easyloggingpp/package.py index c1fba765e8d3d7..a46b625b712e18 100644 --- a/var/spack/repos/builtin/packages/easyloggingpp/package.py +++ b/var/spack/repos/builtin/packages/easyloggingpp/package.py @@ -14,3 +14,5 @@ class Easyloggingpp(CMakePackage): version("9.97.0", sha256="9110638e21ef02428254af8688bf9e766483db8cc2624144aa3c59006907ce22") version("9.96.7", sha256="237c80072b9b480a9f2942b903b4b0179f65e146e5dcc64864dc91792dedd722") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/ebms/package.py b/var/spack/repos/builtin/packages/ebms/package.py index f92a83e3592a7e..b253837d78a9d8 100644 --- a/var/spack/repos/builtin/packages/ebms/package.py +++ b/var/spack/repos/builtin/packages/ebms/package.py @@ -24,6 +24,8 @@ class Ebms(MakefilePackage): version("develop") + depends_on("c", type="build") # generated + depends_on("mpi@2:") tags = ["proxy-app"] diff --git a/var/spack/repos/builtin/packages/ecbuild/package.py b/var/spack/repos/builtin/packages/ecbuild/package.py index d4882131a7a285..9e4cdf6c92adbe 100644 --- a/var/spack/repos/builtin/packages/ecbuild/package.py +++ b/var/spack/repos/builtin/packages/ecbuild/package.py @@ -21,6 +21,10 @@ class Ecbuild(CMakePackage): version("3.6.5", sha256="98bff3d3c269f973f4bfbe29b4de834cd1d43f15b1c8d1941ee2bfe15e3d4f7f") version("3.6.1", sha256="796ccceeb7af01938c2f74eab0724b228e9bf1978e32484aa3e227510f69ac59") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@3.11:", type=("build", "run")) # See https://github.com/ecmwf/ecbuild/issues/35 diff --git a/var/spack/repos/builtin/packages/eccodes/package.py b/var/spack/repos/builtin/packages/eccodes/package.py index eb4184cfeafd73..7d25600ed44275 100644 --- a/var/spack/repos/builtin/packages/eccodes/package.py +++ b/var/spack/repos/builtin/packages/eccodes/package.py @@ -67,6 +67,10 @@ class Eccodes(CMakePackage): version("2.5.0", sha256="18ab44bc444168fd324d07f7dea94f89e056f5c5cd973e818c8783f952702e4e") version("2.2.0", sha256="1a4112196497b8421480e2a0a1164071221e467853486577c4f07627a702f4c3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("tools", default=False, description="Build the command line tools") variant("netcdf", default=False, description="Enable GRIB to NetCDF conversion tool") variant( diff --git a/var/spack/repos/builtin/packages/ecdsautils/package.py b/var/spack/repos/builtin/packages/ecdsautils/package.py index 2c9602eb7353a1..1404c947e21c87 100644 --- a/var/spack/repos/builtin/packages/ecdsautils/package.py +++ b/var/spack/repos/builtin/packages/ecdsautils/package.py @@ -15,4 +15,6 @@ class Ecdsautils(CMakePackage): version("0.3.2", sha256="a828417c985ccfc623bb613e92ccc8af6c6f24a5bcab8b112b90c033a816204f") version("0.3.1", sha256="4b6efe7802a089e8d64194c954a8f9981ff516b922b40d51e6c7ba565274a87a") + depends_on("c", type="build") # generated + depends_on("libuecc", type="build") diff --git a/var/spack/repos/builtin/packages/ecflow/package.py b/var/spack/repos/builtin/packages/ecflow/package.py index ef3d98b784b949..7616e64e8db11c 100644 --- a/var/spack/repos/builtin/packages/ecflow/package.py +++ b/var/spack/repos/builtin/packages/ecflow/package.py @@ -30,6 +30,10 @@ class Ecflow(CMakePackage): version("4.12.0", sha256="566b797e8d78e3eb93946b923ef540ac61f50d4a17c9203d263c4fd5c39ab1d1") version("4.11.1", sha256="b3bcc1255939f87b9ba18d802940e08c0cf6379ca6aeec1fef7bd169b0085d6c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("ssl", default=True, description="Enable SSL") variant( "static_boost", default=False, description="Use also static boost libraries when compiling" diff --git a/var/spack/repos/builtin/packages/eckit/package.py b/var/spack/repos/builtin/packages/eckit/package.py index 5badc2b643cb91..5b24350f4ac3ae 100644 --- a/var/spack/repos/builtin/packages/eckit/package.py +++ b/var/spack/repos/builtin/packages/eckit/package.py @@ -31,6 +31,9 @@ class Eckit(CMakePackage): version("1.16.3", sha256="d2aae7d8030e2ce39e5d04e36dd6aa739f3c8dfffe32c61c2a3127c36b573485") version("1.16.0", sha256="9e09161ea6955df693d3c9ac70131985eaf7cf24a9fa4d6263661c6814ebbaf1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "build_type", default="RelWithDebInfo", diff --git a/var/spack/repos/builtin/packages/ecmwf-atlas/package.py b/var/spack/repos/builtin/packages/ecmwf-atlas/package.py index e14429104a0f8a..900eb13fc20d47 100644 --- a/var/spack/repos/builtin/packages/ecmwf-atlas/package.py +++ b/var/spack/repos/builtin/packages/ecmwf-atlas/package.py @@ -31,6 +31,10 @@ class EcmwfAtlas(CMakePackage): version("0.31.1", sha256="fa9274c74c40c2115b9c6120a7040e357b0c7f37b20b601b684d2a83a479cdfb") version("0.31.0", sha256="fa4ff8665544b8e19f79d171c540a9ca8bfc4127f52a3c4d4d618a2fe23354d7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("ecbuild", type=("build")) depends_on("ecbuild@3.4:", type=("build"), when="@0.36.0:") depends_on("eckit@:1.23", when="@:0.33") diff --git a/var/spack/repos/builtin/packages/ecos/package.py b/var/spack/repos/builtin/packages/ecos/package.py index b393e2636cccd4..9f0ad1f0c7f6dc 100644 --- a/var/spack/repos/builtin/packages/ecos/package.py +++ b/var/spack/repos/builtin/packages/ecos/package.py @@ -17,6 +17,8 @@ class Ecos(MakefilePackage): version("2.0.7", sha256="bdb6a84f7d150820459bd0a796cb64ffbb019afb95dc456d22acc2dafb2e70e0") + depends_on("c", type="build") # generated + build_targets = ["all", "shared"] def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/ecoslim/package.py b/var/spack/repos/builtin/packages/ecoslim/package.py index 61b2fcdfec9b4f..22704c2fe766de 100644 --- a/var/spack/repos/builtin/packages/ecoslim/package.py +++ b/var/spack/repos/builtin/packages/ecoslim/package.py @@ -22,6 +22,8 @@ class Ecoslim(CMakePackage): version("1.3", sha256="b532e570b4767e4fa84123d8773732150679e8e3d7fecd5c6e99fb1d4dc57b84") version("master", branch="master") + depends_on("fortran", type="build") # generated + def cmake_args(self): """Populate cmake arguments for EcoSLIM.""" return [] diff --git a/var/spack/repos/builtin/packages/ectrans/package.py b/var/spack/repos/builtin/packages/ectrans/package.py index e4e7ac65beb700..0199acb8b836ca 100644 --- a/var/spack/repos/builtin/packages/ectrans/package.py +++ b/var/spack/repos/builtin/packages/ectrans/package.py @@ -26,6 +26,9 @@ class Ectrans(CMakePackage): version("1.2.0", sha256="2ee6dccc8bbfcc23faada1d957d141f24e41bb077c1821a7bc2b812148dd336c") version("1.1.0", sha256="3c9848bb65033fbe6d791084ee347b3adf71d5dfe6d3c11385000017b6469a3e") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "build_type", default="RelWithDebInfo", diff --git a/var/spack/repos/builtin/packages/ed/package.py b/var/spack/repos/builtin/packages/ed/package.py index df2c77d0ab396a..36e5d5171fe139 100644 --- a/var/spack/repos/builtin/packages/ed/package.py +++ b/var/spack/repos/builtin/packages/ed/package.py @@ -18,4 +18,6 @@ class Ed(AutotoolsPackage, GNUMirrorPackage): version("1.4", sha256="db36da85ee1a9d8bafb4b041bd4c8c11becba0c43ec446353b67045de1634fda") + depends_on("c", type="build") # generated + parallel = False diff --git a/var/spack/repos/builtin/packages/editline/package.py b/var/spack/repos/builtin/packages/editline/package.py index 4d6f8024f6b512..5cfe0db26f3118 100644 --- a/var/spack/repos/builtin/packages/editline/package.py +++ b/var/spack/repos/builtin/packages/editline/package.py @@ -17,6 +17,8 @@ class Editline(AutotoolsPackage): version("1.17.1", sha256="d65c5739c8ca388fa71feabc5aae506d052e1a6d288ee4e7fcab7efb07a3be74") version("1.16.0", sha256="33421a1569d025f332a87054bfea28e2c757bdb573f1437bc22c34b798b6383c") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/editorconfig/package.py b/var/spack/repos/builtin/packages/editorconfig/package.py index a6c2fd8131a8f8..6ded3f667b93a2 100644 --- a/var/spack/repos/builtin/packages/editorconfig/package.py +++ b/var/spack/repos/builtin/packages/editorconfig/package.py @@ -19,4 +19,6 @@ class Editorconfig(CMakePackage): version("0.12.7", sha256="f89d2e144fd67bdf0d7acfb2ac7618c6f087e1b3f2c3a707656b4180df422195") + depends_on("c", type="build") # generated + depends_on("pcre2") diff --git a/var/spack/repos/builtin/packages/editres/package.py b/var/spack/repos/builtin/packages/editres/package.py index 16053f9e3bfdee..352cc81919e866 100644 --- a/var/spack/repos/builtin/packages/editres/package.py +++ b/var/spack/repos/builtin/packages/editres/package.py @@ -15,6 +15,8 @@ class Editres(AutotoolsPackage, XorgPackage): version("1.0.8", sha256="2d56d6077bc767afa7e030feb2c372fe6be893fec4029a23f45a1d559fd846ae") version("1.0.6", sha256="85f4664ca582effb01ee972d006124569b757b9a08ae6608c3f45fc36b3b7b1a") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libx11") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/edm4hep/package.py b/var/spack/repos/builtin/packages/edm4hep/package.py index 7984506e5f56e6..a908c0dd4d7b6a 100644 --- a/var/spack/repos/builtin/packages/edm4hep/package.py +++ b/var/spack/repos/builtin/packages/edm4hep/package.py @@ -32,6 +32,8 @@ class Edm4hep(CMakePackage): version("0.10.1", sha256="28a3bd4df899309b14ec0d441f8b6ed0065206a08a0018113bb490e9d008caed") version("0.10", sha256="a95c917c19793cfad6b0959854a653c5ce698c965598cabd649d544da07712c0") + depends_on("cxx", type="build") # generated + _cxxstd_values = ("17", "20") variant( "cxxstd", @@ -58,6 +60,9 @@ class Edm4hep(CMakePackage): depends_on("heppdt", type="test") depends_on("catch2@3.0.1:", type="test") + # Corresponding changes in EDM4hep landed with https://github.com/key4hep/EDM4hep/pull/314 + extends("python", when="@0.10.6:") + def cmake_args(self): args = [] # C++ Standard @@ -67,7 +72,8 @@ def cmake_args(self): def setup_run_environment(self, env): env.prepend_path("LD_LIBRARY_PATH", self.spec["edm4hep"].libs.directories[0]) - env.prepend_path("PYTHONPATH", self.prefix.python) + if self.spec.satisfies("@:0.10.5"): + env.prepend_path("PYTHONPATH", self.prefix.python) def url_for_version(self, version): """Translate version numbers to ilcsoft conventions. diff --git a/var/spack/repos/builtin/packages/eem/package.py b/var/spack/repos/builtin/packages/eem/package.py index 4b41e8cefd845d..9aecdb89f85f9e 100644 --- a/var/spack/repos/builtin/packages/eem/package.py +++ b/var/spack/repos/builtin/packages/eem/package.py @@ -15,6 +15,8 @@ class Eem(MakefilePackage): version("1.0.1", sha256="f617ea7350fce3b2581c814f70bda4427cbab83aac54a2dcadb36e8193f300bb") + depends_on("cxx", type="build") # generated + variant("K", default=False, description="Build for K computer") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/efivar/package.py b/var/spack/repos/builtin/packages/efivar/package.py index 1ef249380af2a2..9bfa06da51a9e8 100644 --- a/var/spack/repos/builtin/packages/efivar/package.py +++ b/var/spack/repos/builtin/packages/efivar/package.py @@ -18,5 +18,7 @@ class Efivar(MakefilePackage): version("36", sha256="24ed0cafbaf6d913e8f60e5da3cbbac1a1578e16cf5c95b21f2eb6753c13173f") version("35", sha256="747bc4d97b4bd74979e5356c44a172534a8a07184f130349fd201742e683d292") + depends_on("c", type="build") # generated + def install(self, spec, prefix): make("PREFIX={0}".format(prefix), "install") diff --git a/var/spack/repos/builtin/packages/eigen/package.py b/var/spack/repos/builtin/packages/eigen/package.py index 6301084fa3506b..e1fda7e9f72936 100644 --- a/var/spack/repos/builtin/packages/eigen/package.py +++ b/var/spack/repos/builtin/packages/eigen/package.py @@ -36,6 +36,10 @@ class Eigen(CMakePackage): version("3.2.6", sha256="e097b8dcc5ad30d40af4ad72d7052e3f78639469baf83cffaadc045459cda21f") version("3.2.5", sha256="8068bd528a2ff3885eb55225c27237cf5cda834355599f05c2c85345db8338b4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # there is a bug that provokes bad parsing of nvhpc version patch( "https://gitlab.com/libeigen/eigen/-/commit/001a57519a7aa909d3bf0cd8c6ec8a9cd19d9c70.diff", diff --git a/var/spack/repos/builtin/packages/eigenexa/package.py b/var/spack/repos/builtin/packages/eigenexa/package.py index 46b76b958c7e0d..44d7b939d846f6 100644 --- a/var/spack/repos/builtin/packages/eigenexa/package.py +++ b/var/spack/repos/builtin/packages/eigenexa/package.py @@ -23,6 +23,9 @@ class Eigenexa(AutotoolsPackage): url="https://www.r-ccs.riken.jp/labs/lpnctrt/projects/eigenexa/EigenExa-2.6.tgz", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/elbencho/package.py b/var/spack/repos/builtin/packages/elbencho/package.py index 4088b11d282bfc..3a65df8b172cac 100644 --- a/var/spack/repos/builtin/packages/elbencho/package.py +++ b/var/spack/repos/builtin/packages/elbencho/package.py @@ -33,6 +33,9 @@ class Elbencho(MakefilePackage): version("2.0-9", sha256="fe0f67fbb7dd7c743f8b3e0a92358f7393f2950da456474d4adb38690fab1878") version("2.0-7", sha256="a2e49cb2cf1ae99e46e9fa95b42ece250cb58fbadb4c393f9776b40204e8b2c0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("s3", default=False, description="Enable support for s3 api") variant("cuda", default=True, description="Enable CUDA support", when="+cufile") variant("cuda", default=False, description="Enable CUDA support") @@ -56,7 +59,7 @@ class Elbencho(MakefilePackage): depends_on("curl", when="+s3") depends_on("libarchive", when="+s3") depends_on("openssl", when="+s3") - depends_on("libuuid", when="+s3") + depends_on("uuid", when="+s3") depends_on("zlib", when="+s3") depends_on("cmake", when="+s3") diff --git a/var/spack/repos/builtin/packages/elemental/package.py b/var/spack/repos/builtin/packages/elemental/package.py index 49306457d6a81a..f3d8589d1abdfa 100644 --- a/var/spack/repos/builtin/packages/elemental/package.py +++ b/var/spack/repos/builtin/packages/elemental/package.py @@ -23,6 +23,9 @@ class Elemental(CMakePackage): version("0.87.7", sha256="7becfdbc223e9c72e65ae876d842c48d2037d13f83e9f41cea285e21b840d7d9") version("0.87.6", sha256="b597987c99ddd3462e0619524c5b7f711177ae8ae541b1b961e11d96e15afc64") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries") variant("hybrid", default=True, description="Make use of OpenMP within MPI packing/unpacking") variant( diff --git a/var/spack/repos/builtin/packages/elfio/package.py b/var/spack/repos/builtin/packages/elfio/package.py index 9205da948129b7..c38246216af7f9 100644 --- a/var/spack/repos/builtin/packages/elfio/package.py +++ b/var/spack/repos/builtin/packages/elfio/package.py @@ -25,6 +25,9 @@ class Elfio(CMakePackage): version("3.8", sha256="9553ce2b8d8aa2fb43f0e9be9bcbd10cd52f40b385110ea54173889c982f9ac4") version("3.7", sha256="0af2452214c32639f8dbe520b31e03802be184581ab5ad65e99ed745274dbd5d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # note, 3.10 is required on master it seems depends_on("cmake@3.12:", when="@3.8:", type="build") depends_on("cmake@3.12.4:", when="@3.7", type="build") diff --git a/var/spack/repos/builtin/packages/elfutils/package.py b/var/spack/repos/builtin/packages/elfutils/package.py index dcc762602b33d4..46ec84f4d4ae6e 100644 --- a/var/spack/repos/builtin/packages/elfutils/package.py +++ b/var/spack/repos/builtin/packages/elfutils/package.py @@ -50,6 +50,9 @@ class Elfutils(AutotoolsPackage, SourcewarePackage): version("0.168", sha256="b88d07893ba1373c7dd69a7855974706d05377766568a7d9002706d5de72c276") version("0.163", sha256="7c774f1eef329309f3b05e730bdac50013155d437518a2ec0e24871d312f2e23") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Native language support from libintl. variant("nls", default=True, description="Enable Native Language Support.") variant("exeprefix", default=True, description="Add a prefix to generated executables.") diff --git a/var/spack/repos/builtin/packages/elk/package.py b/var/spack/repos/builtin/packages/elk/package.py index 96dda40d5ee5ad..4323aec7795414 100644 --- a/var/spack/repos/builtin/packages/elk/package.py +++ b/var/spack/repos/builtin/packages/elk/package.py @@ -25,6 +25,9 @@ class Elk(MakefilePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # what linear algebra packages to use? the choices are # internal - use internal libraries # generic - use spack-provided blas and lapack diff --git a/var/spack/repos/builtin/packages/elmerfem/package.py b/var/spack/repos/builtin/packages/elmerfem/package.py index 3d8863054a56ba..6ddb0e642b4368 100644 --- a/var/spack/repos/builtin/packages/elmerfem/package.py +++ b/var/spack/repos/builtin/packages/elmerfem/package.py @@ -21,6 +21,10 @@ class Elmerfem(CMakePackage): version("9.0", sha256="08c5bf261e87ff37456c1aa0372db3c83efabe4473ea3ea0b8ec66f5944d1aa0") version("8.4", sha256="cc3ce807d76798361592cc14952cdc3db1ad8f9bac038017514033ce9badc5b3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("gui", default=False, description="Enable GUI support.") variant("mpi", default=True, description="Enable MPI support.") variant("openmp", default=True, description="Enable OpenMP support.") diff --git a/var/spack/repos/builtin/packages/elpa/package.py b/var/spack/repos/builtin/packages/elpa/package.py index 65f021b5b6283f..4088e3f2984a65 100644 --- a/var/spack/repos/builtin/packages/elpa/package.py +++ b/var/spack/repos/builtin/packages/elpa/package.py @@ -24,6 +24,9 @@ class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage): version("master", branch="master") + version( + "2024.03.001", sha256="41c6cbf56d2dac26443faaba8a77307d261bf511682a64b96e24def77c813622" + ) version( "2023.11.001-patched", sha256="62ee109afc06539507f459c08b958dc4db65b757dbd77f927678c77f7687415e", @@ -46,13 +49,24 @@ class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage): "2021.05.001", sha256="a4f1a4e3964f2473a5f8177f2091a9da5c6b5ef9280b8272dfefcbc3aad44d41" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + 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") + + with when("@2021.11.001:"): + variant( + "autotune", default=False, description="Enables autotuning for matrix restribution" + ) + variant( + "gpu_streams", default=True, when="+cuda", description="Activates GPU streams support" + ) patch("fujitsu.patch", when="%fj") - depends_on("autoconf", type="build", when="@master") + depends_on("autoconf@2.71:", type="build", when="@master") depends_on("automake", type="build", when="@master") depends_on("blas") @@ -62,12 +76,20 @@ class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage): depends_on("rocblas", when="+rocm") depends_on("libtool", type="build") depends_on("python@3:", type="build") - - with when("@2021.11.01:"): - variant( - "autotune", default=False, description="Enables autotuning for matrix restribution" + depends_on("scalapack", when="+autotune") + + # Force openmp propagation on some providers of blas/lapack, as adviced by docs + # https://gitlab.mpcdf.mpg.de/elpa/elpa/-/blob/master/documentation/PERFORMANCE_TUNING.md?ref_type=heads#builds-with-openmp-enabled + with when("+openmp"): + requires("^openblas threads=openmp", when="^[virtuals=blas,lapack] openblas") + requires("^intel-mkl threads=openmp", when="^[virtuals=blas,lapack] intel-mkl") + requires( + "^intel-oneapi-mkl threads=openmp", when="^[virtuals=blas,lapack] intel-oneapi-mkl" + ) + requires( + "^intel-parallel-studio threads=openmp", + when="^[virtuals=blas,lapack] intel-parallel-studio", ) - depends_on("scalapack", when="+autotune") # fails to build due to broken type-bound procedures in OMP parallel regions conflicts( @@ -76,10 +98,9 @@ class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage): msg="ELPA-2021.05.001+ requires GCC-8+ for OpenMP support", ) conflicts("+mpi", when="+rocm", msg="ROCm support and MPI are not yet compatible") - conflicts( "+gpu_streams", - when="+openmp", + when="@:2023.11.001-patched +openmp", msg="GPU streams currently not supported in combination with OpenMP", ) @@ -193,14 +214,9 @@ def configure_args(self): options += self.enable_or_disable("openmp") # Additional linker search paths and link libs - ldflags = [spec["blas"].libs.search_flags, spec["lapack"].libs.search_flags] + ldflags = [spec["blas"].libs.search_flags, spec["lapack"].libs.search_flags, "-lstdc++"] libs = [spec["lapack"].libs.link_flags, spec["blas"].libs.link_flags] - # If using blas with openmp support, link with openmp - # Needed for Spack-provided OneAPI MKL and for many externals - if self.spec["blas"].satisfies("threads=openmp"): - ldflags.append(self.compiler.openmp_flag) - options += [f'LDFLAGS={" ".join(ldflags)}', f'LIBS={" ".join(libs)}'] if "+mpi" in self.spec: diff --git a/var/spack/repos/builtin/packages/elsd/package.py b/var/spack/repos/builtin/packages/elsd/package.py index 1e2c68116d9f72..14ec21867828bf 100644 --- a/var/spack/repos/builtin/packages/elsd/package.py +++ b/var/spack/repos/builtin/packages/elsd/package.py @@ -16,6 +16,8 @@ class Elsd(MakefilePackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("blas") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/elsdc/package.py b/var/spack/repos/builtin/packages/elsdc/package.py index 2edb0fddf65076..fe26f1cec3f6e5 100644 --- a/var/spack/repos/builtin/packages/elsdc/package.py +++ b/var/spack/repos/builtin/packages/elsdc/package.py @@ -16,6 +16,8 @@ class Elsdc(MakefilePackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("blas") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/elsi/package.py b/var/spack/repos/builtin/packages/elsi/package.py index 5c6da3eef68fa9..25b87e28293210 100644 --- a/var/spack/repos/builtin/packages/elsi/package.py +++ b/var/spack/repos/builtin/packages/elsi/package.py @@ -4,21 +4,38 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) import os.path +from spack.error import NoHeadersError from spack.package import * -class Elsi(CMakePackage): +class Elsi(CMakePackage, CudaPackage): """ELSI provides a unified interface for electronic structure codes to a variety of eigenvalue solvers.""" homepage = "https://wordpress.elsi-interchange.org/" - url = "https://wordpress.elsi-interchange.org/wp-content/uploads/2019/03/elsi-2.2.1.tar.gz" + url = "https://gitlab.com/elsi_project/elsi_interface/-/archive/v2.10.1/elsi_interface-v2.10.1.tar.gz" + git = "https://gitlab.com/elsi_project/elsi_interface.git" license("BSD-3-Clause") - version("2.2.1", sha256="5b4b2e8fa4b3b68131fe02cc1803a884039b89a1b1138af474af66453bec0b4d") + version("2.10.1", sha256="b3c7526d46a9139a26680787172a3df15bc648715a35bdf384053231e94ab829") + version( + "2.2.1", + sha256="5b4b2e8fa4b3b68131fe02cc1803a884039b89a1b1138af474af66453bec0b4d", + deprecated=True, + ) + version("master", branch="master") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated - variant("add_underscore", default=True, description="Suffix C functions with an underscore") + variant( + "add_underscore", + default=True, + description="Suffix C functions with an underscore", + when="@2.2.1", + ) variant( "elpa2_kernel", default="none", @@ -28,29 +45,93 @@ class Elsi(CMakePackage): ) variant("enable_pexsi", default=False, description="Enable PEXSI support") variant("enable_sips", default=False, description="Enable SLEPc-SIPs support") - variant("use_external_elpa", default=False, description="Build ELPA using SPACK") - variant("use_external_ntpoly", default=False, description="Build NTPoly using SPACK") - variant("use_external_omm", default=False, description="Use external libOMM and MatrixSwitch") - variant("use_external_superlu", default=False, description="Use external SuperLU DIST") + variant("use_external_elpa", default=True, description="Build ELPA using SPACK") + variant("use_external_ntpoly", default=True, description="Build NTPoly using SPACK") + variant( + "use_external_superlu", default=True, description="Use external SuperLU DIST", when="@:2.2" + ) variant( - "use_mpi_iallgather", default=True, description="Use non-blocking collective MPI functions" + "use_external_pexsi", + default=True, + description="Use external PEXSI", + when="@2.3: +enable_pexsi", + ) + variant("use_external_omm", default=True, description="Use external libOMM") + variant( + "use_mpi_iallgather", + default=True, + description="Use non-blocking collective MPI functions", + when="@:2.5", + ) + variant( + "internal_elpa_version", + default="2024", + values=("2024", "2023_11", "2023", "2021", "2020"), + description="Internal ELPA version", + multi=False, ) # Basic dependencies depends_on("blas", type="link") depends_on("lapack", type="link") - depends_on("cmake", type="build") - depends_on("mpi") depends_on("scalapack", type="link") + depends_on("mpi") # Library dependencies - depends_on("elpa", when="+use_external_elpa") depends_on("ntpoly", when="+use_external_ntpoly") - depends_on("slepc", when="+enable_sips") - depends_on("petsc", when="+enable_sips") - depends_on("superlu-dist", when="+use_external_superlu") + with when("+use_external_elpa"): + depends_on("elpa+cuda", when="+cuda") + depends_on("elpa~cuda", when="~cuda") + with when("+enable_sips"): + depends_on("slepc+cuda", when="+cuda") + depends_on("slepc~cuda", when="~cuda") + depends_on("petsc+cuda", when="+cuda") + depends_on("petsc~cuda", when="~cuda") + with when("+use_external_superlu"): + depends_on("superlu-dist+cuda", when="+cuda") + depends_on("superlu-dist~cuda", when="~cuda") + with when("+enable_pexsi +use_external_pexsi"): + depends_on("pexsi+fortran") + depends_on("superlu-dist+cuda", when="+cuda") + depends_on("superlu-dist~cuda", when="~cuda") + with when("+use_external_omm"): + depends_on("omm") + depends_on("matrix-switch") # Direct dependency def cmake_args(self): + libs_names = ["scalapack", "lapack", "blas"] + + # External libraries + if self.spec.satisfies("+use_external_elpa"): + libs_names.append("elpa") + if self.spec.satisfies("+use_external_ntpoly"): + libs_names.append("ntpoly") + if self.spec.satisfies("+use_external_superlu"): + libs_names.append("superlu-dist") + if self.spec.satisfies("+use_external_pexsi"): + libs_names.append("superlu-dist") + libs_names.append("pexsi") + if self.spec.satisfies("+use_external_omm"): + libs_names.append("omm") + libs_names.append("matrix-switch") + + lib_paths, inc_paths, libs = [], [], [] + for lib in libs_names: + lib_paths.extend(self.spec[lib].libs.directories) + libs.extend(self.spec[lib].libs.names) + + try: + inc_paths.extend(self.spec[lib].headers.directories) + + # Deal with Fortran modules + for path in self.spec[lib].headers: + # Add path to .mod files + # headers.directories only add path up to include/ + if path.endswith(".mod"): + inc_paths.append(os.path.dirname(path)) + except NoHeadersError: + pass + args = [ # Compiler Information (ELSI wants these explicitly set) self.define("CMAKE_Fortran_COMPILER", self.spec["mpi"].mpifc), @@ -63,15 +144,24 @@ def cmake_args(self): self.define_from_variant("USE_EXTERNAL_NTPOLY", "use_external_ntpoly"), self.define_from_variant("USE_EXTERNAL_OMM", "use_external_omm"), self.define_from_variant("USE_EXTERNAL_SUPERLU", "use_external_superlu"), + self.define_from_variant("USE_EXTERNAL_PEXSI", "use_external_pexsi"), self.define_from_variant("USE_MPI_IALLGATHER", "use_mpi_iallgather"), + self.define("ENABLE_TESTS", self.run_tests), + self.define("ENABLE_C_TESTS", self.run_tests), + self.define_from_variant("USE_GPU_CUDA", "cuda"), + self.define("LIB_PATHS", ";".join(set(lib_paths))), + self.define("LIBS", ";".join(set(libs))), ] + if not self.spec.satisfies("+use_external_elpa"): + args.append( + self.define(f"USE_ELPA_{self.spec.variants['internal_elpa_version'].value}", True) + ) + if self.spec.variants["elpa2_kernel"].value != "none": args.append(self.define_from_variant("ELPA2_KERNEL", "elpa2_kernel")) - if self.spec.satisfies("+use_external_elpa"): - elpa_module = find(self.spec["elpa"].prefix, "elpa.mod") - args.append(self.define("INC_PATHS", os.path.dirname(elpa_module[0]))) + args.append(self.define("INC_PATHS", ";".join(set(inc_paths)))) # Only when using fujitsu compiler if self.spec.satisfies("%fj"): diff --git a/var/spack/repos/builtin/packages/emacs/package.py b/var/spack/repos/builtin/packages/emacs/package.py index 7b5c0493d2df11..993f08428a1846 100644 --- a/var/spack/repos/builtin/packages/emacs/package.py +++ b/var/spack/repos/builtin/packages/emacs/package.py @@ -36,6 +36,10 @@ class Emacs(AutotoolsPackage, GNUMirrorPackage): version("25.1", sha256="763344b90db4d40e9fe90c5d14748a9dbd201ce544e2cf0835ab48a0aa4a1c67") version("24.5", sha256="2737a6622fb2d9982e9c47fb6f2fb297bda42674e09db40fc9bcc0db4297c3b6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("X", default=False, description="Enable an X toolkit") variant( "toolkit", diff --git a/var/spack/repos/builtin/packages/ember/package.py b/var/spack/repos/builtin/packages/ember/package.py index 3f3bf23dcfd18f..a010792a6353f7 100644 --- a/var/spack/repos/builtin/packages/ember/package.py +++ b/var/spack/repos/builtin/packages/ember/package.py @@ -24,6 +24,8 @@ class Ember(MakefilePackage): version("1.0.0", sha256="5b2a6b8055b46ab3ea2c7baabaf4d280d837bb7c21eba0c9f59e092c6fc1c4a6") + depends_on("c", type="build") # generated + depends_on("mpi") # TODO: shmem variant disabled due to lack of shmem spackage diff --git a/var/spack/repos/builtin/packages/emboss/package.py b/var/spack/repos/builtin/packages/emboss/package.py index 387e4f34646c67..a02570a1dea788 100644 --- a/var/spack/repos/builtin/packages/emboss/package.py +++ b/var/spack/repos/builtin/packages/emboss/package.py @@ -18,6 +18,8 @@ class Emboss(AutotoolsPackage): version("6.6.0", sha256="7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e") + depends_on("c", type="build") # generated + depends_on("libxpm") depends_on("libgd") depends_on("postgresql") diff --git a/var/spack/repos/builtin/packages/embree/package.py b/var/spack/repos/builtin/packages/embree/package.py index eea9a804ac06f9..2ad0c8bd77ffff 100644 --- a/var/spack/repos/builtin/packages/embree/package.py +++ b/var/spack/repos/builtin/packages/embree/package.py @@ -36,6 +36,9 @@ class Embree(CMakePackage): version("3.8.0", sha256="40cbc90640f63c318e109365d29aea00003e4bd14aaba8bb654fc1010ea5753a") version("3.7.0", sha256="2b6300ebe30bb3d2c6e5f23112b4e21a25a384a49c5e3c35440aa6f3c8d9fe84") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("ispc", default=True, description="Enable ISPC support") depends_on("ispc", when="+ispc", type="build") diff --git a/var/spack/repos/builtin/packages/enca/package.py b/var/spack/repos/builtin/packages/enca/package.py index 8d3d67ca8e69d9..f784a79af25759 100644 --- a/var/spack/repos/builtin/packages/enca/package.py +++ b/var/spack/repos/builtin/packages/enca/package.py @@ -19,6 +19,8 @@ class Enca(AutotoolsPackage): version("1.17", sha256="b20372440c500e6463bd61dab0e68131cdfe857c6b7ca139b5c6cbf01e24fdc7") version("1.16", sha256="14457b185c77b947ca2f8e09a2c3ec66940d97a2ccea28b8e61a6e0f3a0033f6") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/enchant/package.py b/var/spack/repos/builtin/packages/enchant/package.py index b32545e730bd1e..ca045bb5f80594 100644 --- a/var/spack/repos/builtin/packages/enchant/package.py +++ b/var/spack/repos/builtin/packages/enchant/package.py @@ -30,6 +30,9 @@ class Enchant(AutotoolsPackage): version("2.1.1", sha256="5fad0a1e82ddfed91647e93da5955fc76249760fd51865648a36074dc97d526c") version("2.1.0", sha256="2cdda2d9edb62ad895c34be35c598d56ac5b9b9298f3dfdaa2b40a1914d1db7e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("hunspell", default=True, description="Enables hunspell backend") depends_on("glib") diff --git a/var/spack/repos/builtin/packages/energyplus/package.py b/var/spack/repos/builtin/packages/energyplus/package.py index c0c1774edc0f2b..efae17adbf76d9 100644 --- a/var/spack/repos/builtin/packages/energyplus/package.py +++ b/var/spack/repos/builtin/packages/energyplus/package.py @@ -34,6 +34,9 @@ class Energyplus(Package): url="https://github.com/NREL/EnergyPlus/releases/download/v8.9.0-WithIDDFixes/EnergyPlus-8.9.0-eba93e8e1b-Linux-x86_64.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): # binary distribution, we just unpack to lib/energyplus # and then symlink the appropriate targets diff --git a/var/spack/repos/builtin/packages/ensmallen/package.py b/var/spack/repos/builtin/packages/ensmallen/package.py index 606bf98b7c0c5c..921c97535a5d9e 100644 --- a/var/spack/repos/builtin/packages/ensmallen/package.py +++ b/var/spack/repos/builtin/packages/ensmallen/package.py @@ -24,6 +24,8 @@ class Ensmallen(CMakePackage): version("2.21.1", sha256="820eee4d8aa32662ff6a7d883a1bcaf4e9bf9ca0a3171d94c5398fe745008750") version("2.19.1", sha256="f36ad7f08b0688d2a8152e1c73dd437c56ed7a5af5facf65db6ffd977b275b2e") + depends_on("cxx", type="build") # generated + variant("openmp", default=True, description="Use OpenMP for parallelization") depends_on("cmake@3.3.2:") diff --git a/var/spack/repos/builtin/packages/entt/package.py b/var/spack/repos/builtin/packages/entt/package.py index 5eb3cdb9b757ca..1ebfab0249a9c5 100644 --- a/var/spack/repos/builtin/packages/entt/package.py +++ b/var/spack/repos/builtin/packages/entt/package.py @@ -21,6 +21,8 @@ class Entt(CMakePackage): version("3.11.1", sha256="0ac010f232d3089200c5e545bcbd6480cf68b705de6930d8ff7cdb0a29f5b47b") version("3.5.2", sha256="f9271293c44518386c402c9a2188627819748f66302df48af4f6d08e30661036") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.7.0:", type="build") depends_on("doxygen@1.8.0:", type="build") diff --git a/var/spack/repos/builtin/packages/environment-modules/package.py b/var/spack/repos/builtin/packages/environment-modules/package.py index 351191187874d1..3bd8426794234e 100644 --- a/var/spack/repos/builtin/packages/environment-modules/package.py +++ b/var/spack/repos/builtin/packages/environment-modules/package.py @@ -58,6 +58,8 @@ class EnvironmentModules(Package): url="http://prdownloads.sourceforge.net/modules/modules-3.2.10.tar.gz", ) + depends_on("c", type="build") # generated + variant("X", default=True, description="Build with X functionality") depends_on("less", type=("build", "run"), when="@4.1:") diff --git a/var/spack/repos/builtin/packages/enzo/package.py b/var/spack/repos/builtin/packages/enzo/package.py index b8498d08626432..fa4c5fd8bcaf9f 100644 --- a/var/spack/repos/builtin/packages/enzo/package.py +++ b/var/spack/repos/builtin/packages/enzo/package.py @@ -17,6 +17,10 @@ class Enzo(MakefilePackage): version("master", branch="main", deprecated=True) version("2.6.1", sha256="280270accfc1ddb60e92cc98ca538a3e5787e8cc93ed58fb5c3ab75db8c4b048") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("hdf5~mpi") depends_on("sse2neon", when="target=aarch64:") diff --git a/var/spack/repos/builtin/packages/enzyme/package.py b/var/spack/repos/builtin/packages/enzyme/package.py index ab1db23e04ba0b..ea57c0a86e28c7 100644 --- a/var/spack/repos/builtin/packages/enzyme/package.py +++ b/var/spack/repos/builtin/packages/enzyme/package.py @@ -33,6 +33,10 @@ class Enzyme(CMakePackage): version("0.0.14", sha256="740641eeeeadaf47942ac88cc52e62ddc0e8c25767a501bed36ec241cf258b8d") version("0.0.13", sha256="d4a53964ec1f763772db2c56e6734269b7656c8b2ecd41fa7a41315bcd896b5a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("llvm@7:12", when="@0.0.13:0.0.15") depends_on("llvm@7:14", when="@0.0.32:0.0.47") depends_on("llvm@7:14", when="@0.0.48:0.0.68") diff --git a/var/spack/repos/builtin/packages/eospac/package.py b/var/spack/repos/builtin/packages/eospac/package.py index 2e7ac65facafec..bcf8f62a713504 100644 --- a/var/spack/repos/builtin/packages/eospac/package.py +++ b/var/spack/repos/builtin/packages/eospac/package.py @@ -128,6 +128,10 @@ class Eospac(Package): url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.3.1_r20161202150449.tgz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # This patch allows the use of spack's compile wrapper 'flang' patch("flang.patch", when="@:6.4.0beta.2%clang") patch("frt.patch", when="%fj") diff --git a/var/spack/repos/builtin/packages/epics-base/package.py b/var/spack/repos/builtin/packages/epics-base/package.py index 2509eab83eb850..b08a31b7328f90 100644 --- a/var/spack/repos/builtin/packages/epics-base/package.py +++ b/var/spack/repos/builtin/packages/epics-base/package.py @@ -20,6 +20,9 @@ class EpicsBase(MakefilePackage): version("7.0.6.1", sha256="8ff318f25e2b70df466f933636a2da85e4b0c841504b9e89857652a4786b6387") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("readline") depends_on("perl", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/epics-ca-gateway/package.py b/var/spack/repos/builtin/packages/epics-ca-gateway/package.py index fbaf1dc9613343..8b6ba207834d1f 100644 --- a/var/spack/repos/builtin/packages/epics-ca-gateway/package.py +++ b/var/spack/repos/builtin/packages/epics-ca-gateway/package.py @@ -21,6 +21,8 @@ class EpicsCaGateway(MakefilePackage): version("2.1.3", sha256="f6e9dba46951a168d3208fc57054138759d56ebd8a7c07b496e8f5b8a56027d7") + depends_on("cxx", type="build") # generated + depends_on("epics-base") depends_on("epics-pcas") diff --git a/var/spack/repos/builtin/packages/epics-pcas/package.py b/var/spack/repos/builtin/packages/epics-pcas/package.py index 14e02f0a09f5d8..f745369ed35f30 100644 --- a/var/spack/repos/builtin/packages/epics-pcas/package.py +++ b/var/spack/repos/builtin/packages/epics-pcas/package.py @@ -18,6 +18,9 @@ class EpicsPcas(MakefilePackage): version("4.13.3", sha256="5004e39339c8e592fcb9b4275c84143635c6e688c0fbe01f17dafe19850398a0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("epics-base", type=("build", "link", "run")) @property diff --git a/var/spack/repos/builtin/packages/eprosima-fastcdr/package.py b/var/spack/repos/builtin/packages/eprosima-fastcdr/package.py index 3f7e1b8f72f6c6..8cdb0d4f7f0d9f 100644 --- a/var/spack/repos/builtin/packages/eprosima-fastcdr/package.py +++ b/var/spack/repos/builtin/packages/eprosima-fastcdr/package.py @@ -19,3 +19,5 @@ class EprosimaFastcdr(CMakePackage): version("2.2.1", sha256="11079a534cda791a8fc28d93ecb518bbd3804c0d4e9ca340ab24dcc21ad69a04") version("2.2.0", sha256="8a75ee3aed59f495e95208050920d2c2146df92f073809505a3bd29011c21f20") version("1.0.27", sha256="a9bc8fd31a2c2b95e6d2fb46e6ce1ad733e86dc4442f733479e33ed9cdc54bf6") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/eprosima-fastdds/package.py b/var/spack/repos/builtin/packages/eprosima-fastdds/package.py index 3af859c1fffa40..bf139fb5e7b3a6 100644 --- a/var/spack/repos/builtin/packages/eprosima-fastdds/package.py +++ b/var/spack/repos/builtin/packages/eprosima-fastdds/package.py @@ -20,6 +20,9 @@ class EprosimaFastdds(CMakePackage): version("2.10.1", sha256="2cc2682db5dc7e87684b7f23166e2f32faf8d5c4b4a8c94c6c21211a8a38f553") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("asio") depends_on("tinyxml2") depends_on("openssl") diff --git a/var/spack/repos/builtin/packages/epsic/package.py b/var/spack/repos/builtin/packages/epsic/package.py index 16144c585d1bf9..65cd58256b9bc4 100644 --- a/var/spack/repos/builtin/packages/epsic/package.py +++ b/var/spack/repos/builtin/packages/epsic/package.py @@ -19,6 +19,8 @@ class Epsic(AutotoolsPackage): # https://github.com/lwa-project/pulsar/blob/master/SoftwareStack.md # last updated 10/17/2020 version("LWA-10-17-2020", commit="5315cc634f6539ea0a34e403e492472b97e0f086") + + depends_on("cxx", type="build") # generated depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("yacc", when="@develop", type="build") diff --git a/var/spack/repos/builtin/packages/eq-r/package.py b/var/spack/repos/builtin/packages/eq-r/package.py index 81670ed8db7347..077a13db46dd11 100644 --- a/var/spack/repos/builtin/packages/eq-r/package.py +++ b/var/spack/repos/builtin/packages/eq-r/package.py @@ -22,6 +22,8 @@ class EqR(AutotoolsPackage): version("1.0", sha256="68047cb0edf088eaaefc5e36cefda9818292e5c832593e10a1dd9c73c27661b6") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/er/package.py b/var/spack/repos/builtin/packages/er/package.py index 2e58cb5282af8d..499091390e7c7f 100644 --- a/var/spack/repos/builtin/packages/er/package.py +++ b/var/spack/repos/builtin/packages/er/package.py @@ -26,6 +26,8 @@ class Er(CMakePackage): version("0.0.4", sha256="c456d34719bb57774adf6d7bc2fa9917ecb4a9de442091023c931a2cb83dfd37") version("0.0.3", sha256="243b2b46ea274e17417ef5873c3ed7ba16dacdfdaf7053d1de5434e300de796b") + depends_on("c", type="build") # generated + depends_on("mpi") depends_on("kvtree+mpi") depends_on("rankstr", when="@0.0.4:") diff --git a/var/spack/repos/builtin/packages/erfa/package.py b/var/spack/repos/builtin/packages/erfa/package.py index b1132258d41dc0..d5105430566b07 100644 --- a/var/spack/repos/builtin/packages/erfa/package.py +++ b/var/spack/repos/builtin/packages/erfa/package.py @@ -16,3 +16,5 @@ class Erfa(AutotoolsPackage): version("2.0.0", sha256="75cb0a2cc1561d24203d9d0e67c21f105e45a70181d57f158e64a46a50ccd515") version("1.7.0", sha256="f0787e30e848750c0cbfc14827de6fc7f69a2d5ef0fc653504e74b8967a764e0") version("1.4.0", sha256="035b7f0ad05c1191b8588191ba4b19ba0f31afa57ad561d33bd5417d9f23e460") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/erlang/package.py b/var/spack/repos/builtin/packages/erlang/package.py index e21d2d736d6917..7a6b4b1db579fd 100644 --- a/var/spack/repos/builtin/packages/erlang/package.py +++ b/var/spack/repos/builtin/packages/erlang/package.py @@ -31,6 +31,8 @@ class Erlang(AutotoolsPackage): version("21.3", sha256="69a743c4f23b2243e06170b1937558122142e47c8ebe652be143199bfafad6e4") version("21.2", sha256="f6b07bf8e6705915679a63363ce80faaa6b7c231e7236cde443d6445f7430334") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("m4", type="build") diff --git a/var/spack/repos/builtin/packages/erne/package.py b/var/spack/repos/builtin/packages/erne/package.py index dee89bebb8af5e..385cf0876eb36c 100644 --- a/var/spack/repos/builtin/packages/erne/package.py +++ b/var/spack/repos/builtin/packages/erne/package.py @@ -16,6 +16,9 @@ class Erne(AutotoolsPackage): version("2.1.1", sha256="f32ab48481fd6c129b0a0246ab02b6e3a2a9da84024e1349510a59c15425d983") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=False, description="Build with OpenMPI support") depends_on( diff --git a/var/spack/repos/builtin/packages/es-shell/package.py b/var/spack/repos/builtin/packages/es-shell/package.py index 79c23768054417..ca7a8104e0178c 100644 --- a/var/spack/repos/builtin/packages/es-shell/package.py +++ b/var/spack/repos/builtin/packages/es-shell/package.py @@ -20,5 +20,7 @@ class EsShell(AutotoolsPackage): version("0.9.1", sha256="b0b41fce99b122a173a06b899a4d92e5bd3cc48b227b2736159f596a58fff4ba") + depends_on("c", type="build") # generated + depends_on("readline") depends_on("yacc") diff --git a/var/spack/repos/builtin/packages/esmf/package.py b/var/spack/repos/builtin/packages/esmf/package.py index f1f1522a05f6be..42ef7a52b2ca62 100644 --- a/var/spack/repos/builtin/packages/esmf/package.py +++ b/var/spack/repos/builtin/packages/esmf/package.py @@ -65,6 +65,10 @@ class Esmf(MakefilePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Build with MPI support") variant("external-lapack", default=False, description="Build with external LAPACK library") variant("netcdf", default=True, description="Build with NetCDF support") @@ -330,9 +334,8 @@ def setup_build_environment(self, env): # ESMF code. env.set("ESMF_LAPACK", "system") - # FIXME: determine whether or not we need to set this # Specifies the path where the LAPACK library is located. - # env.set("ESMF_LAPACK_LIBPATH", spec["lapack"].prefix.lib) + env.set("ESMF_LAPACK_LIBPATH", spec["lapack"].prefix.lib) # Specifies the linker directive needed to link the LAPACK library # to the application. diff --git a/var/spack/repos/builtin/packages/esys-particle/package.py b/var/spack/repos/builtin/packages/esys-particle/package.py index 0475d965d8fa85..7021384dd9d75e 100644 --- a/var/spack/repos/builtin/packages/esys-particle/package.py +++ b/var/spack/repos/builtin/packages/esys-particle/package.py @@ -21,6 +21,8 @@ class EsysParticle(CMakePackage): version("3.0-alpha", sha256="4fba856a95c93991cacb904e6a54a7ded93558f7adc8c3e6da99bc347843a434") + depends_on("cxx", type="build") # generated + depends_on("mpi") depends_on("boost@1.71.0+python") depends_on("python@3.6:") diff --git a/var/spack/repos/builtin/packages/ethminer/package.py b/var/spack/repos/builtin/packages/ethminer/package.py index ae28904c544981..35a564e6ff10aa 100644 --- a/var/spack/repos/builtin/packages/ethminer/package.py +++ b/var/spack/repos/builtin/packages/ethminer/package.py @@ -17,6 +17,9 @@ class Ethminer(CMakePackage): version("0.12.0", sha256="71122c8aa1be2c29e46d7f07961fa760b1eb390e4d9a2a21cf900f6482a8755a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("opencl", default=True, description="Enable OpenCL mining.") variant("cuda", default=False, description="Enable CUDA mining.") variant("stratum", default=True, description="Build with Stratum protocol support.") diff --git a/var/spack/repos/builtin/packages/ethtool/package.py b/var/spack/repos/builtin/packages/ethtool/package.py index da8800471b0704..04f9bcddda9730 100644 --- a/var/spack/repos/builtin/packages/ethtool/package.py +++ b/var/spack/repos/builtin/packages/ethtool/package.py @@ -17,6 +17,8 @@ class Ethtool(AutotoolsPackage): version("4.8", sha256="e4443c612b01b6c4891e21f55a59aa2d6da1c9915edcf067bb66a0855590e143") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/etsf-io/package.py b/var/spack/repos/builtin/packages/etsf-io/package.py index df30e5e257a594..6cd2476ec34d68 100644 --- a/var/spack/repos/builtin/packages/etsf-io/package.py +++ b/var/spack/repos/builtin/packages/etsf-io/package.py @@ -22,6 +22,8 @@ class EtsfIo(Package): version("1.0.4", sha256="3140c2cde17f578a0e6b63acb27a5f6e9352257a1371a17b9c15c3d0ef078fa4") + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Add MPI support") depends_on("netcdf-fortran") diff --git a/var/spack/repos/builtin/packages/eve/package.py b/var/spack/repos/builtin/packages/eve/package.py index aa0da87e422ca9..76dcd756322cb6 100644 --- a/var/spack/repos/builtin/packages/eve/package.py +++ b/var/spack/repos/builtin/packages/eve/package.py @@ -24,3 +24,5 @@ class Eve(CMakePackage): version("2022.09.0", sha256="53a4e1944a1080c67380a6d7f4fb42998f1c1db35e2370e02d7853c3ac1e0a33") version("2022.03.0", sha256="8bf9faea516806e7dd468e778dcedc81c51f0b2c6a70b9c75987ce12bb759911") version("2021.10.0", sha256="580c40a8244039a700b93ea49fb0affc1c8d3c100eb6dc66368e101753f51e5c") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/everytrace-example/package.py b/var/spack/repos/builtin/packages/everytrace-example/package.py index 4ea4c237b67c31..28529bd9108dd1 100644 --- a/var/spack/repos/builtin/packages/everytrace-example/package.py +++ b/var/spack/repos/builtin/packages/everytrace-example/package.py @@ -16,6 +16,8 @@ class EverytraceExample(CMakePackage): version("develop", branch="develop") + depends_on("cxx", type="build") # generated + depends_on("everytrace+mpi+fortran") # Currently the only MPI this everytrace works with. diff --git a/var/spack/repos/builtin/packages/everytrace/package.py b/var/spack/repos/builtin/packages/everytrace/package.py index 3e5c1d9c88ee4b..9ab3a30868735f 100644 --- a/var/spack/repos/builtin/packages/everytrace/package.py +++ b/var/spack/repos/builtin/packages/everytrace/package.py @@ -20,6 +20,10 @@ class Everytrace(CMakePackage): version("develop", branch="develop") version("0.2.2", sha256="0487276bb24e648388862d8e1d8cfe56b529f7e3d840df3fcb5b3a3dad4016e1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enables MPI parallelism") variant("fortran", default=True, description="Enable use with Fortran programs") variant("cxx", default=True, description="Enable C++ Exception-based features") diff --git a/var/spack/repos/builtin/packages/evtgen/package.py b/var/spack/repos/builtin/packages/evtgen/package.py index 51b12f1111869e..093f029ab88afd 100644 --- a/var/spack/repos/builtin/packages/evtgen/package.py +++ b/var/spack/repos/builtin/packages/evtgen/package.py @@ -27,6 +27,8 @@ class Evtgen(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + variant("pythia8", default=True, description="Build with pythia8") variant("tauola", default=False, description="Build with tauola") variant("photos", default=False, description="Build with photos") diff --git a/var/spack/repos/builtin/packages/exabayes/package.py b/var/spack/repos/builtin/packages/exabayes/package.py index ce1937dc1f8ae7..3ffb5122fa3a38 100644 --- a/var/spack/repos/builtin/packages/exabayes/package.py +++ b/var/spack/repos/builtin/packages/exabayes/package.py @@ -19,6 +19,9 @@ class Exabayes(AutotoolsPackage): version("1.5.1", sha256="f75ce8d5cee4d241cadacd0f5f5612d783b9e9babff2a99c7e0c3819a94bbca9") version("1.5", sha256="e401f1b4645e67e8879d296807131d0ab79bba81a1cd5afea14d7c3838b095a2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Enable MPI parallel support") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/exaca/package.py b/var/spack/repos/builtin/packages/exaca/package.py index b1fd6416b9fdf3..ce79d0ad6bd46e 100644 --- a/var/spack/repos/builtin/packages/exaca/package.py +++ b/var/spack/repos/builtin/packages/exaca/package.py @@ -25,6 +25,8 @@ class Exaca(CMakePackage): version("1.1.0", sha256="10106fb1836964a19bc5bab3f374baa24188ba786c768e554442ab896b31ff24") version("1.0.0", sha256="48556233360a5e15e1fc20849e57dd60739c1991c7dfc7e6b2956af06688b96a") + depends_on("cxx", type="build") # generated + _kokkos_backends = Kokkos.devices_variants for _backend in _kokkos_backends: _deflt, _descr = _kokkos_backends[_backend] diff --git a/var/spack/repos/builtin/packages/exago/package.py b/var/spack/repos/builtin/packages/exago/package.py index 808e286574c4ac..44680143067002 100644 --- a/var/spack/repos/builtin/packages/exago/package.py +++ b/var/spack/repos/builtin/packages/exago/package.py @@ -60,6 +60,10 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage): ) version("kpp2", tag="kpp2", commit="1da764d80a2db793f4c43ca50e50981f7ed3880a", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Progrmming model options variant("mpi", default=True, description="Enable/Disable MPI") variant("raja", default=False, description="Enable/Disable RAJA") diff --git a/var/spack/repos/builtin/packages/examl/package.py b/var/spack/repos/builtin/packages/examl/package.py index 1747eb95ea7439..958b8095872ba8 100644 --- a/var/spack/repos/builtin/packages/examl/package.py +++ b/var/spack/repos/builtin/packages/examl/package.py @@ -31,6 +31,8 @@ class Examl(MakefilePackage): version("3.0.14", sha256="698b538996946ae23a2d6fa1e230c210832e59080da33679ff7d6b342a9e6180") version("3.0.13", sha256="893aecb5545798235a17975aa07268693d3526d0aee0ed59a2d6e791248791ed") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Enable MPI parallel support") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/exampm/package.py b/var/spack/repos/builtin/packages/exampm/package.py index 5c3a4280229ec0..0da28676d39fac 100644 --- a/var/spack/repos/builtin/packages/exampm/package.py +++ b/var/spack/repos/builtin/packages/exampm/package.py @@ -20,6 +20,8 @@ class Exampm(CMakePackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/exasp2/package.py b/var/spack/repos/builtin/packages/exasp2/package.py index e19cb8d201427e..2b13d5a59e2fae 100644 --- a/var/spack/repos/builtin/packages/exasp2/package.py +++ b/var/spack/repos/builtin/packages/exasp2/package.py @@ -32,6 +32,8 @@ class Exasp2(MakefilePackage): version("develop", branch="master") version("1.0", sha256="59986ea70391a1b382d2ed22d5cf013f46c0c15e44ed95dcd875a917adfc6211") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Build With MPI Support") depends_on("bml") diff --git a/var/spack/repos/builtin/packages/exawind/package.py b/var/spack/repos/builtin/packages/exawind/package.py index 2db941c6648711..79791711b77aa9 100644 --- a/var/spack/repos/builtin/packages/exawind/package.py +++ b/var/spack/repos/builtin/packages/exawind/package.py @@ -21,6 +21,8 @@ class Exawind(CMakePackage, CudaPackage, ROCmPackage): version("master", branch="main", submodules=True, preferred=True) version("1.0.0", tag="v1.0.0", submodules=True) + depends_on("cxx", type="build") # generated + variant("amr_wind_gpu", default=False, description="Enable AMR-Wind on the GPU") variant("nalu_wind_gpu", default=False, description="Enable Nalu-Wind on the GPU") variant("sycl", default=False, description="Enable SYCL backend for AMR-Wind") diff --git a/var/spack/repos/builtin/packages/exciting/package.py b/var/spack/repos/builtin/packages/exciting/package.py index 72e9c2f82be1b2..c47b27536aacfa 100644 --- a/var/spack/repos/builtin/packages/exciting/package.py +++ b/var/spack/repos/builtin/packages/exciting/package.py @@ -24,6 +24,10 @@ class Exciting(MakefilePackage): version("oxygen", branch="oxygen_release", preferred=True) version("14", sha256="a7feaffdc23881d6c0737d2f79f94d9bf073e85ea358a57196d7f7618a0a3eff") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # as-of-yet unpublished fix to version 14 patch("dfgather.patch", when="@14", working_dir="src/src_xs", level=0) # Patch to add aarch64 in config.guess diff --git a/var/spack/repos/builtin/packages/exempi/package.py b/var/spack/repos/builtin/packages/exempi/package.py index f720a3a56b4ce9..2e3a2e126fe225 100644 --- a/var/spack/repos/builtin/packages/exempi/package.py +++ b/var/spack/repos/builtin/packages/exempi/package.py @@ -22,6 +22,8 @@ class Exempi(AutotoolsPackage): version("2.6.1", sha256="072451ac1e0dc97ed69a2e5bfc235fd94fe093d837f65584d0e3581af5db18cd") version("2.5.2", sha256="52f54314aefd45945d47a6ecf4bd21f362e6467fa5d0538b0d45a06bc6eaaed5") + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("iconv") # needs +test variant to prevent following error: diff --git a/var/spack/repos/builtin/packages/exiv2/package.py b/var/spack/repos/builtin/packages/exiv2/package.py index 937576b4ae9721..181f0c3e0bfbc4 100644 --- a/var/spack/repos/builtin/packages/exiv2/package.py +++ b/var/spack/repos/builtin/packages/exiv2/package.py @@ -22,5 +22,7 @@ class Exiv2(CMakePackage): version("0.27.3", sha256="6398bc743c32b85b2cb2a604273b8c90aa4eb0fd7c1700bf66cbb2712b4f00c1") version("0.27.2", sha256="3dbcaf01fbc5b98d42f091d1ff0d4b6cd9750dc724de3d9c0d113948570b2934") + depends_on("cxx", type="build") # generated + depends_on("zlib-api", type="link") depends_on("expat@2.2.6:", type="link") diff --git a/var/spack/repos/builtin/packages/exmcutils/package.py b/var/spack/repos/builtin/packages/exmcutils/package.py index 8cd81156133fe0..6629a68a693219 100644 --- a/var/spack/repos/builtin/packages/exmcutils/package.py +++ b/var/spack/repos/builtin/packages/exmcutils/package.py @@ -19,6 +19,8 @@ class Exmcutils(AutotoolsPackage): version("0.5.7", sha256="6b84f43e8928d835dbd68c735ece6a9b7c648a1a4488ec2b1d2f3c4ceec508e8") version("0.5.6", sha256="296ba85cc828bd816c7c4de9453f589da37f32854a58ffda3586b6f371a23abf") + depends_on("c", type="build") # generated + @property def configure_directory(self): if self.version == Version("master"): diff --git a/var/spack/repos/builtin/packages/exonerate-gff3/package.py b/var/spack/repos/builtin/packages/exonerate-gff3/package.py index 3d7fac832ccce0..eb5c6234bdde38 100644 --- a/var/spack/repos/builtin/packages/exonerate-gff3/package.py +++ b/var/spack/repos/builtin/packages/exonerate-gff3/package.py @@ -18,6 +18,8 @@ class ExonerateGff3(AutotoolsPackage): version("2.3.0", sha256="eeab7ea8bc815fc4a37d4c3b89c625167a9a60a4a833b5cc96e32dc313eafd1f") + depends_on("c", type="build") # generated + depends_on("glib") # parallel builds fail occasionally diff --git a/var/spack/repos/builtin/packages/exonerate/package.py b/var/spack/repos/builtin/packages/exonerate/package.py index 0eac5a46059404..1453cf9074765f 100644 --- a/var/spack/repos/builtin/packages/exonerate/package.py +++ b/var/spack/repos/builtin/packages/exonerate/package.py @@ -16,6 +16,8 @@ class Exonerate(AutotoolsPackage): version("2.4.0", sha256="f849261dc7c97ef1f15f222e955b0d3daf994ec13c9db7766f1ac7e77baa4042") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("glib") diff --git a/var/spack/repos/builtin/packages/expat/package.py b/var/spack/repos/builtin/packages/expat/package.py index 36d79c06c76c1e..38d9b3ab038db8 100644 --- a/var/spack/repos/builtin/packages/expat/package.py +++ b/var/spack/repos/builtin/packages/expat/package.py @@ -139,6 +139,9 @@ class Expat(AutotoolsPackage, CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + build_system("autotools", "cmake", default="autotools") # Version 2.2.2 introduced a requirement for a high quality diff --git a/var/spack/repos/builtin/packages/expect/package.py b/var/spack/repos/builtin/packages/expect/package.py index 372817b8d660df..33f79fe2d9ba18 100644 --- a/var/spack/repos/builtin/packages/expect/package.py +++ b/var/spack/repos/builtin/packages/expect/package.py @@ -24,6 +24,8 @@ class Expect(AutotoolsPackage): version("5.45.3", sha256="c520717b7195944a69ce1492ec82ca0ac3f3baf060804e6c5ee6d505ea512be9") version("5.45", sha256="b28dca90428a3b30e650525cdc16255d76bb6ccd65d448be53e620d95d5cc040") + depends_on("c", type="build") # generated + depends_on("tcl") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/extrae/package.py b/var/spack/repos/builtin/packages/extrae/package.py index 1eb38a0a4c595c..69d04447c4263e 100644 --- a/var/spack/repos/builtin/packages/extrae/package.py +++ b/var/spack/repos/builtin/packages/extrae/package.py @@ -51,6 +51,10 @@ class Extrae(AutotoolsPackage): version("3.7.1", sha256="c83ddd18a380c9414d64ee5de263efc6f7bac5fe362d5b8374170c7f18360378") version("3.4.1", sha256="77bfec16d6b5eee061fbaa879949dcef4cad28395d6a546b1ae1b9246f142725") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/exuberant-ctags/package.py b/var/spack/repos/builtin/packages/exuberant-ctags/package.py index 41452896fad6ef..55ad28002993fc 100644 --- a/var/spack/repos/builtin/packages/exuberant-ctags/package.py +++ b/var/spack/repos/builtin/packages/exuberant-ctags/package.py @@ -16,4 +16,6 @@ class ExuberantCtags(AutotoolsPackage): version("5.8", sha256="0e44b45dcabe969e0bbbb11e30c246f81abe5d32012db37395eb57d66e9e99c7") + depends_on("c", type="build") # generated + patch("ctags-5.8-gcc-unused-attribute.patch", when="@5.8") diff --git a/var/spack/repos/builtin/packages/eztrace/package.py b/var/spack/repos/builtin/packages/eztrace/package.py index 2a119e960e5d66..82c3678f7dbee7 100644 --- a/var/spack/repos/builtin/packages/eztrace/package.py +++ b/var/spack/repos/builtin/packages/eztrace/package.py @@ -3,17 +3,17 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.build_systems import autotools, cmake from spack.package import * -class Eztrace(Package): - """EZTrace is a tool to automatically generate execution traces - of HPC applications.""" +class Eztrace(CMakePackage, AutotoolsPackage, CudaPackage): + """EZTrace is a tool to automatically generate execution traces of HPC applications.""" homepage = "https://gitlab.com/eztrace" - maintainers("trahay") git = "https://gitlab.com/eztrace/eztrace.git" + maintainers("trahay") license("CECILL-B") version("master", branch="master") @@ -22,80 +22,50 @@ class Eztrace(Package): version("1.1-13", sha256="6144d04fb62b3ccad41af0268cd921161f168d0cca3f6c210c448bb0b07be7e0") version("1.1-10", sha256="63d1af2db38b04efa817614574f381e7536e12db06a2c75375d1795adda3d1d8") - # dependencies for eztrace 1.x and 2.x + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + + variant("starpu", default=False, description="Enable StarPU support", when="@2.1:") + variant("netcdf", default=False, description="Enable NetCDF support", when="@2.1:") + variant("pnetcdf", default=False, description="Enable PNetCDF support", when="@2.1:") + + build_system( + conditional("cmake", when="@2:"), conditional("autotools", when="@:1"), default="cmake" + ) + depends_on("mpi") depends_on("opari2") depends_on("binutils") + depends_on("otf2", when="@2:") - # eztrace 1.x dependencies - depends_on("autoconf@2.71", type="build", when="@:1") - depends_on("automake", type="build", when="@:1") - depends_on("libtool", type="build", when="@:1") - # Does not work on Darwin due to MAP_POPULATE - conflicts("platform=darwin", when="@:1") + with when("build_system=autotools"): + depends_on("autoconf", type="build") + depends_on("automake", type="build") + depends_on("libtool", type="build") - # eztrace 2.x dependencies - depends_on("cmake@3.1:", type="build", when="@2.0:") - depends_on("otf2", when="@2.0:") + with when("build_system=cmake"): + depends_on("cmake@3.1:", type="build") - variant("starpu", default=False, description="Enable StarPU support", when="@2.1:") - depends_on("starpu", when="@2.1:+starpu") - variant("cuda", default=False, description="Enable CUDA support", when="@2.1:") - depends_on("cuda", when="@2.1:+cuda") - variant("netcdf", default=False, description="Enable NetCDF support", when="@2.1:") - depends_on("netcdf-c", when="@2.1:+netcdf") - variant("pnetcdf", default=False, description="Enable PNetCDF support", when="@2.1:") - depends_on("parallel-netcdf", when="@2.1:+pnetcdf") + depends_on("starpu", when="+starpu") + depends_on("cuda", when="+cuda") + depends_on("netcdf-c", when="+netcdf") + depends_on("parallel-netcdf", when="+pnetcdf") - def url_for_version(self, version): - url = "https://gitlab.com/eztrace/eztrace/-/archive/{0}/eztrace-{1}.tar.gz" - return url.format(version, version) + patch( + "https://gitlab.com/eztrace/eztrace/-/commit/3aafa74b12bc2c7e0687f2dbcfc35a699487eb10.diff", + sha256="45321b0fd15db84840280c34a91ab877d0ceec6eb825f699f08a7bd135be3d79", + when="@:1", + ) - @when("@2.0:") - def install(self, spec, prefix): - # Since eztrace 2.0, the build system uses CMake - spec = self.spec - args = [ - "-DCMAKE_INSTALL_PREFIX=$prefix", - "-DEZTRACE_ENABLE_MEMORY=ON", - "-DEZTRACE_ENABLE_MPI=ON", - "-DEZTRACE_ENABLE_OPENMP=ON", - "-DEZTRACE_ENABLE_POSIXIO=ON", - "-DEZTRACE_ENABLE_PTHREAD=ON", - "-DOTF2_INCLUDE_PATH=%s" % spec["otf2"].prefix.include, - "-DOTF2_LIBRARY_PATH=%s" % spec["otf2"].libs, - ] + # Does not work on Darwin due to MAP_POPULATE + conflicts("platform=darwin", when="@:1") - if spec.satisfies("@2.1:"): - if spec.satisfies("%llvm-openmp-ompt"): - args.extend(["-DEZTRACE_ENABLE_OMPT=ON"]) - if "+starpu" in spec: - args.extend(["-DEZTRACE_ENABLE_STARPU=ON"]) - if "+cuda" in spec: - args.extend(["-DEZTRACE_ENABLE_CUDA=ON"]) - if "+netcdf" in spec: - args.extend(["-DEZTRACE_ENABLE_NETCDF=ON"]) - if "+pnetcdf" in spec: - args.extend(["-DEZTRACE_ENABLE_PNETCDF=ON"]) - - args.extend(std_cmake_args) - - with working_dir("spack-build", create=True): - cmake("..", *args) - make() - make("install") - - # Until eztrace 2.0, the build system uses autoconf - @when("@:1") - def install(self, spec, prefix): - if self.spec.satisfies("%fj"): - env.set("LDFLAGS", "--linkfortran") - self.patch() - which("bash")("bootstrap") - configure("--prefix=" + prefix, "--with-mpi={0}".format(self.spec["mpi"].prefix)) - self.fix_libtool() - make() - make("install") + # CUDA support from 2.1 + conflicts("+cuda", when="@:2.0") + + def url_for_version(self, version): + return f"https://gitlab.com/eztrace/eztrace/-/archive/{version}/eztrace-{version}.tar.gz" @when("@:1") def patch(self): @@ -106,9 +76,40 @@ def patch(self): string=True, ) - @when("@:1") - def fix_libtool(self): - if self.spec.satisfies("%fj"): - libtools = ["extlib/gtg/libtool", "extlib/opari2/build-frontend/libtool"] - for f in libtools: - filter_file('wl=""', 'wl="-Wl,"', f, string=True) + +class CMakeBuilder(cmake.CMakeBuilder): + def cmake_args(self): + spec = self.spec + args = [ + self.define("EZTRACE_ENABLE_MEMORY", True), + self.define("EZTRACE_ENABLE_MPI", True), + self.define("EZTRACE_ENABLE_OPENMP", True), + self.define("EZTRACE_ENABLE_POSIXIO", True), + self.define("EZTRACE_ENABLE_PTHREAD", True), + self.define("OTF2_INCLUDE_PATH", spec["otf2"].prefix.include), + self.define("OTF2_LIBRARY_PATH", spec["otf2"].libs), + ] + + if spec.satisfies("@2.1: %llvm-openmp-ompt"): + args.append(self.define("EZTRACE_ENABLE_OMPT", True)) + if "+starpu" in spec: + args.append(self.define("EZTRACE_ENABLE_STARPU", True)) + if "+cuda" in spec: + args.append(self.define("EZTRACE_ENABLE_CUDA", True)) + if "+netcdf" in spec: + args.append(self.define("EZTRACE_ENABLE_NETCDF", True)) + if "+pnetcdf" in spec: + args.append(self.define("EZTRACE_ENABLE_PNETCDF", True)) + + return args + + +class AutotoolsBuilder(autotools.AutotoolsBuilder): + def setup_build_environment(self, env): + env.set("LDFLAGS", "--linkfortran") + + def autoreconf(self, pkg, spec, prefix): + Executable("/bin/sh")("./bootstrap") + + def configure_args(self): + return [f"--with-mpi={self.spec['mpi'].prefix}"] diff --git a/var/spack/repos/builtin/packages/f2c/package.py b/var/spack/repos/builtin/packages/f2c/package.py index be2d921a1acd93..6e8bc62d11f149 100644 --- a/var/spack/repos/builtin/packages/f2c/package.py +++ b/var/spack/repos/builtin/packages/f2c/package.py @@ -14,6 +14,8 @@ class F2c(MakefilePackage): version("master", sha256="d4847456aa91c74e5e61e2097780ca6ac3b20869fae8864bfa8dcc66f6721d35") + depends_on("c", type="build") # generated + def url_for_version(self, version): url = "https://www.netlib.org/f2c/src.tgz" return url diff --git a/var/spack/repos/builtin/packages/f3d/package.py b/var/spack/repos/builtin/packages/f3d/package.py index 760cfbbb6f0ddb..fee8a91208bad8 100644 --- a/var/spack/repos/builtin/packages/f3d/package.py +++ b/var/spack/repos/builtin/packages/f3d/package.py @@ -17,4 +17,6 @@ class F3d(CMakePackage): version("2.0.0", sha256="5b335de78a9f68903d7023d947090d4b36fa15b9e165749906a82153e0f56d05") version("1.1.1", sha256="68bdbe3a90f2cd553d5e090a95d3c847e2a2f06abbe225ffecd47d3d29978b0a") + depends_on("cxx", type="build") # generated + depends_on("vtk@9:", type="link") diff --git a/var/spack/repos/builtin/packages/f77-zmq/package.py b/var/spack/repos/builtin/packages/f77-zmq/package.py index 645126b67d8ce8..0d180c933802c6 100644 --- a/var/spack/repos/builtin/packages/f77-zmq/package.py +++ b/var/spack/repos/builtin/packages/f77-zmq/package.py @@ -21,6 +21,9 @@ class F77Zmq(MakefilePackage): version("4.3.2", sha256="f1fb7544d38d9bb7235f98c96f241875ddcb0d37ed950618c23d4e4d666a73ca") version("4.3.1", sha256="a15d72d93022d3e095528d2808c7767cece974a2dc0e2dd95e4c122f60fcf0a8") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("libzmq") depends_on("python@3:", type="build", when="@:4.3.1") depends_on("python", type="build", when="@4.3.2:") diff --git a/var/spack/repos/builtin/packages/f90cache/package.py b/var/spack/repos/builtin/packages/f90cache/package.py index 29e3fc0f67f6e7..9013fbc1bd38f2 100644 --- a/var/spack/repos/builtin/packages/f90cache/package.py +++ b/var/spack/repos/builtin/packages/f90cache/package.py @@ -23,3 +23,5 @@ class F90cache(AutotoolsPackage): sha256="be3fe77b676bc784dd45b3f65b4a5db34d858ed29156b29d8da38b24585bda7d", url="http://distfiles.exherbo.org/distfiles/f90cache-0.99.tar.bz2", ) + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/fabtests/package.py b/var/spack/repos/builtin/packages/fabtests/package.py index 4c8aef39d8a503..041f1be910d435 100644 --- a/var/spack/repos/builtin/packages/fabtests/package.py +++ b/var/spack/repos/builtin/packages/fabtests/package.py @@ -16,7 +16,11 @@ class Fabtests(AutotoolsPackage): license("GPL-2.0-only") + version("1.21.0", sha256="d022a186d37bd6ccb52303e0588c28e29f0f56c25a384c37acb16c881ba99e64") + version("1.20.2", sha256="624beb02ffc8e325834545810566330f2a1204d5c6ad015ba095303121cb8ae6") + version("1.20.1", sha256="687884b6fd3046f46e2f878e19e76e4506b50950bd2f59a731618b89d02a5436") version("1.20.0", sha256="61d483452163b39d81dcb9f578e5d9007817e0496235bc2aac1e82b7737fd65e") + version("1.19.1", sha256="57b11f2e0e3cd77b104d63f0ecb453161fa8a17bc4f7ca2d7a17a7a34f7fb85c") version("1.19.0", sha256="82d714020df9258cfdd659c51f2be8f4507cbe157c7f03c992c70fc528d8d837") version("1.18.2", sha256="3d85486ff80151defdb66414a851a9a9a2d4adc6cf696e2b8e4bb3ce340512c2") version("1.18.1", sha256="fe9864acc0e17a5b0157b1cc996bb3c578cfa32c87bd43bc17b5e31e24ef63b5") @@ -37,8 +41,14 @@ class Fabtests(AutotoolsPackage): version("1.5.0", sha256="1dddd446c3f1df346899f9a8636f1b4265de5b863103ae24876e9f0c1e40a69d") version("1.4.2", sha256="3b78d0ca1b223ff21b7f5b3627e67e358e3c18b700f86b017e2233fee7e88c2e") + depends_on("c", type="build") # generated + versions = [ + "1.21.0", + "1.20.2", + "1.20.1", "1.20.0", + "1.19.1", "1.19.0", "1.18.2", "1.18.1", diff --git a/var/spack/repos/builtin/packages/fabulous/package.py b/var/spack/repos/builtin/packages/fabulous/package.py index 96427c3e2a4877..caa3285b4e617f 100644 --- a/var/spack/repos/builtin/packages/fabulous/package.py +++ b/var/spack/repos/builtin/packages/fabulous/package.py @@ -19,6 +19,10 @@ class Fabulous(CMakePackage): version("master", branch="master", submodules=True) version("1.1.3", sha256="a75a5461984360286c26b104c1d01ac6cf7c3151bfaa42d8e980eb072981f3ef") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("blasmt", default=False, description="use multi-threaded blas and lapack kernels") variant("examples", default=False, description="build examples and tests") diff --git a/var/spack/repos/builtin/packages/fairlogger/package.py b/var/spack/repos/builtin/packages/fairlogger/package.py index 83570639b9726b..a60fb497a4c335 100644 --- a/var/spack/repos/builtin/packages/fairlogger/package.py +++ b/var/spack/repos/builtin/packages/fairlogger/package.py @@ -81,6 +81,8 @@ class Fairlogger(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + generator("make", "ninja", default="ninja") variant( diff --git a/var/spack/repos/builtin/packages/fairmq/package.py b/var/spack/repos/builtin/packages/fairmq/package.py index bb21f841ca2896..18e5bcf60aac63 100644 --- a/var/spack/repos/builtin/packages/fairmq/package.py +++ b/var/spack/repos/builtin/packages/fairmq/package.py @@ -26,6 +26,8 @@ class Fairmq(CMakePackage): version("1.6.0", tag="v1.6.0", commit="42d27af20fb5cbbbc0b0fdfef1c981d51a8baf87") version("1.5.0", tag="v1.5.0", commit="c8fde17b6a10a467035590fd800bb693f50c4826") + depends_on("cxx", type="build") # generated + variant( "autobind", default=True, when="@1.7:", description="Override the channel autoBind default" ) diff --git a/var/spack/repos/builtin/packages/faiss/package.py b/var/spack/repos/builtin/packages/faiss/package.py index 8f4b6acb69af20..a7e415a6df92eb 100644 --- a/var/spack/repos/builtin/packages/faiss/package.py +++ b/var/spack/repos/builtin/packages/faiss/package.py @@ -35,6 +35,9 @@ class Faiss(AutotoolsPackage, CMakePackage, CudaPackage): version("1.6.3", sha256="e1a41c159f0b896975fbb133e0240a233af5c9286c09a28fde6aefff5336e542") version("1.5.3", sha256="b24d347b0285d01c2ed663ccc7596cd0ea95071f3dd5ebb573ccfc28f15f043b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("python", default=False, description="Build Python bindings") variant("shared", default=False, description="Build shared library") variant("tests", default=False, description="Build Tests") diff --git a/var/spack/repos/builtin/packages/fakechroot/package.py b/var/spack/repos/builtin/packages/fakechroot/package.py index c74d7597b1aec7..8ffb4b930a111a 100644 --- a/var/spack/repos/builtin/packages/fakechroot/package.py +++ b/var/spack/repos/builtin/packages/fakechroot/package.py @@ -21,3 +21,5 @@ class Fakechroot(AutotoolsPackage): version("2.20.1", sha256="5abd04323c9ddae06b5dcaa56b2da07728de3fe21007b08bd88a17b2409b32aa") version("2.20", sha256="5da99358d2a49ddd3dd54ba2ff401d93a8fa641e3754cd058bdf53adb4b7e100") version("2.19", sha256="39ffbbbe3a823be7450928b8e3b99ae4cb339c47213b2f1d8ff903e0246f2e15") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/fakexrandr/package.py b/var/spack/repos/builtin/packages/fakexrandr/package.py index e314fd3ebd5e12..4f7380281b41d2 100644 --- a/var/spack/repos/builtin/packages/fakexrandr/package.py +++ b/var/spack/repos/builtin/packages/fakexrandr/package.py @@ -15,6 +15,8 @@ class Fakexrandr(MakefilePackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("libxrandr") depends_on("libxinerama") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/falco/package.py b/var/spack/repos/builtin/packages/falco/package.py index 3b6c4268c8dcfc..d61d090123efd0 100644 --- a/var/spack/repos/builtin/packages/falco/package.py +++ b/var/spack/repos/builtin/packages/falco/package.py @@ -16,6 +16,8 @@ class Falco(AutotoolsPackage): version("1.2.1", sha256="33de8aafac45c7aea055ed7ab837d0a39d12dcf782816cea8a6c648acb911057") + depends_on("cxx", type="build") # generated + variant("htslib", default=False, description="Add support for BAM files") depends_on("gmake", type="build") diff --git a/var/spack/repos/builtin/packages/falcon/package.py b/var/spack/repos/builtin/packages/falcon/package.py index 898e13354ab0c7..8df968456fa9db 100644 --- a/var/spack/repos/builtin/packages/falcon/package.py +++ b/var/spack/repos/builtin/packages/falcon/package.py @@ -21,6 +21,8 @@ class Falcon(PythonPackage): version("2017-05-30", commit="86cec6157291679095ea6080b0cde6561eccc041") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="run") depends_on("py-pypeflow", type="run") depends_on("py-networkx@1.7:1.10", type=["build", "run"]) diff --git a/var/spack/repos/builtin/packages/fann/package.py b/var/spack/repos/builtin/packages/fann/package.py index ca48172e31661e..8ee6368055f58c 100644 --- a/var/spack/repos/builtin/packages/fann/package.py +++ b/var/spack/repos/builtin/packages/fann/package.py @@ -26,3 +26,6 @@ class Fann(CMakePackage): license("LGPL-2.0-or-later") version("2.2.0", sha256="f31c92c1589996f97d855939b37293478ac03d24b4e1c08ff21e0bd093449c3c") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/faodel/package.py b/var/spack/repos/builtin/packages/faodel/package.py index b4b600d299e6aa..8d91fe59b2295c 100644 --- a/var/spack/repos/builtin/packages/faodel/package.py +++ b/var/spack/repos/builtin/packages/faodel/package.py @@ -27,6 +27,9 @@ class Faodel(CMakePackage): version("1.1811.1", sha256="8e95ee99b8c136ff687eb07a2481ee04560cb1526408eb22ab56cd9c60206916") version("1.1803.1", sha256="70ce7125c02601e14abe5985243d67adf677ed9e7a4dd6d3eaef8a97cf281a16") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build Faodel as shared libs") variant("mpi", default=True, description="Enable MPI") diff --git a/var/spack/repos/builtin/packages/fargparse/package.py b/var/spack/repos/builtin/packages/fargparse/package.py index 232f949901effc..09b1ee0ca11668 100644 --- a/var/spack/repos/builtin/packages/fargparse/package.py +++ b/var/spack/repos/builtin/packages/fargparse/package.py @@ -30,6 +30,8 @@ class Fargparse(CMakePackage): version("1.2.0", sha256="4d14584d2bd5406267e3eacd35b50548dd9e408526465e89514690774217da70") version("1.1.2", sha256="89f63f181ccf183ca6212aee7ed7e39d510e3df938b0b16d487897ac9a61647f") + depends_on("fortran", type="build") # generated + depends_on("gftl-shared") depends_on("gftl") depends_on("cmake@3.12:", type="build") diff --git a/var/spack/repos/builtin/packages/fast-global-file-status/package.py b/var/spack/repos/builtin/packages/fast-global-file-status/package.py index 916bcab19334c5..cf5ceec34442dc 100644 --- a/var/spack/repos/builtin/packages/fast-global-file-status/package.py +++ b/var/spack/repos/builtin/packages/fast-global-file-status/package.py @@ -23,6 +23,9 @@ class FastGlobalFileStatus(AutotoolsPackage): ) version("1.1", sha256="e6fba4a0b7f055899fa0e05d93a435c7f1f2ec1158b9a6647dc8d2bcf9c2e164") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("mrnet") # we depend on mpa@master for bug fixes since mpa 1.1 depends_on("mount-point-attributes@1.1.1:") diff --git a/var/spack/repos/builtin/packages/fasta/package.py b/var/spack/repos/builtin/packages/fasta/package.py index 412fb7b28d2c25..c7c6ae641f2806 100644 --- a/var/spack/repos/builtin/packages/fasta/package.py +++ b/var/spack/repos/builtin/packages/fasta/package.py @@ -28,6 +28,8 @@ class Fasta(MakefilePackage): url="https://github.com/wrpearson/fasta36/archive/refs/tags/v36.3.8h_04-May-2020.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("zlib-api") # The src tree includes a plethora of variant Makefiles and the diff --git a/var/spack/repos/builtin/packages/fastani/package.py b/var/spack/repos/builtin/packages/fastani/package.py index fe8a3ee2d5bc11..9658e3b40e2f8c 100644 --- a/var/spack/repos/builtin/packages/fastani/package.py +++ b/var/spack/repos/builtin/packages/fastani/package.py @@ -19,6 +19,8 @@ class Fastani(CMakePackage, AutotoolsPackage): version("1.34", sha256="dc185cf29b9fa40cdcc2c83bb48150db46835e49b9b64a3dbff8bc4d0f631cb1") version("1.33", sha256="0b18b3074094722fb1b2247c1a1c4eb96295fff369b837f422e05072740e0013") + depends_on("cxx", type="build") # generated + build_system(conditional("cmake", when="@1.34:"), "autotools", default="cmake") depends_on("autoconf", type="build", when="build_system=autotools") diff --git a/var/spack/repos/builtin/packages/fastdb/package.py b/var/spack/repos/builtin/packages/fastdb/package.py index a99b515fde7fa0..38404ad9f121f9 100644 --- a/var/spack/repos/builtin/packages/fastdb/package.py +++ b/var/spack/repos/builtin/packages/fastdb/package.py @@ -16,6 +16,9 @@ class Fastdb(MakefilePackage): version("3.75", sha256="eeafdb2ad01664c29e2d4053a305493bdedc8e91612ab25f1d36ad2f95b0dad6") version("3.74", sha256="4d0c9a165a1031860d4853d7084b8fe4627f0004861e6070927d3b6c594af889") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch("fastdb-fmax-fmin.patch") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/fastdfs/package.py b/var/spack/repos/builtin/packages/fastdfs/package.py index 0192f7cc19295f..954680a11bc15b 100644 --- a/var/spack/repos/builtin/packages/fastdfs/package.py +++ b/var/spack/repos/builtin/packages/fastdfs/package.py @@ -27,6 +27,8 @@ class Fastdfs(Package): version("6.02", sha256="b1801f80da9ebce1d84e7e05356c4614190651cb6a5cb4f5662d9196fe243e21") version("6.01", sha256="b72f4ff6beb21a83af59aeba9f1904e727fa2c1e960e0a9c2b969138d2804148") + depends_on("c", type="build") # generated + depends_on("perl", type="build") depends_on("libfastcommon", type="build") diff --git a/var/spack/repos/builtin/packages/fastjar/package.py b/var/spack/repos/builtin/packages/fastjar/package.py index 1a124ff62d3984..6bc2164d99741c 100644 --- a/var/spack/repos/builtin/packages/fastjar/package.py +++ b/var/spack/repos/builtin/packages/fastjar/package.py @@ -16,4 +16,6 @@ class Fastjar(AutotoolsPackage): version("0.98", sha256="f156abc5de8658f22ee8f08d7a72c88f9409ebd8c7933e9466b0842afeb2f145") + depends_on("c", type="build") # generated + depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/fastjet/package.py b/var/spack/repos/builtin/packages/fastjet/package.py index 717feec5a5c4e6..e5b83176a7d454 100644 --- a/var/spack/repos/builtin/packages/fastjet/package.py +++ b/var/spack/repos/builtin/packages/fastjet/package.py @@ -58,6 +58,9 @@ class Fastjet(AutotoolsPackage): version("2.3.2", sha256="ba8b17fcc8edae16faa74608e8da53e87a8c574aa21a28c985ea0dfedcb95210") version("2.3.1", sha256="16c32b420e1aa7d0b6fecddd980ea0f2b7e3c2c66585e06f0eb3142677ab6ccf") version("2.3.0", sha256="e452fe4a9716627bcdb726cfb0917f46a7ac31f6006330a6ccc1abc43d9c2d53") + + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated # older version use .tar instead of .tar.gz extension, to be added variant("shared", default=True, description="Builds a shared version of the library") diff --git a/var/spack/repos/builtin/packages/fastor/package.py b/var/spack/repos/builtin/packages/fastor/package.py new file mode 100644 index 00000000000000..c6ff4fa6f9585d --- /dev/null +++ b/var/spack/repos/builtin/packages/fastor/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 Fastor(CMakePackage): + """Fastor is a lightweight high performance tensor algebra framework + for modern C++.""" + + homepage = "https://github.com/romeric/Fastor" + url = "https://github.com/romeric/Fastor/archive/refs/tags/V0.6.4.tar.gz" + + maintainers("wdconinc") + + license("MIT", checked_by="wdconinc") + + version("0.6.4", sha256="c97a3b9dbb92413be90689af9d942cddee12a74733cf42f1a8014965553a11f8") + + depends_on("cxx", type="build") # generated + + depends_on("cmake@3.20:", type="build") + + def cmake_args(self): + return [self.define("BUILD_TESTING", self.run_tests)] diff --git a/var/spack/repos/builtin/packages/fastp/package.py b/var/spack/repos/builtin/packages/fastp/package.py index 422b0294bd1f04..03ff52e50ec01b 100644 --- a/var/spack/repos/builtin/packages/fastp/package.py +++ b/var/spack/repos/builtin/packages/fastp/package.py @@ -19,6 +19,8 @@ class Fastp(MakefilePackage): version("0.23.3", sha256="a37ee4b5dcf836a5a19baec645657b71d9dcd69ee843998f41f921e9b67350e3") version("0.20.0", sha256="8d751d2746db11ff233032fc49e3bcc8b53758dd4596fdcf4b4099a4d702ac22") + depends_on("cxx", type="build") # generated + depends_on("libisal", type=("build", "link"), when="@0.23:") depends_on("libdeflate", type=("build", "link"), when="@0.23:") diff --git a/var/spack/repos/builtin/packages/fastqvalidator/package.py b/var/spack/repos/builtin/packages/fastqvalidator/package.py index 588597d359b770..07a31ad7115860 100644 --- a/var/spack/repos/builtin/packages/fastqvalidator/package.py +++ b/var/spack/repos/builtin/packages/fastqvalidator/package.py @@ -14,6 +14,8 @@ class Fastqvalidator(MakefilePackage): version("2017-01-10", commit="6d619a34749e9d33c34ef0d3e0e87324ca77f320") + depends_on("cxx", type="build") # generated + resource( name="libStatGen", git="https://github.com/statgen/libStatGen.git", diff --git a/var/spack/repos/builtin/packages/fasttext/package.py b/var/spack/repos/builtin/packages/fasttext/package.py index 3efd1c347d7d0c..1fc57b12ab3aa4 100644 --- a/var/spack/repos/builtin/packages/fasttext/package.py +++ b/var/spack/repos/builtin/packages/fasttext/package.py @@ -19,3 +19,5 @@ class Fasttext(CMakePackage): version("0.9.1", sha256="254ace2fc8dc3bea0fc6ad4897a221eb85c1e9adfa61d130b43398193ca1f061") version("0.2.0", sha256="71d24ffec9fcc4364554ecac2b3308d834178c903d16d090aa6be9ea6b8e480c") version("0.1.0", sha256="d6b4932b18d2c8b3d50905028671aadcd212b7aa31cbc6dd6cac66db2eff1397") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/fasttransforms/package.py b/var/spack/repos/builtin/packages/fasttransforms/package.py index 5c35700bdbd159..63e90ee45cc790 100644 --- a/var/spack/repos/builtin/packages/fasttransforms/package.py +++ b/var/spack/repos/builtin/packages/fasttransforms/package.py @@ -22,6 +22,8 @@ class Fasttransforms(MakefilePackage): version("0.5.0", sha256="9556d0037bd5348a33f15ad6100e32053b6e22cab16a97c504f30d6c52fd0efd") version("0.3.4", sha256="a5c8b5aedbdb40218521d061a7df65ef32ce153d4e19d232957db7e3e63c7e9b") + depends_on("c", type="build") # generated + variant("quadmath", default=False, description="Support 128-bit floats") depends_on("blas") diff --git a/var/spack/repos/builtin/packages/fastx-toolkit/package.py b/var/spack/repos/builtin/packages/fastx-toolkit/package.py index 651cc94255ddbf..3279c83915f56d 100644 --- a/var/spack/repos/builtin/packages/fastx-toolkit/package.py +++ b/var/spack/repos/builtin/packages/fastx-toolkit/package.py @@ -17,6 +17,9 @@ class FastxToolkit(AutotoolsPackage): version("0.0.14", sha256="9e1f00c4c9f286be59ac0e07ddb7504f3b6433c93c5c7941d6e3208306ff5806") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libgtextutils") # patch implicit fallthrough diff --git a/var/spack/repos/builtin/packages/faust/package.py b/var/spack/repos/builtin/packages/faust/package.py index 314fe266dce900..4649a9cfc05d7b 100644 --- a/var/spack/repos/builtin/packages/faust/package.py +++ b/var/spack/repos/builtin/packages/faust/package.py @@ -22,6 +22,9 @@ class Faust(MakefilePackage): version("2.27.2", sha256="3367a868a93b63582bae29ab8783f1df7a10f4084a2bc1d2258ebf3d6a8c31d7") version("2.27.1", sha256="b3e93ca573025b231931e5eb92efc1a1e7f7720902aa3b285061519600a8c417") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake", type="build") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/fbgemm/package.py b/var/spack/repos/builtin/packages/fbgemm/package.py index 39893255ed4e6b..e0a6c5cfa05a91 100644 --- a/var/spack/repos/builtin/packages/fbgemm/package.py +++ b/var/spack/repos/builtin/packages/fbgemm/package.py @@ -56,6 +56,9 @@ class Fbgemm(CMakePackage): "2018-12-04", commit="0d5a159b944252e70a677236b570f291943e0543", submodules=True ) # py-torch@1.0.0 + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + generator("ninja") depends_on("cmake@3.5:", type="build") depends_on("python", type="build") diff --git a/var/spack/repos/builtin/packages/fcgi/package.py b/var/spack/repos/builtin/packages/fcgi/package.py index 0f1f88f8708f27..97f6b462281df5 100644 --- a/var/spack/repos/builtin/packages/fcgi/package.py +++ b/var/spack/repos/builtin/packages/fcgi/package.py @@ -28,4 +28,7 @@ class Fcgi(AutotoolsPackage): url="https://github.com/FastCGI-Archives/FastCGI.com/raw/master/original_snapshot/fcgi-2.4.1-SNAP-0910052249.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + parallel = False diff --git a/var/spack/repos/builtin/packages/fckit/package.py b/var/spack/repos/builtin/packages/fckit/package.py index 5822e13344fdb6..ddea92b5064d73 100644 --- a/var/spack/repos/builtin/packages/fckit/package.py +++ b/var/spack/repos/builtin/packages/fckit/package.py @@ -27,6 +27,9 @@ class Fckit(CMakePackage): version("0.10.0", sha256="f16829f63a01cdef5e158ed2a51f6d4200b3fe6dce8f251af158141a1afe482b") version("0.9.5", sha256="183cd78e66d3283d9e6e8e9888d3145f453690a4509fb701b28d1ac6757db5de") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("python") depends_on("ecbuild", type=("build")) @@ -74,7 +77,12 @@ def cmake_args(self): # See comment above (conflicts for finalize_ddts) args.append("-DENABLE_FINAL=OFF") - if self.spec.satisfies("%intel") or self.spec.satisfies("%gcc"): + if ( + self.spec.satisfies("%intel") + or self.spec.satisfies("%oneapi") + or self.spec.satisfies("%gcc") + or self.spec.satisfies("%nvhpc") + ): cxxlib = "stdc++" elif self.spec.satisfies("%clang") or self.spec.satisfies("%apple-clang"): cxxlib = "c++" diff --git a/var/spack/repos/builtin/packages/fd/package.py b/var/spack/repos/builtin/packages/fd/package.py index 47f0d13eac6a67..4f4887c1a24ae9 100644 --- a/var/spack/repos/builtin/packages/fd/package.py +++ b/var/spack/repos/builtin/packages/fd/package.py @@ -16,6 +16,7 @@ class Fd(CargoPackage): license("Apache-2.0 OR MIT") + version("10.1.0", sha256="ee4b2403388344ff60125c79ff25b7895a170e7960f243ba2b5d51d2c3712d97") version("9.0.0", sha256="306d7662994e06e23d25587246fa3fb1f528579e42a84f5128e75feec635a370") version("8.7.0", sha256="13da15f3197d58a54768aaad0099c80ad2e9756dd1b0c7df68c413ad2d5238c9") version("8.4.0", sha256="d0c2fc7ddbe74e3fd88bf5bb02e0f69078ee6d2aeea3d8df42f508543c9db05d") diff --git a/var/spack/repos/builtin/packages/fdb/package.py b/var/spack/repos/builtin/packages/fdb/package.py index 547f5bdbc120a5..74994b9ff10f44 100644 --- a/var/spack/repos/builtin/packages/fdb/package.py +++ b/var/spack/repos/builtin/packages/fdb/package.py @@ -24,6 +24,9 @@ class Fdb(CMakePackage): version("5.10.8", sha256="6a0db8f98e13c035098dd6ea2d7559f883664cbf9cba8143749539122ac46099") version("5.7.8", sha256="6adac23c0d1de54aafb3c663d077b85d0f804724596623b381ff15ea4a835f60") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("tools", default=True, description="Build the command line tools") variant( "backends", diff --git a/var/spack/repos/builtin/packages/fds/package.py b/var/spack/repos/builtin/packages/fds/package.py index 0b08921af187e6..e4707f92076a00 100644 --- a/var/spack/repos/builtin/packages/fds/package.py +++ b/var/spack/repos/builtin/packages/fds/package.py @@ -23,6 +23,8 @@ class Fds(MakefilePackage): version("6.8.0", commit="886e0096535519b7358a3c4393c91da3caee5072") + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("mkl") diff --git a/var/spack/repos/builtin/packages/fdupes/package.py b/var/spack/repos/builtin/packages/fdupes/package.py index fcb2010409a887..80174e0c0c865d 100644 --- a/var/spack/repos/builtin/packages/fdupes/package.py +++ b/var/spack/repos/builtin/packages/fdupes/package.py @@ -20,6 +20,8 @@ class Fdupes(AutotoolsPackage): version("2.2.1", sha256="846bb79ca3f0157856aa93ed50b49217feb68e1b35226193b6bc578be0c5698d") version("2.1.2", sha256="cd5cb53b6d898cf20f19b57b81114a5b263cc1149cd0da3104578b083b2837bd") + depends_on("c", type="build") # generated + variant("ncurses", default=True, description="ncurses support") depends_on("ncurses", when="+ncurses") diff --git a/var/spack/repos/builtin/packages/feh/package.py b/var/spack/repos/builtin/packages/feh/package.py index e41ba4e1bb948e..5e7c3657a921ad 100644 --- a/var/spack/repos/builtin/packages/feh/package.py +++ b/var/spack/repos/builtin/packages/feh/package.py @@ -25,6 +25,8 @@ class Feh(MakefilePackage): version("3.3", sha256="f3959958258111d5f7c9fbe2e165c52b9d5987f07fd1f37540a4abf9f9638811") version("3.1.1", sha256="61d0242e3644cf7c5db74e644f0e8a8d9be49b7bd01034265cc1ebb2b3f9c8eb") + depends_on("c", type="build") # generated + depends_on("imlib2") depends_on("curl") depends_on("libxinerama") diff --git a/var/spack/repos/builtin/packages/fenics-basix/package.py b/var/spack/repos/builtin/packages/fenics-basix/package.py index f321f68b072315..c42092c2f1a30a 100644 --- a/var/spack/repos/builtin/packages/fenics-basix/package.py +++ b/var/spack/repos/builtin/packages/fenics-basix/package.py @@ -21,6 +21,8 @@ class FenicsBasix(CMakePackage): version("0.7.0", sha256="9bee81b396ee452eec8d9735f278cb44cb6994c6bc30aec8ed9bb4b12d83fa7f") version("0.6.0", sha256="687ae53153c98facac4080dcdc7081701db1dcea8c5e7ae3feb72aec17f83304") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.19:", type="build") depends_on("blas") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py index 0702774b70c20f..ba871cd731b1db 100644 --- a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py +++ b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py @@ -21,6 +21,8 @@ class FenicsDolfinx(CMakePackage): version("0.7.2", sha256="7d9ce1338ce66580593b376327f23ac464a4ce89ef63c105efc1a38e5eae5c0b") version("0.6.0", sha256="eb8ac2bb2f032b0d393977993e1ab6b4101a84d54023a67206e3eac1a8d79b80") + depends_on("cxx", type="build") # generated + # Graph partitioner variants variant( "partitioners", diff --git a/var/spack/repos/builtin/packages/fenics/package.py b/var/spack/repos/builtin/packages/fenics/package.py index cf56c14fd01c1a..0cd60596fbf656 100644 --- a/var/spack/repos/builtin/packages/fenics/package.py +++ b/var/spack/repos/builtin/packages/fenics/package.py @@ -40,6 +40,8 @@ class Fenics(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + dolfin_versions = ["2019.1.0", "2018.1.0", "2017.2.0", "2016.2.0"] variant("python", default=True, description="Compile with Python interface") diff --git a/var/spack/repos/builtin/packages/feq-parse/package.py b/var/spack/repos/builtin/packages/feq-parse/package.py index f470cab980928d..fd55780e677c74 100644 --- a/var/spack/repos/builtin/packages/feq-parse/package.py +++ b/var/spack/repos/builtin/packages/feq-parse/package.py @@ -11,19 +11,24 @@ class FeqParse(CMakePackage): is used to interpret and evaluate functions provided as strings.""" - homepage = "https://github.com/FluidNumerics/feq-parse" + homepage = "https://feqparse.fluidnumerics.com" url = "https://github.com/FluidNumerics/feq-parse/archive/v2.0.1.tar.gz" maintainers("fluidnumerics-joe") - license("Apache-2.0") + license("3-Clause BSD") + version("2.2.2", sha256="cfbf6142186c2e61b373237dd94d68013c1e8202a2b14dfd7aa6b8befbe330eb") + version("2.2.1", sha256="d25f81c0e514cf9fad77190d9edf994b94eaebd414cf639cfaa690a9a1cc9cbf") + version("2.2.0", sha256="962fca2de745bc3b436cb2299c917184ce2d9ac5edf95aad3c103efb63ed311a") version("2.1.0", sha256="f3fd51c24c563fe1d0dcb880bc16a62c9e08fe0cdd6f58df08f0db0ed34c289a") version("2.0.3", sha256="a1c42507801adc55a63a9a904807058079d54e002e10f2b29a916b06fc815f80") version("2.0.1", sha256="08dd08bd100a0a2eb672a5b2792ad56a337df575c634aac0d7a300d7e484b21c") version("1.1.0", sha256="d33a4fd6904939bb70780e8f25f37c1291c4f24fd207feb4ffc0f8d89637d1e3") version("1.0.2", sha256="1cd1db7562908ea16fc65dc5268b654405d0b3d9dcfe11f409949c431b48a3e8") + depends_on("fortran", type="build") # generated + depends_on("cmake@3.0.2:", type="build") parallel = False diff --git a/var/spack/repos/builtin/packages/fermikit/package.py b/var/spack/repos/builtin/packages/fermikit/package.py index 9bc92d4a285d9d..583d20681829a0 100644 --- a/var/spack/repos/builtin/packages/fermikit/package.py +++ b/var/spack/repos/builtin/packages/fermikit/package.py @@ -15,6 +15,8 @@ class Fermikit(MakefilePackage): version("2017-11-7", commit="bf9c7112221577ba110665bddca8f1987250bdc7", submodules=True) + depends_on("c", type="build") # generated + depends_on("zlib-api") depends_on("sse2neon", when="target=aarch64:") diff --git a/var/spack/repos/builtin/packages/fermisciencetools/package.py b/var/spack/repos/builtin/packages/fermisciencetools/package.py index 739bd4c4eaa723..019845322060ef 100644 --- a/var/spack/repos/builtin/packages/fermisciencetools/package.py +++ b/var/spack/repos/builtin/packages/fermisciencetools/package.py @@ -21,5 +21,9 @@ class Fermisciencetools(Package): # can figure it out and we can use the source distribution instead. version("11r5p3", sha256="2f4fc32a0b2e5c0f1ddb220a0560f67e66052b7907c72dba181908dc9269ffe8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + def install(self, spec, prefix): install_tree("x86_64-unknown-linux-gnu-libc2.17", prefix) diff --git a/var/spack/repos/builtin/packages/ferret/package.py b/var/spack/repos/builtin/packages/ferret/package.py index 56494e0b0932bc..dea3a7fbb634f0 100644 --- a/var/spack/repos/builtin/packages/ferret/package.py +++ b/var/spack/repos/builtin/packages/ferret/package.py @@ -28,6 +28,9 @@ class Ferret(Package): version("7.2", sha256="21c339b1bafa6939fc869428d906451f130f7e77e828c532ab9488d51cf43095") version("6.96", sha256="7eb87156aa586cfe838ab83f08b2102598f9ab62062d540a5da8c9123816331a") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("datasets", default=False, description="Install Ferret standard datasets") depends_on("hdf5+hl") diff --git a/var/spack/repos/builtin/packages/feynhiggs/package.py b/var/spack/repos/builtin/packages/feynhiggs/package.py index 0a3afb7c10bbcf..9e6875dd36efa2 100644 --- a/var/spack/repos/builtin/packages/feynhiggs/package.py +++ b/var/spack/repos/builtin/packages/feynhiggs/package.py @@ -22,5 +22,9 @@ class Feynhiggs(AutotoolsPackage): version("2.18.1", sha256="3aba89cac6397d7e1a8a9d9dcfeed9fb32eeeee98768b0c0c9f444c2cc125ab9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + def configure_args(self): return ["FFLAGS=-fPIC", "CFLAGS=-fPIC"] diff --git a/var/spack/repos/builtin/packages/ffmpeg/package.py b/var/spack/repos/builtin/packages/ffmpeg/package.py index bf11ce4883642c..19ee7f2eb4dfb4 100644 --- a/var/spack/repos/builtin/packages/ffmpeg/package.py +++ b/var/spack/repos/builtin/packages/ffmpeg/package.py @@ -12,12 +12,19 @@ class Ffmpeg(AutotoolsPackage): homepage = "https://ffmpeg.org" url = "https://ffmpeg.org/releases/ffmpeg-4.1.1.tar.bz2" + git = "https://git.ffmpeg.org/ffmpeg.git" maintainers("xjrc") license("GPL-2.0-or-later AND LGPL-2.1-or-later") - version("6.1.1", sha256="5e3133939a61ef64ac9b47ffd29a5ea6e337a4023ef0ad972094b4da844e3a20") + version("master", branch="master") + version("7.0", sha256="a24d9074bf5523a65aaa9e7bd02afe4109ce79d69bd77d104fed3dab4b934d7a") + version( + "6.1.1", + sha256="5e3133939a61ef64ac9b47ffd29a5ea6e337a4023ef0ad972094b4da844e3a20", + preferred=True, + ) version("6.0", sha256="47d062731c9f66a78380e35a19aac77cebceccd1c7cc309b9c82343ffc430c3d") version("5.1.4", sha256="c3c1e316bf91468738dd0aff6eb1faab409f1edcd34fd1a4213626439bc5d743") version("5.1.3", sha256="5d5bef6a11f0c500588f9870ec965a30acc0d54d8b1e535da6554a32902d236d") @@ -37,6 +44,9 @@ class Ffmpeg(AutotoolsPackage): version("2.8.15", sha256="35647f6c1f6d4a1719bc20b76bf4c26e4ccd665f46b5676c0e91c5a04622ee21") version("1.0.10", sha256="1dbde434c3b5c573d3b2ffc1babe3814f781c10c4bc66193a4132a44c9715176") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Licensing variant( "gpl", @@ -93,6 +103,8 @@ class Ffmpeg(AutotoolsPackage): depends_on("yasm@1.2.0:") depends_on("zlib-api") + depends_on("pkgconfig", type="build") + depends_on("aom", when="+libaom") depends_on("bzip2", when="+bzlib") depends_on("fontconfig", when="+drawtext") diff --git a/var/spack/repos/builtin/packages/ffsb/package.py b/var/spack/repos/builtin/packages/ffsb/package.py index 7000586d8ac175..8ca9c3c3ff27fc 100644 --- a/var/spack/repos/builtin/packages/ffsb/package.py +++ b/var/spack/repos/builtin/packages/ffsb/package.py @@ -18,3 +18,5 @@ class Ffsb(AutotoolsPackage): version("5.2.1", sha256="36ccda8ff04f837e20bb8b2cc9edb8c6fc923fdcdbb8060d9448dc49234b968d") version("5.1.1", sha256="e25aef255d8bfe54f29ac88c7af8237fa5a8c2e1716fdef1946cf0ecd9166d1f") version("5.1", sha256="4d7da7eba46c824ebdc23b3d32532b006aeb5b6697a3ada314c75785ab25cb97") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/ffte/package.py b/var/spack/repos/builtin/packages/ffte/package.py index 98f870f545821b..e9b479be0ef6b2 100644 --- a/var/spack/repos/builtin/packages/ffte/package.py +++ b/var/spack/repos/builtin/packages/ffte/package.py @@ -26,6 +26,8 @@ class Ffte(Package): version("2.0", sha256="f5cf1d1f880288e359f4d517191980ffca4420f817ecaa2d754ca5c5421271e3") version("1.0", sha256="35171e3324019018c25575b2807a6513fa85badad040f30f238fff03d4b4d1ab") + depends_on("fortran", type="build") # generated + variant("mpi", default=False, description="Build MPI library") variant("cuda", default=False, description="Use CUDA Fortran") variant("vector", default=False, description="Use vectorized FFT") diff --git a/var/spack/repos/builtin/packages/fftw/package.py b/var/spack/repos/builtin/packages/fftw/package.py index fa606cf3ce24cb..3c20fac5663334 100644 --- a/var/spack/repos/builtin/packages/fftw/package.py +++ b/var/spack/repos/builtin/packages/fftw/package.py @@ -230,6 +230,9 @@ class Fftw(FftwBase): version("3.3.4", sha256="8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982") version("2.1.5", sha256="f8057fae1c7df8b99116783ef3e94a6a44518d49c72e2e630c24b689c6022630") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "pfft_patches", default=False, diff --git a/var/spack/repos/builtin/packages/fftw/pfft-3.3.9.patch b/var/spack/repos/builtin/packages/fftw/pfft-3.3.9.patch index a4f0e6adc61673..31108f76afc9e3 100644 --- a/var/spack/repos/builtin/packages/fftw/pfft-3.3.9.patch +++ b/var/spack/repos/builtin/packages/fftw/pfft-3.3.9.patch @@ -21,6 +21,21 @@ RDFT_SRC = rdft-serial.c rdft-rank-geq2.c rdft-rank-geq2-transposed.c rdft-rank1-bigvec.c rdft-problem.c rdft-solve.c mpi-rdft.h RDFT2_SRC = rdft2-serial.c rdft2-rank-geq2.c rdft2-rank-geq2-transposed.c rdft2-problem.c rdft2-solve.c mpi-rdft2.h +--- mpi/mpi-transpose.h ++++ mpi/mpi-transpose.h +@@ -55,6 +55,11 @@ int XM(mkplans_posttranspose)(const problem_mpi_transpose *p, planner *plnr, + R *I, R *O, int my_pe, + plan **cld2, plan **cld2rest, plan **cld3, + INT *rest_Ioff, INT *rest_Ooff); ++/* transpose-pairwise-transposed.c: */ ++int XM(mkplans_pretranspose)(const problem_mpi_transpose *p, planner *plnr, ++ R *I, R *O, int my_pe, ++ plan **cld2, plan **cld2rest, plan **cld3, ++ INT *rest_Ioff, INT *rest_Ooff); + /* various solvers */ + void XM(transpose_pairwise_register)(planner *p); + void XM(transpose_alltoall_register)(planner *p); + --- mpi/mpi-transpose.h 2020-12-10 12:02:44.000000000 +0000 +++ mpi/mpi-transpose.h 2021-04-06 09:06:12.144841002 +0000 @@ -59,3 +59,5 @@ diff --git a/var/spack/repos/builtin/packages/fftx/package.py b/var/spack/repos/builtin/packages/fftx/package.py index fa4052cf01a8c7..b131288a471ae9 100644 --- a/var/spack/repos/builtin/packages/fftx/package.py +++ b/var/spack/repos/builtin/packages/fftx/package.py @@ -30,6 +30,8 @@ class Fftx(CMakePackage, CudaPackage, ROCmPackage): version("1.1.0", sha256="a6f95605abc11460bbf51839727a456a31488e27e12a970fc29a1b8c42f4e3b5") version("1.0.3", sha256="b5ff275facce4a2fbabd0aecc65dd55b744794f2e07cd8cfa91363001c664896") + depends_on("cxx", type="build") # generated + depends_on("spiral-software+fftx+simt+jit+mpi") # depend only on spiral-software, but spiral-software must be installed with variants: # +fftx +simt +mpi +jit diff --git a/var/spack/repos/builtin/packages/fgsl/package.py b/var/spack/repos/builtin/packages/fgsl/package.py index 3f16008ff49e6f..8711d91200aaf7 100644 --- a/var/spack/repos/builtin/packages/fgsl/package.py +++ b/var/spack/repos/builtin/packages/fgsl/package.py @@ -28,6 +28,9 @@ class Fgsl(AutotoolsPackage): version("1.2.0", sha256="e5a4ac08eb744c963e95a46a51d76c56593836077c5ad8c47e240cae57027002") version("1.1.0", sha256="a5adce3c3b279d2dacc05b74c598ff89be7ef3ae3ec59b3ec1355750c1bb4832") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/fiat/package.py b/var/spack/repos/builtin/packages/fiat/package.py index 488ecf450d85a4..e84b06000cf319 100644 --- a/var/spack/repos/builtin/packages/fiat/package.py +++ b/var/spack/repos/builtin/packages/fiat/package.py @@ -23,6 +23,10 @@ class Fiat(CMakePackage): version("1.1.0", sha256="58354e60d29a1b710bfcea9b87a72c0d89c39182cb2c9523ead76a142c695f82") version("1.0.0", sha256="45afe86117142831fdd61771cf59f31131f2b97f52a2bd04ac5eae9b2ab746b8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "build_type", default="RelWithDebInfo", diff --git a/var/spack/repos/builtin/packages/fides/package.py b/var/spack/repos/builtin/packages/fides/package.py index 29c5ea00c525a3..c7463005f75321 100644 --- a/var/spack/repos/builtin/packages/fides/package.py +++ b/var/spack/repos/builtin/packages/fides/package.py @@ -19,6 +19,8 @@ class Fides(CMakePackage): version("1.2.0", sha256="12be939d75c765dab9241f9ed2b64af01cce2b10281de402f64fb685e6ccd7df") version("1.1.0", sha256="40d2e08b8d5cfdfc809eae6ed2ae0731108ce3b1383485f4934a5ec8aaa9425e") version("1.0.0", sha256="c355fdb4ca3790c1fa9a4491a0d294b8f883b6946c540ad9e5633c9fd8c8c3aa") + + depends_on("cxx", type="build") # generated variant("mpi", default=True, description="build mpi support") # Certain CMake versions have been found to break for our use cases diff --git a/var/spack/repos/builtin/packages/figcone/package.py b/var/spack/repos/builtin/packages/figcone/package.py index 3b1135f6c32579..be38b281ed5e96 100644 --- a/var/spack/repos/builtin/packages/figcone/package.py +++ b/var/spack/repos/builtin/packages/figcone/package.py @@ -17,3 +17,5 @@ class Figcone(CMakePackage): version("3.0.0", sha256="24ed65c2dabc93b205c3adfdb5d7d0523286a956a0257dc5f15de91c5b828aea") version("2.4.9", sha256="735399e849621a4923e71a50d5e2ba928d5dfa3b01e54d56e0bac8e5102b7697") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/figlet/package.py b/var/spack/repos/builtin/packages/figlet/package.py index 2037a2de715196..bfefd211f7a50c 100644 --- a/var/spack/repos/builtin/packages/figlet/package.py +++ b/var/spack/repos/builtin/packages/figlet/package.py @@ -19,6 +19,8 @@ class Figlet(MakefilePackage): version("2.2.4", sha256="970a18a2a32cca736ff11a5b77e26a54f31a0e08606b85d21d3d5c666937e03d") version("2.2.3", sha256="168fa3c7a5888d6f796708780d3006f0e1871d83f32c4a10a84596b90ac35999") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) bins = ["figlet", "chkfont", "figlist", "showfigfonts"] diff --git a/var/spack/repos/builtin/packages/file/package.py b/var/spack/repos/builtin/packages/file/package.py index 3d8029ab49c27a..c79acb62b53db0 100644 --- a/var/spack/repos/builtin/packages/file/package.py +++ b/var/spack/repos/builtin/packages/file/package.py @@ -29,6 +29,8 @@ class File(AutotoolsPackage): version("5.38", sha256="593c2ffc2ab349c5aea0f55fedfe4d681737b6b62376a9b3ad1e77b2cc19fa34") version("5.37", sha256="e9c13967f7dd339a3c241b7710ba093560b9a33013491318e88e6b8b57bae07f") + depends_on("c", type="build") # generated + executables = ["^file$"] variant("static", default=True, description="Also build static libraries") diff --git a/var/spack/repos/builtin/packages/filebench/package.py b/var/spack/repos/builtin/packages/filebench/package.py index 4b1efcfad3a4fb..cc8d23badbcbd4 100644 --- a/var/spack/repos/builtin/packages/filebench/package.py +++ b/var/spack/repos/builtin/packages/filebench/package.py @@ -26,6 +26,9 @@ class Filebench(AutotoolsPackage): version("1.4.9.1", sha256="77ae91b83c828ded1219550aec74fbbd6975dce02cb5ab13c3b99ac2154e5c2e") version("1.4.9", sha256="61b8a838c1450b51a4ce61481a19a1bf0d6e3993180c524ff4051f7c18bd9c6a") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/filo/package.py b/var/spack/repos/builtin/packages/filo/package.py index d2cf099d6b81df..ec349a006d4681 100644 --- a/var/spack/repos/builtin/packages/filo/package.py +++ b/var/spack/repos/builtin/packages/filo/package.py @@ -18,6 +18,8 @@ class Filo(CMakePackage): version("main", branch="main") + depends_on("c", type="build") # generated + depends_on("mpi") depends_on("axl") depends_on("kvtree") diff --git a/var/spack/repos/builtin/packages/filtlong/package.py b/var/spack/repos/builtin/packages/filtlong/package.py index ceb344bec17c6d..06038deda12a26 100644 --- a/var/spack/repos/builtin/packages/filtlong/package.py +++ b/var/spack/repos/builtin/packages/filtlong/package.py @@ -19,6 +19,8 @@ class Filtlong(MakefilePackage): version("0.2.0", sha256="a4afb925d7ced8d083be12ca58911bb16d5348754e7c2f6431127138338ee02a") version("0.1.1", sha256="ddae7a5850efeb64424965a443540b1ced34286fbefad9230ab71f4af314081b") + depends_on("cxx", type="build") # generated + depends_on("zlib-api") # %gcc@13: requires std libraries be manually added - add an include for `cstdint` diff --git a/var/spack/repos/builtin/packages/findutils/package.py b/var/spack/repos/builtin/packages/findutils/package.py index 6ff1decade2eba..92c8640c4a12e7 100644 --- a/var/spack/repos/builtin/packages/findutils/package.py +++ b/var/spack/repos/builtin/packages/findutils/package.py @@ -51,6 +51,8 @@ def url_for_version(self, version): version("4.1.20", sha256="8c5dd50a5ca54367fa186f6294b81ec7a365e36d670d9feac62227cb513e63ab") version("4.1", sha256="487ecc0a6c8c90634a11158f360977e5ce0a9a6701502da6cb96a5a7ec143fac") + depends_on("c", type="build") # generated + # The NVIDIA compilers do not currently support some GNU builtins. # Detect this case and use the fallback path. patch("nvhpc.patch", when="@4.6.0 %nvhpc") diff --git a/var/spack/repos/builtin/packages/fio/package.py b/var/spack/repos/builtin/packages/fio/package.py index fee86980667327..d9875f4039fd34 100644 --- a/var/spack/repos/builtin/packages/fio/package.py +++ b/var/spack/repos/builtin/packages/fio/package.py @@ -31,6 +31,8 @@ class Fio(AutotoolsPackage): version("3.16", sha256="c7731a9e831581bab7104da9ea60c9f44e594438dbe95dff26726ca0285e7b93") version("2.19", sha256="61fb03a18703269b781aaf195cb0d7931493bbb5bfcc8eb746d5d66d04ed77f7") + depends_on("c", type="build") # generated + variant("gui", default=False, description="Enable building of gtk gfio") variant("doc", default=False, description="Generate documentation") variant("libaio", default=False, description="Enable libaio engine") diff --git a/var/spack/repos/builtin/packages/fipscheck/package.py b/var/spack/repos/builtin/packages/fipscheck/package.py index bd8039e9e6130d..03d86c820119e9 100644 --- a/var/spack/repos/builtin/packages/fipscheck/package.py +++ b/var/spack/repos/builtin/packages/fipscheck/package.py @@ -17,6 +17,8 @@ class Fipscheck(AutotoolsPackage): version("7.0.0.397", sha256="6bce42faabf372d08b6f8fadb4fa9e65671bebf6c0c91eab8c59ae96b1e7d600") version("7.0.0.396", sha256="058aafac78f3c0c5b65107686538b09eeb52cbb9b7ede688f3502df7d69c1209") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/fish/package.py b/var/spack/repos/builtin/packages/fish/package.py index a2126dbaa131b6..e01b7f0307c998 100644 --- a/var/spack/repos/builtin/packages/fish/package.py +++ b/var/spack/repos/builtin/packages/fish/package.py @@ -36,6 +36,8 @@ class Fish(CMakePackage): version("3.1.0", sha256="e5db1e6839685c56f172e1000c138e290add4aa521f187df4cd79d4eab294368") version("3.0.0", sha256="ea9dd3614bb0346829ce7319437c6a93e3e1dfde3b7f6a469b543b0d2c68f2cf") + depends_on("cxx", type="build") # generated + variant("docs", default=False, description="Build documentation") # https://github.com/fish-shell/fish-shell#dependencies-1 diff --git a/var/spack/repos/builtin/packages/fjcontrib/package.py b/var/spack/repos/builtin/packages/fjcontrib/package.py index a8cb05b4ab865e..a7acaa64c0fc66 100644 --- a/var/spack/repos/builtin/packages/fjcontrib/package.py +++ b/var/spack/repos/builtin/packages/fjcontrib/package.py @@ -70,6 +70,8 @@ class Fjcontrib(AutotoolsPackage): version("0.001", sha256="51f24ad55e28fb1f9d698270602e5077c920fcf58d8ccfd274efbe829d7dd821") version("0.000", sha256="9486b11201e6b6e181b8a3abecd929403ae9aa67de0eb8b7353fb82ab4b89f41") + depends_on("cxx", type="build") # generated + depends_on("fastjet") build_targets = ["all", "fragile-shared"] diff --git a/var/spack/repos/builtin/packages/flac/package.py b/var/spack/repos/builtin/packages/flac/package.py index 6cc847ea5eccdb..80b18f12938820 100644 --- a/var/spack/repos/builtin/packages/flac/package.py +++ b/var/spack/repos/builtin/packages/flac/package.py @@ -24,4 +24,7 @@ class Flac(AutotoolsPackage): version("1.3.1", sha256="4773c0099dba767d963fd92143263be338c48702172e8754b9bc5103efe1c56c") version("1.3.0", sha256="fa2d64aac1f77e31dfbb270aeb08f5b32e27036a52ad15e69a77e309528010dc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libogg@1.1.2:") diff --git a/var/spack/repos/builtin/packages/flann/package.py b/var/spack/repos/builtin/packages/flann/package.py index 301d1d88f5d4a6..e6a8239dd5afa9 100644 --- a/var/spack/repos/builtin/packages/flann/package.py +++ b/var/spack/repos/builtin/packages/flann/package.py @@ -30,6 +30,9 @@ class Flann(CMakePackage): version("1.8.1", sha256="82ff80709ca25365bca3367e87ffb4e0395fab068487314d02271bc3034591c1") version("1.8.0", sha256="8a3eef79512870dec20b3a3e481e5e5e6da00d524b810a22ee186f13732f0fa1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): if version > Version("1.8.1"): return "https://github.com/mariusmuja/flann/archive/{0}.tar.gz".format(version) diff --git a/var/spack/repos/builtin/packages/flap/package.py b/var/spack/repos/builtin/packages/flap/package.py index 082ff297e6d7a2..fc2d9013930b03 100644 --- a/var/spack/repos/builtin/packages/flap/package.py +++ b/var/spack/repos/builtin/packages/flap/package.py @@ -19,6 +19,8 @@ class Flap(CMakePackage): version("master", branch="master", submodules=True) + depends_on("fortran", type="build") # generated + def flag_handler(self, name, flags): if name in ["cflags", "cxxflags", "cppflags"]: return (None, flags, None) diff --git a/var/spack/repos/builtin/packages/flash/package.py b/var/spack/repos/builtin/packages/flash/package.py index 8cd9e98f5afc8b..67ca048eb002f0 100644 --- a/var/spack/repos/builtin/packages/flash/package.py +++ b/var/spack/repos/builtin/packages/flash/package.py @@ -18,6 +18,8 @@ class Flash(MakefilePackage): version("1.2.11", sha256="685ca6f7fedda07434d8ee03c536f4763385671c4509c5bb48beb3055fd236ac") + depends_on("c", type="build") # generated + depends_on("zlib-api") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/flashdimmsim/package.py b/var/spack/repos/builtin/packages/flashdimmsim/package.py index 9f2bc1574ae6ff..77c6ddb9793928 100644 --- a/var/spack/repos/builtin/packages/flashdimmsim/package.py +++ b/var/spack/repos/builtin/packages/flashdimmsim/package.py @@ -14,6 +14,8 @@ class Flashdimmsim(Package): version("master", branch="master") + depends_on("cxx", type="build") # generated + build_directory = "src" def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/flatbuffers/package.py b/var/spack/repos/builtin/packages/flatbuffers/package.py index e7be61454e7b3f..7d1ca90e2f0c2f 100644 --- a/var/spack/repos/builtin/packages/flatbuffers/package.py +++ b/var/spack/repos/builtin/packages/flatbuffers/package.py @@ -24,6 +24,8 @@ class Flatbuffers(CMakePackage): version("1.9.0", sha256="5ca5491e4260cacae30f1a5786d109230db3f3a6e5a0eb45d0d0608293d247e3") version("1.8.0", sha256="c45029c0a0f1a88d416af143e34de96b3091642722aa2d8c090916c6d1498c2e") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared instead of static libraries") variant("python", default=False, description="Build with python support") diff --git a/var/spack/repos/builtin/packages/flatcc/package.py b/var/spack/repos/builtin/packages/flatcc/package.py index 1a685e7f85a99b..f9c054a5a679e4 100644 --- a/var/spack/repos/builtin/packages/flatcc/package.py +++ b/var/spack/repos/builtin/packages/flatcc/package.py @@ -31,6 +31,9 @@ class Flatcc(CMakePackage): version("0.4.1", sha256="de9f668e5555b24c0885f8dc4f4098cc8065c1f428f8209097624035aee487df") version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libs") depends_on("cmake@2.8:", type="build") diff --git a/var/spack/repos/builtin/packages/flcl/package.py b/var/spack/repos/builtin/packages/flcl/package.py index dad907c1f7b9cc..be0e0b514d2727 100644 --- a/var/spack/repos/builtin/packages/flcl/package.py +++ b/var/spack/repos/builtin/packages/flcl/package.py @@ -23,6 +23,9 @@ class Flcl(CMakePackage): version("0.4.0", sha256="0fe327906a991262866b126a7d58098eb48297148f117fd59a2dbcc14e76f394") version("0.3", sha256="fc18c8fa3ae33db61203b647ad9025d894612b0faaf7fe07426aaa8bbfa9e703") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("kokkos") depends_on("cmake@3.17:", type="build", when="@:0.4.0") depends_on("cmake@3.19:", type="build", when="@0.5.0:") diff --git a/var/spack/repos/builtin/packages/flecsale/package.py b/var/spack/repos/builtin/packages/flecsale/package.py deleted file mode 100644 index ef09c6a29f8450..00000000000000 --- a/var/spack/repos/builtin/packages/flecsale/package.py +++ /dev/null @@ -1,45 +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 * -from spack.pkg.builtin.boost import Boost - - -class Flecsale(CMakePackage): - """Flecsale is an ALE code based on FleCSI""" - - homepage = "https://github.com/laristra/flecsale" - git = "https://github.com/laristra/flecsale.git" - - license("Unlicense") - - version("develop", branch="master", submodules=True) - - variant("mpi", default=True, description="Build on top of mpi conduit for mpi inoperability") - - depends_on("pkgconfig", type="build") - depends_on("cmake@3.1:", type="build") - depends_on("flecsi backend=serial", when="~mpi") - conflicts("^flecsi backend=serial", when="+mpi") - depends_on("python") - depends_on("openssl") - depends_on("boost~mpi", when="~mpi") - depends_on("boost+mpi", when="+mpi") - - # 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) - depends_on("exodusii~mpi", when="~mpi") - depends_on("exodusii+mpi", when="+mpi") - - def cmake_args(self): - options = ["-DENABLE_UNIT_TESTS=ON" "-DENABLE_OPENSSL=ON" "-DENABLE_PYTHON=ON"] - - if "+mpi" in self.spec: - options.extend(["-DENABLE_MPI=ON", "-DFLECSI_RUNTIME_MODEL=legion"]) - - return options diff --git a/var/spack/repos/builtin/packages/flecsi/package.py b/var/spack/repos/builtin/packages/flecsi/package.py index 991ff6f778760d..12d6d9df81debb 100644 --- a/var/spack/repos/builtin/packages/flecsi/package.py +++ b/var/spack/repos/builtin/packages/flecsi/package.py @@ -17,27 +17,23 @@ class Flecsi(CMakePackage, CudaPackage, ROCmPackage): homepage = "http://flecsi.org/" git = "https://github.com/flecsi/flecsi.git" - maintainers("ktsai7", "rbberger") + maintainers("rbberger", "opensdh") tags = ["e4s"] version("develop", branch="develop", deprecated=True) + version("2.3.0", tag="v2.3.0", commit="90bc8267fceb02060e54646f73b45d4252aef491") version("2.2.1", tag="v2.2.1", commit="84b5b232aebab40610f57387778db80f6c8c84c5") version("2.2.0", tag="v2.2.0", commit="dd531ac16c5df124d76e385c6ebe9b9589c2d3ad") version("2.1.0", tag="v2.1.0", commit="533df139c267e2a93c268dfe68f9aec55de11cf0") version("2.0.0", tag="v2.0.0", commit="5ceebadf75d1c98999ea9e9446926722d061ec22") - version( - "1.4.1", - tag="v1.4.1", - commit="ab974c3164056e6c406917c8ca771ffd43c5a031", - submodules=True, - deprecated=True, - ) + + depends_on("cxx", type="build") # generated variant( "backend", default="mpi", - values=("serial", "mpi", "legion", "hpx", "charmpp"), + values=("mpi", "legion", "hpx"), description="Backend to use for distributed memory", multi=False, ) @@ -56,24 +52,9 @@ class Flecsi(CMakePackage, CudaPackage, ROCmPackage): variant("kokkos", default=False, description="Enable Kokkos Support") variant("openmp", default=False, description="Enable OpenMP Support") - # legacy variants - variant("coverage", default=False, description="Enable coverage build", when="@:1") - variant( - "debug_backend", default=False, description="Build Backend with Debug Mode", when="@:1" - ) - variant("disable_metis", default=False, description="Disable FindPackageMetis", when="@:1") - variant("doxygen", default=False, description="Enable doxygen", when="@:1") - variant("tutorial", default=False, description="Build FleCSI Tutorials", when="@:1") - variant("flecstan", default=False, description="Build FleCSI Static Analyzer", when="@:1") - variant("external_cinch", default=False, description="Enable External Cinch", when="@:1") - variant("unit_tests", default=False, description="Build with Unit Tests Enabled", when="@:1") - # All Current FleCSI Releases for level in ("low", "medium", "high"): - depends_on("caliper@2.0.1~adiak~libdw", when="@:1 caliper_detail=%s" % level) - depends_on("caliper", when="@2.0: caliper_detail=%s" % level) - conflicts("^caliper@2.6", when="@2.0: caliper_detail=%s" % level) - conflicts("^caliper@2.7", when="@2.0: caliper_detail=%s" % level) + depends_on("caliper@:2.5,2.8:", when=f"caliper_detail={level}") depends_on("graphviz", when="+graphviz") depends_on("hdf5+hl+mpi", when="+hdf5") @@ -81,92 +62,56 @@ class Flecsi(CMakePackage, CudaPackage, ROCmPackage): depends_on("parmetis@4.0.3:") depends_on("boost@1.70.0: cxxstd=17 +program_options +stacktrace") - # FleCSI@1.x - depends_on("cmake@3.12:", when="@:1") - # Requires cinch > 1.0 due to cinchlog installation issue - depends_on("cinch@1.01:", type="build", when="+external_cinch @:1") - depends_on("mpi", when="backend=mpi @:1") - depends_on("mpi", when="backend=legion @:1") - depends_on("mpi", when="backend=hpx @:1") - depends_on("legion+shared", when="backend=legion @:1") - depends_on("legion+hdf5", when="backend=legion +hdf5 @:1") - depends_on("legion build_type=Debug", when="backend=legion +debug_backend") - depends_on("legion@cr-20191217", when="backend=legion @:1") - depends_on("hpx@1.4.1 cxxstd=17 malloc=system max_cpu_count=128", when="backend=hpx @:1") - depends_on("hpx build_type=Debug", when="backend=hpx +debug_backend") - depends_on("googletest@1.8.1+gmock", when="@:1") - depends_on("python@3.0:", when="+tutorial @:1") - depends_on("doxygen", when="+doxygen @:1") - depends_on("llvm", when="+flecstan @:1") - depends_on("pfunit@3.0:3", when="@:1") - depends_on("py-gcovr", when="+coverage @:1") - depends_on("openmpi+legacylaunchers", when="+unit_tests ^[virtuals=mpi] openmpi") - - # FleCSI@2.x - depends_on("cmake@3.15:", when="@2.0:") + depends_on("cmake@3.15:") depends_on("cmake@3.19:", when="@2.2:") - depends_on("boost +atomic +filesystem +regex +system", when="@2.0:2.2.1") + depends_on("cmake@3.23:", when="@2.3:") + depends_on("boost +atomic +filesystem +regex +system", when="@:2.2.1") depends_on("boost@1.79.0:", when="@2.2:") - depends_on("kokkos@3.2.00:", when="+kokkos @2.0:") - depends_on("kokkos +cuda +cuda_constexpr +cuda_lambda", when="+kokkos +cuda @2.0:") - depends_on("kokkos +rocm", when="+kokkos +rocm @2.0:") - depends_on("kokkos +openmp", when="+kokkos +openmp @2.0:") + depends_on("kokkos@3.2.00:", when="+kokkos") + depends_on("kokkos@3.7:", when="+kokkos @2.3:") + depends_on("kokkos +cuda +cuda_constexpr +cuda_lambda", when="+kokkos +cuda") + depends_on("kokkos +rocm", when="+kokkos +rocm") + depends_on("kokkos +openmp", when="+kokkos +openmp") depends_on("legion@cr-20210122", when="backend=legion @2.0:2.2.1") depends_on("legion@cr-20230307", when="backend=legion @2.2.0:2.2.1") depends_on("legion@24.03.0:", when="backend=legion @2.2.2:") - depends_on("legion+shared", when="backend=legion +shared @2.0:") - depends_on("legion+hdf5", when="backend=legion +hdf5 @2.0:") - depends_on("legion+kokkos", when="backend=legion +kokkos @2.0:") - depends_on("legion+openmp", when="backend=legion +openmp @2.0:") - depends_on("legion+cuda", when="backend=legion +cuda @2.0:") - depends_on("legion+rocm", when="backend=legion +rocm @2.0:") - depends_on("hdf5@1.10.7:", when="backend=legion +hdf5 @2.0:") - depends_on("hpx@1.9.1: cxxstd=17 malloc=system", when="backend=hpx @2.0:") - depends_on("mpi", when="@2.0:") - depends_on("mpich@3.4.1:", when="@2.0: ^[virtuals=mpi] mpich") - depends_on("openmpi@4.1.0:", when="@2.0: ^[virtuals=mpi] openmpi") + depends_on("legion+shared", when="backend=legion +shared") + depends_on("legion+hdf5", when="backend=legion +hdf5") + depends_on("legion+kokkos", when="backend=legion +kokkos") + depends_on("legion+openmp", when="backend=legion +openmp") + depends_on("legion+cuda", when="backend=legion +cuda") + depends_on("legion+rocm", when="backend=legion +rocm") + depends_on("hdf5@1.10.7:", when="backend=legion +hdf5") + depends_on("hpx@1.10.0: cxxstd=17 malloc=system", when="backend=hpx") + depends_on("mpi") + depends_on("mpich@3.4.1:", when="^[virtuals=mpi] mpich") + depends_on("openmpi@4.1.0:", when="^[virtuals=mpi] openmpi") + depends_on("graphviz@2.49.0:", when="+graphviz @2.3:") # FleCSI 2.2+ documentation dependencies depends_on("py-sphinx", when="+doc") depends_on("py-sphinx-rtd-theme", when="+doc") - depends_on("py-recommonmark", when="+doc") + depends_on("py-recommonmark", when="@:2.2 +doc") depends_on("doxygen", when="+doc") depends_on("graphviz", when="+doc") # Propagate cuda_arch requirement to dependencies for _flag in CudaPackage.cuda_arch_values: - depends_on("kokkos cuda_arch=" + _flag, when="+cuda+kokkos cuda_arch=" + _flag + " @2.0:") - depends_on( - "legion cuda_arch=" + _flag, when="backend=legion +cuda cuda_arch=" + _flag + " @2.0:" - ) + depends_on(f"kokkos cuda_arch={_flag}", when=f"+cuda+kokkos cuda_arch={_flag}") + depends_on(f"legion cuda_arch={_flag}", when=f"backend=legion +cuda cuda_arch={_flag}") # Propagate amdgpu_target requirement to dependencies for _flag in ROCmPackage.amdgpu_targets: - depends_on("kokkos amdgpu_target=" + _flag, when="+kokkos +rocm amdgpu_target=" + _flag) + depends_on(f"kokkos amdgpu_target={_flag}", when=f"+kokkos +rocm amdgpu_target={_flag}") depends_on( - "legion amdgpu_target=" + _flag, - when="backend=legion +rocm amdgpu_target=" + _flag + " @2.0:", + f"legion amdgpu_target={_flag}", when=f"backend=legion +rocm amdgpu_target={_flag}" ) - requires("%gcc@9:", when="@2: %gcc", msg="Version 9 or newer of GNU compilers required!") - - conflicts("+tutorial", when="backend=hpx") - # FleCSI@2: no longer supports serial or charmpp backends - conflicts("backend=serial", when="@2.0:") - conflicts("backend=charmpp", when="@2.0:") - # FleCSI@:1.4 releases do not support kokkos, omp, cuda, or rocm - conflicts("+kokkos", when="@:1.4") - conflicts("+openmp", when="@:1.4") - conflicts("+cuda", when="@:1.4") - conflicts("+rocm", when="@:1.4") - # Unit tests require flog support - conflicts("+unit_tests", when="~flog") + requires("%gcc@9:", when="%gcc", msg="Version 9 or newer of GNU compilers required!") + # Disallow conduit=none when using legion as a backend conflicts("^legion conduit=none", when="backend=legion") - # Due to overhauls of Legion and Gasnet spackages - # flecsi@:1.4 can no longer be built with a usable legion - conflicts("backend=legion", when="@:1.4") - conflicts("+hdf5", when="@2: backend=hpx", msg="HPX backend doesn't support HDF5") + conflicts("+hdf5", when="backend=hpx", msg="HPX backend doesn't support HDF5") def cmake_args(self): spec = self.spec @@ -202,29 +147,14 @@ def cmake_args(self): self.define_from_variant("ENABLE_GRAPHVIZ", "graphviz"), self.define_from_variant("ENABLE_KOKKOS", "kokkos"), self.define_from_variant("ENABLE_OPENMP", "openmp"), - self.define_from_variant("ENABLE_DOXYGEN", "doxygen"), - self.define_from_variant("ENABLE_COVERAGE_BUILD", "coverage"), + self.define_from_variant("ENABLE_DOXYGEN", "doc"), self.define_from_variant("ENABLE_FLOG", "flog"), - self.define_from_variant("ENABLE_FLECSIT", "tutorial"), - self.define_from_variant("ENABLE_FLECSI_TUTORIAL", "tutorial"), - self.define_from_variant("ENABLE_FLECSTAN", "flecstan"), - self.define("ENABLE_MPI", spec.variants["backend"].value != "serial"), - self.define("ENABLE_UNIT_TESTS", self.run_tests or "+unit_tests" in spec), + self.define("ENABLE_MPI", True), + self.define("ENABLE_UNIT_TESTS", self.run_tests), self.define_from_variant("ENABLE_HDF5", "hdf5"), ] - if "+external_cinch" in spec: - options.append(self.define("CINCH_SOURCE_DIR", spec["cinch"].prefix)) - if spec.variants["backend"].value == "hpx": options.append(self.define("HPX_IGNORE_CMAKE_BUILD_TYPE_COMPATIBILITY", True)) - if spec.satisfies("@:1"): - options.append( - self.define("ENABLE_CALIPER", spec.variants["caliper_detail"].value != "none") - ) - options.append( - self.define_from_variant("CMAKE_DISABLE_FIND_PACKAGE_METIS", "disable_metis") - ) - return options diff --git a/var/spack/repos/builtin/packages/flecsph/package.py b/var/spack/repos/builtin/packages/flecsph/package.py index 0e47ba5ea3794e..ca875c8ade1196 100644 --- a/var/spack/repos/builtin/packages/flecsph/package.py +++ b/var/spack/repos/builtin/packages/flecsph/package.py @@ -20,6 +20,8 @@ class Flecsph(CMakePackage): maintainers("JulienLoiseau") version("master", branch="master", submodules=True, preferred=True) + depends_on("cxx", type="build") # generated + variant("debug_tree", default=False, description="Enable debug for Ntree") depends_on("cmake@3.15:", type="build") diff --git a/var/spack/repos/builtin/packages/fleur/package.py b/var/spack/repos/builtin/packages/fleur/package.py index ec6c271ad44166..cd665cc14b8558 100644 --- a/var/spack/repos/builtin/packages/fleur/package.py +++ b/var/spack/repos/builtin/packages/fleur/package.py @@ -22,6 +22,10 @@ class Fleur(Package): version("4.0", tag="MaX-R4", commit="ea0db7877451e6240124e960c5546318c9ab3953") version("3.1", tag="MaX-R3.1", commit="f6288a0699604ad9e11efbfcde824b96db429404") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant("hdf5", default=False, description="Enable HDF5 support") variant("scalapack", default=False, description="Enable SCALAPACK") diff --git a/var/spack/repos/builtin/packages/flex/package.py b/var/spack/repos/builtin/packages/flex/package.py index c887e3580b3ccf..3b2bf4f1ebf368 100644 --- a/var/spack/repos/builtin/packages/flex/package.py +++ b/var/spack/repos/builtin/packages/flex/package.py @@ -33,6 +33,9 @@ class Flex(AutotoolsPackage): version("2.6.0", sha256="cde6e46064a941a3810f7bbc612a2c39cb3aa29ce7eb775089c2515d0adfa7e9") version("2.5.39", sha256="258d3c9c38cae05932fb470db58b6a288a361c448399e6bda2694ef72a76e7cd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("nls", default=False, description="Enable native language support") variant("lex", default=True, description="Provide symlinks for lex and libl") diff --git a/var/spack/repos/builtin/packages/flexi/package.py b/var/spack/repos/builtin/packages/flexi/package.py index 36e1a6296854b7..80359b1ced88bc 100644 --- a/var/spack/repos/builtin/packages/flexi/package.py +++ b/var/spack/repos/builtin/packages/flexi/package.py @@ -18,6 +18,10 @@ class Flexi(CMakePackage): version("master", preferred=True) version("21.03.0", tag="v21.03.0", commit="d061978e5d96cfc96c06edc1bae9d92cbe540c18") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + patch("for_aarch64.patch", when="target=aarch64:") variant("mpi", default=True, description="Enable MPI") diff --git a/var/spack/repos/builtin/packages/flexiblas/package.py b/var/spack/repos/builtin/packages/flexiblas/package.py index a332fd4218ffb3..97024d4d6c5f96 100644 --- a/var/spack/repos/builtin/packages/flexiblas/package.py +++ b/var/spack/repos/builtin/packages/flexiblas/package.py @@ -22,6 +22,10 @@ class Flexiblas(CMakePackage): version("3.0.4", sha256="50a88f2e88994dda91b2a2621850afd9654b3b84820e737e335687a46751be5c") version("3.0.3", sha256="926ab31cf56f0618aec34da85314f3b48b6deb661b4e9d6e6a99dc37872b5341") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # virtual dependency provides("blas") provides("lapack") diff --git a/var/spack/repos/builtin/packages/flibcpp/package.py b/var/spack/repos/builtin/packages/flibcpp/package.py index 72e52395444e1f..7e439a3bce2259 100644 --- a/var/spack/repos/builtin/packages/flibcpp/package.py +++ b/var/spack/repos/builtin/packages/flibcpp/package.py @@ -26,6 +26,9 @@ class Flibcpp(CMakePackage): version("0.4.0", sha256="ccb0acf58a4480977fdb3c62a0bd267297c1dfa687a142ea8822474c38aa322b") version("0.3.1", sha256="871570124122c18018478275d5040b4b787d1966e50ee95b634b0b5e0cd27e91") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("doc", default=False, description="Build and install documentation") variant("shared", default=True, description="Build shared libraries") variant("swig", default=False, description="Regenerate source files using SWIG") diff --git a/var/spack/repos/builtin/packages/flint/package.py b/var/spack/repos/builtin/packages/flint/package.py index 43969ff209a62f..2d49648e508f77 100644 --- a/var/spack/repos/builtin/packages/flint/package.py +++ b/var/spack/repos/builtin/packages/flint/package.py @@ -23,6 +23,9 @@ class Flint(AutotoolsPackage): version("2.5.2", sha256="cbf1fe0034533c53c5c41761017065f85207a1b770483e98b2392315f6575e87") version("2.4.5", sha256="e489354df00f0d84976ccdd0477028693977c87ccd14f3924a89f848bb0e01e3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Overlap in functionality between gmp and mpir # All other dependencies must also be built with # one or the other diff --git a/var/spack/repos/builtin/packages/flit/package.py b/var/spack/repos/builtin/packages/flit/package.py index 8aaad29b0098c6..30c86cfe034517 100644 --- a/var/spack/repos/builtin/packages/flit/package.py +++ b/var/spack/repos/builtin/packages/flit/package.py @@ -21,6 +21,8 @@ class Flit(MakefilePackage): version("develop", branch="devel") version("2.1.0", sha256="b31ffa02fda1ab0f5555acdc6edc353d93d53ae8ef85e099f83bcf1c83e70885") + depends_on("cxx", type="build") # generated + maintainers("mikebentley15") # Add dependencies diff --git a/var/spack/repos/builtin/packages/fltk/package.py b/var/spack/repos/builtin/packages/fltk/package.py index f860c05cc5ab0f..50f2b68c57a0ce 100644 --- a/var/spack/repos/builtin/packages/fltk/package.py +++ b/var/spack/repos/builtin/packages/fltk/package.py @@ -27,6 +27,9 @@ class Fltk(Package): version("1.3.7", sha256="5d2ccb7ad94e595d3d97509c7a931554e059dd970b7b29e6fd84cb70fd5491c6") version("1.3.3", sha256="f8398d98d7221d40e77bc7b19e761adaf2f1ef8bb0c30eceb7beb4f2273d0d97") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libx11") patch("font.patch", when="@1.3.3") diff --git a/var/spack/repos/builtin/packages/flux-core/package.py b/var/spack/repos/builtin/packages/flux-core/package.py index b85a496cf7c181..3d0e128ee43146 100644 --- a/var/spack/repos/builtin/packages/flux-core/package.py +++ b/var/spack/repos/builtin/packages/flux-core/package.py @@ -22,6 +22,9 @@ class FluxCore(AutotoolsPackage): license("LGPL-3.0-only") version("master", branch="master") + version("0.64.0", sha256="0334d6191915f1b89b70cdbf14f24200f8899da31090df5f502020533b304bb3") + version("0.63.0", sha256="f0fd339f0e24cb26331ad55062d3c1e1c7c81df41c0d7f8727aa0700c7baa1ae") + version("0.62.0", sha256="54a227741901ca758236c024296b8cd53718eea0050fc6363d2b2979aa0bf1e9") version("0.61.2", sha256="06f38143723e3f8331f55893ad8f74d43eb0588078f91abb603690c3e5f5112c") version("0.61.1", sha256="59cc730b34b732a1d00355bb5589bf2d26bf522b4a31ebfabff70ddb3afb51d6") version("0.61.0", sha256="02cedc6abb12816cbb01f2195c1acf7b6552c1d8b9029f899148df48a7cd05e2") @@ -58,71 +61,8 @@ class FluxCore(AutotoolsPackage): version("0.30.0", sha256="e51fde4464140367ae4bc1b44f960675ea0a6f58eede3a561cacd8a11ca3e776") version("0.29.0", sha256="c13b40e82d66356e75208a689a495ca01f0a013e2e45ac8ea202ed8224987323") version("0.28.0", sha256="9a784def7186b0036091bd8d6d8fe5bc3425ab2927e1465e1c9ad266631c285d") - version( - "0.27.0", - sha256="abd46d38081ba6b501adb1c111374b39d6ae72ac1aec9fbbf31943a856541d3a", - deprecated=True, - ) - version( - "0.26.0", - sha256="58bfd4742c59364b13cd83214e8f70735952d01793800b149cae056fddfeeff1", - deprecated=True, - ) - version( - "0.25.0", - sha256="3c97e21eaec51e8aa0eaee6aa8eb23246650d102a6b6a5c9943cd69e3c8e1008", - deprecated=True, - ) - version( - "0.24.0", - sha256="fb7e0f9a44d84144a8eaf8f42a5d7e64a4a847861d0ddc2ad8fc4908b5a9190e", - deprecated=True, - ) - version( - "0.23.0", - sha256="918b181be4e27c32f02d5036230212cd9235dc78dc2bde249c3651d6f75866c7", - deprecated=True, - ) - version( - "0.22.0", - sha256="1dd0b737199b8a40f245e6a4e1b3b28770f0ecf2f483d284232080b8b252521f", - deprecated=True, - ) - version( - "0.21.0", - sha256="cc1b7a46d7c1c1a3e99e8861bba0dde89a97351eabd6f1b264788bd76e64c329", - deprecated=True, - ) - version( - "0.20.0", - sha256="2970b9b1c389fc4a381f9e605921ce0eb6aa9339387ea741978bcffb4bd81b6f", - deprecated=True, - ) - version( - "0.19.0", - sha256="f45328a37d989c308c46639a9ed771f47b11184422cf5604249919fbd320d6f5", - deprecated=True, - ) - version( - "0.18.0", - sha256="9784bbca94177a32dbbc99728e8925bf894f3aebaa316961d6ea85df32d59545", - deprecated=True, - ) - version( - "0.17.0", - sha256="3f8c6cb72982028f86a96c0098cacd3a6e9de359fa1cf077380c835a20e7b7f7", - deprecated=True, - ) - version( - "0.16.0", - sha256="1582f7fb4d2313127418c34de7c9ce4f5fef00622d19cedca7bed929f4709f10", - deprecated=True, - ) - version( - "0.15.0", - sha256="51bc2eae69501f802459fc82f191eb5e8ae0b4f7e9e77ac18543a850cc8445f5", - deprecated=True, - ) + + depends_on("c", type="build") # generated # Avoid the infinite symlink issue # This workaround is documented in PR #3543 @@ -140,27 +80,22 @@ class FluxCore(AutotoolsPackage): depends_on("ncurses@6.2:", when="@0.32.0:") depends_on("libzmq@4.0.4:") depends_on("czmq@3.0.1:", when="@:0.54.0") - depends_on("hwloc@1.11.1:1", when="@:0.17.0") - depends_on("hwloc@1.11.1:", when="@0.17.0:") + depends_on("hwloc@1.11.1:") depends_on("hwloc +cuda", when="+cuda") # Provide version hints for lua so that the concretizer succeeds when no # explicit flux-core version is given. See issue #10000 for details depends_on("lua", type=("build", "run", "link")) - depends_on("lua@5.1:5.2", when="@:0.17.0") - depends_on("lua@5.1:5.3", when="@0.18.0:") + depends_on("lua@5.1:5.3") depends_on("lua-luaposix") # `link` dependency on python due to Flux's `pymod` module - depends_on("python@3.6:", when="@0.17:", type=("build", "link", "run")) - depends_on("python@2.7:", type=("build", "link", "run")) + depends_on("python@3.6:", type=("build", "link", "run")) # Use of distutils in configure script dropped in v0.55 depends_on("python@:3.11", when="@:0.54", type=("build", "link", "run")) depends_on("py-cffi@1.1:", type=("build", "run")) - depends_on("py-six@1.9:", when="@:0.24", type=("build", "run")) depends_on("py-pyyaml@3.10:", type=("build", "run")) depends_on("py-jsonschema@2.3:", type=("build", "run"), when="@:0.58.0") depends_on("py-ply", type=("build", "run"), when="@0.46.1:") - depends_on("jansson") - depends_on("jansson@2.10:", when="@0.21.0:") + depends_on("jansson@2.10:") depends_on("pkgconfig") depends_on("lz4") depends_on("sqlite") @@ -285,4 +220,4 @@ def flag_handler(self, name, flags): flags = [] flags.append("-Wno-error=maybe-uninitialized") - return (flags, None, None) + return flags, None, None diff --git a/var/spack/repos/builtin/packages/flux-pmix/package.py b/var/spack/repos/builtin/packages/flux-pmix/package.py index a94bb4c4f7b625..7b6dafc750b84c 100644 --- a/var/spack/repos/builtin/packages/flux-pmix/package.py +++ b/var/spack/repos/builtin/packages/flux-pmix/package.py @@ -23,6 +23,8 @@ class FluxPmix(AutotoolsPackage): version("0.3.0", sha256="88edb2afaeb6058b56ff915105a36972acc0d83204cff7f4a4d2f65a5dee9d34") version("0.2.0", sha256="d09f1fe6ffe54f83be4677e1e727640521d8110090515d94013eba0f58216934") + depends_on("c", type="build") # generated + depends_on("flux-core@0.49:", when="@0.3:") depends_on("flux-core@0.30.0:") depends_on("pmix@v4.1.0:") diff --git a/var/spack/repos/builtin/packages/flux-sched/package.py b/var/spack/repos/builtin/packages/flux-sched/package.py index e8fffd1f2ff9f0..3f97fb0d769d55 100644 --- a/var/spack/repos/builtin/packages/flux-sched/package.py +++ b/var/spack/repos/builtin/packages/flux-sched/package.py @@ -24,6 +24,8 @@ class FluxSched(CMakePackage, AutotoolsPackage): license("LGPL-3.0-only") version("master", branch="master") + version("0.36.0", sha256="c20814eae65b6eb9f2c919dbcc216dd4b87f038a341cf99510cca88d43631c41") + version("0.35.0", sha256="38fde51464f4e34ecbd1e4fbbf00267f96b639db5987257a7ad07f811e2f09d2") version("0.34.0", sha256="10c03d78fa2302de7ddf9599ea59fb7a2dc7ccf6f526fd9fbfc9e3ff6ba39713") version("0.33.1", sha256="d0a1e504226d69fa8a247e9090d94ccc5e5f5fb028aab805f9cd95379bd8b1b3") version("0.33.0", sha256="d2e97121aed29bb1c6bfac602d890edb2f0a18d5303205b266a33c66fff1d61c") @@ -44,15 +46,9 @@ class FluxSched(CMakePackage, AutotoolsPackage): version("0.19.0", sha256="8dffa8eaec95a81286f621639ef851c52dc4c562d365971233bbd91100c31ed2") version("0.18.0", sha256="a4d8a6444fdb7b857b26f47fdea57992b486c9522f4ff92d5a6f547d95b586ae") version("0.17.0", sha256="5acfcb757e2294a92eaa91be58ba9b42736b88b42d2937de4a78f4642b1c4933") - version("0.16.0", sha256="08313976161c141b9b34e2d44d5a08d1b11302e22d60aeaf878eef84d4bd2884") - version("0.15.0", sha256="ff24d26997f91af415f98734b8117291f5a5001e86dac865b56b3d72980c80c8") - version("0.14.0", sha256="2808f42032b917823d69cd26103c9238694416e2f30c6d39c11c670927ed232a") - version("0.13.0", sha256="ba17fc0451239fe31a1524b6a270741873f59a5057514d2524fd3e9215c47a82") - version("0.12.0", sha256="b41ecaebba254abfb5a7995fd9100bd45a59d4ad0a79bdca8b3db02785d97b1d") - version("0.11.0", sha256="6a0e3c0678f85da8724e5399b02be9686311c835617f6036235ef54b489cc336") - version("0.10.0", sha256="5944927774709b5f52ddf64a0e825d9b0f24c9dea890b5504b87a8576d217cf6") - version("0.9.0", sha256="0e1eb408a937c2843bdaaed915d4d7e2ea763b98c31e7b849a96a74758d66a21") - version("0.8.0", sha256="45bc3cefb453d19c0cb289f03692fba600a39045846568d258e4b896ca19ca0d") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated # Avoid the infinite symlink issue # This workaround is documented in PR #3543 @@ -79,11 +75,6 @@ class FluxSched(CMakePackage, AutotoolsPackage): depends_on("flux-core", type=("build", "link", "run")) depends_on("flux-core+cuda", when="+cuda", type=("build", "run", "link")) - depends_on("flux-core@0.16.0:0.16", when="@0.8.0", type=("build", "run", "link")) - depends_on("flux-core@0.22.0", when="@0.14.0", type=("build", "run", "link")) - depends_on("flux-core@0.23.0:0.25", when="@0.15.0", type=("build", "run", "link")) - depends_on("flux-core@0.26.0:", when="@0.16.0", type=("build", "run", "link")) - depends_on("flux-core@0.28.0:", when="@0.17.0", type=("build", "run", "link")) depends_on("flux-core@0.29.0:", when="@0.18.0", type=("build", "run", "link")) depends_on("flux-core@0.30.0:", when="@0.19.0", type=("build", "run", "link")) depends_on("flux-core@0.31.0:", when="@0.19.0", type=("build", "run", "link")) @@ -184,6 +175,9 @@ def setup_run_environment(self, env): env.prepend_path("FLUX_MODULE_PATH", self.prefix.lib.flux.modules) env.prepend_path("FLUX_MODULE_PATH", self.prefix.lib.flux.modules.sched) + # On some systems modules are in lib64 and lib + env.prepend_path("FLUX_MODULE_PATH", self.prefix.lib64.flux.modules) + env.prepend_path("FLUX_MODULE_PATH", self.prefix.lib64.flux.modules.sched) env.prepend_path("FLUX_EXEC_PATH", self.prefix.libexec.flux.cmd) env.prepend_path("FLUX_RC_EXTRA", self.prefix.etc.flux) diff --git a/var/spack/repos/builtin/packages/flux-security/package.py b/var/spack/repos/builtin/packages/flux-security/package.py index 1d108f8449ba55..23183c6d3b5076 100644 --- a/var/spack/repos/builtin/packages/flux-security/package.py +++ b/var/spack/repos/builtin/packages/flux-security/package.py @@ -27,6 +27,8 @@ class FluxSecurity(AutotoolsPackage): version("0.9.0", sha256="2258120c6f32ca0b5b13b166bae56d9bd82a44c6eeaa6bc6187e4a4419bdbcc0") version("0.8.0", sha256="9963628063b4abdff6bece03208444c8f23fbfda33c20544c48b21e9f4819ce2") + depends_on("c", type="build") # generated + # Need autotools when building on master: depends_on("autoconf", type="build", when="@master") depends_on("automake", type="build", when="@master") @@ -35,7 +37,7 @@ class FluxSecurity(AutotoolsPackage): depends_on("pkgconfig") depends_on("libsodium@1.0.14:") depends_on("jansson") - depends_on("libuuid") + depends_on("uuid") depends_on("munge") depends_on("libpam") diff --git a/var/spack/repos/builtin/packages/fluxbox/package.py b/var/spack/repos/builtin/packages/fluxbox/package.py index 4559ad9c80f619..3a5ae980d86321 100644 --- a/var/spack/repos/builtin/packages/fluxbox/package.py +++ b/var/spack/repos/builtin/packages/fluxbox/package.py @@ -20,6 +20,8 @@ class Fluxbox(AutotoolsPackage): version("1.3.7", sha256="c99e2baa06fff1e96342b20415059d12ff1fa2917ade0173c75b2fa570295b9f") + depends_on("cxx", type="build") # generated + # Referenced:https://sourceforge.net/p/fluxbox/bugs/1171/ patch("fix_zero_comparison.patch") diff --git a/var/spack/repos/builtin/packages/fms/package.py b/var/spack/repos/builtin/packages/fms/package.py index 95465966a5683e..f1004c375a56b5 100644 --- a/var/spack/repos/builtin/packages/fms/package.py +++ b/var/spack/repos/builtin/packages/fms/package.py @@ -19,7 +19,15 @@ class Fms(CMakePackage): license("LGPL-3.0-or-later") maintainers("AlexanderRichert-NOAA", "Hang-Lei-NOAA", "edwardhartnett", "rem1776", "climbfuji") + version( + "2024.01.01", sha256="41c8686bad2b1aed76275e35cbe1af855f7dfce9b6d8907744ea2e8174758f6a" + ) + version("2024.01", sha256="29ac23a5a2a4765ae66d218bb261cb04f7ad44618205ab0924c4e66c9ef8fa38") version("2023.04", sha256="feb895ea2b3269ca66df296199a36af335f0dc281e2dab2f1bfebb19fd9c22c4") + version("2023.03", sha256="008a9ff394efe6a8adbcf37dd45ca103e00ae25748fc2960b7bc54f2f3b08d85") + version( + "2023.02.01", sha256="1597f7a485d02e401ce76444b2401060d74bd032cbb060cef917f001b4ff14bc" + ) version("2023.02", sha256="dc029ffadfd82c334f104268bedd8635c77976485f202f0966ae4cf06d2374be") version( "2023.01.01", sha256="f83e2814a1e3ba439ab847ec8bb251f3889d5ca14fb20849507590adbbe8e899" @@ -46,6 +54,9 @@ class Fms(CMakePackage): "2020.04.01", sha256="2c409242de7dea0cf29f8dbf7495698b6bcac1eeb5c4599a728bdea172ffe37c" ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "precision", values=("32", "64"), @@ -96,6 +107,7 @@ class Fms(CMakePackage): depends_on("netcdf-fortran") depends_on("mpi") depends_on("libyaml", when="+yaml") + depends_on("llvm-openmp", when="+openmp %apple-clang", type=("build", "run")) def cmake_args(self): args = [ diff --git a/var/spack/repos/builtin/packages/fmt/package.py b/var/spack/repos/builtin/packages/fmt/package.py index eadbb0ac5a6f8c..7c612c6a227c0e 100644 --- a/var/spack/repos/builtin/packages/fmt/package.py +++ b/var/spack/repos/builtin/packages/fmt/package.py @@ -18,6 +18,8 @@ class Fmt(CMakePackage): license("MIT") + version("11.0.1", sha256="62ca45531814109b5d6cef0cf2fd17db92c32a30dd23012976e768c685534814") + version("11.0.0", sha256="583ce480ef07fad76ef86e1e2a639fc231c3daa86c4aa6bcba524ce908f30699") version("10.2.1", sha256="312151a2d13c8327f5c9c586ac6cf7cddc1658e8f53edae0ec56509c8fa516c9") version("10.2.0", sha256="8a942861a94f8461a280f823041cde8f620a6d8b0e0aacc98c15bb5a9dd92399") version("10.1.1", sha256="b84e58a310c9b50196cda48d5678d5fa0849bca19e5fdba6b684f0ee93ed9d1b") diff --git a/var/spack/repos/builtin/packages/foam-extend/package.py b/var/spack/repos/builtin/packages/foam-extend/package.py index a9a333dde88b96..550a3ce69e7947 100644 --- a/var/spack/repos/builtin/packages/foam-extend/package.py +++ b/var/spack/repos/builtin/packages/foam-extend/package.py @@ -64,6 +64,10 @@ class FoamExtend(Package): version("3.1", git="http://git.code.sf.net/p/foam-extend/foam-extend-3.1.git", deprecated=True) version("3.0", git="http://git.code.sf.net/p/foam-extend/foam-extend-3.0.git", deprecated=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # variant('int64', default=False, # description='Compile with 64-bit label') variant("float32", default=False, description="Compile with 32-bit scalar (single-precision)") diff --git a/var/spack/repos/builtin/packages/foldseek/package.py b/var/spack/repos/builtin/packages/foldseek/package.py index de5e65211e52c0..018a5cdaf23c26 100644 --- a/var/spack/repos/builtin/packages/foldseek/package.py +++ b/var/spack/repos/builtin/packages/foldseek/package.py @@ -17,6 +17,9 @@ class Foldseek(CMakePackage): version("8-ef4e960", sha256="c74d02c4924d20275cc567783b56fff10e76ed67f3d642f53c283f67c4180a1e") version("7-04e0ec8", sha256="009d722d600248a680b9e1e9dcb3bf799f8be8de41e80a598b7f39a5ced54191") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("bzip2") depends_on("openmpi") diff --git a/var/spack/repos/builtin/packages/folly/package.py b/var/spack/repos/builtin/packages/folly/package.py index f621fe475c0ce6..72fa97883fc967 100644 --- a/var/spack/repos/builtin/packages/folly/package.py +++ b/var/spack/repos/builtin/packages/folly/package.py @@ -26,6 +26,9 @@ class Folly(CMakePackage): "2021.05.24.00", sha256="9d308adefe4670637f5c7d96309b3b394ac3fa129bc954f5dfbdd8b741c02aad" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # CMakePackage Dependency depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/font-util/package.py b/var/spack/repos/builtin/packages/font-util/package.py index e12ef4bd84c756..e53ebf74213a9b 100644 --- a/var/spack/repos/builtin/packages/font-util/package.py +++ b/var/spack/repos/builtin/packages/font-util/package.py @@ -20,6 +20,8 @@ class FontUtil(AutotoolsPackage, XorgPackage): version("1.3.2", sha256="f115a3735604de1e852a4bf669be0269d8ce8f21f8e0e74ec5934b31dadc1e76") version("1.3.1", sha256="34ebb0c9c14e0a392cdd5ea055c92489ad88d55ae148b2f1cfded0f3f63f2b5b") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/fontconfig/package.py b/var/spack/repos/builtin/packages/fontconfig/package.py index e829b60b46f59d..e96e1772877dd6 100644 --- a/var/spack/repos/builtin/packages/fontconfig/package.py +++ b/var/spack/repos/builtin/packages/fontconfig/package.py @@ -23,6 +23,8 @@ class Fontconfig(AutotoolsPackage): version("2.12.1", sha256="a9f42d03949f948a3a4f762287dbc16e53a927c91a07ee64207ebd90a9e5e292") version("2.11.1", sha256="b6b066c7dce3f436fdc0dfbae9d36122b38094f4f53bd8dffd45e195b0540d8d") + depends_on("c", type="build") # generated + # freetype2 21.0.15+ provided by freetype 2.8.1+ depends_on("freetype@2.8.1:", when="@2.13:") depends_on("freetype") @@ -33,6 +35,8 @@ class Fontconfig(AutotoolsPackage): depends_on("uuid", when="@2.13.1:") depends_on("python@3:", type="build", when="@2.13.93:") + variant("pic", default=False, description="Enable position-independent code (PIC)") + def patch(self): """Make test/run-test.sh compatible with dash""" filter_file("SIGINT SIGTERM SIGABRT EXIT", "2 15 6 0", "test/run-test.sh") @@ -45,8 +49,29 @@ def _rm_offending_header(self): def configure_args(self): font_path = join_path(self.spec["font-util"].prefix, "share", "fonts") + args = ["--enable-libxml2", "--disable-docs", f"--with-default-fonts={font_path}"] + ldflags = [] + libs = [] + deps = [] + if self.spec["bzip2"].satisfies("~shared"): + deps.append("bzip2") + if not self.spec["libpng"].satisfies("libs=shared"): + deps.append("libpng") + if self.spec["libxml2"].satisfies("~shared"): + deps.append("libxml-2.0") + if deps: + pc = which("pkg-config") + for lib in deps: + ldflags.append(pc(lib, "--static", "--libs-only-L", output=str).strip()) + libs.append(pc(lib, "--static", "--libs-only-l", output=str).strip()) + args.append("LDFLAGS=%s" % " ".join(ldflags)) + args.append("LIBS=%s" % " ".join(libs)) + + if self.spec.satisfies("+pic"): + args.append(f"CFLAGS={self.compiler.cc_pic_flag}") + args.append(f"FFLAGS={self.compiler.f77_pic_flag}") - return ["--enable-libxml2", "--disable-docs", f"--with-default-fonts={font_path}"] + return args @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 52b0de7ba824c0..f58227e1c003e5 100644 --- a/var/spack/repos/builtin/packages/fonttosfnt/package.py +++ b/var/spack/repos/builtin/packages/fonttosfnt/package.py @@ -18,6 +18,8 @@ class Fonttosfnt(AutotoolsPackage, XorgPackage): version("1.2.2", sha256="8111317c38f63aff08c717595e65381af7ebfc54ccc23511c2042ef1cd86c648") version("1.0.4", sha256="3873636be5b3b8e4160070e8f9a7a9221b5bd5efbf740d7abaa9092e10732673") + depends_on("c", type="build") # generated + depends_on("freetype") depends_on("libfontenc") diff --git a/var/spack/repos/builtin/packages/foonathan-memory/package.py b/var/spack/repos/builtin/packages/foonathan-memory/package.py index 4c288031bd4638..6a99d02d03db13 100644 --- a/var/spack/repos/builtin/packages/foonathan-memory/package.py +++ b/var/spack/repos/builtin/packages/foonathan-memory/package.py @@ -18,5 +18,7 @@ class FoonathanMemory(CMakePackage): version("0.7-3", sha256="4203d15db22a94a3978eeb1afb59a37d35c57c0f148733f0f1a53a6281cb74dd") version("0.7", sha256="01a7cc5a5ebddbd71bec69c89562a4a2ecd7c29334c0a29d38d83e7f7f66eb53") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.14:", when="@0.7-3:", type="build") depends_on("cmake@3.1:", type="build") diff --git a/var/spack/repos/builtin/packages/form/package.py b/var/spack/repos/builtin/packages/form/package.py index 0cd7a1a85d174d..3597348f920529 100644 --- a/var/spack/repos/builtin/packages/form/package.py +++ b/var/spack/repos/builtin/packages/form/package.py @@ -24,6 +24,9 @@ class Form(AutotoolsPackage): url="https://github.com/vermaseren/form/releases/download/v4.1-20131025/form-4.1.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("gmp", type="link", when="+gmp") depends_on("zlib-api", type="link", when="+zlib") depends_on("mpi", type="link", when="+parform") diff --git a/var/spack/repos/builtin/packages/formetis/package.py b/var/spack/repos/builtin/packages/formetis/package.py index 747eaa9eaf7636..ce0239f6ef6182 100644 --- a/var/spack/repos/builtin/packages/formetis/package.py +++ b/var/spack/repos/builtin/packages/formetis/package.py @@ -20,6 +20,9 @@ class Formetis(CMakePackage): version("0.0.2", sha256="0067c03ca822f4a3955751acb470f21eed489256e2ec5ff24741eb2b638592f1") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=False, description="Enable ParMETIS support") variant("shared", default=True, description="Build shared libraries") variant("swig", default=False, description="Regenerate source files using SWIG") diff --git a/var/spack/repos/builtin/packages/fortrilinos/package.py b/var/spack/repos/builtin/packages/fortrilinos/package.py index a90a954f6f20af..738937cbdf9c4c 100644 --- a/var/spack/repos/builtin/packages/fortrilinos/package.py +++ b/var/spack/repos/builtin/packages/fortrilinos/package.py @@ -49,6 +49,9 @@ class Fortrilinos(CMakePackage): ) version("master", branch="master") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("hl", default=True, description="Build high-level Trilinos wrappers") variant("shared", default=True, description="Build shared libraries") diff --git a/var/spack/repos/builtin/packages/fossil/package.py b/var/spack/repos/builtin/packages/fossil/package.py index 6c62b5b4a526fc..8d09c815ebe2c3 100644 --- a/var/spack/repos/builtin/packages/fossil/package.py +++ b/var/spack/repos/builtin/packages/fossil/package.py @@ -26,4 +26,7 @@ class Fossil(AutotoolsPackage): sha256="300c1d5cdd6224ec6e8c88ab3f38d50f80e4071b503731b75bd61274cf310733", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("openssl") diff --git a/var/spack/repos/builtin/packages/foundationdb/package.py b/var/spack/repos/builtin/packages/foundationdb/package.py index 710bdde1504958..08cbec0b49d7c8 100644 --- a/var/spack/repos/builtin/packages/foundationdb/package.py +++ b/var/spack/repos/builtin/packages/foundationdb/package.py @@ -25,6 +25,9 @@ class Foundationdb(CMakePackage): version("6.3.0", sha256="307f99014fe0bb8fbb05399c303f5a7a5007ceee207810857a7b5e6a7df7c8e8") version("6.2.24", sha256="9225316e43691ff344224824384acfdf16ff2aac5468d6d810e38846051d5db8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.13.0:", type="build") depends_on("mono") diff --git a/var/spack/repos/builtin/packages/fox/package.py b/var/spack/repos/builtin/packages/fox/package.py index 554f919720e161..bcd88f7f6c7b21 100644 --- a/var/spack/repos/builtin/packages/fox/package.py +++ b/var/spack/repos/builtin/packages/fox/package.py @@ -28,6 +28,8 @@ class Fox(AutotoolsPackage): sha256="65ef15de9e0f3a396dc36d9ea29c158b78fad47f7184780357b929c94d458923", ) + depends_on("cxx", type="build") # generated + patch("no_rexdebug.patch", when="@1.7.67") variant("opengl", default=False, description="opengl support") diff --git a/var/spack/repos/builtin/packages/fp16/package.py b/var/spack/repos/builtin/packages/fp16/package.py index d971dc6a1ebf18..a0e49e0da168b9 100644 --- a/var/spack/repos/builtin/packages/fp16/package.py +++ b/var/spack/repos/builtin/packages/fp16/package.py @@ -21,6 +21,8 @@ class Fp16(CMakePackage): version("2018-10-10", commit="34d4bf01bbf7376f2baa71b8fa148b18524d45cf") # py-torch@1.0 version("2018-02-25", commit="43d6d17df48ebf622587e7ed9472ea76573799b9") # py-torch@:0.4 + depends_on("cxx", type="build") # generated + generator("ninja") depends_on("cmake@2.8.12:", type="build") diff --git a/var/spack/repos/builtin/packages/fpart/package.py b/var/spack/repos/builtin/packages/fpart/package.py index e0da5fae0134d0..86fe178a4db8d3 100644 --- a/var/spack/repos/builtin/packages/fpart/package.py +++ b/var/spack/repos/builtin/packages/fpart/package.py @@ -23,6 +23,8 @@ class Fpart(AutotoolsPackage): version("1.6.0", sha256="ed1fac2853fc421071b72e4c5d8455a231bc30e50034db14af8b0485ece6e097") version("1.5.1", sha256="c353a28f48e4c08f597304cb4ebb88b382f66b7fabfc8d0328ccbb0ceae9220c") + depends_on("c", type="build") # generated + variant("embfts", default=False, description="Build with embedded fts functions") variant("static", default=False, description="Build static binary") variant("debug", default=False, description="Build with debugging support") diff --git a/var/spack/repos/builtin/packages/fpchecker/package.py b/var/spack/repos/builtin/packages/fpchecker/package.py index 0607838e56c6d9..d4f29c354cd044 100644 --- a/var/spack/repos/builtin/packages/fpchecker/package.py +++ b/var/spack/repos/builtin/packages/fpchecker/package.py @@ -25,6 +25,10 @@ class Fpchecker(CMakePackage): version("0.3.5", sha256="ed7277318af8e0a22b05c5655c9acc99e1d3036af41095ec2f1b1ada4d6e90f6") version("0.3.4", sha256="ecea778dcddc8347da86b02069e12d574a3ba27a4f7c6224bf492fbff6cd162a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("llvm@12.0.1") depends_on("cmake@3.4:", type="build") depends_on("python@3:", type="run") diff --git a/var/spack/repos/builtin/packages/fping/package.py b/var/spack/repos/builtin/packages/fping/package.py index 5a243a48082036..335624b2db2009 100644 --- a/var/spack/repos/builtin/packages/fping/package.py +++ b/var/spack/repos/builtin/packages/fping/package.py @@ -19,6 +19,8 @@ class Fping(AutotoolsPackage): version("4.1", sha256="1da45b1d8c2d38b52bebd4f8b1617ddfae678e9f6436dafa6f62e97b8ecfc93c") version("4.0", sha256="8c9eac7aeadb5be0daa978cdac5f68ae44b749af0f643e8252b5e3dd4ce32e6a") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/fplll/package.py b/var/spack/repos/builtin/packages/fplll/package.py index 4186175b510905..f629bb1bfdcd70 100644 --- a/var/spack/repos/builtin/packages/fplll/package.py +++ b/var/spack/repos/builtin/packages/fplll/package.py @@ -28,6 +28,8 @@ class Fplll(AutotoolsPackage): version("5.1.0", sha256="58175c54cc92752576a64361c73e4ea7797fc18fb703b3f22c7570a09075486f") version("5.0.3", sha256="d2b11b7dcb26c30ac1aab9ff75aca9b3dd6e0b0b40c382af16017a717dfe05c2") + depends_on("cxx", type="build") # generated + depends_on("gmp") depends_on("mpfr") diff --git a/var/spack/repos/builtin/packages/fpocket/package.py b/var/spack/repos/builtin/packages/fpocket/package.py index 9fd1cb86476b2c..833bf24fffe228 100644 --- a/var/spack/repos/builtin/packages/fpocket/package.py +++ b/var/spack/repos/builtin/packages/fpocket/package.py @@ -20,6 +20,9 @@ class Fpocket(MakefilePackage): version("4.2", sha256="8aea4ccdf4243606110c8f6978b13dd90f9cae092660eca4c6970206011de4aa") version("4.1", sha256="1a2af2d3f2df42de67301996db3b93c7eaff0375f866443c0468dcf4b1750688") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("netcdf-c") depends_on("netcdf-cxx") depends_on("qhull") diff --git a/var/spack/repos/builtin/packages/fpzip/package.py b/var/spack/repos/builtin/packages/fpzip/package.py index 7a5c011b196eda..6c4da7cb87dbf2 100644 --- a/var/spack/repos/builtin/packages/fpzip/package.py +++ b/var/spack/repos/builtin/packages/fpzip/package.py @@ -19,3 +19,6 @@ class Fpzip(CMakePackage): version("master", branch="master") version("1.3.0", sha256="248df7d84259e3feaa4c4797956b2a77c3fcd734e8f8fdc51ce171dcf4f0136c") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/fqtrim/package.py b/var/spack/repos/builtin/packages/fqtrim/package.py index 88d80ee3459344..95321c2432bb1d 100644 --- a/var/spack/repos/builtin/packages/fqtrim/package.py +++ b/var/spack/repos/builtin/packages/fqtrim/package.py @@ -19,6 +19,8 @@ class Fqtrim(MakefilePackage): version("0.9.7", sha256="4951538f69dde14a23fc4841ff020434d26eb9622c4e06b43c068c702aa3d0d6") + depends_on("cxx", type="build") # generated + def build(self, spec, prefix): make("release") diff --git a/var/spack/repos/builtin/packages/fraggenescan/package.py b/var/spack/repos/builtin/packages/fraggenescan/package.py index 89aab4e7368b40..32e42333de05c0 100644 --- a/var/spack/repos/builtin/packages/fraggenescan/package.py +++ b/var/spack/repos/builtin/packages/fraggenescan/package.py @@ -17,6 +17,8 @@ class Fraggenescan(MakefilePackage): version("1.31", sha256="cd3212d0f148218eb3b17d24fcd1fc897fb9fee9b2c902682edde29f895f426c") version("1.30", sha256="f2d7f0dfa4a5f4bbea295ed865dcbfedf16c954ea1534c2a879ebdcfb8650d95") + depends_on("c", type="build") # generated + def edit(self, spec, prefix): filter_file("gcc", spack_cc, "Makefile", string=True) diff --git a/var/spack/repos/builtin/packages/freebayes/package.py b/var/spack/repos/builtin/packages/freebayes/package.py index 003a652cd7528d..1931c5e33f38ce 100644 --- a/var/spack/repos/builtin/packages/freebayes/package.py +++ b/var/spack/repos/builtin/packages/freebayes/package.py @@ -25,6 +25,9 @@ class Freebayes(MesonPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake", type="build") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/freecad/package.py b/var/spack/repos/builtin/packages/freecad/package.py index 1a395a5dad3d3a..3d5af4172978f8 100644 --- a/var/spack/repos/builtin/packages/freecad/package.py +++ b/var/spack/repos/builtin/packages/freecad/package.py @@ -21,6 +21,10 @@ class Freecad(CMakePackage): version("0.20.2", sha256="46922f3a477e742e1a89cd5346692d63aebb2b67af887b3e463e094a4ae055da") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("opencascade") depends_on("xerces-c") depends_on("vtk") diff --git a/var/spack/repos/builtin/packages/freefem/package.py b/var/spack/repos/builtin/packages/freefem/package.py index 712a1b9b96baf5..4412a0c4f675fa 100644 --- a/var/spack/repos/builtin/packages/freefem/package.py +++ b/var/spack/repos/builtin/packages/freefem/package.py @@ -27,6 +27,10 @@ class Freefem(AutotoolsPackage): version("4.6", sha256="6c09af8e189fc02214b0e664b679b49832c134e29cf1ede3cab29cf754f6078f") version("4.5", sha256="5b2d4125c312da8fbedd49a72e742f18f35e0ae100c82fb493067dfad5d51432") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=False, description="Activate MPI support") variant("petsc", default=False, description="Compile with PETSc/SLEPc") diff --git a/var/spack/repos/builtin/packages/freeglut/package.py b/var/spack/repos/builtin/packages/freeglut/package.py index 70e68f67b7e3b4..2cf9c5965d31c2 100644 --- a/var/spack/repos/builtin/packages/freeglut/package.py +++ b/var/spack/repos/builtin/packages/freeglut/package.py @@ -19,6 +19,9 @@ class Freeglut(CMakePackage, SourceforgePackage): version("3.2.1", sha256="d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68") version("3.0.0", sha256="2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libs instead of static") depends_on("gl") diff --git a/var/spack/repos/builtin/packages/freeipmi/package.py b/var/spack/repos/builtin/packages/freeipmi/package.py index 2e2b23a614415e..443bed5176042b 100644 --- a/var/spack/repos/builtin/packages/freeipmi/package.py +++ b/var/spack/repos/builtin/packages/freeipmi/package.py @@ -28,6 +28,8 @@ class Freeipmi(AutotoolsPackage): version("1.6.9", sha256="f25e1c35f3d0f1b5a99cc31ecc2353ca83ed46a15163842fba870127dc9c8206") version("1.6.4", sha256="65dfbb95a30438ba247f01a58498862a37d2e71c8c950bcfcee459d079241a3c") + depends_on("c", type="build") # generated + depends_on("libgcrypt") parallel = False diff --git a/var/spack/repos/builtin/packages/freetype/package.py b/var/spack/repos/builtin/packages/freetype/package.py index 24066d3c7932c1..d1ce23d7cee5d5 100644 --- a/var/spack/repos/builtin/packages/freetype/package.py +++ b/var/spack/repos/builtin/packages/freetype/package.py @@ -39,6 +39,8 @@ class Freetype(AutotoolsPackage, CMakePackage): version("2.6.1", sha256="0a3c7dfbda6da1e8fce29232e8e96d987ababbbf71ebc8c75659e4132c367014") version("2.5.3", sha256="41217f800d3f40d78ef4eb99d6a35fd85235b64f81bc56e4812d7672fca7b806") + depends_on("c", type="build") # generated + # CMake build does not install freetype-config, which is needed by most packages build_system("cmake", "autotools", default="autotools") diff --git a/var/spack/repos/builtin/packages/freexl/package.py b/var/spack/repos/builtin/packages/freexl/package.py index c74e29146fa581..41f593df26e75c 100644 --- a/var/spack/repos/builtin/packages/freexl/package.py +++ b/var/spack/repos/builtin/packages/freexl/package.py @@ -17,4 +17,6 @@ class Freexl(AutotoolsPackage): version("1.0.6", sha256="3de8b57a3d130cb2881ea52d3aa9ce1feedb1b57b7daa4eb37f751404f90fc22") version("1.0.5", sha256="3dc9b150d218b0e280a3d6a41d93c1e45f4d7155829d75f1e5bf3e0b0de6750d") + depends_on("c", type="build") # generated + depends_on("minizip", when="@2:") diff --git a/var/spack/repos/builtin/packages/fribidi/package.py b/var/spack/repos/builtin/packages/fribidi/package.py index beea8647cbd4ba..b657b2dceb1b13 100644 --- a/var/spack/repos/builtin/packages/fribidi/package.py +++ b/var/spack/repos/builtin/packages/fribidi/package.py @@ -20,6 +20,8 @@ class Fribidi(AutotoolsPackage): version("1.0.8", sha256="94c7b68d86ad2a9613b4dcffe7bbeb03523d63b5b37918bdf2e4ef34195c1e6c") version("1.0.5", sha256="6a64f2a687f5c4f203a46fa659f43dd43d1f8b845df8d723107e8a7e6158e4ce") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/frontier-client/package.py b/var/spack/repos/builtin/packages/frontier-client/package.py index 2c9d9f03a71a1b..1ffafa9adacbdc 100644 --- a/var/spack/repos/builtin/packages/frontier-client/package.py +++ b/var/spack/repos/builtin/packages/frontier-client/package.py @@ -20,6 +20,9 @@ class FrontierClient(MakefilePackage): version("2_8_21", sha256="7df9ba61c3e1778aca75c5da6e45ee4d00b5c061d3f7162208e2fbd2ec266a9e") version("2_8_20", sha256="81b0f45762d96a33f156e0238631a60eef910a176644e95c6c19a36824bef7e1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pacparser") depends_on("expat") depends_on("openssl") diff --git a/var/spack/repos/builtin/packages/frontistr/package.py b/var/spack/repos/builtin/packages/frontistr/package.py index 0691a409352523..d383f96cc57bcf 100644 --- a/var/spack/repos/builtin/packages/frontistr/package.py +++ b/var/spack/repos/builtin/packages/frontistr/package.py @@ -58,3 +58,7 @@ class Frontistr(FrontistrBase): version("5.1", tag="v5.1", commit="f3fe347a8fd83cd45983476521d43061c8528da0") version("5.0", tag="v5.0", commit="39b83f057a2639af4b5083fb911e0726f0972b75") version("master", tag="master") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/fslsfonts/package.py b/var/spack/repos/builtin/packages/fslsfonts/package.py index d08250cc2f9eb8..8f7f331cdea95c 100644 --- a/var/spack/repos/builtin/packages/fslsfonts/package.py +++ b/var/spack/repos/builtin/packages/fslsfonts/package.py @@ -15,6 +15,8 @@ class Fslsfonts(AutotoolsPackage, XorgPackage): version("1.0.6", sha256="17179e32cfc4588da9e8aa1aa21f862af265d673de64fe5e3a8556921caccb28") version("1.0.5", sha256="27e58d2313835ce0f08cf47c59a43798b122f605a55f54b170db27b57a492007") + depends_on("c", type="build") # generated + depends_on("libfs") depends_on("xproto@7.0.25:") diff --git a/var/spack/repos/builtin/packages/fstobdf/package.py b/var/spack/repos/builtin/packages/fstobdf/package.py index 2d316b44743d55..ca3bd1f51fa32d 100644 --- a/var/spack/repos/builtin/packages/fstobdf/package.py +++ b/var/spack/repos/builtin/packages/fstobdf/package.py @@ -18,6 +18,8 @@ class Fstobdf(AutotoolsPackage, XorgPackage): version("1.0.7", sha256="5cf1f697415dc5f66df24d7495471dbd5bc3812580773e4c700ead5db27503cf") version("1.0.6", sha256="bb903ae76cbcb0a08a71f06762b64db7d5c2064f6e88e8dc3a604e76d0bcb93d") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libfs") diff --git a/var/spack/repos/builtin/packages/fstrack/package.py b/var/spack/repos/builtin/packages/fstrack/package.py index 4a0da90af87e3e..30c32470e089c3 100644 --- a/var/spack/repos/builtin/packages/fstrack/package.py +++ b/var/spack/repos/builtin/packages/fstrack/package.py @@ -21,6 +21,9 @@ class Fstrack(MakefilePackage): "0.5.3.092918", sha256="34b31687fdfa207b9659425238b805eaacf0b0209e7e3343c1a3cb4c9e62345d" ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("flow", default=True, description="Build the flow tracker") depends_on("gmt@4.0:4", when="+flow") diff --git a/var/spack/repos/builtin/packages/ftgl/package.py b/var/spack/repos/builtin/packages/ftgl/package.py index 5fe8349014550d..4f3c38d9c72265 100644 --- a/var/spack/repos/builtin/packages/ftgl/package.py +++ b/var/spack/repos/builtin/packages/ftgl/package.py @@ -29,6 +29,9 @@ class Ftgl(CMakePackage): description="C++ standard", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # FIXME: Doc generation is broken in upstream build system # variant('doc', default=False, description='Build the documentation') variant("shared", default=True, description="Build as a shared library") diff --git a/var/spack/repos/builtin/packages/ftjam/package.py b/var/spack/repos/builtin/packages/ftjam/package.py index c54a9427e0ebbb..df26fa71b64578 100644 --- a/var/spack/repos/builtin/packages/ftjam/package.py +++ b/var/spack/repos/builtin/packages/ftjam/package.py @@ -15,4 +15,6 @@ class Ftjam(AutotoolsPackage): version("2.5.2", sha256="a5d456f65477d77936e1726f5f803a2e6def18a6c6fccf5ea8528926c136abc8") + depends_on("c", type="build") # generated + depends_on("bison") diff --git a/var/spack/repos/builtin/packages/ftk/package.py b/var/spack/repos/builtin/packages/ftk/package.py index 44276329c4f26d..c53450588ada50 100644 --- a/var/spack/repos/builtin/packages/ftk/package.py +++ b/var/spack/repos/builtin/packages/ftk/package.py @@ -29,6 +29,9 @@ class Ftk(CMakePackage): version("0.0.5", sha256="9d5c84a73b7761b9fc7dac62d4296df9f3052b722ec1b06518b2b8f51a8d3440") version("0.0.4", sha256="1674904da8d88dbd4c7d2b6a2629883f0444e70aefc99b48d285735d394897fa") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # variants variant("adios2", default=False, description="Use ADIOS2") variant("cuda", default=False, description="Use CUDA") diff --git a/var/spack/repos/builtin/packages/ftobjectlibrary/package.py b/var/spack/repos/builtin/packages/ftobjectlibrary/package.py index fe0e6c62d2cec2..ea544bd2f9e897 100644 --- a/var/spack/repos/builtin/packages/ftobjectlibrary/package.py +++ b/var/spack/repos/builtin/packages/ftobjectlibrary/package.py @@ -19,3 +19,5 @@ class Ftobjectlibrary(CMakePackage): license("MIT") version("main", branch="main") + + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/ftxui/package.py b/var/spack/repos/builtin/packages/ftxui/package.py index 4041e58f49c6bc..c572f4132ab1c4 100644 --- a/var/spack/repos/builtin/packages/ftxui/package.py +++ b/var/spack/repos/builtin/packages/ftxui/package.py @@ -19,3 +19,5 @@ class Ftxui(CMakePackage): version("4.1.1", sha256="9009d093e48b3189487d67fc3e375a57c7b354c0e43fc554ad31bec74a4bc2dd") version("4.0.0", sha256="7276e4117429ebf8e34ea371c3ea4e66eb99e0f234cb4c5c85fca17174a53dfa") version("2.0.0", sha256="d891695ef22176f0c09f8261a37af9ad5b262dd670a81e6b83661a23abc2c54f") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/fujitsu-fftw/package.py b/var/spack/repos/builtin/packages/fujitsu-fftw/package.py index 29ea363b1d7d56..f4f3619d2e6243 100644 --- a/var/spack/repos/builtin/packages/fujitsu-fftw/package.py +++ b/var/spack/repos/builtin/packages/fujitsu-fftw/package.py @@ -36,6 +36,9 @@ class FujitsuFftw(FftwBase): version("1.1.0", sha256="47b01a20846802041a9533a115f816b973cc9b15b3e827a2f0caffaae34a6c9d") version("1.0.0", sha256="b5931e352355d8d1ffeb215922f4b96de11b8585c423fceeaffbf3d5436f6f2f") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Builds a shared version of the library") variant("openmp", default=True, description="Enable OpenMP support") variant("debug", default=False, description="Builds a debug version of the library") diff --git a/var/spack/repos/builtin/packages/fujitsu-frontistr/package.py b/var/spack/repos/builtin/packages/fujitsu-frontistr/package.py index 06e184f296973d..618927ebc83875 100644 --- a/var/spack/repos/builtin/packages/fujitsu-frontistr/package.py +++ b/var/spack/repos/builtin/packages/fujitsu-frontistr/package.py @@ -23,6 +23,10 @@ class FujitsuFrontistr(FrontistrBase): version("5.2", sha256="ebf73a96c33ae7c9e616c99f9ce07ec90d802764dbf6abf627b0083c3bbd2b2e") version("5.0", sha256="7a3a2dd0f834048fb71cc254c9da6c2637fb23110e79b5efaf208d6f69a5b30a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("static", default=True, description="Build with static linkage") depends_on("metis ~shared", when="+static") depends_on("mumps ~shared", when="+static") diff --git a/var/spack/repos/builtin/packages/fullock/package.py b/var/spack/repos/builtin/packages/fullock/package.py index ad627247567121..487e29dce1c1ea 100644 --- a/var/spack/repos/builtin/packages/fullock/package.py +++ b/var/spack/repos/builtin/packages/fullock/package.py @@ -25,6 +25,8 @@ class Fullock(AutotoolsPackage): version("1.0.33", sha256="31a292e50553abf71058b47277dbca37d25a772cf99c0f99c85e56dfcd11edb2") version("1.0.32", sha256="57d4ca06e5b88a98745062f55ee5ce37c88a49d59d58d09c5178fa1eee4d8353") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/funhpc/package.py b/var/spack/repos/builtin/packages/funhpc/package.py index f9745c18c79b3c..a11977116ce58b 100644 --- a/var/spack/repos/builtin/packages/funhpc/package.py +++ b/var/spack/repos/builtin/packages/funhpc/package.py @@ -17,6 +17,8 @@ class Funhpc(CMakePackage): version("develop", branch="master") version("1.3.0", sha256="140e60f55a307f21117bd43fa16db35d60c0df5ef37e17a4da1cb3f5da5e29c1") + depends_on("cxx", type="build") # generated + variant("pic", default=True, description="Produce position-independent code") depends_on("cereal") diff --git a/var/spack/repos/builtin/packages/funwave/package.py b/var/spack/repos/builtin/packages/funwave/package.py index f4b4023dd8018c..1594093df90e90 100644 --- a/var/spack/repos/builtin/packages/funwave/package.py +++ b/var/spack/repos/builtin/packages/funwave/package.py @@ -28,6 +28,8 @@ class Funwave(MakefilePackage): version("3.1", tag="v3.1", commit="d99502f9288380e0c823f7cc619c6c7c1897f2b9") version("3.0", tag="v3.0", commit="b569dfe08ab379d7ec375c71304ff95bd6f5ddb6") + depends_on("fortran", type="build") # generated + depends_on("mpi") parallel = False diff --git a/var/spack/repos/builtin/packages/fuse-overlayfs/package.py b/var/spack/repos/builtin/packages/fuse-overlayfs/package.py index 18112758dc998c..927c216c996ec6 100644 --- a/var/spack/repos/builtin/packages/fuse-overlayfs/package.py +++ b/var/spack/repos/builtin/packages/fuse-overlayfs/package.py @@ -15,6 +15,7 @@ class FuseOverlayfs(AutotoolsPackage): license("GPL-2.0-or-later") + version("1.13", sha256="96d10344921d5796bcba7a38580ae14a53c4e60399bb90b238ac5a10b3bb65b2") version("1.10", sha256="4351eaed7cf26a5012c14c6e0fc883ef65a7b5dcc95ba129ce485904106c25a9") version("1.7.1", sha256="fe2c076aed7b8669e7970301a99c0b197759b611035d8199de4c0add7d2fb2b4") version("1.7", sha256="e4d9a794d270e237a38e7ced95af95ad15268e0584eab981ed7c7b3758b95995") @@ -27,9 +28,12 @@ class FuseOverlayfs(AutotoolsPackage): version("1.1.1", sha256="9a1c4221a82059fd9686dd8b519d432bae126c08f9d891fb722bcb51ba4933ec") version("1.1.0", sha256="060168c2d5a8c6cc768b4542eba9953b7ff4a31f94bfb2e05b3d1051390838b1") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") depends_on("m4", type="build") depends_on("pkgconfig", type="build") depends_on("fuse") + depends_on("libfuse@3.2.1:", when="^[virtuals=fuse] libfuse") diff --git a/var/spack/repos/builtin/packages/fxdiv/package.py b/var/spack/repos/builtin/packages/fxdiv/package.py index f9349661692d0a..4bd936ca302b41 100644 --- a/var/spack/repos/builtin/packages/fxdiv/package.py +++ b/var/spack/repos/builtin/packages/fxdiv/package.py @@ -19,6 +19,8 @@ class Fxdiv(CMakePackage): version("2018-11-16", commit="b742d1143724d646cd0f914646f1240eacf5bd73") # py-torch@1.0:1.5 version("2018-02-24", commit="811b482bcd9e8d98ad80c6c78d5302bb830184b0") # py-torch@0.4 + depends_on("cxx", type="build") # generated + generator("ninja") depends_on("cmake@3.5:", type="build") depends_on("python", type="build") diff --git a/var/spack/repos/builtin/packages/fxt/package.py b/var/spack/repos/builtin/packages/fxt/package.py index d8039a53dacc81..c80edd1c4dea11 100644 --- a/var/spack/repos/builtin/packages/fxt/package.py +++ b/var/spack/repos/builtin/packages/fxt/package.py @@ -28,6 +28,8 @@ class Fxt(AutotoolsPackage): version("0.3.4", sha256="fcd35a5278ac0f10eba12fed4fa436dce79559897fde5b8176d5eee9081970f7") version("0.3.3", sha256="3f6fea5211cc242a54496e6242365c99522a5039916789cdbe25a58d05d6a626") + depends_on("c", type="build") # generated + variant( "moreparams", default=False, diff --git a/var/spack/repos/builtin/packages/fyba/package.py b/var/spack/repos/builtin/packages/fyba/package.py index 37653cf3a8a7e1..572c3525d93737 100644 --- a/var/spack/repos/builtin/packages/fyba/package.py +++ b/var/spack/repos/builtin/packages/fyba/package.py @@ -18,6 +18,8 @@ class Fyba(AutotoolsPackage): version("4.1.1", sha256="99f658d52e8fd8997118bb6207b9c121500700996d9481a736683474e2534179") + depends_on("cxx", type="build") # generated + # configure: error: cannot find install-sh or install.sh force_autoreconf = True diff --git a/var/spack/repos/builtin/packages/g2/package.py b/var/spack/repos/builtin/packages/g2/package.py index 52e038ec45c838..ce746bf705ab3f 100644 --- a/var/spack/repos/builtin/packages/g2/package.py +++ b/var/spack/repos/builtin/packages/g2/package.py @@ -27,6 +27,9 @@ class G2(CMakePackage): version("3.4.5", sha256="c18e991c56964953d778632e2d74da13c4e78da35e8d04cb742a2ca4f52737b6") version("3.4.3", sha256="679ea99b225f08b168cbf10f4b29f529b5b011232f298a5442ce037ea84de17c") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("pic", default=True, description="Build with position-independent-code") variant( "precision", diff --git a/var/spack/repos/builtin/packages/g2c/package.py b/var/spack/repos/builtin/packages/g2c/package.py index 29a7db27267eed..28ce23efd1230c 100644 --- a/var/spack/repos/builtin/packages/g2c/package.py +++ b/var/spack/repos/builtin/packages/g2c/package.py @@ -24,6 +24,8 @@ class G2c(CMakePackage): version("1.6.4", sha256="5129a772572a358296b05fbe846bd390c6a501254588c6a223623649aefacb9d") version("1.6.2", sha256="b5384b48e108293d7f764cdad458ac8ce436f26be330b02c69c2a75bb7eb9a2c") + depends_on("c", type="build") # generated + variant("aec", default=True, description="Use AEC library") variant("png", default=True, description="Use PNG library") variant("jasper", default=True, description="Use Jasper library") diff --git a/var/spack/repos/builtin/packages/g2o/package.py b/var/spack/repos/builtin/packages/g2o/package.py index effc4b3c7c5d19..e3c8f04621f69c 100644 --- a/var/spack/repos/builtin/packages/g2o/package.py +++ b/var/spack/repos/builtin/packages/g2o/package.py @@ -25,6 +25,9 @@ class G2o(CMakePackage): "20200410_git", sha256="b79eb1407ae7f2a9e6a002bb4b41d65402c185855db41a9ef4a6e3b42abaec4c" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type="build") depends_on("eigen@2.91.0:", type="link") depends_on("ceres-solver") diff --git a/var/spack/repos/builtin/packages/g2tmpl/package.py b/var/spack/repos/builtin/packages/g2tmpl/package.py index dbc4542f19d5ff..312c68b3d83208 100644 --- a/var/spack/repos/builtin/packages/g2tmpl/package.py +++ b/var/spack/repos/builtin/packages/g2tmpl/package.py @@ -24,6 +24,9 @@ class G2tmpl(CMakePackage): version("1.10.1", sha256="0be425e5128fabb89915a92261aa75c27a46a3e115e00c686fc311321e5d1e2a") version("1.10.0", sha256="dcc0e40b8952f91d518c59df7af64e099131c17d85d910075bfa474c8822649d") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=False, description="Build shared library") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/g4emlow/package.py b/var/spack/repos/builtin/packages/g4emlow/package.py index d2f220dd2b6457..87c25b950b6121 100644 --- a/var/spack/repos/builtin/packages/g4emlow/package.py +++ b/var/spack/repos/builtin/packages/g4emlow/package.py @@ -18,6 +18,7 @@ class G4emlow(Package): maintainers("drbenmorgan") # Only versions relevant to Geant4 releases built by spack are added + version("8.6", sha256="fb7abed0d1db1d8b9ea364279b95e228d7bf3e3a5dc8d449b81665cada4a1a9e") version("8.5", sha256="66baca49ac5d45e2ac10c125b4fb266225e511803e66981909ce9cd3e9bcef73") version("8.4", sha256="d87de4d2a364cb0a1e1846560525ffc3f735ccdeea8bc426d61775179aebbe8e") version("8.2", sha256="3d7768264ff5a53bcb96087604bbe11c60b7fea90aaac8f7d1252183e1a8e427") @@ -30,6 +31,8 @@ class G4emlow(Package): version("6.50", sha256="c97be73fece5fb4f73c43e11c146b43f651c6991edd0edf8619c9452f8ab1236") version("6.35", sha256="1564045a0acad344c8d432cd48c2c3bb2e051a81ab3099a84e0f56ba0fe82cec") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(join_path(prefix.share, "data")) install_path = join_path(prefix.share, "data", "G4EMLOW{0}".format(self.version)) diff --git a/var/spack/repos/builtin/packages/g4ndl/package.py b/var/spack/repos/builtin/packages/g4ndl/package.py index be9f298c2f8154..a8c8f688985555 100644 --- a/var/spack/repos/builtin/packages/g4ndl/package.py +++ b/var/spack/repos/builtin/packages/g4ndl/package.py @@ -17,6 +17,7 @@ class G4ndl(Package): maintainers("drbenmorgan") + version("4.7.1", sha256="d3acae48622118d2579de24a54d533fb2416bf0da9dd288f1724df1485a46c7c") version("4.7", sha256="7e7d3d2621102dc614f753ad928730a290d19660eed96304a9d24b453d670309") version("4.6", sha256="9d287cf2ae0fb887a2adce801ee74fb9be21b0d166dab49bcbee9408a5145408") version("4.5", sha256="cba928a520a788f2bc8229c7ef57f83d0934bb0c6a18c31ef05ef4865edcdf8e") diff --git a/var/spack/repos/builtin/packages/g4nudexlib/package.py b/var/spack/repos/builtin/packages/g4nudexlib/package.py new file mode 100644 index 00000000000000..073aebcc7f8fc4 --- /dev/null +++ b/var/spack/repos/builtin/packages/g4nudexlib/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 G4nudexlib(Package): + """Geant4 data for evaluated particle cross-sections on + natural composition of elements""" + + homepage = "https://geant4.web.cern.ch" + url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4NUDEXLIB.1.0.tar.gz" + + tags = ["hep"] + + maintainers("drbenmorgan") + + # Only versions relevant to Geant4 releases built by spack are added + version("1.0", sha256="cac7d65e9c5af8edba2b2667d5822e16aaf99065c95f805e76de4cc86395f415") + + def install(self, spec, prefix): + mkdirp(join_path(prefix.share, "data")) + install_path = join_path(prefix.share, "data", "G4NUDEXLIB{0}".format(self.version)) + install_tree(self.stage.source_path, install_path) + + def setup_dependent_run_environment(self, env, dependent_spec): + install_path = join_path(self.prefix.share, "data", "G4NUDEXLIB{0}".format(self.version)) + env.set("G4NUDEXLIBDATA", install_path) + + def url_for_version(self, version): + """Handle version string.""" + return "http://geant4-data.web.cern.ch/geant4-data/datasets/G4NUDEXLIB.%s.tar.gz" % version diff --git a/var/spack/repos/builtin/packages/g4particlexs/package.py b/var/spack/repos/builtin/packages/g4particlexs/package.py index 93c53fb277a266..fb86575b466cf1 100644 --- a/var/spack/repos/builtin/packages/g4particlexs/package.py +++ b/var/spack/repos/builtin/packages/g4particlexs/package.py @@ -19,6 +19,7 @@ class G4particlexs(Package): maintainers("drbenmorgan") # Only versions relevant to Geant4 releases built by spack are added + version("4.1", sha256="07ae1e048e9ac8e7f91f6696497dd55bd50ccc822d97af1a0b9e923212a6d7d1") version("4.0", sha256="9381039703c3f2b0fd36ab4999362a2c8b4ff9080c322f90b4e319281133ca95") version("3.1.1", sha256="66c17edd6cb6967375d0497add84c2201907a25e33db782ebc26051d38f2afda") version("3.1", sha256="404da84ead165e5cccc0bb795222f6270c9bf491ef4a0fd65195128b27f0e9cd") diff --git a/var/spack/repos/builtin/packages/g4urrpt/package.py b/var/spack/repos/builtin/packages/g4urrpt/package.py new file mode 100644 index 00000000000000..e9ff5df2840c3b --- /dev/null +++ b/var/spack/repos/builtin/packages/g4urrpt/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 G4urrpt(Package): + """Geant4 data for evaluated particle cross-sections on + natural composition of elements""" + + homepage = "https://geant4.web.cern.ch" + url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4URRPT.1.0.tar.gz" + + tags = ["hep"] + + maintainers("drbenmorgan") + + # Only versions relevant to Geant4 releases built by spack are added + version("1.0", sha256="278eb6c4086e919d2c2a718eb44d4897b7e06d2a32909f6ed48eb8590b3f9977") + + def install(self, spec, prefix): + mkdirp(join_path(prefix.share, "data")) + install_path = join_path(prefix.share, "data", "G4URRPT{0}".format(self.version)) + install_tree(self.stage.source_path, install_path) + + def setup_dependent_run_environment(self, env, dependent_spec): + install_path = join_path(self.prefix.share, "data", "G4URRPT{0}".format(self.version)) + env.set("G4URRPTDATA", install_path) + + def url_for_version(self, version): + """Handle version string.""" + return "http://geant4-data.web.cern.ch/geant4-data/datasets/G4URRPT.%s.tar.gz" % version diff --git a/var/spack/repos/builtin/packages/gadap/package.py b/var/spack/repos/builtin/packages/gadap/package.py index 6c50abe4a59c41..1c43350ea97d1d 100644 --- a/var/spack/repos/builtin/packages/gadap/package.py +++ b/var/spack/repos/builtin/packages/gadap/package.py @@ -18,6 +18,8 @@ class Gadap(AutotoolsPackage): version("2.0", sha256="ae9a989ca00ec29fb40616383d170883f07c022456db338399982a8a94ec0100") + depends_on("cxx", type="build") # generated + depends_on("curl@7.18.0:") depends_on("libdap4") depends_on("libxml2") diff --git a/var/spack/repos/builtin/packages/gamess-ri-mp2-miniapp/package.py b/var/spack/repos/builtin/packages/gamess-ri-mp2-miniapp/package.py index 230da6450511c7..7f7b06ff2c5b88 100644 --- a/var/spack/repos/builtin/packages/gamess-ri-mp2-miniapp/package.py +++ b/var/spack/repos/builtin/packages/gamess-ri-mp2-miniapp/package.py @@ -18,6 +18,8 @@ class GamessRiMp2Miniapp(MakefilePackage): version("1.5", sha256="0ff4e8e556caa99ce1ab85c53e78932a32d2e2fa3c5d883fa321d5000f8a731e") + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/gapbs/package.py b/var/spack/repos/builtin/packages/gapbs/package.py index 34a96c284a650b..19dfa2bfa4cfcd 100644 --- a/var/spack/repos/builtin/packages/gapbs/package.py +++ b/var/spack/repos/builtin/packages/gapbs/package.py @@ -25,6 +25,8 @@ class Gapbs(MakefilePackage): version("1.4", sha256="d91ecfe364e8c307e9e5535d730ef8ef8554b71d33891b70d0c4665cc11178bb") version("1.0", sha256="a7516998c4994592053c7aa0c76282760a8e009865a6b7a1c7c40968be1ca55d") + depends_on("cxx", type="build") # generated + variant("serial", default=False, description="Version with no parallelism") def build(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/garfieldpp/package.py b/var/spack/repos/builtin/packages/garfieldpp/package.py index f1e72b89d168c8..9ea5be344cc927 100644 --- a/var/spack/repos/builtin/packages/garfieldpp/package.py +++ b/var/spack/repos/builtin/packages/garfieldpp/package.py @@ -30,6 +30,10 @@ class Garfieldpp(CMakePackage): version("4.0", sha256="82bc1f0395213bd30a7cd854426e6757d0b4155e99ffd4405355c9648fa5ada3") version("3.0", sha256="c1282427a784658bc38b71c8e8cfc8c9f5202b185f0854d85f7c9c5a747c5406") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("root") depends_on("gsl") depends_on("geant4", when="+examples") diff --git a/var/spack/repos/builtin/packages/gasnet/package.py b/var/spack/repos/builtin/packages/gasnet/package.py index 74e6061918e218..6267730ef128b1 100644 --- a/var/spack/repos/builtin/packages/gasnet/package.py +++ b/var/spack/repos/builtin/packages/gasnet/package.py @@ -37,11 +37,16 @@ class Gasnet(Package, CudaPackage, ROCmPackage): version("main", branch="stable") version("master", branch="master") + version("2024.5.0", sha256="f945e80f71d340664766b66290496d230e021df5e5cd88f404d101258446daa9") version("2023.9.0", sha256="2d9f15a794e10683579ce494cd458b0dd97e2d3327c4d17e1fea79bd95576ce6") version("2023.3.0", sha256="e1fa783d38a503cf2efa7662be591ca5c2bb98d19ac72a9bc6da457329a9a14f") version("2022.9.2", sha256="2352d52f395a9aa14cc57d82957d9f1ebd928d0a0021fd26c5f1382a06cd6f1d") version("2022.9.0", sha256="6873ff4ad8ebee49da4378f2d78095a6ccc31333d6ae4cd739b9f772af11f936") - version("2022.3.0", sha256="91b59aa84c0680c807e00d3d1d8fa7c33c1aed50b86d1616f93e499620a9ba09") + version( + "2022.3.0", + deprecated=True, + sha256="91b59aa84c0680c807e00d3d1d8fa7c33c1aed50b86d1616f93e499620a9ba09", + ) version( "2021.9.0", deprecated=True, @@ -67,6 +72,9 @@ class Gasnet(Package, CudaPackage, ROCmPackage): deprecated=True, sha256="117f5fdb16e53d0fa8a47a1e28cccab1d8020ed4f6e50163d985dc90226aaa2c", ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated # Do NOT add older versions here. # GASNet-EX releases over 2 years old are not supported. @@ -75,12 +83,12 @@ class Gasnet(Package, CudaPackage, ROCmPackage): "conduits", values=any_combination_of("smp", "mpi", "ibv", "udp", "ofi", "ucx").with_default("smp"), description="The hardware-dependent network backends to enable.\n" - + "(smp) = SMP conduit for single-node operation ;\n" - + "(ibv) = Native InfiniBand verbs conduit ;\n" - + "(ofi) = OFI conduit over libfabric, for HPE Cray Slingshot and Intel Omni-Path ;\n" - + "(udp) = Portable UDP conduit, for Ethernet networks ;\n" - + "(mpi) = Low-performance/portable MPI conduit ;\n" - + "(ucx) = EXPERIMENTAL UCX conduit for Mellanox IB/RoCE ConnectX-5+ ;\n" + + "(smp) = SMP conduit for single-node operation\n" + + "(ibv) = Native InfiniBand verbs conduit\n" + + "(ofi) = OFI conduit over libfabric, for HPE Cray Slingshot and Intel Omni-Path\n" + + "(udp) = Portable UDP conduit, for Ethernet networks\n" + + "(mpi) = Low-performance/portable MPI conduit\n" + + "(ucx) = EXPERIMENTAL UCX conduit for Mellanox IB/RoCE ConnectX-5+\n" + "For detailed recommendations, consult https://gasnet.lbl.gov", ) @@ -118,12 +126,15 @@ class Gasnet(Package, CudaPackage, ROCmPackage): ) depends_on("mpi", when="conduits=mpi") + depends_on("libfabric", when="conduits=ofi") depends_on("autoconf@2.69", type="build", when="@master:") depends_on("automake@1.16:", type="build", when="@master:") conflicts("^hip@:4.4.0", when="+rocm") + conflicts("^hip@6:", when="@:2024.4+rocm") # Bug 4686 + depends_on("oneapi-level-zero@1.8.0:", when="+level_zero") def install(self, spec, prefix): @@ -157,9 +168,11 @@ def install(self, spec, prefix): if "+cuda" in spec: options.append("--enable-kind-cuda-uva") + options.append("--with-cuda-home=" + spec["cuda"].prefix) if "+rocm" in spec: options.append("--enable-kind-hip") + options.append("--with-hip-home=" + spec["hip"].prefix) if "+level_zero" in spec: options.append("--enable-kind-ze") diff --git a/var/spack/repos/builtin/packages/gatb-core/package.py b/var/spack/repos/builtin/packages/gatb-core/package.py index f37117d84476b5..9931d15bb2c85f 100644 --- a/var/spack/repos/builtin/packages/gatb-core/package.py +++ b/var/spack/repos/builtin/packages/gatb-core/package.py @@ -17,4 +17,7 @@ class GatbCore(CMakePackage): version("1.4.2", tag="v1.4.2", commit="99f573a465beb30acc22ab20be458d2ea0277684") version("1.4.1", tag="v1.4.1", commit="b45a6c213597b23f8f5221902e2b86b4009c11d9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + root_cmakelists_dir = "gatb-core" diff --git a/var/spack/repos/builtin/packages/gate/package.py b/var/spack/repos/builtin/packages/gate/package.py index 9a77788ef7a45e..89fdeb74e793b8 100644 --- a/var/spack/repos/builtin/packages/gate/package.py +++ b/var/spack/repos/builtin/packages/gate/package.py @@ -31,6 +31,9 @@ class Gate(CMakePackage): version("9.1", sha256="aaab874198500b81d45b27cc6d6a51e72cca9519910b893a5c85c8e6d3ffa4fc") version("9.0", sha256="8354f392facc0b7ae2ddf0eed61cc43136195b198ba399df25e874886b8b69cb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("rtk", default=False, description="build support for the Reconstruction Toolkit") variant( "default_platform", diff --git a/var/spack/repos/builtin/packages/gatepet2stir/package.py b/var/spack/repos/builtin/packages/gatepet2stir/package.py index 08caa8ed0f52e3..5c84bfb53f4914 100644 --- a/var/spack/repos/builtin/packages/gatepet2stir/package.py +++ b/var/spack/repos/builtin/packages/gatepet2stir/package.py @@ -14,6 +14,8 @@ class Gatepet2stir(QMakePackage): version("1.3.2", sha256="c53b990e47b5856d47466cff62763d0a3bfdc12538b6842cce45271badb7a387") + depends_on("cxx", type="build") # generated + depends_on("gperftools") depends_on("ncurses") depends_on("qt@:4") diff --git a/var/spack/repos/builtin/packages/gaudi/package.py b/var/spack/repos/builtin/packages/gaudi/package.py index 9f50a667eb53c6..13a6d67a01b9b4 100644 --- a/var/spack/repos/builtin/packages/gaudi/package.py +++ b/var/spack/repos/builtin/packages/gaudi/package.py @@ -39,6 +39,8 @@ class Gaudi(CMakePackage): version("36.0", sha256="8a0458cef5b616532f9db7cca9fa0e892e602b64c9e93dc0cc6d972e03034830") version("35.0", sha256="c01b822f9592a7bf875b9997cbeb3c94dea97cb13d523c12649dbbf5d69b5fa6") + depends_on("cxx", type="build") # generated + maintainers("drbenmorgan", "vvolkl", "jmcarcell") variant("aida", default=False, description="Build AIDA interfaces support") @@ -89,7 +91,7 @@ class Gaudi(CMakePackage): depends_on("tbb", when="@37.1:") depends_on("uuid") depends_on("nlohmann-json") - depends_on("python", type=("build", "run")) + depends_on("python +dbm", 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")) diff --git a/var/spack/repos/builtin/packages/gawk/package.py b/var/spack/repos/builtin/packages/gawk/package.py index 51d52619d471ea..f0e745448776c6 100644 --- a/var/spack/repos/builtin/packages/gawk/package.py +++ b/var/spack/repos/builtin/packages/gawk/package.py @@ -38,6 +38,8 @@ class Gawk(AutotoolsPackage, GNUMirrorPackage): version("5.0.1", sha256="8e4e86f04ed789648b66f757329743a0d6dfb5294c3b91b756a474f1ce05a794") version("4.1.4", sha256="53e184e2d0f90def9207860531802456322be091c7b48f23fdc79cda65adc266") + depends_on("c", type="build") # generated + variant("nls", default=False, description="Enable Native Language Support") depends_on("gettext", when="+nls") diff --git a/var/spack/repos/builtin/packages/gbl/package.py b/var/spack/repos/builtin/packages/gbl/package.py index 89388076ba695f..a77623f279e4a7 100644 --- a/var/spack/repos/builtin/packages/gbl/package.py +++ b/var/spack/repos/builtin/packages/gbl/package.py @@ -17,6 +17,9 @@ class Gbl(CMakePackage): version("V02-04-01", commit="1061b643c6656fbf7ceba579997eb43f0a9e9d3c") version("V02-01-03", commit="8acaade19c20e9ef23d1244a555fead6ef149c33") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("root", default=True, description="Support ROOT for user I/O") depends_on("eigen", type=("build", "link")) depends_on("root", type=("build", "link"), when="+root") diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py index 5fa5156928823c..a17060b147931c 100644 --- a/var/spack/repos/builtin/packages/gcc/package.py +++ b/var/spack/repos/builtin/packages/gcc/package.py @@ -42,6 +42,7 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): version("13.2.0", sha256="e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da") version("13.1.0", sha256="61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86") + version("12.4.0", sha256="704f652604ccbccb14bdabf3478c9511c89788b12cb3bbffded37341916a9175") version("12.3.0", sha256="949a5d4f99e786421a93b532b22ffab5578de7321369975b91aec97adfda8c3b") version("12.2.0", sha256="e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff") version("12.1.0", sha256="62fd634889f31c02b64af2c468f064b47ad1ca78411c45abe6ac4b5f8dd19c7b") @@ -97,6 +98,10 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): version("4.6.4", sha256="35af16afa0b67af9b8eb15cafb76d2bc5f568540552522f5dc2c88dd45d977e8") version("4.5.4", sha256="eef3f0456db8c3d992cbb51d5d32558190bc14f3bc19383dd93acc27acc6befc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # We specifically do not add 'all' variant here because: # (i) Ada, D, Go, Jit, and Objective-C++ are not default languages. # In that respect, the name 'all' is rather misleading. @@ -130,6 +135,7 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): description="Compilers and runtime libraries to build", ) variant("binutils", default=False, description="Build via binutils") + variant("mold", default=False, description="Use mold as the linker by default", when="@12:") variant( "piclibs", default=False, description="Build PIC versions of libgfortran.a and libstdc++.a" ) @@ -194,6 +200,7 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): depends_on( "binutils+gas+ld+plugins~libiberty", when="+binutils", type=("build", "link", "run") ) + depends_on("mold", when="+mold") depends_on("zip", type="build", when="languages=java") # The server is sometimes a bit slow to respond @@ -558,9 +565,6 @@ def filter_detected_exes(cls, prefix, exes_in_prefix): ] if any(x in basename for x in substring_to_be_filtered): continue - # Filter out links in favor of real executables - if os.path.islink(exe): - continue result.append(exe) @@ -977,6 +981,14 @@ def write_specs_file(self): # programs search path if self.spec.satisfies("+binutils"): f.write(f"*self_spec:\n+ -B{self.spec['binutils'].prefix.bin}\n\n") + + # set -fuse-ld=mold as the default linker when +mold + if self.spec.satisfies("+mold"): + f.write( + f"*self_spec:\n+ -B{self.spec['mold'].prefix.bin} " + "%{!fuse-ld*:-fuse-ld=mold}\n\n" + ) + set_install_permissions(specs_file) tty.info(f"Wrote new spec file to {specs_file}") @@ -1140,6 +1152,10 @@ def runtime_constraints(cls, *, spec, pkg): # The version of gcc-runtime is the same as the %gcc used to "compile" it pkg("gcc-runtime").requires(f"@={str(spec.version)}", when=f"%{str(spec)}") + # If a node used %gcc@X.Y its dependencies must use gcc-runtime@:X.Y + # (technically @:X is broader than ... <= @=X but this should work in practice) + pkg("*").propagate(f"%gcc@:{str(spec.version)}", when=f"%{str(spec)}") + def _post_buildcache_install_hook(self): if not self.spec.satisfies("platform=linux"): return diff --git a/var/spack/repos/builtin/packages/gccxml/package.py b/var/spack/repos/builtin/packages/gccxml/package.py index 2b492412a25301..fba71f1f27ac6d 100644 --- a/var/spack/repos/builtin/packages/gccxml/package.py +++ b/var/spack/repos/builtin/packages/gccxml/package.py @@ -16,6 +16,9 @@ class Gccxml(CMakePackage): version("develop", branch="master") version("latest", commit="3afa8ba5be6866e603dcabe80aff79856b558e24", preferred=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch("darwin-gcc.patch", when="%gcc platform=darwin") # taken from https://github.com/gccxml/gccxml/issues/11#issuecomment-140334118 patch("gcc-5.patch", when="%gcc@5:") diff --git a/var/spack/repos/builtin/packages/gchp/package.py b/var/spack/repos/builtin/packages/gchp/package.py index 3c1b892fc59dee..837f54bc90c3cf 100644 --- a/var/spack/repos/builtin/packages/gchp/package.py +++ b/var/spack/repos/builtin/packages/gchp/package.py @@ -29,6 +29,10 @@ class Gchp(CMakePackage): version("13.0.0", commit="1f5a5c5630c5d066ff8306cbb8b83e267ca7c265", submodules=True) version("dev", branch="dev", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + patch("for_aarch64.patch", when="target=aarch64:") depends_on("esmf@8.0.1", when="@13.0.0:") diff --git a/var/spack/repos/builtin/packages/gconf/package.py b/var/spack/repos/builtin/packages/gconf/package.py index 3b6098b1139e54..072c44606cdfbd 100644 --- a/var/spack/repos/builtin/packages/gconf/package.py +++ b/var/spack/repos/builtin/packages/gconf/package.py @@ -22,6 +22,8 @@ class Gconf(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("gettext", type="build") depends_on("intltool", type="build") diff --git a/var/spack/repos/builtin/packages/gcta/package.py b/var/spack/repos/builtin/packages/gcta/package.py index 19b89f45e33ede..d3a2e218e181f4 100644 --- a/var/spack/repos/builtin/packages/gcta/package.py +++ b/var/spack/repos/builtin/packages/gcta/package.py @@ -21,6 +21,9 @@ class Gcta(CMakePackage): version("1.94.0beta", commit="746e3975ddb463fc7bd15b03c6cc64b023eca497", submodules=True) version("1.91.2", sha256="0609d0fba856599a2acc66adefe87725304117acc226360ec2aabf8a0ac64e85") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + conflicts("target=aarch64:", when="@:1.91.2", msg="aarch64 support added in 1.94.0") depends_on("cmake@3.1:", type="build") diff --git a/var/spack/repos/builtin/packages/gdal/package.py b/var/spack/repos/builtin/packages/gdal/package.py index 9df8196557a608..54e098e5509611 100644 --- a/var/spack/repos/builtin/packages/gdal/package.py +++ b/var/spack/repos/builtin/packages/gdal/package.py @@ -32,6 +32,7 @@ class Gdal(CMakePackage, AutotoolsPackage, PythonExtension): license("MIT") + version("3.9.1", sha256="aff3086fee75f5773e33a5598df98d8a4d10be411f777d3ce23584b21d8171ca") version("3.9.0", sha256="577f80e9d14ff7c90b6bfbc34201652b4546700c01543efb4f4c3050e0b3fda2") version("3.8.5", sha256="e8b4df2a8a7d25272f867455c0c230459545972f81f0eff2ddbf6a6f60dcb1e4") version("3.8.4", sha256="0c53ced95d29474236487202709b49015854f8e02e35e44ed0f4f4e12a7966ce") @@ -99,6 +100,9 @@ class Gdal(CMakePackage, AutotoolsPackage, PythonExtension): version("2.0.1", sha256="2564c91ed8ed36274ee31002a25798f5babc4221e879cb5013867733d80f9920") version("2.0.0", sha256="91704fafeea2349c5e268dc1e2d03921b3aae64b05ee01d59fdfc1a6b0ffc061") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Optional dependencies variant("archive", default=False, when="@3.7:", description="Optional for vsi7z VFS driver") variant( @@ -408,6 +412,8 @@ class Gdal(CMakePackage, AutotoolsPackage, PythonExtension): depends_on("py-setuptools@:57", type="build", when="@:3.2+python") # needs 2to3 depends_on("py-setuptools", type="build", when="+python") depends_on("py-numpy@1.0.0:", type=("build", "run"), when="+python") + # https://github.com/OSGeo/gdal/issues/9751 + depends_on("py-numpy@:1", when="@:3.8+python", type=("build", "run")) depends_on("swig", type="build", when="+python") depends_on("java@7:", type=("build", "link", "run"), when="@3.2:+java") depends_on("java@6:", type=("build", "link", "run"), when="@2.4:+java") diff --git a/var/spack/repos/builtin/packages/gdb/package.py b/var/spack/repos/builtin/packages/gdb/package.py index a93f2ab8e18a04..6367736ba96307 100644 --- a/var/spack/repos/builtin/packages/gdb/package.py +++ b/var/spack/repos/builtin/packages/gdb/package.py @@ -21,6 +21,7 @@ class Gdb(AutotoolsPackage, GNUMirrorPackage): license("GPL-3.0-or-later AND LGPL-3.0-or-later") + version("14.2", sha256="2de5174762e959a5e529e20c20d88a04735469d8fffd98f61664e70b341dc47c") version("14.1", sha256="683e63182fb72bd5d8db32ab388143796370a8e3e71c26bc264effb487db7927") version("13.2", sha256="7ead13d9e19fa0c57bb19104e1a5f67eefa9fc79f2e6360de491e8fddeda1e30") version("13.1", sha256="4cc3d7143d6d54d289d227b1e7289dbc0fa4cbd46131ab87136e1ea831cf46d4") @@ -42,6 +43,10 @@ class Gdb(AutotoolsPackage, GNUMirrorPackage): version("7.11.1", sha256="57e9e9aa3172ee16aa1e9c66fef08b4393b51872cc153e3f1ffdf18a57440586") version("7.10.1", sha256="ff14f8050e6484508c73cbfa63731e57901478490ca1672dc0b5e2b03f6af622") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("python", default=True, description="Compile with Python support", when="@8.2:") variant("xz", default=True, description="Compile with lzma support") variant("source-highlight", default=False, description="Compile with source-highlight support") diff --git a/var/spack/repos/builtin/packages/gdbm/package.py b/var/spack/repos/builtin/packages/gdbm/package.py index e2efcf9683a650..cd64cbc38db2de 100644 --- a/var/spack/repos/builtin/packages/gdbm/package.py +++ b/var/spack/repos/builtin/packages/gdbm/package.py @@ -31,6 +31,8 @@ class Gdbm(AutotoolsPackage, GNUMirrorPackage): version("1.9.1", sha256="6025852637772b0699f2294b5f14fd4a084bca3c8161d29d64d1f30d6d1a9aed") version("1.9", sha256="f85324d7de3777db167581fd5d3493d2daa3e85e195a8ae9afc05b34551b6e57") + depends_on("c", type="build") # generated + depends_on("readline") patch("macOS.patch", when="@1.21 platform=darwin") diff --git a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py index cbb6500e3bf94a..1dfe19f152164e 100644 --- a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py +++ b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py @@ -46,7 +46,9 @@ class GdkPixbuf(Package): deprecated=True, ) - variant("x11", default=False, description="Enable X11 support") + depends_on("c", type="build") # generated + + variant("x11", default=False, description="Enable X11 support", when="@:2.41") variant("tiff", default=False, description="Enable TIFF support(partially broken)") # Man page creation was getting docbook errors, see issue #18853 variant("man", default=False, description="Enable man page creation") diff --git a/var/spack/repos/builtin/packages/gdl/package.py b/var/spack/repos/builtin/packages/gdl/package.py index b81062260df03c..fb95e6f63e0d92 100644 --- a/var/spack/repos/builtin/packages/gdl/package.py +++ b/var/spack/repos/builtin/packages/gdl/package.py @@ -20,6 +20,10 @@ class Gdl(CMakePackage): version("0.9.9", sha256="ad5de3fec095a5c58b46338dcc7367d2565c093794ab1bbcf180bba1a712cf14") version("0.9.8", sha256="0e22df7314feaf18a76ae39ee57eea2ac8c3633bc095acbc25e1e07277d7c98b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("graphicsmagick", default=False, description="Enable GraphicsMagick") variant("hdf4", default=False, description="Enable HDF4") diff --git a/var/spack/repos/builtin/packages/gdrcopy/package.py b/var/spack/repos/builtin/packages/gdrcopy/package.py index e5a98dbd5fb390..75ab32b9dff684 100644 --- a/var/spack/repos/builtin/packages/gdrcopy/package.py +++ b/var/spack/repos/builtin/packages/gdrcopy/package.py @@ -25,6 +25,9 @@ class Gdrcopy(MakefilePackage, CudaPackage): version("2.0", sha256="98320e6e980a7134ebc4eedd6cf23647104f2b3c557f2eaf0d31a02609f5f2b0") version("1.3", sha256="f11cdfe389b685f6636b80b4a3312dc014a385ad7220179c1318c60e2e28af3a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Don't call ldconfig: https://github.com/NVIDIA/gdrcopy/pull/229 patch("ldconfig.patch", when="@2.0:2.3") diff --git a/var/spack/repos/builtin/packages/geant3/package.py b/var/spack/repos/builtin/packages/geant3/package.py index cef0167b3b60ea..966f9fd58692e7 100644 --- a/var/spack/repos/builtin/packages/geant3/package.py +++ b/var/spack/repos/builtin/packages/geant3/package.py @@ -20,6 +20,10 @@ class Geant3(CMakePackage): version("3-5", sha256="5bec0b442bbb3456d5cd1751ac9f90f1da48df0fcb7f6bf0a86c566bfc408261") version("3-4", sha256="c7b487ab4fb4e6479c652b9b11dcafb686edf35e2f2048045c501e4f5597d62c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("root~vmc") depends_on("vmc") diff --git a/var/spack/repos/builtin/packages/geant4-data/package.py b/var/spack/repos/builtin/packages/geant4-data/package.py index 5246c8a98d2b97..07ed06af7b6a96 100644 --- a/var/spack/repos/builtin/packages/geant4-data/package.py +++ b/var/spack/repos/builtin/packages/geant4-data/package.py @@ -18,6 +18,8 @@ class Geant4Data(BundlePackage): tags = ["hep"] + version("11.3.0") + version("11.2.2") version("11.2.1") version("11.2.0") version("11.1.3") @@ -51,8 +53,36 @@ class Geant4Data(BundlePackage): # they generally don't change on the patch level # Can move to declaring on a dataset basis if needed _datasets = { - "11.2.0:11.2": [ - "g4ndl@4.7", + "11.3.0:11.3": [ + "g4ndl@4.7.1", + "g4emlow@8.6", + "g4photonevaporation@5.7", + "g4radioactivedecay@5.6", + "g4particlexs@4.1", + "g4pii@1.3", + "g4realsurface@2.2", + "g4saiddata@2.0", + "g4abla@3.3", + "g4incl@1.2", + "g4ensdfstate@2.3", + "g4nudexlib@1.0", + "g4urrpt@1.0", + ], + "11.2.2:11.2": [ + "g4ndl@4.7.1", + "g4emlow@8.5", + "g4photonevaporation@5.7", + "g4radioactivedecay@5.6", + "g4particlexs@4.0", + "g4pii@1.3", + "g4realsurface@2.2", + "g4saiddata@2.0", + "g4abla@3.3", + "g4incl@1.2", + "g4ensdfstate@2.3", + ], + "11.2.0:11.2.1": [ + "g4ndl@=4.7", "g4emlow@8.5", "g4photonevaporation@5.7", "g4radioactivedecay@5.6", diff --git a/var/spack/repos/builtin/packages/geant4-vmc/package.py b/var/spack/repos/builtin/packages/geant4-vmc/package.py index 60e4bb866b412f..89bf862c534d43 100644 --- a/var/spack/repos/builtin/packages/geant4-vmc/package.py +++ b/var/spack/repos/builtin/packages/geant4-vmc/package.py @@ -35,6 +35,8 @@ class Geant4Vmc(CMakePackage): version("4-0-p2", sha256="cdd73c499cd296f13b6c0d37e161e7d94343f85617b2a7577ded8312248f9b9b") version("3-6-p6", sha256="e62a62ff7075ff9afb2ffe420610374f62136094a447bbbc5f739a2238ddb0f0") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.3:", type="build") depends_on("geant4") depends_on("vmc") diff --git a/var/spack/repos/builtin/packages/geant4/package.py b/var/spack/repos/builtin/packages/geant4/package.py index 5c15771a51b111..873a44b4a96a06 100644 --- a/var/spack/repos/builtin/packages/geant4/package.py +++ b/var/spack/repos/builtin/packages/geant4/package.py @@ -21,7 +21,16 @@ class Geant4(CMakePackage): executables = ["^geant4-config$"] maintainers("drbenmorgan", "sethrj") - + version( + "11.3.0.beta", + sha256="572ba1570ca3b5b6f2a28ccbffa459901f6a986b79da1ebfdbf2f6f3dc5e14bf", + deprecated=True, + ) + version( + "11.2.2", + sha256="3a8d98c63fc52578f6ebf166d7dffaec36256a186d57f2520c39790367700c8d", + preferred=True, + ) version("11.2.1", sha256="76c9093b01128ee2b45a6f4020a1bcb64d2a8141386dea4674b5ae28bcd23293") version("11.2.0", sha256="9ff544739b243a24dac8f29a4e7aab4274fc0124fd4e1c4972018213dc6991ee") version("11.1.3", sha256="5d9a05d4ccf8b975649eab1d615fc1b8dce5937e01ab9e795bffd04149240db6") @@ -48,6 +57,8 @@ class Geant4(CMakePackage): version("10.3.3", sha256="bcd36a453da44de9368d1d61b0144031a58e4b43a6d2d875e19085f2700a89d8") version("10.0.4", sha256="97f3744366b00143d1eed52f8786823034bbe523f45998106f798af61d83f863") + depends_on("cxx", type="build") + _cxxstd_values = ( conditional("11", "14", when="@:10"), conditional("17", when="@10.4.1:"), @@ -90,6 +101,7 @@ class Geant4(CMakePackage): extends("python", when="+python") # CLHEP version requirements to be reviewed + depends_on("clhep@2.4.7.1:", when="@11.3:") depends_on("clhep@2.4.6.0:", when="@11.1:") depends_on("clhep@2.4.5.1:", when="@11.0.0:") depends_on("clhep@2.4.4.0:", when="@10.7.0:") @@ -98,6 +110,7 @@ class Geant4(CMakePackage): # Vecgeom specific versions for each Geant4 version with when("+vecgeom"): + depends_on("vecgeom@1.2.8:", when="@11.3:") depends_on("vecgeom@1.2.6:", when="@11.2:") depends_on("vecgeom@1.2.0:", when="@11.1") depends_on("vecgeom@1.1.18:1.1", when="@11.0.0:11.0") @@ -132,8 +145,13 @@ def std_when(values): depends_on("libxmu", when="+x11") depends_on("motif", when="+motif") with when("+qt"): - depends_on("qt@5: +opengl") - depends_on("qt@5.9:", when="@11.2:") + depends_on("qmake") + with when("^[virtuals=qmake] qt-base"): + depends_on("qt-base +accessibility +gui +opengl") + with when("^[virtuals=qmake] qt"): + depends_on("qt@5: +opengl") + depends_on("qt@5.9:", when="@11.2:") + conflicts("@:11.1 ^[virtuals=qmake] qt-base", msg="Qt6 not supported before 11.2") # As released, 10.0.4 has inconsistently capitalised filenames # in the cmake files; this patch also enables cxxstd 14 @@ -273,7 +291,9 @@ def cmake_args(self): if "+qt" in spec: options.append(self.define("GEANT4_USE_QT", True)) - options.append(self.define("QT_QMAKE_EXECUTABLE", spec["qt"].prefix.bin.qmake)) + if "^[virtuals=qmake] qt-base" in spec: + options.append(self.define("GEANT4_USE_QT_QT6", True)) + options.append(self.define("QT_QMAKE_EXECUTABLE", spec["qmake"].prefix.bin.qmake)) options.append(self.define_from_variant("GEANT4_USE_VTK", "vtk")) diff --git a/var/spack/repos/builtin/packages/gearshifft/package.py b/var/spack/repos/builtin/packages/gearshifft/package.py index c9cc7b7586dc90..3f25b066f5a21c 100644 --- a/var/spack/repos/builtin/packages/gearshifft/package.py +++ b/var/spack/repos/builtin/packages/gearshifft/package.py @@ -18,6 +18,8 @@ class Gearshifft(CMakePackage): version("0.4.0", sha256="15b9e4bfa1d9b4fe4ae316f289c67b7be0774cdada5bd7310df4d0e026d9d227") + depends_on("cxx", type="build") # generated + # gearshifft used the variable name `CMAKE_DEFAULT_BUILD_TYPE` which was # later introduced by CMake leading to an error in newer CMake versions. # This patch renames the variable to `GEARSHIFFT_DEFAULT_BUILD_TYPE`. diff --git a/var/spack/repos/builtin/packages/gegelati/package.py b/var/spack/repos/builtin/packages/gegelati/package.py index 4558126bb12674..6f5226a325bfef 100644 --- a/var/spack/repos/builtin/packages/gegelati/package.py +++ b/var/spack/repos/builtin/packages/gegelati/package.py @@ -19,6 +19,9 @@ class Gegelati(CMakePackage): version("1.2.0", sha256="039997c7d6cb394f910f6c40620165b32094e0c85c170be01eb74b55488a1d4c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("sdl2") depends_on("doxygen") diff --git a/var/spack/repos/builtin/packages/gegl/package.py b/var/spack/repos/builtin/packages/gegl/package.py index 7005968e7d671a..d969ef3ceabd21 100644 --- a/var/spack/repos/builtin/packages/gegl/package.py +++ b/var/spack/repos/builtin/packages/gegl/package.py @@ -28,6 +28,9 @@ class Gegl(MesonPackage): version("0.4.34", sha256="ef63f0bca5b431c6119addd834ca7fbb507c900c4861c57b3667b6f4ccfcaaaa") version("0.4.32", sha256="668e3c6b9faf75fb00512701c36274ab6f22a8ba05ec62dbf187d34b8d298fa1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("cmake@3.4:", type="build") depends_on("babl") diff --git a/var/spack/repos/builtin/packages/gemma/package.py b/var/spack/repos/builtin/packages/gemma/package.py index 6a43842e0fd930..c144364d9e068a 100644 --- a/var/spack/repos/builtin/packages/gemma/package.py +++ b/var/spack/repos/builtin/packages/gemma/package.py @@ -20,6 +20,8 @@ class Gemma(MakefilePackage): version("0.98.5", sha256="3ed336deee29e370f96ec8f1a240f7b62550e57dcd1694245ce7ec8f42241677") + depends_on("cxx", type="build") # generated + depends_on("zlib-api") # openblas is the default # other lapack implementors can be made to work diff --git a/var/spack/repos/builtin/packages/gemmlowp/package.py b/var/spack/repos/builtin/packages/gemmlowp/package.py index cb56090e2e332a..e77e689b980149 100644 --- a/var/spack/repos/builtin/packages/gemmlowp/package.py +++ b/var/spack/repos/builtin/packages/gemmlowp/package.py @@ -16,6 +16,8 @@ class Gemmlowp(Package): version("a6f29d9ac", commit="a6f29d8ac48d63293f845f2253eccbf86bc28321") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): header_directories = ( "eight_bit_int_gemm", diff --git a/var/spack/repos/builtin/packages/generax/package.py b/var/spack/repos/builtin/packages/generax/package.py index ef52f73e5b884b..74e0b1ec2efa66 100644 --- a/var/spack/repos/builtin/packages/generax/package.py +++ b/var/spack/repos/builtin/packages/generax/package.py @@ -24,6 +24,9 @@ class Generax(CMakePackage): version("2.0.4", commit="e4fab40f407bdd3b588d3d69a449f8c1be56f9fa", submodules=True) version("2.0.1", commit="0623dae55dd602a60faae63e9991fa8d41782456", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.0.1:", type="build") depends_on("mpi", when="+mpi") depends_on("bison") diff --git a/var/spack/repos/builtin/packages/genesis/package.py b/var/spack/repos/builtin/packages/genesis/package.py index 485693084f50c0..4ff56e4be14324 100644 --- a/var/spack/repos/builtin/packages/genesis/package.py +++ b/var/spack/repos/builtin/packages/genesis/package.py @@ -30,6 +30,9 @@ class Genesis(AutotoolsPackage, CudaPackage): url="https://www.r-ccs.riken.jp/labs/cbrt/wp-content/uploads/2020/09/genesis-1.5.1.tar.bz2", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + resource( when="@1.6.0", name="user_guide", diff --git a/var/spack/repos/builtin/packages/genfit/package.py b/var/spack/repos/builtin/packages/genfit/package.py index c4e7f4b4417f01..dad4a85e7b7d1b 100644 --- a/var/spack/repos/builtin/packages/genfit/package.py +++ b/var/spack/repos/builtin/packages/genfit/package.py @@ -30,6 +30,8 @@ class Genfit(CMakePackage): # Untagged version from 2017-06-23 known to work with root@6.16.00 version("b496504a", sha256="e1582b35782118ade08498adc03f3fda01979ff8bed61e0520edae46d7bfe477") + depends_on("cxx", type="build") # generated + depends_on("root") depends_on("root@:6.16.00", when="@b496504a") depends_on("eigen") diff --git a/var/spack/repos/builtin/packages/gengeo/package.py b/var/spack/repos/builtin/packages/gengeo/package.py index 6c0f3c6be25338..a580a7aa90c5e5 100644 --- a/var/spack/repos/builtin/packages/gengeo/package.py +++ b/var/spack/repos/builtin/packages/gengeo/package.py @@ -23,6 +23,8 @@ class Gengeo(AutotoolsPackage): version("163", sha256="9c896d430d8f315a45379d2b82e7d374f36259af66a745bfdee4c022a080d34d") + depends_on("cxx", type="build") # generated + extends("python") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/gengetopt/package.py b/var/spack/repos/builtin/packages/gengetopt/package.py index b445d8b23aafab..ed184b6d5b6e31 100644 --- a/var/spack/repos/builtin/packages/gengetopt/package.py +++ b/var/spack/repos/builtin/packages/gengetopt/package.py @@ -27,6 +27,9 @@ class Gengetopt(AutotoolsPackage): version("2.21", sha256="355a32310b2fee5e7289d6d6e89eddd13275a7c85a243dc5dd293a6cb5bb047e") version("2.20", sha256="4c8b3b42cecff579f5f9de5ccad47e0849e0245e325a04ff5985c248141af1a4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("texinfo", type="build") parallel = False diff --git a/var/spack/repos/builtin/packages/genie/package.py b/var/spack/repos/builtin/packages/genie/package.py index 60cff65c074dc8..1193687e1e01c6 100644 --- a/var/spack/repos/builtin/packages/genie/package.py +++ b/var/spack/repos/builtin/packages/genie/package.py @@ -43,6 +43,8 @@ class Genie(Package): version("2.9.0", sha256="8229beb73f65f5af86a77bf141acfbe4a8b68cba9d797aae083a929906f6f2a2") version("2.8.6", sha256="310dc8e0d17a65e6b9773e398250703a3a6f94ceafe94f599ae0f7b3fecf7e6c") + depends_on("cxx", type="build") # generated + depends_on("root+pythia6") depends_on("pythia6") depends_on("lhapdf", when="@3:") diff --git a/var/spack/repos/builtin/packages/genometools/package.py b/var/spack/repos/builtin/packages/genometools/package.py index b66c3abd0f7369..69cbd3cea323f5 100644 --- a/var/spack/repos/builtin/packages/genometools/package.py +++ b/var/spack/repos/builtin/packages/genometools/package.py @@ -20,6 +20,9 @@ class Genometools(MakefilePackage): version("1.6.1", sha256="528ca143a7f1d42af8614d60ea1e5518012913a23526d82e434f0dad2e2d863f") version("1.5.9", sha256="bba8e043f097e7c72e823f73cb0efbd20bbd60f1ce797a0e4c0ab632b170c909") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("perl", type=("build", "run")) depends_on("cairo+pdf") depends_on("pango") diff --git a/var/spack/repos/builtin/packages/genomeworks/package.py b/var/spack/repos/builtin/packages/genomeworks/package.py index 59622cd79cdd38..5c8263440d64df 100644 --- a/var/spack/repos/builtin/packages/genomeworks/package.py +++ b/var/spack/repos/builtin/packages/genomeworks/package.py @@ -43,6 +43,9 @@ class Genomeworks(CMakePackage, CudaPackage): "0.2.0", tag="v0.2.0", commit="416af9f1817a4a70745b3f7cdb7418125159f75c", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.10.2:", type=("build")) depends_on("cuda@11:", type=("build", "run")) depends_on("python@3.6.7:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/genrich/package.py b/var/spack/repos/builtin/packages/genrich/package.py index b36c194c921d61..6ddee5019d3ac9 100644 --- a/var/spack/repos/builtin/packages/genrich/package.py +++ b/var/spack/repos/builtin/packages/genrich/package.py @@ -17,6 +17,8 @@ class Genrich(MakefilePackage): version("0.6.1", sha256="2c70239e1caf33519b9e99142470bb4dd2f4c69e71f68cee33d6d6a1032d0e33") version("0.6", sha256="4c87aca8b7789f28b0c5c2c0ccea75668f19fa6a4cb38cd3c06d80ffd98d396f") + depends_on("c", type="build") # generated + depends_on("zlib-api") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/geoip-api-c/package.py b/var/spack/repos/builtin/packages/geoip-api-c/package.py index d7d1dc52934b36..b971d4be00b98e 100644 --- a/var/spack/repos/builtin/packages/geoip-api-c/package.py +++ b/var/spack/repos/builtin/packages/geoip-api-c/package.py @@ -19,6 +19,8 @@ class GeoipApiC(AutotoolsPackage): version("1.6.11", sha256="b0e5a92200b5ab540d118983f7b7191caf4faf1ae879c44afa3ff2a2abcdb0f5") version("1.6.10", sha256="cb44e0d0dbc45efe2e399e695864e58237ce00026fba8a74b31d85888c89c67a") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/geoip/package.py b/var/spack/repos/builtin/packages/geoip/package.py index 2e3b02833882b3..525ad60cbf7743 100644 --- a/var/spack/repos/builtin/packages/geoip/package.py +++ b/var/spack/repos/builtin/packages/geoip/package.py @@ -18,3 +18,5 @@ class Geoip(AutotoolsPackage): version("1.6.12", sha256="1dfb748003c5e4b7fd56ba8c4cd786633d5d6f409547584f6910398389636f80") version("1.6.11", sha256="b0e5a92200b5ab540d118983f7b7191caf4faf1ae879c44afa3ff2a2abcdb0f5") version("1.6.10", sha256="cb44e0d0dbc45efe2e399e695864e58237ce00026fba8a74b31d85888c89c67a") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/geomodel/package.py b/var/spack/repos/builtin/packages/geomodel/package.py index 3fb17ff571f445..80027510041f17 100644 --- a/var/spack/repos/builtin/packages/geomodel/package.py +++ b/var/spack/repos/builtin/packages/geomodel/package.py @@ -20,6 +20,8 @@ class Geomodel(CMakePackage): version("4.6.0", sha256="d827dc79a5555fd7b09d1b670fc6f01f91476d0edf98ccd644c624f18fb729ca") + depends_on("cxx", type="build") # generated + variant( "visualization", default=False, description="Enable the build of GeoModelVisualization" ) diff --git a/var/spack/repos/builtin/packages/geopm-runtime/package.py b/var/spack/repos/builtin/packages/geopm-runtime/package.py index 99230e1d4c446c..2aa26287ebbdc7 100644 --- a/var/spack/repos/builtin/packages/geopm-runtime/package.py +++ b/var/spack/repos/builtin/packages/geopm-runtime/package.py @@ -24,6 +24,10 @@ class GeopmRuntime(AutotoolsPackage): version("develop", branch="dev", get_full_repo=True) version("3.0.1", sha256="32ba1948de58815ee055470dcdea64593d1113a6cad70ce00ab0286c127f8234") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("debug", default=False, description="Enable debug") variant("docs", default=False, description="Create man pages with Sphinx") variant("overhead", default=False, description="Track time spent in GEOPM API calls") diff --git a/var/spack/repos/builtin/packages/geopm-service/package.py b/var/spack/repos/builtin/packages/geopm-service/package.py index 0798a0375ef804..b6e15cf0a6af8a 100644 --- a/var/spack/repos/builtin/packages/geopm-service/package.py +++ b/var/spack/repos/builtin/packages/geopm-service/package.py @@ -27,6 +27,10 @@ class GeopmService(AutotoolsPackage): version("develop", branch="dev", get_full_repo=True) version("3.0.1", sha256="32ba1948de58815ee055470dcdea64593d1113a6cad70ce00ab0286c127f8234") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("debug", default=False, description="Enable debug") variant("docs", default=True, description="Create man pages with Sphinx") variant("systemd", default=True, description="Enable use of systemd/DBus") diff --git a/var/spack/repos/builtin/packages/geos/package.py b/var/spack/repos/builtin/packages/geos/package.py index ae859c85b079fd..d84f45d3c2798d 100644 --- a/var/spack/repos/builtin/packages/geos/package.py +++ b/var/spack/repos/builtin/packages/geos/package.py @@ -19,12 +19,13 @@ class Geos(CMakePackage): url = "https://download.osgeo.org/geos/geos-3.8.1.tar.bz2" git = "https://github.com/libgeos/geos.git" - maintainers("adamjstewart") - license("LGPL-2.1-or-later") + maintainers("adamjstewart") + version("3.12.2", sha256="34c7770bf0090ee88488af98767d08e779f124fa33437e0aabec8abd4609fec6") version("3.12.1", sha256="d6ea7e492224b51193e8244fe3ec17c4d44d0777f3c32ca4fb171140549a0d03") version("3.12.0", sha256="d96db96011259178a35555a0f6d6e75a739e52a495a6b2aa5efb3d75390fbc39") + version("3.11.4", sha256="364c88ccfc38aa50cf65c700e7b2ae4706ed103326128493dbf750c78d136d2c") version("3.11.3", sha256="80d60a2bbc0cde7745a3366b9eb8c0d65a142b03e063ea0a52c364758cd5ee89") version("3.11.2", sha256="b1f077669481c5a3e62affc49e96eb06f281987a5d36fdab225217e5b825e4cc") version("3.11.1", sha256="6d0eb3cfa9f92d947731cc75f1750356b3bdfc07ea020553daf6af1c768e0be2") @@ -65,6 +66,9 @@ class Geos(CMakePackage): version("3.3.4", sha256="cd5400aa5f3fe32246dfed5d238c5017e1808162c865c016480b3e6c07271904") version("3.3.3", sha256="dfcf4bd70ab212a5b7bad21d01b84748f101a545092b56dafdc3882ef3bddec9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + generator("ninja") depends_on("cmake@3.13:", when="@3.10:", type="build") depends_on("cmake@3.8:", type="build") diff --git a/var/spack/repos/builtin/packages/gettext/package.py b/var/spack/repos/builtin/packages/gettext/package.py index e5df35b94bbc35..063835f048aa69 100644 --- a/var/spack/repos/builtin/packages/gettext/package.py +++ b/var/spack/repos/builtin/packages/gettext/package.py @@ -31,6 +31,9 @@ class Gettext(AutotoolsPackage, GNUMirrorPackage): version("0.19.8.1", sha256="105556dbc5c3fbbc2aa0edb46d22d055748b6f5c7cd7a8d99f8e7eb84e938be4") version("0.19.7", sha256="378fa86a091cec3acdece3c961bb8d8c0689906287809a8daa79dc0c6398d934") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Recommended variants variant("curses", default=True, description="Use libncurses") variant("libxml2", default=True, description="Use libxml2") @@ -80,7 +83,7 @@ def patch(self): # From the configure script: "we don't want to use an external libxml, because its # dependencies and their dynamic relocations have an impact on the startup time", well, # *we* do. - if self.spec.satisfies("@:19"): # libtextstyle/configure not present + if self.spec.satisfies("@0.20:"): # libtextstyle/configure not present prior filter_file( "gl_cv_libxml_force_included=yes", "gl_cv_libxml_force_included=no", diff --git a/var/spack/repos/builtin/packages/gexiv2/package.py b/var/spack/repos/builtin/packages/gexiv2/package.py index fc88a05935eb71..585fa110f20610 100644 --- a/var/spack/repos/builtin/packages/gexiv2/package.py +++ b/var/spack/repos/builtin/packages/gexiv2/package.py @@ -24,6 +24,9 @@ class Gexiv2(MesonPackage): version("0.12.1", sha256="8aeafd59653ea88f6b78cb03780ee9fd61a2f993070c5f0d0976bed93ac2bd77") version("0.12.0", sha256="58f539b0386f36300b76f3afea3a508de4914b27e78f58ee4d142486a42f926a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("cmake@3.4:", type="build") depends_on("ninja@1.8.2:", type="build") diff --git a/var/spack/repos/builtin/packages/gffcompare/package.py b/var/spack/repos/builtin/packages/gffcompare/package.py index 88c66316cae13c..6b057b4d1c3414 100644 --- a/var/spack/repos/builtin/packages/gffcompare/package.py +++ b/var/spack/repos/builtin/packages/gffcompare/package.py @@ -19,6 +19,8 @@ class Gffcompare(MakefilePackage): version("0.12.6", sha256="0e713bc9177d874c935802d11669776da5e9377a8c4d031153b48a783d3391d0") + depends_on("cxx", type="build") # generated + def build(self, spec, prefix): make("release") diff --git a/var/spack/repos/builtin/packages/gffread/package.py b/var/spack/repos/builtin/packages/gffread/package.py index 58896451b2e340..98ba8aef1a6bbf 100644 --- a/var/spack/repos/builtin/packages/gffread/package.py +++ b/var/spack/repos/builtin/packages/gffread/package.py @@ -17,6 +17,8 @@ class Gffread(MakefilePackage): version("0.12.7", sha256="bfde1c857495e578f5b3af3c007a9aa40593e69450eafcc6a42c3e8ef08ed1f5") + depends_on("cxx", type="build") # generated + def build(self, spec, prefix): make("release") diff --git a/var/spack/repos/builtin/packages/gflags/package.py b/var/spack/repos/builtin/packages/gflags/package.py index fbc0e846d98779..67f90a2654d2c3 100644 --- a/var/spack/repos/builtin/packages/gflags/package.py +++ b/var/spack/repos/builtin/packages/gflags/package.py @@ -21,6 +21,8 @@ class Gflags(CMakePackage): version("2.2.2", sha256="34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf") version("2.1.2", sha256="d8331bd0f7367c8afd5fcb5f5e85e96868a00fd24b7276fa5fcee1e5575c2662") + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8.12:", type="build") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/gfsio/package.py b/var/spack/repos/builtin/packages/gfsio/package.py index a5dc64a92cf039..f78b623269dceb 100644 --- a/var/spack/repos/builtin/packages/gfsio/package.py +++ b/var/spack/repos/builtin/packages/gfsio/package.py @@ -21,6 +21,8 @@ class Gfsio(CMakePackage): version("develop", branch="develop") version("1.4.1", sha256="eab106302f520600decc4f9665d7c6a55e7b4901fab6d9ef40f29702b89b69b1") + depends_on("fortran", type="build") # generated + def setup_run_environment(self, env): lib = find_libraries("libgfsio", root=self.prefix, shared=False, recursive=True) # Only one library version, but still need to set _4 to make NCO happy diff --git a/var/spack/repos/builtin/packages/gftl-shared/package.py b/var/spack/repos/builtin/packages/gftl-shared/package.py index 22bedeb13299aa..d03d0dac2665e2 100644 --- a/var/spack/repos/builtin/packages/gftl-shared/package.py +++ b/var/spack/repos/builtin/packages/gftl-shared/package.py @@ -41,6 +41,8 @@ class GftlShared(CMakePackage): version("1.3.1", sha256="a71e164108847f32f37da505f604fc2a50f392a4fcdf9a7cfe8eaf775bed64d4") version("1.3.0", sha256="979b00c4d531e701bf4346f662e3e4cc865124a97ca958637a53201d66d4ee43") + depends_on("fortran", type="build") # generated + depends_on("m4", type=("build", "run")) depends_on("cmake@3.12:", type="build") depends_on("gftl") diff --git a/var/spack/repos/builtin/packages/gftl/package.py b/var/spack/repos/builtin/packages/gftl/package.py index affe14a3708a84..888b39094c3dc4 100644 --- a/var/spack/repos/builtin/packages/gftl/package.py +++ b/var/spack/repos/builtin/packages/gftl/package.py @@ -56,6 +56,8 @@ class Gftl(CMakePackage): version("1.5.5", sha256="67ff8210f08e9f2ee6ba23c8c26336f948420db5db7fc054c3a662e9017f18a3") version("1.5.4", sha256="4c53e932ba8d82616b65500f403a33a14957b9266b5e931e2448f1f005990750") + depends_on("fortran", type="build") # generated + depends_on("cmake@3.12:", type="build") depends_on("m4", type="build") diff --git a/var/spack/repos/builtin/packages/gh/package.py b/var/spack/repos/builtin/packages/gh/package.py index 3ed974e6efc7bd..ca768b4eb02553 100644 --- a/var/spack/repos/builtin/packages/gh/package.py +++ b/var/spack/repos/builtin/packages/gh/package.py @@ -16,6 +16,7 @@ class Gh(Package): license("MIT") + version("2.50.0", sha256="683d0dee90e1d24a6673d13680e0d41963ddc6dd88580ab5119acec790d1b4d7") version("2.49.2", sha256="e839ea302ad99b70ce3efcb903f938ecbbb919798e49bc2f2034ad506ae0b0f5") version("2.43.1", sha256="1ea3f451fb7002c1fb95a7fab21e9ab16591058492628fe264c5878e79ec7c90") version("2.32.1", sha256="1d569dc82eb6520e6a8959568c2db84fea3bbaab2604c8dd5901849d320e1eae") diff --git a/var/spack/repos/builtin/packages/ghost/package.py b/var/spack/repos/builtin/packages/ghost/package.py index 030edfe45b411f..ce99f529a17d94 100644 --- a/var/spack/repos/builtin/packages/ghost/package.py +++ b/var/spack/repos/builtin/packages/ghost/package.py @@ -24,6 +24,9 @@ class Ghost(CMakePackage, CudaPackage): version("develop", branch="devel") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries") variant("mpi", default=True, description="enable/disable MPI") variant("scotch", default=False, description="enable/disable matrix reordering with PT-SCOTCH") diff --git a/var/spack/repos/builtin/packages/ghostscript/package.py b/var/spack/repos/builtin/packages/ghostscript/package.py index 9384b1e16fca07..619264271e1a0a 100644 --- a/var/spack/repos/builtin/packages/ghostscript/package.py +++ b/var/spack/repos/builtin/packages/ghostscript/package.py @@ -29,6 +29,9 @@ class Ghostscript(AutotoolsPackage): version("9.21", sha256="02bceadbc4dddeb6f2eec9c8b1623d945d355ca11b8b4df035332b217d58ce85") version("9.18", sha256="5fc93079749a250be5404c465943850e3ed5ffbc0d5c07e10c7c5ee8afbbdb1b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # https://www.ghostscript.com/ocr.html variant("tesseract", default=False, description="Use the Tesseract library for OCR") diff --git a/var/spack/repos/builtin/packages/giflib/package.py b/var/spack/repos/builtin/packages/giflib/package.py index b28aed78931423..f794c16519f6b9 100644 --- a/var/spack/repos/builtin/packages/giflib/package.py +++ b/var/spack/repos/builtin/packages/giflib/package.py @@ -15,6 +15,7 @@ class Giflib(MakefilePackage, SourceforgePackage): license("MIT") + version("5.2.2", sha256="be7ffbd057cadebe2aa144542fd90c6838c6a083b5e8a9048b8ee3b66b29d5fb") version("5.2.1", sha256="31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd") version("5.2.0", sha256="dc7257487c767137602d86c17098ec97065a718ff568a61cfcf1a9466f197b1f") version( @@ -23,6 +24,8 @@ class Giflib(MakefilePackage, SourceforgePackage): extension="tar.bz2", ) + depends_on("c", type="build") # generated + depends_on("automake", type="build", when="@:5.2.0") depends_on("autoconf", type="build", when="@:5.2.0") depends_on("m4", type="build", when="@:5.2.0") @@ -72,3 +75,6 @@ def edit(self, spec, prefix): if spec.satisfies("@:5.2.0"): configure = Executable("./configure") configure("--prefix={0}".format(prefix)) + # remove call to convert in doc makefile + with working_dir("doc"): + filter_file("^.*convert.*-resize.*$", "", "Makefile") diff --git a/var/spack/repos/builtin/packages/gimp/package.py b/var/spack/repos/builtin/packages/gimp/package.py index e823df76d8f26e..d3c01af6697efb 100644 --- a/var/spack/repos/builtin/packages/gimp/package.py +++ b/var/spack/repos/builtin/packages/gimp/package.py @@ -31,6 +31,9 @@ class Gimp(AutotoolsPackage): version("2.10.26", sha256="5ddbccf1db462a41df9a26197fcb0d24c7152753a36b3c8b8a9506b4136395f7") version("2.10.24", sha256="bd1bb762368c0dd3175cf05006812dd676949c3707e21f4e6857435cb435989e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("doc", default=True, description="Build documentation with gtk-doc") variant("ghostscript", default=True, description="Build with ghostscript support") variant("jpegxl", default=True, description="Build with JPEG XL image format support") diff --git a/var/spack/repos/builtin/packages/ginkgo/package.py b/var/spack/repos/builtin/packages/ginkgo/package.py index 45eb9bbbaf442a..998573ce62aa4c 100644 --- a/var/spack/repos/builtin/packages/ginkgo/package.py +++ b/var/spack/repos/builtin/packages/ginkgo/package.py @@ -41,6 +41,9 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage): version("1.1.0", commit="b9bec8225442b3eb2a85a870efa112ab767a17fb") # v1.1.0 version("1.0.0", commit="45244641e0c2b19ba33aecd25153c0bddbcbe1a0") # v1.0.0 + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("full_optimizations", default=False, description="Compile with all optimizations") variant("openmp", default=sys.platform != "darwin", description="Build with OpenMP") diff --git a/var/spack/repos/builtin/packages/git/package.py b/var/spack/repos/builtin/packages/git/package.py index 744db3c14aa753..f4ebee09221d49 100644 --- a/var/spack/repos/builtin/packages/git/package.py +++ b/var/spack/repos/builtin/packages/git/package.py @@ -29,231 +29,101 @@ class Git(AutotoolsPackage): # Every new git release comes with a corresponding manpage resource: # https://www.kernel.org/pub/software/scm/git/git-manpages-{version}.tar.gz # https://mirrors.edge.kernel.org/pub/software/scm/git/sha256sums.asc - version("2.45.1", sha256="10acb581993061e616be9c5674469335922025a666318e0748cb8306079fef24") - version("2.44.1", sha256="118214bb8d7ba971a62741416e757562b8f5451cefc087a407e91857897c92cc") - version("2.43.4", sha256="bfd717dc31922f718232a25a929d199e26146df5e876fdf0ff90a7cc95fa06e2") - version("2.42.2", sha256="3b24b712fa6e9a3da5b7d3e68b1854466905aadb93a43088a38816bcc3b9d043") - version("2.41.1", sha256="06d2a681aa7f1bdb6e7f7101631407e7412faa534e1fa0eb6fdcb9975d867d31") - version("2.40.2", sha256="1dcdfbb4eeb3ef2c2d9154f888d4a6f0cf19f19acad76f0d32e725e7bc147753") - version("2.39.4", sha256="b895ed2b5d98fd3dcfde5807f16d5fb17c4f83044e7d08e597ae13de222f0d26") + version("2.45.2", sha256="98b26090ed667099a3691b93698d1e213e1ded73d36a2fde7e9125fce28ba234") + version("2.44.2", sha256="f0655e81c5ecfeef7440aa4fcffa1c1a77eaccf764d6fe29579e9a06eac2cd04") + version("2.43.5", sha256="324c3b85d668e6afe571b3502035848e4b349dead35188e2b8ab1b96c0cd45ff") + version("2.42.3", sha256="f42a8e8f6c0add4516f9e4607554c8ad698161b7d721b82073fe315a59621961") + version("2.41.2", sha256="481aa0a15aa37802880a6245b96c1570d7337c44700d5d888344cd6d43d85306") + version("2.40.3", sha256="b3dc96b20edcdbe6bea7736ea55bb80babf683d126cc7f353ed4e3bc304cd7da") + version("2.39.5", sha256="ca0ec03fb2696f552f37135a56a0242fa062bd350cb243dc4a15c86f1cafbc99") - # Deprecated versions (see https://github.blog/2024-05-14-securing-git-addressing-5-new-vulnerabilities/). - version( - "2.42.0", - sha256="34aedd54210d7216a55d642bbb4cfb22695b7610719a106bf0ddef4c82a8beed", - deprecated=True, - ) - version( - "2.41.0", - sha256="c4a6a3dd1827895a80cbd824e14d94811796ae54037549e0da93f7b84cb45b9f", - deprecated=True, - ) - version( - "2.40.1", - sha256="55511f10f3b1cdf5db4e0e3dea61819dfb67661b0507a5a2b061c70e4f87e14c", - deprecated=True, - ) - version( - "2.40.0", - sha256="ab37c343c0ad097282fd311ab9ca521ab3da836e5c4ed2093994f1b7f8575b09", - deprecated=True, - ) - version( - "2.39.3", - sha256="2f9aa93c548941cc5aff641cedc24add15b912ad8c9b36ff5a41b1a9dcad783e", - deprecated=True, - ) - version( - "2.39.2", - sha256="fb6807d1eb4094bb2349ab97d203fe1e6c3eb28af73ea391decfbd3a03c02e85", - deprecated=True, - ) - version( - "2.39.1", - sha256="ae8d3427e4ccd677abc931f16183c0ec953e3bfcd866493601351e04a2b97398", - deprecated=True, - ) - version( - "2.38.5", - sha256="09392caf6ff296341022595a175d8b075bc98b6a82f6227d3bd21e36a2a812c3", - deprecated=True, - ) - version( - "2.38.3", - sha256="ba8f1c56763cfde0433657b045629a4c55047c243eb3091d39dea6f281c8d8e1", - deprecated=True, - ) - version( - "2.38.1", - sha256="620ed3df572a34e782a2be4c7d958d443469b2665eac4ae33f27da554d88b270", - deprecated=True, - ) - version( - "2.37.7", - sha256="2108fa57b74add4300b8960e9404e0ed3e5f0efda7470450c67c67e8ab7616d5", - deprecated=True, - ) - version( - "2.37.5", - sha256="5c11f90652afee6c77ef7ddfc672facd4bc6f2596d9627df2f1780664b058b9a", - deprecated=True, - ) - version( - "2.37.4", - sha256="a638c9bf9e45e8d48592076266adaa9b7aa272a99ee2aee2e166a649a9ba8a03", - deprecated=True, - ) - version( - "2.36.6", - sha256="a8c09f46d5d16a8d8f19e8089aeb408d95d8097af03de297061e83a2c74890dd", - deprecated=True, - ) - version( - "2.36.3", - sha256="0c831b88b0534f08051d1287505dfe45c367108ee043de6f1c0502711a7aa3a6", - deprecated=True, - ) + # Deprecated versions (https://groups.google.com/g/git-packagers/c/x6-nKLV20aE) version( - "2.35.8", - sha256="3a675e0128a7153e1492bbe14d08195d44b5916e6b8879addf94b1f4add77dca", + "2.45.1", + sha256="10acb581993061e616be9c5674469335922025a666318e0748cb8306079fef24", deprecated=True, ) version( - "2.35.6", - sha256="6bd51e0487028543ba40fe3d5b33bd124526a7f7109824aa7f022e79edf93bd1", + "2.44.1", + sha256="118214bb8d7ba971a62741416e757562b8f5451cefc087a407e91857897c92cc", deprecated=True, ) version( - "2.35.5", - sha256="2cca63fe7bebb5b4bf8efea7b46b12bb89c16ff9711b6b6d845928501d00d0a3", + "2.43.4", + sha256="bfd717dc31922f718232a25a929d199e26146df5e876fdf0ff90a7cc95fa06e2", deprecated=True, ) version( - "2.34.8", - sha256="10a6c233471d7d4439cd4004961a3f4ff7e6de308645a1074ec3522b8ea52c83", + "2.42.2", + sha256="3b24b712fa6e9a3da5b7d3e68b1854466905aadb93a43088a38816bcc3b9d043", deprecated=True, ) version( - "2.34.6", - sha256="01c0ae4161a07ffeb89cfb8bda564eb2dcb83b45b678cf2930cdbdd8e81784d0", + "2.41.1", + sha256="06d2a681aa7f1bdb6e7f7101631407e7412faa534e1fa0eb6fdcb9975d867d31", deprecated=True, ) version( - "2.34.5", - sha256="26831c5e48a8c2bf6a4fede1b38e1e51ffd6dad85952cf69ac520ebd81a5ae82", + "2.40.2", + sha256="1dcdfbb4eeb3ef2c2d9154f888d4a6f0cf19f19acad76f0d32e725e7bc147753", deprecated=True, ) version( - "2.33.8", - sha256="eafd10da9fdf86be0a79beb67c3537eead114f91836c685d5b9c969c961516ae", - deprecated=True, - ) - version( - "2.33.6", - sha256="76f6a64a198bec38e83044f97fb5a2dfa8404091df5a905404615d2a4c5ebfb7", - deprecated=True, - ) - version( - "2.33.5", - sha256="d061ed97f890befaef18b4aad80a37b40db90bcf24113c42765fee157a69c7de", - deprecated=True, - ) - version( - "2.32.7", - sha256="f09904d13a9bfca5fcb228c3caba1d4c17426dec0000bf67672af257b8a73db4", - deprecated=True, - ) - version( - "2.32.5", - sha256="9982e17209cf4a385ce4a6167863cdd29f68e425d4249aac186434dc3536fe5f", - deprecated=True, - ) - version( - "2.32.4", - sha256="4c791b8e1d96948c9772efc21373ab9b3187af42cdebc3bcbb1a06d794d4e494", - deprecated=True, - ) - version( - "2.31.8", - sha256="d2443e368b1394858a1040bd74dacfba46bce2cf3410ef3bc5089a703fc91e9a", - deprecated=True, - ) - version( - "2.31.6", - sha256="73971208dccdd6d87639abe50ee3405421ec4ba05dec9f8aa90b4e7f1985e15c", + "2.39.4", + sha256="b895ed2b5d98fd3dcfde5807f16d5fb17c4f83044e7d08e597ae13de222f0d26", deprecated=True, ) + + # Deprecated versions (see https://github.blog/2024-05-14-securing-git-addressing-5-new-vulnerabilities/). version( - "2.31.5", - sha256="2d4197660322937cc44cab5742deef727ba519ef7405455e33100912e3b019f2", + "2.42.0", + sha256="34aedd54210d7216a55d642bbb4cfb22695b7610719a106bf0ddef4c82a8beed", deprecated=True, ) version( - "2.30.9", - sha256="b14b5f4ce1fe23ed78839664c7ba888fb5cedba3dd98d9f5a499a36fa3a4a2d8", + "2.41.0", + sha256="c4a6a3dd1827895a80cbd824e14d94811796ae54037549e0da93f7b84cb45b9f", deprecated=True, ) version( - "2.30.7", - sha256="c98bf38a296f23ad5619a097df928044b31859df8f89b3ae5a8ea109d3ebd88e", + "2.40.1", + sha256="55511f10f3b1cdf5db4e0e3dea61819dfb67661b0507a5a2b061c70e4f87e14c", deprecated=True, ) version( - "2.30.6", - sha256="a6130b38843a5c80e80fb4f7ac4864d361cbf103d262b64e267264e49440d24a", + "2.39.3", + sha256="2f9aa93c548941cc5aff641cedc24add15b912ad8c9b36ff5a41b1a9dcad783e", deprecated=True, ) + depends_on("c", type="build") # generated + for _version, _sha256_manpage in { + "2.45.2": "48c1e2e3ecbb2ce9faa020a19fcdbc6ce64ea25692111b5930686bc0bb4f0e7f", "2.45.1": "d9098fd93a3c0ef242814fc856a99886ce31dae2ba457afc416ba4e92af8f8f5", + "2.44.2": "ee6a7238d5ede18fe21c0cc2131c7fbff1f871c25e2848892ee864d40baf7218", "2.44.1": "8d80359e44cbcce256c1eb1389cb8e15ccfcd267fbb8df567d5ce19ce006eb42", + "2.43.5": "df3c3d0f0834959aa33005e6f8134c1e56ab01f34d1497ceb34b2dd8ec7d4de4", "2.43.4": "99d3a0394a6093237123237fd6c0d3de1041d5ceaedc3bfc016807914275d3e2", + "2.42.3": "3c8c55dcbc3f59560c63e6ced400f7251e9a00d876d365cb4fe9be6b3c3e3713", "2.42.2": "2ddfa2187fdaf9ab2b27c0ab043e46793127c26c82a824ffe980f006be049286", "2.42.0": "51643c53d70ce15dde83b6da2bad76ba0c7bbcd4f944d7c378f03a15b9f2e1de", + "2.41.2": "a758988c81478a942e1593ecf11568b962506bff1119061bad04bd4149b40c2c", "2.41.1": "7093ef7dacfa8cdb3c4689d8bc1f06186d9b2420bec49087a3a6a4dee26ddcec", "2.41.0": "7b77c646b36d33c5c0f62677a147142011093270d6fd628ca38c42d5301f3888", + "2.40.3": "fa9b837e1e161ebdbbbfde27a883a90fe5f603ce1618086a384bccda59c47de5", "2.40.2": "2c71f3f3e4801176f97708f2093756bce672ef260c6d95c255046e6727b3a031", "2.40.1": "6bbde434121bd0bf8aa574c60fd9a162388383679bd5ddd99921505149ffd4c2", - "2.40.0": "fda16047e9c1dd07d9585cc26bbf4002ebf8462ada54cb72b97a0e48135fd435", + "2.39.5": "16aac22749bd55d845c422068702781a9c89e6cdde7de1c3aa1dd0fb41aeae39", "2.39.4": "fedd01dd22a15b84bcbcad68c1b37113ba2c64381c19b6c9f3aa9b2818e126dc", "2.39.3": "c8377b5a3ff497d7e6377363c270931496e982509ff27a1e46956d6637671642", - "2.39.2": "fd92e67fb750ceb2279dcee967a21303f2f8117834a21c1e0c9f312ebab6d254", - "2.39.1": "b2d1b2c6cba2343934792c4409a370a8c684add1b3c0f9b757e71189b1a2e80e", - "2.38.5": "648f2b89c9a173c3a687b99629208222170a398c7b14ed92de128656123c73cd", - "2.38.3": "9e5c924f6f1c961e09d1a8926c2775a158a0375a3311205d7a6176a3ed522272", - "2.38.1": "fcb27484406b64419a9f9890e95ef29af08e1f911d9d368546eddc59a18e245d", - "2.37.7": "475a894584ecc8b278d592a2d99c5c4a4a863485f5126508bcef686cba4a4ac0", - "2.37.5": "9fab559197891fc1b499cb57513effce7462383f861ac6a7791a46f5348dd7fe", - "2.37.4": "06ed920949e717f3ab13c98327ee63cae5e3020ac657d14513ef8f843109b638", - "2.36.6": "08bded34c0ff49b7e8d5d0778511a07f191751c6edb98aaf2cee4c96962cc94c", - "2.36.3": "c5f5385c2b46270a8ce062a9c510bfa4288d9cca54efe0dff48a12ca969cfc6f", - "2.35.8": "f85e549d37936df744fd78c1ce670c1682bdd2f35d1f072883b82babe66e484a", - "2.35.6": "5e44e05a97f49d7a170a7303f795063b19bc78560acd7458274882f19b631187", - "2.35.5": "6cbd4d2185c7a757db21f873973fa1efb81069d8b8b8cc350ca6735cb98f45c5", - "2.34.8": "e43e75edb8d339ceed4990b5054eb2302efc857d0feab690598e14dbdb9bcccc", - "2.34.6": "70c784ced9c5ccbd4137d676b032e2ccffeea8aef3094626c2b44d6c843547df", - "2.34.5": "897941be5b223b9d32217adb64ea8747db2ba57be5f68be598c44d747d1061b2", - "2.33.8": "9b49f931e58001d818b2cba7eb6d0242965cfb1eaa5194271b88fcc4529b4987", - "2.33.6": "d7b9170dc7d6f461e00731cf5cf6e4b589e90c8d4eac440fd3e8b5e3d11f0b8f", - "2.33.5": "34648ede9ac2869190083ee826065c36165e54d9e2906b10680261b243d89890", - "2.32.7": "dcce6d701f99190e081f74b539389cdf4674ddbcd4af143631034354a5db39fc", - "2.32.5": "99b236824f1677e15b21514e310d7a0954586d031ffc3a873a4e2138ed073f15", - "2.32.4": "fa73d0eac384e594efdd4c21343545e407267ab64e970a6b395c7f1874ddb0bf", - "2.31.8": "73722b9487456d7605beec65a9fa9415410faa8b9f8a5fd209d75be47bf1a968", - "2.31.6": "2e2f921d8ef8a839e05ba3a1cea8f864a49b04648378bf0253213a5d4f1642fe", - "2.31.5": "18850fc8f1c34e51a0a98b9f974b8356a5d63a53c96fb9fe3dc2880ee84746ab", - "2.30.9": "a3f61fe08453dd88fdd84a28ee6d4c9fbd710a7b1ead7ce5c976146656714ece", - "2.30.7": "4fc6063c229453de244a88c71f688a2508f30b80ebd47353cc68d730ea1b82aa", - "2.30.6": "6c20ab10be233e8ff7838351fa5210e972c08005ec541a5241f626cfd4adebfe", }.items(): resource( name="git-manpages", - url="https://www.kernel.org/pub/software/scm/git/git-manpages-{0}.tar.gz".format( - _version - ), + url=f"https://www.kernel.org/pub/software/scm/git/git-manpages-{_version}.tar.gz", sha256=_sha256_manpage, placement="git-manpages", - when="@{0} +man".format(_version), + when=f"@{_version} +man", ) variant("tcltk", default=False, description="Gitk: provide Tcl/Tk in the run environment") @@ -273,8 +143,7 @@ class Git(AutotoolsPackage): depends_on("iconv") depends_on("libidn2") depends_on("openssl") - depends_on("pcre", when="@:2.13") - depends_on("pcre2", when="@2.14:") + depends_on("pcre2") depends_on("perl", when="+perl") depends_on("zlib-api") depends_on("openssh", type="run") diff --git a/var/spack/repos/builtin/packages/gitconddb/package.py b/var/spack/repos/builtin/packages/gitconddb/package.py index f42822459d0387..4499def68f4646 100644 --- a/var/spack/repos/builtin/packages/gitconddb/package.py +++ b/var/spack/repos/builtin/packages/gitconddb/package.py @@ -24,6 +24,8 @@ class Gitconddb(CMakePackage): version("0.1.2", sha256="121ac34d8afffbd97b052cbb10f15e78cef962fe25ded85d88ab26e1677b72b5") version("0.1.1", sha256="024a6867722a3a622ed4327ea7d15641dd48e4e8411bdcc21915e406b3c479a2") + depends_on("cxx", type="build") # generated + # Add the cxxstd variant for forward compatibility, though we require 17 _cxxstd_values = ("17",) variant( diff --git a/var/spack/repos/builtin/packages/gl2ps/package.py b/var/spack/repos/builtin/packages/gl2ps/package.py index da229fbb7c921c..af24489a976a9e 100644 --- a/var/spack/repos/builtin/packages/gl2ps/package.py +++ b/var/spack/repos/builtin/packages/gl2ps/package.py @@ -19,6 +19,8 @@ class Gl2ps(CMakePackage): version("1.4.0", sha256="03cb5e6dfcd87183f3b9ba3b22f04cd155096af81e52988cc37d8d8efe6cf1e2") version("1.3.9", sha256="8a680bff120df8bcd78afac276cdc38041fed617f2721bade01213362bcc3640") + depends_on("c", type="build") # generated + variant("png", default=True, description="Enable PNG support") variant("zlib", default=True, description="Enable compression using ZLIB") variant("doc", default=False, description="Generate documentation using pdflatex") diff --git a/var/spack/repos/builtin/packages/glew/package.py b/var/spack/repos/builtin/packages/glew/package.py index 7183933c4be6e0..8bc88fd1c84186 100644 --- a/var/spack/repos/builtin/packages/glew/package.py +++ b/var/spack/repos/builtin/packages/glew/package.py @@ -20,6 +20,8 @@ class Glew(CMakePackage): version("2.1.0", sha256="04de91e7e6763039bc11940095cd9c7f880baba82196a7765f727ac05a993c95") version("2.0.0", sha256="c572c30a4e64689c342ba1624130ac98936d7af90c3103f9ce12b8a0c5736764") + depends_on("c", type="build") # generated + depends_on("gl") depends_on("libx11", when="^[virtuals=gl] glx") depends_on("xproto", when="^[virtuals=gl] glx") diff --git a/var/spack/repos/builtin/packages/glfmultiples/package.py b/var/spack/repos/builtin/packages/glfmultiples/package.py index 4ed24a057343a8..ca2be8bdbb2f23 100644 --- a/var/spack/repos/builtin/packages/glfmultiples/package.py +++ b/var/spack/repos/builtin/packages/glfmultiples/package.py @@ -21,6 +21,8 @@ class Glfmultiples(MakefilePackage): "2010-06-16", sha256="f7abef6f6b043e9052fb408bb2aae6d0d97d907aedc1b3e02dd0db08eb81b979" ) + depends_on("cxx", type="build") # generated + depends_on("zlib-api") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/glfw/package.py b/var/spack/repos/builtin/packages/glfw/package.py index bdaadb3cfd915f..ba005f779c8fb0 100644 --- a/var/spack/repos/builtin/packages/glfw/package.py +++ b/var/spack/repos/builtin/packages/glfw/package.py @@ -29,6 +29,8 @@ class Glfw(CMakePackage): version("3.0.4", sha256="a4e7c57db2086803de4fc853bd472ff8b6d2639b9aa16e6ac6b19ffb53958caf") version("3.0.3", sha256="7a182047ba6b1fdcda778b79aac249bb2328b6d141188cb5df29560715d01693") + depends_on("c", type="build") # generated + variant("doc", default=False, description="Build documentation") variant("shared", default=False, description="Builds a shared version of the library") diff --git a/var/spack/repos/builtin/packages/glib-networking/package.py b/var/spack/repos/builtin/packages/glib-networking/package.py index 998c0d7beed17e..0d08df0c3b5bf4 100644 --- a/var/spack/repos/builtin/packages/glib-networking/package.py +++ b/var/spack/repos/builtin/packages/glib-networking/package.py @@ -18,6 +18,8 @@ class GlibNetworking(MesonPackage): version("2.65.90", sha256="91b35c5d7472d10229b0b01c0631ac171903e96f84a6fb22c4126a40528c09e2") version("2.65.1", sha256="d06311004f7dda4561c210f286a3678b631fb7187cb3b90616c5ba39307cc91f") + depends_on("c", type="build") # generated + depends_on("gettext", type="build") depends_on("glib") depends_on("gnutls") diff --git a/var/spack/repos/builtin/packages/glib/package.py b/var/spack/repos/builtin/packages/glib/package.py index a6cf482456f2af..90ad73946da22a 100644 --- a/var/spack/repos/builtin/packages/glib/package.py +++ b/var/spack/repos/builtin/packages/glib/package.py @@ -116,6 +116,9 @@ class Glib(MesonPackage, AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("libmount", default=False, description="Build with libmount support") variant( "tracing", diff --git a/var/spack/repos/builtin/packages/glibc/package.py b/var/spack/repos/builtin/packages/glibc/package.py index 72c70ca46aade7..db4dce7ec695c8 100644 --- a/var/spack/repos/builtin/packages/glibc/package.py +++ b/var/spack/repos/builtin/packages/glibc/package.py @@ -68,6 +68,9 @@ class Glibc(AutotoolsPackage, GNUMirrorPackage): version("2.6.1", sha256="6be7639ccad715d25eef560ce9d1637ef206fb9a162714f6ab8167fc0d971cae") version("2.5", sha256="16d3ac4e86eed75d85d80f1f214a6bd58d27f13590966b5ad0cc181df85a3493") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Fix for newer GCC, related to -fno-common patch("locs.patch", when="@2.23:2.25") patch("locs-2.22.patch", when="@:2.22") diff --git a/var/spack/repos/builtin/packages/glibmm/package.py b/var/spack/repos/builtin/packages/glibmm/package.py index 25b0ba95eae427..3e533d3551ef06 100644 --- a/var/spack/repos/builtin/packages/glibmm/package.py +++ b/var/spack/repos/builtin/packages/glibmm/package.py @@ -19,6 +19,8 @@ class Glibmm(AutotoolsPackage): version("2.16.0", sha256="99795b9c6e58e490df740a113408092bf47a928427cbf178d77c35adcb6a57a3") version("2.4.8", sha256="78b97bfa1d001cc7b398f76bf09005ba55b45ae20780b297947a1a71c4f07e1f") + depends_on("cxx", type="build") # generated + depends_on("libsigcpp") # https://libsigcplusplus.github.io/libsigcplusplus/index.html # sigc++-2.0 and sigc++-3.0 are different parallel-installable ABIs: diff --git a/var/spack/repos/builtin/packages/glimmer/package.py b/var/spack/repos/builtin/packages/glimmer/package.py index f16453f198d79d..85df3c25ed7663 100644 --- a/var/spack/repos/builtin/packages/glimmer/package.py +++ b/var/spack/repos/builtin/packages/glimmer/package.py @@ -16,6 +16,8 @@ class Glimmer(MakefilePackage): version("3.02b", sha256="ecf28e03d0a675aed7360ca34ca7f19993f5c3ea889273e657ced9fa7d1e2bf6") + depends_on("cxx", type="build") # generated + build_directory = "src" def url_for_version(self, version): diff --git a/var/spack/repos/builtin/packages/glm/package.py b/var/spack/repos/builtin/packages/glm/package.py index 3904efb2f4c7d7..8b78d03c82e541 100644 --- a/var/spack/repos/builtin/packages/glm/package.py +++ b/var/spack/repos/builtin/packages/glm/package.py @@ -24,6 +24,8 @@ class Glm(CMakePackage): version("0.9.9.3", sha256="fba9fd177073a36c5a7798c74b28e79ba6deb8f4bb0d2dbfc0e207c27da7e12c") version("0.9.7.1", sha256="285a0dc8f762b4e523c8710fbd97accaace0c61f45bc8be2bdb0deed07b0e6f3") + depends_on("cxx", type="build") # generated + depends_on("cmake@2.6:", type="build") depends_on("cmake@3.2:", type="build", when="@0.9.9.0:") depends_on("cmake@3.6:", type="build", when="@1:") diff --git a/var/spack/repos/builtin/packages/globalarrays/package.py b/var/spack/repos/builtin/packages/globalarrays/package.py index 700b712dab7460..82ad9080f602a1 100644 --- a/var/spack/repos/builtin/packages/globalarrays/package.py +++ b/var/spack/repos/builtin/packages/globalarrays/package.py @@ -35,6 +35,10 @@ class Globalarrays(AutotoolsPackage): version("5.6.1", sha256="b324deed49f930f55203e1d18294ce07dd02680b9ac0728ebc54f94a12557ebc") version("5.6", sha256="a228dfbae9a6cfaae34694d7e56f589ac758e959b58f4bc49e6ef44058096767") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("scalapack", default=False, description="Enable SCALAPACK") variant( "armci", diff --git a/var/spack/repos/builtin/packages/glog/package.py b/var/spack/repos/builtin/packages/glog/package.py index eea294f4f85495..b38537f499936c 100644 --- a/var/spack/repos/builtin/packages/glog/package.py +++ b/var/spack/repos/builtin/packages/glog/package.py @@ -6,7 +6,7 @@ from spack.package import * -class Glog(Package): +class Glog(CMakePackage): """C++ implementation of the Google logging module.""" homepage = "https://github.com/google/glog" @@ -14,35 +14,19 @@ class Glog(Package): license("BSD-3-Clause") + version("0.7.1", sha256="00e4a87e87b7e7612f519a41e491f16623b12423620006f59f5688bfd8d13b08") version("0.7.0", sha256="375106b5976231b92e66879c1a92ce062923b9ae573c42b56ba28b112ee4cc11") version("0.6.0", sha256="8a83bf982f37bb70825df71a9709fa90ea9f4447fb3c099e1d720a439d88bad6") version("0.4.0", sha256="f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c") version("0.3.5", sha256="7580e408a2c0b5a89ca214739978ce6ff480b5e7d8d7698a2aa92fadc484d1e0") - version( - "0.3.4", - sha256="ce99d58dce74458f7656a68935d7a0c048fa7b4626566a71b7f4e545920ceb10", - deprecated=True, - ) - version( - "0.3.3", - sha256="544e178644bd9b454768c2c91716c3b8365cc5d47adfbdbaecd8cf3fa17adfcb", - deprecated=True, - ) + + depends_on("cxx", type="build") # generated depends_on("gflags") - depends_on("cmake", when="@0.3.5:", type="build") - - def install(self, spec, prefix): - configure(f"--prefix={prefix}") - make() - make("install") - - @when("@0.3.5:") - def install(self, spec, prefix): - cmake_args = ["-DBUILD_SHARED_LIBS=TRUE"] - cmake_args.extend(std_cmake_args) - - with working_dir("spack-build", create=True): - cmake("..", *cmake_args) - make() - make("install") + + depends_on("cmake@3:", type="build") + depends_on("cmake@3.16:", type="build", when="@0.6.0:") + depends_on("cmake@3.22:", type="build", when="@0.7.0:") + + def cmake_args(self): + return [self.define("BUILD_SHARED_LIBS", True)] diff --git a/var/spack/repos/builtin/packages/gloo/package.py b/var/spack/repos/builtin/packages/gloo/package.py index 7306ef78a23cff..84f1d6bc366f30 100644 --- a/var/spack/repos/builtin/packages/gloo/package.py +++ b/var/spack/repos/builtin/packages/gloo/package.py @@ -31,6 +31,8 @@ class Gloo(CMakePackage, CudaPackage): version("2018-05-29", commit="69eef748cc1dfbe0fefed69b34e6545495f67ac5") # py-torch@0.4.1 version("2018-04-06", commit="aad0002fb40612e991390d8e807f247ed23f13c5") # py-torch@:0.4.0 + depends_on("cxx", type="build") # generated + # Gloo does not build on Linux >=6.0.3 (fixed in master) # See: https://github.com/facebookincubator/gloo/issues/345 patch( diff --git a/var/spack/repos/builtin/packages/glpk/package.py b/var/spack/repos/builtin/packages/glpk/package.py index 2cd7426f7102cf..0c93cdcd7ecd44 100644 --- a/var/spack/repos/builtin/packages/glpk/package.py +++ b/var/spack/repos/builtin/packages/glpk/package.py @@ -23,6 +23,9 @@ class Glpk(AutotoolsPackage, GNUMirrorPackage): version("4.61", sha256="9866de41777782d4ce21da11b88573b66bb7858574f89c28be6967ac22dfaba9") version("4.57", sha256="7323b2a7cc1f13e45fc845f0fdca74f4daea2af716f5ad2d4d55b41e8394275c") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("gmp", default=False, description="Activates support for GMP library") depends_on("gmp", when="+gmp") diff --git a/var/spack/repos/builtin/packages/gluegen/package.py b/var/spack/repos/builtin/packages/gluegen/package.py index 5112cee7c66dd5..01834d01edde65 100644 --- a/var/spack/repos/builtin/packages/gluegen/package.py +++ b/var/spack/repos/builtin/packages/gluegen/package.py @@ -19,6 +19,8 @@ class Gluegen(Package): version("java-11-fixes", branch="java-11-fixes", submodules=True) + depends_on("c", type="build") # generated + # ant optional jar file to execute antlr tasks resource( name="ant-optional", diff --git a/var/spack/repos/builtin/packages/glusterfs/package.py b/var/spack/repos/builtin/packages/glusterfs/package.py index 0df17e464a5d24..e104e4dea36e70 100644 --- a/var/spack/repos/builtin/packages/glusterfs/package.py +++ b/var/spack/repos/builtin/packages/glusterfs/package.py @@ -25,6 +25,8 @@ class Glusterfs(AutotoolsPackage): version("6.8", sha256="41e855bdc456759c8c15ef494c636a25cc7b62c55ad132ecd55bec05df64793f") version("6.7", sha256="e237dd59a2d5b73e156b0b71df49ff64a143b3aaf8f0a65daaf369bb40f5e923") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/glvis/package.py b/var/spack/repos/builtin/packages/glvis/package.py index 52a7822362801c..872be1a028fa06 100644 --- a/var/spack/repos/builtin/packages/glvis/package.py +++ b/var/spack/repos/builtin/packages/glvis/package.py @@ -93,6 +93,9 @@ class Glvis(MakefilePackage): extension="tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "screenshots", default="png", diff --git a/var/spack/repos/builtin/packages/gmake/package.py b/var/spack/repos/builtin/packages/gmake/package.py index fd91ab8405ece4..2e52b7e5ea9746 100644 --- a/var/spack/repos/builtin/packages/gmake/package.py +++ b/var/spack/repos/builtin/packages/gmake/package.py @@ -24,7 +24,14 @@ class Gmake(Package, GNUMirrorPackage): version("4.4", sha256="581f4d4e872da74b3941c874215898a7d35802f03732bdccee1d4a7979105d18") version("4.3", sha256="e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19") version("4.2.1", sha256="e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7") - version("4.0", sha256="fc42139fb0d4b4291929788ebaf77e2a4de7eaca95e31f3634ef7d4932051f69") + version("4.1", sha256="9fc7a9783d3d2ea002aa1348f851875a2636116c433677453cc1d1acc3fc4d55") + version( + "4.0", + deprecated=True, + sha256="fc42139fb0d4b4291929788ebaf77e2a4de7eaca95e31f3634ef7d4932051f69", + ) + + depends_on("c", type="build") # generated variant("guile", default=False, description="Support GNU Guile for embedded scripting") @@ -33,9 +40,6 @@ class Gmake(Package, GNUMirrorPackage): depends_on("guile@:3.0") depends_on("pkgconfig", type="build") - # build.sh requires it in 4.0 (SV 40254) - conflicts("~guile", when="@4.0") - patch( "https://src.fedoraproject.org/rpms/make/raw/519a7c5bcbead22e6ea2d2c2341d981ef9e25c0d/f/make-4.2.1-glob-fix-2.patch", level=1, @@ -75,10 +79,18 @@ def configure_args(self): def install(self, spec, prefix): configure = Executable(join_path(self.stage.source_path, "configure")) - build_sh = Executable(join_path(self.stage.source_path, "build.sh")) with working_dir(self.build_directory, create=True): configure(f"--prefix={prefix}", *self.configure_args()) - build_sh() + if spec.satisfies("@:4.2.1"): # generated files in build dir + build_sh = join_path(".", "build.sh") + config_h = join_path(".", "config.h") + else: # generated files in source dir + build_sh = join_path(self.stage.source_path, "build.sh") + config_h = join_path("src", "config.h") + # The default CXX value should be generic, not CXX from the current build as it points + # to the compiler wrapper by absolute path. + filter_file(r"^#define MAKE_CXX .*$", "#undef MAKE_CXX", config_h) + Executable(build_sh)() os.mkdir(prefix.bin) install("make", prefix.bin) os.symlink("make", prefix.bin.gmake) diff --git a/var/spack/repos/builtin/packages/gmap-gsnap/package.py b/var/spack/repos/builtin/packages/gmap-gsnap/package.py index 739e76f5fea51d..0ba006aa2ff102 100644 --- a/var/spack/repos/builtin/packages/gmap-gsnap/package.py +++ b/var/spack/repos/builtin/packages/gmap-gsnap/package.py @@ -61,6 +61,8 @@ class GmapGsnap(AutotoolsPackage): "2014-12-28", sha256="108433f3e3ea89b8117c8bb36d396913225caf1261d46ce6d89709ff1b44025d" ) + depends_on("c", type="build") # generated + depends_on("zlib-api") depends_on("bzip2") depends_on("perl", type="run") diff --git a/var/spack/repos/builtin/packages/gmime/package.py b/var/spack/repos/builtin/packages/gmime/package.py index c10f374153d419..6641aab7e5b7c2 100644 --- a/var/spack/repos/builtin/packages/gmime/package.py +++ b/var/spack/repos/builtin/packages/gmime/package.py @@ -18,5 +18,7 @@ class Gmime(AutotoolsPackage): version("2.6.23", sha256="7149686a71ca42a1390869b6074815106b061aaeaaa8f2ef8c12c191d9a79f6a") + depends_on("c", type="build") # generated + depends_on("glib@2.18.0:") depends_on("libgpg-error") diff --git a/var/spack/repos/builtin/packages/gmodel/package.py b/var/spack/repos/builtin/packages/gmodel/package.py index c65558e0cca0c2..1fc0d934a6ddf3 100644 --- a/var/spack/repos/builtin/packages/gmodel/package.py +++ b/var/spack/repos/builtin/packages/gmodel/package.py @@ -22,6 +22,8 @@ class Gmodel(CMakePackage): version("2.1.0", sha256="80df0c6dc413a9ffa0f0e7b65118b05b643ba3e1bfcac28fb91d2d3ad017fda0") + depends_on("cxx", type="build") # generated + # fix error [-Werror,-Wzero-as-null-pointer-constant] # fix error [-Werror,-Wunused-template] # Ref: https://github.com/ibaned/gmodel/commit/6b81ec190cf2ce9a6554a99cb6d759b023393cdd diff --git a/var/spack/repos/builtin/packages/gmp/package.py b/var/spack/repos/builtin/packages/gmp/package.py index 2c4bc6e34fbb6b..dd87a3d2175366 100644 --- a/var/spack/repos/builtin/packages/gmp/package.py +++ b/var/spack/repos/builtin/packages/gmp/package.py @@ -26,6 +26,10 @@ class Gmp(AutotoolsPackage, GNUMirrorPackage): # Old version needed for a binary package in ghc-bootstrap version("4.3.2", sha256="936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/gmsh/package.py b/var/spack/repos/builtin/packages/gmsh/package.py index 453ebf85ff4a6e..636abe009602b4 100644 --- a/var/spack/repos/builtin/packages/gmsh/package.py +++ b/var/spack/repos/builtin/packages/gmsh/package.py @@ -20,12 +20,16 @@ class Gmsh(CMakePackage): url = "https://gmsh.info/src/gmsh-4.4.1-source.tgz" git = "https://gitlab.onelab.info/gmsh/gmsh.git" + maintainers("fspiga") + license("GPL-2.0-or-later") version("master", branch="master") - version("4.13.0", sha256="0208110adb1792d1c59dcbcbea5d5ecb1272dfef63f69ceedb91923c40e1a652") + version("4.13.1", sha256="77972145f431726026d50596a6a44fb3c1c95c21255218d66955806b86edbe8d") + version("4.13.0", sha256="c85f056ee549a433e814a61c385c97952bbfe514b442b999f6149fffb1e54f64") version("4.12.2", sha256="13e09d9ca8102e5c40171d6ee150c668742b98c3a6ca57f837f7b64e1e2af48f") version("4.12.0", sha256="2a6007872ba85abd9901914826f6986a2437ab7104f564ccefa1b7a3de742c17") + version("4.11.1", sha256="c5fe1b7cbd403888a814929f2fd0f5d69e27600222a18c786db5b76e8005b365") version("4.10.3", sha256="a87d59ccea596d493d375b0d6bc380079a5e5a4baebf0d3383018b0cd6bd8e33") version("4.8.4", sha256="760dbdc072eaa3c82d066c5ba3b06eacdd3304eb2a97373fe4ada9509f0b6ace") version("4.7.1", sha256="c984c295116c757ed165d77149bd5fdd1068cbd7835e9bcd077358b503891c6a") @@ -42,6 +46,10 @@ class Gmsh(CMakePackage): version("2.16.0", sha256="e829eaf32ea02350a385202cc749341f2a3217c464719384b18f653edd028eea") version("2.15.0", sha256="992a4b580454105f719f5bc05441d3d392ab0b4b80d4ea07b61ca3bdc974070a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "external", default=False, diff --git a/var/spack/repos/builtin/packages/gmt/package.py b/var/spack/repos/builtin/packages/gmt/package.py index 02e3d1973e383c..6d207642eee753 100644 --- a/var/spack/repos/builtin/packages/gmt/package.py +++ b/var/spack/repos/builtin/packages/gmt/package.py @@ -38,6 +38,9 @@ class Gmt(CMakePackage, AutotoolsPackage): url="ftp://ftp.soest.hawaii.edu/gmt/gmt-4.5.18-src.tar.bz2", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "ghostscript", default=False, diff --git a/var/spack/repos/builtin/packages/gmtsar/package.py b/var/spack/repos/builtin/packages/gmtsar/package.py index 40de8de678a907..45495d1f11064a 100644 --- a/var/spack/repos/builtin/packages/gmtsar/package.py +++ b/var/spack/repos/builtin/packages/gmtsar/package.py @@ -17,4 +17,6 @@ class Gmtsar(CMakePackage): version("5.6", sha256="0f7326f46aedf1e8e4dc80dd03f1ae8681f52a8253dc4a00a943aec14562994b") + depends_on("c", type="build") # generated + depends_on("gmt") diff --git a/var/spack/repos/builtin/packages/gnds/package.py b/var/spack/repos/builtin/packages/gnds/package.py index f413ab30f7eb0e..2ffbc670472ebd 100644 --- a/var/spack/repos/builtin/packages/gnds/package.py +++ b/var/spack/repos/builtin/packages/gnds/package.py @@ -19,6 +19,8 @@ class Gnds(CMakePackage): version("0.0.1", sha256="4c8faaa01a3e6fb08ec3e8e126a76f75b5442509a46b993e325ec79dd9f04879") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries") depends_on("pugixml") diff --git a/var/spack/repos/builtin/packages/gnina/package.py b/var/spack/repos/builtin/packages/gnina/package.py index dcfa07c259e7d2..38d91e32c85718 100644 --- a/var/spack/repos/builtin/packages/gnina/package.py +++ b/var/spack/repos/builtin/packages/gnina/package.py @@ -21,6 +21,8 @@ class Gnina(CMakePackage, CudaPackage): version("1.1", sha256="114570b0f84a545ce0fea5b2da87bc116c134cef64bf90e6e58e8f84e175a0fa") version("1.0.3", sha256="4274429f38293d79c7d22ab08aca91109e327e9ce3f682cd329a8f9c6ef429da") + depends_on("cxx", type="build") # generated + variant("cudnn", default=True, description="Build with cuDNN") variant("gninavis", default=False, description="Build gninavis") diff --git a/var/spack/repos/builtin/packages/gnupg/package.py b/var/spack/repos/builtin/packages/gnupg/package.py index 9b1a4c64db912a..859389b8503219 100644 --- a/var/spack/repos/builtin/packages/gnupg/package.py +++ b/var/spack/repos/builtin/packages/gnupg/package.py @@ -35,16 +35,23 @@ class Gnupg(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("npth@1.2:", when="@2:") depends_on("libgpg-error@1.24:", when="@2:") depends_on("libgpg-error@1.41:", when="@2.3:") + depends_on("libgpg-error@1.46:", when="@2.4:") depends_on("libgcrypt@1.7.0:", when="@2:") depends_on("libgcrypt@1.9.1:", when="@2.3:") - depends_on("libksba@1.3.4:", when="@2.0.0:") + depends_on("libksba@1.3.4:", when="@2:") + depends_on("libksba@1.6.3:", when="@2.4:") + depends_on("libassuan@2.5:", when="@2.2.15:") + depends_on("libassuan@:2", when="@:2.4.3") + depends_on("pinentry", type="run", when="@2:") depends_on("iconv", when="@2:") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/gnuplot/package.py b/var/spack/repos/builtin/packages/gnuplot/package.py index 908f6812569de2..7c29fe1bb37efd 100644 --- a/var/spack/repos/builtin/packages/gnuplot/package.py +++ b/var/spack/repos/builtin/packages/gnuplot/package.py @@ -44,6 +44,9 @@ class Gnuplot(AutotoolsPackage): version("5.0.5", sha256="25f3e0bf192e01115c580f278c3725d7a569eb848786e12b455a3fda70312053") version("5.0.1", sha256="7cbc557e71df581ea520123fb439dea5f073adcc9010a2885dc80d4ed28b3c47") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("wx", default=False, description="Activates wxWidgets terminal") variant("gd", default=True, description="Activates gd based terminal") variant("cairo", default=True, description="Activates cairo based terminal") diff --git a/var/spack/repos/builtin/packages/gnuradio/package.py b/var/spack/repos/builtin/packages/gnuradio/package.py index cb4f86c7a8e264..515d765389d07f 100644 --- a/var/spack/repos/builtin/packages/gnuradio/package.py +++ b/var/spack/repos/builtin/packages/gnuradio/package.py @@ -26,6 +26,10 @@ class Gnuradio(CMakePackage): version("3.8.2.0", sha256="ddda12b55e3e1d925eefb24afb9d604bca7c9bbe0a431707aa48a2eed53eec2f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("gui", default=False, description="Build with gui support") depends_on("cmake@3.5.1:", type="build") @@ -42,6 +46,8 @@ class Gnuradio(CMakePackage): # See https://github.com/spack/spack/pull/22303 for reference depends_on(Boost.with_default_variants) depends_on("py-numpy", type=("build", "run")) + # https://github.com/gnuradio/gnuradio/issues/7378 + depends_on("py-numpy@:1", when="@:3.10.10.0", type=("build", "run")) depends_on("py-click", type=("build", "run")) depends_on("py-pyyaml", type=("build", "run")) depends_on("py-click-plugins", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/gnutls/package.py b/var/spack/repos/builtin/packages/gnutls/package.py index 562866a2630a1a..71db94256c71d2 100644 --- a/var/spack/repos/builtin/packages/gnutls/package.py +++ b/var/spack/repos/builtin/packages/gnutls/package.py @@ -33,6 +33,9 @@ class Gnutls(AutotoolsPackage): version("3.5.9", sha256="82b10f0c4ef18f4e64ad8cef5dbaf14be732f5095a41cf366b4ecb4050382951") version("3.3.9", sha256="39166de5293a9d30ef1cd0a4d97f01fdeed7d7dbf8db95392e309256edcb13c1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("zlib", default=True, description="Enable zlib compression support") variant("guile", default=False, description="Enable Guile bindings") diff --git a/var/spack/repos/builtin/packages/go-bootstrap/package.py b/var/spack/repos/builtin/packages/go-bootstrap/package.py index 27784763adb36c..108c8542524669 100644 --- a/var/spack/repos/builtin/packages/go-bootstrap/package.py +++ b/var/spack/repos/builtin/packages/go-bootstrap/package.py @@ -25,8 +25,6 @@ class GoBootstrap(Package): maintainers("alecbcs") - depends_on("git", type=("build", "link", "run")) - executables = ["^go$"] # List binary go releases for multiple operating systems and architectures. diff --git a/var/spack/repos/builtin/packages/go/package.py b/var/spack/repos/builtin/packages/go/package.py index 08baa20a7330c2..25d53308c3a375 100644 --- a/var/spack/repos/builtin/packages/go/package.py +++ b/var/spack/repos/builtin/packages/go/package.py @@ -41,66 +41,18 @@ class Go(Package): license("BSD-3-Clause") + version("1.22.4", sha256="fed720678e728a7ca30ba8d1ded1caafe27d16028fab0232b8ba8e22008fb784") version("1.22.2", sha256="374ea82b289ec738e968267cac59c7d5ff180f9492250254784b2044e90df5a9") version("1.22.1", sha256="79c9b91d7f109515a25fc3ecdaad125d67e6bdb54f6d4d98580f46799caea321") version("1.22.0", sha256="4d196c3d41a0d6c1dfc64d04e3cc1f608b0c436bd87b7060ce3e23234e1f4d5c") version("1.21.6", sha256="124926a62e45f78daabbaedb9c011d97633186a33c238ffc1e25320c02046248") version("1.21.5", sha256="285cbbdf4b6e6e62ed58f370f3f6d8c30825d6e56c5853c66d3c23bcdb09db19") - # Deprecated Versions - # https://nvd.nist.gov/vuln/detail/CVE-2023-44487 - version( - "1.21.3", - sha256="186f2b6f8c8b704e696821b09ab2041a5c1ee13dcbc3156a13adcf75931ee488", - deprecated=True, - ) - # https://nvd.nist.gov/vuln/detail/CVE-2023-39533 - version( - "1.20.6", - sha256="62ee5bc6fb55b8bae8f705e0cb8df86d6453626b4ecf93279e2867092e0b7f70", - deprecated=True, - ) - # https://nvd.nist.gov/vuln/detail/CVE-2023-29405 - version( - "1.20.4", - sha256="9f34ace128764b7a3a4b238b805856cc1b2184304df9e5690825b0710f4202d6", - deprecated=True, - ) - version( - "1.20.3", - sha256="e447b498cde50215c4f7619e5124b0fc4e25fb5d16ea47271c47f278e7aa763a", - deprecated=True, - ) - version( - "1.19.11", - sha256="e25c9ab72d811142b7f41ff6da5165fec2d1be5feec3ef2c66bc0bdecb431489", - deprecated=True, - ) - version( - "1.19.9", - sha256="131190a4697a70c5b1d232df5d3f55a3f9ec0e78e40516196ffb3f09ae6a5744", - deprecated=True, - ) - version( - "1.19.8", - sha256="1d7a67929dccafeaf8a29e55985bc2b789e0499cb1a17100039f084e3238da2f", - deprecated=True, - ) - # https://nvd.nist.gov/vuln/detail/CVE-2023-24538 - version( - "1.20.2", - sha256="4d0e2850d197b4ddad3bdb0196300179d095bb3aefd4dfbc3b36702c3728f8ab", - deprecated=True, - ) - version( - "1.19.7", - sha256="775bdf285ceaba940da8a2fe20122500efd7a0b65dbcee85247854a8d7402633", - deprecated=True, - ) - provides("golang") - depends_on("git", type="run") + depends_on("bash", type="build") + depends_on("sed", type="build") + depends_on("grep", type="build") depends_on("go-or-gccgo-bootstrap", type="build") depends_on("go-or-gccgo-bootstrap@1.17.13:", type="build", when="@1.20:") depends_on("go-or-gccgo-bootstrap@1.20.6:", type="build", when="@1.22:") @@ -117,7 +69,7 @@ def determine_version(cls, exe): return match.group(1) if match else None def setup_build_environment(self, env): - env.set("GOROOT_FINAL", self.spec.prefix) + env.set("GOROOT_FINAL", self.spec.prefix.go) # We need to set CC/CXX_FOR_TARGET, otherwise cgo will use the # internal Spack wrappers and fail. env.set("CC_FOR_TARGET", self.compiler.cc) @@ -125,13 +77,15 @@ def setup_build_environment(self, env): env.set("GOMAXPROCS", make_jobs) def build(self, spec, prefix): + # Build script depend on bash bash = which("bash") with working_dir("src"): bash(f"{'all' if self.run_tests else 'make'}.bash") def install(self, spec, prefix): - install_tree(".", prefix) + install_tree(".", prefix.go) + os.symlink(prefix.go.bin, prefix.bin) def setup_dependent_package(self, module, dependent_spec): """Called before go modules' build(), install() methods. diff --git a/var/spack/repos/builtin/packages/gobject-introspection/package.py b/var/spack/repos/builtin/packages/gobject-introspection/package.py index 39891100b085e6..b7e16bae2ee65b 100644 --- a/var/spack/repos/builtin/packages/gobject-introspection/package.py +++ b/var/spack/repos/builtin/packages/gobject-introspection/package.py @@ -24,10 +24,13 @@ class GobjectIntrospection(MesonPackage, AutotoolsPackage): version("1.76.1", sha256="196178bf64345501dcdc4d8469b36aa6fe80489354efe71cb7cb8ab82a3738bf") version("1.72.1", sha256="012e313186e3186cf0fde6decb57d970adf90e6b1fac5612fe69cbb5ba99543a") version("1.72.0", sha256="02fe8e590861d88f83060dd39cda5ccaa60b2da1d21d0f95499301b186beaabc") + version("1.60.2", sha256="ffdfe2368fb2e34a547898b01aac0520d52d8627fdeb1c306559bcb503ab5e9c") version("1.56.1", sha256="5b2875ccff99ff7baab63a34b67f8c920def240e178ff50add809e267d9ea24b") version("1.49.2", sha256="73d59470ba1a546b293f54d023fd09cca03a951005745d86d586b9e3a8dde9ac") version("1.48.0", sha256="fa275aaccdbfc91ec0bc9a6fd0562051acdba731e7d584b64a277fec60e75877") + depends_on("c", type="build") # generated + build_system( conditional("autotools", when="@:1.60"), conditional("meson", when="@1.61:"), @@ -44,7 +47,7 @@ class GobjectIntrospection(MesonPackage, AutotoolsPackage): depends_on("cairo+gobject") depends_on("glib@2.78:", when="@1.78") depends_on("glib@2.76:", when="@1.76") - depends_on("glib@2.58:", when="@1.72") + depends_on("glib@2.58:", when="@1.60:1.72") depends_on("glib@2.56:", when="@1.56") depends_on("glib@2.49.2:", when="@1.49.2") depends_on("glib@2.48.1", when="@1.48.0") @@ -74,7 +77,10 @@ class GobjectIntrospection(MesonPackage, AutotoolsPackage): # extra sed expression in its TOOL_SUBSTITUTION that results in # an `#!/bin/bash /path/to/spack/bin/sbang` unconditionally being # inserted into the scripts as they're generated. - patch("sbang.patch", when="@:1.60") + patch("sbang.patch", when="@:1.56") + # The TOOL_SUBSITUTION line changed after 1.58 to include /usr/bin/env in + # the Python substituion more explicitly. The Makefile.am was removed in 1.61. + patch("sbang-1.60.2.patch", when="@1.58:1.60") # Drop deprecated xml.etree.ElementTree.Element.getchildren() which leads # to compilation issues with Python 3.9. @@ -86,6 +92,12 @@ class GobjectIntrospection(MesonPackage, AutotoolsPackage): when="@:1.63.1", ) + conflicts( + "^python@3.11:", + when="@:1.60", + msg="giscannermodule.c in <=v1.60 uses syntax incompatible with Python >=3.11", + ) + def url_for_version(self, version): url = "https://download.gnome.org/sources/gobject-introspection/{0}/gobject-introspection-{1}.tar.xz" return url.format(version.up_to(2), version) diff --git a/var/spack/repos/builtin/packages/gobject-introspection/sbang-1.60.2.patch b/var/spack/repos/builtin/packages/gobject-introspection/sbang-1.60.2.patch new file mode 100644 index 00000000000000..c4d4985d644ab1 --- /dev/null +++ b/var/spack/repos/builtin/packages/gobject-introspection/sbang-1.60.2.patch @@ -0,0 +1,11 @@ +--- a/Makefile.in 2016-09-13 01:23:59.000000000 -0700 ++++ b/Makefile.in 2017-02-22 10:26:31.824509512 -0800 +@@ -1475,7 +1475,7 @@ + gir_DATA = $(STATIC_GIRSOURCES) $(SUBSTITUTED_GIRSOURCES) $(BUILT_GIRSOURCES) + typelibsdir = $(libdir)/girepository-1.0 + typelibs_DATA = $(gir_DATA:.gir=.typelib) +-TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON), -e s,@GIR_DIR\@,$(GIR_DIR),g ++TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON), -e s,@GIR_DIR\@,$(GIR_DIR),g -e "1i\#!/bin/bash $(SPACK_SBANG)" + g_ir_compiler_SOURCES = tools/compiler.c + g_ir_compiler_CPPFLAGS = -DGIREPO_DEFAULT_SEARCH_PATH="\"$(libdir)\"" \ + -I$(top_srcdir)/girepository diff --git a/var/spack/repos/builtin/packages/gocryptfs/package.py b/var/spack/repos/builtin/packages/gocryptfs/package.py new file mode 100644 index 00000000000000..c9b1dc6f22eab6 --- /dev/null +++ b/var/spack/repos/builtin/packages/gocryptfs/package.py @@ -0,0 +1,26 @@ +# 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 Gocryptfs(GoPackage): + """Encrypted overlay filesystem written in Go""" + + homepage = "https://nuetzlich.net/gocryptfs/" + url = ( + "https://github.com/rfjakob/gocryptfs/releases/download/v2.4.0/gocryptfs_v2.4.0_src.tar.gz" + ) + + maintainers("snehring") + + license("MIT", checked_by="snehring") + + version("2.4.0", sha256="26a93456588506f4078f192b70e7816b6a4042a14b748b28a50d2b6c9b10e2ec") + + depends_on("c", type="build") # generated + + depends_on("openssl") + depends_on("pkg-config", type="build") diff --git a/var/spack/repos/builtin/packages/goma/package.py b/var/spack/repos/builtin/packages/goma/package.py index 7d83b65023347e..2bcb29e9141c59 100644 --- a/var/spack/repos/builtin/packages/goma/package.py +++ b/var/spack/repos/builtin/packages/goma/package.py @@ -29,6 +29,10 @@ class Goma(CMakePackage): version("release", branch="release") version("main", branch="main") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Problem size variants variant( "max_conc", diff --git a/var/spack/repos/builtin/packages/google-cloud-cli/package.py b/var/spack/repos/builtin/packages/google-cloud-cli/package.py index a40a09e66c6094..18b66dc957c98a 100644 --- a/var/spack/repos/builtin/packages/google-cloud-cli/package.py +++ b/var/spack/repos/builtin/packages/google-cloud-cli/package.py @@ -49,6 +49,8 @@ class GoogleCloudCli(Package): if system in versions[ver] and machine in versions[ver][system]: version(ver, sha256=versions[ver][system][machine]) + depends_on("c", type="build") # generated + depends_on("python", type=("build", "run")) def url_for_version(self, version): @@ -58,7 +60,7 @@ def setup_build_environment(self, env): # https://cloud.google.com/sdk/gcloud/reference/topic/startup env.set("CLOUDSDK_PYTHON", self.spec["python"].command.path) # ~70 dependencies with no hints as to what versions are supported, just use bundled deps - env.set("CLOUDSDK_PYTHON_SITEPACKAGES", 0) + env.set("CLOUDSDK_PYTHON_SITEPACKAGES", "0") def setup_run_environment(self, env): self.setup_build_environment(env) diff --git a/var/spack/repos/builtin/packages/google-crc32c/package.py b/var/spack/repos/builtin/packages/google-crc32c/package.py index 0cfd5075bfb5a9..5f73a46e80c0f2 100644 --- a/var/spack/repos/builtin/packages/google-crc32c/package.py +++ b/var/spack/repos/builtin/packages/google-crc32c/package.py @@ -18,6 +18,9 @@ class GoogleCrc32c(CMakePackage): version("1.1.2", sha256="ac07840513072b7fcebda6e821068aa04889018f24e10e46181068fb214d7e56") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type="build") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/googletest/package.py b/var/spack/repos/builtin/packages/googletest/package.py index 71e148ac9e53ec..c57b394da4b496 100644 --- a/var/spack/repos/builtin/packages/googletest/package.py +++ b/var/spack/repos/builtin/packages/googletest/package.py @@ -27,6 +27,8 @@ class Googletest(CMakePackage): version("1.7.0", sha256="f73a6546fdf9fce9ff93a5015e0333a8af3062a152a9ad6bcb772c96687016cc") version("1.6.0", sha256="5fbc058e5b662b9c86d93ac76fefb58eec89cbf26144b49669a38ecb62758447") + depends_on("cxx", type="build") # generated + variant("gmock", default=True, when="@1.8:", description="Build with gmock") variant("pthreads", default=True, description="Build multithreaded version with pthreads") variant("shared", default=True, description="Build shared libraries (DLLs)") @@ -49,7 +51,7 @@ def cmake_args(self): self.define_from_variant("BUILD_SHARED_LIBS", "shared"), self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"), ] - args.append(self.define("gtest_disable_pthreads", not spec.satisfies("pthreads"))) + args.append(self.define("gtest_disable_pthreads", not spec.satisfies("+pthreads"))) if spec.satisfies("@1.8:"): # New style (contains both Google Mock and Google Test) args.append(self.define("BUILD_GTEST", True)) diff --git a/var/spack/repos/builtin/packages/gosam-contrib/package.py b/var/spack/repos/builtin/packages/gosam-contrib/package.py index 0c1fbcb5f32dfd..fe6accd3816318 100644 --- a/var/spack/repos/builtin/packages/gosam-contrib/package.py +++ b/var/spack/repos/builtin/packages/gosam-contrib/package.py @@ -17,6 +17,9 @@ class GosamContrib(AutotoolsPackage): version("2.0", sha256="c05beceea74324eb51c1049773095e2cb0c09c8c909093ee913d8b0da659048d") version("1.0", sha256="a29d4232d9190710246abc2ed97fdcd8790ce83580f56a360f3456b0377c40ec") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # whizard checks for .la files ( but does not use them ) install_libtool_archives = True diff --git a/var/spack/repos/builtin/packages/gotcha/package.py b/var/spack/repos/builtin/packages/gotcha/package.py index c148cf55ab8276..a8a75078835c47 100644 --- a/var/spack/repos/builtin/packages/gotcha/package.py +++ b/var/spack/repos/builtin/packages/gotcha/package.py @@ -17,6 +17,7 @@ class Gotcha(CMakePackage): version("develop", branch="develop") version("master", branch="master") + version("1.0.7", tag="1.0.7", commit="ae053b77e6b2800188e2c4ddd17057c9b15f4adb") version("1.0.6", tag="1.0.6", commit="81401b939c23562728a27d7678505090463e5c03") version("1.0.5", tag="1.0.5", commit="e28f10c45a0cda0e1ec225eaea6abfe72c8353aa") version("1.0.4", tag="1.0.4", commit="46f2aaedc885f140a3f31a17b9b9a9d171f3d6f0") @@ -24,6 +25,9 @@ class Gotcha(CMakePackage): version("1.0.2", tag="1.0.2", commit="bed1b7c716ebb0604b3e063121649b5611640f25") version("0.0.2", tag="0.0.2", commit="c82f74778f7cae958a1bf21926d34fc910613d19") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("test", default=False, description="Build tests for Gotcha") patch( "https://github.com/LLNL/GOTCHA/commit/e82b4a1ecb634075d8f5334b796c888c86da0427.patch?full_index=1", diff --git a/var/spack/repos/builtin/packages/gource/package.py b/var/spack/repos/builtin/packages/gource/package.py index e410159ff99d76..c957010155fc94 100644 --- a/var/spack/repos/builtin/packages/gource/package.py +++ b/var/spack/repos/builtin/packages/gource/package.py @@ -17,6 +17,8 @@ class Gource(AutotoolsPackage): version("0.44", sha256="2604ca4442305ffdc5bb1a7bac07e223d59c846f93567be067e8dfe2f42f097c") + depends_on("cxx", type="build") # generated + depends_on("automake", type="build") depends_on("autoconf", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/gpcnet/package.py b/var/spack/repos/builtin/packages/gpcnet/package.py index 37c6eac63c224d..dbc49b8fcb0757 100644 --- a/var/spack/repos/builtin/packages/gpcnet/package.py +++ b/var/spack/repos/builtin/packages/gpcnet/package.py @@ -17,6 +17,8 @@ class Gpcnet(MakefilePackage): version("master") + depends_on("c", type="build") # generated + depends_on("mpi", type=("build", "run")) @property diff --git a/var/spack/repos/builtin/packages/gperf/package.py b/var/spack/repos/builtin/packages/gperf/package.py index dbb1b2c3256aae..d69af609cce5b1 100644 --- a/var/spack/repos/builtin/packages/gperf/package.py +++ b/var/spack/repos/builtin/packages/gperf/package.py @@ -22,6 +22,9 @@ class Gperf(AutotoolsPackage, GNUMirrorPackage): version("3.1", sha256="588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2") version("3.0.4", sha256="767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # This patch removes all instances of the register keyword within gperf # which is necessary to build gperf with recent compilers that default to # c++17 where using the register keyword results in a compile-time error. diff --git a/var/spack/repos/builtin/packages/gperftools/package.py b/var/spack/repos/builtin/packages/gperftools/package.py index 0a491556896947..36f00de88b86cc 100644 --- a/var/spack/repos/builtin/packages/gperftools/package.py +++ b/var/spack/repos/builtin/packages/gperftools/package.py @@ -34,6 +34,9 @@ class Gperftools(AutotoolsPackage, CMakePackage): version("2.4", sha256="982a37226eb42f40714e26b8076815d5ea677a422fb52ff8bfca3704d9c30a2d") version("2.3", sha256="093452ad45d639093c144b4ec732a3417e8ee1f3744f2b0f8d45c996223385ce") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("sized_delete", default=False, description="Build sized delete operator") variant( "dynamic_sized_delete_support", diff --git a/var/spack/repos/builtin/packages/gpgme/package.py b/var/spack/repos/builtin/packages/gpgme/package.py index 6707d1fc3e1b24..b6e8dde011b411 100644 --- a/var/spack/repos/builtin/packages/gpgme/package.py +++ b/var/spack/repos/builtin/packages/gpgme/package.py @@ -21,6 +21,9 @@ class Gpgme(AutotoolsPackage): version("1.16.0", sha256="6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0") version("1.12.0", sha256="b4dc951c3743a60e2e120a77892e9e864fb936b2e58e7c77e8581f4d050e8cd8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # https://dev.gnupg.org/T5509 - New test t-edit-sign test crashes with GCC 11.1.0 patch( "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commitdiff_plain;h=81a33ea5e1b86d586b956e893a5b25c4cd41c969;hp=e8e055e682f8994d62012574e1c8d862ca72a35d", diff --git a/var/spack/repos/builtin/packages/gpi-2/package.py b/var/spack/repos/builtin/packages/gpi-2/package.py index 16167b43d01e54..b4bb3fbe0389dd 100644 --- a/var/spack/repos/builtin/packages/gpi-2/package.py +++ b/var/spack/repos/builtin/packages/gpi-2/package.py @@ -37,6 +37,10 @@ class Gpi2(AutotoolsPackage): version("1.0.2", sha256="b03b4ac9f0715279b2a5e064fd85047cb640a85c2361d732930307f8bbf2aeb8") version("1.0.1", sha256="b1341bb39e7e70334d7acf831fe7f2061376e7516b44d18b31797748c2a169a3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=False, description="Enable Fortran modules") variant("mpi", default=False, description="Enable MPI support") variant( diff --git a/var/spack/repos/builtin/packages/gpi-space/package.py b/var/spack/repos/builtin/packages/gpi-space/package.py index 166e20c458c6bd..02e24a5052e1a0 100644 --- a/var/spack/repos/builtin/packages/gpi-space/package.py +++ b/var/spack/repos/builtin/packages/gpi-space/package.py @@ -35,6 +35,9 @@ class GpiSpace(CMakePackage): version("21.12", sha256="51794e2b593b8d1dc7d6310e17744842919bf44205b2cb7a79de2f2bbac3352a") version("21.09", sha256="7f3861c2bfec15a4da46378ea38b304e1462ed315cd315b81ab2c2a8ba50dd3e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "monitor", default=True, diff --git a/var/spack/repos/builtin/packages/gprolog/package.py b/var/spack/repos/builtin/packages/gprolog/package.py index 099e9b1af839ba..f8f9e5ec326d11 100644 --- a/var/spack/repos/builtin/packages/gprolog/package.py +++ b/var/spack/repos/builtin/packages/gprolog/package.py @@ -17,6 +17,8 @@ class Gprolog(Package): version("1.5.0", sha256="670642b43c0faa27ebd68961efb17ebe707688f91b6809566ddd606139512c01") version("1.4.5", sha256="bfdcf00e051e0628b4f9af9d6638d4fde6ad793401e58a5619d1cc6105618c7c") + depends_on("c", type="build") # generated + parallel = False def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/gptl/package.py b/var/spack/repos/builtin/packages/gptl/package.py index 76e89e1e643a1e..6fc1f2a6d24344 100644 --- a/var/spack/repos/builtin/packages/gptl/package.py +++ b/var/spack/repos/builtin/packages/gptl/package.py @@ -22,6 +22,9 @@ class Gptl(AutotoolsPackage): version("8.0.3", sha256="334979c6fe78d4ed1b491ec57fb61df7a910c58fd39a3658d03ad89f077a4db6") version("8.0.2", sha256="011f153084ebfb52b6bf8f190835d4bae6f6b5c0ad320331356aa47a547bf2b4") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("pmpi", default=False, description="Build with PMPI support to auto-profile MPI calls") variant("papi", default=False, description="Enable built-in support for papi library") variant("nestedomp", default=False, description="Build with nested OMP capability") diff --git a/var/spack/repos/builtin/packages/gptune/package.py b/var/spack/repos/builtin/packages/gptune/package.py index f7647367b21823..672cd3ab814bf9 100644 --- a/var/spack/repos/builtin/packages/gptune/package.py +++ b/var/spack/repos/builtin/packages/gptune/package.py @@ -24,6 +24,10 @@ class Gptune(CMakePackage): version("3.0.0", sha256="e19bfc3033fff11ff8c20cae65b88b7ca005d2c4e4db047f9f23226126ec92fa") version("2.1.0", sha256="737e0a1d83f66531098beafa73dd479f12def576be83b1c7b8ea5f1615d60a53") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("superlu", default=False, description="Build the SuperLU_DIST example") variant("hypre", default=False, description="Build the Hypre example") variant("mpispawn", default=True, description="MPI spawning-based interface") diff --git a/var/spack/repos/builtin/packages/gpu-burn/package.py b/var/spack/repos/builtin/packages/gpu-burn/package.py index b673b851a80a30..c53ff6707ef0e9 100644 --- a/var/spack/repos/builtin/packages/gpu-burn/package.py +++ b/var/spack/repos/builtin/packages/gpu-burn/package.py @@ -18,6 +18,8 @@ class GpuBurn(MakefilePackage, CudaPackage): version("1.1", sha256="9876dbf7ab17b3072e9bc657034ab39bdedb219478f57c4e93314c78ae2d6376") version("1.0", sha256="d55994f0bee8dabf021966dbe574ef52be1e43386faeee91318dd4ebb36aa74a") + depends_on("cxx", type="build") # generated + # This package uses CudaPackage to pick up the cuda_arch variant. A side # effect is that it also picks up the cuda variant, but cuda is required # for gpu-burn so is not really a variant. diff --git a/var/spack/repos/builtin/packages/gpuscout/package.py b/var/spack/repos/builtin/packages/gpuscout/package.py index 72fd4e6e8976f0..a4478cb9892e75 100644 --- a/var/spack/repos/builtin/packages/gpuscout/package.py +++ b/var/spack/repos/builtin/packages/gpuscout/package.py @@ -24,5 +24,7 @@ class Gpuscout(CMakePackage, CudaPackage): ) version("master", branch="master") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.27:", type="build") depends_on("cuda@12:") diff --git a/var/spack/repos/builtin/packages/gqrx/package.py b/var/spack/repos/builtin/packages/gqrx/package.py index cd47d34469a972..224f45f1ed99c7 100644 --- a/var/spack/repos/builtin/packages/gqrx/package.py +++ b/var/spack/repos/builtin/packages/gqrx/package.py @@ -26,6 +26,9 @@ class Gqrx(CMakePackage): license("GPL-3.0-or-later") version("2.13.1", sha256="08b7b930bed00c6ac79330695c24919a9d779112e1a3dd37d22cc9ee38561e82") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("cmake@3.2.0:", type="build") depends_on("gnuradio") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/gr-osmosdr/package.py b/var/spack/repos/builtin/packages/gr-osmosdr/package.py index 93b5389646743b..96618a67855595 100644 --- a/var/spack/repos/builtin/packages/gr-osmosdr/package.py +++ b/var/spack/repos/builtin/packages/gr-osmosdr/package.py @@ -37,6 +37,8 @@ class GrOsmosdr(CMakePackage): version("0.2.2", sha256="5a7ce7afee38a56191b5d16cb4a91c92476729ff16ed09cbba5a3851ac619713") + depends_on("cxx", type="build") # generated + depends_on("gnuradio") depends_on("swig", type="build") depends_on("hackrf-host", when="+hackrf") diff --git a/var/spack/repos/builtin/packages/grabix/package.py b/var/spack/repos/builtin/packages/grabix/package.py index 31f6d661eb293b..9d8b996d2aa849 100644 --- a/var/spack/repos/builtin/packages/grabix/package.py +++ b/var/spack/repos/builtin/packages/grabix/package.py @@ -23,6 +23,9 @@ class Grabix(MakefilePackage): version("0.1.7", sha256="d90735c55c0985a4d751858d7ce9e36ad534fff4103257e8e981e34d5c915b28") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + conflicts("%gcc@7:", msg="grabix cannot be compiled with newer versions of GCC") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/grace/package.py b/var/spack/repos/builtin/packages/grace/package.py index 5d36086c23874d..3da2aa95c9d100 100644 --- a/var/spack/repos/builtin/packages/grace/package.py +++ b/var/spack/repos/builtin/packages/grace/package.py @@ -20,6 +20,9 @@ class Grace(AutotoolsPackage): version("5.1.25", sha256="751ab9917ed0f6232073c193aba74046037e185d73b77bab0f5af3e3ff1da2ac") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("libx11") depends_on("libxext") depends_on("libxmu") diff --git a/var/spack/repos/builtin/packages/grads/package.py b/var/spack/repos/builtin/packages/grads/package.py index e384e1a88a761b..a864ca1005dbf1 100644 --- a/var/spack/repos/builtin/packages/grads/package.py +++ b/var/spack/repos/builtin/packages/grads/package.py @@ -24,6 +24,8 @@ class Grads(AutotoolsPackage): version("2.2.2", sha256="1b5a600d4d407ffcf2fbbbba42037a6e1ebfdb8246ba56b93c628e3c472b4ded") version("2.2.1", sha256="695e2066d7d131720d598bac0beb61ac3ae5578240a5437401dc0ffbbe516206") + depends_on("c", type="build") # generated + variant("geotiff", default=True, description="Enable GeoTIFF support") variant("shapefile", default=True, description="Enable Shapefile support") variant("grib2", default=True, description="Enable GRIB2 support") diff --git a/var/spack/repos/builtin/packages/grafana/package.py b/var/spack/repos/builtin/packages/grafana/package.py index 37f3b730640439..49f1ee7784d2c8 100644 --- a/var/spack/repos/builtin/packages/grafana/package.py +++ b/var/spack/repos/builtin/packages/grafana/package.py @@ -21,6 +21,8 @@ class Grafana(Package): version("6.7.0", sha256="7f4e3f0d42b8188a334e97062c3bf63ff43af273095ba10147b299e3c1c5a7b7") version("6.6.2", sha256="e11e5971d08e45e277b55e060c0ce3cf25ca0ba144367c53b4836f2d133ed9b8") + depends_on("c", type="build") # generated + depends_on("go", type="build") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/grandr/package.py b/var/spack/repos/builtin/packages/grandr/package.py index 46cd8962fa1d03..af22fdce798fe5 100644 --- a/var/spack/repos/builtin/packages/grandr/package.py +++ b/var/spack/repos/builtin/packages/grandr/package.py @@ -14,6 +14,8 @@ class Grandr(AutotoolsPackage, XorgPackage): version("0.1", sha256="67a049c8dccdb48897efbd86c2b1d3b0ff5ce3c7859c46b0297d64c881b36d24") + depends_on("c", type="build") # generated + depends_on("gtkplus@2.0.0:") depends_on("gconf") depends_on("xrandr@1.2:") diff --git a/var/spack/repos/builtin/packages/graph500/package.py b/var/spack/repos/builtin/packages/graph500/package.py index e1a6131e885d24..c50344ff645edf 100644 --- a/var/spack/repos/builtin/packages/graph500/package.py +++ b/var/spack/repos/builtin/packages/graph500/package.py @@ -16,6 +16,8 @@ class Graph500(MakefilePackage): version("3.0.0", sha256="887dcff56999987fba4953c1c5696d50e52265fe61b6ffa8bb14cc69ff27e8a0") + depends_on("c", type="build") # generated + depends_on("mpi@2.0:") build_directory = "src" diff --git a/var/spack/repos/builtin/packages/graphblast/package.py b/var/spack/repos/builtin/packages/graphblast/package.py index e67fd0b906a26d..1144bc3b1d406e 100644 --- a/var/spack/repos/builtin/packages/graphblast/package.py +++ b/var/spack/repos/builtin/packages/graphblast/package.py @@ -23,6 +23,8 @@ class Graphblast(MakefilePackage, CudaPackage): preferred=True, ) + depends_on("cxx", type="build") # generated + variant("cuda", default=True, description="Build with Cuda support") depends_on("boost +program_options") diff --git a/var/spack/repos/builtin/packages/graphicsmagick/package.py b/var/spack/repos/builtin/packages/graphicsmagick/package.py index ae8609d1ea3dfd..60a5e2123db093 100644 --- a/var/spack/repos/builtin/packages/graphicsmagick/package.py +++ b/var/spack/repos/builtin/packages/graphicsmagick/package.py @@ -28,6 +28,9 @@ class Graphicsmagick(AutotoolsPackage): version("1.3.30", sha256="d965e5c6559f55eec76c20231c095d4ae682ea0cbdd8453249ae8771405659f1") version("1.3.29", sha256="e18df46a6934c8c12bfe274d09f28b822f291877f9c81bd9a506f879a7610cd4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("bzip2") depends_on("ghostscript") depends_on("ghostscript-fonts") diff --git a/var/spack/repos/builtin/packages/graphite2/package.py b/var/spack/repos/builtin/packages/graphite2/package.py index 10af88d825de9a..a1b69f5f49e498 100644 --- a/var/spack/repos/builtin/packages/graphite2/package.py +++ b/var/spack/repos/builtin/packages/graphite2/package.py @@ -22,6 +22,9 @@ class Graphite2(CMakePackage): version("1.3.14", sha256="f99d1c13aa5fa296898a181dff9b82fb25f6cc0933dbaa7a475d8109bd54209d") version("1.3.13", sha256="dd63e169b0d3cf954b397c122551ab9343e0696fb2045e1b326db0202d875f06") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@3.6:", type="test") depends_on("freetype") diff --git a/var/spack/repos/builtin/packages/graphlib/package.py b/var/spack/repos/builtin/packages/graphlib/package.py index 3f8026b0488ab3..4aef29a5249068 100644 --- a/var/spack/repos/builtin/packages/graphlib/package.py +++ b/var/spack/repos/builtin/packages/graphlib/package.py @@ -16,4 +16,6 @@ class Graphlib(CMakePackage): version("2.0.0", sha256="4f4aa1193167c41c8491dec3cf22b1e52a8f0842faab88b7945972f02d2adbcd") version("3.0.0", sha256="c3d889f7bc25b9662426605e52f14cd16f9c05b034738a343890707f5f5681f1") + depends_on("c", type="build") # generated + depends_on("cmake@2.6:", type="build") diff --git a/var/spack/repos/builtin/packages/graphmap/package.py b/var/spack/repos/builtin/packages/graphmap/package.py index 0d9ad07e81fc6a..1e572833c88406 100644 --- a/var/spack/repos/builtin/packages/graphmap/package.py +++ b/var/spack/repos/builtin/packages/graphmap/package.py @@ -16,6 +16,8 @@ class Graphmap(MakefilePackage): version("0.3.0", commit="eb8c75d68b03be95464318afa69b645a59f8f6b7") + depends_on("cxx", type="build") # generated + depends_on("zlib-api", type="link") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/graphviz/package.py b/var/spack/repos/builtin/packages/graphviz/package.py index 110746d9110359..7dc85e89815ec2 100644 --- a/var/spack/repos/builtin/packages/graphviz/package.py +++ b/var/spack/repos/builtin/packages/graphviz/package.py @@ -36,6 +36,9 @@ class Graphviz(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Language bindings language_bindings = ["java"] diff --git a/var/spack/repos/builtin/packages/grass/package.py b/var/spack/repos/builtin/packages/grass/package.py index 01adc4587bcddd..aa1414ea190263 100644 --- a/var/spack/repos/builtin/packages/grass/package.py +++ b/var/spack/repos/builtin/packages/grass/package.py @@ -28,6 +28,9 @@ class Grass(AutotoolsPackage): version("7.8.1", sha256="6ae578fd67afcce7abec4ba4505dcc55b3d2dfe0ca46b99d966cb148c654abb3") version("7.8.0", sha256="4b1192294e959ffd962282344e4ff325c4472f73abe605e246a1da3beda7ccfa") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cxx", default=True, description="Support C++ functionality") variant("tiff", default=False, description="Support TIFF functionality") variant("png", default=False, description="Support PNG functionality") diff --git a/var/spack/repos/builtin/packages/grep/package.py b/var/spack/repos/builtin/packages/grep/package.py index 5a08cad458257c..caeeb0bec89d29 100644 --- a/var/spack/repos/builtin/packages/grep/package.py +++ b/var/spack/repos/builtin/packages/grep/package.py @@ -20,6 +20,8 @@ class Grep(AutotoolsPackage): version("3.7", sha256="5c10da312460aec721984d5d83246d24520ec438dd48d7ab5a05dbc0d6d6823c") version("3.3", sha256="b960541c499619efd6afe1fa795402e4733c8e11ebf9fafccc0bb4bccdc5b514") + depends_on("c", type="build") # generated + variant("pcre", default=False, description="Enable Perl Compatible Regular Expression support") build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/grib-util/package.py b/var/spack/repos/builtin/packages/grib-util/package.py index 76e819348fc1dd..17b6cd32cb7bfc 100644 --- a/var/spack/repos/builtin/packages/grib-util/package.py +++ b/var/spack/repos/builtin/packages/grib-util/package.py @@ -23,6 +23,9 @@ class GribUtil(CMakePackage): version("1.2.4", sha256="f021d6df3186890b0b1781616dabf953581d71db63e7c2913360336985ccaec7") version("1.2.3", sha256="b17b08e12360bb8ad01298e615f1b4198e304b0443b6db35fe990a817e648ad5") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=False, description="Use OpenMP multithreading") variant("tests", default=False, description="Enable this variant when installing with --test") diff --git a/var/spack/repos/builtin/packages/grid/package.py b/var/spack/repos/builtin/packages/grid/package.py index 952d741b683676..ad782b35726701 100644 --- a/var/spack/repos/builtin/packages/grid/package.py +++ b/var/spack/repos/builtin/packages/grid/package.py @@ -19,6 +19,8 @@ class Grid(AutotoolsPackage): version("develop", branch="develop") + depends_on("cxx", type="build") # generated + variant( "comms", default="mpi", diff --git a/var/spack/repos/builtin/packages/gridlab-d/package.py b/var/spack/repos/builtin/packages/gridlab-d/package.py index aa3ecdcbd1f102..6f18648920d19e 100644 --- a/var/spack/repos/builtin/packages/gridlab-d/package.py +++ b/var/spack/repos/builtin/packages/gridlab-d/package.py @@ -24,6 +24,9 @@ class GridlabD(AutotoolsPackage): # Using only develop as other branches and releases did not build properly. version("develop", branch="develop") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mysql", default=False, description="Enable MySQL support for Gridlab-D.") variant("helics", default=False, description="Enable Helics support for Gridlab-D.") diff --git a/var/spack/repos/builtin/packages/groff/package.py b/var/spack/repos/builtin/packages/groff/package.py index 8bbd9885f01664..252bfe7e576ebc 100644 --- a/var/spack/repos/builtin/packages/groff/package.py +++ b/var/spack/repos/builtin/packages/groff/package.py @@ -25,6 +25,9 @@ class Groff(AutotoolsPackage, GNUMirrorPackage): version("1.22.4", sha256="e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293") version("1.22.3", sha256="3a48a9d6c97750bfbd535feeb5be0111db6406ddb7bb79fc680809cda6d828a5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # TODO: add html variant, spack doesn't have netpbm and its too # complicated for me to find out at this point in time. # See brew scripts for groff for guidance: diff --git a/var/spack/repos/builtin/packages/gromacs/package.py b/var/spack/repos/builtin/packages/gromacs/package.py index 0c1f000a7c3e2d..a8ede744d7c713 100644 --- a/var/spack/repos/builtin/packages/gromacs/package.py +++ b/var/spack/repos/builtin/packages/gromacs/package.py @@ -26,7 +26,7 @@ class Gromacs(CMakePackage, CudaPackage): url = "https://ftp.gromacs.org/gromacs/gromacs-2022.2.tar.gz" list_url = "https://ftp.gromacs.org/gromacs" git = "https://gitlab.com/gromacs/gromacs.git" - maintainers("danielahlin", "eirrgang", "junghans") + maintainers("mabraham", "eirrgang", "junghans") license("GPL-2.0-or-later", when="@:4.5") license("LGPL-2.1-or-later", when="@4.6:") @@ -89,6 +89,10 @@ class Gromacs(CMakePackage, CudaPackage): version("4.6.7", sha256="6afb1837e363192043de34b188ca3cf83db6bd189601f2001a1fc5b0b2a214d9") version("4.5.5", sha256="e0605e4810b0d552a8761fef5540c545beeaf85893f4a6e21df9905a33f871ba") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "mpi", default=True, description="Activate MPI support (disable for Thread-MPI support)" ) diff --git a/var/spack/repos/builtin/packages/grpc/package.py b/var/spack/repos/builtin/packages/grpc/package.py index 54b2f52499e401..8ecd862756fa78 100644 --- a/var/spack/repos/builtin/packages/grpc/package.py +++ b/var/spack/repos/builtin/packages/grpc/package.py @@ -47,6 +47,9 @@ class Grpc(CMakePackage): version("1.24.3", sha256="c84b3fa140fcd6cce79b3f9de6357c5733a0071e04ca4e65ba5f8d306f10f033") version("1.23.1", sha256="dd7da002b15641e4841f20a1f3eb1e359edb69d5ccf8ac64c362823b05f523d9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=False, description="Build shared instead of static libraries") variant( "codegen", diff --git a/var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py b/var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py index 1056f36a105c64..53844022699f83 100644 --- a/var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py +++ b/var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py @@ -19,6 +19,8 @@ class GsettingsDesktopSchemas(MesonPackage): version("3.37.92", sha256="5f5dd0421ed2f3746674b8bb6e0c652784915133c7f2d133339bf5e4140d8d1d") version("3.37.2", sha256="1dacdfeecfc57468da7c598a01b635f82ecd088e1d78d5aa840e47256026654d") + depends_on("c", type="build") # generated + depends_on("glib") depends_on("gobject-introspection", type="build") depends_on("gettext", type="build") diff --git a/var/spack/repos/builtin/packages/gsi-ncdiag/package.py b/var/spack/repos/builtin/packages/gsi-ncdiag/package.py index f25498a04acfbd..ac183664409ede 100644 --- a/var/spack/repos/builtin/packages/gsi-ncdiag/package.py +++ b/var/spack/repos/builtin/packages/gsi-ncdiag/package.py @@ -19,6 +19,8 @@ class GsiNcdiag(CMakePackage): version("1.1.0", sha256="9195801301209d6f93890944d58ffee4e24a4e35502ab27560a8c440ee53df4c") version("1.0.0", sha256="7251d6139c2bc1580db5f7f019e10a4c73d188ddd52ccf21ecc9e39d50a6af51") + depends_on("fortran", type="build") # generated + variant("serial", default=True, description="Enable Serial NetCDF diagnostics") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/gsibec/package.py b/var/spack/repos/builtin/packages/gsibec/package.py index 41117545524270..3a83af239965d4 100644 --- a/var/spack/repos/builtin/packages/gsibec/package.py +++ b/var/spack/repos/builtin/packages/gsibec/package.py @@ -30,6 +30,8 @@ class Gsibec(CMakePackage): version("1.0.3", sha256="f104daf55705c5093a3d984073f082017bc9166f51ded36c7f7bb8adf233c916") version("1.0.2", sha256="7dc02f1f499e0d9f2843440f517d6c8e5d10ea084cbb2567ec198ba06816bc8b") + depends_on("fortran", type="build") # generated + depends_on("mpi", type=("build", "run")) depends_on("netcdf-c +mpi", type=("build", "run")) depends_on("netcdf-fortran", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/gsl-lite/package.py b/var/spack/repos/builtin/packages/gsl-lite/package.py index a4084e84347bc0..38df082f16e98d 100644 --- a/var/spack/repos/builtin/packages/gsl-lite/package.py +++ b/var/spack/repos/builtin/packages/gsl-lite/package.py @@ -28,6 +28,8 @@ class GslLite(CMakePackage): version("0.36.0", sha256="c052cc4547b33cedee6f000393a7005915c45c6c06b35518d203db117f75c71c") version("0.34.0", sha256="a7d5b2672b78704ca03df9ef65bc274d8f8cacad3ca950365eef9e25b50324c5") + depends_on("cxx", type="build") # generated + variant("tests", default=False, description="Build and perform gsl-lite tests") variant("cuda_tests", default=False, description="Build and perform gsl-lite CUDA tests") variant("examples", default=False, description="Build gsl-lite examples") diff --git a/var/spack/repos/builtin/packages/gsl/package.py b/var/spack/repos/builtin/packages/gsl/package.py index 1c4732e1604588..2a9b83c80a17d9 100644 --- a/var/spack/repos/builtin/packages/gsl/package.py +++ b/var/spack/repos/builtin/packages/gsl/package.py @@ -30,6 +30,8 @@ class Gsl(AutotoolsPackage, GNUMirrorPackage): version("2.0", sha256="e361f0b19199b5e6c21922e9f16adf7eca8dd860842802424906d0f83485ca2d") version("1.16", sha256="73bc2f51b90d2a780e6d266d43e487b3dbd78945dd0b04b14ca5980fe28d2f53") + depends_on("c", type="build") # generated + variant("external-cblas", default=False, description="Build against external blas") variant("shared", default=True, description="Build shared library") variant("pic", default=True, description="Enable position-independent code (PIC)") diff --git a/var/spack/repos/builtin/packages/gslib/package.py b/var/spack/repos/builtin/packages/gslib/package.py index b8658064445fcf..65d9e9fdbbf9f1 100644 --- a/var/spack/repos/builtin/packages/gslib/package.py +++ b/var/spack/repos/builtin/packages/gslib/package.py @@ -22,6 +22,9 @@ class Gslib(Package): version("1.0.1", tag="v1.0.1", commit="d16685f24551b7efd69e58d96dc76aec75239ea3") version("1.0.0", tag="v1.0.0", commit="9533e652320a3b26a72c36487ae265b02072cd48") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Build with MPI") variant("mpiio", default=True, description="Build with MPI I/O") variant("blas", default=False, description="Build with BLAS") diff --git a/var/spack/repos/builtin/packages/gtfsort/package.py b/var/spack/repos/builtin/packages/gtfsort/package.py new file mode 100644 index 00000000000000..e74a3ae772e3d3 --- /dev/null +++ b/var/spack/repos/builtin/packages/gtfsort/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 Gtfsort(CargoPackage): + """A chr/pos/feature GTF sorter that uses a lexicographically-based index ordering algorithm""" + + homepage = "https://github.com/alejandrogzi/gtfsort" + url = "https://github.com/alejandrogzi/gtfsort/archive/refs/tags/v.0.2.2.tar.gz" + + license("MIT", checked_by="A_N_Other") + + version("0.2.2", sha256="d22a8ef32e30111ad2dd08d1da0e0914ac62a728483b8e39a4ef8ea4e6133b4f") diff --git a/var/spack/repos/builtin/packages/gtk-doc/package.py b/var/spack/repos/builtin/packages/gtk-doc/package.py index 470836b317ce4c..014cb2780589dd 100644 --- a/var/spack/repos/builtin/packages/gtk-doc/package.py +++ b/var/spack/repos/builtin/packages/gtk-doc/package.py @@ -22,6 +22,8 @@ class GtkDoc(AutotoolsPackage): version("1.33.2", sha256="2d1b0cbd26edfcb54694b2339106a02a81d630a7dedc357461aeb186874cc7c0") version("1.32", sha256="0890c1f00d4817279be51602e67c4805daf264092adc58f9c04338566e8225ba") + depends_on("c", type="build") # generated + # Commented out until package dblatex has been created # variant('pdf', default=False, description='Adds PDF support') diff --git a/var/spack/repos/builtin/packages/gtkmm/package.py b/var/spack/repos/builtin/packages/gtkmm/package.py index eeddcc70e59e6f..924334c9cb3e45 100644 --- a/var/spack/repos/builtin/packages/gtkmm/package.py +++ b/var/spack/repos/builtin/packages/gtkmm/package.py @@ -23,6 +23,8 @@ class Gtkmm(AutotoolsPackage): version("2.16.0", sha256="7b2cccda794531ecfa65c01e57614ecba526153ad2a29d580c6e8df028d56ec4") version("2.4.11", sha256="0754187a5bcf3795cd7c959de303e6a19a130b0c5927bff1504baa3524bee8c1") + depends_on("cxx", type="build") # generated + depends_on("glibmm") depends_on("atk") depends_on("gtkplus") diff --git a/var/spack/repos/builtin/packages/gtkorvo-atl/package.py b/var/spack/repos/builtin/packages/gtkorvo-atl/package.py index e21f8480c9e39c..2c5363e735514f 100644 --- a/var/spack/repos/builtin/packages/gtkorvo-atl/package.py +++ b/var/spack/repos/builtin/packages/gtkorvo-atl/package.py @@ -21,6 +21,8 @@ class GtkorvoAtl(CMakePackage): version("2.2", sha256="d88b6eaa3926e499317973bfb2ae469c584bb064da198217ea5fede6d919e160") version("2.1", sha256="379b493ba867b76d76eabfe5bfeec85239606e821509c31e8eb93c2dc238e4a8") + depends_on("c", type="build") # generated + depends_on("gtkorvo-cercs-env") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/gtkorvo-cercs-env/package.py b/var/spack/repos/builtin/packages/gtkorvo-cercs-env/package.py index 638202b428e0c3..9b0a5fafaa7d6b 100644 --- a/var/spack/repos/builtin/packages/gtkorvo-cercs-env/package.py +++ b/var/spack/repos/builtin/packages/gtkorvo-cercs-env/package.py @@ -16,6 +16,8 @@ class GtkorvoCercsEnv(CMakePackage): version("develop", branch="master") version("1.0", sha256="e4080a98c1af5003a038361c8bb343843665cac428101ac7d721bad8ba7d244e") + depends_on("c", type="build") # generated + def cmake_args(self): args = ["-DENABLE_TESTING=0", "-DENABLE_SHARED_STATIC=STATIC"] return args diff --git a/var/spack/repos/builtin/packages/gtkorvo-dill/package.py b/var/spack/repos/builtin/packages/gtkorvo-dill/package.py index 0cd813d6e250dd..07095b70de8dc2 100644 --- a/var/spack/repos/builtin/packages/gtkorvo-dill/package.py +++ b/var/spack/repos/builtin/packages/gtkorvo-dill/package.py @@ -20,6 +20,9 @@ class GtkorvoDill(CMakePackage): version("2.4", sha256="ed7745d13e8c6a556f324dcc0e48a807fc993bdd5bb1daa94c1df116cb7e81fa") version("2.1", sha256="7671e1f3c25ac6a4ec2320cec2c342a2f668efb170e3dba186718ed17d2cf084") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Ref: https://github.com/GTkorvo/dill/commit/dac6dfcc7fdaceeb4c157f9ecdf5ecc28f20477f patch("2.4-fix-clear_cache.patch", when="@2.4") patch("2.1-fix-clear_cache.patch", when="@2.1") diff --git a/var/spack/repos/builtin/packages/gtkorvo-enet/package.py b/var/spack/repos/builtin/packages/gtkorvo-enet/package.py index 640479d6d5526a..c805aa0dc3b8e3 100644 --- a/var/spack/repos/builtin/packages/gtkorvo-enet/package.py +++ b/var/spack/repos/builtin/packages/gtkorvo-enet/package.py @@ -20,3 +20,5 @@ class GtkorvoEnet(AutotoolsPackage): version("1.3.14", sha256="d1fda051bdee46ad8cce7c3bb36fb6b7a7a443945f27a280ac104753c29465b0") version("1.3.13", sha256="ede6e4f03e4cb0c3d93044ace9e8c1818ef4d3ced4aaa70384155769b3c436dc") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/gtkplus/package.py b/var/spack/repos/builtin/packages/gtkplus/package.py index 846ed52df833f7..4c7bd0fdd1b105 100644 --- a/var/spack/repos/builtin/packages/gtkplus/package.py +++ b/var/spack/repos/builtin/packages/gtkplus/package.py @@ -39,6 +39,9 @@ class Gtkplus(MesonPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cups", default=False, description="enable cups support") # See meson.build for version requirements diff --git a/var/spack/repos/builtin/packages/gtksourceview/package.py b/var/spack/repos/builtin/packages/gtksourceview/package.py index d9607d34a5263d..14d60531a12dc1 100644 --- a/var/spack/repos/builtin/packages/gtksourceview/package.py +++ b/var/spack/repos/builtin/packages/gtksourceview/package.py @@ -23,6 +23,10 @@ class Gtksourceview(AutotoolsPackage): version("4.2.0", sha256="c431eb234dc83c7819e58f77dd2af973252c7750da1c9d125ddc94268f94f675") version("3.24.11", sha256="691b074a37b2a307f7f48edc5b8c7afa7301709be56378ccf9cc9735909077fd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/gts/package.py b/var/spack/repos/builtin/packages/gts/package.py index a5883016d9b5d7..490e85d00dd599 100644 --- a/var/spack/repos/builtin/packages/gts/package.py +++ b/var/spack/repos/builtin/packages/gts/package.py @@ -28,5 +28,7 @@ class Gts(AutotoolsPackage): version("121130", sha256="c23f72ab74bbf65599f8c0b599d6336fabe1ec2a09c19b70544eeefdc069b73b") + depends_on("c", type="build") # generated + depends_on("glib") depends_on("pkgconfig", type=("build")) diff --git a/var/spack/repos/builtin/packages/guacamole-server/package.py b/var/spack/repos/builtin/packages/guacamole-server/package.py index 39f0e19bebb84e..42ac61c9256a40 100644 --- a/var/spack/repos/builtin/packages/guacamole-server/package.py +++ b/var/spack/repos/builtin/packages/guacamole-server/package.py @@ -18,6 +18,8 @@ class GuacamoleServer(AutotoolsPackage): version("1.1.0", sha256="d0f0c66ebfa7a4fd6689ae5240f21797b5177945a042388b691b15b8bd5c81a8") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/guile/package.py b/var/spack/repos/builtin/packages/guile/package.py index 2103145fef9362..24b73341fbac6e 100644 --- a/var/spack/repos/builtin/packages/guile/package.py +++ b/var/spack/repos/builtin/packages/guile/package.py @@ -25,6 +25,8 @@ class Guile(AutotoolsPackage, GNUMirrorPackage): version("2.0.14", sha256="8aeb2f353881282fe01694cce76bb72f7ffdd296a12c7a1a39255c27b0dfe5f1") version("2.0.11", sha256="e6786c934346fa2e38e46d8d81a622bb1c16d130153523f6129fcd79ef1fb040") + depends_on("c", type="build") # generated + variant("readline", default=True, description="Use the readline library") variant( "threads", diff --git a/var/spack/repos/builtin/packages/gunrock/package.py b/var/spack/repos/builtin/packages/gunrock/package.py index 19813e6d199fb1..5cdfa5f3a247f2 100644 --- a/var/spack/repos/builtin/packages/gunrock/package.py +++ b/var/spack/repos/builtin/packages/gunrock/package.py @@ -33,6 +33,9 @@ class Gunrock(CMakePackage, CudaPackage): version("0.2", submodules=True, tag="v0.2", commit="f9d85343ee68c65567184d74021b9483cd142ea0") version("0.1", submodules=True, tag="v0.1", commit="4c00284f6b7d490a83fa7afe5cdff60923316448") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cuda", default=True, description="Build with Cuda support") variant("lib", default=True, description="Build main gunrock library") diff --git a/var/spack/repos/builtin/packages/gzip/package.py b/var/spack/repos/builtin/packages/gzip/package.py index 11d8f898450531..2a8978907604a3 100644 --- a/var/spack/repos/builtin/packages/gzip/package.py +++ b/var/spack/repos/builtin/packages/gzip/package.py @@ -31,5 +31,7 @@ class Gzip(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + # Gzip makes a recursive symlink if built in-source build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/h5bench/package.py b/var/spack/repos/builtin/packages/h5bench/package.py index c367bbaf8ebae7..0c1b9568ba4e42 100644 --- a/var/spack/repos/builtin/packages/h5bench/package.py +++ b/var/spack/repos/builtin/packages/h5bench/package.py @@ -33,6 +33,10 @@ class H5bench(CMakePackage): "1.0", commit="9d3438c1bc66c5976279ef203bd11a8d48ade724", submodules=True, deprecated=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("metadata", default=False, when="@1.2:", description="Enables metadata benchmark") variant("amrex", default=False, when="@1.2:", description="Enables AMReX benchmark") variant("exerciser", default=False, when="@1.2:", description="Enables exerciser benchmark") diff --git a/var/spack/repos/builtin/packages/h5cpp/package.py b/var/spack/repos/builtin/packages/h5cpp/package.py index 9d793f32ebf367..5e299f062a804a 100644 --- a/var/spack/repos/builtin/packages/h5cpp/package.py +++ b/var/spack/repos/builtin/packages/h5cpp/package.py @@ -21,6 +21,9 @@ class H5cpp(CMakePackage): version("1.10.4-6", sha256="4fbc8e777dc78a37ec2fe8c7b6a47114080ffe587f083e83a2046b5e794aef93") version("1.10.4-5", sha256="661ccc4d76e081afc73df71ef11d027837d92dd1089185f3650afcaec9d418ec") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Include MPI support") depends_on("cmake @3.10:", type="build") diff --git a/var/spack/repos/builtin/packages/h5hut/package.py b/var/spack/repos/builtin/packages/h5hut/package.py index 35aa847b0f4642..cfef678975db2f 100644 --- a/var/spack/repos/builtin/packages/h5hut/package.py +++ b/var/spack/repos/builtin/packages/h5hut/package.py @@ -19,6 +19,10 @@ class H5hut(AutotoolsPackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=True, description="Enable Fortran support") variant("mpi", default=True, description="Enable MPI support") diff --git a/var/spack/repos/builtin/packages/h5utils/package.py b/var/spack/repos/builtin/packages/h5utils/package.py index 93a38c3c8e5659..7818d5bfb50817 100644 --- a/var/spack/repos/builtin/packages/h5utils/package.py +++ b/var/spack/repos/builtin/packages/h5utils/package.py @@ -23,6 +23,9 @@ class H5utils(AutotoolsPackage): url="https://github.com/NanoComp/h5utils/archive/refs/tags/1.12.1.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("png", default=True, description="Enable PNG support") variant("vis5d", default=False, description="Enable Vis5d support") variant("octave", default=False, description="Enable GNU Octave support") diff --git a/var/spack/repos/builtin/packages/h5z-zfp/package.py b/var/spack/repos/builtin/packages/h5z-zfp/package.py index a9c1f86974b19f..237137b7c8e6bf 100644 --- a/var/spack/repos/builtin/packages/h5z-zfp/package.py +++ b/var/spack/repos/builtin/packages/h5z-zfp/package.py @@ -20,6 +20,9 @@ class H5zZfp(CMakePackage): version("1.1.1", sha256="921af7b9d1c8c46c036b46544f2785f69d405c0701abe1c1ce3aca2bd5899171") version("1.1.0", sha256="48a81e69d1f3b61d9a1eb07e868164fadf3b88690ec930efd849f5889681a893") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=True, description="Enable Fortran support") depends_on("hdf5+fortran", when="+fortran") diff --git a/var/spack/repos/builtin/packages/haccabana/package.py b/var/spack/repos/builtin/packages/haccabana/package.py index bce59ef2ba663c..df24131f5de97b 100644 --- a/var/spack/repos/builtin/packages/haccabana/package.py +++ b/var/spack/repos/builtin/packages/haccabana/package.py @@ -23,6 +23,8 @@ class Haccabana(CMakePackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries") depends_on("cmake@3.9:", type="build") diff --git a/var/spack/repos/builtin/packages/hacckernels/package.py b/var/spack/repos/builtin/packages/hacckernels/package.py index 01bae2a3866593..5f0c02b4cb6d25 100644 --- a/var/spack/repos/builtin/packages/hacckernels/package.py +++ b/var/spack/repos/builtin/packages/hacckernels/package.py @@ -22,6 +22,8 @@ class Hacckernels(CMakePackage): version("develop", branch="master") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("README", prefix) diff --git a/var/spack/repos/builtin/packages/hackrf-host/package.py b/var/spack/repos/builtin/packages/hackrf-host/package.py index 6a02fa73a262a6..319bcb0c1677ff 100644 --- a/var/spack/repos/builtin/packages/hackrf-host/package.py +++ b/var/spack/repos/builtin/packages/hackrf-host/package.py @@ -22,6 +22,8 @@ class HackrfHost(CMakePackage): version("2018.01.1", sha256="84dbb5536d3aa5bd6b25d50df78d591e6c3431d752de051a17f4cb87b7963ec3") + depends_on("c", type="build") # generated + depends_on("cmake@2.8.12:", type="build") depends_on("libusb@1.0.18:") depends_on("fftw@3.3.5:") diff --git a/var/spack/repos/builtin/packages/hadoop-xrootd/package.py b/var/spack/repos/builtin/packages/hadoop-xrootd/package.py index 439301c38ecf87..fe15a4acedec66 100644 --- a/var/spack/repos/builtin/packages/hadoop-xrootd/package.py +++ b/var/spack/repos/builtin/packages/hadoop-xrootd/package.py @@ -18,6 +18,8 @@ class HadoopXrootd(MavenPackage): version("1.0.7", sha256="9a129dc14b3dc139aa4da7543f6392a5c80b41fea6bb9f6cd27db5acf6f5471f") + depends_on("cxx", type="build") # generated + depends_on("hadoop") depends_on("xrootd") conflicts("%clang") diff --git a/var/spack/repos/builtin/packages/hadoop/package.py b/var/spack/repos/builtin/packages/hadoop/package.py index d3d1212f45a0dd..6d34ce298fd9bc 100644 --- a/var/spack/repos/builtin/packages/hadoop/package.py +++ b/var/spack/repos/builtin/packages/hadoop/package.py @@ -29,6 +29,8 @@ class Hadoop(Package): version("2.7.7", sha256="d129d08a2c9dafec32855a376cbd2ab90c6a42790898cabbac6be4d29f9c2026") version("2.7.5", sha256="0bfc4d9b04be919be2fdf36f67fa3b4526cdbd406c512a7a1f5f1b715661f831") + depends_on("cxx", type="build") # generated + depends_on("java", type="run") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/hal/package.py b/var/spack/repos/builtin/packages/hal/package.py index 06461380fb5b73..8fc8ec46039e41 100644 --- a/var/spack/repos/builtin/packages/hal/package.py +++ b/var/spack/repos/builtin/packages/hal/package.py @@ -21,6 +21,9 @@ class Hal(MakefilePackage): version("2.1", sha256="540255be1af55abf390359fe034b82d7e61bdf6c3277df3cc01259cd450994e5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + maintainers("ilbiondo") # HAL expects to be compiled alongside sonlib so we need both the diff --git a/var/spack/repos/builtin/packages/halide/package.py b/var/spack/repos/builtin/packages/halide/package.py index fd812e3662fd12..2a4f1448ec2ddf 100644 --- a/var/spack/repos/builtin/packages/halide/package.py +++ b/var/spack/repos/builtin/packages/halide/package.py @@ -22,6 +22,9 @@ class Halide(CMakePackage, PythonExtension): version("16.0.0", sha256="a0cccee762681ea697124b8172dd65595856d0fa5bd4d1af7933046b4a085b04") version("17.0.0", sha256="7e5a526b4074887b528d25b0265ddfa92c0a6d8bfdfbbba536313ecddf352da3") version("17.0.1", sha256="beb18331d9e4b6f69943bcc75fb9d923a250ae689f09f6940a01636243289727") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated variant( "build_type", default="Release", diff --git a/var/spack/repos/builtin/packages/hapcut2/package.py b/var/spack/repos/builtin/packages/hapcut2/package.py index 620f297cd66185..c9a5635761b077 100644 --- a/var/spack/repos/builtin/packages/hapcut2/package.py +++ b/var/spack/repos/builtin/packages/hapcut2/package.py @@ -25,6 +25,8 @@ class Hapcut2(MakefilePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("htslib@1.3:") depends_on("curl") depends_on("openssl") diff --git a/var/spack/repos/builtin/packages/haproxy/package.py b/var/spack/repos/builtin/packages/haproxy/package.py index e682b9728f0d64..23ad029ae8c50c 100644 --- a/var/spack/repos/builtin/packages/haproxy/package.py +++ b/var/spack/repos/builtin/packages/haproxy/package.py @@ -19,6 +19,8 @@ class Haproxy(MakefilePackage): version("2.1.1", sha256="57e75c1a380fc6f6aa7033f71384370899443c7f4e8a4ba289b5d4350bc76d1a") version("2.1.0", sha256="f268efb360a0e925137b4b8ed431f2f8f3b68327efb2c418b266e535d8e335a0") + depends_on("c", type="build") # generated + def url_for_version(self, version): url = "https://www.haproxy.org/download/{0}/src/haproxy-{1}.tar.gz" return url.format(version.up_to(2), version) diff --git a/var/spack/repos/builtin/packages/hardlink/package.py b/var/spack/repos/builtin/packages/hardlink/package.py index 66e0cbbf0b3b09..a84b18e9795b2a 100644 --- a/var/spack/repos/builtin/packages/hardlink/package.py +++ b/var/spack/repos/builtin/packages/hardlink/package.py @@ -15,5 +15,7 @@ class Hardlink(MakefilePackage): version("0.1.1", sha256="5876554e6dafb6627a94670ac33e750a7efeb3a5fbde5ede3e145cdb5131d1ba") version("0.1", sha256="72f8a07b0dfe30a77da576b8dff5998c5f7e054052382fd61ac46157a5e039db") + depends_on("c", type="build") # generated + def install(self, spec, prefix): make("PREFIX={0}".format(prefix), "install-homebrew") diff --git a/var/spack/repos/builtin/packages/harfbuzz/package.py b/var/spack/repos/builtin/packages/harfbuzz/package.py index 14b4210a6d38e4..ca8f3fc12f8d2f 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("9.0.0", sha256="a41b272ceeb920c57263ec851604542d9ec85ee3030506d94662067c7b6ab89e") version("8.5.0", sha256="77e4f7f98f3d86bf8788b53e6832fb96279956e1c3961988ea3d4b7ca41ddc27") version("8.4.0", sha256="af4ea73e25ab748c8c063b78c2f88e48833db9b2ac369e29bd115702e789755e") version("8.3.0", sha256="109501eaeb8bde3eadb25fab4164e993fbace29c3d775bcaa1c1e58e2f15f847") @@ -71,6 +72,9 @@ class Harfbuzz(MesonPackage, AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("graphite2", default=False, description="enable support for graphite2 font engine") variant( "coretext", @@ -117,6 +121,7 @@ def setup_dependent_run_environment(self, env, dependent_spec): env.prepend_path("XDG_DATA_DIRS", self.prefix.share) env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0")) + @when("@:8") def patch(self): change_sed_delimiter("@", ";", "src/Makefile.in") filter_file( diff --git a/var/spack/repos/builtin/packages/harminv/package.py b/var/spack/repos/builtin/packages/harminv/package.py index 3bff34a9197da9..dcd2bfa7256efc 100644 --- a/var/spack/repos/builtin/packages/harminv/package.py +++ b/var/spack/repos/builtin/packages/harminv/package.py @@ -21,6 +21,8 @@ class Harminv(AutotoolsPackage): version("1.4.2", sha256="5a9a1bf710972442f065d0d62c62d0c4ec3da4a3696d7160a35602c9470bc7a2") version("1.4.1", sha256="e1b923c508a565f230aac04e3feea23b888b47d8e19b08816a97ee4444233670") + depends_on("c", type="build") # generated + depends_on("blas") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/hashcat/package.py b/var/spack/repos/builtin/packages/hashcat/package.py index 56d615a9cca9a8..9cb2c3f9b91662 100644 --- a/var/spack/repos/builtin/packages/hashcat/package.py +++ b/var/spack/repos/builtin/packages/hashcat/package.py @@ -25,5 +25,8 @@ class Hashcat(MakefilePackage): version("5.1.0", sha256="283beaa68e1eab41de080a58bb92349c8e47a2bb1b93d10f36ea30f418f1e338") version("5.0.0", sha256="7092d98cf0d8b29bd6efe2cf94802442dd8d7283982e9439eafbdef62b0db08f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): make("SHARED=1", "PREFIX={0}".format(prefix), "install") diff --git a/var/spack/repos/builtin/packages/haveged/package.py b/var/spack/repos/builtin/packages/haveged/package.py index 5c806639799e9a..8b0c9922a2c60e 100644 --- a/var/spack/repos/builtin/packages/haveged/package.py +++ b/var/spack/repos/builtin/packages/haveged/package.py @@ -15,3 +15,5 @@ class Haveged(AutotoolsPackage): license("GPL-3.0-or-later") version("1.9.13", sha256="d17bd22fa1745daca5ac72e014ed3b0fe5720da4c115953124b1bf2a0aa2b04b") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/hazelcast/package.py b/var/spack/repos/builtin/packages/hazelcast/package.py index 60eb0b1018463e..53511bd5d20e3b 100644 --- a/var/spack/repos/builtin/packages/hazelcast/package.py +++ b/var/spack/repos/builtin/packages/hazelcast/package.py @@ -24,4 +24,6 @@ class Hazelcast(MavenPackage): version("3.12.7", sha256="0747de968082bc50202f825b4010be28a3885b3dbcee4b83cbe21b2f8b26a7e0") version("3.11.7", sha256="c9f636b8813027d4cc24459bd27740549f89b4f11f62a868079bcb5b41d9b2bb") + depends_on("c", type="build") # generated + depends_on("java@8:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/hbm-dramsim2/package.py b/var/spack/repos/builtin/packages/hbm-dramsim2/package.py index 5fff62e4c0ee25..2c3aa4fdca898f 100644 --- a/var/spack/repos/builtin/packages/hbm-dramsim2/package.py +++ b/var/spack/repos/builtin/packages/hbm-dramsim2/package.py @@ -19,5 +19,7 @@ class HbmDramsim2(MakefilePackage): version("1.0.0", sha256="0efad11c58197edb47ad1359f8f93fb45d882c6bebcf9f2143e0df7a719689a0") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): install_tree(".", prefix) diff --git a/var/spack/repos/builtin/packages/hdf/package.py b/var/spack/repos/builtin/packages/hdf/package.py index 18034b4fbed5dc..75e1ee3a2fd6cc 100644 --- a/var/spack/repos/builtin/packages/hdf/package.py +++ b/var/spack/repos/builtin/packages/hdf/package.py @@ -25,6 +25,10 @@ class Hdf(AutotoolsPackage): version("4.2.12", sha256="dd419c55e85d1a0e13f3ea5ed35d00710033ccb16c85df088eb7925d486e040c") version("4.2.11", sha256="c3f7753b2fb9b27d09eced4d2164605f111f270c9a60b37a578f7de02de86d24") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("szip", default=False, description="Enable szip support") variant( "external-xdr", default=sys.platform != "darwin", description="Use an external XDR backend" diff --git a/var/spack/repos/builtin/packages/hdf5-blosc/package.py b/var/spack/repos/builtin/packages/hdf5-blosc/package.py index d99e9bbd3aebb5..d7002e66313e29 100644 --- a/var/spack/repos/builtin/packages/hdf5-blosc/package.py +++ b/var/spack/repos/builtin/packages/hdf5-blosc/package.py @@ -36,6 +36,8 @@ class Hdf5Blosc(Package): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("c-blosc") depends_on("hdf5") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py b/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py index 28ab546bd4773c..17da8e1206fa12 100644 --- a/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py +++ b/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py @@ -23,6 +23,8 @@ class Hdf5VfdGds(CMakePackage, CudaPackage): version("1.0.1", sha256="00e125fd149561be991f41e883824de826d8add604aebccf103a4fb82d5faac2") version("1.0.0", sha256="6b16105c7c49f13fc05784ee69b78d45fb159270c78d760689f9cd21e230ddd2") + depends_on("c", type="build") # generated + # Dependencies conflicts("~cuda") # Although cuFILE predates 11.7.0, it is not installed in a location the build diff --git a/var/spack/repos/builtin/packages/hdf5-vol-async/package.py b/var/spack/repos/builtin/packages/hdf5-vol-async/package.py index fd94f588d587d8..1fb1ff16cca642 100644 --- a/var/spack/repos/builtin/packages/hdf5-vol-async/package.py +++ b/var/spack/repos/builtin/packages/hdf5-vol-async/package.py @@ -30,6 +30,8 @@ class Hdf5VolAsync(CMakePackage): version("1.6", tag="v1.6", commit="f3406d62ec055cdcfe077979a1068bd102c598a5") version("1.5", tag="v1.5", commit="b917713ffcb207d9799c6d6863cf805ee54ccfea") + depends_on("c", type="build") # generated + variant("memcpy", default=False, description="Enable buffer copy for dataset write") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/hdf5-vol-cache/package.py b/var/spack/repos/builtin/packages/hdf5-vol-cache/package.py index e5f086b88a7f1c..d6882f3d281c92 100644 --- a/var/spack/repos/builtin/packages/hdf5-vol-cache/package.py +++ b/var/spack/repos/builtin/packages/hdf5-vol-cache/package.py @@ -19,6 +19,9 @@ class Hdf5VolCache(CMakePackage): version("v1.1", tag="v1.1", commit="d886a17a381990b5949d95f5299461c39d7ac2bc") version("v1.0", tag="v1.0", commit="a9b9704e74fa24af50b2a3bd0d63a40a69bde8fe") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("hdf5@1.14: +mpi +threadsafe") depends_on("hdf5-vol-async") diff --git a/var/spack/repos/builtin/packages/hdf5-vol-daos/package.py b/var/spack/repos/builtin/packages/hdf5-vol-daos/package.py index 6fe945bb024187..284ac473e865a9 100644 --- a/var/spack/repos/builtin/packages/hdf5-vol-daos/package.py +++ b/var/spack/repos/builtin/packages/hdf5-vol-daos/package.py @@ -22,6 +22,9 @@ class Hdf5VolDaos(CMakePackage): version("master", branch="master", submodules=True) version("1.2.0", sha256="669c1443605068f24c033783ef72619afcec4844902b3e0bffa19ddeea39779f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8.12.2:", type="build") depends_on("daos@2.2.0:") depends_on("hdf5@1.14.0:+hl+mpi+map") diff --git a/var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py b/var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py index e7892a705d37fa..9e97f6e58defd7 100644 --- a/var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py +++ b/var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py @@ -16,6 +16,8 @@ class Hdf5VolExternalPassthrough(CMakePackage): version("develop", branch="develop") version("1.1", sha256="9f1a7fba4958fe0f46b4451253b9b1d7a4cfb30a0ce4183f5f756ceaddbbf2c3") + + depends_on("c", type="build") # generated depends_on("hdf5@1.14.0:") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/hdf5-vol-log/package.py b/var/spack/repos/builtin/packages/hdf5-vol-log/package.py index 3864e6ec3c5a5f..0f5a7dbb639488 100644 --- a/var/spack/repos/builtin/packages/hdf5-vol-log/package.py +++ b/var/spack/repos/builtin/packages/hdf5-vol-log/package.py @@ -19,6 +19,9 @@ class Hdf5VolLog(AutotoolsPackage): version("1.4.0", tag="logvol.1.4.0", commit="786d2cc4da8b4a0827ee00b1b0ab3968ef942f99") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("hdf5@1.14.0:", when="@1.4.0:") depends_on("mpi") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py index 3229962070014c..d5f47519ba1f31 100644 --- a/var/spack/repos/builtin/packages/hdf5/package.py +++ b/var/spack/repos/builtin/packages/hdf5/package.py @@ -87,6 +87,10 @@ class Hdf5(CMakePackage): version("1.8.12", sha256="b5cccea850096962b5fd9e96f22c4f47d2379224bb41130d9bc038bb6c37dfcb") version("1.8.10", sha256="4813b79c5fb8701a625b9924b8203bc7154a77f9b826ad4e034144b4056a160a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Builds a shared version of the library") variant("hl", default=False, description="Enable the high-level library") @@ -634,6 +638,18 @@ def link_debug_libs(self): libname = os.path.split(lib)[1] os.symlink(libname, libname.replace("_debug", "")) + @run_after("install") + def symlink_to_h5hl_wrappers(self): + if self.spec.satisfies("+hl"): + with working_dir(self.prefix.bin): + # CMake's FindHDF5 relies only on h5cc so it doesn't find the HL + # component unless it uses h5hlcc so we symlink h5cc to h5hlcc etc + symlink_files = {"h5cc": "h5hlcc", "h5c++": "h5hlc++"} + for old, new in symlink_files.items(): + if os.path.isfile(old): + os.remove(old) + symlink(new, old) + @property @llnl.util.lang.memoized def _output_version(self): diff --git a/var/spack/repos/builtin/packages/heaptrack/package.py b/var/spack/repos/builtin/packages/heaptrack/package.py index e24689594327d1..305bd289772fbe 100644 --- a/var/spack/repos/builtin/packages/heaptrack/package.py +++ b/var/spack/repos/builtin/packages/heaptrack/package.py @@ -18,6 +18,9 @@ class Heaptrack(CMakePackage): version("1.3.0", sha256="794b067772f4e4219bb7b6ff1bc1b2134b1b242e748a2cc5c47626040c631956") version("1.1.0", sha256="bd247ac67d1ecf023ec7e2a2888764bfc03e2f8b24876928ca6aa0cdb3a07309") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost@1.41: +program_options+exception+filesystem+system+iostreams+container") depends_on("cmake@2.8.9:", type="build") depends_on("elfutils") diff --git a/var/spack/repos/builtin/packages/heasoft/package.py b/var/spack/repos/builtin/packages/heasoft/package.py index 76073a2e3b03f4..eaa0135ebf3093 100644 --- a/var/spack/repos/builtin/packages/heasoft/package.py +++ b/var/spack/repos/builtin/packages/heasoft/package.py @@ -29,6 +29,10 @@ class Heasoft(AutotoolsPackage): version("6.30", sha256="7f828f6050809653319f94d715c1b6815fbc09adfdcb61f2f0f1d7a6af10684a") version("6.29", sha256="534fec04baa2586326fd7240805f2606620f3b7d7078a80fdd95c9c1177c9e68") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("X", default=True, description="Enable X11 support") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/heffte/package.py b/var/spack/repos/builtin/packages/heffte/package.py index d106f92bc937eb..dc20db8a4fe40a 100644 --- a/var/spack/repos/builtin/packages/heffte/package.py +++ b/var/spack/repos/builtin/packages/heffte/package.py @@ -31,6 +31,10 @@ class Heffte(CMakePackage, CudaPackage, ROCmPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + patch("cmake-magma-v230.patch", when="@2.3.0") patch("fortran200.patch", when="@2.0.0") diff --git a/var/spack/repos/builtin/packages/heimdall/package.py b/var/spack/repos/builtin/packages/heimdall/package.py index 948b1b084b9d7e..dce08369e461b9 100644 --- a/var/spack/repos/builtin/packages/heimdall/package.py +++ b/var/spack/repos/builtin/packages/heimdall/package.py @@ -16,6 +16,8 @@ class Heimdall(AutotoolsPackage, CudaPackage): version("master", branch="master", preferred=True) + depends_on("cxx", type="build") # generated + conflicts("~cuda", msg="You must specify +cuda") conflicts("cuda@11.8") conflicts("cuda_arch=none", msg="You must specify the CUDA architecture") diff --git a/var/spack/repos/builtin/packages/helib/package.py b/var/spack/repos/builtin/packages/helib/package.py index 040b828cca7686..5129bd1bc3dfbe 100644 --- a/var/spack/repos/builtin/packages/helib/package.py +++ b/var/spack/repos/builtin/packages/helib/package.py @@ -39,6 +39,9 @@ class Helib(CMakePackage): version("1.1.0", sha256="77a912ed3c86f8bde31b7d476321d0c2d810570c04a60fa95c4bd32a1955b5cf") version("1.0.2", sha256="b907eaa8381af3d001d7fb8383273f4c652415b3320c11d5be2ad8f19757c998") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=False, description="Build shared library.") depends_on("gmp@6.2.1:") depends_on("ntl@11.5.1:") diff --git a/var/spack/repos/builtin/packages/helics/package.py b/var/spack/repos/builtin/packages/helics/package.py index 02dd3ed58831dd..3f3da4d106fd1c 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.3", sha256="f9ace240510b18caf642f55d08f9009a9babb203fbc032ec7d7d8aa6fd5e1553") version("3.5.2", sha256="c2604694698a1e33c4a68f3d1c5ab0a228ef2bfca1b0d3bae94801dbd3b11048") version("3.5.1", sha256="546fc6e6a85de6ba841e4bd547b811cc81a67a22be5e212ccb54be139d740555") version("3.5.0", sha256="0c02ebaecf3d4ead7911e13325b26706f1e4b316ca51ec609e969e18ec584b78") @@ -49,6 +50,9 @@ class Helics(CMakePackage): version("2.4.2", sha256="957856f06ed6d622f05dfe53df7768bba8fe2336d841252f5fac8345070fa5cb") version("2.4.1", sha256="ac077e9efe466881ea366721cb31fb37ea0e72a881a717323ba4f3cdda338be4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("apps", default=True, description="Install the HELICS apps executables") variant("apps_lib", default=True, description="Install the HELICS apps library") variant("benchmarks", default=False, description="Install the HELICS benchmarks") diff --git a/var/spack/repos/builtin/packages/help2man/package.py b/var/spack/repos/builtin/packages/help2man/package.py index f5b41627f9b510..3688260cb15318 100644 --- a/var/spack/repos/builtin/packages/help2man/package.py +++ b/var/spack/repos/builtin/packages/help2man/package.py @@ -21,4 +21,6 @@ class Help2man(AutotoolsPackage, GNUMirrorPackage): version("1.47.8", sha256="528f6a81ad34cbc76aa7dce5a82f8b3d2078ef065271ab81fda033842018a8dc") version("1.47.4", sha256="d4ecf697d13f14dd1a78c5995f06459bff706fd1ce593d1c02d81667c0207753") + depends_on("c", type="build") # generated + depends_on("perl", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/henson/package.py b/var/spack/repos/builtin/packages/henson/package.py index d1be8ba2cd234e..4b7eb9bb63a950 100644 --- a/var/spack/repos/builtin/packages/henson/package.py +++ b/var/spack/repos/builtin/packages/henson/package.py @@ -16,6 +16,9 @@ class Henson(CMakePackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + maintainers("mrzv") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/hepmc/package.py b/var/spack/repos/builtin/packages/hepmc/package.py index a1194a79381fc0..161220d85476f4 100644 --- a/var/spack/repos/builtin/packages/hepmc/package.py +++ b/var/spack/repos/builtin/packages/hepmc/package.py @@ -26,6 +26,9 @@ class Hepmc(CMakePackage): version("2.06.06", sha256="8cdff26c10783ed4248220a84a43b7e1f9b59cc2c9a29bd634d024ca469db125") version("2.06.05", sha256="4c411077cc97522c03b74f973264b8d9fd2b6ccec0efc7ceced2645371c73618") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("length", default="MM", values=("CM", "MM"), multi=False, description="Unit of length") variant( "momentum", diff --git a/var/spack/repos/builtin/packages/hepmc3/package.py b/var/spack/repos/builtin/packages/hepmc3/package.py index 774fa97234c9cb..87c0e2607874a3 100644 --- a/var/spack/repos/builtin/packages/hepmc3/package.py +++ b/var/spack/repos/builtin/packages/hepmc3/package.py @@ -31,6 +31,10 @@ class Hepmc3(CMakePackage): version("3.1.2", sha256="4133074b3928252877982f3d4b4c6c750bb7a324eb6c7bb2afc6fa256da3ecc7") version("3.1.1", sha256="2fcbc9964d6f9f7776289d65f9c73033f85c15bf5f0df00c429a6a1d8b8248bb") version("3.1.0", sha256="cd37eed619d58369041018b8627274ad790020a4714b54ac05ad1ebc1a6e7f8a") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated # note that version 3.0.0 is not supported # conflicts with cmake configuration @@ -52,7 +56,9 @@ class Hepmc3(CMakePackage): ) depends_on("cmake@2.8.9:", type="build") - depends_on("root", when="+rootio") + with when("+rootio"): + depends_on("root") + depends_on("root cxxstd=11", when="@:3.2.3") depends_on("protobuf", when="+protobuf") depends_on("python", when="+python") @@ -70,7 +76,7 @@ def cmake_args(self): self.define("HEPMC3_ENABLE_TEST", self.run_tests), ] - if "+python" in spec: + if spec.satisfies("+python"): py_ver = spec["python"].version.up_to(2) args.extend( [ @@ -79,7 +85,11 @@ def cmake_args(self): ] ) - if "+rootio" in spec: + if spec.satisfies("+rootio"): args.append(self.define("ROOT_DIR", spec["root"].prefix)) + if spec.satisfies("@3.2.4:"): + args.append( + self.define("HEPMC3_CXX_STANDARD", spec["root"].variants["cxxstd"].value) + ) return args diff --git a/var/spack/repos/builtin/packages/hepmcanalysis/package.py b/var/spack/repos/builtin/packages/hepmcanalysis/package.py index 2b66581b9c5883..e23a30323bba36 100644 --- a/var/spack/repos/builtin/packages/hepmcanalysis/package.py +++ b/var/spack/repos/builtin/packages/hepmcanalysis/package.py @@ -15,6 +15,9 @@ class Hepmcanalysis(MakefilePackage): version("3.4.13", sha256="be9937c6de493a5671258919493b0caa0cecca77853a2075f5cecce1071e0029") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + tags = ["hep"] depends_on("hepmc") diff --git a/var/spack/repos/builtin/packages/heppdt/package.py b/var/spack/repos/builtin/packages/heppdt/package.py index 5f066f44d3ddb6..fe7164905f6eed 100644 --- a/var/spack/repos/builtin/packages/heppdt/package.py +++ b/var/spack/repos/builtin/packages/heppdt/package.py @@ -28,3 +28,6 @@ class Heppdt(AutotoolsPackage): sha256="12a1b6ffdd626603fa3b4d70f44f6e95a36f8f3b6d4fd614bac14880467a2c2e", preferred=True, ) + + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/hermes/package.py b/var/spack/repos/builtin/packages/hermes/package.py index ef33ea207b2bec..7072524c53a9a7 100644 --- a/var/spack/repos/builtin/packages/hermes/package.py +++ b/var/spack/repos/builtin/packages/hermes/package.py @@ -25,6 +25,9 @@ class Hermes(CMakePackage): sha256="abf258a52fa79729dfeb28559957abf8945f3ad37cadefb3bc685227c5f057a8", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("vfd", default=False, description="Enable HDF5 VFD") depends_on("mochi-thallium~cereal@0.8:") diff --git a/var/spack/repos/builtin/packages/herwig3/package.py b/var/spack/repos/builtin/packages/herwig3/package.py index 960656ee6b59f6..bac7b7c4e4c3fc 100644 --- a/var/spack/repos/builtin/packages/herwig3/package.py +++ b/var/spack/repos/builtin/packages/herwig3/package.py @@ -20,6 +20,10 @@ class Herwig3(AutotoolsPackage): version("7.2.2", sha256="53e06b386df5bc20fe268b6c8ba50f1e62b6744e577d383ec836ea3fc672c383") version("7.2.1", sha256="d4fff32f21c5c08a4b2e563c476b079859c2c8e3b78d853a8a60da96d5eea686") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/herwigpp/package.py b/var/spack/repos/builtin/packages/herwigpp/package.py index b1d2cd12eb4e61..85c42af5c4c56a 100644 --- a/var/spack/repos/builtin/packages/herwigpp/package.py +++ b/var/spack/repos/builtin/packages/herwigpp/package.py @@ -19,6 +19,10 @@ class Herwigpp(AutotoolsPackage): license("GPL-2.0-only") version("2.7.1", sha256="80a189376bb65f5ec4e64f42e76c00ea9102d8224010563a424fc11e619a6ad6") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated patch("herwig++-2.7.1.patch", when="@2.7.1", level=0) depends_on("gsl") diff --git a/var/spack/repos/builtin/packages/hevea/package.py b/var/spack/repos/builtin/packages/hevea/package.py index b29903e95e5f3a..9e4dcfa2ecc2d5 100644 --- a/var/spack/repos/builtin/packages/hevea/package.py +++ b/var/spack/repos/builtin/packages/hevea/package.py @@ -23,6 +23,8 @@ class Hevea(MakefilePackage): version("2.33", sha256="122f9023f9cfe8b41dd8965b7d9669df21bf41e419bcf5e9de5314f428380d0f") version("2.32", sha256="f0c12ee3936364a3aa26da384e3d2ad2344be0091f04f9531f04ecb1dca98aca") + depends_on("c", type="build") # generated + # Dependency demands ocamlbuild depends_on("ocaml") depends_on("ocamlbuild") diff --git a/var/spack/repos/builtin/packages/heyoka/package.py b/var/spack/repos/builtin/packages/heyoka/package.py index 25dd1851faecc2..7a35fd4f26f531 100644 --- a/var/spack/repos/builtin/packages/heyoka/package.py +++ b/var/spack/repos/builtin/packages/heyoka/package.py @@ -29,6 +29,8 @@ class Heyoka(CMakePackage): version("0.19.0", sha256="7a7634379233be778fd6b15090df287787cc429314ec521d0336cdc1ae26642a") version("0.18.0", sha256="2a14a988d973d9a76424df05d38f89ae64f7a1e1c12131022e338fe2de2dcb94") + depends_on("cxx", type="build") # generated + # Define variants of the package variant("mppp", default=False, description="enable features relying on the mp++ library") variant("sleef", default=False, description="enable features relying on the SLEEF library") diff --git a/var/spack/repos/builtin/packages/hh-suite/package.py b/var/spack/repos/builtin/packages/hh-suite/package.py index 1283c8472b0b41..4735ddd9f42e72 100644 --- a/var/spack/repos/builtin/packages/hh-suite/package.py +++ b/var/spack/repos/builtin/packages/hh-suite/package.py @@ -21,6 +21,9 @@ class HhSuite(CMakePackage): version("3.3.0", sha256="dd67f7f3bf601e48c9c0bc4cf1fbe3b946f787a808bde765e9436a48d27b0964") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") depends_on("cmake@2.8.12:", type="build") diff --git a/var/spack/repos/builtin/packages/hicops/package.py b/var/spack/repos/builtin/packages/hicops/package.py index 7cfd6c36728344..c599dbec39946c 100644 --- a/var/spack/repos/builtin/packages/hicops/package.py +++ b/var/spack/repos/builtin/packages/hicops/package.py @@ -20,6 +20,8 @@ class Hicops(CMakePackage): version("release", branch="release") version("develop", branch="develop") + depends_on("cxx", type="build") # generated + # Build Options variant("mpi", default=True, description="Enable MPI support.") variant( diff --git a/var/spack/repos/builtin/packages/highfive/package.py b/var/spack/repos/builtin/packages/highfive/package.py index e55b9511a57477..6dd99723c8daa2 100644 --- a/var/spack/repos/builtin/packages/highfive/package.py +++ b/var/spack/repos/builtin/packages/highfive/package.py @@ -41,6 +41,8 @@ class Highfive(CMakePackage): version("1.1", sha256="430fc312fc1961605ffadbfad82b9753a5e59482e9fbc64425fb2c184123d395") version("1.0", sha256="d867fe73d00817f686d286f3c69a23731c962c3e2496ca1657ea7302cd0bb944") + depends_on("cxx", type="build") # generated + variant("boost", default=False, description="Support Boost") variant("mpi", default=True, description="Support MPI") diff --git a/var/spack/repos/builtin/packages/highway/package.py b/var/spack/repos/builtin/packages/highway/package.py index 3c7fd5ff578790..bb14ce3287739c 100644 --- a/var/spack/repos/builtin/packages/highway/package.py +++ b/var/spack/repos/builtin/packages/highway/package.py @@ -24,11 +24,16 @@ class Highway(CMakePackage): version("1.0.1", sha256="7ca6af7dc2e3e054de9e17b9dfd88609a7fd202812b1c216f43cc41647c97311") version("1.0.0", sha256="ab4f5f864932268356f9f6aa86f612fa4430a7db3c8de0391076750197e876b8") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.10:", type="build") depends_on("googletest", type="test") def cmake_args(self): - args = [] + args = [ + self.define("HWY_ENABLE_TESTS", self.run_tests), + self.define("BUILD_TESTING", self.run_tests), + ] if self.run_tests: args.append(self.define("HWY_SYSTEM_GTEST", True)) return args diff --git a/var/spack/repos/builtin/packages/highwayhash/package.py b/var/spack/repos/builtin/packages/highwayhash/package.py index 8dad7acc99c662..e86c65a62c3270 100644 --- a/var/spack/repos/builtin/packages/highwayhash/package.py +++ b/var/spack/repos/builtin/packages/highwayhash/package.py @@ -21,6 +21,8 @@ class Highwayhash(MakefilePackage): version("dfcb97", commit="dfcb97ca4fe9277bf9dc1802dd979b071896453b") + depends_on("cxx", type="build") # generated + build_targets = ["all", "libhighwayhash.a"] def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/hiop/package.py b/var/spack/repos/builtin/packages/hiop/package.py index 4364d0eeb303f8..ae00e6643caafc 100644 --- a/var/spack/repos/builtin/packages/hiop/package.py +++ b/var/spack/repos/builtin/packages/hiop/package.py @@ -5,8 +5,6 @@ import os -import llnl.util.tty as tty - from spack.package import * @@ -72,10 +70,14 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage): version("master", branch="master") version("develop", branch="develop") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("jsrun", default=False, description="Enable/Disable jsrun command for testing") variant("shared", default=False, description="Enable/Disable shared libraries") variant("mpi", default=True, description="Enable/Disable MPI") - variant("raja", default=False, description="Enable/Disable RAJA") + variant("raja", default=False, when="@0.3.99:", description="Enable/Disable RAJA") variant("kron", default=False, description="Enable/Disable Kron reduction") variant("sparse", default=False, description="Enable/Disable Sparse linear algebra") variant( @@ -124,7 +126,11 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage): # 1.0.2 fixes bug with cuda 12 compatibility # hiop@0.6.0 requires cusolver API in cuda@11 depends_on("cuda@11:11.9", when="@0.6.0:1.0.1+cuda") - depends_on("cuda@11:", when="@develop:+cuda") + # Version v0.7.0 of HiOp is the earliest version that uses + # cusparseSpGEMMreuse_workEstimation + # which appears for the first time in the cuSPARSE version shipped with + # CUDA 11.3.1, at least according to the CUDA online documentation. + depends_on("cuda@11.3.1:", when="@0.7:+cuda") # Before hiop@0.6.0 only cuda requirement was magma depends_on("cuda", when="@:0.5.4+cuda") @@ -134,9 +140,11 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage): # RAJA > 0.14 and Umpire > 6.0 require c++ std 14 # We are working on supporting newer Umpire/RAJA versions - depends_on("raja@0.14.0:0.14", when="@0.5.0:+raja") - depends_on("umpire@6.0.0:6", when="@0.5.0:+raja") - depends_on("camp@0.2.3:0.2", when="@0.5.0:+raja") + depends_on("raja@0.14", when="@0.5:+raja") + depends_on("raja@:0.13", when="@0.3.99:0.4+raja") + depends_on("umpire@6", when="@0.5:+raja") + depends_on("umpire@:5", when="@0.3.99:0.4+raja") + depends_on("camp@0.2.3:0.2", when="@0.3.99:+raja") # This is no longer a requirement in RAJA > 0.14 depends_on("umpire+cuda~shared", when="+raja+cuda ^raja@:0.14") @@ -149,8 +157,10 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage): # We rely on RAJA / Umpire utilities when supporting CUDA backend conflicts("~raja", when="+cuda", msg="RAJA is required for CUDA support") + conflicts("~raja", when="+rocm", msg="RAJA is required for ROCm support") depends_on("hip", when="+rocm") + depends_on("hiprand", when="+rocm") depends_on("hipblas", when="+rocm") depends_on("hipsparse", when="+rocm") @@ -266,37 +276,35 @@ def cmake_args(self): # # export SPACK_USER_CACHE_PATH=/tmp/spack # export SPACK_DISABLE_LOCAL_CONFIG=true - def test(self): - if not self.spec.satisfies("@develop") or not os.path.isdir(self.prefix.bin): - tty.info("Skipping: checks not installed in bin for v{0}".format(self.version)) - return - - tests = [ - ["NlpMdsEx1.exe", "400", "100", "0", "-selfcheck"], - ["NlpMdsEx1.exe", "400", "100", "1", "-selfcheck"], - ["NlpMdsEx1.exe", "400", "100", "0", "-empty_sp_row", "-selfcheck"], + + def run_hiop(self, raja): + if raja: + exName = "NlpMdsEx1Raja.exe" + else: + exName = "NlpMdsEx1.exe" + + exe = os.path.join(self.prefix.bin, exName) + if not os.path.exists(exe): + raise SkipTest(f"{exName} does not exist in version {self.version}") + + options = [ + ["400", "100", "0", "-selfcheck"], + ["400", "100", "1", "-selfcheck"], + ["400", "100", "0", "-empty_sp_row", "-selfcheck"], ] - if "+raja" in self.spec: - tests.extend( - [ - ["NlpMdsEx1Raja.exe", "400", "100", "0", "-selfcheck"], - ["NlpMdsEx1Raja.exe", "400", "100", "1", "-selfcheck"], - ["NlpMdsEx1Raja.exe", "400", "100", "0", "-empty_sp_row", "-selfcheck"], - ] - ) + exe = which(exe) - for i, test in enumerate(tests): - exe = os.path.join(self.prefix.bin, test[0]) - args = test[1:] - reason = 'test {0}: "{1}"'.format(i, " ".join(test)) - self.run_test( - exe, - args, - [], - 0, - installed=False, - purpose=reason, - skip_missing=True, - work_dir=self.prefix.bin, - ) + for i, args in enumerate(options): + with test_part(self, f"test_{exName}_{i+1}", purpose=" ".join(args)): + exe(*args) + + def test_NlpMdsEx1(self): + """Test NlpMdsEx1""" + self.run_hiop(False) + + def test_NlpMdsEx1Raja(self): + """Test NlpMdsEx1 with +raja""" + if "+raja" not in self.spec: + raise SkipTest("Package must be installed with +raja") + self.run_hiop(True) diff --git a/var/spack/repos/builtin/packages/hip-examples/package.py b/var/spack/repos/builtin/packages/hip-examples/package.py index 22f5705389649a..279ecb4ddde96f 100644 --- a/var/spack/repos/builtin/packages/hip-examples/package.py +++ b/var/spack/repos/builtin/packages/hip-examples/package.py @@ -24,6 +24,10 @@ class HipExamples(Package): version("5.5.0", sha256="bea8a4155bbfbdb3bc1f83c22e4bd1214b1b4e1840b58dc7d37704620de5b103") version("5.4.3", sha256="053b8b7892e2929e3f90bd978d8bb1c9801e4803eadd7d97fc6692ce60af1d47") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + patch("0001-add-inc-and-lib-paths-to-openmp-helloworld.patch") patch("0002-add-fpic-compile-to-add4.patch") diff --git a/var/spack/repos/builtin/packages/hip-rocclr/package.py b/var/spack/repos/builtin/packages/hip-rocclr/package.py index cd9f409da9e400..420e3954becf88 100644 --- a/var/spack/repos/builtin/packages/hip-rocclr/package.py +++ b/var/spack/repos/builtin/packages/hip-rocclr/package.py @@ -28,37 +28,24 @@ class HipRocclr(CMakePackage): version("5.6.0", sha256="864f87323e793e60b16905284fba381a7182b960dd4a37fb67420c174442c03c") version("5.5.1", sha256="1375fc7723cfaa0ae22a78682186d4804188b0a54990bfd9c0b8eb421b85e37e") version("5.5.0", sha256="efbae9a1ef2ab3de5ca44091e9bb78522e76759c43524c1349114f9596cc61d1") - version("5.4.3", sha256="71d9668619ab57ec8a4564d11860438c5aad5bd161a3e58fbc49555fbd59182d") - version("5.4.0", sha256="46a1579310b3ab9dc8948d0fb5bed4c6b312f158ca76967af7ab69e328d43138") - version("5.3.3", sha256="f8133a5934f9c53b253d324876d74f08a19e2f5b073bc94a62fe64b0d2183a18") - version("5.3.0", sha256="2bf14116b5e2270928265f5d417b3d0f0f2e13cbc8ec5eb8c80d4d4a58ff7e94") with default_args(deprecated=True): + version("5.4.3", sha256="71d9668619ab57ec8a4564d11860438c5aad5bd161a3e58fbc49555fbd59182d") + version("5.4.0", sha256="46a1579310b3ab9dc8948d0fb5bed4c6b312f158ca76967af7ab69e328d43138") + version("5.3.3", sha256="f8133a5934f9c53b253d324876d74f08a19e2f5b073bc94a62fe64b0d2183a18") + version("5.3.0", sha256="2bf14116b5e2270928265f5d417b3d0f0f2e13cbc8ec5eb8c80d4d4a58ff7e94") version("5.2.3", sha256="0493c414d4db1af8e1eb30a651d9512044644244488ebb13478c2138a7612998") version("5.2.1", sha256="465ca9fa16869cd89dab8c2d66d9b9e3c14f744bbedaa1d215b0746d77a500ba") version("5.2.0", sha256="37f5fce04348183bce2ece8bac1117f6ef7e710ca68371ff82ab08e93368bafb") version("5.1.3", sha256="ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48") version("5.1.0", sha256="f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa") + depends_on("cxx", type="build") # generated + depends_on("cmake@3:", type="build") depends_on("gl@4.5:", type="link") depends_on("numactl", type="link") - for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", - "5.3.0", - "5.3.3", - "5.4.0", - "5.4.3", - "5.5.0", - "5.5.1", - "5.6.0", - "5.6.1", - "master", - ]: + for ver in ["5.3.0", "5.3.3", "5.4.0", "5.4.3", "5.5.0", "5.5.1", "5.6.0", "5.6.1", "master"]: depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") depends_on(f"comgr@{ver}", when=f"@{ver}") @@ -73,11 +60,6 @@ class HipRocclr(CMakePackage): ("5.4.0", "a294639478e76c75dac0e094b418f9bd309309b07faf6af126cdfad9aab3c5c7"), ("5.3.3", "cab394e6ef16c35bab8de29a66b96a7dc0e7d1297aaacba3718fa1d369233c9f"), ("5.3.0", "d251e2efe95dc12f536ce119b2587bed64bbda013969fa72be58062788044a9e"), - ("5.2.3", "932ea3cd268410010c0830d977a30ef9c14b8c37617d3572a062b5d4595e2b94"), - ("5.2.1", "eb4ff433f8894ca659802f81792646034f8088b47aca6ad999292bcb8d6381d5"), - ("5.2.0", "80f73387effdcd987a150978775a87049a976aa74f5770d4420847b004dd59f0"), - ("5.1.3", "44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31"), - ("5.1.0", "362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927"), ]: resource( name="opencl-on-vdi", diff --git a/var/spack/repos/builtin/packages/hip-tensor/package.py b/var/spack/repos/builtin/packages/hip-tensor/package.py index cbffbe3b8c367b..9d0c887726647c 100644 --- a/var/spack/repos/builtin/packages/hip-tensor/package.py +++ b/var/spack/repos/builtin/packages/hip-tensor/package.py @@ -11,12 +11,13 @@ class HipTensor(CMakePackage, ROCmPackage): homepage = "https://github.com/ROCm/hipTensor" git = "https://github.com/ROCm/hipTensor.git" - url = "https://github.com/ROCm/hipTensor/archive/refs/tags/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/hipTensor/archive/refs/tags/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "afzpatel") version("master", branch="master") + version("6.1.2", sha256="ac0e07a3019bcce4a0a98aafa4922d5fc9e953bed07084abef5306c851717783") version("6.1.1", sha256="09bcdbf6b1d20dc4d75932abd335a9a534b16a8343858121daa5813a38f5ad3a") version("6.1.0", sha256="9cc43b1b3394383f22f30e194d8753ca6ff1887c83ec1de5823cb2e94976eeed") version("6.0.2", sha256="6e6e7530eabbd1fb28b83efa5a49c19a6642d40e1554224ebb1e0a5999045e27") @@ -24,13 +25,15 @@ class HipTensor(CMakePackage, ROCmPackage): version("5.7.1", sha256="96743d4e695fe865aef4097ae31d9b4e42a2d5a92135a005b0d187d9c0b17645") version("5.7.0", sha256="4b17f6d43b17fe2dc1d0c61e9663d4752006f7898cc94231206444a1663eb252") + depends_on("cxx", type="build") # generated + variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") - for ver in ["5.7.0", "5.7.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1", "master"]: + for ver in ["5.7.0", "5.7.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2", "master"]: depends_on(f"composable-kernel@{ver}", when=f"@{ver}") depends_on(f"rocm-cmake@{ver}", when=f"@{ver}") - for ver in ["6.1.0", "6.1.1"]: + for ver in ["6.1.0", "6.1.1", "6.1.2"]: depends_on(f"hipcc@{ver}", when=f"@{ver}") def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/hip/0011-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.5.0.2.patch b/var/spack/repos/builtin/packages/hip/0011-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.5.0.2.patch deleted file mode 100644 index 9308e8635c534d..00000000000000 --- a/var/spack/repos/builtin/packages/hip/0011-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.5.0.2.patch +++ /dev/null @@ -1,78 +0,0 @@ -diff --git a/bin/hipcc.pl b/bin/hipcc.pl -index 7b84067..9acccc0 100755 ---- a/bin/hipcc.pl -+++ b/bin/hipcc.pl -@@ -605,7 +605,8 @@ if($HIP_PLATFORM eq "amd"){ - $targetsStr = $ENV{HCC_AMDGPU_TARGET}; - } elsif (not $isWindows) { - # Else try using rocm_agent_enumerator -- $ROCM_AGENT_ENUM = "${ROCM_PATH}/bin/rocm_agent_enumerator"; -+ $ROCMINFO_PATH = $ENV{'ROCMINFO_PATH'} // $ROCM_PATH; -+ $ROCM_AGENT_ENUM = "${ROCMINFO_PATH}/bin/rocm_agent_enumerator"; - $targetsStr = `${ROCM_AGENT_ENUM} -t GPU`; - $targetsStr =~ s/\n/,/g; - } -diff --git a/hipamd/CMakeLists.txt b/hipamd/CMakeLists.txt -index 20b45aa..d463d1a 100755 ---- a/hipamd/CMakeLists.txt -+++ b/hipamd/CMakeLists.txt -@@ -90,7 +90,18 @@ string(REPLACE "-" ";" VERSION_LIST ${HIP_VERSION_PATCH_GITHASH}) - list(GET VERSION_LIST 0 HIP_VERSION_PATCH) - set(HIP_VERSION_GITDATE 0) - --find_package(Git) -+if (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/.git") -+ find_package(Git) -+endif() -+ -+set(HIP_PACKAGING_VERSION_PATCH "0") -+set(HIP_VERSION_GITDATE "0") -+set(HIP_VERSION_PATCH "0") -+set(HIP_VERSION_GITHASH "0") -+set(HIP_VERSION_PATCH_GITHASH "0") -+set (HIP_LIB_VERSION_PATCH "0") -+set(HIP_VERSION_BUILD_ID 0) -+set(HIP_VERSION_BUILD_NAME "") - - # FIXME: Two different version strings used. - # Below we use UNIX commands, not compatible with Windows. -@@ -138,9 +149,6 @@ if(GIT_FOUND) - else() - set(HIP_PACKAGING_VERSION_PATCH ${HIP_VERSION_PATCH}-${HIP_VERSION_GITHASH}) - endif() --else() -- # FIXME: Some parts depend on this being set. -- set(HIP_PACKAGING_VERSION_PATCH "0") - endif() - - ## Debian package specific variables -@@ -183,7 +191,7 @@ set (HIP_LIB_VERSION_MINOR ${HIP_VERSION_MINOR}) - if (${ROCM_PATCH_VERSION} ) - set (HIP_LIB_VERSION_PATCH ${ROCM_PATCH_VERSION}) - else () -- set (HIP_LIB_VERSION_PATCH ${HIP_VERSION_PATCH}-${HIP_VERSION_GITHASH}) -+ set (HIP_LIB_VERSION_PATCH "0") - endif () - set (HIP_LIB_VERSION_STRING "${HIP_LIB_VERSION_MAJOR}.${HIP_LIB_VERSION_MINOR}.${HIP_LIB_VERSION_PATCH}") - if (DEFINED ENV{ROCM_RPATH}) -diff --git a/hipamd/hip-config.cmake.in b/hipamd/hip-config.cmake.in -index 274e3f1..2d024a8 100755 ---- a/hipamd/hip-config.cmake.in -+++ b/hipamd/hip-config.cmake.in -@@ -215,7 +215,7 @@ if(HIP_RUNTIME MATCHES "rocclr") - - if(NOT WIN32) - set_target_properties(hip::device PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include" -+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include" - ) - endif() -@@ -286,7 +286,6 @@ if(HIP_COMPILER STREQUAL "clang") - if(CLANGRT_BUILTINS-NOTFOUND) - message(FATAL_ERROR "clangrt builtins lib not found") - else() -- set_property(TARGET hip::host APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") - set_property(TARGET hip::device APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") - endif() - endif() diff --git a/var/spack/repos/builtin/packages/hip/0012-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.5.2.0.patch b/var/spack/repos/builtin/packages/hip/0012-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.5.2.0.patch deleted file mode 100644 index 3c44a29bbd7298..00000000000000 --- a/var/spack/repos/builtin/packages/hip/0012-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.5.2.0.patch +++ /dev/null @@ -1,78 +0,0 @@ -From d3d2b2b69ac04ac1d1ead30f546fb4884fb93e27 Mon Sep 17 00:00:00 2001 -From: Renjith Ravindran -Date: Mon, 8 Aug 2022 22:26:13 +0000 -Subject: [PATCH] Improve compilation without git repo and remove compiler rt - linkage for host and correction in CMake target path variable - ---- - bin/hipcc.pl | 3 ++- - hipamd/CMakeLists.txt | 12 +++++++++--- - hipamd/hip-config.cmake.in | 1 - - 3 files changed, 11 insertions(+), 5 deletions(-) - -diff --git a/bin/hipcc.pl b/bin/hipcc.pl -index 1ef3a90..995abe5 100755 ---- a/bin/hipcc.pl -+++ b/bin/hipcc.pl -@@ -605,7 +605,8 @@ if($HIP_PLATFORM eq "amd"){ - $targetsStr = $ENV{HCC_AMDGPU_TARGET}; - } elsif (not $isWindows) { - # Else try using rocm_agent_enumerator -- $ROCM_AGENT_ENUM = "${ROCM_PATH}/bin/rocm_agent_enumerator"; -+ $ROCMINFO_PATH = $ENV{'ROCMINFO_PATH'} // $ROCM_PATH; -+ $ROCM_AGENT_ENUM = "${ROCMINFO_PATH}/bin/rocm_agent_enumerator"; - $targetsStr = `${ROCM_AGENT_ENUM} -t GPU`; - $targetsStr =~ s/\n/,/g; - } -diff --git a/hipamd/CMakeLists.txt b/hipamd/CMakeLists.txt -index 9591924..4f50c2a 100755 ---- a/hipamd/CMakeLists.txt -+++ b/hipamd/CMakeLists.txt -@@ -91,7 +91,13 @@ string(REPLACE "-" ";" VERSION_LIST ${HIP_VERSION_PATCH_GITHASH}) - list(GET VERSION_LIST 0 HIP_VERSION_PATCH) - set(HIP_VERSION_GITDATE 0) - --find_package(Git) -+if (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/.git") -+ find_package(Git) -+endif() -+set(HIP_VERSION_GITDATE "0") -+set(HIP_VERSION_GITHASH "0") -+set(HIP_VERSION_BUILD_ID 0) -+set(HIP_VERSION_BUILD_NAME "") - - # FIXME: Two different version strings used. - # Below we use UNIX commands, not compatible with Windows. -@@ -183,7 +189,7 @@ set (HIP_LIB_VERSION_MINOR ${HIP_VERSION_MINOR}) - if (${ROCM_PATCH_VERSION} ) - set (HIP_LIB_VERSION_PATCH ${ROCM_PATCH_VERSION}) - else () -- set (HIP_LIB_VERSION_PATCH ${HIP_VERSION_PATCH}-${HIP_VERSION_GITHASH}) -+ set (HIP_LIB_VERSION_PATCH "0") - endif () - set (HIP_LIB_VERSION_STRING "${HIP_LIB_VERSION_MAJOR}.${HIP_LIB_VERSION_MINOR}.${HIP_LIB_VERSION_PATCH}") - if (DEFINED ENV{ROCM_RPATH}) -@@ -395,7 +401,7 @@ if(NOT ${INSTALL_SOURCE} EQUAL 0) - if(WIN32) - install(DIRECTORY ${HIP_COMMON_DIR}/cmake DESTINATION .) - else() -- install(DIRECTORY ${HIP_COMMON_DIR}/cmake/ DESTINATION CONFIG_PACKAGE_INSTALL_DIR) -+ install(DIRECTORY ${HIP_COMMON_DIR}/cmake/ DESTINATION ${CONFIG_PACKAGE_INSTALL_DIR}) - endif() - endif() - -diff --git a/hipamd/hip-config.cmake.in b/hipamd/hip-config.cmake.in -index ba3e75c..02dd586 100755 ---- a/hipamd/hip-config.cmake.in -+++ b/hipamd/hip-config.cmake.in -@@ -290,7 +290,6 @@ if(HIP_COMPILER STREQUAL "clang") - if(CLANGRT_BUILTINS-NOTFOUND) - message(FATAL_ERROR "clangrt builtins lib not found") - else() -- set_property(TARGET hip::host APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") - set_property(TARGET hip::device APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") - endif() - endif() --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hip/0012-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.5.2.1.patch b/var/spack/repos/builtin/packages/hip/0012-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.5.2.1.patch deleted file mode 100644 index e332f90ee4e6d0..00000000000000 --- a/var/spack/repos/builtin/packages/hip/0012-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.5.2.1.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 526da7995578ef12908a297ae6fef4db0488253e Mon Sep 17 00:00:00 2001 -From: sreenivasa murthy kolam -Date: Tue, 16 Aug 2022 04:09:46 +0000 -Subject: [PATCH] Improve compilation without git repo and remove compiler rt - linkage-for-host - ---- - bin/hipcc.pl | 3 ++- - hipamd/CMakeLists.txt | 11 ++++++++--- - hipamd/hip-config.cmake.in | 1 - - 3 files changed, 10 insertions(+), 5 deletions(-) - -diff --git a/bin/hipcc.pl b/bin/hipcc.pl -index 1ef3a90..995abe5 100755 ---- a/bin/hipcc.pl -+++ b/bin/hipcc.pl -@@ -605,7 +605,8 @@ if($HIP_PLATFORM eq "amd"){ - $targetsStr = $ENV{HCC_AMDGPU_TARGET}; - } elsif (not $isWindows) { - # Else try using rocm_agent_enumerator -- $ROCM_AGENT_ENUM = "${ROCM_PATH}/bin/rocm_agent_enumerator"; -+ $ROCMINFO_PATH = $ENV{'ROCMINFO_PATH'} // $ROCM_PATH; -+ $ROCM_AGENT_ENUM = "${ROCMINFO_PATH}/bin/rocm_agent_enumerator"; - $targetsStr = `${ROCM_AGENT_ENUM} -t GPU`; - $targetsStr =~ s/\n/,/g; - } -diff --git a/hipamd/CMakeLists.txt b/hipamd/CMakeLists.txt -index f425504..831b192 100755 ---- a/hipamd/CMakeLists.txt -+++ b/hipamd/CMakeLists.txt -@@ -89,9 +89,14 @@ list(GET VERSION_LIST 1 HIP_VERSION_MINOR) - list(GET VERSION_LIST 2 HIP_VERSION_PATCH_GITHASH) - string(REPLACE "-" ";" VERSION_LIST ${HIP_VERSION_PATCH_GITHASH}) - list(GET VERSION_LIST 0 HIP_VERSION_PATCH) --set(HIP_VERSION_GITDATE 0) -+if (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/.git") -+ find_package(Git) -+endif() -+set(HIP_VERSION_GITDATE "0") -+set(HIP_VERSION_GITHASH "0") -+set(HIP_VERSION_BUILD_ID 0) -+set(HIP_VERSION_BUILD_NAME "") - --find_package(Git) - - # FIXME: Two different version strings used. - # Below we use UNIX commands, not compatible with Windows. -@@ -183,7 +188,7 @@ set (HIP_LIB_VERSION_MINOR ${HIP_VERSION_MINOR}) - if (${ROCM_PATCH_VERSION} ) - set (HIP_LIB_VERSION_PATCH ${ROCM_PATCH_VERSION}) - else () -- set (HIP_LIB_VERSION_PATCH ${HIP_VERSION_PATCH}-${HIP_VERSION_GITHASH}) -+ set (HIP_LIB_VERSION_PATCH ${HIP_VERSION_PATCH}) - endif () - set (HIP_LIB_VERSION_STRING "${HIP_LIB_VERSION_MAJOR}.${HIP_LIB_VERSION_MINOR}.${HIP_LIB_VERSION_PATCH}") - if (DEFINED ENV{ROCM_RPATH}) -diff --git a/hipamd/hip-config.cmake.in b/hipamd/hip-config.cmake.in -index ba3e75c..02dd586 100755 ---- a/hipamd/hip-config.cmake.in -+++ b/hipamd/hip-config.cmake.in -@@ -290,7 +290,6 @@ if(HIP_COMPILER STREQUAL "clang") - if(CLANGRT_BUILTINS-NOTFOUND) - message(FATAL_ERROR "clangrt builtins lib not found") - else() -- set_property(TARGET hip::host APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") - set_property(TARGET hip::device APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") - endif() - endif() --- -2.18.4 - diff --git a/var/spack/repos/builtin/packages/hip/package.py b/var/spack/repos/builtin/packages/hip/package.py index 40904e93066ad8..7bd920a6b8d886 100644 --- a/var/spack/repos/builtin/packages/hip/package.py +++ b/var/spack/repos/builtin/packages/hip/package.py @@ -18,7 +18,7 @@ class Hip(CMakePackage): homepage = "https://github.com/ROCm/HIP" git = "https://github.com/ROCm/HIP.git" - url = "https://github.com/ROCm/HIP/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/HIP/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath", "haampie") @@ -27,6 +27,7 @@ class Hip(CMakePackage): license("MIT") version("master", branch="master") + version("6.1.2", sha256="9ba5f70a553b48b2cea25c7e16b97ad49320750c0152763b173b63b9f151e783") version("6.1.1", sha256="09e8013b8071fca2cf914758001bbd1dccaa237e798e945970e4356cb9b90050") version("6.1.0", sha256="6fd57910a16d0b54df822807e67b6207146233a2de5a46c6a05b940a21e2c4d7") version("6.0.2", sha256="b47178db94f2acc106e1a88ceb029844805266ebaba11ef63744e90d224b11be") @@ -37,16 +38,11 @@ class Hip(CMakePackage): version("5.6.0", sha256="a8237768c1ae70029d972376f8d279f4de18a1e6106fff6215d1e16847bc375e") version("5.5.1", sha256="1f5f6bb72d8d64335ccc8242ef2e2ea8efeb380cce2997f475b1ee77528d9fb4") version("5.5.0", sha256="5b0d0253e62f85cc21d043513f7c11c64e4a4ec416159668f0b160d732d09a3c") - version("5.4.3", sha256="23e51d3af517cd63019f8d199e46b84d5a18251d148e727f3985e8d99ccb0e58") - version("5.4.0", sha256="e290f835d69ef23e8b5833a7e616b0a989ff89ada4412d9742430819546efc6c") - version("5.3.3", sha256="51d4049dc37d261afb9e1270e60e112708ff06b470721ff21023e16e040e4403") - version("5.3.0", sha256="05225832fb5a4d24f49a773ac27e315239943a6f24291a50d184e2913f2cdbe0") with default_args(deprecated=True): - version("5.2.3", sha256="5b83d1513ea4003bfad5fe8fa741434104e3e49a87e1d7fad49e5a8c1d06e57b") - version("5.2.1", sha256="7d4686a2f8a9124bb21f7f3958e451c57019f48a0cbb42ffdc56ed02860a46c3") - version("5.2.0", sha256="a6e0515d4d25865c037b546035df9c51f0882cd2700e759c266ff7e199f37c3a") - version("5.1.3", sha256="ce755ee6e407904eba3f6b3c9efcdd48eb4f58a26b06e1892166d05f19a75973") - version("5.1.0", sha256="47e542183699f4005c48631d96f6a1fbdf27e07ad3402ccd7b5f707c2c602266") + version("5.4.3", sha256="23e51d3af517cd63019f8d199e46b84d5a18251d148e727f3985e8d99ccb0e58") + version("5.4.0", sha256="e290f835d69ef23e8b5833a7e616b0a989ff89ada4412d9742430819546efc6c") + version("5.3.3", sha256="51d4049dc37d261afb9e1270e60e112708ff06b470721ff21023e16e040e4403") + version("5.3.0", sha256="05225832fb5a4d24f49a773ac27e315239943a6f24291a50d184e2913f2cdbe0") variant("rocm", default=True, description="Enable ROCm support") variant("cuda", default=False, description="Build with CUDA") @@ -65,11 +61,6 @@ class Hip(CMakePackage): depends_on("gl@4.5:") depends_on("py-cppheaderparser", type="build", when="@5.3.3:") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -84,6 +75,7 @@ class Hip(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") @@ -105,6 +97,7 @@ class Hip(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hipify-clang@{ver}", when=f"@{ver}") @@ -119,14 +112,15 @@ class Hip(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") # hipcc likes to add `-lnuma` by default :( # ref https://github.com/ROCm/HIP/pull/2202 depends_on("numactl", when="@3.7.0:") - for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1"]: - depends_on(f"hipcc@{ver}", when=f"@{ver}") + for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2"]: + depends_on(f"hipcc@{ver}", when=f"@{ver}") # roc-obj-ls requirements depends_on("perl-file-which") @@ -140,11 +134,6 @@ class Hip(CMakePackage): ("5.4.0", "c4b79738eb6e669160382b6c47d738ac59bd493fc681ca400ff012a2e8212955"), ("5.3.3", "36acce92af39b0fa06002e164f5a7f5a9c7daa19bf96645361325775a325499d"), ("5.3.0", "81e9bd5209a7b400c986f9bf1d7079bcf7169bbcb06fc4fe843644559a4d612e"), - ("5.2.3", "5031d07554ce07620e24e44d482cbc269fa972e3e35377e935d2694061ff7c04"), - ("5.2.1", "4feaa3883cbc54ddcd5d2d5becbe0f3fe3edd5b3b468dc73b5104893029eefac"), - ("5.2.0", "8774958bebc29a4b7eb9dc2d38808d79d9a24bf9c1f44e801ff99d2d5ba82240"), - ("5.1.3", "707f2217f0e7aeb62d7b76830a271056d665542bf5f7a54e40adf4d5f299ca93"), - ("5.1.0", "77984854bfe00f938353fe4c7604d09967eaf5c609d05f1e6423d3c3dea86e61"), ]: resource( name="hipamd", @@ -163,11 +152,6 @@ class Hip(CMakePackage): ("5.4.0", "a294639478e76c75dac0e094b418f9bd309309b07faf6af126cdfad9aab3c5c7"), ("5.3.3", "cab394e6ef16c35bab8de29a66b96a7dc0e7d1297aaacba3718fa1d369233c9f"), ("5.3.0", "d251e2efe95dc12f536ce119b2587bed64bbda013969fa72be58062788044a9e"), - ("5.2.3", "932ea3cd268410010c0830d977a30ef9c14b8c37617d3572a062b5d4595e2b94"), - ("5.2.1", "eb4ff433f8894ca659802f81792646034f8088b47aca6ad999292bcb8d6381d5"), - ("5.2.0", "80f73387effdcd987a150978775a87049a976aa74f5770d4420847b004dd59f0"), - ("5.1.3", "44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31"), - ("5.1.0", "362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927"), ]: resource( name="opencl", @@ -185,11 +169,6 @@ class Hip(CMakePackage): ("5.4.0", "46a1579310b3ab9dc8948d0fb5bed4c6b312f158ca76967af7ab69e328d43138"), ("5.3.3", "f8133a5934f9c53b253d324876d74f08a19e2f5b073bc94a62fe64b0d2183a18"), ("5.3.0", "2bf14116b5e2270928265f5d417b3d0f0f2e13cbc8ec5eb8c80d4d4a58ff7e94"), - ("5.2.3", "0493c414d4db1af8e1eb30a651d9512044644244488ebb13478c2138a7612998"), - ("5.2.1", "465ca9fa16869cd89dab8c2d66d9b9e3c14f744bbedaa1d215b0746d77a500ba"), - ("5.2.0", "37f5fce04348183bce2ece8bac1117f6ef7e710ca68371ff82ab08e93368bafb"), - ("5.1.3", "ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48"), - ("5.1.0", "f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa"), ]: resource( name="rocclr", @@ -202,6 +181,7 @@ class Hip(CMakePackage): ) # Add hip-clr sources thru the below for d_version, d_shasum in [ + ("6.1.2", "1a1e21640035d957991559723cd093f0c7e202874423667d2ba0c7662b01fea4"), ("6.1.1", "2db02f335c9d6fa69befcf7c56278e5cecfe3db0b457eaaa41206c2585ef8256"), ("6.1.0", "49b23eef621f4e8e528bb4de8478a17436f42053a2f7fde21ff221aa683205c7"), ("6.0.2", "cb8ac610c8d4041b74fb3129c084f1e7b817ce1a5a9943feca1fa7531dc7bdcc"), @@ -252,8 +232,27 @@ class Hip(CMakePackage): placement="hipcc", when=f"@{d_version}", ) + # Add hipother sources thru the below + for d_version, d_shasum in [ + ("6.1.2", "2740d1e3dcf1f2d07d2a8db6acf4c972941ae392172b83fd8ddcfe8706a40d0b"), + ("6.1.1", "8b975623c8ed1db53feea2cfd5d29f2a615e890aee1157d0d17adeb97200643f"), + ("6.1.0", "43a48ccc82f705a15852392ee7419e648d913716bfc04063a53d2d17979b1b46"), + ("6.0.2", "0bebb3774debcecc0b29a0cc5aa98e373a3ee7acf161503d0d9c9d0ecc8b8010"), + ("6.0.0", "d3bf62cc17c3c44fea52b34bcbf725e7af1afc3542c2884cefcd41f65371f552"), + ]: + resource( + name="hipother", + url=f"https://github.com/ROCm/hipother/archive/refs/tags/rocm-{d_version}.tar.gz", + sha256=d_shasum, + expand=True, + destination="", + placement="hipother", + when=f"@{d_version} +cuda", + ) + # Add hiptests sources thru the below for d_version, d_shasum in [ + ("6.1.2", "5b14e4a30d8d8fb56c43e262009646ba9188eac1c8ff882d9a606a4bec69b56b"), ("6.1.1", "10c96ee72adf4580056292ab17cfd858a2fd7bc07abeb41c6780bd147b47f7af"), ("6.1.0", "cf3a6a7c43116032d933cc3bc88bfc4b17a4ee1513c978e751755ca11a5ed381"), ("6.0.2", "740ca064f4909c20d83226a63c2f164f7555783ec5f5f70be5bc23d3587ad829"), @@ -272,27 +271,11 @@ class Hip(CMakePackage): placement="hip-tests", when=f"@{d_version}", ) - patch( - "0011-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host" - ".5.0.2.patch", - when="@5.0.2:5.1.3", - ) # Improve compilation without git repo and remove compiler rt linkage # for host and correction in CMake target path variable and # correcting the CMake path variable. - patch( - "0012-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host" - ".5.2.0.patch", - when="@5.2.0", - ) - patch( - "0012-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host" - ".5.2.1.patch", - when="@5.2.1:5.2.3", - ) patch("0013-remove-compiler-rt-linkage-for-host.5.3.0.patch", when="@5.3.0:5.4") - patch("0014-hip-test-file-reorg-5.4.0.patch", when="@5.4.0:5.5") patch("0016-hip-sample-fix-hipMalloc-call.patch", when="@5.4.3:5.5") patch("0014-remove-compiler-rt-linkage-for-host.5.5.0.patch", when="@5.5") @@ -363,11 +346,9 @@ def get_paths(self): "rocminfo": rocm_prefix, "comgr": rocm_prefix, "rocm-device-libs": rocm_prefix, + "hipify-clang": rocm_prefix, } - if self.spec.satisfies("@5.4:"): - paths["hipify-clang"] = rocm_prefix - if self.spec.satisfies("@5.7:"): paths["hip-path"] = rocm_prefix else: @@ -379,14 +360,9 @@ def get_paths(self): "rocminfo": self.spec["rocminfo"].prefix, "comgr": self.spec["comgr"].prefix, "rocm-device-libs": self.spec["llvm-amdgpu"].prefix, + "hipify-clang": self.spec["hipify-clang"].prefix, } - - if self.spec.satisfies("@5.4:"): - paths["hipify-clang"] = self.spec["hipify-clang"].prefix - if "@:3.8.0" in self.spec: - paths["bitcode"] = paths["rocm-device-libs"].lib - else: - paths["bitcode"] = paths["rocm-device-libs"].amdgcn.bitcode + paths["bitcode"] = paths["rocm-device-libs"].amdgcn.bitcode return paths @@ -412,6 +388,8 @@ def set_variables(self, env): env.set("ROCM_PATH", paths["rocm-path"]) if self.spec.satisfies("@5.4:"): env.set("HIPIFY_CLANG_PATH", paths["hipify-clang"]) + if self.spec.satisfies("@6.1:"): + env.prepend_path("LD_LIBRARY_PATH", paths["hsa-rocr-dev"].lib) # hipcc recognizes HIP_PLATFORM == hcc and HIP_COMPILER == clang, even # though below we specified HIP_PLATFORM=rocclr and HIP_COMPILER=clang @@ -552,8 +530,12 @@ def cmake_args(self): ) args.append(self.define("HIP_RUNTIME", "rocclr")) args.append(self.define("HIP_PLATFORM", "amd")) + if self.spec.satisfies("@5.6.0:"): + args.append(self.define("HIP_LLVM_ROOT", self.spec["llvm-amdgpu"].prefix)) + if self.spec.satisfies("+cuda"): args.append(self.define("HIP_PLATFORM", "nvidia")) + args.append(self.define("HIPNV_DIR", self.stage.source_path + "/hipother/hipnv")) args.append(self.define("HIP_COMMON_DIR", self.stage.source_path)) args.append(self.define("HIP_CATCH_TEST", "OFF")) @@ -567,7 +549,6 @@ def cmake_args(self): args.append(self.define("AMD_OPENCL_PATH", self.stage.source_path + "/clr/opencl")) args.append(self.define("CLR_BUILD_HIP", True)), args.append(self.define("CLR_BUILD_OCL", False)), - args.append(self.define("HIP_LLVM_ROOT", self.spec["llvm-amdgpu"].prefix)) if "@5.6:5.7" in self.spec: args.append(self.define("HIPCC_BIN_DIR", self.stage.source_path + "/hipcc/bin")), if "@6.0:" in self.spec: @@ -586,18 +567,14 @@ def install_samples(self): 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 - elif self.spec.satisfies("@5.1:5.5"): + if self.spec.satisfies("@5.1:5.5"): self.cache_extra_test_sources([self.test_src_dir_old]) elif self.spec.satisfies("@5.6:"): self.cache_extra_test_sources([self.test_src_dir]) def test_samples(self): # configure, build and run all hip samples - if self.spec.satisfies("@:5.1.0"): - raise SkipTest("Test is only available for specs after version 5.1.0") - elif self.spec.satisfies("@5.1:5.5"): + if self.spec.satisfies("@5.1:5.5"): test_dir = join_path(self.test_suite.current_test_cache_dir, self.test_src_dir_old) elif self.spec.satisfies("@5.6:"): test_dir = join_path(self.test_suite.current_test_cache_dir, self.test_src_dir) diff --git a/var/spack/repos/builtin/packages/hipace/package.py b/var/spack/repos/builtin/packages/hipace/package.py index 70ca72c6215a9c..8b805fd47485db 100644 --- a/var/spack/repos/builtin/packages/hipace/package.py +++ b/var/spack/repos/builtin/packages/hipace/package.py @@ -24,6 +24,8 @@ class Hipace(CMakePackage): version("23.05", sha256="33a15cfeada3ca16c2a3af1538caa7ff731df13b48b884045a0fe7974382fcd1") version("21.09", sha256="5d27824fe6aac47ce26ca69759140ab4d7844f9042e436c343c03ea4852825f1") + depends_on("cxx", type="build") # generated + variant( "compute", default="noacc", diff --git a/var/spack/repos/builtin/packages/hipblas/package.py b/var/spack/repos/builtin/packages/hipblas/package.py index 1cb625acb4fdbf..6563a804a69e24 100644 --- a/var/spack/repos/builtin/packages/hipblas/package.py +++ b/var/spack/repos/builtin/packages/hipblas/package.py @@ -24,6 +24,7 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): version("develop", branch="develop") version("master", branch="master") + version("6.1.2", sha256="73699892855775a67f48c38beae78169a516078c17f1ed5d67c80abe5d308502") version("6.1.1", sha256="087ea82dff13c8162bf93343b174b18f1d58681711bce4fb7c8dc7212020c099") version("6.1.0", sha256="5f8193c4ef0508967e608a8adf86d63066a984c5803a4d05dd617021d6298091") version("6.0.2", sha256="10c1b6c1deb0f225c0fb6b2bb88398a32cd0d32d3ffce9b5c8df9db2cf88d25c") @@ -34,16 +35,15 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): version("5.6.0", sha256="9453a31324e10ba528f8f4755d2c270d0ed9baa33e980d8f8383204d8e28a563") version("5.5.1", sha256="5920c9a9c83cf7e2b42d1f99f5d5091cac7f6c0a040a737e869e57b92d7045a9") version("5.5.0", sha256="b080c25cb61531228d26badcdca856c46c640035c058bfc1c9f63de65f418cd5") - version("5.4.3", sha256="5acac147aafc15c249c2f24c19459135ed68b506403aa92e602b67cfc10c38b7") - version("5.4.0", sha256="341d61adff8d08cbf70aa07bd11a088bcd0687fc6156870a1aee9eff74f3eb4f") - version("5.3.3", sha256="1ce093fc6bc021ad4fe0b0b93f9501038a7a5a16b0fd4fc485d65cbd220a195e") - version("5.3.0", sha256="873d55749479873994679840906c4257316dfb09a6200411204ad4a8c2480565") with default_args(deprecated=True): - version("5.2.3", sha256="4d66db9b000b6207b5270d90556b724bfdb08ebbfcc675f014287e0be7ee6344") - version("5.2.1", sha256="ccae36b118b7a1eb4b2f7d65fb163f54ab9c5cf774dbe2ec60971d4f78ae8308") - version("5.2.0", sha256="5e9091dc4ef83896f5c3bc5ade1cb5db8e1a6afc451dbba4da19d8a7ec2b6f29") - version("5.1.3", sha256="f0fdaa851971b41b48ec2e7d640746fbd6f9f433da2020c5fd95c91a7473d9e1") - version("5.1.0", sha256="22faba3828e50a4c4e22f569a7d6441c797a11db1d472619c01d3515a3275e92") + version("5.4.3", sha256="5acac147aafc15c249c2f24c19459135ed68b506403aa92e602b67cfc10c38b7") + version("5.4.0", sha256="341d61adff8d08cbf70aa07bd11a088bcd0687fc6156870a1aee9eff74f3eb4f") + version("5.3.3", sha256="1ce093fc6bc021ad4fe0b0b93f9501038a7a5a16b0fd4fc485d65cbd220a195e") + version("5.3.0", sha256="873d55749479873994679840906c4257316dfb09a6200411204ad4a8c2480565") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated # default to an 'auto' variant until amdgpu_targets can be given a better default than 'none' amdgpu_targets = ROCmPackage.amdgpu_targets @@ -68,23 +68,20 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): depends_on("googletest@1.10.0:", type="test") depends_on("netlib-lapack@3.7.1:", type="test") depends_on("boost@1.64.0:1.76.0 +program_options cxxstd=14", type="test") + depends_on("py-pyaml", type="test", when="@6.1:") patch("remove-hipblas-clients-file-installation.patch", when="@5.5:5.7.1") patch("remove-hipblas-clients-file-installation-6.0.patch", when="@6.0:") depends_on("rocm-cmake@5.2.0:", type="build", when="@5.2.0:5.7") depends_on("rocm-cmake@4.5.0:", type="build") - for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1"]: + for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2"]: depends_on(f"rocm-cmake@{ver}", when=f"+rocm @{ver}") + depends_on(f"rocm-openmp-extras@{ver}", type="test", when=f"+rocm @{ver}") depends_on("hip +cuda", when="+cuda") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -99,6 +96,7 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", "master", "develop", ]: @@ -132,22 +130,18 @@ def cmake_args(self): # FindHIP.cmake is still used for +cuda if self.spec.satisfies("+cuda"): - if self.spec["hip"].satisfies("@:5.1"): - args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)) - else: - args.append( - self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip) - ) - + args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip)) if self.spec.satisfies("@5.2.0:"): args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", True)) if self.spec.satisfies("@5.3.0:"): args.append("-DCMAKE_INSTALL_LIBDIR=lib") + if self.spec.satisfies("@6.1:") and self.run_tests: + args.append(self.define("LINK_BLIS", "OFF")) return args - @run_after("build") - @on_package_attributes(run_tests=True) - def check_build(self): - exe = Executable(join_path(self.build_directory, "clients", "staging", "hipblas-test")) + def check(self): + exe = Executable( + join_path(self.builder.build_directory, "clients", "staging", "hipblas-test") + ) exe("--gtest_filter=-*known_bug*") diff --git a/var/spack/repos/builtin/packages/hipblaslt/package.py b/var/spack/repos/builtin/packages/hipblaslt/package.py index 714d773c6555b7..d7a9a5c141b289 100644 --- a/var/spack/repos/builtin/packages/hipblaslt/package.py +++ b/var/spack/repos/builtin/packages/hipblaslt/package.py @@ -11,17 +11,20 @@ class Hipblaslt(CMakePackage): and extends functionalities beyond a traditional BLAS library""" homepage = "https://github.com/ROCm/hipBLASLt" - url = "https://github.com/ROCm/hipBLASLt/archive/refs/tags/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/hipBLASLt/archive/refs/tags/rocm-6.1.2.tar.gz" git = "https://github.com/ROCm/hipBLASLt.git" maintainers("srekolam", "afzpatel", "renjithravindrankannath") license("MIT") + version("6.1.2", sha256="fcfe950f7b87c421565abe090b2de6f463afc1549841002f105ecca7bbbf59e5") version("6.1.1", sha256="1e21730ade59b5e32432fa0981383f689a380b1ffc92fe950822722da9521a72") version("6.1.0", sha256="90fc2f2c9e11c87e0529e824e4b0561dbc850f8ffa21be6932ae63cbaa27cdf0") version("6.0.2", sha256="e281a1a7760fab8c3e0baafe17950cf43c422184e3226e3c14eb06e50c69d421") version("6.0.0", sha256="6451b6fdf7f24787628190bbe8f2208c929546b68b692d8355d2f18bea7ca7db") + depends_on("cxx", type="build") # generated + amdgpu_targets = ROCmPackage.amdgpu_targets variant( @@ -32,7 +35,7 @@ class Hipblaslt(CMakePackage): ) variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") - for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1"]: + for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2"]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"hipblas@{ver}", when=f"@{ver}") depends_on(f"rocm-openmp-extras@{ver}", type="test", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/hipcc/package.py b/var/spack/repos/builtin/packages/hipcc/package.py index 81dc3e69d26abe..d94ce19e0c57d6 100644 --- a/var/spack/repos/builtin/packages/hipcc/package.py +++ b/var/spack/repos/builtin/packages/hipcc/package.py @@ -24,6 +24,7 @@ def url_for_version(self, version): maintainers("srekolam", "renjithravindrankannath", "afzpatel") license("MIT") + version("6.1.2", sha256="300e9d6a137dcd91b18d5809a316fddb615e0e7f982dc7ef1bb56876dff6e097") version("6.1.1", sha256="f1a67efb49f76a9b262e9735d3f75ad21e3bd6a05338c9b15c01e6c625c4460d") version("6.1.0", sha256="6bd9912441de6caf6b26d1323e1c899ecd14ff2431874a2f5883d3bc5212db34") version("6.0.2", sha256="d6209b14fccdd00d7231dec4b4f962aa23914b9dde389ba961370e8ba918bde5") @@ -31,6 +32,10 @@ def url_for_version(self, version): version("5.7.1", sha256="d47d27ef2b5de7f49cdfd8547832ac9b437a32e6fc6f0e9c1646f4b704c90aee") version("5.7.0", sha256="9f839bf7226e5e26f3150f8ba6eca507ab9a668e68b207736301b3bb9040c973") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("numactl") patch("0014-remove-compiler-rt-linkage-for-host.6.0.patch", when="@6.0") diff --git a/var/spack/repos/builtin/packages/hipcub/find-hip-cuda-rocm-5.1.patch b/var/spack/repos/builtin/packages/hipcub/find-hip-cuda-rocm-5.1.patch deleted file mode 100644 index eacfcc645d9edf..00000000000000 --- a/var/spack/repos/builtin/packages/hipcub/find-hip-cuda-rocm-5.1.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/VerifyCompiler.cmake b/cmake/VerifyCompiler.cmake -index ca4d646..0256683 100644 ---- a/cmake/VerifyCompiler.cmake -+++ b/cmake/VerifyCompiler.cmake -@@ -22,8 +22,6 @@ - - list(APPEND CMAKE_PREFIX_PATH /opt/rocm /opt/rocm/hip) - if(CMAKE_CXX_COMPILER MATCHES ".*/nvcc$" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") -- list(APPEND CMAKE_MODULE_PATH /opt/rocm/hip/cmake) -- find_package(hip QUIET CONFIG PATHS /opt/rocm) - if(NOT hip_FOUND) - find_package(HIP REQUIRED) - endif() diff --git a/var/spack/repos/builtin/packages/hipcub/package.py b/var/spack/repos/builtin/packages/hipcub/package.py index e70c32cc0cd17e..686645f8425d8e 100644 --- a/var/spack/repos/builtin/packages/hipcub/package.py +++ b/var/spack/repos/builtin/packages/hipcub/package.py @@ -11,12 +11,13 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage): homepage = "https://github.com/ROCm/hipCUB" git = "https://github.com/ROCm/hipCUB.git" - url = "https://github.com/ROCm/hipCUB/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/hipCUB/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] license("BSD-3-Clause") maintainers("srekolam", "renjithravindrankannath") + version("6.1.2", sha256="830a0f3231e07fcc6cd6261c4e1af2d7d0ac4862c606ecdc80c2635557ca3d9f") version("6.1.1", sha256="967716d67e4270c599a60b770d543ea9148948edb907a0fa4d8be3a1785c2058") version("6.1.0", sha256="39ac03053ecf35f1faf212e5b197b03c0104b74b0833f7cce5cf625c273ba71c") version("6.0.2", sha256="3f912a23dc34510cf18d9097f6eda37e01d01724975c8149c92a64c92415968c") @@ -27,16 +28,13 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage): version("5.6.0", sha256="5e74ddbf833f39836bf9ec6c6750348c7386a85ca67aaf9bb54d16c9e1959031") version("5.5.1", sha256="ad83f3f1ed85ead9e3012906957c125a896168be913f6fb6af298228fc571480") version("5.5.0", sha256="3eec838119326a67eb4cc006c706e328f3a51a01e98bbfb518df8fe4a4707e13") - version("5.4.3", sha256="cf528d9acb4f9b9c3aad439ae76bfc3d02be6e7a74d96099544e5d54e1a23675") - version("5.4.0", sha256="78db2c2ea466a4c5d84beedc000ae934f6d0ff1793eae90bb8d02b2dbff8932c") - version("5.3.3", sha256="b4fc3c05892729873dc098f111c31f83af7d33da572bdb7d87de100d4c238e6d") - version("5.3.0", sha256="4016cfc240b3cc1a97b549ecc4a5b76369610d46247661834630846391e5fad2") with default_args(deprecated=True): - version("5.2.3", sha256="cab929f10c649f8fd76df989a16d0cd9301bc6aaad91cd2f84498c831378d559") - version("5.2.1", sha256="07b34d8cdf885838dde264c2a70044505e7b9632cb6efbdb52e2569f95112970") - version("5.2.0", sha256="ac4dc2310f0eb657e1337c93d8cc4a5d8396f9544a7336eeceb455678a1f9139") - version("5.1.3", sha256="dc75640689b6a5e15dd3acea643266bdf114ea63efc60be8272f484cf8f04494") - version("5.1.0", sha256="b30d51fc5fca2584f0c9a6fa8dafc9fbdda96a3acff30288e49b397f8842f705") + version("5.4.3", sha256="cf528d9acb4f9b9c3aad439ae76bfc3d02be6e7a74d96099544e5d54e1a23675") + version("5.4.0", sha256="78db2c2ea466a4c5d84beedc000ae934f6d0ff1793eae90bb8d02b2dbff8932c") + version("5.3.3", sha256="b4fc3c05892729873dc098f111c31f83af7d33da572bdb7d87de100d4c238e6d") + version("5.3.0", sha256="4016cfc240b3cc1a97b549ecc4a5b76369610d46247661834630846391e5fad2") + + depends_on("cxx", type="build") # generated # default to an 'auto' variant until amdgpu_targets can be given a better default than 'none' amdgpu_targets = ROCmPackage.amdgpu_targets @@ -61,11 +59,6 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage): depends_on("googletest@1.10.0:", type="test") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -80,13 +73,13 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocprim@{ver}", when=f"+rocm @{ver}") depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on(f"hip +cuda@{ver}", when=f"+cuda @{ver}") # fix hardcoded search in /opt/rocm and broken config mode search - patch("find-hip-cuda-rocm-5.1.patch", when="@5.1:5.2 +cuda") patch("find-hip-cuda-rocm-5.3.patch", when="@5.3: +cuda") def setup_build_environment(self, env): @@ -103,13 +96,7 @@ def cmake_args(self): # FindHIP.cmake is still used for +cuda if self.spec.satisfies("+cuda"): - if self.spec["hip"].satisfies("@:5.1"): - args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)) - else: - args.append( - self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip) - ) - + args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip)) if self.spec.satisfies("@5.2.0:"): args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", True)) diff --git a/var/spack/repos/builtin/packages/hipfft/package.py b/var/spack/repos/builtin/packages/hipfft/package.py index 73724be29b1774..bb9024dd9e78db 100644 --- a/var/spack/repos/builtin/packages/hipfft/package.py +++ b/var/spack/repos/builtin/packages/hipfft/package.py @@ -16,7 +16,7 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): homepage = "https://github.com/ROCm/hipFFT" git = "https://github.com/ROCm/hipFFT.git" - url = "https://github.com/ROCm/hipfft/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/hipfft/archive/rocm-6.1.0.tar.gz" tags = ["rocm"] maintainers("renjithravindrankannath", "srekolam") @@ -24,6 +24,7 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): license("MIT") version("master", branch="master") + version("6.1.2", sha256="6753e45d9c671d58e68bed2b0c1bfcd40fad9d690dba3fe6011e67e51dbe3cc6") version("6.1.1", sha256="df84e488098d457a7411f6b459537fa5c5ee160027efc3a9a076980bbe57c4d3") version("6.1.0", sha256="1a9cf598a932192f7f12b8987d96477f09186f9a95c5a28742f9caeb81640c95") version("6.0.2", sha256="c0a4bac5fa9a757a19a4995fa9571328b6ee0a71e93c66a880069794d65d284a") @@ -34,16 +35,13 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): version("5.6.0", sha256="c7f425b693caf9371b42226d86392335d993a117d23219b6ba1fd13523cb8261") version("5.5.1", sha256="3addd15a459752ad657e84c2a7b6b6289600d1d0a5f90d6e0946ba11e8148fc0") version("5.5.0", sha256="47ec6f7da7346c312b80daaa8f763e86c7bdc33ac8617cfa3344068e5b20dd9e") - version("5.4.3", sha256="ae37f40b6019a11f10646ef193716836f366d269eab3c5cc2ed09af85355b945") - version("5.4.0", sha256="d0a8e790182928b3d19774b8db1eece9b881a422f6a7055c051b12739fded624") - version("5.3.3", sha256="fd1662cd5b1e1bce9db53b320c0fe614179cd196251efc2ef3365d38922b5cdc") - version("5.3.0", sha256="ebbe2009b86b688809b6b4d5c3929fc589db455218d54a37790f21339147c5df") with default_args(deprecated=True): - version("5.2.3", sha256="10be731fe91ede5e9f254f6eb3bc00b4dbeab449477f3cac03de358a7d0a6fa1") - version("5.2.1", sha256="6c8fbace2864ca992b2fca9dc8d0bb4488aef62045acdfcf249d53dd005ebd35") - version("5.2.0", sha256="ec37edcd61837281c403802ccc1cb01ec3fa3ba135b5ab16617961b66d4cc3e2") - version("5.1.3", sha256="c26fa64499293b25d0686bed04feb61378c878a4bb4a6d559e6cb7be1f6bf2ec") - version("5.1.0", sha256="1bac7761c055355216cd262cdc0450aabb383addcb739b56ba849b2e6e013fa5") + version("5.4.3", sha256="ae37f40b6019a11f10646ef193716836f366d269eab3c5cc2ed09af85355b945") + version("5.4.0", sha256="d0a8e790182928b3d19774b8db1eece9b881a422f6a7055c051b12739fded624") + version("5.3.3", sha256="fd1662cd5b1e1bce9db53b320c0fe614179cd196251efc2ef3365d38922b5cdc") + version("5.3.0", sha256="ebbe2009b86b688809b6b4d5c3929fc589db455218d54a37790f21339147c5df") + + depends_on("cxx", type="build") # generated # default to an 'auto' variant until amdgpu_targets can be given a better default than 'none' amdgpu_targets = ROCmPackage.amdgpu_targets @@ -68,11 +66,6 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): depends_on("hip +cuda", when="+cuda") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -87,6 +80,7 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on(f"rocfft@{ver}", when=f"+rocm @{ver}") @@ -109,9 +103,7 @@ def cmake_args(self): args.append(self.define("BUILD_WITH_LIB", "CUDA")) # FindHIP.cmake is still used for both +rocm and +cuda - if self.spec["hip"].satisfies("@:5.1"): - args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)) - else: + if self.spec["hip"].satisfies("@5.2:"): args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip)) if self.spec.satisfies("@5.2.0:"): diff --git a/var/spack/repos/builtin/packages/hipfort/package.py b/var/spack/repos/builtin/packages/hipfort/package.py index 685832014096c8..a4823db0e24442 100644 --- a/var/spack/repos/builtin/packages/hipfort/package.py +++ b/var/spack/repos/builtin/packages/hipfort/package.py @@ -17,6 +17,7 @@ class Hipfort(CMakePackage): license("MIT") maintainers("cgmb", "srekolam", "renjithravindrankannath") + version("6.1.2", sha256="f60d07fa3e5b09246c8908b2876addf175a91e91c8b0fac85b000f88b6743c7c") version("6.1.1", sha256="646f7077399db7a70d7102fda8307d0a11039f616399a4a06a64fd824336419f") version("6.1.0", sha256="70d3ccc9f3536f62686e73934f5972ed011c4df7654ed1f8e6d2d42c4289f47e") version("6.0.2", sha256="b60ada7474b71c1d82c700b0159bc0756dbb2808375054903710280b1677f199") @@ -27,16 +28,14 @@ class Hipfort(CMakePackage): version("5.6.0", sha256="03176a099bc81e212ad1bf9d86f35561f8f2d21a2f126732d7620e1ea59888d5") version("5.5.1", sha256="abc59f7b81cbefbe3555cbf1bf0d80e8aa65901c70799748c40870fe6f3fea60") version("5.5.0", sha256="cae75ffeac129639cabebfe2f95f254c83d6c0a6cffd98142ea3537a132e42bb") - version("5.4.3", sha256="1954a1cba351d566872ced5549b2ced7ab6332221e2b98dba3c07180dce8f173") - version("5.4.0", sha256="a781bc6d1dbb508a4bd6cc3df931696fac6c6361d4fd35efb12c9a04a72e112c") - version("5.3.3", sha256="593be86502578b68215ffe767c26849fd27d4dbd92c8e76762275805f99e64f5") - version("5.3.0", sha256="9e2aa142de45b2d2c29449d6f82293fb62844d511fbf51fa597845ba05c700fa") with default_args(deprecated=True): - version("5.2.3", sha256="6648350ca4edc8757f0ae51d73a05a9a536808f19ad45f5b5ab84d420c72c9ec") - version("5.2.1", sha256="ed53c9914d326124482751b81c4a353c6e64e87c1111124169a33513a3c49b42") - version("5.2.0", sha256="a0af1fe62757993600a41af6bb6c4b8c6cfdfba650389645ac1f995f7623785c") - version("5.1.3", sha256="8f8849d8d0972366bafa41be35cf6a7a59480ed584d1ddff39768cb14247e9d4") - version("5.1.0", sha256="1ddd46c00bb6bcd539a921d6a94d858f4e4408a35cb6910186c7517f375ae8ab") + version("5.4.3", sha256="1954a1cba351d566872ced5549b2ced7ab6332221e2b98dba3c07180dce8f173") + version("5.4.0", sha256="a781bc6d1dbb508a4bd6cc3df931696fac6c6361d4fd35efb12c9a04a72e112c") + version("5.3.3", sha256="593be86502578b68215ffe767c26849fd27d4dbd92c8e76762275805f99e64f5") + version("5.3.0", sha256="9e2aa142de45b2d2c29449d6f82293fb62844d511fbf51fa597845ba05c700fa") + + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated depends_on("cmake@3.0.2:", type="build") @@ -45,11 +44,6 @@ class Hipfort(CMakePackage): depends_on("binutils", when="%cce") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -64,6 +58,7 @@ class Hipfort(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hip@{ver}", type="build", when=f"@{ver}") @@ -83,5 +78,8 @@ def cmake_args(self): "-DHIPFORT_RANLIB=" + join_path(self.spec["binutils"].prefix.bin, "ranlib") ) args.append("-DHIPFORT_COMPILER_FLAGS='-ffree -eT'") + elif self.spec.satisfies("%gcc"): + args.append("-DHIPFORT_COMPILER={}".format(spack_fc)) + args.append("-DHIPFORT_COMPILER_FLAGS='-ffree-form -cpp -ffree-line-length-none'") return args diff --git a/var/spack/repos/builtin/packages/hipify-clang/package.py b/var/spack/repos/builtin/packages/hipify-clang/package.py index b400538f5db004..df63043cca3882 100644 --- a/var/spack/repos/builtin/packages/hipify-clang/package.py +++ b/var/spack/repos/builtin/packages/hipify-clang/package.py @@ -12,7 +12,7 @@ class HipifyClang(CMakePackage): homepage = "https://github.com/ROCm/HIPIFY" git = "https://github.com/ROCm/HIPIFY.git" - url = "https://github.com/ROCm/HIPIFY/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/HIPIFY/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") @@ -20,6 +20,7 @@ class HipifyClang(CMakePackage): license("MIT") version("master", branch="master") + version("6.1.2", sha256="7cc1e3fd7690a3e1d99cd07f2bd62ee73682cceeb4a46918226fc70f8092eb68") version("6.1.1", sha256="240b83ccbe1b6514a6af6c2261e306948ce6c2b1c4d1056e830bbaebddeabd82") version("6.1.0", sha256="dc61b476081750130c62c7540fce49ee3a45a2b74e185d20049382574c1842d1") version("6.0.2", sha256="21e46276677ec8c00e61c0cbf5fa42185517f6af0d4845ea877fd40eb35198c4") @@ -30,16 +31,13 @@ class HipifyClang(CMakePackage): version("5.6.0", sha256="a2572037a7d3bd0813bd6819a5e6c0e911678db5fd3ab15a65370601df91891b") version("5.5.1", sha256="35b9c07a7afaf9cf6f3bbe9dd147fa81b1b297af3e5e26e60c55629e83feaa48") version("5.5.0", sha256="1b75c702799ac93027337f8fb61d7c27ba960e8ece60d907fc8c5ab3f15c3fe9") - version("5.4.3", sha256="79e27bd6c0a28e6a62b02dccc0b5d88a81f69fe58487e83f3b7ab47d6b64341b") - version("5.4.0", sha256="9f51eb280671ae7f7e14eb593ee3ef099899221c4bdccfbdb7a78681ad17f37f") - version("5.3.3", sha256="9d08e2896e52c10a0a189a5407567043f2510adc7bf618591c97a22a23699691") - version("5.3.0", sha256="7674900d2b9319d91fa8f469252c5acb5bedf339142417cdcb64f33ee8482e00") with default_args(deprecated=True): - version("5.2.3", sha256="1314a37ab544b68fd51858b77d2d4b30ecff82ef3f90de6e80891a95f6749849") - version("5.2.1", sha256="4d658d00b219f7ef40e832da3680852aeb4c258c0a114f1779fa4cda99ee23b1") - version("5.2.0", sha256="dcd5f44daceb984bb654a209e78debf81e1cdeaf9202444a1e110b45ad6c3f4f") - version("5.1.3", sha256="6354b08b8ab2f4c481398fb768652bae00bb78c4cec7a11d5f6c7e4cb831ddf1") - version("5.1.0", sha256="ba792294cbdcc880e0f02e38ee352dff8d4a2c183430e13d1c5ed176bd46cfc5") + version("5.4.3", sha256="79e27bd6c0a28e6a62b02dccc0b5d88a81f69fe58487e83f3b7ab47d6b64341b") + version("5.4.0", sha256="9f51eb280671ae7f7e14eb593ee3ef099899221c4bdccfbdb7a78681ad17f37f") + version("5.3.3", sha256="9d08e2896e52c10a0a189a5407567043f2510adc7bf618591c97a22a23699691") + version("5.3.0", sha256="7674900d2b9319d91fa8f469252c5acb5bedf339142417cdcb64f33ee8482e00") + + depends_on("cxx", type="build") # generated variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") @@ -52,11 +50,6 @@ class HipifyClang(CMakePackage): depends_on("cmake@3.5:", type="build") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -71,6 +64,7 @@ class HipifyClang(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", "master", ]: depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") @@ -86,6 +80,7 @@ class HipifyClang(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/hiprand/package.py b/var/spack/repos/builtin/packages/hiprand/package.py index 5b675befa1042b..3a639126545b9c 100644 --- a/var/spack/repos/builtin/packages/hiprand/package.py +++ b/var/spack/repos/builtin/packages/hiprand/package.py @@ -14,7 +14,7 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage): homepage = "https://github.com/ROCm/hipRAND" git = "https://github.com/ROCm/hipRAND.git" - url = "https://github.com/ROCm/hipRAND/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/hipRAND/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("cgmb", "srekolam", "renjithravindrankannath") @@ -24,6 +24,7 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage): version("develop", branch="develop") version("master", branch="master") + version("6.1.2", sha256="f0f129811c144dd711e967305c7af283cefb94bfdbcd2a11296b92a9e966be2c") version("6.1.1", sha256="dde1526fb6cde17b18bc9ee6daa719056fc468dfbda5801b9a61260daf2b4498") version("6.1.0", sha256="f9d71af23092f8faa888d2c14713ee4d4d350454818ca9331d422c81c2587c1f") version("6.0.2", sha256="cb6ff8f58c024b60b3914271921f58f0ab3bdbc9889a53795b40c99c9de0bcd4") @@ -34,16 +35,14 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage): version("5.6.0", sha256="8c214e2f90337a5317a69950026bf337b1e567d43bb9ae64f2a802af2228c313") version("5.5.1", sha256="5df9d78eae0991be5ec9f60e8d3530fabc23793d9f9cf274b075d689675db04e") version("5.5.0", sha256="7c7dde7b989d5da9c0b0251233245f955b477c090462c7d34e3e0284c5fca761") - version("5.4.3", sha256="7d3d04476880ec90c088dff81f69aac8699eaef972476000e5c4726584ffa98f") - version("5.4.0", sha256="9456d4b4d5fd5c0b728f4aa4f8c224f829fe6fbf08e397848475293f71029a22") - version("5.3.3", sha256="f72626b00d61ed2925b3124b7f094ccfaf7750f02bee6bac6b79317e1c5576ef") - version("5.3.0", sha256="6fd9b3a719bf4c228657cb2a0ff283eb7d777ba31bfffe5a26589d588f89a279") with default_args(deprecated=True): - version("5.2.3", sha256="56d62a94c8ce6e2fc55fff57f3d0931b6332654333d1ad5dee854aefb1548f66") - version("5.2.1", sha256="27b00e15ca1f6608a5625a246b55f3128ce32fdca605eb727f66c6322b77bf42") - version("5.2.0", sha256="3d179aa928446471651ef2f308779b5946b3ba9bbc1643689b0abc56e6ec2f5e") - version("5.1.3", sha256="6965e30a6ec0bef4ee251d144785a4dda55dff32aed27e12dc1b4dc0c4bbc094") - version("5.1.0", sha256="a3dd384439047bdad60864f0aff7fcf855a6a601458b05770d054b53c1a7cae2") + version("5.4.3", sha256="7d3d04476880ec90c088dff81f69aac8699eaef972476000e5c4726584ffa98f") + version("5.4.0", sha256="9456d4b4d5fd5c0b728f4aa4f8c224f829fe6fbf08e397848475293f71029a22") + version("5.3.3", sha256="f72626b00d61ed2925b3124b7f094ccfaf7750f02bee6bac6b79317e1c5576ef") + version("5.3.0", sha256="6fd9b3a719bf4c228657cb2a0ff283eb7d777ba31bfffe5a26589d588f89a279") + + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated # default to an 'auto' variant until amdgpu_targets can be given a better default than 'none' amdgpu_targets = ROCmPackage.amdgpu_targets @@ -79,11 +78,6 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage): depends_on("googletest@1.10.0:", type="test") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -98,6 +92,7 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", "master", "develop", ]: diff --git a/var/spack/repos/builtin/packages/hipsolver/0001-suite-sparse-include-path-6.1.1.patch b/var/spack/repos/builtin/packages/hipsolver/0001-suite-sparse-include-path-6.1.1.patch index 388e50d365a3b4..79f1713a0475b1 100644 --- a/var/spack/repos/builtin/packages/hipsolver/0001-suite-sparse-include-path-6.1.1.patch +++ b/var/spack/repos/builtin/packages/hipsolver/0001-suite-sparse-include-path-6.1.1.patch @@ -1,7 +1,7 @@ -From 4bea73ab74deb313030a1abb135fd668f7f5b96a Mon Sep 17 00:00:00 2001 -From: sreenivasa murthy kolam -Date: Tue, 21 May 2024 06:52:30 +0000 -Subject: [PATCH] add SUITE_SPARSE_PATH to the CMakeLists.txt +From 329ee96fa7004c6fb0a8f93375e9081ef717fbab Mon Sep 17 00:00:00 2001 +From: Renjith Ravindran +Date: Fri, 31 May 2024 19:51:49 +0000 +Subject: [PATCH] suite-sparse include and library path 6.1.1 --- CMakeLists.txt | 1 + @@ -21,7 +21,7 @@ index 52a059a..fddda0b 100644 set ( VERSION_STRING "2.1.1" ) rocm_setup_version( VERSION ${VERSION_STRING} ) diff --git a/library/src/CMakeLists.txt b/library/src/CMakeLists.txt -index ec708df..224e5a5 100644 +index ec708df..7b0e414 100644 --- a/library/src/CMakeLists.txt +++ b/library/src/CMakeLists.txt @@ -135,7 +135,7 @@ if( NOT USE_CUDA ) @@ -29,10 +29,10 @@ index ec708df..224e5a5 100644 endif( ) - target_link_libraries( hipsolver PRIVATE roc::rocsparse suitesparseconfig cholmod ) -+ target_link_libraries( hipsolver PRIVATE roc::rocsparse ${SUITE_SPARSE_PATH}/lib64/libsuitesparseconfig.so ${SUITE_SPARSE_PATH}/lib64/libcholmod.so ) ++ target_link_libraries( hipsolver PRIVATE roc::rocsparse ${SUITE_SPARSE_LIBDIR}/libsuitesparseconfig.so ${SUITE_SPARSE_LIBDIR}/libcholmod.so ) set_source_files_properties(${hipsolver_source} PROPERTIES COMPILE_DEFINITIONS HAVE_ROCSPARSE -- -2.39.3 +2.17.1 diff --git a/var/spack/repos/builtin/packages/hipsolver/001-suite-sparse-include-path.patch b/var/spack/repos/builtin/packages/hipsolver/001-suite-sparse-include-path.patch index b7caa3d15be663..5a33b969e792eb 100644 --- a/var/spack/repos/builtin/packages/hipsolver/001-suite-sparse-include-path.patch +++ b/var/spack/repos/builtin/packages/hipsolver/001-suite-sparse-include-path.patch @@ -1,7 +1,7 @@ -From 9adfbf77cff336a0fa01b15e74e4c812302698e8 Mon Sep 17 00:00:00 2001 +From 90c1913a29f6ee097aea18a66deb0a4fb0bc0066 Mon Sep 17 00:00:00 2001 From: Renjith Ravindran -Date: Mon, 6 May 2024 18:39:02 +0000 -Subject: [PATCH] suite-sparse include and library path +Date: Sat, 8 Jun 2024 00:46:22 +0000 +Subject: [PATCH] add SUITE_SPARSE_PATH to the CMakeLists.txt --- CMakeLists.txt | 1 + @@ -9,19 +9,19 @@ Subject: [PATCH] suite-sparse include and library path 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 95a2393..5dd88bb 100644 +index 95a2393..b403f57 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,6 +88,7 @@ include( ROCMPackageConfigHelpers ) include( ROCMInstallSymlinks ) include( ROCMClients ) include( ROCMHeaderWrapper ) -+include_directories(${SUITE_SPARSE_PATH}/include) ++include_directories(${SUITE_SPARSE_PATH}/include/suitesparse) set ( VERSION_STRING "2.1.0" ) rocm_setup_version( VERSION ${VERSION_STRING} ) diff --git a/library/src/CMakeLists.txt b/library/src/CMakeLists.txt -index ab448f4..a0f877d 100644 +index ab448f4..f3d759e 100644 --- a/library/src/CMakeLists.txt +++ b/library/src/CMakeLists.txt @@ -135,7 +135,7 @@ if( NOT USE_CUDA ) @@ -29,10 +29,10 @@ index ab448f4..a0f877d 100644 endif( ) - target_link_libraries( hipsolver PRIVATE roc::rocsparse suitesparseconfig cholmod ) -+ target_link_libraries( hipsolver PRIVATE roc::rocsparse ${SUITE_SPARSE_PATH}/lib64/libsuitesparseconfig.so ${SUITE_SPARSE_PATH}/lib64/libcholmod.so ) ++ target_link_libraries( hipsolver PRIVATE roc::rocsparse ${SUITE_SPARSE_LIBDIR}/libsuitesparseconfig.so ${SUITE_SPARSE_LIBDIR}/libcholmod.so ) target_include_directories( hipsolver SYSTEM PRIVATE $ -- -2.31.1 +2.27.0 diff --git a/var/spack/repos/builtin/packages/hipsolver/package.py b/var/spack/repos/builtin/packages/hipsolver/package.py index bec107b2adc4fb..26ab14eb0c02d9 100644 --- a/var/spack/repos/builtin/packages/hipsolver/package.py +++ b/var/spack/repos/builtin/packages/hipsolver/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os import re from spack.package import * @@ -18,7 +19,7 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): homepage = "https://github.com/ROCm/hipSOLVER" git = "https://github.com/ROCm/hipSOLVER.git" - url = "https://github.com/ROCm/hipSOLVER/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/hipSOLVER/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("cgmb", "srekolam", "renjithravindrankannath") @@ -28,6 +29,7 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): version("develop", branch="develop") version("master", branch="master") + version("6.1.2", sha256="406a8e5b82daae2fc03e0a738b5a054ade01bb41785cee4afb9e21c7ec91d492") version("6.1.1", sha256="01d4553458f417824807c069cacfc65d23f6cac79536158473b4356986c8fafd") version("6.1.0", sha256="3cb89ca486cdbdfcb1a07c35ee65f60219ef7bc62a5b0f94ca1a3206a0106495") version("6.0.2", sha256="8215e55c3a5bc9c7eeb141cefdc6a6eeba94d8bc3aeae9e685ab7904965040d4") @@ -38,16 +40,15 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): version("5.6.0", sha256="11fa51d210853d93d24d55b20367738e49711793412f58e8d7689710b92ae16c") version("5.5.1", sha256="826bd64a4887176595bb7319d9a3612e7327602efe1f42aa3f2ad0e783d1a180") version("5.5.0", sha256="0f45be0f90907381ae3e82424599e2ca2112d6411b4a64c72558d63f00409b83") - version("5.4.3", sha256="02a1bffecc494393f49f97174db7d2c101db557d32404923a44520876e682e3a") - version("5.4.0", sha256="d53d81c55b458ba5e6ea0ec6bd24bcc79ab06789730391da82d8c33b936339d9") - version("5.3.3", sha256="f5a487a1c7225ab748996ac4d837ac7ab26b43618c4ed97a124f8fac1d67786e") - version("5.3.0", sha256="6e920a59ddeefd52c9a6d164c33bc097726529e1ede3c417c711697956655b15") with default_args(deprecated=True): - version("5.2.3", sha256="a57d883fdd09c6c7f9856fcfcabee6fa7ff9beed33d2f1a465bf28d38ea6f364") - version("5.2.1", sha256="e000b08cf7bfb5f8f6d65d163ebeeb3274172b9f474228b810bde5e6f87f2b37") - version("5.2.0", sha256="96927410e0a2cc0f50172604ef6437e15d2cf4b62d22b2035f13aae21f43dc82") - version("5.1.3", sha256="96faa799a2db8078b72f9c3b5c199179875a7c20dc1064371b22a6a63397c145") - version("5.1.0", sha256="697ba2b2814e7ac6f79680e6455b4b5e0def1bee2014b6940f47be7d13c0ae74") + version("5.4.3", sha256="02a1bffecc494393f49f97174db7d2c101db557d32404923a44520876e682e3a") + version("5.4.0", sha256="d53d81c55b458ba5e6ea0ec6bd24bcc79ab06789730391da82d8c33b936339d9") + version("5.3.3", sha256="f5a487a1c7225ab748996ac4d837ac7ab26b43618c4ed97a124f8fac1d67786e") + version("5.3.0", sha256="6e920a59ddeefd52c9a6d164c33bc097726529e1ede3c417c711697956655b15") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated # default to an 'auto' variant until amdgpu_targets can be given a better default than 'none' amdgpu_targets = ROCmPackage.amdgpu_targets @@ -83,11 +84,6 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): depends_on("hip +cuda", when="+cuda") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -102,6 +98,7 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", "master", "develop", ]: @@ -117,15 +114,6 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): patch("001-suite-sparse-include-path.patch", when="@6.1.0") patch("0001-suite-sparse-include-path-6.1.1.patch", when="@6.1.1:") - def patch(self): - if self.spec.satisfies("@6.1.1 +rocm"): - with working_dir("library/src/amd_detail"): - filter_file( - "^#include ", - "#include ", - "hipsolver_sparse.cpp", - ) - def check(self): exe = join_path(self.build_directory, "clients", "staging", "hipsolver-test") self.run_test(exe, options=["--gtest_filter=-*known_bug*"]) @@ -157,9 +145,7 @@ def cmake_args(self): # FindHIP.cmake is still used for +cuda if self.spec.satisfies("+cuda"): - if self.spec["hip"].satisfies("@:5.1"): - args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)) - else: + if self.spec["hip"].satisfies("@5.2:"): args.append( self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip) ) @@ -168,5 +154,8 @@ def cmake_args(self): args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", True)) if self.spec.satisfies("@5.3.0:"): args.append(self.define("CMAKE_INSTALL_LIBDIR", "lib")) - + libloc = self.spec["suite-sparse"].prefix.lib64 + if not os.path.isdir(libloc): + libloc = self.spec["suite-sparse"].prefix.lib + args.append(self.define("SUITE_SPARSE_LIBDIR", libloc)) return args diff --git a/var/spack/repos/builtin/packages/hipsparse/package.py b/var/spack/repos/builtin/packages/hipsparse/package.py index 2085c10854dd40..57db492ea414db 100644 --- a/var/spack/repos/builtin/packages/hipsparse/package.py +++ b/var/spack/repos/builtin/packages/hipsparse/package.py @@ -21,6 +21,7 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage): libraries = ["libhipsparse"] license("MIT") + version("6.1.2", sha256="dd44f9b6000b3b0ac0fa238037a80f79d6745a689d4a6755f2d595643be1ef6d") version("6.1.1", sha256="307cff012f0465942dd6666cb00ae60c35941699677c4b26b08e4832bc499059") version("6.1.0", sha256="1d9277a11f71474ea4a9f8419a7a2c37170a86969584e5724e385ec74241e565") version("6.0.2", sha256="40c1d2493f87c686d9afd84a00321ad10ca0d0d80d6dcfeee8e51858dd1bd8c1") @@ -31,16 +32,14 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage): version("5.6.0", sha256="3a6931b744ebaa4469a4c50d059a008403e4dc2a4f04dd69c3c6d20916b4a491") version("5.5.1", sha256="3d291e4fe2c611d555e54de66149b204fe7ac59f5dd00a9ad93bc6dca0528880") version("5.5.0", sha256="8122c8f17d899385de83efb7ac0d8a4fabfcd2aa21bbed63e63ea7adf0d22df6") - version("5.4.3", sha256="b373eccd03679a13fab4e740fc780da25cbd598abca3a1e5e3613ae14954f9db") - version("5.4.0", sha256="47420d38483c8124813b744971e428a0352c83d9b62a5a50f74ffa8f9b785b20") - version("5.3.3", sha256="d96d0e47594ab12e8c380da2300704c105736a0771940d7d2fae666f2869e457") - version("5.3.0", sha256="691b32b916952ed9af008aa29f60cc190322b73cfc098bb2eda3ff68c89c7b35") with default_args(deprecated=True): - version("5.2.3", sha256="f70d3deff13188adc4105ef3ead53510e4b54075b9ffcfe3d3355d90d4b6eadd") - version("5.2.1", sha256="7b8e4ff264285ae5aabb3c5c2b38bf28f90b2af44efb0398fcf13ffc24bc000a") - version("5.2.0", sha256="4fdab6ec953c6d2d000687c5979077deafd37208cd722554b5a6ede1e5ba170c") - version("5.1.3", sha256="6e6a0752654f0d391533df8cedf4b630a78ad34c99087741520c582963ce1602") - version("5.1.0", sha256="f41329534f2ff477a0db6b7f77a72bb062f117800970c122d676db8b207ce80b") + version("5.4.3", sha256="b373eccd03679a13fab4e740fc780da25cbd598abca3a1e5e3613ae14954f9db") + version("5.4.0", sha256="47420d38483c8124813b744971e428a0352c83d9b62a5a50f74ffa8f9b785b20") + version("5.3.3", sha256="d96d0e47594ab12e8c380da2300704c105736a0771940d7d2fae666f2869e457") + version("5.3.0", sha256="691b32b916952ed9af008aa29f60cc190322b73cfc098bb2eda3ff68c89c7b35") + + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated # default to an 'auto' variant until amdgpu_targets can be given a better default than 'none' amdgpu_targets = ROCmPackage.amdgpu_targets @@ -66,11 +65,6 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage): depends_on("git", type="build") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -85,6 +79,7 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on(f"rocsparse@{ver}", when=f"+rocm @{ver}") @@ -120,13 +115,7 @@ def cmake_args(self): # FindHIP.cmake is still used for +cuda if self.spec.satisfies("+cuda"): - if self.spec["hip"].satisfies("@:5.1"): - args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)) - else: - args.append( - self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip) - ) - + args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip)) if self.spec.satisfies("@5.2.0:"): args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", True)) diff --git a/var/spack/repos/builtin/packages/hipsparselt/package.py b/var/spack/repos/builtin/packages/hipsparselt/package.py index 0c3573cf460ece..72a0a904c57602 100644 --- a/var/spack/repos/builtin/packages/hipsparselt/package.py +++ b/var/spack/repos/builtin/packages/hipsparselt/package.py @@ -15,17 +15,20 @@ class Hipsparselt(CMakePackage, ROCmPackage): Currently, hipSPARSELt supports rocSPARSELt and cuSPARSELt v0.4 as backends.""" homepage = "https://github.com/ROCm/hipsparselt" - url = "https://github.com/ROCm/hipSPARSELt/archive/refs/tags/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/hipSPARSELt/archive/refs/tags/rocm-6.1.2.tar.gz" git = "https://github.com/ROCm/hipsparseLt.git" maintainers("srekolam", "afzpatel", "renjithravindrankannath") license("MIT") + version("6.1.2", sha256="a5a01fec7bc6e1f4792ccd5c8eaee7b42deac315c54298a7ce5265e5551e8640") version("6.1.1", sha256="ca6da099d9e385ffce2b68404f395a93b199af1592037cf52c620f9148a6a78d") version("6.1.0", sha256="66ade6de4fd19d144cab27214352faf5b00bbe12afe59472efb441b16d090265") version("6.0.2", sha256="bdbceeae515f737131f0391ee3b7d2f7b655e3cf446e4303d93f083c59053587") version("6.0.0", sha256="cc4c7970601edbaa7f630b7ea24ae85beaeae466ef3e5ba63e11eab52465c157") + depends_on("cxx", type="build") # generated + amdgpu_targets = ROCmPackage.amdgpu_targets variant( "amdgpu_target", @@ -40,7 +43,7 @@ class Hipsparselt(CMakePackage, ROCmPackage): ) variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") - for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1"]: + for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2"]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"hipsparse@{ver}", when=f"@{ver}") depends_on(f"rocm-openmp-extras@{ver}", when=f"@{ver}", type="test") @@ -54,6 +57,7 @@ class Hipsparselt(CMakePackage, ROCmPackage): depends_on("py-pyyaml", type="test") depends_on("py-joblib") depends_on("googletest@1.10.0:", type="test") + depends_on("netlib-lapack@3.7.1:", type="test") patch("0001-update-llvm-path-add-hipsparse-include-dir-for-spack.patch", when="@6.0") # Below patch sets the proper path for clang++,lld and clang-offload-blunder inside the diff --git a/var/spack/repos/builtin/packages/hipsycl/package.py b/var/spack/repos/builtin/packages/hipsycl/package.py index 98a2b8cb19af33..1be98ca586eab7 100644 --- a/var/spack/repos/builtin/packages/hipsycl/package.py +++ b/var/spack/repos/builtin/packages/hipsycl/package.py @@ -35,6 +35,8 @@ class Hipsycl(CMakePackage): version("0.8.0", commit="2daf8407e49dd32ebd1c266e8e944e390d28b22a", submodules=True) version("develop", branch="develop", submodules=True) + depends_on("cxx", type="build") # generated + variant("cuda", default=False, description="Enable CUDA backend for SYCL kernels") depends_on("cmake@3.5:", type="build") diff --git a/var/spack/repos/builtin/packages/hiptt/package.py b/var/spack/repos/builtin/packages/hiptt/package.py index 2e3c4704c27384..69d02a1ee3b0a1 100644 --- a/var/spack/repos/builtin/packages/hiptt/package.py +++ b/var/spack/repos/builtin/packages/hiptt/package.py @@ -20,6 +20,8 @@ class Hiptt(MakefilePackage, ROCmPackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + patch("bugfix_make.patch") # To enable this package add it to the LD_LIBRARY_PATH diff --git a/var/spack/repos/builtin/packages/hiredis/package.py b/var/spack/repos/builtin/packages/hiredis/package.py index c54f214367f8d0..be1d469c8900f7 100644 --- a/var/spack/repos/builtin/packages/hiredis/package.py +++ b/var/spack/repos/builtin/packages/hiredis/package.py @@ -26,6 +26,9 @@ class Hiredis(MakefilePackage, CMakePackage): version("0.13.3", sha256="717e6fc8dc2819bef522deaca516de9e51b9dfa68fe393b7db5c3b6079196f78") version("0.13.2", sha256="b0cf73ebe039fe25ecaaa881acdda8bdc393ed997e049b04fc20865835953694") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + build_system( conditional("cmake", when="@1:"), conditional("makefile", when="@:0"), default="cmake" ) diff --git a/var/spack/repos/builtin/packages/hisea/package.py b/var/spack/repos/builtin/packages/hisea/package.py index ff08e1d90cc03d..5fc33ae1a7f938 100644 --- a/var/spack/repos/builtin/packages/hisea/package.py +++ b/var/spack/repos/builtin/packages/hisea/package.py @@ -22,6 +22,8 @@ class Hisea(MakefilePackage): url="https://github.com/lucian-ilie/HISEA/tarball/39e01e98caa0f2101da806ca59306296effe789c", ) + depends_on("cxx", type="build") # generated + # 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 diff --git a/var/spack/repos/builtin/packages/hivex/package.py b/var/spack/repos/builtin/packages/hivex/package.py index 9a231f270eae46..c44d5a509d3bb7 100644 --- a/var/spack/repos/builtin/packages/hivex/package.py +++ b/var/spack/repos/builtin/packages/hivex/package.py @@ -19,4 +19,6 @@ class Hivex(AutotoolsPackage): version("1.3.18", sha256="8a1e788fd9ea9b6e8a99705ebd0ff8a65b1bdee28e319c89c4a965430d0a7445") version("1.3.17", sha256="13cb4b87ab72d74d9e83e56ae0f77152312f33ee772dc84fdd86b2cb9e8c52db") + depends_on("c", type="build") # generated + depends_on("perl") diff --git a/var/spack/repos/builtin/packages/hmmer/package.py b/var/spack/repos/builtin/packages/hmmer/package.py index 0df0c49501a8fa..9a35cd76ecef05 100644 --- a/var/spack/repos/builtin/packages/hmmer/package.py +++ b/var/spack/repos/builtin/packages/hmmer/package.py @@ -25,6 +25,8 @@ class Hmmer(Package): version("2.3.2", sha256="d20e1779fcdff34ab4e986ea74a6c4ac5c5f01da2993b14e92c94d2f076828b4") version("2.3.1", sha256="3956d53af8de5bb99eec18cba0628e86924c6543639d290293b6677a9224ea3f") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Compile with MPI") variant("gsl", default=False, description="Compile with GSL") diff --git a/var/spack/repos/builtin/packages/hohqmesh/package.py b/var/spack/repos/builtin/packages/hohqmesh/package.py index d5bd80bf16b8e5..15af8fb92611c2 100644 --- a/var/spack/repos/builtin/packages/hohqmesh/package.py +++ b/var/spack/repos/builtin/packages/hohqmesh/package.py @@ -17,12 +17,19 @@ class Hohqmesh(CMakePackage): license("MIT") + version("1.5.0", sha256="e2a8ff604b93b49dbab101edd6f031e5032535ec96a84ea58906a326be1c8f04") + version("1.4.2", sha256="656c149b510b6d3e914d1794c27b4802699c9fd209afff8aec3a219a9e7f86ff") + version("1.4.1", sha256="bbfecdba3899bf124bdac2bf91f1262a8e2f224ba699d55bdf8546073fc62b21") + version("1.4.0", sha256="f3a8ca4906d86360260b55cf79f66ba7e35f8c3c293ae6d83361d9edf5f70e6d") version("1.3.0", sha256="31ea80de15ece886df0dd1b941714d86ec06a9ed02c1415308b4ba23d8314eff") version("1.2.1", sha256="b1b13a680c3ef6b8d6a8d05406f68c1ff641c26f69c468ccf2d7bed8d556dd7e") + version("1.2.0", sha256="39387276a2f145618b1ec3486426f181fc3f3fe1e85519505735a44f0b480967") version("1.1.0", sha256="5fdb75157d9dc29bba55e6ae9dc2be71294754204f4f0912795532ae66aada10") version("1.0.1", sha256="8435f13c96d714a287f3c24392330047e2131d53fafe251a77eba365bd2b3141") version("1.0.0", sha256="3800e63975d0a61945508f13fb76d5e2145c0260440484252b6b81aa0bfe076d") + depends_on("fortran", type="build") # generated + depends_on("ftobjectlibrary") parallel = False diff --git a/var/spack/repos/builtin/packages/hoomd-blue/package.py b/var/spack/repos/builtin/packages/hoomd-blue/package.py index 54afb419c15888..e5e3a96fa7cf1d 100644 --- a/var/spack/repos/builtin/packages/hoomd-blue/package.py +++ b/var/spack/repos/builtin/packages/hoomd-blue/package.py @@ -35,6 +35,9 @@ class HoomdBlue(CMakePackage): "2.1.6", tag="v2.1.6", commit="aa650aaf13721f2abf945e868f65b806fcc54fea", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Compile with MPI enabled") variant("cuda", default=True, description="Compile with CUDA Toolkit") variant("doc", default=False, description="Generate documentation") diff --git a/var/spack/repos/builtin/packages/hoppet/package.py b/var/spack/repos/builtin/packages/hoppet/package.py index e2cade0a732c69..54b663d15af2d5 100644 --- a/var/spack/repos/builtin/packages/hoppet/package.py +++ b/var/spack/repos/builtin/packages/hoppet/package.py @@ -17,3 +17,6 @@ class Hoppet(AutotoolsPackage): maintainers("haralmha") version("1.2.0", sha256="6e00eb56a4f922d03dfceba7b389a3aaf51f277afa46d7b634d661e0797e8898") + + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/hotspot/package.py b/var/spack/repos/builtin/packages/hotspot/package.py index 2d9d0a0cf6465b..f7eae01e183148 100644 --- a/var/spack/repos/builtin/packages/hotspot/package.py +++ b/var/spack/repos/builtin/packages/hotspot/package.py @@ -15,6 +15,8 @@ class Hotspot(MakefilePackage): version("6.0", commit="a7a3286e368867c26381e0a23e36b3e273bdeda9") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdir(prefix.bin) install("hotspot", prefix.bin) diff --git a/var/spack/repos/builtin/packages/hpcc/package.py b/var/spack/repos/builtin/packages/hpcc/package.py index 6e89f61b8b23ab..0a6c77863f9a53 100644 --- a/var/spack/repos/builtin/packages/hpcc/package.py +++ b/var/spack/repos/builtin/packages/hpcc/package.py @@ -40,6 +40,8 @@ class Hpcc(MakefilePackage): version("develop", branch="main") version("1.5.0", sha256="0a6fef7ab9f3347e549fed65ebb98234feea9ee18aea0c8f59baefbe3cf7ffb8") + depends_on("c", type="build") # generated + variant( "fft", default="internal", diff --git a/var/spack/repos/builtin/packages/hpccg/package.py b/var/spack/repos/builtin/packages/hpccg/package.py index eca4f30b26ae6b..676bf9764d0781 100644 --- a/var/spack/repos/builtin/packages/hpccg/package.py +++ b/var/spack/repos/builtin/packages/hpccg/package.py @@ -19,6 +19,8 @@ class Hpccg(MakefilePackage): version("1.0", sha256="5be1b8cc3246811bfc9d6d7072be29455777d61b585675512ae52043ea64cefc") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Build with MPI support") variant("openmp", default=True, description="Build with OpenMP support") diff --git a/var/spack/repos/builtin/packages/hpcg/package.py b/var/spack/repos/builtin/packages/hpcg/package.py index 17e45f5cf258be..52da05d90699a1 100644 --- a/var/spack/repos/builtin/packages/hpcg/package.py +++ b/var/spack/repos/builtin/packages/hpcg/package.py @@ -21,6 +21,8 @@ class Hpcg(AutotoolsPackage): version("develop", branch="master") version("3.1", sha256="33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4") + depends_on("cxx", type="build") # generated + variant("openmp", default=True, description="Enable OpenMP support") patch( diff --git a/var/spack/repos/builtin/packages/hpctoolkit/package.py b/var/spack/repos/builtin/packages/hpctoolkit/package.py index fb2810795f0d3f..e947d25cb31b48 100644 --- a/var/spack/repos/builtin/packages/hpctoolkit/package.py +++ b/var/spack/repos/builtin/packages/hpctoolkit/package.py @@ -38,11 +38,11 @@ class Hpctoolkit(AutotoolsPackage, MesonPackage): version("2023.03.stable", branch="release/2023.03") version("2023.03.01", commit="9e0daf2ad169f6c7f6c60408475b3c2f71baebbf") version("2022.10.01", commit="e8a5cc87e8f5ddfd14338459a4106f8e0d162c83") - version("2022.05.15", commit="8ac72d9963c4ed7b7f56acb65feb02fbce353479") - version("2022.04.15", commit="a92fdad29fc180cc522a9087bba9554a829ee002") - version("2022.01.15", commit="0238e9a052a696707e4e65b2269f342baad728ae") - version("2021.10.15", commit="a8f289e4dc87ff98e05cfc105978c09eb2f5ea16") - version("2021.05.15", commit="004ea0c2aea6a261e7d5d216c24f8a703fc6c408") + version("2022.05.15", commit="8ac72d9963c4ed7b7f56acb65feb02fbce353479", deprecated=True) + version("2022.04.15", commit="a92fdad29fc180cc522a9087bba9554a829ee002", deprecated=True) + version("2022.01.15", commit="0238e9a052a696707e4e65b2269f342baad728ae", deprecated=True) + version("2021.10.15", commit="a8f289e4dc87ff98e05cfc105978c09eb2f5ea16", deprecated=True) + version("2021.05.15", commit="004ea0c2aea6a261e7d5d216c24f8a703fc6c408", deprecated=True) version("2021.03.01", commit="68a051044c952f0f4dac459d9941875c700039e7", deprecated=True) version("2020.08.03", commit="d9d13c705d81e5de38e624254cf0875cce6add9a", deprecated=True) version("2020.07.21", commit="4e56c780cffc53875aca67d6472a2fb3678970eb", deprecated=True) @@ -50,8 +50,9 @@ class Hpctoolkit(AutotoolsPackage, MesonPackage): version("2020.03.01", commit="94ede4e6fa1e05e6f080be8dc388240ea027f769", deprecated=True) version("2019.12.28", commit="b4e1877ff96069fd8ed0fdf0e36283a5b4b62240", deprecated=True) version("2019.08.14", commit="6ea44ed3f93ede2d0a48937f288a2d41188a277c", deprecated=True) - version("2018.12.28", commit="8dbf0d543171ffa9885344f32f23cc6f7f6e39bc", deprecated=True) - version("2018.11.05", commit="d0c43e39020e67095b1f1d8bb89b75f22b12aee9", deprecated=True) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated # Options for MPI and hpcprof-mpi. We always support profiling # MPI applications. These options add hpcprof-mpi, the MPI @@ -151,8 +152,8 @@ class Hpctoolkit(AutotoolsPackage, MesonPackage): " +graph +regex +shared +multithreaded visibility=global" ) - depends_on("binutils +libiberty", type="link", when="@2021:2022.06") - depends_on("binutils +libiberty~nls", type="link", when="@2020.04:2020") + depends_on("binutils@:2.39 +libiberty", type="link", when="@2021:2022.06") + depends_on("binutils@:2.39 +libiberty~nls", type="link", when="@2020.04:2020") depends_on("binutils@:2.33.1 +libiberty~nls", type="link", when="@:2020.03") depends_on("boost" + boost_libs) depends_on("bzip2+shared", type="link") @@ -213,6 +214,12 @@ class Hpctoolkit(AutotoolsPackage, MesonPackage): conflicts("^xz@5.2.7:5.2.8", msg="avoid xz 5.2.7:5.2.8 (broken symbol versions)") conflicts("^intel-xed@2023.08:", when="@:2023.09") + # https://gitlab.com/hpctoolkit/hpctoolkit/-/issues/831 + conflicts( + "^elfutils@0.191:", + msg="avoid elfutils 0.191 (known critical errors in hpcstruct for CUDA binaries)", + ) + conflicts("+cray", when="@2022.10.01", msg="hpcprof-mpi is not available in 2022.10.01") conflicts("+mpi", when="@2022.10.01", msg="hpcprof-mpi is not available in 2022.10.01") diff --git a/var/spack/repos/builtin/packages/hpddm/package.py b/var/spack/repos/builtin/packages/hpddm/package.py index df75297679ea6b..f34f6496cf2671 100644 --- a/var/spack/repos/builtin/packages/hpddm/package.py +++ b/var/spack/repos/builtin/packages/hpddm/package.py @@ -26,6 +26,10 @@ class Hpddm(Package): version("2.1.3", commit="32025e4ee75a16fa67399d26dd86910c03910dba") version("2.1.2", commit="e58205623814f59bf2aec2e2bab8eafcfbd22466") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("blas") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/hpgmg/package.py b/var/spack/repos/builtin/packages/hpgmg/package.py index 75a79367c9bc42..8045f7297362aa 100644 --- a/var/spack/repos/builtin/packages/hpgmg/package.py +++ b/var/spack/repos/builtin/packages/hpgmg/package.py @@ -32,6 +32,8 @@ class Hpgmg(MakefilePackage): ) version("0.3", sha256="12a65da216fec91daea78594ae4b5a069c8f1a700f1ba21eed9f45a79a68c793") + depends_on("c", type="build") # generated + variant("fe", default=False, description="Build finite element solver") variant( "fv", diff --git a/var/spack/repos/builtin/packages/hping/package.py b/var/spack/repos/builtin/packages/hping/package.py index 187c5630c6bb54..3aa211ce089ac2 100644 --- a/var/spack/repos/builtin/packages/hping/package.py +++ b/var/spack/repos/builtin/packages/hping/package.py @@ -16,6 +16,8 @@ class Hping(AutotoolsPackage): version("master", commit="3547c7691742c6eaa31f8402e0ccbb81387c1b99") + depends_on("c", type="build") # generated + patch("bpf.patch", sha256="99b9f91a308ffca306f69ccdb285e289ee3d280ec47ec7229e3a7669cca512f2") depends_on("libpcap") diff --git a/var/spack/repos/builtin/packages/hpl/package.py b/var/spack/repos/builtin/packages/hpl/package.py index b0e4dff85542e3..184fe6c2b7e298 100644 --- a/var/spack/repos/builtin/packages/hpl/package.py +++ b/var/spack/repos/builtin/packages/hpl/package.py @@ -23,6 +23,8 @@ class Hpl(AutotoolsPackage): version("2.3", sha256="32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830") version("2.2", sha256="ac7534163a09e21a5fa763e4e16dfc119bc84043f6e6a807aba666518f8df440") + depends_on("c", type="build") # generated + variant("openmp", default=False, description="Enable OpenMP support") depends_on("mpi@1.1:") diff --git a/var/spack/repos/builtin/packages/hpx-kokkos/package.py b/var/spack/repos/builtin/packages/hpx-kokkos/package.py index 83e13413ed4f54..b5efd783529c8a 100644 --- a/var/spack/repos/builtin/packages/hpx-kokkos/package.py +++ b/var/spack/repos/builtin/packages/hpx-kokkos/package.py @@ -24,6 +24,8 @@ class HpxKokkos(CMakePackage, CudaPackage, ROCmPackage): version("0.2.0", sha256="289b711cea26afe80be002fc521234c9194cd0e8f69863f3b08b654674dbe5d5") version("0.1.0", sha256="24edb817d0969f4aea1b68eab4984c2ea9a58f4760a9b8395e20f85b178f0850") + depends_on("cxx", type="build") # generated + cxxstds = ("14", "17", "20") variant( "cxxstd", diff --git a/var/spack/repos/builtin/packages/hpx/package.py b/var/spack/repos/builtin/packages/hpx/package.py index 0269839a1c8fb8..1314392bab57b6 100644 --- a/var/spack/repos/builtin/packages/hpx/package.py +++ b/var/spack/repos/builtin/packages/hpx/package.py @@ -16,7 +16,7 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage): homepage = "https://hpx.stellar-group.org/" url = "https://github.com/STEllAR-GROUP/hpx/archive/v0.0.0.tar.gz" git = "https://github.com/STEllAR-GROUP/hpx.git" - maintainers("msimberg", "albestro", "teonnik", "hkaiser") + maintainers("msimberg", "albestro", "teonnik", "hkaiser", "diehlpk") license("BSL-1.0") @@ -24,6 +24,7 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage): version("master", branch="master") version("stable", tag="stable", commit="103a7b8e3719a0db948d1abde29de0ff91e070be") + version("1.10.0", sha256="5720ed7d2460fa0b57bd8cb74fa4f70593fe8675463897678160340526ec3c19") version("1.9.1", sha256="1adae9d408388a723277290ddb33c699aa9ea72defadf3f12d4acc913a0ff22d") version("1.9.0", sha256="2a8dca78172fbb15eae5a5e9facf26ab021c845f9c09e61b1912e6cf9e72915a") version("1.8.1", sha256="2fc4c10f55e2e6bcdc6f6ff950e26c6d8e218e138fdbd885ee71ccf5c5549054") @@ -40,6 +41,8 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage): version("1.2.0", sha256="20942314bd90064d9775f63b0e58a8ea146af5260a4c84d0854f9f968077c170") version("1.1.0", sha256="1f28bbe58d8f0da600d60c3a74a644d75ac777b20a018a5c1c6030a470e8a1c9") + depends_on("cxx", type="build") # generated + generator("ninja") map_cxxstd = lambda cxxstd: "2a" if cxxstd == "20" else cxxstd @@ -65,7 +68,7 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage): values=lambda x: isinstance(x, str) and (x.isdigit() or x == "auto"), ) - instrumentation_values = ("apex", "google_perftools", "papi", "valgrind") + instrumentation_values = ("apex", "google_perftools", "papi", "valgrind", "thread_debug") variant( "instrumentation", values=any_combination_of(*instrumentation_values), @@ -265,6 +268,12 @@ def cmake_args(self): # Instrumentation args += self.instrumentation_args() + if "instrumentation=thread_debug" in spec: + args += [ + self.define("HPX_WITH_THREAD_DEBUG_INFO", True), + self.define("HPX_WITH_LOGGING", True), + ] + if "instrumentation=apex" in spec: args += [ self.define("APEX_WITH_OTF2", True), diff --git a/var/spack/repos/builtin/packages/hpx5/package.py b/var/spack/repos/builtin/packages/hpx5/package.py index 147101cc2039d3..a0f4cc27c11920 100644 --- a/var/spack/repos/builtin/packages/hpx5/package.py +++ b/var/spack/repos/builtin/packages/hpx5/package.py @@ -29,6 +29,9 @@ class Hpx5(AutotoolsPackage): version("2.1.0", sha256="675826f669eeb3eab40947715af8c8495e2b3d299223372431dc01c1f7d5d616") version("2.0.0", sha256="0278728557b6684aeb86228f44d548ac809302f05a0b9c8b433cdd157629e384") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Don't second-guess what compiler we are using on Cray patch("configure.patch", when="@4.0.0") diff --git a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py index 0457530fe0a1ee..a0825f64e774b9 100644 --- a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py +++ b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py @@ -24,6 +24,7 @@ class HsaRocrDev(CMakePackage): libraries = ["libhsa-runtime64"] version("master", branch="master") + version("6.1.2", sha256="6eb7a02e5f1e5e3499206b9e74c9ccdd644abaafa2609dea0993124637617866") version("6.1.1", sha256="72841f112f953c16619938273370eb8727ddf6c2e00312856c9fca54db583b99") version("6.1.0", sha256="50386ebcb7ff24449afa2a10c76a059597464f877225c582ba3e097632a43f9c") version("6.0.2", sha256="e7ff4d7ac35a2dd8aad1cb40b96511a77a9c23fe4d1607902328e53728e05c28") @@ -34,37 +35,29 @@ class HsaRocrDev(CMakePackage): version("5.6.0", sha256="30875d440df9d8481ffb24d87755eae20a0efc1114849a72619ea954f1e9206c") version("5.5.1", sha256="53d84ad5ba5086ed4ad67ad892c52c0e4eba8ddfa85c2dd341bf825f4d5fe4ee") version("5.5.0", sha256="8dbc776b56f93ddaa2ca38bf3b88299b8091de7c1b3f2e481064896cf6808e6c") - version("5.4.3", sha256="a600eed848d47a7578c60da7e64eb92f29bbce2ec67932b251eafd4c2974cb67") - version("5.4.0", sha256="476cd18500cc227d01f6b44c00c7adc8574eb8234b6b4daefc219650183fa090") - version("5.3.3", sha256="aca88d90f169f35bd65ce3366b8670c7cdbe3abc0a2056eab805d0192cfd7130") - version("5.3.0", sha256="b51dbedbe73390e0be748b92158839c82d7fa0e514fede60aa7696dc498facf0") with default_args(deprecated=True): - version("5.2.3", sha256="978de85d3455207bb82bef2254a4624e9116b1258a8c164d7a7e21a644eff12f") - version("5.2.1", sha256="448a7409bdc6618332a42b9503122996f26b91768140b710ba99bff8a8c03dd9") - version("5.2.0", sha256="529e49693dd9f6459586dd0a26f14dd77dbdf8c0b45fb54830b294eba7babd27") - version("5.1.3", sha256="479340ec34cdffbbdb1002c85a47d1fccd23e8394631a1f001ef6130be08287d") - version("5.1.0", sha256="a5f7245059c3d28dbc037e1e6fa3f09084e29147096dd61f7ce5560291ab330f") + version("5.4.3", sha256="a600eed848d47a7578c60da7e64eb92f29bbce2ec67932b251eafd4c2974cb67") + version("5.4.0", sha256="476cd18500cc227d01f6b44c00c7adc8574eb8234b6b4daefc219650183fa090") + version("5.3.3", sha256="aca88d90f169f35bd65ce3366b8670c7cdbe3abc0a2056eab805d0192cfd7130") + version("5.3.0", sha256="b51dbedbe73390e0be748b92158839c82d7fa0e514fede60aa7696dc498facf0") + + depends_on("cxx", type="build") # generated variant("shared", default=True, description="Build shared or static library") variant("image", default=True, description="build with or without image support") variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") depends_on("cmake@3:", type="build") - depends_on("pkgconfig", type="build", when="@5.3.0:") + depends_on("pkgconfig", type="build") # Note, technically only necessary when='@3.7: +image', but added to all # to work around https://github.com/spack/spack/issues/23951 depends_on("xxd", when="+image", type="build") depends_on("elf", type="link") depends_on("numactl") - depends_on("pkgconfig", type="build", when="@5.3.0:") + depends_on("pkgconfig") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -79,6 +72,7 @@ class HsaRocrDev(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", "master", ]: depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") @@ -97,6 +91,7 @@ class HsaRocrDev(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/hsakmt-roct/0001-Remove-compiler-support-libraries-and-libudev-as-req.patch b/var/spack/repos/builtin/packages/hsakmt-roct/0001-Remove-compiler-support-libraries-and-libudev-as-req.patch deleted file mode 100644 index b0a04e3e84278f..00000000000000 --- a/var/spack/repos/builtin/packages/hsakmt-roct/0001-Remove-compiler-support-libraries-and-libudev-as-req.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 423bfb21eee3f75c5a116a88f7903a7dfb9ff89c Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Thu, 10 Feb 2022 13:50:55 +0100 -Subject: [PATCH] Remove compiler support libraries and libudev as required - dependencies - ---- - CMakeLists.txt | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 077ab51..0af642e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -187,16 +187,6 @@ target_link_libraries ( ${HSAKMT_TARGET} - ) - - target_compile_options(${HSAKMT_TARGET} PRIVATE ${DRM_CFLAGS} ${HSAKMT_C_FLAGS}) --if(NOT DISTRO_ID MATCHES "ubuntu") -- find_library(LIBGCC NAMES libgcc_s.so.1 REQUIRED) -- message(STATUS "LIBGCC:" ${LIBGCC}) -- target_link_libraries( ${HSAKMT_TARGET} PRIVATE ${LIBGCC} ) --else() -- find_library(UDEV NAMES libudev.so libudev.a REQUIRED) -- message(STATUS "UDEV:" ${UDEV}) -- find_package(ZLIB REQUIRED) -- target_link_libraries( ${HSAKMT_TARGET} PRIVATE ${ZLIB} ${UDEV} ) --endif() - - ## Define default paths and packages. - if( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT ) --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hsakmt-roct/package.py b/var/spack/repos/builtin/packages/hsakmt-roct/package.py index ac7841ef14af6a..fe256e862550ae 100644 --- a/var/spack/repos/builtin/packages/hsakmt-roct/package.py +++ b/var/spack/repos/builtin/packages/hsakmt-roct/package.py @@ -16,12 +16,13 @@ class HsakmtRoct(CMakePackage): homepage = "https://github.com/ROCm/ROCT-Thunk-Interface" git = "https://github.com/ROCm/ROCT-Thunk-Interface.git" - url = "https://github.com/ROCm/ROCT-Thunk-Interface/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/ROCT-Thunk-Interface/archive/rocm-6.1.0.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") version("master", branch="master") + version("6.1.2", sha256="097a5b7eb136300667b36bd35bf55e4a283a1ed04e614cf24dddca0a65c86389") version("6.1.1", sha256="c586d8a04fbd9a7bc0a15e0a6a161a07f88f654402bb11694bd8aebc343c00f0") version("6.1.0", sha256="1085055068420821f7a7adb816692412b5fb38f89d67b9edb9995198f39e2f31") version("6.0.2", sha256="5354bda9382f80edad834463f2c684289841770a4f7b13f0f40bd8271cc4c71d") @@ -32,24 +33,22 @@ class HsakmtRoct(CMakePackage): version("5.6.0", sha256="cd009c5c09f664f046c428ba9843582ab468f7b88d560747eb949d8d7f8c5567") version("5.5.1", sha256="4ffde3fc1f91f24cdbf09263fd8e012a3995ad10854f4c1d866beab7b9f36bf4") version("5.5.0", sha256="2b11fd8937c2b06cd4ddea2c3699fbf3d1651892c4c5957d38553b993dd9af18") - version("5.4.3", sha256="3799abbe7177fbff3b304e2a363e2b39e8864f8650ae569b2b88b9291f9a710c") - version("5.4.0", sha256="690a78a6e67ae2b3f518dbc4a1e267237d6a342e1063b31eef297f4a04d780f8") - version("5.3.3", sha256="b5350de915997ed48072b37a21c2c44438028255f6cc147c25a196ad383c52e7") - version("5.3.0", sha256="c150be3958fd46e57bfc9db187819ec34b1db8f0cf9b69f8c3f8915001800ab8") with default_args(deprecated=True): - version("5.2.3", sha256="8d313b8fd945a8d7248c00a2de9a2ee896fe77e464430a91b63400a986ec0bf0") - version("5.2.1", sha256="13c4a6748c4ae70f87869f10fda101d67c9dbaecf040687f7f5d9bb8b6d0506c") - version("5.2.0", sha256="3797cb0eafbec3fd3d4a2b53f789eb8cdbab30729f13dbcca0a10bc1bafd2187") - version("5.1.3", sha256="3c66b1aa7451571ce8bee10e601d34b93c9416b9be476610ee5685dbad81034a") - version("5.1.0", sha256="032717e80b1aefed59f11399e575564ee86ee7c125e889f7c79c2afdfab1eb93") + version("5.4.3", sha256="3799abbe7177fbff3b304e2a363e2b39e8864f8650ae569b2b88b9291f9a710c") + version("5.4.0", sha256="690a78a6e67ae2b3f518dbc4a1e267237d6a342e1063b31eef297f4a04d780f8") + version("5.3.3", sha256="b5350de915997ed48072b37a21c2c44438028255f6cc147c25a196ad383c52e7") + version("5.3.0", sha256="c150be3958fd46e57bfc9db187819ec34b1db8f0cf9b69f8c3f8915001800ab8") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated variant("shared", default=True, description="Build shared or static library") variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") - depends_on("pkgconfig", type="build", when="@4.5.0:") + depends_on("pkgconfig", type="build") depends_on("cmake@3:", type="build") depends_on("numactl") - depends_on("libdrm", when="@4.5.0:") + depends_on("libdrm") for ver in ["5.3.0", "5.4.0", "5.4.3"]: depends_on(f"llvm-amdgpu@{ver}", type="test", when=f"@{ver}") @@ -65,13 +64,13 @@ class HsakmtRoct(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") depends_on(f"llvm-amdgpu@{ver}", type="test", when=f"@{ver}") # See https://github.com/ROCm/ROCT-Thunk-Interface/issues/72 # and https://github.com/spack/spack/issues/28398 - patch("0001-Remove-compiler-support-libraries-and-libudev-as-req.patch", when="@4.5.0:5.2") patch("0002-Remove-compiler-support-libraries-and-libudev-as-req-5.3.patch", when="@5.3.0:5.4") def cmake_args(self): @@ -90,9 +89,6 @@ def cmake_args(self): @run_after("install") @on_package_attributes(run_tests=True) def check_install(self): - if self.spec.satisfies("@:5.3.0"): - print("Skipping: stand-alone tests") - return test_dir = "tests/kfdtest" with working_dir(test_dir, create=True): cmake_bin = join_path(self.spec["cmake"].prefix.bin, "cmake") diff --git a/var/spack/repos/builtin/packages/hsakmt/package.py b/var/spack/repos/builtin/packages/hsakmt/package.py index 2a88f1fd486404..d26dc9a8495087 100644 --- a/var/spack/repos/builtin/packages/hsakmt/package.py +++ b/var/spack/repos/builtin/packages/hsakmt/package.py @@ -16,3 +16,5 @@ class Hsakmt(AutotoolsPackage, XorgPackage): license("MIT") version("1.0.0", sha256="3d46af85c27091937618f5e92f7446cff3e9e6378888645e6e238806461e5b77") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/hssp/package.py b/var/spack/repos/builtin/packages/hssp/package.py index 151644e4e84706..f32f34a6d88fc9 100644 --- a/var/spack/repos/builtin/packages/hssp/package.py +++ b/var/spack/repos/builtin/packages/hssp/package.py @@ -33,6 +33,8 @@ class Hssp(AutotoolsPackage): version("3.0.2", sha256="76b4275c8cde120509d7920609fca983f2b04249a649d0aa802c69fd09e5f8cf") version("3.0.1", sha256="62a703d15bdfec82fdbd2a4275e1973b6a1ac6ccd4dbec75036f16faacaa9dce") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/hstr/package.py b/var/spack/repos/builtin/packages/hstr/package.py index 8ad7f1c9734e68..28400a7ddd3908 100644 --- a/var/spack/repos/builtin/packages/hstr/package.py +++ b/var/spack/repos/builtin/packages/hstr/package.py @@ -18,6 +18,8 @@ class Hstr(AutotoolsPackage): version("1.22", sha256="384fee04e4c80a1964dcf443131c1da4a20dd474fb48132a51d3de0a946ba996") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/htop/package.py b/var/spack/repos/builtin/packages/htop/package.py index 9d50648d77666c..23c8a6034ead28 100644 --- a/var/spack/repos/builtin/packages/htop/package.py +++ b/var/spack/repos/builtin/packages/htop/package.py @@ -33,6 +33,8 @@ class Htop(AutotoolsPackage): url="https://hisham.hm/htop/releases/2.0.2/htop-2.0.2.tar.gz", ) + depends_on("c", type="build") # generated + variant("unicode", default=True, description="Enable Unicode support dependency") variant("hwloc", default=False, description="Enable hwloc support for CPU affinity") variant("debug", default=False, description="Enable asserts and internal sanity checks") diff --git a/var/spack/repos/builtin/packages/htslib/package.py b/var/spack/repos/builtin/packages/htslib/package.py index 3b4b9fcf2d5210..9e43771b2f62db 100644 --- a/var/spack/repos/builtin/packages/htslib/package.py +++ b/var/spack/repos/builtin/packages/htslib/package.py @@ -38,22 +38,30 @@ class Htslib(AutotoolsPackage): version("1.3.1", sha256="49d53a2395b8cef7d1d11270a09de888df8ba06f70fe68282e8235ee04124ae6") version("1.2", sha256="125c01421d5131afb4c3fd2bc9c7da6f4f1cd9ab5fc285c076080b9aca24bffc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "libcurl", default=True, description="Enable libcurl-based support for http/https/etc URLs," - " for versions >= 1.3. This also enables S3 and GCS support.", + " for versions >= 1.3. This also enables S3 and GCS support by default.", ) variant( "libdeflate", default=True, description="use libdeflate for faster crc and deflate algorithms", ) + variant("gcs", default=True, description="enable gcs url support", when="@1.5:+libcurl") + variant("s3", default=True, description="enable s3 url support", when="@1.5:+libcurl") + variant("plugins", default=False, description="enable support for separately compiled plugins") + variant("pic", default=True, description="Compile with PIC support") depends_on("zlib-api") depends_on("bzip2", when="@1.4:") depends_on("xz", when="@1.4:") depends_on("curl", when="@1.3:+libcurl") + depends_on("openssl", when="+s3") depends_on("libdeflate", when="@1.8:+libdeflate") depends_on("m4", when="@1.2") @@ -76,6 +84,11 @@ def url_for_version(self, version): url = "https://github.com/samtools/htslib/releases/download/{0}/htslib-{0}.tar.bz2" return url.format(version.dotted) + def flag_handler(self, name, flags): + if name == "cflags" and self.spec.satisfies("+pic"): + flags.append(self.compiler.cc_pic_flag) + return (flags, None, None) + def configure_args(self): spec = self.spec args = [] @@ -83,6 +96,11 @@ def configure_args(self): if spec.satisfies("@1.3:"): args.extend(self.enable_or_disable("libcurl")) + if spec.satisfies("@1.5:"): + args.extend(self.enable_or_disable("s3")) + args.extend(self.enable_or_disable("gcs")) + args.extend(self.enable_or_disable("plugins")) + if spec.satisfies("@1.8:"): args.extend(self.enable_or_disable("libdeflate")) diff --git a/var/spack/repos/builtin/packages/http-get/package.py b/var/spack/repos/builtin/packages/http-get/package.py index 380522ab4a18d1..7300665b04130b 100644 --- a/var/spack/repos/builtin/packages/http-get/package.py +++ b/var/spack/repos/builtin/packages/http-get/package.py @@ -20,6 +20,8 @@ class HttpGet(MakefilePackage): "2018-05-23", sha256="f04e9d911fbc0cdb7c4ebe91dae1cc951ea14b657f48309c3952dcc938bb2e0d" ) + depends_on("c", type="build") # generated + def url_for_version(self, version): ver = datetime.datetime.strptime(str(version), "%Y-%m-%d").date() verstr = datetime.datetime.strftime(ver, "%d%b%Y") diff --git a/var/spack/repos/builtin/packages/http-load/package.py b/var/spack/repos/builtin/packages/http-load/package.py index 736c7988a400f8..2c6739a6095ec6 100644 --- a/var/spack/repos/builtin/packages/http-load/package.py +++ b/var/spack/repos/builtin/packages/http-load/package.py @@ -18,6 +18,8 @@ class HttpLoad(MakefilePackage): "2016-03-09", sha256="5a7b00688680e3fca8726dc836fd3f94f403fde831c71d73d9a1537f215b4587" ) + depends_on("c", type="build") # generated + def url_for_version(self, version): ver = datetime.datetime.strptime(str(version), "%Y-%m-%d").date() verstr = datetime.datetime.strftime(ver, "%d%b%Y") diff --git a/var/spack/repos/builtin/packages/http-parser/package.py b/var/spack/repos/builtin/packages/http-parser/package.py index 61af488281cb54..03bb080b6fd867 100644 --- a/var/spack/repos/builtin/packages/http-parser/package.py +++ b/var/spack/repos/builtin/packages/http-parser/package.py @@ -19,5 +19,7 @@ class HttpParser(MakefilePackage): version("2.9.2", sha256="5199500e352584852c95c13423edc5f0cb329297c81dd69c3c8f52a75496da08") version("2.9.1", sha256="33220771208bcacecd970b6de03bebe239374a8e9cf3baeda79b4f3920bede21") + depends_on("c", type="build") # generated + def install(self, spec, prefix): make("install", "DESTDIR=%s" % prefix, "PREFIX=") diff --git a/var/spack/repos/builtin/packages/http-ping/package.py b/var/spack/repos/builtin/packages/http-ping/package.py index 5e403a91b2fab3..765dea676d9503 100644 --- a/var/spack/repos/builtin/packages/http-ping/package.py +++ b/var/spack/repos/builtin/packages/http-ping/package.py @@ -19,6 +19,8 @@ class HttpPing(MakefilePackage): "2016-03-09", sha256="f8b95773aaed09839a44a1927f979a62752d57aace79da3846bfb73e6c9805e9" ) + depends_on("c", type="build") # generated + def url_for_version(self, version): ver = datetime.datetime.strptime(str(version), "%Y-%m-%d").date() verstr = datetime.datetime.strftime(ver, "%d%b%Y") diff --git a/var/spack/repos/builtin/packages/http-post/package.py b/var/spack/repos/builtin/packages/http-post/package.py index 6429398c6ab3ed..a244a44277fe53 100644 --- a/var/spack/repos/builtin/packages/http-post/package.py +++ b/var/spack/repos/builtin/packages/http-post/package.py @@ -20,6 +20,8 @@ class HttpPost(MakefilePackage): "2018-05-18", sha256="6607faa91aea410efb9b86ae0b1b64541b55318831cf6bb3fdee5d68f8adab31" ) + depends_on("c", type="build") # generated + def url_for_version(self, version): ver = datetime.datetime.strptime(str(version), "%Y-%m-%d").date() verstr = datetime.datetime.strftime(ver, "%d%b%Y") diff --git a/var/spack/repos/builtin/packages/httpd/package.py b/var/spack/repos/builtin/packages/httpd/package.py index ae7a78d0c7eb64..cf4ac9e99ccc55 100644 --- a/var/spack/repos/builtin/packages/httpd/package.py +++ b/var/spack/repos/builtin/packages/httpd/package.py @@ -40,6 +40,8 @@ class Httpd(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/httperf/package.py b/var/spack/repos/builtin/packages/httperf/package.py index e6a9fc2aa63473..8f4e0b5102cce4 100644 --- a/var/spack/repos/builtin/packages/httperf/package.py +++ b/var/spack/repos/builtin/packages/httperf/package.py @@ -16,6 +16,8 @@ class Httperf(AutotoolsPackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/hub/package.py b/var/spack/repos/builtin/packages/hub/package.py index 0e636a072e2030..646b1a13c1d328 100644 --- a/var/spack/repos/builtin/packages/hub/package.py +++ b/var/spack/repos/builtin/packages/hub/package.py @@ -40,6 +40,8 @@ class Hub(Package): deprecated=True, ) + depends_on("c", type="build") # generated + extends("go") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/hugo/package.py b/var/spack/repos/builtin/packages/hugo/package.py index 2bb87852b1ebaa..5bb339e8010602 100644 --- a/var/spack/repos/builtin/packages/hugo/package.py +++ b/var/spack/repos/builtin/packages/hugo/package.py @@ -20,6 +20,8 @@ class Hugo(Package): license("Apache-2.0") + version("0.127.0", sha256="549c7ebdf2ee6b3107ea10a9fbd9932a91bb3f30f7e8839245f6d8e318aca88c") + version("0.126.3", sha256="2a1d65b09884e3c57a8705db99487404856c947dd847cf7bb845e0e1825b33ec") version("0.118.2", sha256="915d7dcb44fba949c80858f9c2a55a11256162ba28a9067752f808cfe8faedaa") version("0.112.7", sha256="d706e52c74f0fb00000caf4e95b98e9d62c3536a134d5e26b433b1fa1e2a74aa") version("0.111.3", sha256="b6eeb13d9ed2e5d5c6895bae56480bf0fec24a564ad9d17c90ede14a7b240999") @@ -31,27 +33,11 @@ class Hugo(Package): version("0.107.0", sha256="31d959a3c1633087d338147782d03bdef65323b67ff3efcec7b40241413e270a") version("0.106.0", sha256="9219434beb51466487b9f8518edcbc671027c1998e5a5820d76d517e1dfbd96a") - # https://nvd.nist.gov/vuln/detail/CVE-2020-26284 - version( - "0.74.3", - sha256="9b296fa0396c20956fa6a1f7afadaa78739af62c277b6c0cfae79a91b0fe823f", - deprecated=True, - ) - version( - "0.68.3", - sha256="38e743605e45e3aafd9563feb9e78477e72d79535ce83b56b243ff991d3a2b6e", - deprecated=True, - ) - version( - "0.53", - sha256="48e65a33d3b10527101d13c354538379d9df698e5c38f60f4660386f4232e65c", - deprecated=True, - ) - # Uses go modules. # See https://gohugo.io/getting-started/installing/#fetch-from-github depends_on("go@1.11:", when="@0.48:", type="build") depends_on("go@1.18:", when="@0.106:", type="build") + depends_on("go@1.20:", when="@0.123:", type="build") variant("extended", default=False, description="Enable extended features") diff --git a/var/spack/repos/builtin/packages/hunspell/package.py b/var/spack/repos/builtin/packages/hunspell/package.py index 5b471af7a323da..5916ea1dc1a5dc 100644 --- a/var/spack/repos/builtin/packages/hunspell/package.py +++ b/var/spack/repos/builtin/packages/hunspell/package.py @@ -18,6 +18,8 @@ class Hunspell(AutotoolsPackage): version("1.7.0", sha256="bb27b86eb910a8285407cf3ca33b62643a02798cf2eef468c0a74f6c3ee6bc8a") version("1.6.0", sha256="512e7d2ee69dad0b35ca011076405e56e0f10963a02d4859dbcc4faf53ca68e2") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/hwloc/package.py b/var/spack/repos/builtin/packages/hwloc/package.py index 84e6785c2697fe..609ca0fde6f00a 100644 --- a/var/spack/repos/builtin/packages/hwloc/package.py +++ b/var/spack/repos/builtin/packages/hwloc/package.py @@ -2,6 +2,7 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) + import re import sys @@ -29,11 +30,19 @@ class Hwloc(AutotoolsPackage, CudaPackage, ROCmPackage): git = "https://github.com/open-mpi/hwloc.git" maintainers("bgoglin") - executables = ["^hwloc-bind$"] license("BSD-3-Clause") + executables = ["^hwloc-bind$"] + version("master", branch="master") + version("2.10.0", sha256="c7fd8a1404a9719c76aadc642864b9f77aed1dc1fc8882d6af861a9260ba240d") + version( + "2.9.3", + sha256="5985db3a30bbe51234c2cd26ebe4ae9b4c3352ab788b1a464c40c0483bf4de59", + preferred=True, + ) + version("2.9.2", sha256="ffb554d5735e0e0a19d1fd4b2b86e771d3b58b2d97f257eedacae67ade5054b3") version("2.9.1", sha256="a440e2299f7451dc10a57ddbfa3f116c2a6c4be1bb97c663edd3b9c7b3b3b4cf") version("2.9.0", sha256="9d7d3450e0a5fea4cb80ca07dc8db939abb7ab62e2a7bb27f9376447658738ec") version("2.8.0", sha256="20b2bd4df436827d8e50f7afeafb6f967259f2fb374ce7330244f8d0ed2dde6f") @@ -66,10 +75,13 @@ class Hwloc(AutotoolsPackage, CudaPackage, ROCmPackage): version("1.11.1", sha256="b41f877d79b6026640943d57ef25311299378450f2995d507a5e633da711be61") version("1.9", sha256="9fb572daef35a1c8608d1a6232a4a9f56846bab2854c50562dfb9a7be294f4e8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("nvml", default=False, description="Support NVML device discovery") variant("gl", default=False, description="Support GL device discovery") variant("libxml2", default=True, description="Build with libxml2") - variant("libudev", default=False, description="Build with libudev") + variant("libudev", default=False, when="@1.11.0:", description="Build with libudev") variant( "pci", default=(sys.platform != "darwin"), @@ -85,19 +97,15 @@ class Hwloc(AutotoolsPackage, CudaPackage, ROCmPackage): variant( "cairo", default=False, description="Enable the Cairo back-end of hwloc's lstopo command" ) - variant("netloc", default=False, description="Enable netloc [requires MPI]") + variant( + "netloc", default=False, when="@2.0.0:2.9.3", description="Enable netloc [requires MPI]" + ) variant("opencl", default=False, description="Support an OpenCL library at run time") variant("rocm", default=False, description="Support ROCm devices") variant( "oneapi-level-zero", default=False, description="Support Intel OneAPI Level Zero devices" ) - # netloc isn't available until version 2.0.0 - conflicts("+netloc", when="@:1") - - # libudev isn't available until version 1.11.0 - conflicts("+libudev", when="@:1.10") - depends_on("pkgconfig", type="build") depends_on("m4", type="build", when="@master") depends_on("autoconf", type="build", when="@master") diff --git a/var/spack/repos/builtin/packages/hybrid-lambda/package.py b/var/spack/repos/builtin/packages/hybrid-lambda/package.py index dcd5b6893b8bcb..4b31318b1fe477 100644 --- a/var/spack/repos/builtin/packages/hybrid-lambda/package.py +++ b/var/spack/repos/builtin/packages/hybrid-lambda/package.py @@ -26,6 +26,8 @@ class HybridLambda(AutotoolsPackage): version("develop", submodules=True) + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/hybridsim/package.py b/var/spack/repos/builtin/packages/hybridsim/package.py index 3d1d0a8e020def..c1ed72491bccfa 100644 --- a/var/spack/repos/builtin/packages/hybridsim/package.py +++ b/var/spack/repos/builtin/packages/hybridsim/package.py @@ -21,6 +21,9 @@ class Hybridsim(MakefilePackage): version("2.0.1", sha256="57b82ac929acd36de84525e4d61358f1ab6532f5b635ca3f560e563479921937") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("dramsim2") depends_on("nvdimmsim") patch("makefile.patch", when="@2.0.1") diff --git a/var/spack/repos/builtin/packages/hydra/package.py b/var/spack/repos/builtin/packages/hydra/package.py index 87bf987b12412a..6df93d1f7ea671 100644 --- a/var/spack/repos/builtin/packages/hydra/package.py +++ b/var/spack/repos/builtin/packages/hydra/package.py @@ -23,3 +23,5 @@ class Hydra(AutotoolsPackage): version("4.2.0", sha256="d7159353d9d0576effba632668a3e6defde2067530ac5db4bae0a85a23dfda5a") version("4.1.1", sha256="d4b915ccab426cd8368bbb2ee9d933fe07bea01493901fb56880b338a7f0b97e") version("3.2", sha256="f7a67ec91a773d95cbbd479a80e926d44bee1ff9fc70a8d1df075ea53ea33889") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py index 2847431ef9df4b..582204c140b825 100644 --- a/var/spack/repos/builtin/packages/hydrogen/package.py +++ b/var/spack/repos/builtin/packages/hydrogen/package.py @@ -31,6 +31,9 @@ class Hydrogen(CachedCMakePackage, CudaPackage, ROCmPackage): version("1.5.3", sha256="faefbe738bd364d0e26ce9ad079a11c93a18c6f075719a365fd4fa5f1f7a989a") version("1.5.2", sha256="a902cad3962471216cfa278ba0561c18751d415cd4d6b2417c02a43b0ab2ea33") version("1.5.1", sha256="447da564278f98366906d561d9c8bc4d31678c56d761679c2ff3e59ee7a2895c") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated # Older versions are no longer supported. variant("shared", default=True, description="Enables the build of shared libraries.") diff --git a/var/spack/repos/builtin/packages/hyperscan/package.py b/var/spack/repos/builtin/packages/hyperscan/package.py index 622601384f0ad9..6c7ae9306903a7 100644 --- a/var/spack/repos/builtin/packages/hyperscan/package.py +++ b/var/spack/repos/builtin/packages/hyperscan/package.py @@ -35,6 +35,9 @@ class Hyperscan(CMakePackage): if pkg: version(ver, sha256=pkg[0], url=pkg[1]) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost+exception+serialization+random+graph+container") depends_on("pcre") depends_on("ragel", type="build") diff --git a/var/spack/repos/builtin/packages/hyphen/package.py b/var/spack/repos/builtin/packages/hyphen/package.py index 607f4e5beacd37..d1f5b97a86f29d 100644 --- a/var/spack/repos/builtin/packages/hyphen/package.py +++ b/var/spack/repos/builtin/packages/hyphen/package.py @@ -16,6 +16,8 @@ class Hyphen(AutotoolsPackage): version("master", branch="master") version("2.8.8", sha256="304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/hyphy/package.py b/var/spack/repos/builtin/packages/hyphy/package.py index c63e67b50f3ed5..a6e2f74ac3ee2f 100644 --- a/var/spack/repos/builtin/packages/hyphy/package.py +++ b/var/spack/repos/builtin/packages/hyphy/package.py @@ -15,6 +15,9 @@ class Hyphy(CMakePackage): version("2.5.51hf", sha256="403a5d07a4e7e67d3d8136fa83649713ad28223a2519e5fba3aa82697a03375f") version("2.3.14", sha256="9e6c817cb649986e3fe944bcaf88be3533e7e62968b9a486c719e951e5ed1cf6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("openmpi", type="build", when="@2.4:") depends_on("cmake@3.12:", type="build", when="@2.4:") depends_on("cmake@3.0:", type="build", when="@:2.3") diff --git a/var/spack/repos/builtin/packages/hypre-cmake/package.py b/var/spack/repos/builtin/packages/hypre-cmake/package.py index 8d6ad9bed8d5cf..c65fa30fc2785f 100644 --- a/var/spack/repos/builtin/packages/hypre-cmake/package.py +++ b/var/spack/repos/builtin/packages/hypre-cmake/package.py @@ -26,6 +26,10 @@ class HypreCmake(CMakePackage, CudaPackage): version("develop", branch="master") version("2.22.0", sha256="2c786eb5d3e722d8d7b40254f138bef4565b2d4724041e56a8fa073bda5cfbb5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "shared", default=(sys.platform != "darwin"), diff --git a/var/spack/repos/builtin/packages/hypre/hypre-precision-fix.patch b/var/spack/repos/builtin/packages/hypre/hypre-precision-fix.patch new file mode 100644 index 00000000000000..d40b705820b5f0 --- /dev/null +++ b/var/spack/repos/builtin/packages/hypre/hypre-precision-fix.patch @@ -0,0 +1,27 @@ +diff --git a/src/distributed_ls/ParaSails/ConjGrad.c b/src/distributed_ls/ParaSails/ConjGrad.c +index 0ef71b36f..7abbc38aa 100644 +--- a/src/distributed_ls/ParaSails/ConjGrad.c ++++ b/src/distributed_ls/ParaSails/ConjGrad.c +@@ -33,19 +33,19 @@ static HYPRE_Real InnerProd(HYPRE_Int n, HYPRE_Real *x, HYPRE_Real *y, MPI_Comm + static void CopyVector(HYPRE_Int n, HYPRE_Real *x, HYPRE_Real *y) + { + HYPRE_Int one = 1; +- hypre_F90_NAME_BLAS(dcopy, DCOPY)(&n, x, &one, y, &one); ++ hypre_dcopy(&n, x, &one, y, &one); + } + + static void ScaleVector(HYPRE_Int n, HYPRE_Real alpha, HYPRE_Real *x) + { + HYPRE_Int one = 1; +- hypre_F90_NAME_BLAS(dscal, DSCAL)(&n, &alpha, x, &one); ++ hypre_dscal(&n, &alpha, x, &one); + } + + static void Axpy(HYPRE_Int n, HYPRE_Real alpha, HYPRE_Real *x, HYPRE_Real *y) + { + HYPRE_Int one = 1; +- hypre_F90_NAME_BLAS(daxpy, DAXPY)(&n, &alpha, x, &one, y, &one); ++ hypre_daxpy(&n, &alpha, x, &one, y, &one); + } + + diff --git a/var/spack/repos/builtin/packages/hypre/package.py b/var/spack/repos/builtin/packages/hypre/package.py index 60eaa2bbb1c502..86ff57b274b50b 100644 --- a/var/spack/repos/builtin/packages/hypre/package.py +++ b/var/spack/repos/builtin/packages/hypre/package.py @@ -55,6 +55,10 @@ class Hypre(AutotoolsPackage, CudaPackage, ROCmPackage): version("2.10.1", sha256="a4a9df645ebdc11e86221b794b276d1e17974887ead161d5050aaf0b43bb183a") version("2.10.0b", sha256="b55dbdc692afe5a00490d1ea1c38dd908dae244f7bdd7faaf711680059824c11") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Versions 2.13.0 and later can be patched to build shared # libraries on Darwin; the patch for this capability does not # apply to version 2.12.1 and earlier due to changes in the build system @@ -85,6 +89,14 @@ class Hypre(AutotoolsPackage, CudaPackage, ROCmPackage): variant("caliper", default=False, description="Enable Caliper support") variant("rocblas", default=False, description="Enable rocBLAS") variant("cublas", default=False, description="Enable cuBLAS") + variant( + "precision", + default="double", + values=("single", "double", "longdouble"), + multi=False, + description="Floating point precision", + when="@2.12.1:", + ) # Patch to add gptune hookup codes patch("ij_gptune.patch", when="+gptune@2.19.0") @@ -100,6 +112,10 @@ class Hypre(AutotoolsPackage, CudaPackage, ROCmPackage): patch("hypre21800-compat.patch", when="@2.18.0") # Patch to get config flags right patch("detect-compiler.patch", when="@2.15.0:2.20.0") + # The following patch may not work for all versions, so apply it only when + # it is needed: + patch("hypre-precision-fix.patch", when="precision=single") + patch("hypre-precision-fix.patch", when="precision=longdouble") @when("@2.26.0") def patch(self): # fix sequential compilation in 'src/seq_mv' @@ -220,6 +236,11 @@ def configure_args(self): configure_args.extend(self.enable_or_disable("complex")) + if spec.satisfies("precision=single"): + configure_args.append("--enable-single") + elif spec.satisfies("precision=longdouble"): + configure_args.append("--enable-longdouble") + if spec.satisfies("+shared"): configure_args.append("--enable-shared") @@ -265,7 +286,7 @@ def configure_args(self): else: configure_args.append("--enable-cub") if spec.satisfies("+cublas"): - conigure_args.append("--enable-cublas") + configure_args.append("--enable-cublas") else: configure_args.extend(["--without-cuda", "--disable-curand", "--disable-cusparse"]) if spec.satisfies("@:2.20.99"): diff --git a/var/spack/repos/builtin/packages/hztool/package.py b/var/spack/repos/builtin/packages/hztool/package.py index 60e2a60f3e645f..39276be305ac07 100644 --- a/var/spack/repos/builtin/packages/hztool/package.py +++ b/var/spack/repos/builtin/packages/hztool/package.py @@ -27,6 +27,8 @@ class Hztool(AutotoolsPackage): version("4.1", sha256="a24b5d483d1dacaa991958956e838601a426133c74885b3aa2fc27c98b42d22a") version("4.0", sha256="e6f6955159da46156bf9182f61754a59dd14e407d40c2448e3f821d55bf963a0") + depends_on("fortran", type="build") # generated + def patch(self): filter_file("-fno-automatic", "-fno-automatic -fallow-argument-mismatch", "configure.ac") diff --git a/var/spack/repos/builtin/packages/i3/package.py b/var/spack/repos/builtin/packages/i3/package.py index 53d0ad53eb47af..2224ad4a8f272a 100644 --- a/var/spack/repos/builtin/packages/i3/package.py +++ b/var/spack/repos/builtin/packages/i3/package.py @@ -19,6 +19,8 @@ class I3(AutotoolsPackage): version("4.14.1", sha256="28d8102d656f17445a6e1523b12c1a730cc3925a520add1f75b56b9c842932f9") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/ibm-databroker/package.py b/var/spack/repos/builtin/packages/ibm-databroker/package.py index 745240354b00ee..422a9edf9a205a 100644 --- a/var/spack/repos/builtin/packages/ibm-databroker/package.py +++ b/var/spack/repos/builtin/packages/ibm-databroker/package.py @@ -28,6 +28,9 @@ class IbmDatabroker(CMakePackage, PythonExtension): version("0.6.1", sha256="2c7d6c6a269d4ae97aad4d770533e742f367da84758130c283733f25df83e535") version("0.6.0", sha256="5856209d965c923548ebb69119344f1fc596d4c0631121b230448cc91bac4290") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("python", default=False, description="Build Python bindings") depends_on("cmake@2.8:", type="build") diff --git a/var/spack/repos/builtin/packages/ibmisc/package.py b/var/spack/repos/builtin/packages/ibmisc/package.py index bb21460e04c43f..7a4b3ec9e01aa6 100644 --- a/var/spack/repos/builtin/packages/ibmisc/package.py +++ b/var/spack/repos/builtin/packages/ibmisc/package.py @@ -19,6 +19,9 @@ class Ibmisc(CMakePackage): version("0.1.0", sha256="38481a8680aad4b40eca6723b2898b344cf0ef891ebc3581f5e99fbe420fa0d8") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("everytrace", default=False, description="Report errors through Everytrace") variant("proj", default=True, description="Compile utilities for PROJ.4 library") variant("blitz", default=True, description="Compile utilities for Blitz library") diff --git a/var/spack/repos/builtin/packages/icarus/package.py b/var/spack/repos/builtin/packages/icarus/package.py index b652f7a6dabbee..1cc72168e1aedc 100644 --- a/var/spack/repos/builtin/packages/icarus/package.py +++ b/var/spack/repos/builtin/packages/icarus/package.py @@ -22,6 +22,9 @@ class Icarus(AutotoolsPackage): version("11_0", sha256="6327fb900e66b46803d928b7ca439409a0dc32731d82143b20387be0833f1c95") version("10_3", commit="453c5465895eaca4a792d18b75e9ec14db6ea50e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("bison", type="build") depends_on("flex", type="build") diff --git a/var/spack/repos/builtin/packages/iceauth/package.py b/var/spack/repos/builtin/packages/iceauth/package.py index 612ac317b4eee8..67ebf0f1d3c566 100644 --- a/var/spack/repos/builtin/packages/iceauth/package.py +++ b/var/spack/repos/builtin/packages/iceauth/package.py @@ -20,6 +20,8 @@ class Iceauth(AutotoolsPackage, XorgPackage): version("1.0.9", sha256="5ca274cf210453e7d7cf5c827a2fbc92149df83824f99a27cde17e1f20324dc6") version("1.0.7", sha256="6c9706cce276609876e768759ed4ee3b447cd17af4a61f9b5a374c7dda9696d8") + depends_on("c", type="build") # generated + depends_on("libice") depends_on("xproto@7.0.22:") diff --git a/var/spack/repos/builtin/packages/icedtea/package.py b/var/spack/repos/builtin/packages/icedtea/package.py index 58ed2aa202e7c6..d98e6c59d53696 100644 --- a/var/spack/repos/builtin/packages/icedtea/package.py +++ b/var/spack/repos/builtin/packages/icedtea/package.py @@ -27,6 +27,9 @@ class Icedtea(AutotoolsPackage): version("3.5.0", sha256="2c92e18fa70edaf73517fcf91bc2a7cc2ec2aa8ffdf22bb974fa6f9bc3065f30") version("3.4.0", sha256="2b606bbbf4ca5bcf2c8e811ea9060da30744860f3d63e1b3149fb5550a90b92b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("X", default=False, description="Build with GUI support.") variant( "shenandoah", diff --git a/var/spack/repos/builtin/packages/icet/package.py b/var/spack/repos/builtin/packages/icet/package.py index 72efff0787738c..6d6b145fc31936 100644 --- a/var/spack/repos/builtin/packages/icet/package.py +++ b/var/spack/repos/builtin/packages/icet/package.py @@ -17,6 +17,8 @@ class Icet(CMakePackage): version("develop", branch="master") version("2.1.1", sha256="04cc5b7aa5b3ec95b255febdcfc2312e553ce3db5ca305526803d5737561ec32") + depends_on("c", type="build") # generated + variant("opengl", default=False, description="Use opengl") variant("shared", default=True, description="Enable shared library") diff --git a/var/spack/repos/builtin/packages/ico/package.py b/var/spack/repos/builtin/packages/ico/package.py index 4afb834fadd619..00d8782755e977 100644 --- a/var/spack/repos/builtin/packages/ico/package.py +++ b/var/spack/repos/builtin/packages/ico/package.py @@ -18,6 +18,8 @@ class Ico(AutotoolsPackage, XorgPackage): version("1.0.6", sha256="dc59589044d71e3ef4dacf5a62a7b0f69b543386d2a12fb8b5558caee5b1e22f") version("1.0.4", sha256="eb8609c3b43dc2e575272f2702590525fe13229e022c4aff8b9a0cc2a3f3205d") + depends_on("c", type="build") # generated + depends_on("libx11@0.99.1:") depends_on("xproto@7.0.22:") diff --git a/var/spack/repos/builtin/packages/icon/package.py b/var/spack/repos/builtin/packages/icon/package.py index 8d424a7dfb4b0f..a1ab0d0745c13c 100644 --- a/var/spack/repos/builtin/packages/icon/package.py +++ b/var/spack/repos/builtin/packages/icon/package.py @@ -20,8 +20,13 @@ class Icon(AutotoolsPackage): license("BSD-3-Clause", checked_by="skosukhin") + version("2024.01-1", sha256="3e57608b7e1e3cf2f4cb318cfe2fdb39678bd53ca093955d99570bd6d7544184") version("2024.01", sha256="d9408fdd6a9ebf5990298e9a09c826e8c15b1e79b45be228f7a5670a3091a613") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Model Features: variant("atmo", default=True, description="Enable the atmosphere component") variant("les", default=True, description="Enable the Large-Eddy Simulation component") diff --git a/var/spack/repos/builtin/packages/icu4c/package.py b/var/spack/repos/builtin/packages/icu4c/package.py index f869e8199791b8..3dddb270105619 100644 --- a/var/spack/repos/builtin/packages/icu4c/package.py +++ b/var/spack/repos/builtin/packages/icu4c/package.py @@ -28,6 +28,9 @@ class Icu4c(AutotoolsPackage): version("57.2", sha256="623f04b921827a041f42d52495a6f8eee6565a9b7557051ac68e099123ff28dc") version("57.1", sha256="ff8c67cb65949b1e7808f2359f2b80f722697048e90e7cfc382ec1fe229e9581") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "cxxstd", default="11", diff --git a/var/spack/repos/builtin/packages/id3lib/package.py b/var/spack/repos/builtin/packages/id3lib/package.py index 660897260ca1a0..39b78311f8f0d6 100644 --- a/var/spack/repos/builtin/packages/id3lib/package.py +++ b/var/spack/repos/builtin/packages/id3lib/package.py @@ -16,6 +16,9 @@ class Id3lib(AutotoolsPackage): version("3.8.3", sha256="2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") # http://connie.slackware.com/~alien/slackbuilds/id3lib/build/id3lib-3.8.3_gcc4.diff diff --git a/var/spack/repos/builtin/packages/idba/package.py b/var/spack/repos/builtin/packages/idba/package.py index 3213d2838f400d..ae200693416203 100644 --- a/var/spack/repos/builtin/packages/idba/package.py +++ b/var/spack/repos/builtin/packages/idba/package.py @@ -15,6 +15,8 @@ class Idba(AutotoolsPackage): version("1.1.3", sha256="6b1746a29884f4fa17b110d94d9ead677ab5557c084a93b16b6a043dbb148709") + depends_on("cxx", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/idg/package.py b/var/spack/repos/builtin/packages/idg/package.py index 42621b4ca9f7d0..74e6b0637bbd8d 100644 --- a/var/spack/repos/builtin/packages/idg/package.py +++ b/var/spack/repos/builtin/packages/idg/package.py @@ -25,6 +25,9 @@ class Idg(CMakePackage): version("1.0.0", commit="3322756fb8b6e3bb1fe5293f3e07e40623ff8486") version("0.8.1", commit="a09f3c85094c592f9304fff4c31e920c7592c3c3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost") depends_on("fftw-api@3") depends_on("blas") diff --git a/var/spack/repos/builtin/packages/igprof/package.py b/var/spack/repos/builtin/packages/igprof/package.py index 31a4580eadd967..eb4d92ca3da278 100644 --- a/var/spack/repos/builtin/packages/igprof/package.py +++ b/var/spack/repos/builtin/packages/igprof/package.py @@ -19,6 +19,9 @@ class Igprof(CMakePackage): version("5.9.18", sha256="f3e378a358469cd269aa5cb3312adc4f5ca89b90c0de89dc070d803c6b68f7b5") version("5.9.16", sha256="cc977466b310f47bbc2967a0bb6ecd49d7437089598346e3f1d8aaf9a7555d96") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libunwind") # Three patches in one: C++11 compatibility (src/analyse.cc), diff --git a/var/spack/repos/builtin/packages/igraph/package.py b/var/spack/repos/builtin/packages/igraph/package.py index ec5051d0540c78..f201aa97ab6592 100644 --- a/var/spack/repos/builtin/packages/igraph/package.py +++ b/var/spack/repos/builtin/packages/igraph/package.py @@ -14,9 +14,14 @@ class Igraph(CMakePackage, AutotoolsPackage): license("GPL-2.0-or-later") + version("0.10.13", sha256="c6dc44324f61f52c098bedb81f6a602365d39d692d5068ca4fc3734b2a15e64c") version("0.10.6", sha256="99bf91ee90febeeb9a201f3e0c1d323c09214f0b5f37a4290dc3b63f52839d6d") version("0.7.1", sha256="d978030e27369bf698f3816ab70aa9141e9baf81c56cc4f55efbe5489b46b0df") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=False, description="Enable shared build") build_system( diff --git a/var/spack/repos/builtin/packages/ike-scan/package.py b/var/spack/repos/builtin/packages/ike-scan/package.py index b6aef8a42d6c3f..fa2aa4c30b18cd 100644 --- a/var/spack/repos/builtin/packages/ike-scan/package.py +++ b/var/spack/repos/builtin/packages/ike-scan/package.py @@ -15,3 +15,5 @@ class IkeScan(AutotoolsPackage): license("GPL-2.0-or-later") version("1.9", sha256="05d15c7172034935d1e46b01dacf1101a293ae0d06c0e14025a4507656f1a7b6") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/ilmbase/package.py b/var/spack/repos/builtin/packages/ilmbase/package.py index e3d47d3e30a126..7ee9bfc2fea58b 100644 --- a/var/spack/repos/builtin/packages/ilmbase/package.py +++ b/var/spack/repos/builtin/packages/ilmbase/package.py @@ -34,3 +34,5 @@ class Ilmbase(AutotoolsPackage): sha256="c134e47206d0e22ff0be96fa95391a13b635b6ad42668673e293f835fbd176b1", url="http://download.savannah.nongnu.org/releases/openexr/ilmbase-0.9.0.tar.gz", ) + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/ima-evm-utils/package.py b/var/spack/repos/builtin/packages/ima-evm-utils/package.py index 11728627b91094..1bb470496adb90 100644 --- a/var/spack/repos/builtin/packages/ima-evm-utils/package.py +++ b/var/spack/repos/builtin/packages/ima-evm-utils/package.py @@ -21,6 +21,8 @@ class ImaEvmUtils(AutotoolsPackage): version("1.3", sha256="62e90e8dc6b131a4f34a356114cdcb5bef844f110abbdd5d8b53c449aecc609f") version("1.2.1", sha256="ad8471b58c4df29abd51c80d74b1501cfe3289b60d32d1b318618a8fd26c0c0a") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/imagemagick/package.py b/var/spack/repos/builtin/packages/imagemagick/package.py index f1e7a3ad8a84cc..3d74e7546bab78 100644 --- a/var/spack/repos/builtin/packages/imagemagick/package.py +++ b/var/spack/repos/builtin/packages/imagemagick/package.py @@ -27,6 +27,9 @@ class Imagemagick(AutotoolsPackage): version("7.0.2-7", sha256="f2f18a97f861c1668befdaff0cc3aaafb2111847aab028a88b4c2cb017acfbaa") version("7.0.2-6", sha256="7d49ca8030f895c683cae69c52d8edfc4876de651f5b8bfdbea907e222480bd3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("ghostscript", default=False, description="Compile with Ghostscript support") variant("rsvg", default=False, description="Enable RSVG support") diff --git a/var/spack/repos/builtin/packages/imake/package.py b/var/spack/repos/builtin/packages/imake/package.py index 13a8437a50fade..5e350232736ca1 100644 --- a/var/spack/repos/builtin/packages/imake/package.py +++ b/var/spack/repos/builtin/packages/imake/package.py @@ -18,6 +18,9 @@ class Imake(AutotoolsPackage, XorgPackage): version("1.0.9", sha256="ca53ad18c683091490596d72fee8dbee4c6ddb7693709e25f26da140d29687c1") version("1.0.7", sha256="6bda266a07eb33445d513f1e3c82a61e4822ccb94d420643d58e1be5f881e5cb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("xproto") depends_on("xorg-cf-files", type="run") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/imath/package.py b/var/spack/repos/builtin/packages/imath/package.py index 2a3957c3fb0dcc..b61a2db6814b74 100644 --- a/var/spack/repos/builtin/packages/imath/package.py +++ b/var/spack/repos/builtin/packages/imath/package.py @@ -22,4 +22,7 @@ class Imath(CMakePackage): version("3.1.7", sha256="bff1fa140f4af0e7f02c6cb78d41b9a7d5508e6bcdfda3a583e35460eb6d4b47") version("3.1.5", sha256="1e9c7c94797cf7b7e61908aed1f80a331088cc7d8873318f70376e4aed5f25fb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.12:", type="build") diff --git a/var/spack/repos/builtin/packages/imgui/package.py b/var/spack/repos/builtin/packages/imgui/package.py index 852f7d6dfbd082..4824937cdd8fff 100644 --- a/var/spack/repos/builtin/packages/imgui/package.py +++ b/var/spack/repos/builtin/packages/imgui/package.py @@ -21,6 +21,9 @@ class Imgui(Package): version("1.90.6", sha256="70b4b05ac0938e82b4d5b8d59480d3e2ca63ca570dfb88c55023831f387237ad") version("1.85", sha256="7ed49d1f4573004fa725a70642aaddd3e06bb57fcfe1c1a49ac6574a3e895a77") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): # No specific build process is required. # You can add the .cpp files to your existing project. diff --git a/var/spack/repos/builtin/packages/imlib2/package.py b/var/spack/repos/builtin/packages/imlib2/package.py index d77907c81bdecd..60530a35aa3e47 100644 --- a/var/spack/repos/builtin/packages/imlib2/package.py +++ b/var/spack/repos/builtin/packages/imlib2/package.py @@ -24,6 +24,8 @@ class Imlib2(AutotoolsPackage, SourceforgePackage): version("1.6.0", sha256="cfc440ddfaed5fc85ba2572ad8d87a87cd77a5bffb33ebca882c42cefcd8691d") version("1.5.1", sha256="fa4e57452b8843f4a70f70fd435c746ae2ace813250f8c65f977db5d7914baae") + depends_on("c", type="build") # generated + depends_on("libtiff") depends_on("giflib") depends_on("bzip2") diff --git a/var/spack/repos/builtin/packages/imp/package.py b/var/spack/repos/builtin/packages/imp/package.py index e8af0247af5401..9a78845cc67d6e 100644 --- a/var/spack/repos/builtin/packages/imp/package.py +++ b/var/spack/repos/builtin/packages/imp/package.py @@ -17,6 +17,9 @@ class Imp(CMakePackage): version("2.8.0", sha256="0b46b8988febd7cdfc5838849007f9a547493ed4b6c752fe54571467eeb1acd2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@2.7:") depends_on("swig") depends_on("boost@1.40:") diff --git a/var/spack/repos/builtin/packages/impalajit/package.py b/var/spack/repos/builtin/packages/impalajit/package.py index ad823160d10577..c61f3c301ea90e 100644 --- a/var/spack/repos/builtin/packages/impalajit/package.py +++ b/var/spack/repos/builtin/packages/impalajit/package.py @@ -27,6 +27,10 @@ class Impalajit(CMakePackage): version("llvm", git="https://github.com/ravil-mobile/ImpalaJIT.git", branch="dev") version("llvm-1.0.0", git="https://github.com/ravil-mobile/ImpalaJIT.git", tag="v1.0.0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + maintainers("ravil-mobile", "Thomas-Ulrich") variant("shared", default=True, description="build as a shared library") diff --git a/var/spack/repos/builtin/packages/improved-rdock/package.py b/var/spack/repos/builtin/packages/improved-rdock/package.py index 3f78946a2435e0..1adef52b675ecd 100644 --- a/var/spack/repos/builtin/packages/improved-rdock/package.py +++ b/var/spack/repos/builtin/packages/improved-rdock/package.py @@ -23,6 +23,8 @@ class ImprovedRdock(MakefilePackage): version("main", branch="main") + depends_on("cxx", type="build") # generated + depends_on("popt") depends_on("cppunit") depends_on("openbabel @3.0.0: +python", type="run") @@ -61,33 +63,41 @@ def install(self, spec, prefix): def setup_run_environment(self, env): env.set("RBT_ROOT", self.prefix) - def test(self): + def test_rdock(self): + """improved-rdock test suite""" copy(join_path(self.prefix.example, "1sj0", "*"), ".") - opts = ["-r", "1sj0_rdock.prm", "-was"] - self.run_test("rbcavity", options=opts) - - mpiexe = self.spec["mpi"].prefix.bin.mpirun - opts = [ - self.prefix.bin.rbdock, - "-r", - "1sj0_rdock.prm", - "-p", - "dock.prm", - "-n", - "100", - "-i", - "1sj0_ligand.sd", - "-o", - "1sj0_docking_out", - "-s", - "1", - ] - self.run_test(str(mpiexe), options=opts) - - opts = [join_path(self.test_suite.current_test_data_dir, "test.sh")] - self.run_test("bash", options=opts) - - pythonexe = self.spec["python"].command.path - opts = [self.spec.prefix.bin.sdrmsd, "1sj0_ligand.sd", "1sj0_docking_out_sorted.sd"] - expected = ["1\t0.55", "100\t7.91"] - self.run_test(pythonexe, options=opts, expected=expected) + + with test_part(self, "test_rdock_rbcavity", purpose="Check rbcavity"): + rbcavity = which("rbcavity") + rbcavity("-r", "1sj0_rdock.prm", "-was") + + with test_part(self, "test_rdock_rbdock", purpose="Use mpirun to run rbdock in parallel"): + mpiexe = which(str(self.spec["mpi"].prefix.bin.mpirun)) + opts = [ + self.prefix.bin.rbdock, + "-r", + "1sj0_rdock.prm", + "-p", + "dock.prm", + "-n", + "100", + "-i", + "1sj0_ligand.sd", + "-o", + "1sj0_docking_out", + "-s", + "1", + ] + mpiexe(*opts) + + with test_part(self, "test_rdock_test_sh", purpose="Sort the output"): + bash = which("bash") + opts = [join_path(self.test_suite.current_test_data_dir, "test.sh")] + bash(*opts) + + with test_part(self, "test_rdock_sdrmsd", purpose="Check sdrmsd calculations"): + pythonexe = which(str(self.spec["python"].command.path)) + opts = [self.spec.prefix.bin.sdrmsd, "1sj0_ligand.sd", "1sj0_docking_out_sorted.sd"] + expected = ["1\t0.55", "100\t7.91"] + out = pythonexe(*opts, out=str.split, error=str.split) + check_outputs(expected, out) diff --git a/var/spack/repos/builtin/packages/infernal/package.py b/var/spack/repos/builtin/packages/infernal/package.py index a69ca987b20e11..a3ac6998c57395 100644 --- a/var/spack/repos/builtin/packages/infernal/package.py +++ b/var/spack/repos/builtin/packages/infernal/package.py @@ -19,6 +19,8 @@ class Infernal(AutotoolsPackage): version("1.1.3", sha256="3b98a6a3a0e7b01aa077a0caf1e958223c4d8f80a69a4eb602ca59a3475da85e") version("1.1.2", sha256="ac8c24f484205cfb7124c38d6dc638a28f2b9035b9433efec5dc753c7e84226b") + depends_on("c", type="build") # generated + variant("mpi", default=False, description="Enable MPI parallel support") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/iniparser/package.py b/var/spack/repos/builtin/packages/iniparser/package.py index 9f3589a33f9b18..b5be9e4e681682 100644 --- a/var/spack/repos/builtin/packages/iniparser/package.py +++ b/var/spack/repos/builtin/packages/iniparser/package.py @@ -21,6 +21,8 @@ class Iniparser(MakefilePackage): version("3.2", sha256="4a60b8e29d33d24b458749404e1ff2bcbfedd53ad800757daeed7955599fdce4") version("3.1", sha256="73b88632dc16c2839f5d9ac7e6ec7a41415a68e590f75d0580b302af4a5d821d") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.include) mkdirp(prefix.lib) diff --git a/var/spack/repos/builtin/packages/intel-daal/package.py b/var/spack/repos/builtin/packages/intel-daal/package.py deleted file mode 100644 index 30e8af51413084..00000000000000 --- a/var/spack/repos/builtin/packages/intel-daal/package.py +++ /dev/null @@ -1,141 +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 * - - -@IntelOneApiPackage.update_description -class IntelDaal(IntelPackage): - """Intel Data Analytics Acceleration Library. This package has been - replace by intel-oneapi-dal. - - """ - - maintainers("rscohn2") - - homepage = "https://software.intel.com/en-us/daal" - - version( - "2020.2.254", - sha256="08528bc150dad312ff2ae88ce12d6078ed8ba2f378f4bf3daf0fbbb9657dce1e", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - deprecated=True, - ) - - provides("daal") diff --git a/var/spack/repos/builtin/packages/intel-gpu-tools/package.py b/var/spack/repos/builtin/packages/intel-gpu-tools/package.py index afef3bc25f1b67..efb78e156342af 100644 --- a/var/spack/repos/builtin/packages/intel-gpu-tools/package.py +++ b/var/spack/repos/builtin/packages/intel-gpu-tools/package.py @@ -24,6 +24,8 @@ class IntelGpuTools(AutotoolsPackage, XorgPackage): version("1.20", sha256="c6ee992301e43ec14ef810ef532e2601ecf7399315f942207ae0dd568fd9c2b7") version("1.16", sha256="4874e6e7704c8d315deaf5b44cc9467ea5e502c7f816470a4a28827fcb34643f") + depends_on("c", type="build") # generated + depends_on("libdrm@2.4.64:") depends_on("libpciaccess@0.10:", when=(sys.platform != "darwin")) depends_on("libunwind") diff --git a/var/spack/repos/builtin/packages/intel-gtpin/package.py b/var/spack/repos/builtin/packages/intel-gtpin/package.py index 9b7467637fef04..d082e4fb1781bf 100644 --- a/var/spack/repos/builtin/packages/intel-gtpin/package.py +++ b/var/spack/repos/builtin/packages/intel-gtpin/package.py @@ -90,6 +90,9 @@ class IntelGtpin(Package): url="https://downloadmirror.intel.com/682779/external-gtpin-2.11.4-linux.tar.bz2", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("patchelf", type="build") # Gtpin only runs on linux x86_64. diff --git a/var/spack/repos/builtin/packages/intel-ipp/package.py b/var/spack/repos/builtin/packages/intel-ipp/package.py deleted file mode 100644 index d06afa06961e70..00000000000000 --- a/var/spack/repos/builtin/packages/intel-ipp/package.py +++ /dev/null @@ -1,130 +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 * - - -@IntelOneApiPackage.update_description -class IntelIpp(IntelPackage): - """Intel Integrated Performance Primitives. This package has been - replaced by intel-oneapi-ipp. - - """ - - maintainers("rscohn2") - - homepage = "https://software.intel.com/en-us/intel-ipp" - - version( - "2020.2.254", - sha256="18266ad1eec9b5b17e76da24f1aa9a9147300e5bd345e6bdad58d7187392fa77", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - 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", - deprecated=True, - ) - - provides("ipp") diff --git a/var/spack/repos/builtin/packages/intel-llvm/package.py b/var/spack/repos/builtin/packages/intel-llvm/package.py index ea9dd946504c8d..5c5fbe17d8c1e0 100644 --- a/var/spack/repos/builtin/packages/intel-llvm/package.py +++ b/var/spack/repos/builtin/packages/intel-llvm/package.py @@ -18,6 +18,10 @@ class IntelLlvm(CMakePackage): version("sycl", branch="sycl") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@3.4.3:", type="build") # It doesn't seem possible to use != in a conflicts statement diff --git a/var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py b/var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py index 764394ea1f9bb7..5ef9e675a9450c 100644 --- a/var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py +++ b/var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py @@ -40,6 +40,9 @@ class IntelMpiBenchmarks(MakefilePackage): version("2018.1", sha256="718a4eb155f18cf15a736f6496332407b5837cf1f19831723d4cfe5266c43507") version("2018.0", sha256="2e60a9894a686a95791be2227bc569bf81ca3875421b5307df7d83f885b1de88") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("mpi", when="@2019:") depends_on("intel-mpi", when="@2018") depends_on("gmake", type="build", when="@2018") 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 1db84c38a71a83..d973e105b71e1d 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py @@ -24,6 +24,12 @@ class IntelOneapiAdvisor(IntelOneApiLibraryPackageWithSdk): "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/advisor.html" ) + version( + "2024.2.0", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/a4c8046c-6abf-4f53-a33c-4a587cd80fc1/l_oneapi_advisor_p_2024.2.0.683_offline.sh", + sha256="8a6a8ced2456ea7c538aad01b4e6e0bd41244bcb438f76d4b87af5f63f94a733", + expand=False, + ) version( "2024.1.0", url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/414cea14-4f3c-45f0-b854-44fb6cf9f34b/l_oneapi_advisor_p_2024.1.0.500_offline.sh", 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 85136434908fd8..98f14a66273d34 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py @@ -27,6 +27,12 @@ class IntelOneapiCcl(IntelOneApiLibraryPackage): depends_on("intel-oneapi-mpi") + version( + "2021.13.0", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/2413acba-2216-4a35-9c74-82694a20d176/l_oneapi_ccl_p_2021.13.0.300_offline.sh", + sha256="0cb848fb86b2eec6ed53910f961211c43bab628ada47e5b3d401bfff59942c02", + expand=False, + ) version( "2021.12.0", url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/cad4b3be-a272-4ed0-b67a-3871e495cb28/l_oneapi_ccl_p_2021.12.0.311_offline.sh", 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 f23b716b21054b..f0fece125b44c0 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py @@ -9,6 +9,17 @@ from spack.package import * versions = [ + { + "version": "2024.2.0", + "cpp": { + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/6780ac84-6256-4b59-a647-330eb65f32b6/l_dpcpp-cpp-compiler_p_2024.2.0.495_offline.sh", + "sha256": "9463aa979314d2acc51472d414ffcee032e9869ca85ac6ff4c71d39500e5173d", + }, + "ftn": { + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/801143de-6c01-4181-9911-57e00fe40181/l_fortran-compiler_p_2024.2.0.426_offline.sh", + "sha256": "fd19a302662b2f86f76fc115ef53a69f16488080278dba4c573cc705f3a52ffa", + }, + }, { "version": "2024.1.0", "cpp": { @@ -239,7 +250,7 @@ class IntelOneapiCompilers(IntelOneApiPackage, CompilerPackage): ) # See https://github.com/spack/spack/issues/39252 - depends_on("patchelf@:0.17", type="build") + depends_on("patchelf@:0.17", type="build", when="@:2024.1") # TODO: effectively gcc is a direct dependency of intel-oneapi-compilers, but we # cannot express that properly. For now, add conflicts for non-gcc compilers @@ -327,6 +338,12 @@ def inject_rpaths(self): # issues. I am using the 2024 release as a milestone to stop # patching everything and just patching the binaries that have # a problem. + + # 2024.2 no longer needs patching + if self.spec.satisfies("@2024.2:"): + return + + # 2024 fixed all but these 2 patchelf = which("patchelf") if self.spec.satisfies("@2024:"): patchelf.add_default_arg("--set-rpath", self.component_prefix.lib) 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 c01db24dffea98..fcc6c97240cea1 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py @@ -26,6 +26,12 @@ class IntelOneapiDal(IntelOneApiLibraryPackage): "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onedal.html" ) + version( + "2024.5.0", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/6ca2d1a8-b7c7-4a70-9c38-2b437dacae1a/l_daal_oneapi_p_2024.5.0.284_offline.sh", + sha256="65d437f8841fd4872e35708f3c989bc00022fe041e750e8c35dee010bd87db9d", + expand=False, + ) version( "2024.2.0", url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/3cee4c6c-b7d1-42ce-8bbb-d829a700952f/l_daal_oneapi_p_2024.2.0.280_offline.sh", 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 dba06d17ed34d0..d27f0c6931376d 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py @@ -26,6 +26,12 @@ class IntelOneapiDnn(IntelOneApiLibraryPackage): "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onednn.html" ) + version( + "2024.2.0", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/6f830f51-56cd-4ea6-ade7-0f066c9b1939/l_onednn_p_2024.2.0.571_offline.sh", + sha256="9bc74f8e48758c0ce7dda4c9f8f961a26f48c25e5ad5335c6e7ecbd7ece38c97", + expand=False, + ) version( "2024.1.1", url="https://registrationcenter-download.intel.com/akdlm//IRC_NAS/5f6d82fa-2580-4bb1-83bb-cce7a52d1d34/l_onednn_p_2024.1.1.16_offline.sh", 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 c34e64ec716046..801512ad13f3a6 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-dpct/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-dpct/package.py @@ -19,6 +19,12 @@ class IntelOneapiDpct(IntelOneApiPackage): homepage = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compatibility-tool.html#gs.2p8km6" + version( + "2024.2.0", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/6b83dabd-75cf-4371-b4cd-91160175d5ff/l_dpcpp-ct_p_2024.2.0.424_offline.sh", + sha256="43a6c5fa646291ea4f8ee94e2e711ee42bbd6aff7901bda1694e1ea99e6852e2", + expand=False, + ) version( "2024.1.0", url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/997fe522-cedf-46da-a54d-be4f22992fa1/l_dpcpp-ct_p_2024.1.0.378_offline.sh", 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 58877ce0642d62..215f464294d2bd 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py @@ -22,6 +22,12 @@ class IntelOneapiDpl(IntelOneApiLibraryPackage): homepage = "https://github.com/oneapi-src/oneDPL" + version( + "2022.6.0", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/65565430-3eb6-49ad-ae51-e35314cc6f08/l_oneDPL_p_2022.6.0.560_offline.sh", + sha256="540c79d2cea77c009fd7d49d65323418aded1235afd30d91192257a2f14a366f", + expand=False, + ) version( "2022.5.0", url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/d0be9e37-532e-4fde-9ac2-32c3ec5a2029/l_oneDPL_p_2022.5.0.219_offline.sh", 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 c9647c6658ce15..aac8357a45ecbd 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py @@ -27,6 +27,12 @@ class IntelOneapiIpp(IntelOneApiLibraryPackage): "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html" ) + version( + "2021.12.0", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/ecc315bf-9e5a-4a23-b0ca-f58aea109e39/l_ipp_oneapi_p_2021.12.0.559_offline.sh", + sha256="84e4dfba142c3c629424012ad5e8e5f78d2a05983bf03cdc7e3ec6b530142d0e", + expand=False, + ) version( "2021.11.0", url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/c8d09493-ca9b-45b1-b720-12b8719b4136/l_ipp_oneapi_p_2021.11.0.532_offline.sh", 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 98b676e16f4a3a..0c8f9c65999753 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py @@ -28,6 +28,12 @@ class IntelOneapiIppcp(IntelOneApiLibraryPackage): "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html" ) + version( + "2021.12.0", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/16cce450-2d08-474f-a783-da6061bd8de9/l_ippcp_oneapi_p_2021.12.0.472_offline.sh", + sha256="4a27c6209481b7f4b52f75660c243f0fc9884c18bda34fe8bf8493b9cfb00daa", + expand=False, + ) version( "2021.11.0", url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/a28fefdf-f67e-43a9-8e42-fcccd9da1fff/l_ippcp_oneapi_p_2021.11.0.37_offline.sh", 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 600c83cbfa01d6..986b584766b3f8 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py @@ -25,6 +25,12 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage): "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html" ) + version( + "2024.2.0", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/cdff21a5-6ac7-4b41-a7ec-351b5f9ce8fd/l_onemkl_p_2024.2.0.664_offline.sh", + sha256="f1f46f5352c197a9840e08fc191a879dad79ebf742fe782e386ba8006f262f7a", + expand=False, + ) version( "2024.1.0", url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/2f3a5785-1c41-4f65-a2f9-ddf9e0db3ea0/l_onemkl_p_2024.1.0.695_offline.sh", @@ -36,7 +42,6 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage): url="https://registrationcenter-download.intel.com/akdlm//IRC_NAS/86d6a4c1-c998-4c6b-9fff-ca004e9f7455/l_onemkl_p_2024.0.0.49673_offline.sh", sha256="2a3be7d01d75ba8cc3059f9a32ae72e5bfc93e68e72e94e79d7fa6ea2f7814de", expand=False, - preferred=True, ) version( "2023.2.0", @@ -148,6 +153,18 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage): # cluster libraries need mpi depends_on("mpi", when="+cluster") + # If a +cluster then mpi_family must be set + with when("+cluster"): + conflicts("mpi_family=none") + requires("mpi_family=mpich", when="^intel-oneapi-mpi") + requires("mpi_family=mpich", when="^intel-mpi") + requires("mpi_family=mpich", when="^mpich") + requires("mpi_family=mpich", when="^mvapich") + requires("mpi_family=mpich", when="^mvapich2") + requires("mpi_family=mpich", when="^cray-mpich") + requires("mpi_family=openmpi", when="^openmpi") + requires("mpi_family=openmpi", when="^hpcx-mpi") + provides("fftw-api@3") provides("scalapack", when="+cluster") provides("mkl") @@ -226,31 +243,10 @@ def _find_mkl_libs(self, shared): libs.append("libmkl_core") if self.spec.satisfies("+cluster"): - if any( - self.spec.satisfies(m) - for m in [ - "^intel-oneapi-mpi", - "^intel-mpi", - "^mpich", - "^mvapich", - "^mvapich2", - "^cray-mpich", - "mpi_family=mpich", - ] - ): + if self.spec.satisfies("mpi_family=mpich"): libs.append(self._xlp64_lib("libmkl_blacs_intelmpi")) - elif any( - self.spec.satisfies(m) for m in ["^openmpi", "^hpcx-mpi", "mpi_family=openmpi"] - ): + elif self.spec.satisfies("mpi_family=openmpi"): libs.append(self._xlp64_lib("libmkl_blacs_openmpi")) - else: - raise RuntimeError( - ( - "intel-oneapi-mkl +cluster requires one of ^intel-oneapi-mpi, " - "^intel-mpi, ^mpich, ^cray-mpich, mpi_family=mpich, ^openmpi, " - "^hpcx-mpi, or mpi_family=openmpi" - ) - ) lib_path = ( self.component_prefix.lib if self.v2_layout else self.component_prefix.lib.intel64 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 9f9f9ce2edff88..867fb1440a4606 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py @@ -21,6 +21,12 @@ class IntelOneapiMpi(IntelOneApiLibraryPackage): homepage = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/mpi-library.html" + version( + "2021.13.0", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/9f84e1e8-11b2-4bd1-8512-3e3343585956/l_mpi_oneapi_p_2021.13.0.719_offline.sh", + sha256="5e23cf495c919e17032577e3059438f632297ee63f2cdb906a2547298823cc64", + expand=False, + ) version( "2021.12.1", url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/56b2dd0e-954d-4330-b0a7-b22992f7e6b7/l_mpi_oneapi_p_2021.12.1.8_offline.sh", @@ -116,7 +122,12 @@ class IntelOneapiMpi(IntelOneApiLibraryPackage): variant( "generic-names", default=False, - description="Use generic names, e.g mpicc instead of mpiicc", + description="Use generic names, e.g mpicc instead of mpiicx", + ) + variant( + "classic-names", + default=False, + description="Use classic compiler names, e.g mpiicc instead of mpiicx", ) variant( "external-libfabric", default=False, description="Enable external libfabric dependency" @@ -124,6 +135,7 @@ class IntelOneapiMpi(IntelOneApiLibraryPackage): depends_on("libfabric", when="+external-libfabric", type=("link", "run")) provides("mpi@:3.1") + conflicts("+generic-names +classic-names") @property def mpiexec(self): @@ -144,17 +156,24 @@ def env_script_args(self): else: return () - def setup_dependent_package(self, module, dep_spec): + def wrapper_names(self): if "+generic-names" in self.spec: - self.spec.mpicc = join_path(self.component_prefix.bin, "mpicc") - self.spec.mpicxx = join_path(self.component_prefix.bin, "mpicxx") - self.spec.mpif77 = join_path(self.component_prefix.bin, "mpif77") - self.spec.mpifc = join_path(self.component_prefix.bin, "mpifc") + return ["mpicc", "mpicxx", "mpif77", "mpif90", "mpifc"] + elif "+classic-names" in self.spec: + return ["mpiicc", "mpiicpc", "mpiifort", "mpiifort", "mpiifort"] else: - self.spec.mpicc = join_path(self.component_prefix.bin, "mpiicc") - self.spec.mpicxx = join_path(self.component_prefix.bin, "mpiicpc") - self.spec.mpif77 = join_path(self.component_prefix.bin, "mpiifort") - self.spec.mpifc = join_path(self.component_prefix.bin, "mpiifort") + return ["mpiicx", "mpiicpx", "mpiifx", "mpiifx", "mpiifx"] + + def wrapper_paths(self): + return [self.component_prefix.bin.join(name) for name in self.wrapper_names()] + + def setup_dependent_package(self, module, dep_spec): + wrappers = self.wrapper_paths() + self.spec.mpicc = wrappers[0] + self.spec.mpicxx = wrappers[1] + self.spec.mpif77 = wrappers[2] + # no self.spec.mpif90 + self.spec.mpifc = wrappers[4] def setup_dependent_build_environment(self, env, dependent_spec): dependent_module = dependent_spec.package.module @@ -165,18 +184,12 @@ def setup_dependent_build_environment(self, env, dependent_spec): env.set("I_MPI_FC", dependent_module.spack_fc) # Set compiler wrappers for dependent build stage - if "+generic-names" in self.spec: - env.set("MPICC", join_path(self.component_prefix.bin, "mpicc")) - env.set("MPICXX", join_path(self.component_prefix.bin, "mpicxx")) - env.set("MPIF77", join_path(self.component_prefix.bin, "mpif77")) - env.set("MPIF90", join_path(self.component_prefix.bin, "mpif90")) - env.set("MPIFC", join_path(self.component_prefix.bin, "mpifc")) - else: - env.set("MPICC", join_path(self.component_prefix.bin, "mpiicc")) - env.set("MPICXX", join_path(self.component_prefix.bin, "mpiicpc")) - env.set("MPIF77", join_path(self.component_prefix.bin, "mpiifort")) - env.set("MPIF90", join_path(self.component_prefix.bin, "mpiifort")) - env.set("MPIFC", join_path(self.component_prefix.bin, "mpiifort")) + wrappers = self.wrapper_paths() + env.set("MPICC", wrappers[0]) + env.set("MPICXX", wrappers[1]) + env.set("MPIF77", wrappers[2]) + env.set("MPIF90", wrappers[3]) + env.set("MPIFC", wrappers[4]) env.set("I_MPI_ROOT", self.component_prefix) 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 f00f2a19b52192..5fbba70f83b35a 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py @@ -22,6 +22,12 @@ class IntelOneapiTbb(IntelOneApiLibraryPackage): "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onetbb.html" ) + version( + "2021.13.0", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/d6b5327e-f2fd-4c90-966a-d7a0e1376686/l_tbb_oneapi_p_2021.13.0.629_offline.sh", + sha256="f16586e5d8c479d05662359c95c6720445e95a21443f3979c9321d154947ca99", + expand=False, + ) version( "2021.12.0", url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b31f6b79-10aa-4119-a437-48fe2775633b/l_tbb_oneapi_p_2021.12.0.499_offline.sh", 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 a222eb8e1f6725..69df769849172b 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py @@ -25,6 +25,12 @@ class IntelOneapiVtune(IntelOneApiLibraryPackageWithSdk): homepage = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/vtune-profiler.html" + version( + "2024.2.0", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/3ffac886-6281-46d7-8704-7aab66705926/l_oneapi_vtune_p_2024.2.0.708_offline.sh", + sha256="a0b6be945d54ec5b8f3f4edf3ca9d0027df3fd1f139c266f29f8d2c6f1608562", + expand=False, + ) version( "2024.1.0", url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/671388a1-607e-463c-8d91-db4eebc2e8d2/l_oneapi_vtune_p_2024.1.0.519_offline.sh", diff --git a/var/spack/repos/builtin/packages/intel-pin/package.py b/var/spack/repos/builtin/packages/intel-pin/package.py index 6cf07b72579dca..c884312358427f 100644 --- a/var/spack/repos/builtin/packages/intel-pin/package.py +++ b/var/spack/repos/builtin/packages/intel-pin/package.py @@ -114,6 +114,9 @@ class IntelPin(Package): url="https://software.intel.com/sites/landingpage/pintool/downloads/pin-2.14-71313-gcc.4.4.7-linux.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): install_tree(".", prefix) mkdir(prefix.bin) diff --git a/var/spack/repos/builtin/packages/intel-tbb/package.py b/var/spack/repos/builtin/packages/intel-tbb/package.py index 427932bbbd0f99..ecc857601166da 100644 --- a/var/spack/repos/builtin/packages/intel-tbb/package.py +++ b/var/spack/repos/builtin/packages/intel-tbb/package.py @@ -33,6 +33,9 @@ class IntelTbb(CMakePackage, MakefilePackage): license("Apache-2.0") version("master", branch="master") + version("2021.12.0", sha256="c7bb7aa69c254d91b8f0041a71c5bcc3936acb64408a1719aec0b2b7639dd84f") + version("2021.11.0", sha256="782ce0cab62df9ea125cdea253a50534862b563f1d85d4cda7ad4e77550ac363") + version("2021.10.0", sha256="487023a955e5a3cc6d3a0d5f89179f9b6c0ae7222613a7185b0227ba0c83700b") version("2021.9.0", sha256="1ce48f34dada7837f510735ff1172f6e2c261b09460e3bf773b49791d247d24e") version("2021.8.0", sha256="eee380323bb7ce864355ed9431f85c43955faaae9e9bce35c62b372d7ffd9f8b") version("2021.7.0", sha256="2cae2a80cda7d45dc7c072e4295c675fff5ad8316691f26f40539f7e7e54c0cc") @@ -80,6 +83,9 @@ class IntelTbb(CMakePackage, MakefilePackage): version("4.4.1", sha256="05737bf6dd220b31aad63d77ca59c742271f81b4cc6643aa6f93d37450ae32b5") version("4.4", sha256="93c74b6054c69c86fa49d0fce7c50061fc907cb198a7237b8dd058298fd40c0e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + build_system( conditional("makefile", when="@:2020.3"), conditional("cmake", when="@2021:"), @@ -127,7 +133,7 @@ class IntelTbb(CMakePackage, MakefilePackage): patch("gcc_generic-pedantic-4.4.patch", level=1, when="@:2019.0") # Patch and conflicts for GCC 13 support (#1031). - patch("gcc_13-2021-v2.patch", when="@2021.1:") + patch("gcc_13-2021-v2.patch", when="@2021.1:2021.9") conflicts("%gcc@13", when="@:2021.3") # Patch cmakeConfig.cmake.in to find the libraries where we install them. @@ -199,8 +205,9 @@ def cmake_args(self): options = [ self.define("CMAKE_HWLOC_2_INCLUDE_PATH", spec["hwloc"].prefix.include), self.define("CMAKE_HWLOC_2_LIBRARY_PATH", spec["hwloc"].libs), - self.define("-DTBB_CPF", True), + self.define("TBB_CPF", True), self.define("TBB_STRICT", False), + self.define("TBB_TEST", False), ] if spec.variants["cxxstd"].value != "default": options.append(self.define("CMAKE_CXX_STANDARD", spec.variants["cxxstd"].value)) diff --git a/var/spack/repos/builtin/packages/intel-xed/package.py b/var/spack/repos/builtin/packages/intel-xed/package.py index 3e21a6e28dc9dc..7ed44861534956 100644 --- a/var/spack/repos/builtin/packages/intel-xed/package.py +++ b/var/spack/repos/builtin/packages/intel-xed/package.py @@ -35,6 +35,9 @@ class IntelXed(Package): # The old 2019.03.01 version (before there were tags). version("10.2019.03", commit="b7231de4c808db821d64f4018d15412640c34113", deprecated=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # XED wants the mbuild directory adjacent to xed in the same directory. mdir = join_path("..", "mbuild") diff --git a/var/spack/repos/builtin/packages/interproscan/package.py b/var/spack/repos/builtin/packages/interproscan/package.py index 2af5c6e4016191..6088b12c38dff9 100644 --- a/var/spack/repos/builtin/packages/interproscan/package.py +++ b/var/spack/repos/builtin/packages/interproscan/package.py @@ -32,6 +32,9 @@ class Interproscan(Package): url="ftp://ftp.ebi.ac.uk/pub/software/unix/iprscan/4/RELEASE/4.8/iprscan_v4.8.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + resource( when="@5.63-95.0 +databases", name="databases", diff --git a/var/spack/repos/builtin/packages/ioapi/package.py b/var/spack/repos/builtin/packages/ioapi/package.py index fcc640734ecfd0..2f7398075afc46 100644 --- a/var/spack/repos/builtin/packages/ioapi/package.py +++ b/var/spack/repos/builtin/packages/ioapi/package.py @@ -20,6 +20,9 @@ class Ioapi(MakefilePackage): # source tarball (#28247). This also means that one must test for breaking # changes when updating the checksum and avoid #22633. version("3.2", sha256="0a3cbf236ffbd9fb5f6509e35308c3353f1f53096efe0c51b84883d2da86924b") + + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated depends_on("netcdf-c@4:") depends_on("netcdf-fortran@4:") depends_on("sed", type="build") diff --git a/var/spack/repos/builtin/packages/ior/package.py b/var/spack/repos/builtin/packages/ior/package.py index 66fbd5701b515e..d8bb3f97e968d8 100644 --- a/var/spack/repos/builtin/packages/ior/package.py +++ b/var/spack/repos/builtin/packages/ior/package.py @@ -25,6 +25,8 @@ class Ior(AutotoolsPackage): version("3.2.0", sha256="91a766fb9c34b5780705d0997b71b236a1120da46652763ba11d9a8c44251852") version("3.0.1", sha256="0cbefbcdb02fb13ba364e102f9e7cc2dcf761698533dac25de446a3a3e81390d") + depends_on("c", type="build") # generated + variant("hdf5", default=False, description="support IO with HDF5 backend") variant("ncmpi", default=False, description="support IO with NCMPI backend") variant("lustre", default=False, description="support configurable Lustre striping values") diff --git a/var/spack/repos/builtin/packages/iozone/package.py b/var/spack/repos/builtin/packages/iozone/package.py index 86b31db056a584..25b557095fc850 100644 --- a/var/spack/repos/builtin/packages/iozone/package.py +++ b/var/spack/repos/builtin/packages/iozone/package.py @@ -22,6 +22,8 @@ class Iozone(MakefilePackage): version("3_491", sha256="2cc4842d382e46a585d1df9ae1e255695480dcc0fc05c3b1cb32ef3493d0ec9a") version("3_465", sha256="2e3d72916e7d7340a7c505fc0c3d28553fcc5ff2daf41d811368e55bd4e6a293") + depends_on("c", type="build") # generated + # TODO: Add support for other architectures as necessary build_targets = ["linux-AMD64"] diff --git a/var/spack/repos/builtin/packages/ip/package.py b/var/spack/repos/builtin/packages/ip/package.py index b0b9c844ff3f6a..8e309ae3a7316d 100644 --- a/var/spack/repos/builtin/packages/ip/package.py +++ b/var/spack/repos/builtin/packages/ip/package.py @@ -32,6 +32,9 @@ class Ip(CMakePackage): preferred=True, ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", description="Enable OpenMP threading", default=True) variant("pic", default=True, description="Build with position-independent-code") variant("shared", default=False, description="Build shared library", when="@4.1:") diff --git a/var/spack/repos/builtin/packages/ip2/package.py b/var/spack/repos/builtin/packages/ip2/package.py index 92640926706500..7b7bd68ed4e5c6 100644 --- a/var/spack/repos/builtin/packages/ip2/package.py +++ b/var/spack/repos/builtin/packages/ip2/package.py @@ -19,9 +19,17 @@ class Ip2(CMakePackage): maintainers("t-brown", "AlexanderRichert-NOAA", "Hang-Lei-NOAA", "edwardhartnett") - version("1.1.2", sha256="73c6beec8fd463ec7ccba3633d8c5d53d385c43d507367efde918c2db0af42ab") + version( + "1.1.2", + sha256="73c6beec8fd463ec7ccba3633d8c5d53d385c43d507367efde918c2db0af42ab", + deprecated=True, + ) + + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated depends_on("sp") + requires("^sp precision=4,8,d", when="^sp@2.4:") def setup_run_environment(self, env): for suffix in ("4", "8", "d"): diff --git a/var/spack/repos/builtin/packages/ipcalc/package.py b/var/spack/repos/builtin/packages/ipcalc/package.py index 06fa24b10abc9f..0e8fbadd3052a7 100644 --- a/var/spack/repos/builtin/packages/ipcalc/package.py +++ b/var/spack/repos/builtin/packages/ipcalc/package.py @@ -21,6 +21,8 @@ class Ipcalc(MakefilePackage): version("0.2.2", sha256="bf1b95eca219e564c85fa4233fe65342963cf3e8a303a7e10b4dd7269c864794") version("0.2.0", sha256="c965c1296172a6acc50d54dfe81f7e5d589f9762b5d9ae459eee00349675336b") + depends_on("c", type="build") # generated + depends_on("geoip-api-c") def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/iperf2/package.py b/var/spack/repos/builtin/packages/iperf2/package.py index 81970527e4dbfc..6d7379ee50a7f2 100644 --- a/var/spack/repos/builtin/packages/iperf2/package.py +++ b/var/spack/repos/builtin/packages/iperf2/package.py @@ -18,3 +18,6 @@ class Iperf2(AutotoolsPackage, SourceforgePackage): version("2.1.8", sha256="8e2cf2fbc9d0d4d1cf9d109b1e328459f9622993dc9a4c5a7dc8a2088fb7beaf") version("2.1.7", sha256="1aba2e1d7aa43641ef841951ed88e16cffba898460e0c51e6b2806f3ff20e9d4") version("2.0.12", sha256="367f651fb1264b13f6518e41b8a7e08ce3e41b2a1c80e99ff0347561eed32646") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/iperf3/package.py b/var/spack/repos/builtin/packages/iperf3/package.py index 15f11db6f896ee..a1f8991ca57458 100644 --- a/var/spack/repos/builtin/packages/iperf3/package.py +++ b/var/spack/repos/builtin/packages/iperf3/package.py @@ -23,3 +23,5 @@ class Iperf3(AutotoolsPackage): version("3.12", sha256="72034ecfb6a7d6d67e384e19fb6efff3236ca4f7ed4c518d7db649c447e1ffd6") version("3.9", sha256="24b63a26382325f759f11d421779a937b63ca1bc17c44587d2fcfedab60ac038") version("3.6", sha256="de5d51e46dc460cc590fb4d44f95e7cad54b74fea1eba7d6ebd6f8887d75946e") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/ipm/package.py b/var/spack/repos/builtin/packages/ipm/package.py index 1c8a18ea59293b..f522fb7296963c 100644 --- a/var/spack/repos/builtin/packages/ipm/package.py +++ b/var/spack/repos/builtin/packages/ipm/package.py @@ -23,6 +23,10 @@ class Ipm(AutotoolsPackage): version("master", branch="master", preferred=True) version("2.0.6", tag="2.0.6", commit="b008141ee16d39b33e20bffde615564afa107575") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("papi", default=False, description="Enable PAPI") variant("cuda", default=False, description="Enable CUDA") variant("libunwind", default=False, description="Enable libunwind") diff --git a/var/spack/repos/builtin/packages/ipopt/package.py b/var/spack/repos/builtin/packages/ipopt/package.py index b5fc7b0cc7ef8d..39f63123bef358 100644 --- a/var/spack/repos/builtin/packages/ipopt/package.py +++ b/var/spack/repos/builtin/packages/ipopt/package.py @@ -43,6 +43,10 @@ class Ipopt(AutotoolsPackage): version("3.12.1", sha256="bde8c415136bb38d5a3c5935757399760c6cabf67e9362702e59ab6027f030ec") version("3.12.0", sha256="b42f44eb53540205ede4584cced5d88a7b3ec2f1fac6e173a105496307e273a0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("coinhsl", default=False, description="Build with Coin Harwell Subroutine Libraries") variant("metis", default=False, description="Build with METIS partitioning support") variant("debug", default=False, description="Build debug instead of optimized version") diff --git a/var/spack/repos/builtin/packages/iproute2/package.py b/var/spack/repos/builtin/packages/iproute2/package.py index 98430a131aef8e..3232bee99d2874 100644 --- a/var/spack/repos/builtin/packages/iproute2/package.py +++ b/var/spack/repos/builtin/packages/iproute2/package.py @@ -26,6 +26,8 @@ class Iproute2(AutotoolsPackage): version("5.6.0", sha256="be41c35eddb02e736a2040b66ccfacee41fe7ee454580588f8959568d8a3c5b3") version("5.5.0", sha256="5bc88876a3140f640e3318453382be5be4c673ccc17a518c05a5ce2ef9aa9a7f") + depends_on("c", type="build") # generated + def install(self, spec, prefix): make("install", "DESTDIR={0}".format(prefix), "PREFIX=") diff --git a/var/spack/repos/builtin/packages/iptraf-ng/package.py b/var/spack/repos/builtin/packages/iptraf-ng/package.py index 4f1bb59cb0b7db..c3288c02ac79dd 100644 --- a/var/spack/repos/builtin/packages/iptraf-ng/package.py +++ b/var/spack/repos/builtin/packages/iptraf-ng/package.py @@ -18,6 +18,8 @@ class IptrafNg(MakefilePackage): version("1.2.0", sha256="9725115e501d083674d50a7686029d3a08f920abd35c9a2d4a28b5ddb782417f") version("1.1.4", sha256="16b9b05bf5d3725d86409b901696639ad46944d02de6def87b1ceae5310dd35c") + depends_on("c", type="build") # generated + depends_on("ncurses") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/iq-tree/package.py b/var/spack/repos/builtin/packages/iq-tree/package.py index 981393d4a03729..15ac27772a7b40 100644 --- a/var/spack/repos/builtin/packages/iq-tree/package.py +++ b/var/spack/repos/builtin/packages/iq-tree/package.py @@ -36,6 +36,9 @@ class IqTree(CMakePackage): ) version("1.6.12", sha256="9614092de7a157de82c9cc402b19cc8bfa0cb0ffc93b91817875c2b4bb46a284") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("openmp", default=True, description="Enable OpenMP support.") variant("mpi", default=False, description="Enable MPI support.") variant("lsd2", default=True, description="Activate Least Squares Dating.") diff --git a/var/spack/repos/builtin/packages/irep/package.py b/var/spack/repos/builtin/packages/irep/package.py index 2210f7bac5cdec..357eb3009d953f 100644 --- a/var/spack/repos/builtin/packages/irep/package.py +++ b/var/spack/repos/builtin/packages/irep/package.py @@ -20,4 +20,8 @@ class Irep(CMakePackage): version("1.0.0", sha256="b84203ac92de824dbdc672de45cfdb9609373791c4ee84a5201fa6e4ccecc1a4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("lua-lang") diff --git a/var/spack/repos/builtin/packages/isa-l-crypto/package.py b/var/spack/repos/builtin/packages/isa-l-crypto/package.py index f6aa7e762d8eae..e02d07cfa25cac 100644 --- a/var/spack/repos/builtin/packages/isa-l-crypto/package.py +++ b/var/spack/repos/builtin/packages/isa-l-crypto/package.py @@ -35,6 +35,8 @@ class IsaLCrypto(AutotoolsPackage): version("2.23.0", sha256="4827bc3e281d19a434deaa17a172f22f38c113ffc65f5df4348062165cb89eb8") version("2.22.0", sha256="c6503b455bdf0efcad74fdae4e9b30465e0e208cff2b0b34fd8f471553455527") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/isa-l/package.py b/var/spack/repos/builtin/packages/isa-l/package.py index 2d56fbcebb3cbd..3acf9c98798fca 100644 --- a/var/spack/repos/builtin/packages/isa-l/package.py +++ b/var/spack/repos/builtin/packages/isa-l/package.py @@ -38,6 +38,8 @@ class IsaL(AutotoolsPackage): version("2.26.0", sha256="938ccce1764ed8fb65a13b02295be5af9a5e0d91686efb7474bde666214153b3") version("2.25.0", sha256="302bb38bf76be632dbd338ab97efe1c84d47dbe6265ff7af8cb373f256c84b48") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/isaac-server/package.py b/var/spack/repos/builtin/packages/isaac-server/package.py index 16fc1c6b547f1c..8dcc67b2546d89 100644 --- a/var/spack/repos/builtin/packages/isaac-server/package.py +++ b/var/spack/repos/builtin/packages/isaac-server/package.py @@ -28,6 +28,8 @@ class IsaacServer(CMakePackage): version("1.3.1", sha256="7dead8f3d5467cbd2cde8187e7b860a4ab7796348895d18291f97a76e28757cf") version("1.3.0", sha256="fcf10f4738e7790ef6604e1e2cdd052a129ba4e53a439deaafa9fb2a70585574") + depends_on("cxx", type="build") # generated + # variant('gstreamer', default=False, description= \ # 'Support for RTP streams, e.g. to Twitch or Youtube') diff --git a/var/spack/repos/builtin/packages/isaac/package.py b/var/spack/repos/builtin/packages/isaac/package.py index 36e13abbe36843..8bc42c1e9401c9 100644 --- a/var/spack/repos/builtin/packages/isaac/package.py +++ b/var/spack/repos/builtin/packages/isaac/package.py @@ -28,6 +28,8 @@ class Isaac(CMakePackage): version("1.3.1", sha256="7dead8f3d5467cbd2cde8187e7b860a4ab7796348895d18291f97a76e28757cf") version("1.3.0", sha256="fcf10f4738e7790ef6604e1e2cdd052a129ba4e53a439deaafa9fb2a70585574") + depends_on("cxx", type="build") # generated + variant("cuda", default=True, description="Generate CUDA kernels for Nvidia GPUs") # variant('alpaka', default=False, # description='Generate kernels via Alpaka, for CPUs or GPUs') diff --git a/var/spack/repos/builtin/packages/isc-dhcp/package.py b/var/spack/repos/builtin/packages/isc-dhcp/package.py index 23e223acb560d2..9cfe0c22ac60a0 100644 --- a/var/spack/repos/builtin/packages/isc-dhcp/package.py +++ b/var/spack/repos/builtin/packages/isc-dhcp/package.py @@ -27,6 +27,9 @@ class IscDhcp(AutotoolsPackage): version("4.3.6", sha256="a41eaf6364f1377fe065d35671d9cf82bbbc8f21207819b2b9f33f652aec6f1b") version("4.3.5", sha256="eb95936bf15d2393c55dd505bc527d1d4408289cec5a9fa8abb99f7577e7f954") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/isescan/package.py b/var/spack/repos/builtin/packages/isescan/package.py index ea130c0e591772..d598c24b6f916e 100644 --- a/var/spack/repos/builtin/packages/isescan/package.py +++ b/var/spack/repos/builtin/packages/isescan/package.py @@ -18,6 +18,8 @@ class Isescan(Package): version("1.7.2.3", sha256="90ef6bc660e471347f65864bd3563f769ed4b79b1a932195f353c5e86351ab05") version("1.7.2.1", sha256="b971a3e86a8cddaa4bcd520ba9e75425bbe93190466f81a3791ae0cb4baf5e5d") + depends_on("c", type="build") # generated + depends_on("python@3.3.3:", type="run") depends_on("py-numpy@1.8.0:", type="run") depends_on("py-scipy@0.13.1:", type="run") diff --git a/var/spack/repos/builtin/packages/isl/package.py b/var/spack/repos/builtin/packages/isl/package.py index 22ee03755cfcab..53862f40adf5a4 100644 --- a/var/spack/repos/builtin/packages/isl/package.py +++ b/var/spack/repos/builtin/packages/isl/package.py @@ -25,6 +25,9 @@ class Isl(AutotoolsPackage): version("0.15", sha256="8ceebbf4d9a81afa2b4449113cee4b7cb14a687d7a549a963deb5e2a41458b6b") version("0.14", sha256="7e3c02ff52f8540f6a85534f54158968417fd676001651c8289c705bd0228f36") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("gmp") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/ispc/package.py b/var/spack/repos/builtin/packages/ispc/package.py index b2a51bed81ab7c..b15ced302a766d 100644 --- a/var/spack/repos/builtin/packages/ispc/package.py +++ b/var/spack/repos/builtin/packages/ispc/package.py @@ -43,6 +43,9 @@ class Ispc(CMakePackage): version("1.14.0", sha256="1ed72542f56738c632bb02fb0dd56ad8aec3e2487839ebbc0def8334f305a4c7") version("1.13.0", sha256="aca595508b51dd1ff065c406a3fd7c93822320c510077dd4d97a2b98a23f097a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python", type="build") depends_on("bison", type="build") depends_on("flex", type="build") diff --git a/var/spack/repos/builtin/packages/itensor/package.py b/var/spack/repos/builtin/packages/itensor/package.py index c60ec4c98ea6ed..4efc48948abc7c 100644 --- a/var/spack/repos/builtin/packages/itensor/package.py +++ b/var/spack/repos/builtin/packages/itensor/package.py @@ -34,6 +34,8 @@ class Itensor(MakefilePackage): version("3.0.0", sha256="1d249a3a6442188a9f7829b32238c1025457c2930566d134a785994b1f7c54a9") version("2.1.1", sha256="b91a67af66ed0fa7678494f3895b5d5ae7f1dc1026540689f9625f515cb7791c") + depends_on("cxx", type="build") # generated + variant("openmp", default=False, description="Enable OpenMP support.") variant("hdf5", default=False, description="Build rockstar with HDF5 support.") variant("shared", default=False, description="Also build dynamic libraries.") diff --git a/var/spack/repos/builtin/packages/itk/package.py b/var/spack/repos/builtin/packages/itk/package.py index f5f46daa7fa853..dd3ac52049ef96 100644 --- a/var/spack/repos/builtin/packages/itk/package.py +++ b/var/spack/repos/builtin/packages/itk/package.py @@ -35,6 +35,10 @@ class Itk(CMakePackage): version("5.1.2", sha256="f1e5a78e11125348f68f655c6b89b617c3a8b2c09f710081f621054811a70c98") version("5.1.1", sha256="39e2a63840054361b728878a35b21bbe38374682ffb4b5c4f8f8f7514dedb58e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("review", default=False, description="enable modules under review") variant("rtk", default=False, description="build the RTK (Reconstruction Toolkit module") variant("minc", default=False, description="enable support for MINC files") diff --git a/var/spack/repos/builtin/packages/iwyu/package.py b/var/spack/repos/builtin/packages/iwyu/package.py index 1c28fb9e805d70..b455810bfea3b9 100644 --- a/var/spack/repos/builtin/packages/iwyu/package.py +++ b/var/spack/repos/builtin/packages/iwyu/package.py @@ -37,6 +37,9 @@ class Iwyu(CMakePackage): version("0.12", sha256="a5892fb0abccb820c394e4e245c00ef30fc94e4ae58a048b23f94047c0816025") version("0.11", sha256="2d2877726c4aed9518cbb37673ffbc2b7da9c239bf8fe29432da35c1c0ec367a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch("iwyu-013-cmake.patch", when="@0.13:0.14") depends_on("llvm+clang@17.0:17", when="@0.21") diff --git a/var/spack/repos/builtin/packages/jags/package.py b/var/spack/repos/builtin/packages/jags/package.py index 8a10604d8d3963..e584ebd264588c 100644 --- a/var/spack/repos/builtin/packages/jags/package.py +++ b/var/spack/repos/builtin/packages/jags/package.py @@ -22,6 +22,10 @@ class Jags(AutotoolsPackage): version("4.3.0", sha256="8ac5dd57982bfd7d5f0ee384499d62f3e0bb35b5f1660feb368545f1186371fc") version("4.2.0", sha256="af3e9d2896d3e712f99e2a0c81091c6b08f096650af6aa9d0c631c0790409cf7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("blas") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/jali/package.py b/var/spack/repos/builtin/packages/jali/package.py index ce7b62ac54f09e..56e9d14a55f1b2 100644 --- a/var/spack/repos/builtin/packages/jali/package.py +++ b/var/spack/repos/builtin/packages/jali/package.py @@ -28,6 +28,8 @@ class Jali(CMakePackage): version("1.1.0", sha256="783dfcd6a9284af83bb380ed257fa8b0757dc2f7f9196d935eb974fb6523c644") version("1.0.5", sha256="979170615d33a7bf20c96bd4d0285e05a2bbd901164e377a8bccbd9af9463801") + depends_on("cxx", type="build") # generated + variant("mstk", default=True, description="Enable MSTK") # dependencies diff --git a/var/spack/repos/builtin/packages/jansi-native/package.py b/var/spack/repos/builtin/packages/jansi-native/package.py index 26903db65248e9..b57e73df86f4cd 100644 --- a/var/spack/repos/builtin/packages/jansi-native/package.py +++ b/var/spack/repos/builtin/packages/jansi-native/package.py @@ -18,4 +18,6 @@ class JansiNative(MavenPackage): version("1.8", sha256="053808f58495a5657c7e7f388008b02065fbbb3f231454bfcfa159adc2e2fcea") + depends_on("c", type="build") # generated + depends_on("java@8", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/jansson/package.py b/var/spack/repos/builtin/packages/jansson/package.py index 034040dcadba11..96ecf3588bb700 100644 --- a/var/spack/repos/builtin/packages/jansson/package.py +++ b/var/spack/repos/builtin/packages/jansson/package.py @@ -24,6 +24,9 @@ class Jansson(CMakePackage): version("2.10", sha256="b0a899f90ade82e42da0ecabc8af1fa296d69691e7c0786c4994fb79d4833ebb") version("2.9", sha256="952fa714b399e71c1c3aa020e32e899f290c82126ca4d0d14cff5d10af457656") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/jasper/package.py b/var/spack/repos/builtin/packages/jasper/package.py index 3158e66138cf33..5b77a1cd05f81a 100644 --- a/var/spack/repos/builtin/packages/jasper/package.py +++ b/var/spack/repos/builtin/packages/jasper/package.py @@ -3,34 +3,44 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.build_systems import autotools, cmake from spack.package import * -class Jasper(Package): +class Jasper(AutotoolsPackage, CMakePackage): """Library for manipulating JPEG-2000 images""" homepage = "https://www.ece.uvic.ca/~frodo/jasper/" url = "https://github.com/jasper-software/jasper/archive/version-2.0.32.tar.gz" + version("4.2.4", sha256="23a3d58cdeacf3abdf9fa1d81dcefee58da6ab330940790c0f27019703bfd2cd") + version("3.0.6", sha256="c79961bc00158f5b5dc5f5fcfa792fde9bebb024432689d0f9e3f95a097d0ec3") version("3.0.3", sha256="1b324f7746681f6d24d06fcf163cf3b8ae7ac320adc776c3d611b2b62c31b65f") version("2.0.32", sha256="a3583a06698a6d6106f2fc413aa42d65d86bedf9a988d60e5cfa38bf72bc64b9") version("2.0.31", sha256="d419baa2f8a6ffda18472487f6314f0f08b673204723bf11c3a1f5b3f1b8e768") version("2.0.16", sha256="f1d8b90f231184d99968f361884e2054a1714fdbbd9944ba1ae4ebdcc9bbfdb1") version("2.0.14", sha256="85266eea728f8b14365db9eaf1edc7be4c348704e562bb05095b9a077cf1a97b") - version("1.900.1", sha256="c2b03f28166f9dc8ae434918839ae9aa9962b880fcfd24eebddd0a2daeb9192c") + version( + "1.900.1", + sha256="c2b03f28166f9dc8ae434918839ae9aa9962b880fcfd24eebddd0a2daeb9192c", + deprecated=True, + ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + + build_system( + conditional("cmake", when="@2:"), conditional("autotools", when="@:1"), default="cmake" + ) variant("jpeg", default=True, description="Enable the use of the JPEG library") variant("opengl", default=False, description="Enable the use of the OpenGL and GLUT libraries") variant("shared", default=True, description="Enable the building of shared libraries") - variant( - "build_type", - default="Release", - description="CMake build type", - values=("Debug", "Release"), - ) - depends_on("cmake@2.8.11:", type="build", when="@2:") - depends_on("cmake@3.12:", type="build", when="@3:") + with when("build_system=cmake"): + depends_on("cmake@2.8.11:", type="build") + depends_on("cmake@3.12:", type="build", when="@3:") + depends_on("jpeg", when="+jpeg") depends_on("gl", when="+opengl") @@ -42,69 +52,22 @@ class Jasper(Package): # See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469786 patch("fix_alpha_channel_assert_fail.patch", when="@1.900.1") - def cmake_args(self): - spec = self.spec - args = std_cmake_args - args.append("-DJAS_ENABLE_DOC=false") - - if "+jpeg" in spec: - args.append("-DJAS_ENABLE_LIBJPEG=true") - else: - args.append("-DJAS_ENABLE_LIBJPEG=false") - - if "+opengl" in spec: - args.append("-DJAS_ENABLE_OPENGL=true") - else: - args.append("-DJAS_ENABLE_OPENGL=false") - if "+shared" in spec: - args.append("-DJAS_ENABLE_SHARED=true") - else: - args.append("-DJAS_ENABLE_SHARED=false") +class CMakeBuilder(cmake.CMakeBuilder): + def cmake_args(self): + return [ + self.define("JAS_ENABLE_DOC", False), + self.define("JAS_ENABLE_LATEX", False), + self.define_from_variant("JAS_ENABLE_LIBJPEG", "jpeg"), + self.define_from_variant("JAS_ENABLE_OPENGL", "opengl"), + self.define_from_variant("JAS_ENABLE_SHARED", "shared"), + ] - return args +class AutotoolsBuilder(autotools.AutotoolsBuilder): def configure_args(self): - spec = self.spec - args = ["--prefix={0}".format(self.prefix)] - - if "+jpeg" in spec: - args.append("--enable-libjpeg") - else: - args.append("--disable-libjpeg") - - if "+opengl" in spec: - args.append("--enable-opengl") - else: - args.append("--disable-opengl") - - if "+shared" in spec: - args.append("--enable-shared") - else: - args.append("--disable-shared") - - if "build_type=Debug" in spec: - args.append("--enable-debug") - else: - args.append("--disable-debug") - + args = [] + args.extend(self.enable_or_disable("jpeg")) + args.extend(self.enable_or_disable("opengl")) + args.extend(self.enable_or_disable("shared")) return args - - @when("@2:") - def install(self, spec, prefix): - with working_dir("spack-build", create=True): - cmake("..", *self.cmake_args()) - make() - if self.run_tests: - make("test") - make("install") - - @when("@:1") - def install(self, spec, prefix): - configure(*self.configure_args()) - make() - if self.run_tests: - make("check") - make("install") - if self.run_tests: - make("installcheck") diff --git a/var/spack/repos/builtin/packages/jbigkit/package.py b/var/spack/repos/builtin/packages/jbigkit/package.py index 6a95bd304be4bf..9551d7b046ef43 100644 --- a/var/spack/repos/builtin/packages/jbigkit/package.py +++ b/var/spack/repos/builtin/packages/jbigkit/package.py @@ -16,6 +16,8 @@ class Jbigkit(MakefilePackage): version("2.1", sha256="de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932") version("1.6", sha256="d841b6d0723c1082450967f3ea500be01810a34ec4a97ad10985ae7071a6150b") + depends_on("c", type="build") # generated + build_directory = "libjbig" def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/jchronoss/package.py b/var/spack/repos/builtin/packages/jchronoss/package.py index c6a991b33dd9ac..dcbf609af95de1 100644 --- a/var/spack/repos/builtin/packages/jchronoss/package.py +++ b/var/spack/repos/builtin/packages/jchronoss/package.py @@ -22,6 +22,9 @@ class Jchronoss(CMakePackage): version("1.1", sha256="e8230416c94fb58516a4b9293efd0a67edf4a37e82cfae2ced2c0af8b4615f22") version("1.0", sha256="6a92d3cf2424fc7eaaeac9bfefe395596275e552ac5660eb4543e43679586f24") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("realtime", default=False, description="Enable Real-Time support") variant("openmp", default=False, description="Enable OpenMP constructs") variant("ncurses", default=False, description="Enable ncurses-based tool") diff --git a/var/spack/repos/builtin/packages/jellyfish/package.py b/var/spack/repos/builtin/packages/jellyfish/package.py index d6c62be341bd01..f20643fa8d020e 100644 --- a/var/spack/repos/builtin/packages/jellyfish/package.py +++ b/var/spack/repos/builtin/packages/jellyfish/package.py @@ -28,6 +28,8 @@ class Jellyfish(AutotoolsPackage): url="https://www.cbcb.umd.edu/software/jellyfish/jellyfish-1.1.11.tar.gz", ) + depends_on("cxx", type="build") # generated + depends_on("perl", when="@2.2.7:", type=("build", "run")) variant("ruby", default=False, description="Enable ruby bindings") # Info: python bindings exist, but are for python2 which is no longer supported in spack diff --git a/var/spack/repos/builtin/packages/jemalloc/package.py b/var/spack/repos/builtin/packages/jemalloc/package.py index 938e506b2ac610..e2bbecd2afac1d 100644 --- a/var/spack/repos/builtin/packages/jemalloc/package.py +++ b/var/spack/repos/builtin/packages/jemalloc/package.py @@ -26,6 +26,9 @@ class Jemalloc(AutotoolsPackage): version("4.1.0", sha256="fad06d714f72adb4265783bc169c6d98eeb032d57ba02d87d1dcb4a2d933ec8e") version("4.0.4", sha256="3fda8d8d7fcd041aa0bebbecd45c46b28873cf37bd36c56bf44961b36d0f42d0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("stats", default=False, description="Enable heap statistics") variant("prof", default=False, description="Enable heap profiling") variant( diff --git a/var/spack/repos/builtin/packages/jhpcn-df/package.py b/var/spack/repos/builtin/packages/jhpcn-df/package.py index 5f266d1936a883..5a63d2264403e5 100644 --- a/var/spack/repos/builtin/packages/jhpcn-df/package.py +++ b/var/spack/repos/builtin/packages/jhpcn-df/package.py @@ -25,6 +25,10 @@ class JhpcnDf(CMakePackage): version("1.1.0", sha256="106d99cc4faac5c76e51e8bfe3193c1d3dc91648072cf418d868ed830592b04b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("lz4", default=False, description="Enable lz4") variant("fortran", default=False, description="Enable Fortran Interface") diff --git a/var/spack/repos/builtin/packages/jimtcl/package.py b/var/spack/repos/builtin/packages/jimtcl/package.py index 35fc0ed7d09acc..b764fe7e129cd4 100644 --- a/var/spack/repos/builtin/packages/jimtcl/package.py +++ b/var/spack/repos/builtin/packages/jimtcl/package.py @@ -18,3 +18,6 @@ class Jimtcl(AutotoolsPackage): version("0.79", sha256="ab8204cd03b946f5149e1273af9c86d8e73b146084a0fbeb1d4f41a75b0b3411") version("0.78", sha256="cf801795c9fd98bfff6882c14afdf96424ba86dead58c2a4e15978b176d3e12b") version("0.77", sha256="0874c50ab932c68940c29c48c014266a322c54ff357a0919386f32cc341eb3b2") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/jogl/package.py b/var/spack/repos/builtin/packages/jogl/package.py index 0e03ff63194461..011fc980f4eca2 100644 --- a/var/spack/repos/builtin/packages/jogl/package.py +++ b/var/spack/repos/builtin/packages/jogl/package.py @@ -19,6 +19,9 @@ class Jogl(Package): version("java-11-fixes", branch="java-11-fixes", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("ant", type="build") depends_on("java", type=("build", "run")) depends_on("gluegen", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/jose/package.py b/var/spack/repos/builtin/packages/jose/package.py index 3f997647f9e7bd..c2d2df46064417 100644 --- a/var/spack/repos/builtin/packages/jose/package.py +++ b/var/spack/repos/builtin/packages/jose/package.py @@ -18,6 +18,8 @@ class Jose(AutotoolsPackage): version("9", sha256="64262b1344d92fc183f70ca93db6100cd97b3dfa7cddea1e08e8588e6cd681eb") version("8", sha256="24e3d71e3da5a7913ab3c299381d76dfde488d91cb108b1a9527454bf1e9dc51") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("jansson@2.10:") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/jpegoptim/package.py b/var/spack/repos/builtin/packages/jpegoptim/package.py index 070889c15ea9ad..802cdce85879d4 100644 --- a/var/spack/repos/builtin/packages/jpegoptim/package.py +++ b/var/spack/repos/builtin/packages/jpegoptim/package.py @@ -18,4 +18,6 @@ class Jpegoptim(AutotoolsPackage): version("1.4.5", sha256="53207f479f96c4f792b3187f31abf3534d69c88fe23720d0c23f5310c5d2b2f5") version("1.4.4", sha256="bc6b018ae8c3eb12d07596693d54243e214780a2a2303a6578747d3671f45da3") + depends_on("c", type="build") # generated + depends_on("libjpeg") diff --git a/var/spack/repos/builtin/packages/jq/package.py b/var/spack/repos/builtin/packages/jq/package.py index e0465cbb1c0c52..69886aa9b26068 100644 --- a/var/spack/repos/builtin/packages/jq/package.py +++ b/var/spack/repos/builtin/packages/jq/package.py @@ -21,6 +21,8 @@ class Jq(AutotoolsPackage): version("1.6", sha256="5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72") version("1.5", sha256="c4d2bfec6436341113419debf479d833692cc5cdab7eb0326b5a4d4fbe9f493c") + depends_on("c", type="build") # generated + depends_on("oniguruma") depends_on("bison@3.0:", type="build") diff --git a/var/spack/repos/builtin/packages/json-c/package.py b/var/spack/repos/builtin/packages/json-c/package.py index c5ebb20a458fce..fbd69a01b6ac22 100644 --- a/var/spack/repos/builtin/packages/json-c/package.py +++ b/var/spack/repos/builtin/packages/json-c/package.py @@ -22,6 +22,9 @@ class JsonC(CMakePackage, AutotoolsPackage): version("0.12", sha256="000c01b2b3f82dcb4261751eb71f1b084404fb7d6a282f06074d3c17078b9f3f") version("0.11", sha256="28dfc65145dc0d4df1dfe7701ac173c4e5f9347176c8983edbfac9149494448c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + build_system( conditional("cmake", when="@0.14:"), conditional("autotools", when="@:0.13.1"), diff --git a/var/spack/repos/builtin/packages/json-cwx/package.py b/var/spack/repos/builtin/packages/json-cwx/package.py index b0b0091c9e903b..0ad82764b49c4f 100644 --- a/var/spack/repos/builtin/packages/json-cwx/package.py +++ b/var/spack/repos/builtin/packages/json-cwx/package.py @@ -16,6 +16,8 @@ class JsonCwx(AutotoolsPackage): version("0.12", sha256="3bfae1f23eacba53ee130dbd1a6acf617af4627a9b4e4581d64b20a99b4e2b60") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/json-fortran/package.py b/var/spack/repos/builtin/packages/json-fortran/package.py index 334cd6093ec69b..722fd2256b8a95 100644 --- a/var/spack/repos/builtin/packages/json-fortran/package.py +++ b/var/spack/repos/builtin/packages/json-fortran/package.py @@ -29,6 +29,8 @@ class JsonFortran(CMakePackage): version("7.0.0", sha256="9b5b6235489b27d572bbc7620ed8e039fa9d4d14d41b1581b279be9db499f32c") version("6.11.0", sha256="0ce38236a0debcd775108684b835f9f92ca9d6594da714c0025014fe9f03eec3") + depends_on("fortran", type="build") # generated + depends_on("cmake@2.8.8:", type="build") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/jsoncpp/package.py b/var/spack/repos/builtin/packages/jsoncpp/package.py index 3f9945cf42322b..6f401ec843908d 100644 --- a/var/spack/repos/builtin/packages/jsoncpp/package.py +++ b/var/spack/repos/builtin/packages/jsoncpp/package.py @@ -35,6 +35,8 @@ class Jsoncpp(CMakePackage, MesonPackage): version("1.7.4", sha256="10dcd0677e80727e572a1e462193e51a5fde3e023b99e144b2ee1a469835f769") version("1.7.3", sha256="1cfcad14054039ba97c22531888796cb9369e6353f257aacaad34fda956ada53") + depends_on("cxx", type="build") # generated + # From 1.9.3 onwards CMAKE_CXX_STANDARD is finally set to 11. variant( "cxxstd", diff --git a/var/spack/repos/builtin/packages/jsonnet/package.py b/var/spack/repos/builtin/packages/jsonnet/package.py index e5db816c56a13d..37d7464653a084 100644 --- a/var/spack/repos/builtin/packages/jsonnet/package.py +++ b/var/spack/repos/builtin/packages/jsonnet/package.py @@ -22,6 +22,9 @@ class Jsonnet(MakefilePackage): version("0.18.0", sha256="85c240c4740f0c788c4d49f9c9c0942f5a2d1c2ae58b2c71068107bc80a3ced4") version("0.17.0", sha256="076b52edf888c01097010ad4299e3b2e7a72b60a41abbc65af364af1ed3c8dbe") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + conflicts("%gcc@:5.4.99", when="@0.18.0:") variant("python", default=False, description="Provide Python bindings for jsonnet") diff --git a/var/spack/repos/builtin/packages/judy/package.py b/var/spack/repos/builtin/packages/judy/package.py index 7dec30271082b5..508b27bc5c4a4c 100644 --- a/var/spack/repos/builtin/packages/judy/package.py +++ b/var/spack/repos/builtin/packages/judy/package.py @@ -16,4 +16,6 @@ class Judy(AutotoolsPackage): version("1.0.5", sha256="d2704089f85fdb6f2cd7e77be21170ced4b4375c03ef1ad4cf1075bd414a63eb") + depends_on("c", type="build") # generated + parallel = False diff --git a/var/spack/repos/builtin/packages/julea/package.py b/var/spack/repos/builtin/packages/julea/package.py index 4d1f336fd77fa9..7c22aa696bcc8a 100644 --- a/var/spack/repos/builtin/packages/julea/package.py +++ b/var/spack/repos/builtin/packages/julea/package.py @@ -23,6 +23,9 @@ class Julea(MesonPackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("hdf5", default=True, description="Enable HDF5 support") variant("leveldb", default=True, description="Enable LevelDB support") variant("lmdb", default=True, description="Enable LMDB support") diff --git a/var/spack/repos/builtin/packages/julia/package.py b/var/spack/repos/builtin/packages/julia/package.py index 576a6d8f288416..c912c9aab4e8f7 100644 --- a/var/spack/repos/builtin/packages/julia/package.py +++ b/var/spack/repos/builtin/packages/julia/package.py @@ -26,6 +26,8 @@ class Julia(MakefilePackage): maintainers("vchuravy", "haampie", "giordano") version("master", branch="master") + version("1.10.4", sha256="c46ed8166fe860a7258d088a0add68dfdf11ad64cc4c0b1f113570862d3ef777") + version("1.10.3", sha256="b3cd34c839d25b98a162070b4e3abd5f34564ffdad13e07073be7885e5678a18") version("1.10.2", sha256="e3d20c02975da054aeb18d32ed84c5d760d54d2563e45e25017684a5a105d185") version("1.9.3", sha256="8d7dbd8c90e71179e53838cdbe24ff40779a90d7360e29766609ed90d982081d") version("1.9.2", sha256="015438875d591372b80b09d01ba899657a6517b7c72ed41222298fef9d4ad86b") @@ -47,6 +49,9 @@ class Julia(MakefilePackage): version("1.6.5", sha256="b70ae299ff6b63a9e9cbf697147a48a31b4639476d1947cb52e4201e444f23cb") version("1.6.4", sha256="a4aa921030250f58015201e28204bff604a007defc5a379a608723e6bb1808d4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("precompile", default=True, description="Improve julia startup time") variant("openlibm", default=True, description="Use openlibm instead of libm") diff --git a/var/spack/repos/builtin/packages/justbuild/package.py b/var/spack/repos/builtin/packages/justbuild/package.py index 5bc7219be6f585..7261ed86a3f62d 100644 --- a/var/spack/repos/builtin/packages/justbuild/package.py +++ b/var/spack/repos/builtin/packages/justbuild/package.py @@ -36,6 +36,8 @@ class Justbuild(Package): version("1.1.2", tag="v1.1.2", commit="67b486e2ce6ab657a98b2212a9b6f68935d07a29") version("1.0.0", tag="v1.0.0", commit="c29b671f798e82ba26b5f54ebc9e24c7dcfb8166") + depends_on("cxx", type="build") # generated + depends_on("python@3:", type=("build", "run")) depends_on("wget", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/jwt-cpp/package.py b/var/spack/repos/builtin/packages/jwt-cpp/package.py index 8b32ea1a372598..e0cc0a39713ee0 100644 --- a/var/spack/repos/builtin/packages/jwt-cpp/package.py +++ b/var/spack/repos/builtin/packages/jwt-cpp/package.py @@ -23,6 +23,8 @@ class JwtCpp(CMakePackage): version("0.5.0", sha256="079a273f070dd11213e301712319a65881e51ab81535cc436d5313191df852a2") version("0.4.0", sha256="f0dcc7b0e8bef8f9c3f434e7121f9941145042c9fe3055a5bdd709085a4f2be4") + depends_on("cxx", type="build") # generated + # TODO: jwt-cpp>=0.5.0 has an embedded copy of picojson which can be packaged seperately # TODO: jwt-cpp>=0.6.0 supports wolfSSL for which there is currently diff --git a/var/spack/repos/builtin/packages/jxrlib-debian/package.py b/var/spack/repos/builtin/packages/jxrlib-debian/package.py index b1c239aa37beff..9728efb5493ae7 100644 --- a/var/spack/repos/builtin/packages/jxrlib-debian/package.py +++ b/var/spack/repos/builtin/packages/jxrlib-debian/package.py @@ -24,6 +24,8 @@ class JxrlibDebian(MakefilePackage): sha256="3d9d5d6ca972b51259efe1f37a8e42892e90920b13308d70b8a24eb9a82bf34c", ) + depends_on("c", type="build") # generated + def setup_build_environment(self, env): env.set("DIR_INSTALL", self.prefix) if self.spec.satisfies("+shared"): diff --git a/var/spack/repos/builtin/packages/k8/package.py b/var/spack/repos/builtin/packages/k8/package.py index 14452606a6a38d..0448f21240fe92 100644 --- a/var/spack/repos/builtin/packages/k8/package.py +++ b/var/spack/repos/builtin/packages/k8/package.py @@ -17,6 +17,8 @@ class K8(Package): version("0.2.4", sha256="da8a99c7f1ce7f0cb23ff07ce10510e770686b906d5431442a5439743c0b3c47") + depends_on("cxx", type="build") # generated + depends_on("zlib-api", type="run") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/kadath/package.py b/var/spack/repos/builtin/packages/kadath/package.py index ec6ac84b9a861e..b77b4113b2132f 100644 --- a/var/spack/repos/builtin/packages/kadath/package.py +++ b/var/spack/repos/builtin/packages/kadath/package.py @@ -28,6 +28,8 @@ class Kadath(CMakePackage): version("fuka", branch="fuka") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant( diff --git a/var/spack/repos/builtin/packages/kahip/package.py b/var/spack/repos/builtin/packages/kahip/package.py index a623635468ffa4..6a757784c120dc 100644 --- a/var/spack/repos/builtin/packages/kahip/package.py +++ b/var/spack/repos/builtin/packages/kahip/package.py @@ -41,6 +41,9 @@ class Kahip(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "deterministic", default=False, diff --git a/var/spack/repos/builtin/packages/kakoune/package.py b/var/spack/repos/builtin/packages/kakoune/package.py index 356160fd38a2de..b9aa23e04c8496 100644 --- a/var/spack/repos/builtin/packages/kakoune/package.py +++ b/var/spack/repos/builtin/packages/kakoune/package.py @@ -28,6 +28,8 @@ class Kakoune(MakefilePackage): "2021.11.08", sha256="aa30889d9da11331a243a8f40fe4f6a8619321b19217debac8f565e06eddb5f4" ) + depends_on("cxx", type="build") # generated + depends_on("ncurses") conflicts("%gcc@:8", when="@2021.11.08", msg="GCC version must be at least 9.0!") diff --git a/var/spack/repos/builtin/packages/kaks-calculator/package.py b/var/spack/repos/builtin/packages/kaks-calculator/package.py index c82f20469c2ecf..520a388a2b7189 100644 --- a/var/spack/repos/builtin/packages/kaks-calculator/package.py +++ b/var/spack/repos/builtin/packages/kaks-calculator/package.py @@ -17,6 +17,8 @@ class KaksCalculator(MakefilePackage, SourceforgePackage): version("2.0", sha256="e2df719a2fecc549d8ddc4e6d8f5cfa4b248282dca319c1928eaf886d68ec3c5") + depends_on("cxx", type="build") # generated + build_directory = "src" def url_for_version(self, version): diff --git a/var/spack/repos/builtin/packages/kaldi/package.py b/var/spack/repos/builtin/packages/kaldi/package.py index 9e0d6bee9c2f4d..0f115e244fffda 100644 --- a/var/spack/repos/builtin/packages/kaldi/package.py +++ b/var/spack/repos/builtin/packages/kaldi/package.py @@ -29,6 +29,8 @@ class Kaldi(Package): # Does not use Autotools version("2018-07-11", commit="6f2140b032b0108bc313eefdca65151289642773") version("2015-10-07", commit="c024e8aa0a727bf76c91a318f76a1f8b0b59249e") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="build shared libraries") variant("double", default=False, description="build with double precision floats") variant("cuda", default=False, description="build with CUDA") diff --git a/var/spack/repos/builtin/packages/kalign/package.py b/var/spack/repos/builtin/packages/kalign/package.py index a4c0632c083198..f9b0895dc15ca0 100644 --- a/var/spack/repos/builtin/packages/kalign/package.py +++ b/var/spack/repos/builtin/packages/kalign/package.py @@ -17,6 +17,9 @@ class Kalign(AutotoolsPackage, CMakePackage): version("3.4.0", sha256="67d1a562d54b3b7622cc3164588c05b9e2bf8f1a5140bb48a4e816c61a87d4a8") version("3.3.1", sha256="7f10acf9a3fa15deabbc0304e7c14efa25cea39108318c9f02b47257de2d7390") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + build_system( conditional("cmake", when="@3.4.0:"), conditional("autotools", when="@3.3.1"), diff --git a/var/spack/repos/builtin/packages/kallisto/package.py b/var/spack/repos/builtin/packages/kallisto/package.py index a0cba6850c066f..21fbdbe7c2db3d 100644 --- a/var/spack/repos/builtin/packages/kallisto/package.py +++ b/var/spack/repos/builtin/packages/kallisto/package.py @@ -15,12 +15,17 @@ class Kallisto(CMakePackage): license("BSD-2-Clause") + version("0.50.1", sha256="030752bab3b0e33cd3f23f6d8feddd74194e5513532ffbf23519e84db2a86d34") version("0.48.0", sha256="1797ac4d1f0771e3f1f25dd7972bded735fcb43f853cf52184d3d9353a6269b0") version("0.46.2", sha256="c447ca8ddc40fcbd7d877d7c868bc8b72807aa8823a8a8d659e19bdd515baaf2") version("0.43.1", sha256="7baef1b3b67bcf81dc7c604db2ef30f5520b48d532bf28ec26331cb60ce69400") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # HDF5 support is optional beginning with version 0.46.2. variant("hdf5", when="@0.46.2:", default=False, description="Build with HDF5 support") + variant("bam", when="@0.50.1:", default=False, description="Build with htslib support") depends_on("zlib-api") depends_on("hdf5", when="@:0.43") @@ -38,7 +43,7 @@ class Kallisto(CMakePackage): patch("link_zlib.patch", when="@:0.43") patch("limits.patch", when="@:0.46") - patch("htslib_configure.patch", when="@0.44.0:^autoconf@2.70:") + patch("htslib_configure.patch", when="@0.44.0:0.48.0^autoconf@2.70:") @run_before("cmake") def autoreconf(self): @@ -54,17 +59,9 @@ def autoreconf(self): # configure script. # See https://github.com/spack/spack/issues/15274 and # https://github.com/pachterlab/kallisto/issues/253 - @property - def std_cmake_args(self): - """Call the original std_cmake_args and then filter the verbose - setting. - """ - a = super().std_cmake_args - if self.spec.satisfies("@0.44.0:"): - args = [i for i in a if i != "-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON"] - if self.spec.satisfies("@0.46.2:"): - args.append(self.define_from_variant("USE_HDF5", "hdf5")) - else: - args = a - - return args + def cmake_args(self): + return [ + self.define("CMAKE_VERBOSE_MAKEFILE", False), + self.define_from_variant("USE_HDF5", "hdf5"), + self.define_from_variant("USE_BAM", "bam"), + ] diff --git a/var/spack/repos/builtin/packages/kassiopeia/package.py b/var/spack/repos/builtin/packages/kassiopeia/package.py index 17adf4970f587b..e6912a446c1758 100644 --- a/var/spack/repos/builtin/packages/kassiopeia/package.py +++ b/var/spack/repos/builtin/packages/kassiopeia/package.py @@ -32,6 +32,9 @@ class Kassiopeia(CMakePackage): version("3.5.0", sha256="b704d77bd182b2806dc8323f642d3197ce21dba3d456430f594b19a7596bda22") version("3.4.0", sha256="4e2bca61011e670186d49048aea080a06c3c95dacf4b79e7549c36960b4557f4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("root", default=False, description="Include support for writing ROOT files") variant("vtk", default=False, description="Include visualization support through VTK") variant("mpi", default=False, description="Include MPI support for field calculations") diff --git a/var/spack/repos/builtin/packages/kbd/package.py b/var/spack/repos/builtin/packages/kbd/package.py index 561f5ae57bc35e..991bdad6d80be5 100644 --- a/var/spack/repos/builtin/packages/kbd/package.py +++ b/var/spack/repos/builtin/packages/kbd/package.py @@ -20,6 +20,8 @@ class Kbd(AutotoolsPackage): version("2.2.90", sha256="a310a915f474c85ee28cd860677a34a529aca940daa44634a428dd6df58c196e") version("2.2.0", sha256="5dec023c7a05b4d11d8ae795f59fab2b0bacfcc5c20a3d534dc7566cfe47ccf7") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/kcov/package.py b/var/spack/repos/builtin/packages/kcov/package.py index b01ba7e25ed3da..4bf45f3f9883af 100644 --- a/var/spack/repos/builtin/packages/kcov/package.py +++ b/var/spack/repos/builtin/packages/kcov/package.py @@ -24,6 +24,9 @@ class Kcov(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8.4:", type="build") depends_on("zlib-api") depends_on("curl") diff --git a/var/spack/repos/builtin/packages/kdiff3/package.py b/var/spack/repos/builtin/packages/kdiff3/package.py index 3dc83d23b0c05d..931bae44f6f987 100644 --- a/var/spack/repos/builtin/packages/kdiff3/package.py +++ b/var/spack/repos/builtin/packages/kdiff3/package.py @@ -16,6 +16,8 @@ class Kdiff3(Package): version("0.9.98", sha256="802c1ababa02b403a5dca15955c01592997116a24909745016931537210fd668") + depends_on("cxx", type="build") # generated + depends_on("qt@:4,5.2.0:") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/kea/package.py b/var/spack/repos/builtin/packages/kea/package.py index 58d7e5e5fa868e..1adaa997a5481b 100644 --- a/var/spack/repos/builtin/packages/kea/package.py +++ b/var/spack/repos/builtin/packages/kea/package.py @@ -17,6 +17,8 @@ class Kea(AutotoolsPackage): version("1.6.2", sha256="2af7336027143c3e98d8d1d44165b2c2cbb0252a92bd88f6dd4d2c6adb69d7b5") + depends_on("cxx", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/kealib/package.py b/var/spack/repos/builtin/packages/kealib/package.py index f7691cfc83848e..2939c85d73bced 100644 --- a/var/spack/repos/builtin/packages/kealib/package.py +++ b/var/spack/repos/builtin/packages/kealib/package.py @@ -44,6 +44,8 @@ class Kealib(CMakePackage): version("1.4.8", sha256="0f24d8478865abcb17865c8f49c0370095726c529b8ac373ffae018ad3d40a02") version("1.4.7", sha256="ec38751b3b555d3a26f0c7445f2d2cd9d7c3a3502237519a206a50cb58df56ec") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.5:", type="build") depends_on("hdf5+cxx+hl", when="@:1.5.1") depends_on("hdf5+cxx", when="@1.5.2:") diff --git a/var/spack/repos/builtin/packages/keepalived/package.py b/var/spack/repos/builtin/packages/keepalived/package.py index e7f2333d1d7de8..757111350a1cf4 100644 --- a/var/spack/repos/builtin/packages/keepalived/package.py +++ b/var/spack/repos/builtin/packages/keepalived/package.py @@ -27,6 +27,8 @@ class Keepalived(AutotoolsPackage): version("2.0.12", sha256="fd50e433d784cfd948de5726752cf89ab7001f587fe10a5110c6c7cbda4b7b5e") version("2.0.11", sha256="a298b0c02a20959cfc365b62c14f45abd50d5e0595b2869f5bce10ec2392fa48") + depends_on("c", type="build") # generated + depends_on("openssl") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/keepassxc/package.py b/var/spack/repos/builtin/packages/keepassxc/package.py index e22aeaa1a4ce0d..455bf1841b69f1 100644 --- a/var/spack/repos/builtin/packages/keepassxc/package.py +++ b/var/spack/repos/builtin/packages/keepassxc/package.py @@ -25,6 +25,9 @@ class Keepassxc(CMakePackage): version("2.6.6", sha256="3603b11ac39b289c47fac77fa150e05fd64b393d8cfdf5732dc3ef106650a4e2") version("2.6.4", sha256="e536e2a71c90fcf264eb831fb1a8b518ee1b03829828f862eeea748d3310f82b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("autotype", default=False, description="enable auto-type") variant("docs", default=True, description="Build documentation") diff --git a/var/spack/repos/builtin/packages/kentutils/fix-mysql-options-gcc13.patch b/var/spack/repos/builtin/packages/kentutils/fix-mysql-options-gcc13.patch new file mode 100644 index 00000000000000..f0a799d3060f85 --- /dev/null +++ b/var/spack/repos/builtin/packages/kentutils/fix-mysql-options-gcc13.patch @@ -0,0 +1,13 @@ +diff --git a/jksql.c.orig b/jksql.c +index bf38b3b..69b2c42 100644 +--- a/kent/src/hg/lib/jksql.c ++++ b/kent/src/hg/lib/jksql.c +@@ -1129,7 +1129,7 @@ mysql_options(conn, MYSQL_OPT_LOCAL_INFILE, NULL); + if (sp->verifyServerCert && !sameString(sp->verifyServerCert,"0")) + { + #if !defined(MARIADB_VERSION_ID) && MYSQL_VERSION_ID >= 80000 +- mysql_options(conn, MYSQL_OPT_SSL_MODE, SSL_MODE_REQUIRED); ++ mysql_options(conn, MYSQL_OPT_SSL_MODE, (void*) SSL_MODE_REQUIRED); + #else + my_bool flag = TRUE; + mysql_options(conn, MYSQL_OPT_SSL_VERIFY_SERVER_CERT, &flag); diff --git a/var/spack/repos/builtin/packages/kentutils/mysql-zlib-workaround.patch b/var/spack/repos/builtin/packages/kentutils/mysql-zlib-workaround.patch new file mode 100644 index 00000000000000..10a460d7810ebc --- /dev/null +++ b/var/spack/repos/builtin/packages/kentutils/mysql-zlib-workaround.patch @@ -0,0 +1,13 @@ +diff --git a/kent/src/inc/common.mk.orig b/kent/src/inc/common.mk +index 83803ad..8c90e3a 100644 +--- a/kent/src/inc/common.mk ++++ b/kent/src/inc/common.mk +@@ -226,6 +226,8 @@ ifeq (${ZLIB},) + ZLIB=-lz + endif + ++MYSQLLIBS := $(subst -lzlib,, ${MYSQLLIBS}) ++ + # on hgwdev, use the static libraries + ifeq (${IS_HGWDEV},yes) + FULLWARN = yes diff --git a/var/spack/repos/builtin/packages/kentutils/package.py b/var/spack/repos/builtin/packages/kentutils/package.py index 7757320c72d62c..d2838c9da62de9 100644 --- a/var/spack/repos/builtin/packages/kentutils/package.py +++ b/var/spack/repos/builtin/packages/kentutils/package.py @@ -3,39 +3,157 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os + from spack.package import * class Kentutils(MakefilePackage): - """Jim Kent command line bioinformatic utilities""" + """ + Jim Kent command line bioinformatic utilities and libraries + + This bundles a custom version of htslib, but can be overridden with ~htslib. + Consider adding the ^mysql+client_only dependency to avoid building all mysql/mariadb. + """ homepage = "https://genome.cse.ucsc.edu/" url = "https://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v453.src.tgz" - version("459", sha256="0b6e89a183e6385c713cf010a7aeead9da6626d8d2f78c363a4f1bc56ccccebb") - # The above archive only goes back to v305. v302 is left for now but deprecated. Suggest - # this is dropped on next update (v302 is from 2014!) and the `requires()` removed. + maintainers("teaguesterling") + + version("465", sha256="eef17b1f3182d1d9dc99b5c73a6b0468d5d3bd80470f25d3f7706cc1372e04b0") + version("464", sha256="24e20fe68e2a2894d802c87662f69a62f71b3c15fafb2e4d6c3c425c63638bb2") + version("460", sha256="b955e56ee880074521ef1ab1371491f47e66dc6fdd93b05328386dd675a635fa") + version("455", sha256="e458cadad7c4a5c1b8385edafffa1b29380ac725a0c20535bf5a3bab99fe80db") + # This version isn't present in the archive any more + # Might be worth changing url to: https://github.com/ucscGenomeBrowser/kent-core/tags/... version( - "302.1", - commit="d8376c5d52a161f2267346ed3dc94b5dce74c2f9", - git="https://github.com/ENCODE-DCC/kentUtils.git", + "459", + sha256="0b6e89a183e6385c713cf010a7aeead9da6626d8d2f78c363a4f1bc56ccccebb", deprecated=True, ) - depends_on("libpng") - depends_on("openssl") - depends_on("libuuid") - depends_on("mariadb") - depends_on("zlib-api") - depends_on("freetype") - depends_on("libiconv") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + + # The bundled version of kentlib has some custom changes that are used by parts of + # kentlib. See https://github.com/spack/spack/pull/44501#issuecomment-2162789410 + # for some additional details. A built-in version SHOULD work for most things though. + variant( + "builtin_htslib", + default=False, + description="Build with bundled htslib (using an external htslib may lead to errors)", + sticky=True, + ) + + with default_args(type=("build", "link", "run")): + depends_on("libpng") + depends_on("openssl") + depends_on("uuid") + depends_on("mysql-client") + depends_on("zlib-api") + depends_on("freetype") + depends_on("libiconv") + depends_on("htslib+pic", when="~builtin_htslib") + + # The bgzip.c bug present in other packages is present in kent/src/htslib/bgzf.c + # Conflicting line: assert(compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE); + # We can patch this by removing the assertion, but there are still performance issues + # See: https://github.com/samtools/htslib/issues/1257 + conflicts("zlib-ng") + + # Does not add a link to mysql_config, which is required for compilation + conflicts("mariadb-c-client") - requires("%gcc", when="@302.1") + # MySQL pointer/integer conversion issue (https://github.com/ucscGenomeBrowser/kent/pull/87) + patch("fix-mysql-options-gcc13.patch", when="%gcc@13: ^mysql") + # MySQL build flags from `mysql_config` are not compatible with Spack's method of building + # and includes zlib when it's not needed/available, leading to a linking failure. + patch("mysql-zlib-workaround.patch", when="%gcc ^mysql") def flag_handler(self, name, flags): - if name == "ldflags": + if name == "cflags": + flags.append(self.compiler.cc_pic_flag) + elif name == "ldflags": flags.append(f'{self.spec["libiconv"].libs.ld_flags}') return (flags, None, None) + @property + def machtype(self): + # This is hard-coded in the Makefile and included here for reference + # and to make it adjustable if we need to adjust this in the future + return "local" + + @property + def headers(self): + headers = [] + headers.extend(find_headers("*", self.prefix.inc, recursive=True)) + if self.spec.satisfies("+builtin_htslib"): + headers.extend(find_headers("*", self.prefix.htslib, recursive=True)) + return HeaderList(headers) + + @property + def libs(self): + return LibraryList([join_path(self.prefix, lib) for lib in self.local_libs]) + + @property + def local_libs(self): + libs = [ + f"lib/{self.machtype}/jkweb.a", + f"lib/{self.machtype}/jkOwnLib.a", + f"lib/{self.machtype}/jkhgap.a", + f"lib/{self.machtype}/jkhgapcgi.a", + f"hg/altSplice/lib/{self.machtype}/libSpliceGraph.a", + ] + if self.spec.satisfies("+builtin_htslib"): + libs.append("htslib/libhts.a") + return LibraryList(libs) + + @property + def lib_dir(self): + return join_path(self.prefix.lib, self.machtype) + + @property + def htslib_include_dir(self): + if self.spec.satisfies("~builtin_htslib"): + # If we're not using the bundled version, just defer to htslib + return self.spec["htslib"].prefix.include + else: + # In the event we're using the bundled htslib, the htslib + # headers live in a different part of the installed tree + return self.prefix.htslib + + # Packages that link to kentlib (and potential, htslib) often have + # idiosyncratic ways of setting up their includes and linker paths. + # Having these paths available will make things cleaner downstream. + def setup_dependent_package(self, module, dep_spec): + setattr(module, "kentutils_include_dir", self.prefix.inc) + setattr(module, "kentutils_lib_dir", self.lib_dir) + setattr(module, "kentutils_htslib_include_dir", self.htslib_include_dir) + + def install_libs_from_stage(self, spec, prefix): + # Dependent packages expect things in the source tree, but we don't + # want to copy all of the compilation artifacts in so we'll do them + # manually instead of leaving the build directory around + + src_prefix = "kent/src" + + def install_kent(path, tree): + src = join_path(src_prefix, path) + dest = join_path(prefix, path) + mkdirp(os.path.dirname(dest)) + if tree: + install_tree(src, dest) + else: + install(src, dest) + + install_kent("inc", tree=True) + if spec.satisfies("+builtin_htslib"): + install_kent("htslib/htslib", tree=True) + + for lib in self.local_libs: + install_kent(lib, tree=False) + def install(self, spec, prefix): install_tree("bin", prefix.bin) + self.install_libs_from_stage(spec, prefix) diff --git a/var/spack/repos/builtin/packages/keyutils/package.py b/var/spack/repos/builtin/packages/keyutils/package.py index 45fbb4de5beeb6..6278778e2e4c09 100644 --- a/var/spack/repos/builtin/packages/keyutils/package.py +++ b/var/spack/repos/builtin/packages/keyutils/package.py @@ -21,6 +21,8 @@ class Keyutils(MakefilePackage): version("1.5.10", sha256="e1fdbde234c786b65609a4cf080a2c5fbdb57f049249c139160c85fc3dfa7da9") version("1.5.9", sha256="2dc0bdb099ab8331e02e5dbbce320359bef76eda0a4ddbd2ba1d1b9d3a8cdff8") + depends_on("c", type="build") # generated + conflicts("platform=darwin", msg="Linux-only") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/khmer/package.py b/var/spack/repos/builtin/packages/khmer/package.py index c93b4fbacd5cc6..7c5dd928330a3f 100644 --- a/var/spack/repos/builtin/packages/khmer/package.py +++ b/var/spack/repos/builtin/packages/khmer/package.py @@ -17,6 +17,9 @@ class Khmer(PythonPackage): version("2.1.1", sha256="a709606910bb8679bd8525e9d2bf6d1421996272e343b54cc18090feb2fdbe24") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # https://github.com/dib-lab/khmer/pull/1922 ... conflicts("^python@3.12:") diff --git a/var/spack/repos/builtin/packages/kibana/package.py b/var/spack/repos/builtin/packages/kibana/package.py index 266a79685432d5..bbf8146ec2fb01 100644 --- a/var/spack/repos/builtin/packages/kibana/package.py +++ b/var/spack/repos/builtin/packages/kibana/package.py @@ -15,6 +15,8 @@ class Kibana(Package): version("6.4.0", sha256="df2056105a08c206a1adf9caed09a152a53429a0f1efc1ba3ccd616092d78aee") + depends_on("cxx", type="build") # generated + depends_on("java", type="run") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/kicad/package.py b/var/spack/repos/builtin/packages/kicad/package.py index 81db728ecc0400..be431d8a0eafe7 100644 --- a/var/spack/repos/builtin/packages/kicad/package.py +++ b/var/spack/repos/builtin/packages/kicad/package.py @@ -22,6 +22,9 @@ class Kicad(CMakePackage): version("5.1.9", sha256="841be864b9dc5c761193c3ee9cbdbed6729952d7b38451aa8e1977bdfdb6081b") version("5.1.8", sha256="bf24f8ef427b4a989479b8e4af0b8ae5c54766755f12748e2e88a922c5344ca4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("wxwidgets") depends_on("python@3:", type=("build", "run")) # py-wxpython needs work diff --git a/var/spack/repos/builtin/packages/kim-api/package.py b/var/spack/repos/builtin/packages/kim-api/package.py index 812b4f39e46729..bbe6f3a8cd2532 100644 --- a/var/spack/repos/builtin/packages/kim-api/package.py +++ b/var/spack/repos/builtin/packages/kim-api/package.py @@ -39,6 +39,10 @@ class KimApi(CMakePackage): version("2.1.1", sha256="25c4e83c6caa83a1c4ad480b430f1926fb44813b64f548fdaedc45e310b5f6b9") version("2.1.0", sha256="d6b154b31b288ec0a5643db176950ed71f1ca83a146af210a1d5d01cce8ce958") version("2.0.2", sha256="26e7cf91066692f316b8ba1548ccb7152bf56aad75902bce2338cff53e74e63d") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated # The Fujitsu compiler requires the '--linkfortran' # option to combine C++ and Fortran programs. patch("fujitsu_add_link_flags.patch", when="%fj") diff --git a/var/spack/repos/builtin/packages/kineto/package.py b/var/spack/repos/builtin/packages/kineto/package.py index 4c174114003c6a..5aa1c15faa347e 100644 --- a/var/spack/repos/builtin/packages/kineto/package.py +++ b/var/spack/repos/builtin/packages/kineto/package.py @@ -26,6 +26,8 @@ class Kineto(CMakePackage): "2021-02-04", commit="258d9a471f8d3a50a0f52b85c3fe0902f65489df", submodules=True ) # py-torch@1.8.0 + depends_on("cxx", type="build") # generated + root_cmakelists_dir = "libkineto" generator("ninja") diff --git a/var/spack/repos/builtin/packages/kitty/package.py b/var/spack/repos/builtin/packages/kitty/package.py index 8ff092a50ba22e..b9e65e5bb0c351 100644 --- a/var/spack/repos/builtin/packages/kitty/package.py +++ b/var/spack/repos/builtin/packages/kitty/package.py @@ -32,6 +32,8 @@ class Kitty(Package): version("0.10.1", sha256="ef22208497a76e2f88ebe56c176e4608f049b056252cf1bf122c9c1ec711cfa6") version("0.10.0", sha256="056563862c5759b740e95efff44b82c1a4efc370092f22f26aee0b774106bf4d") + depends_on("c", type="build") # generated + depends_on("python@3.5:", type=("build", "run")) depends_on("harfbuzz@1.5.0:") depends_on("libxkbcommon@0.5:") diff --git a/var/spack/repos/builtin/packages/kmergenie/package.py b/var/spack/repos/builtin/packages/kmergenie/package.py index 962042f5a8904f..f1eae61f16816e 100644 --- a/var/spack/repos/builtin/packages/kmergenie/package.py +++ b/var/spack/repos/builtin/packages/kmergenie/package.py @@ -17,6 +17,8 @@ class Kmergenie(MakefilePackage): version("1.7051", sha256="13148e5a2c700359cffca363b66ffa8f23c5db6af6eec03f739139ffdfee763f") version("1.7044", sha256="46f2a08a2d7b1885414143e436829dd7e61fcc31ec4e429433e516a168d2978e") + depends_on("cxx", type="build") # generated + depends_on("python", type=("build", "run")) depends_on("py-setuptools", type=("build", "run")) depends_on("r", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/kmod/package.py b/var/spack/repos/builtin/packages/kmod/package.py index 3c0d1a2c15d876..b017ff986b0317 100644 --- a/var/spack/repos/builtin/packages/kmod/package.py +++ b/var/spack/repos/builtin/packages/kmod/package.py @@ -22,6 +22,8 @@ class Kmod(AutotoolsPackage): version("24", sha256="f7a5ee07d4901c87711880536604de7e31c182d85a72de7b8d7dd04d4ee0aa59") version("23", sha256="8f139543d82e8ccc2227dec4c016d6656e9789365a6dce73f90b620a53e62ee6") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/knem/package.py b/var/spack/repos/builtin/packages/knem/package.py index ae6713cd3d1709..e3db858ff5b7cd 100644 --- a/var/spack/repos/builtin/packages/knem/package.py +++ b/var/spack/repos/builtin/packages/knem/package.py @@ -29,6 +29,8 @@ class Knem(AutotoolsPackage): url="https://gitlab.inria.fr/knem/knem/uploads/59375c38537e6ff2d94209f190c54aa6/knem-1.1.3.tar.gz", ) + depends_on("c", type="build") # generated + variant("hwloc", default=True, description="Enable hwloc in the user-space tools") patch( diff --git a/var/spack/repos/builtin/packages/kokkos-kernels-legacy/package.py b/var/spack/repos/builtin/packages/kokkos-kernels-legacy/package.py index c0582f19560fa9..9ade1c168a083f 100644 --- a/var/spack/repos/builtin/packages/kokkos-kernels-legacy/package.py +++ b/var/spack/repos/builtin/packages/kokkos-kernels-legacy/package.py @@ -29,6 +29,8 @@ class KokkosKernelsLegacy(MakefilePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + # make sure kokkos kernels version matches kokkos depends_on("kokkos-legacy@2.5.00", when="@2.5.00") depends_on("kokkos-legacy@2.6.00", when="@2.6.00") diff --git a/var/spack/repos/builtin/packages/kokkos-kernels/package.py b/var/spack/repos/builtin/packages/kokkos-kernels/package.py index 590bfffccad6ce..3079888c360bc7 100644 --- a/var/spack/repos/builtin/packages/kokkos-kernels/package.py +++ b/var/spack/repos/builtin/packages/kokkos-kernels/package.py @@ -46,6 +46,8 @@ class KokkosKernels(CMakePackage, CudaPackage): version("3.1.00", sha256="27fea241ae92f41bd5b070b1a590ba3a56a06aca750207a98bea2f64a4a40c89") version("3.0.00", sha256="e4b832aed3f8e785de24298f312af71217a26067aea2de51531e8c1e597ef0e6") + depends_on("cxx", type="build") # generated + depends_on("kokkos") depends_on("kokkos@master", when="@master") depends_on("kokkos@develop", when="@develop") diff --git a/var/spack/repos/builtin/packages/kokkos-legacy/package.py b/var/spack/repos/builtin/packages/kokkos-legacy/package.py index fb1a005a70016f..a9c9a7706ebcd0 100644 --- a/var/spack/repos/builtin/packages/kokkos-legacy/package.py +++ b/var/spack/repos/builtin/packages/kokkos-legacy/package.py @@ -87,6 +87,9 @@ class KokkosLegacy(Package): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("debug", default=False, description="Build debug version of Kokkos") variant("serial", default=True, description="enable Serial backend (default)") diff --git a/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py b/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py index 2f2d5a14ec8a60..def599eda3d6c0 100644 --- a/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py +++ b/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py @@ -46,6 +46,10 @@ class KokkosNvccWrapper(Package): version("master", branch="master") version("develop", branch="develop") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cuda") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/kokkos/package.py b/var/spack/repos/builtin/packages/kokkos/package.py index 50994a74ab317c..8b7efad300facd 100644 --- a/var/spack/repos/builtin/packages/kokkos/package.py +++ b/var/spack/repos/builtin/packages/kokkos/package.py @@ -50,6 +50,10 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage): version("3.1.00", sha256="b935c9b780e7330bcb80809992caa2b66fd387e3a1c261c955d622dae857d878") version("3.0.00", sha256="c00613d0194a4fbd0726719bbed8b0404ed06275f310189b3493f5739042a92b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@3.16:", type="build") conflicts("cmake@3.28", when="@:4.2.01 +cuda") diff --git a/var/spack/repos/builtin/packages/kraken/package.py b/var/spack/repos/builtin/packages/kraken/package.py index 6bfaef69c93f60..806e3d29da4d4b 100644 --- a/var/spack/repos/builtin/packages/kraken/package.py +++ b/var/spack/repos/builtin/packages/kraken/package.py @@ -21,6 +21,8 @@ class Kraken(Package): version("1.1.1", sha256="73e48f40418f92b8cf036ca1da727ca3941da9b78d4c285b81ba3267326ac4ee") version("1.0", sha256="bade6d83233c26226d02bd427fe0a4d6cd6dc5c0300927e30d41e885a478c378") + depends_on("cxx", type="build") # generated + depends_on("perl", type=("build", "run")) # Does NOT support JELLYFISH 2.0. Ver 1.1.11 is the last version of # JELLYFISH 1. diff --git a/var/spack/repos/builtin/packages/kraken2/package.py b/var/spack/repos/builtin/packages/kraken2/package.py index efe7513656cdc3..5a41bff18ccd80 100644 --- a/var/spack/repos/builtin/packages/kraken2/package.py +++ b/var/spack/repos/builtin/packages/kraken2/package.py @@ -32,6 +32,8 @@ class Kraken2(Package): "2.0.6-beta", sha256="d77db6251179c4d7e16bc9b5e5e9043d25acf81f3e32ad6eadfba829a31e1d09" ) + depends_on("cxx", type="build") # generated + depends_on("perl", type=("build", "run")) depends_on("rsync", type=("run")) depends_on("wget", type=("run")) diff --git a/var/spack/repos/builtin/packages/krakenuniq/package.py b/var/spack/repos/builtin/packages/krakenuniq/package.py index c4610dac2f2bf5..53d8b865bdc33a 100644 --- a/var/spack/repos/builtin/packages/krakenuniq/package.py +++ b/var/spack/repos/builtin/packages/krakenuniq/package.py @@ -25,6 +25,8 @@ class Krakenuniq(Package): version("0.5.5", sha256="645f4387a59638526dededacd5104abc1b325c020d5e4c136b902f1167fc4fd5") version("0.5.3", sha256="bc57fd4d5f50363aef640d61b2b111d9bef84a32e9a4eebfb977812cb8dc0250") + depends_on("cxx", type="build") # generated + variant("jellyfish", default=False, description="Install jellyfish v1.1.") depends_on("bzip2") diff --git a/var/spack/repos/builtin/packages/krb5/package.py b/var/spack/repos/builtin/packages/krb5/package.py index 4e61c6f46e5caa..4bcad9701a173a 100644 --- a/var/spack/repos/builtin/packages/krb5/package.py +++ b/var/spack/repos/builtin/packages/krb5/package.py @@ -33,6 +33,9 @@ class Krb5(AutotoolsPackage): version("1.16.2", sha256="9f721e1fe593c219174740c71de514c7228a97d23eb7be7597b2ae14e487f027") version("1.16.1", sha256="214ffe394e3ad0c730564074ec44f1da119159d94281bbec541dc29168d21117") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("diffutils", type="build") depends_on("bison", type="build") depends_on("openssl@:1", when="@:1.19") diff --git a/var/spack/repos/builtin/packages/krims/package.py b/var/spack/repos/builtin/packages/krims/package.py index 3d07b1a5b6e5f2..17ba1149a48d7e 100644 --- a/var/spack/repos/builtin/packages/krims/package.py +++ b/var/spack/repos/builtin/packages/krims/package.py @@ -23,6 +23,8 @@ class Krims(CMakePackage): version("develop", branch="master") version("0.2.1", sha256="baac8de392e6c2a73a535f71596f51d4a80a08d9c0ecbf9a2d72d1d70dd17999") + depends_on("cxx", type="build") # generated + # # Variants # diff --git a/var/spack/repos/builtin/packages/kripke/001-remove-googletest-from-cmake.patch b/var/spack/repos/builtin/packages/kripke/001-remove-googletest-from-cmake.patch new file mode 100644 index 00000000000000..9e54cedc6abc3e --- /dev/null +++ b/var/spack/repos/builtin/packages/kripke/001-remove-googletest-from-cmake.patch @@ -0,0 +1,25 @@ + +m aa630efbd686c8581bb893b512dbf1613e1e574d Mon Sep 17 00:00:00 2001 +From: Afzal Patel +Date: Thu, 20 Jun 2024 18:40:02 +0000 +Subject: [PATCH] Comment out googletest folder + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2f9bff0..3059e26 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -64,7 +64,7 @@ endif() + # + # Add googletest (needed by RAJA, etc) + # +-add_subdirectory(tpl/googletest) ++# add_subdirectory(tpl/googletest) + + + # +-- +2.31.1 diff --git a/var/spack/repos/builtin/packages/kripke/package.py b/var/spack/repos/builtin/packages/kripke/package.py index 87a31c896c06c8..7bd6c2dc7c7242 100644 --- a/var/spack/repos/builtin/packages/kripke/package.py +++ b/var/spack/repos/builtin/packages/kripke/package.py @@ -21,6 +21,15 @@ class Kripke(CMakePackage, CudaPackage, ROCmPackage): license("BSD-3-Clause") version("develop", branch="develop", submodules=False) + version( + "1.2.7", submodules=True, tag="v1.2.7", commit="ddcac43cdad999f0346eb682065ef0af1847029d" + ) + version( + "1.2.6", submodules=True, tag="v1.2.6", commit="55b39f34b68c68b2d828a33a75568abd66e1019f" + ) + version( + "1.2.5", submodules=True, tag="v1.2.5", commit="20e9ea975f1bf567829323a18927b69bed3f4ebd" + ) version( "1.2.4", submodules=False, tag="v1.2.4", commit="d85c6bc462f17a2382b11ba363059febc487f771" ) @@ -46,6 +55,10 @@ class Kripke(CMakePackage, CudaPackage, ROCmPackage): commit="67e4b0a2f092009d61f44b5122111d388a3bec2a", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Build with MPI.") variant("openmp", default=False, description="Build with OpenMP enabled.") variant("caliper", default=False, description="Build with Caliper support enabled.") @@ -55,10 +68,26 @@ class Kripke(CMakePackage, CudaPackage, ROCmPackage): depends_on("caliper", when="+caliper") depends_on("adiak@0.4:", when="+caliper") depends_on("chai~examples+raja") - depends_on("raja~exercises~examples") + depends_on("raja@:2024.02.1~exercises~examples") depends_on("umpire~examples") + + with when("+rocm @1.2.5:"): + depends_on("raja+rocm", when="+rocm") + depends_on("chai+rocm", when="+rocm") + for arch in ROCmPackage.amdgpu_targets: + depends_on( + "raja+rocm amdgpu_target={0}".format(arch), when="amdgpu_target={0}".format(arch) + ) + depends_on( + "chai+rocm amdgpu_target={0}".format(arch), when="amdgpu_target={0}".format(arch) + ) + conflicts("^blt@:0.3.6", when="+rocm") + # googletest folder version hasn't been updated in over 5 years + # and is commented out in later releases + patch("001-remove-googletest-from-cmake.patch", when="@1.2.5:1.2.6") + def cmake_args(self): spec = self.spec args = [] @@ -85,6 +114,7 @@ def cmake_args(self): # Set up the hip macros needed by the build args.append("-DENABLE_HIP=ON") args.append("-DHIP_ROOT_DIR={0}".format(spec["hip"].prefix)) + args.append(self.define("CMAKE_CXX_COMPILER", self.spec["hip"].hipcc)) rocm_archs = spec.variants["amdgpu_target"].value if "none" not in rocm_archs: args.append("-DHIP_HIPCC_FLAGS=--amdgpu-target={0}".format(",".join(rocm_archs))) @@ -113,4 +143,7 @@ def install(self, spec, prefix): # Kripke does not provide install target, so we have to copy # things into place. mkdirp(prefix.bin) - install(join_path(self.build_directory, "kripke.exe"), prefix.bin) + if spec.satisfies("@:1.2.4") or spec.satisfies("@1.2.7:"): + install(join_path(self.build_directory, "kripke.exe"), prefix.bin) + else: + install(join_path(self.build_directory, "bin", "kripke.exe"), prefix.bin) diff --git a/var/spack/repos/builtin/packages/kubectl/package.py b/var/spack/repos/builtin/packages/kubectl/package.py index 786a948c816529..b36f26f37ad256 100644 --- a/var/spack/repos/builtin/packages/kubectl/package.py +++ b/var/spack/repos/builtin/packages/kubectl/package.py @@ -21,6 +21,8 @@ class Kubectl(Package): version("1.27.1", sha256="3a3f7c6b8cf1d9f03aa67ba2f04669772b1205b89826859f1636062d5f8bec3f") version("1.27.0", sha256="536025dba2714ee5e940bb0a6b1df9ca97c244fa5b00236e012776a69121c323") + depends_on("c", type="build") # generated + depends_on("bash", type="build") depends_on("go", type="build") diff --git a/var/spack/repos/builtin/packages/kubernetes/package.py b/var/spack/repos/builtin/packages/kubernetes/package.py index 84ba7935c4da99..02be4abf8d01aa 100644 --- a/var/spack/repos/builtin/packages/kubernetes/package.py +++ b/var/spack/repos/builtin/packages/kubernetes/package.py @@ -40,6 +40,8 @@ class Kubernetes(Package): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("bash", type="build") depends_on("go", type="build") diff --git a/var/spack/repos/builtin/packages/kumi/package.py b/var/spack/repos/builtin/packages/kumi/package.py index 2ccd22dbbb9e36..45825157ac9452 100644 --- a/var/spack/repos/builtin/packages/kumi/package.py +++ b/var/spack/repos/builtin/packages/kumi/package.py @@ -21,3 +21,5 @@ class Kumi(CMakePackage): version("2.1", sha256="34fc756780d463db35716e40eecd89b1505917926281262c74af425556a5260c") version("2.0", sha256="c9f2d2014d3513c57db4457c5a678c7adce1fa9bd061ee008847876f06dac355") version("1.0", sha256="d28be244e326b1c9f1651b47728af74bb6be80a7accd39f07441a246d49220f5") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/kvasir-mpl/package.py b/var/spack/repos/builtin/packages/kvasir-mpl/package.py index d1627d064c87b0..bd73a3be8fc505 100644 --- a/var/spack/repos/builtin/packages/kvasir-mpl/package.py +++ b/var/spack/repos/builtin/packages/kvasir-mpl/package.py @@ -17,5 +17,7 @@ class KvasirMpl(Package): version("develop", branch="development") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): install_tree("src", prefix.include) diff --git a/var/spack/repos/builtin/packages/kvtree/package.py b/var/spack/repos/builtin/packages/kvtree/package.py index 8bc4eda6d2bda3..a7d091f23fc16f 100644 --- a/var/spack/repos/builtin/packages/kvtree/package.py +++ b/var/spack/repos/builtin/packages/kvtree/package.py @@ -28,6 +28,8 @@ class Kvtree(CMakePackage): version("1.0.3", sha256="c742cdb1241ef4cb13767019204d5350a3c4383384bed9fb66680b93ff44b0d4") version("1.0.2", sha256="56fb5b747758c24a907a8380e8748d296900d94de9547bc15f6b427ac4ae2ec4") + depends_on("c", type="build") # generated + depends_on("zlib-api", type="link") variant("mpi", default=True, description="Build with MPI message packing") diff --git a/var/spack/repos/builtin/packages/kylin/package.py b/var/spack/repos/builtin/packages/kylin/package.py index 623b23273e0e6c..4d4e3df591e387 100644 --- a/var/spack/repos/builtin/packages/kylin/package.py +++ b/var/spack/repos/builtin/packages/kylin/package.py @@ -23,4 +23,6 @@ class Kylin(MavenPackage): version("3.1.0", sha256="84073ff16a0dad6e0611fea9fbf2b977b6bac307107a222b7f576a3a3b712157") + depends_on("cxx", type="build") # generated + depends_on("java@8", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/kyotocabinet/package.py b/var/spack/repos/builtin/packages/kyotocabinet/package.py index 409fbc1532209e..684cbbd2d4fd30 100644 --- a/var/spack/repos/builtin/packages/kyotocabinet/package.py +++ b/var/spack/repos/builtin/packages/kyotocabinet/package.py @@ -18,6 +18,9 @@ class Kyotocabinet(AutotoolsPackage): version("1.2.80", sha256="4c85d736668d82920bfdbdb92ac3d66b7db1108f09581a769dd9160a02def349") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api@1.2.3:", type=("build", "link")) depends_on("lzo", type=("build", "link")) depends_on("xz", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/laghos/package.py b/var/spack/repos/builtin/packages/laghos/package.py index 270c78c831ea89..fb4277d20e8c14 100644 --- a/var/spack/repos/builtin/packages/laghos/package.py +++ b/var/spack/repos/builtin/packages/laghos/package.py @@ -30,6 +30,8 @@ class Laghos(MakefilePackage): version("1.1", sha256="53b9bfe2af263c63eb4544ca1731dd26f40b73a0d2775a9883db51821bf23b7f") version("1.0", sha256="af50a126355a41c758fcda335a43fdb0a3cd97e608ba51c485afda3dd84a5b34") + depends_on("cxx", type="build") # generated + variant("metis", default=True, description="Enable/disable METIS support") variant("ofast", default=False, description="Enable gcc optimization flags") diff --git a/var/spack/repos/builtin/packages/lame/package.py b/var/spack/repos/builtin/packages/lame/package.py index 3f0625c9737624..e48b203bb2958b 100644 --- a/var/spack/repos/builtin/packages/lame/package.py +++ b/var/spack/repos/builtin/packages/lame/package.py @@ -17,6 +17,9 @@ class Lame(AutotoolsPackage): version("3.100", sha256="ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("nasm", type="build") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/lammps-example-plugin/package.py b/var/spack/repos/builtin/packages/lammps-example-plugin/package.py new file mode 100644 index 00000000000000..729b29f732a018 --- /dev/null +++ b/var/spack/repos/builtin/packages/lammps-example-plugin/package.py @@ -0,0 +1,75 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +import datetime as dt + +from spack.package import * +from spack.pkg.builtin.lammps import Lammps + + +class LammpsExamplePlugin(CMakePackage): + """LAMMPS Example Plugin""" + + homepage = "https://www.lammps.org/" + url = "https://github.com/lammps/lammps/archive/patch_1Sep2017.tar.gz" + git = "https://github.com/lammps/lammps.git" + + maintainers("rbberger") + + license("GPL-2.0-only") + + # rules for new versions and deprecation + # * new stable versions should be added to stable_versions set + # * a stable version that has updates and any of its outdated update releases should be + # marked deprecated=True + # * patch releases older than a stable release should be marked deprecated=True + version("develop", branch="develop") + version("20240627", sha256="2174a99d266279823a8c57629ee1c21ec357816aefd85f964d9f859fe9222aa5") + version("20240417", sha256="158b288725c251fd8b30dbcf61749e0d6a042807da92af865a7d3c413efdd8ea") + version( + "20240207.1", sha256="3ba62c2a1ed463fceedf313a1c3ea2997994aa102379a8d35b525ea424f56776" + ) + version( + "20240207", + sha256="d518f32de4eb2681f2543be63926411e72072dd7d67c1670c090b5baabed98ac", + deprecated=True, + ) + version("20231121", sha256="704d8a990874a425bcdfe0245faf13d712231ba23f014a3ebc27bc14398856f1") + version( + "20230802.3", + sha256="6666e28cb90d3ff01cbbda6c81bdb85cf436bbb41604a87f2ab2fa559caa8510", + preferred=True, + ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + + def url_for_version(self, version): + split_ver = str(version).split(".") + vdate = dt.datetime.strptime(split_ver[0], "%Y%m%d") + if len(split_ver) < 2: + update = "" + else: + update = "_update{0}".format(split_ver[1]) + + return "https://github.com/lammps/lammps/archive/{0}_{1}{2}.tar.gz".format( + "stable" if str(version) in Lammps.stable_versions else "patch", + vdate.strftime("%d%b%Y").lstrip("0"), + update, + ) + + depends_on("lammps+plugin+lib") + + root_cmakelists_dir = "examples/plugins" + + def patch(self): + with open("examples/plugins/CMakeLists.txt", "a") as f: + print("include(GNUInstallDirs)", file=f) + print( + "install(TARGETS morse2plugin nve2plugin helloplugin zero2plugin morse2plugin" + "LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/lammps/plugins)", + file=f, + ) diff --git a/var/spack/repos/builtin/packages/lammps/package.py b/var/spack/repos/builtin/packages/lammps/package.py index 7d007d559f8c04..0be3ed6daaa344 100644 --- a/var/spack/repos/builtin/packages/lammps/package.py +++ b/var/spack/repos/builtin/packages/lammps/package.py @@ -29,6 +29,8 @@ class Lammps(CMakePackage, CudaPackage, ROCmPackage, PythonExtension): # marked deprecated=True # * patch releases older than a stable release should be marked deprecated=True version("develop", branch="develop") + version("20240627", sha256="2174a99d266279823a8c57629ee1c21ec357816aefd85f964d9f859fe9222aa5") + version("20240417", sha256="158b288725c251fd8b30dbcf61749e0d6a042807da92af865a7d3c413efdd8ea") version( "20240207.1", sha256="3ba62c2a1ed463fceedf313a1c3ea2997994aa102379a8d35b525ea424f56776" ) @@ -367,6 +369,10 @@ class Lammps(CMakePackage, CudaPackage, ROCmPackage, PythonExtension): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + stable_versions = { "20230802.3", "20230802.2", @@ -461,6 +467,7 @@ def url_for_version(self, version): "ml-pod": {"when": "@20221222:"}, "ml-rann": {"when": "@20210702:"}, "ml-snap": {"when": "@20210702:"}, + "ml-uf3": {"when": "@20240627:"}, "mliap": {"when": "@20200630:20210527"}, "mofff": {"when": "@20210702:"}, "molecule": {"default": True}, @@ -630,6 +637,8 @@ def url_for_version(self, version): depends_on("kokkos+deprecated_code+shared@3.0.00", when="@20200303+kokkos") depends_on("kokkos+shared@3.1:", when="@20200505:+kokkos") depends_on("kokkos@3.7.01:", when="@20230208: +kokkos") + depends_on("kokkos@4.3.00:", when="@20240417: +kokkos") + depends_on("kokkos@4.3.01:", when="@20240627: +kokkos") depends_on("adios2", when="+user-adios") depends_on("adios2", when="+adios") depends_on("plumed", when="+user-plumed") @@ -892,6 +901,14 @@ def setup_run_environment(self, env): else: env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib) env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib64) + if "+plugin" in self.spec: + env.prepend_path("LAMMPS_PLUGIN_PATH", self.prefix.lib.lammps.plugins) + env.prepend_path("LAMMPS_PLUGIN_PATH", self.prefix.lib64.lammps.plugins) + + @run_after("install") + def make_plugins_directories(self): + os.makedirs(self.prefix.lib.lammps.plugins, exist_ok=True) + os.makedirs(self.prefix.lib64.lammps.plugins, exist_ok=True) @run_after("install") def install_python(self): diff --git a/var/spack/repos/builtin/packages/landsfcutil/package.py b/var/spack/repos/builtin/packages/landsfcutil/package.py index a854f0b8594904..88386714056f1f 100644 --- a/var/spack/repos/builtin/packages/landsfcutil/package.py +++ b/var/spack/repos/builtin/packages/landsfcutil/package.py @@ -21,6 +21,8 @@ class Landsfcutil(CMakePackage): version("develop", branch="develop") version("2.4.1", sha256="831c5005a480eabe9a8542b4deec838c2650f6966863ea2711cc0cc5db51ca14") + depends_on("fortran", type="build") # generated + def setup_run_environment(self, env): for suffix in ("4", "d"): lib = find_libraries( diff --git a/var/spack/repos/builtin/packages/lapackpp/package.py b/var/spack/repos/builtin/packages/lapackpp/package.py index fcea2cc87574a8..c295cf716f6e1f 100644 --- a/var/spack/repos/builtin/packages/lapackpp/package.py +++ b/var/spack/repos/builtin/packages/lapackpp/package.py @@ -11,6 +11,7 @@ _versions = [ # LAPACK++, BLAS++ ["master", "master"], + ["2024.05.31", "2024.05.31"], ["2023.11.05", "2023.11.05"], ["2023.08.25", "2023.08.25"], ["2023.06.00", "2023.06.00"], @@ -36,6 +37,9 @@ class Lapackpp(CMakePackage, CudaPackage, ROCmPackage): license("BSD-3-Clause") version("master", branch="master") + version( + "2024.05.31", sha256="093646d492a4c2c6b4d7001effb559c80da7fa31fd5ba517a6d686ca8c78cd99" + ) version( "2023.11.05", sha256="9a505ef4e76504b6714cc19eb1b58939694f9ab51427a5bb915b016d615570ca" ) @@ -64,6 +68,8 @@ class Lapackpp(CMakePackage, CudaPackage, ROCmPackage): "2020.10.00", sha256="5f6ab3bd3794711818a3a50198efd29571520bf455e13ffa8ba50fa8376d7d1a" ) + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared library") variant("sycl", default=False, description="Build support for the SYCL backend") diff --git a/var/spack/repos/builtin/packages/last/package.py b/var/spack/repos/builtin/packages/last/package.py index bbc2e87a22df0e..a5419d8193c575 100644 --- a/var/spack/repos/builtin/packages/last/package.py +++ b/var/spack/repos/builtin/packages/last/package.py @@ -22,6 +22,9 @@ class Last(MakefilePackage): version("1282", commit="4368be912f4759e52b549940276f1adf087f489a") version("869", sha256="6371a6282bc1bb02a5e5013cc463625f2ce3e7746ff2ea0bdf9fe6b15605a67c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/lastz/package.py b/var/spack/repos/builtin/packages/lastz/package.py index 6f366e74b75762..d570d32c247a8d 100644 --- a/var/spack/repos/builtin/packages/lastz/package.py +++ b/var/spack/repos/builtin/packages/lastz/package.py @@ -19,6 +19,8 @@ class Lastz(MakefilePackage): version("1.04.03", sha256="c58ed8e37c4b0e82492b3a2b3e12447a3c40286fb8358906d19f10b0a713e9f4") version("1.04.00", sha256="a4c2c7a77430387e96dbc9f5bdc75874334c672be90f5720956c0f211abf9f5a") + depends_on("c", type="build") # generated + # Ref: https://github.com/lastz/lastz/commit/20aa14f483265b4eac97f25aca666c708b9655e4 patch("sequences.c.patch", when="@:1.04.03") diff --git a/var/spack/repos/builtin/packages/laszip/package.py b/var/spack/repos/builtin/packages/laszip/package.py index b6d5d763c3fb8f..30a2a58bbbb69d 100644 --- a/var/spack/repos/builtin/packages/laszip/package.py +++ b/var/spack/repos/builtin/packages/laszip/package.py @@ -16,3 +16,6 @@ class Laszip(CMakePackage): version("3.4.3", sha256="53f546a7f06fc969b38d1d71cceb1862b4fc2c4a0965191a0eee81a57c7b373d") version("3.4.1", sha256="5d9b0ffaf8b7319c2fa216da3f3f878bb8f4e5b4b14d2c154d441a351da2be37") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/latte/package.py b/var/spack/repos/builtin/packages/latte/package.py index ca5605f7248134..735d478a1dfe0b 100644 --- a/var/spack/repos/builtin/packages/latte/package.py +++ b/var/spack/repos/builtin/packages/latte/package.py @@ -23,6 +23,9 @@ class Latte(CMakePackage): version("1.2.1", sha256="a21dda5ebdcefa56e9ff7296d74ef03f89c200d2e110a02af7a84612668bf702") version("1.0.1", sha256="67b2957639ad8e36b69bc6ea9a13085183a881562af9ca6d2b90b412ff073789") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Build with mpi") variant("progress", default=False, description="Use progress for fast") variant("shared", default=True, description="Build shared libs") diff --git a/var/spack/repos/builtin/packages/launchmon/package.py b/var/spack/repos/builtin/packages/launchmon/package.py index 4ca7b03b1f8ae3..45f35f0eb30742 100644 --- a/var/spack/repos/builtin/packages/launchmon/package.py +++ b/var/spack/repos/builtin/packages/launchmon/package.py @@ -23,6 +23,9 @@ class Launchmon(AutotoolsPackage): ) version("1.0.2", sha256="1d301ccccfe0873efcd66da87ed5e4d7bafc560b00aee396d8a9365f53b3a33a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build", when="@master") depends_on("automake", type="build", when="@master") depends_on("libtool", type="build", when="@master") diff --git a/var/spack/repos/builtin/packages/lazygit/package.py b/var/spack/repos/builtin/packages/lazygit/package.py index e8feffcf2251f7..517dbb29842195 100644 --- a/var/spack/repos/builtin/packages/lazygit/package.py +++ b/var/spack/repos/builtin/packages/lazygit/package.py @@ -19,3 +19,5 @@ class Lazygit(GoPackage): version("0.41.0", sha256="f2176fa253588fe4b7118bf83f4316ae3ecb914ae1e99aad8c474e23cea49fb8") version("0.40.2", sha256="146bd63995fcf2f2373bbc2143b3565b7a2be49a1d4e385496265ac0f69e4128") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/lazyten/package.py b/var/spack/repos/builtin/packages/lazyten/package.py index b155958a882450..76edae2c609e40 100644 --- a/var/spack/repos/builtin/packages/lazyten/package.py +++ b/var/spack/repos/builtin/packages/lazyten/package.py @@ -25,6 +25,8 @@ class Lazyten(CMakePackage): version("develop", branch="master") version("0.4.1", sha256="696d151382993c13d04516c77db3ea712a70e3cb449539b9e79abc78cf245ae4") + depends_on("cxx", type="build") # generated + # # Variants # diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py index e8c7f65041f2ba..63db92d0353caf 100644 --- a/var/spack/repos/builtin/packages/lbann/package.py +++ b/var/spack/repos/builtin/packages/lbann/package.py @@ -35,6 +35,8 @@ class Lbann(CachedCMakePackage, CudaPackage, ROCmPackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + variant( "build_type", default="Release", diff --git a/var/spack/repos/builtin/packages/lbfgspp/package.py b/var/spack/repos/builtin/packages/lbfgspp/package.py index 688ceeb5b17788..cdf3082dac43b5 100644 --- a/var/spack/repos/builtin/packages/lbfgspp/package.py +++ b/var/spack/repos/builtin/packages/lbfgspp/package.py @@ -17,4 +17,6 @@ class Lbfgspp(CMakePackage): version("0.3.0", sha256="490720b9d5acce6459cb0336ca3ae0ffc48677225f0ebfb35c9bef6baefdfc6a") version("0.2.0", sha256="7101744a538c3aff52e10c82267305847b0b5e9d39f9974b4b29812cd1398ff9") + depends_on("cxx", type="build") # generated + depends_on("eigen @3:") diff --git a/var/spack/repos/builtin/packages/lbxproxy/package.py b/var/spack/repos/builtin/packages/lbxproxy/package.py index 4e6765a9c6c691..d7951ee599db2d 100644 --- a/var/spack/repos/builtin/packages/lbxproxy/package.py +++ b/var/spack/repos/builtin/packages/lbxproxy/package.py @@ -21,6 +21,8 @@ class Lbxproxy(AutotoolsPackage, XorgPackage): version("1.0.3", sha256="db36251c9656c7da720f31e10df384f8946a9a5395915371b60d9423ad8f6a80") + depends_on("c", type="build") # generated + depends_on("libxext") depends_on("liblbxutil") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/lc-framework/package.py b/var/spack/repos/builtin/packages/lc-framework/package.py index aa69d8304a0274..085fb07bafe932 100644 --- a/var/spack/repos/builtin/packages/lc-framework/package.py +++ b/var/spack/repos/builtin/packages/lc-framework/package.py @@ -28,6 +28,8 @@ class LcFramework(CMakePackage, CudaPackage): version("1.2.0", commit="2d0f39a927c3487551e4f3c786c3799cada1e203") version("1.1.2", sha256="5ccbeaf8e2ef93894854406054210c8525055d195b39e2f141b4f81175fe2815") + depends_on("cxx", type="build") # generated + variant("libpressio", description="build a libpressio plugin for LC", default=False) conflicts("+cuda", when="@:1.2.1") for sm in [i for i in CudaPackage.cuda_arch_values if try_le(i, 60)]: diff --git a/var/spack/repos/builtin/packages/lcc/package.py b/var/spack/repos/builtin/packages/lcc/package.py index 4ed9f48ee2c477..4fe7b4462f67d2 100644 --- a/var/spack/repos/builtin/packages/lcc/package.py +++ b/var/spack/repos/builtin/packages/lcc/package.py @@ -24,6 +24,9 @@ class Lcc(CMakePackage): version("1.0.1", sha256="fa13364dcdf3b1f8d80fc768f0e7ad3849f8d98091fb96926100a6764f836020") version("1.0.0", sha256="750ce09e809a4e85ae3219fd537dc84a923fe3d3683b26b5d915eccfd1f0120c") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=False, description="Build shared libs") depends_on("cmake@3.10:", type="build") diff --git a/var/spack/repos/builtin/packages/lci/package.py b/var/spack/repos/builtin/packages/lci/package.py new file mode 100644 index 00000000000000..4a30ea36c9cdde --- /dev/null +++ b/var/spack/repos/builtin/packages/lci/package.py @@ -0,0 +1,200 @@ +# 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 * + + +def is_positive_int(val): + try: + return int(val) > 0 + except ValueError: + return val == "auto" + + +class Lci(CMakePackage): + """LCI: the Lightweight Communication Interface""" + + homepage = "https://github.com/uiuc-hpc/lci" + url = "https://github.com/uiuc-hpc/lci/archive/refs/tags/v1.7.7.tar.gz" + git = "https://github.com/uiuc-hpc/lci.git" + + maintainers("omor1", "JiakunYan") + + license("MIT") + + version("master", branch="master") + version("1.7.7", sha256="c310f699b7b4317a2f5c3557f85c240fe3c85d2d06618dd248434ef807d53779") + version("1.7.6", sha256="c88ccea2ad277ed38fc23187771b52b6fb212ed4429114717bfa8887ed21665c") + version("1.7.5", sha256="13e4084c9e7aaf55966ba5aa0423164b8fd21ee7526fc62017b3c9b3db99cb83") + version("1.7.4", sha256="00c6ef06bf90a02b55c72076dedf912580dcb1fb59fdc0e771d9e1a71283b72f") + version("1.7.3", sha256="3c47d51d4925e6700294ac060c88a73c26ca6e9df5b4010d0e90b0bf5e505040") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + + variant( + "fabric", + default="ibv", + values=("ofi", "ibv", "ucx"), + multi=False, + description="Communication fabric", + ) + + variant("examples", default=False, description="Build LCI examples") + variant("tests", default=False, description="Build LCI tests") + variant("benchmarks", default=False, description="Build LCI benchmarks") + variant("docs", default=False, description="Build LCI documentation") + + variant( + "cache-line", + default="auto", + values=is_positive_int, + description="Cache line size, in bytes", + ) + + variant( + "multithread-progress", + default=True, + description="Enable thread-safe LCI_progress function", + ) + variant("dreg", default="auto", description="Whether to use registration cache by default") + variant( + "packet-size", + default="auto", + values=is_positive_int, + description="Size of packet by default", + ) + variant( + "npackets", + default="auto", + values=is_positive_int, + description="Number of packets by default", + ) + variant( + "fabric-nsends-max", + default="auto", + values=is_positive_int, + description="Max number of send descriptors that can be posted (send queue length) " + "at the fabric layer by default", + ) + variant( + "fabric-nrecvs-max", + default="auto", + values=is_positive_int, + description="Max number of receive descriptors that can be posted (receive queue length) " + "at the fabric layer by default", + ) + variant( + "fabric-ncqes-max", + default="auto", + values=is_positive_int, + description="Max number of completion queue entries that can be posted " + "(completion queue length) at the fabric layer by default", + ) + + variant("debug", default=False, description="Enable the debug mode") + variant("pcounter", default=False, description="Enable the performance counters") + variant( + "papi", default=False, description="Enable the PAPI plugin to collect hardware counters" + ) + + variant( + "enable-pm", + description="Process management backends to enable", + values=disjoint_sets(("auto",), ("pmix", "pmi2", "pmi1", "mpi", "local")) + .prohibit_empty_set() + .with_default("auto") + .with_non_feature_values("auto"), + ) + variant( + "default-pm", + description="Order of process management backends to try by default", + values=disjoint_sets(("auto",), ("pmix", "pmi2", "pmi1", "mpi", "local"), ("cray",)) + .prohibit_empty_set() + .with_default("auto") + .with_non_feature_values("auto"), + ) + + generator("ninja", "make", default="ninja") + + depends_on("cmake@3.12:", type="build") + depends_on("libfabric", when="fabric=ofi") + depends_on("rdma-core", when="fabric=ibv") + depends_on("ucx", when="fabric=ucx") + depends_on("mpi", when="enable-pm=mpi") + depends_on("papi", when="+papi") + depends_on("doxygen", when="+docs") + depends_on("cray-pmi", when="default-pm=cray") + + def cmake_args(self): + args = [ + self.define_from_variant("LCI_SERVER", "fabric"), + self.define("LCI_FORCE_SERVER", True), + self.define_from_variant("LCI_WITH_EXAMPLES", "examples"), + self.define_from_variant("LCI_WITH_TESTS", "tests"), + self.define_from_variant("LCI_WITH_BENCHMARKS", "benchmarks"), + self.define_from_variant("LCI_WITH_DOC", "docs"), + self.define_from_variant("LCI_ENABLE_MULTITHREAD_PROGRESS", "multithread-progress"), + self.define_from_variant("LCI_DEBUG", "debug"), + self.define_from_variant("LCI_USE_PERFORMANCE_COUNTER", "pcounter"), + self.define_from_variant("LCI_USE_PAPI", "papi"), + ] + + if not self.spec.satisfies("dreg=auto"): + args.append(self.define_from_variant("LCI_USE_DREG_DEFAULT", "dreg")) + + if not self.spec.satisfies("enable-pm=auto"): + args.extend( + [ + self.define( + "LCT_PMI_BACKEND_ENABLE_PMI1", self.spec.satisfies("enable-pm=pmi1") + ), + self.define( + "LCT_PMI_BACKEND_ENABLE_PMI2", self.spec.satisfies("enable-pm=pmi2") + ), + self.define( + "LCT_PMI_BACKEND_ENABLE_MPI", self.spec.satisfies("enable-pm=mpi") + ), + self.define( + "LCT_PMI_BACKEND_ENABLE_PMIX", self.spec.satisfies("enable-pm=pmix") + ), + ] + ) + + if self.spec.satisfies("default-pm=cray"): + args.extend( + [ + self.define("LCI_PMI_BACKEND_DEFAULT", "pmi1"), + self.define("LCT_PMI_BACKEND_ENABLE_PMI1", True), + ] + ) + elif not self.spec.satisfies("default-pm=auto"): + args.append(self.define_from_variant("LCI_PMI_BACKEND_DEFAULT", "default-pm")) + + if not self.spec.satisfies("cache-line=auto"): + args.append(self.define_from_variant("LCI_CACHE_LINE", "cache-line")) + + if not self.spec.satisfies("packet-size=auto"): + args.append(self.define_from_variant("LCI_PACKET_SIZE_DEFAULT", "packet-size")) + + if not self.spec.satisfies("npackets=auto"): + args.append(self.define_from_variant("LCI_SERVER_NUM_PKTS_DEFAULT", "npackets")) + + if not self.spec.satisfies("fabric-nsends-max=auto"): + args.append( + self.define_from_variant("LCI_SERVER_MAX_SENDS_DEFAULT", "fabric-nsends-max") + ) + + if not self.spec.satisfies("fabric-nrecvs-max=auto"): + args.append( + self.define_from_variant("LCI_SERVER_MAX_RECVS_DEFAULT", "fabric-nrecvs-max") + ) + + if not self.spec.satisfies("fabric-ncqes-max=auto"): + args.append( + self.define_from_variant("LCI_SERVER_MAX_CQES_DEFAULT", "fabric-ncqes-max") + ) + + return args diff --git a/var/spack/repos/builtin/packages/lcio/package.py b/var/spack/repos/builtin/packages/lcio/package.py index f38550f748fe1a..6aca54b81dd21c 100644 --- a/var/spack/repos/builtin/packages/lcio/package.py +++ b/var/spack/repos/builtin/packages/lcio/package.py @@ -21,6 +21,7 @@ class Lcio(CMakePackage): license("BSD-3-Clause") version("master", branch="master") + version("2.22", sha256="95676977a0427f5ecc857e8504b13f332c2c2e5769dc00f6beecff3c73dab395") version("2.21", sha256="a9f0a9922ab2ef17c6f1b8f7187bfc341f27567745a43c0480c103b617dfcea6") version("2.20.2", sha256="b37cee344c28ccddc590e5317721b375ef19f4392ae067bc86583107acaf2374") version("2.20.1", sha256="125f657297de12b40694cb0dddec1d1ce3379058492f2a6a2a6f992ee51604d6") @@ -43,6 +44,8 @@ class Lcio(CMakePackage): version("2.13.2", sha256="9f153ba13e56ee16795378f9192678d40df1faca51d00aaa8fb80547bfecb8d8") version("2.13.1", sha256="aa572e2ba38c0cadd6a92fa933c3ed97e21d016c7982578d3f293901169f4ec0") + depends_on("cxx", type="build") # generated + variant( "cxxstd", default="17", diff --git a/var/spack/repos/builtin/packages/lcms/package.py b/var/spack/repos/builtin/packages/lcms/package.py index 5fcf28bf7f9722..6bb8d05941678f 100644 --- a/var/spack/repos/builtin/packages/lcms/package.py +++ b/var/spack/repos/builtin/packages/lcms/package.py @@ -16,11 +16,17 @@ class Lcms(AutotoolsPackage): license("MIT") + version("2.16", sha256="d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51") + version("2.15", sha256="b20cbcbd0f503433be2a4e81462106fa61050a35074dc24a4e356792d971ab39") + version("2.14", sha256="28474ea6f6591c4d4cee972123587001a4e6e353412a41b3e9e82219818d5740") version("2.13.1", sha256="d473e796e7b27c5af01bd6d1552d42b45b43457e7182ce9903f38bb748203b88") version("2.9", sha256="48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20") version("2.8", sha256="66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22") version("2.6", sha256="5172528839647c54c3da211837225e221be93e4733f5b5e9f57668f7107e14b1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): url = "http://downloads.sourceforge.net/project/lcms/lcms/{0}/lcms2-{1}.tar.gz" return url.format(version.up_to(2), version) diff --git a/var/spack/repos/builtin/packages/lcov/package.py b/var/spack/repos/builtin/packages/lcov/package.py index 9794fb69e533ba..96a25f96a36ff1 100644 --- a/var/spack/repos/builtin/packages/lcov/package.py +++ b/var/spack/repos/builtin/packages/lcov/package.py @@ -14,15 +14,21 @@ class Lcov(MakefilePackage): homepage = "http://ltp.sourceforge.net/coverage/lcov.php" url = "https://github.com/linux-test-project/lcov/releases/download/v2.0/lcov-2.0.tar.gz" + git = "https://github.com/linux-test-project/lcov.git" + maintainers("KineticTheory") license("GPL-2.0-or-later") + version("master", branch="master") version("2.0", sha256="1857bb18e27abe8bcec701a907d5c47e01db4d4c512fc098d1a6acd29267bf46") version("1.16", sha256="987031ad5528c8a746d4b52b380bc1bffe412de1f2b9c2ba5224995668e3240b") version("1.15", sha256="c1cda2fa33bec9aa2c2c73c87226cfe97de0831887176b45ee523c5e30f8053a") version("1.14", sha256="14995699187440e0ae4da57fe3a64adc0a3c5cf14feab971f8db38fb7d8f071a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # dependencies from # https://github.com/linux-test-project/lcov/blob/02ece21d54ccd16255d74f8b00f8875b6c15653a/README#L91-L111 depends_on("perl", type=("build", "run")) @@ -51,6 +57,7 @@ class Lcov(MakefilePackage): depends_on("perl-specio", type=("run")) depends_on("perl-sub-identify", type=("run")) depends_on("perl-time-hires", type=("run")) + depends_on("perl-timedate", type=("run")) def install(self, spec, prefix): make( diff --git a/var/spack/repos/builtin/packages/ldc-bootstrap/package.py b/var/spack/repos/builtin/packages/ldc-bootstrap/package.py index 7c9730c03d011a..c51e3016170151 100644 --- a/var/spack/repos/builtin/packages/ldc-bootstrap/package.py +++ b/var/spack/repos/builtin/packages/ldc-bootstrap/package.py @@ -26,6 +26,9 @@ class LdcBootstrap(CMakePackage): # This is the last version that does not require a D compiler to bootstrap version("0.17.4", sha256="48428afde380415640f3db4e38529345f3c8485b1913717995547f907534c1c3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("llvm@3.7:") depends_on("zlib-api") depends_on("libconfig") diff --git a/var/spack/repos/builtin/packages/ldc/package.py b/var/spack/repos/builtin/packages/ldc/package.py index a297edf5b7f126..5a75282f05f791 100644 --- a/var/spack/repos/builtin/packages/ldc/package.py +++ b/var/spack/repos/builtin/packages/ldc/package.py @@ -23,6 +23,9 @@ class Ldc(CMakePackage): version("1.3.0", sha256="efe31a639bcb44e1f5b752da21713376d9410a01279fecc8aab8572065a3050b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build runtime and tooling as shared libs") depends_on("llvm@3.9:") diff --git a/var/spack/repos/builtin/packages/legion/package.py b/var/spack/repos/builtin/packages/legion/package.py index cb1f88be93221c..0663518d2ea6c4 100644 --- a/var/spack/repos/builtin/packages/legion/package.py +++ b/var/spack/repos/builtin/packages/legion/package.py @@ -29,6 +29,7 @@ class Legion(CMakePackage, ROCmPackage): maintainers("pmccormick", "streichler", "elliottslaughter") tags = ["e4s"] + version("24.06.0", tag="legion-24.06.0", commit="3f27977943626ef23038ef0049b7ad1b389caad1") version("24.03.0", tag="legion-24.03.0", commit="c61071541218747e35767317f6f89b83f374f264") version("23.12.0", tag="legion-23.12.0", commit="8fea67ee694a5d9fb27232a7976af189d6c98456") version("23.09.0", tag="legion-23.09.0", commit="7304dfcf9b69005dd3e65e9ef7d5bd49122f9b49") @@ -50,6 +51,10 @@ class Legion(CMakePackage, ROCmPackage): version("cr-20210122", commit="181e63ad4187fbd9a96761ab3a52d93e157ede20", deprecated=True) version("cr-20191217", commit="572576b312509e666f2d72fafdbe9d968b1a6ac3", deprecated=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@3.16:", type="build") # TODO: Need to spec version of MPI v3 for use of the low-level MPI transport # layer. At present the MPI layer is still experimental and we discourge its @@ -121,6 +126,7 @@ def patch(self): depends_on("py-cffi", when="+python") depends_on("py-numpy", when="+python") depends_on("py-pip", when="+python", type="build") + depends_on("py-setuptools", when="+python", type="build") depends_on("papi", when="+papi") depends_on("zlib-api", when="+zlib") @@ -129,8 +135,8 @@ def patch(self): # but this might be helpful for other use cases down the road. Legion's # current development policy is C++11 or greater so we capture that aspect # here. - cpp_stds = ["11", "14", "17", "20"] - variant("cxxstd", default="11", description="C++ standard", values=cpp_stds, multi=False) + cpp_stds = (conditional("11", "14", when="@:24.03.0"), "17", "20") + variant("cxxstd", default="17", description="C++ standard", values=cpp_stds, multi=False) # Network transport layer: the underlying data transport API should be used for # distributed data movement. For Legion, gasnet is the currently the most @@ -267,6 +273,12 @@ def validate_gasnet_root(value): variant( "redop_complex", default=False, description="Use reduction operators for complex types." ) + requires("+redop_complex", when="+bindings") + variant( + "redop_half", + default=False, + description="Use reduction operators for half precision types.", + ) variant( "max_dims", @@ -386,6 +398,11 @@ def cmake_args(self): # default is off. options.append("-DLegion_USE_Kokkos=ON") os.environ["KOKKOS_CXX_COMPILER"] = spec["kokkos"].kokkos_cxx + if spec.satisfies("+cuda+cuda_unsupported_compiler ^kokkos%clang +cuda"): + # Keep CMake CUDA compiler detection happy + options.append( + self.define("CMAKE_CUDA_FLAGS", "--allow-unsupported-compiler -std=c++17") + ) if spec.satisfies("+libdl"): # default is on. @@ -415,10 +432,14 @@ def cmake_args(self): # default is off. options.append("-DLegion_BUILD_BINDINGS=ON") - if spec.satisfies("+redop_complex") or spec.satisfies("+bindings"): - # default is off; required for bindings. + if spec.satisfies("+redop_complex"): + # default is off options.append("-DLegion_REDOP_COMPLEX=ON") + if spec.satisfies("+redop_half"): + # default is off + options.append("-DLegion_REDOP_HALF=ON") + maxdims = int(spec.variants["max_dims"].value) # TODO: sanity check if maxdims < 0 || > 9??? options.append("-DLegion_MAX_DIM=%d" % maxdims) @@ -476,18 +497,15 @@ def cache_test_sources(self): install test subdirectory for use during `spack test run`.""" self.cache_extra_test_sources([join_path("examples", "local_function_tasks")]) - def run_local_function_tasks_test(self): - """Run stand alone test: local_function_tasks""" + def test_run_local_function_tasks(self): + """Build and run external application example""" test_dir = join_path( self.test_suite.current_test_cache_dir, "examples", "local_function_tasks" ) if not os.path.exists(test_dir): - print("Skipping local_function_tasks test") - return - - exe = "local_function_tasks" + raise SkipTest(f"{test_dir} must exist") cmake_args = [ f"-DCMAKE_C_COMPILER={self.compiler.cc}", @@ -495,16 +513,12 @@ def run_local_function_tasks_test(self): f"-DLegion_DIR={join_path(self.prefix, 'share', 'Legion', 'cmake')}", ] - self.run_test( - "cmake", - options=cmake_args, - purpose=f"test: generate makefile for {exe} example", - work_dir=test_dir, - ) - - self.run_test("make", purpose=f"test: build {exe} example", work_dir=test_dir) + with working_dir(test_dir): + cmake = self.spec["cmake"].command + cmake(*cmake_args) - self.run_test(exe, purpose=f"test: run {exe} example", work_dir=test_dir) + make = which("make") + make() - def test(self): - self.run_local_function_tasks_test() + exe = which("local_function_tasks") + exe() diff --git a/var/spack/repos/builtin/packages/lemon/package.py b/var/spack/repos/builtin/packages/lemon/package.py index 21effe4636ef64..8c770a3c230e94 100644 --- a/var/spack/repos/builtin/packages/lemon/package.py +++ b/var/spack/repos/builtin/packages/lemon/package.py @@ -17,6 +17,8 @@ class Lemon(CMakePackage): version("1.3.1", sha256="71b7c725f4c0b4a8ccb92eb87b208701586cf7a96156ebd821ca3ed855bad3c8") + depends_on("cxx", type="build") # generated + # variant("coin", default=False, description="Enable Coin solver backend") #TODO build fails variant("ilog", default=False, description="Enable ILOG (CPLEX) solver backend") variant("glpk", default=True, description="Enable GLPK solver backend") diff --git a/var/spack/repos/builtin/packages/leptonica/package.py b/var/spack/repos/builtin/packages/leptonica/package.py index 14e8e144f32365..25cfd3f3730ddc 100644 --- a/var/spack/repos/builtin/packages/leptonica/package.py +++ b/var/spack/repos/builtin/packages/leptonica/package.py @@ -22,6 +22,9 @@ class Leptonica(CMakePackage): version("1.79.0", sha256="bf9716f91a4844c2682a07ef21eaf68b6f1077af1f63f27c438394fd66218e17") version("1.78.0", sha256="f8ac4d93cc76b524c2c81d27850bfc342e68b91368aa7a1f7d69e34ce13adbb4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("giflib") depends_on("jpeg") depends_on("libpng") diff --git a/var/spack/repos/builtin/packages/lerc/package.py b/var/spack/repos/builtin/packages/lerc/package.py index 0e7137118099cc..3ce249af434b64 100644 --- a/var/spack/repos/builtin/packages/lerc/package.py +++ b/var/spack/repos/builtin/packages/lerc/package.py @@ -22,6 +22,8 @@ class Lerc(CMakePackage): version("4.0.0", sha256="91431c2b16d0e3de6cbaea188603359f87caed08259a645fd5a3805784ee30a0") version("3.0", sha256="8c0148f5c22d823eff7b2c999b0781f8095e49a7d3195f13c68c5541dd5740a1") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.11:", type="build") depends_on("cmake@3.12:", type="build", when="@4.0.0:") diff --git a/var/spack/repos/builtin/packages/lesstif/package.py b/var/spack/repos/builtin/packages/lesstif/package.py index 8c936d91566274..214cfe2336e2ce 100644 --- a/var/spack/repos/builtin/packages/lesstif/package.py +++ b/var/spack/repos/builtin/packages/lesstif/package.py @@ -16,6 +16,8 @@ class Lesstif(AutotoolsPackage): version("0.95.2", sha256="eb4aa38858c29a4a3bcf605cfe7d91ca41f4522d78d770f69721e6e3a4ecf7e3") + depends_on("c", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("static", default=False, description="Build static libraries") diff --git a/var/spack/repos/builtin/packages/leveldb/package.py b/var/spack/repos/builtin/packages/leveldb/package.py index 1eaadf2058daa6..679a913a886604 100644 --- a/var/spack/repos/builtin/packages/leveldb/package.py +++ b/var/spack/repos/builtin/packages/leveldb/package.py @@ -23,6 +23,9 @@ class Leveldb(CMakePackage): version("1.20", sha256="f5abe8b5b209c2f36560b75f32ce61412f39a2922f7045ae764a2c23335b6664") version("1.18", sha256="4aa1a7479bc567b95a59ac6fb79eba49f61884d6fd400f20b7af147d54c5cee5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared library") depends_on("cmake@3.9:", when="@1.21:", type="build") diff --git a/var/spack/repos/builtin/packages/lfortran/package.py b/var/spack/repos/builtin/packages/lfortran/package.py index 38965dc4d668df..72beab2581968c 100644 --- a/var/spack/repos/builtin/packages/lfortran/package.py +++ b/var/spack/repos/builtin/packages/lfortran/package.py @@ -22,6 +22,10 @@ class Lfortran(CMakePackage): version("0.30.0", sha256="aafdfbfe81d69ceb3650ae1cf9bcd8a1f1532d895bf88f3071fe9610859bcd6f") version("0.19.0", sha256="d496f61d7133b624deb3562677c0cbf98e747262babd4ac010dbd3ab4303d805") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("llvm", default=True, description="Build with LLVM support") variant("stacktrace", default=True, description="Build with stacktrace support") diff --git a/var/spack/repos/builtin/packages/lftp/package.py b/var/spack/repos/builtin/packages/lftp/package.py index abf613e12b3387..f5bce1fc233802 100644 --- a/var/spack/repos/builtin/packages/lftp/package.py +++ b/var/spack/repos/builtin/packages/lftp/package.py @@ -21,6 +21,9 @@ class Lftp(AutotoolsPackage): version("4.7.7", sha256="7bce216050094a1146ed05bed8fe5b3518224764ffe98884a848d44dc76fff8f") version("4.6.4", sha256="791e783779d3d6b519d0c23155430b9785f2854023eb834c716f5ba78873b15a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("expat") depends_on("gettext") depends_on("iconv") diff --git a/var/spack/repos/builtin/packages/lhapdf/package.py b/var/spack/repos/builtin/packages/lhapdf/package.py index 2a9bc2583cd4fd..c38f7b31606be8 100644 --- a/var/spack/repos/builtin/packages/lhapdf/package.py +++ b/var/spack/repos/builtin/packages/lhapdf/package.py @@ -31,6 +31,9 @@ class Lhapdf(AutotoolsPackage): version("6.3.0", sha256="864468439c7662bbceed6c61c7132682ec83381a23c9c9920502fdd7329dd816") version("6.2.3", sha256="37200a1ab70247250a141dfed7419d178f9a83bd23a4f8a38e203d4e27b41308") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("python", default=True, description="Build python bindings") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/lhapdf5/package.py b/var/spack/repos/builtin/packages/lhapdf5/package.py index 94fa2b369c2dc0..952a42a4a09aed 100644 --- a/var/spack/repos/builtin/packages/lhapdf5/package.py +++ b/var/spack/repos/builtin/packages/lhapdf5/package.py @@ -29,6 +29,10 @@ class Lhapdf5(AutotoolsPackage): version("5.8.0", sha256="8381ea5f785dde95772a2b6d5890f1cb72012e223e6861823fd81b09eedaa7a3") version("5.7.1", sha256="40529629351598317fbf7b5905661e51b23778019d50451eee78d7b1118e2559") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + def setup_build_environment(self, env): env.append_flags("FFLAGS", "-std=legacy") diff --git a/var/spack/repos/builtin/packages/libabigail/package.py b/var/spack/repos/builtin/packages/libabigail/package.py index 979fdfae0e7813..ecc8c645b05c39 100644 --- a/var/spack/repos/builtin/packages/libabigail/package.py +++ b/var/spack/repos/builtin/packages/libabigail/package.py @@ -20,6 +20,9 @@ class Libabigail(AutotoolsPackage): version("2.0", sha256="3704ae97a56bf076ca08fb5dea6b21db998fbbf14c4f9de12824b78db53b6fda") version("1.8", sha256="1cbf260b894ccafc61b2673ba30c020c3f67dbba9dfa88dca3935dff661d665c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("docs", default=False, description="build documentation") depends_on("elfutils", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/libaec/package.py b/var/spack/repos/builtin/packages/libaec/package.py index 5c2a21a5c6671f..f0498b3fd0dec5 100644 --- a/var/spack/repos/builtin/packages/libaec/package.py +++ b/var/spack/repos/builtin/packages/libaec/package.py @@ -29,6 +29,9 @@ class Libaec(CMakePackage): version("1.0.1", sha256="3668eb4ed36724441e488a7aadc197426afef4b1e8bd139af6d3e36023906459") version("1.0.0", sha256="849f08b08ddaaffe543d06d0ced5e4ee3e526b13a67c5f422d126b1c9cf1b546") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Builds a shared version of the library") @property diff --git a/var/spack/repos/builtin/packages/libaio/package.py b/var/spack/repos/builtin/packages/libaio/package.py index 9e01952ff898c7..4e43322098ba10 100644 --- a/var/spack/repos/builtin/packages/libaio/package.py +++ b/var/spack/repos/builtin/packages/libaio/package.py @@ -27,6 +27,8 @@ class Libaio(MakefilePackage): version("0.3.113", sha256="2c44d1c5fd0d43752287c9ae1eb9c023f04ef848ea8d4aafa46e9aedb678200b") version("0.3.110", sha256="e019028e631725729376250e32b473012f7cb68e1f7275bfc1bbcdd0f8745f7e") + depends_on("c", type="build") # generated + conflicts("platform=darwin", msg="libaio is a linux specific library") @property diff --git a/var/spack/repos/builtin/packages/libao/package.py b/var/spack/repos/builtin/packages/libao/package.py index d93e765e2ff9f8..1326940964b4d5 100644 --- a/var/spack/repos/builtin/packages/libao/package.py +++ b/var/spack/repos/builtin/packages/libao/package.py @@ -18,6 +18,8 @@ class Libao(AutotoolsPackage): version("1.2.0", sha256="5ec2d15ee39f218e93a87f5cc8508aaebf5c8b544f42488dcb2b504d97392c99") version("1.1.0", sha256="69edc39fa2759133edfcdee0ec47559067a1a8e7cd718db0eb3c82ca4254aa6b") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libapplewm/package.py b/var/spack/repos/builtin/packages/libapplewm/package.py index d3d4d579ffebf3..9486a10c269c4e 100644 --- a/var/spack/repos/builtin/packages/libapplewm/package.py +++ b/var/spack/repos/builtin/packages/libapplewm/package.py @@ -18,6 +18,8 @@ class Libapplewm(AutotoolsPackage, XorgPackage): version("1.4.1", sha256="d7fb098d65ad4d840f60e5c92de7f58f1725bd70d0d132755ea453462fd50049") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libapreq2/package.py b/var/spack/repos/builtin/packages/libapreq2/package.py index 39bad41c7b1147..4eda5032cf3103 100644 --- a/var/spack/repos/builtin/packages/libapreq2/package.py +++ b/var/spack/repos/builtin/packages/libapreq2/package.py @@ -21,6 +21,8 @@ class Libapreq2(AutotoolsPackage): version("2.12", sha256="75cc1daa60e781270178c8f9fbe9c68231a7bc96bcc5c7a970cfce75d784b568") version("2.08", sha256="9f491588957415ebe0decdf6758fcb5c0d3eaf05a573bdd51de499ae111ffc53") + depends_on("c", type="build") # generated + depends_on("apr") depends_on("apr-util") depends_on("httpd") diff --git a/var/spack/repos/builtin/packages/libarchive/package.py b/var/spack/repos/builtin/packages/libarchive/package.py index 79911083259d09..388d6a7973c321 100644 --- a/var/spack/repos/builtin/packages/libarchive/package.py +++ b/var/spack/repos/builtin/packages/libarchive/package.py @@ -17,6 +17,9 @@ class Libarchive(AutotoolsPackage): license("BSD-2-Clause AND BSD-3-Clause AND Public-Domain") + version("3.7.4", sha256="7875d49596286055b52439ed42f044bd8ad426aa4cc5aabd96bfe7abb971d5e8") + version("3.7.3", sha256="f27a97bc22ceb996e72502df47dc19f99f9a0f09181ae909f09f3c9eb17b67e2") + version("3.7.2", sha256="df404eb7222cf30b4f8f93828677890a2986b66ff8bf39dac32a804e96ddf104") version("3.7.1", sha256="5d24e40819768f74daf846b99837fc53a3a9dcdf3ce1c2003fe0596db850f0f0") version("3.7.0", sha256="d937886a14b48c4287c4d343644feb294a14b31b7926ba9a4f1777123ce7c2cc") version("3.6.2", sha256="ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3") @@ -64,6 +67,9 @@ class Libarchive(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "libs", default="static,shared", diff --git a/var/spack/repos/builtin/packages/libasr/package.py b/var/spack/repos/builtin/packages/libasr/package.py index f4bd5bde80deab..b01cd9c0536fd2 100644 --- a/var/spack/repos/builtin/packages/libasr/package.py +++ b/var/spack/repos/builtin/packages/libasr/package.py @@ -16,3 +16,5 @@ class Libasr(AutotoolsPackage): version("1.0.4", sha256="19fb6bed10d15c9775c8d008cd1130155917ae4e801c729fe85e6d88a545dab4") version("1.0.3", sha256="9cd88e0172e6d426438875e09229d1d473d56db546d02b630f9dd14db226d68d") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libassuan/package.py b/var/spack/repos/builtin/packages/libassuan/package.py index c58c6d9d19093a..ccd55d3e18b2bf 100644 --- a/var/spack/repos/builtin/packages/libassuan/package.py +++ b/var/spack/repos/builtin/packages/libassuan/package.py @@ -15,6 +15,8 @@ class Libassuan(AutotoolsPackage): license("LGPL-2.1-or-later") + version("3.0.1", sha256="c8f0f42e6103dea4b1a6a483cb556654e97302c7465308f58363778f95f194b1") + version("3.0.0", sha256="0b160cbb898b852c6c04314b9a63e90ca87501305ad72a58a010f808665bbaf6") version("2.5.7", sha256="0103081ffc27838a2e50479153ca105e873d3d65d8a9593282e9c94c7e6afb76") version("2.5.6", sha256="e9fd27218d5394904e4e39788f9b1742711c3e6b41689a31aa3380bd5aa4f426") version("2.5.5", sha256="8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4") @@ -23,8 +25,12 @@ class Libassuan(AutotoolsPackage): version("2.4.5", sha256="fbfea5d1dbcdee34f2597b0afb3d8bb4eda96c924a1e01b01c2acde68b81625f") version("2.4.3", sha256="22843a3bdb256f59be49842abf24da76700354293a066d82ade8134bb5aa2b71") + depends_on("c", type="build") # generated + depends_on("libgpg-error@1.17:") + conflicts("platform=darwin", when="@3") + def configure_args(self): return [ "--enable-static", diff --git a/var/spack/repos/builtin/packages/libatasmart/package.py b/var/spack/repos/builtin/packages/libatasmart/package.py index ee2dd4dfeaa94a..966cabfea87cd7 100644 --- a/var/spack/repos/builtin/packages/libatasmart/package.py +++ b/var/spack/repos/builtin/packages/libatasmart/package.py @@ -19,6 +19,8 @@ class Libatasmart(AutotoolsPackage): version("0.18", sha256="4a6e93fbaec2d4caffb06ddd47c2c35ea4ad2d3d22e805bf284adba949f64ddf") version("0.17", sha256="353b2ec097814254989a809fd495f95a315e608fdf320c2b96dc52d70392e955") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libatomic-ops/package.py b/var/spack/repos/builtin/packages/libatomic-ops/package.py index 824ab870a96e1b..da7561ebe2c30a 100644 --- a/var/spack/repos/builtin/packages/libatomic-ops/package.py +++ b/var/spack/repos/builtin/packages/libatomic-ops/package.py @@ -22,5 +22,7 @@ class LibatomicOps(AutotoolsPackage): version("7.6.6", sha256="99feabc5f54877f314db4fadeb109f0b3e1d1a54afb6b4b3dfba1e707e38e074") version("7.4.4", sha256="bf210a600dd1becbf7936dd2914cf5f5d3356046904848dcfd27d0c8b12b6f8f") + depends_on("c", type="build") # generated + def configure_args(self): return ["--enable-shared"] diff --git a/var/spack/repos/builtin/packages/libbacktrace/package.py b/var/spack/repos/builtin/packages/libbacktrace/package.py index 7c258776272afd..a2379f591dded2 100644 --- a/var/spack/repos/builtin/packages/libbacktrace/package.py +++ b/var/spack/repos/builtin/packages/libbacktrace/package.py @@ -17,6 +17,8 @@ class Libbacktrace(AutotoolsPackage): version("master", branch="master") version("2020-02-19", commit="ca0de0517f3be44fedf5a2c01cfaf6437d4cae68") + depends_on("c", type="build") # generated + variant("shared", default=False, description="Additionally build shared library") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/libbeagle/package.py b/var/spack/repos/builtin/packages/libbeagle/package.py index 4fff19fe9c09dc..530815089c5f4e 100644 --- a/var/spack/repos/builtin/packages/libbeagle/package.py +++ b/var/spack/repos/builtin/packages/libbeagle/package.py @@ -22,6 +22,9 @@ class Libbeagle(AutotoolsPackage, CudaPackage): url="https://github.com/beagle-dev/beagle-lib/archive/beagle_release_2_1_2.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libbeato/package.py b/var/spack/repos/builtin/packages/libbeato/package.py index 2179a6de315987..5ff0acb1a19fa6 100644 --- a/var/spack/repos/builtin/packages/libbeato/package.py +++ b/var/spack/repos/builtin/packages/libbeato/package.py @@ -17,3 +17,5 @@ class Libbeato(AutotoolsPackage): license("GPL-3.0-or-later") version("master", branch="master") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libbigwig/package.py b/var/spack/repos/builtin/packages/libbigwig/package.py index 430c6d5593c899..8a6cde1b8ddef7 100644 --- a/var/spack/repos/builtin/packages/libbigwig/package.py +++ b/var/spack/repos/builtin/packages/libbigwig/package.py @@ -17,6 +17,8 @@ class Libbigwig(CMakePackage): version("0.4.7", sha256="8e057797011d93fa00e756600898af4fe6ca2d48959236efc9f296abe94916d9") + depends_on("c", type="build") # generated + variant("curl", default=True, description="Build with curl support") depends_on("curl", when="+curl") diff --git a/var/spack/repos/builtin/packages/libbinio/package.py b/var/spack/repos/builtin/packages/libbinio/package.py index 3d086a555020d5..0206ca9b15fce1 100644 --- a/var/spack/repos/builtin/packages/libbinio/package.py +++ b/var/spack/repos/builtin/packages/libbinio/package.py @@ -16,3 +16,5 @@ class Libbinio(AutotoolsPackage): version("1.5", sha256="398b2468e7838d2274d1f62dbc112e7e043433812f7ae63ef29f5cb31dc6defd") version("1.4", sha256="4a32d3154517510a3fe4f2dc95e378dcc818a4a921fc0cb992bdc0d416a77e75") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libblastrampoline/package.py b/var/spack/repos/builtin/packages/libblastrampoline/package.py index c7c498e97d70c0..fe8bb8d28cd848 100644 --- a/var/spack/repos/builtin/packages/libblastrampoline/package.py +++ b/var/spack/repos/builtin/packages/libblastrampoline/package.py @@ -41,6 +41,8 @@ class Libblastrampoline(MakefilePackage): version("3.0.0", sha256="4d0856d30e7ba0cb0de08b08b60fd34879ce98714341124acf87e587d1bbbcde") version("2.2.0", sha256="1fb8752891578b45e187019c67fccbaafb108756aadc69bdd876033846ad30d3") + depends_on("c", type="build") # generated + build_directory = "src" def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/libbsd/package.py b/var/spack/repos/builtin/packages/libbsd/package.py index 568d3875369fa6..a3718c82172566 100644 --- a/var/spack/repos/builtin/packages/libbsd/package.py +++ b/var/spack/repos/builtin/packages/libbsd/package.py @@ -36,6 +36,8 @@ class Libbsd(AutotoolsPackage): version("0.8.7", sha256="f548f10e5af5a08b1e22889ce84315b1ebe41505b015c9596bad03fd13a12b31") version("0.8.6", sha256="467fbf9df1f49af11f7f686691057c8c0a7613ae5a870577bef9155de39f9687") + depends_on("c", type="build") # generated + patch("cdefs.h.patch", when="@0.8.6 %gcc@:4") patch("local-elf.h.patch", when="@:0.10 %intel") diff --git a/var/spack/repos/builtin/packages/libbson/package.py b/var/spack/repos/builtin/packages/libbson/package.py index f394f6684110b8..1584f5bd29eb86 100644 --- a/var/spack/repos/builtin/packages/libbson/package.py +++ b/var/spack/repos/builtin/packages/libbson/package.py @@ -3,18 +3,20 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.build_systems import cmake from spack.package import * -class Libbson(Package): +class Libbson(AutotoolsPackage, CMakePackage): """libbson is a library providing useful routines related to building, parsing, and iterating BSON documents.""" homepage = "https://github.com/mongodb/mongo-c-driver" - url = "https://github.com/mongodb/mongo-c-driver/releases/download/1.16.2/mongo-c-driver-1.16.2.tar.gz" + url = "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.25.0.tar.gz" maintainers("michaelkuhn") + version("1.27.2", sha256="a53010803e2df097a2ea756be6ece34c8f52cda2c18e6ea21115097b75f5d4bf") version("1.24.4", sha256="2f4a3e8943bfe3b8672c2053f88cf74acc8494dc98a45445f727901eee141544") version("1.23.4", sha256="209406c91fcf7c63aa633179a0a6b1b36ba237fb77e0470fd81f7299a408e334") version("1.23.3", sha256="c8f951d4f965d455f37ae2e10b72914736fc0f25c4ffc14afc3cbadd1a574ef6") @@ -33,52 +35,48 @@ class Libbson(Package): version("1.7.0", sha256="442d89e89dfb43bba1f65080dc61fdcba01dcb23468b2842c1dbdd4acd6049d3") version("1.6.3", sha256="e9e4012a9080bdc927b5060b126a2c82ca11e71ebe7f2152d079fa2ce461a7fb") version("1.6.2", sha256="aad410123e4bd8a9804c3c3d79e03344e2df104872594dc2cf19605d492944ba") - version("1.6.1", sha256="5f160d44ea42ce9352a7a3607bc10d3b4b22d3271763aa3b3a12665e73e3a02d") + version( + "1.6.1", + sha256="5f160d44ea42ce9352a7a3607bc10d3b4b22d3271763aa3b3a12665e73e3a02d", + deprecated=True, + ) - depends_on("cmake@3.1:", type="build", when="@1.10.0:") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated - depends_on("autoconf", type="build", when="@1.6.1") - depends_on("automake", type="build", when="@1.6.1") - depends_on("libtool", type="build", when="@1.6.1") - depends_on("m4", type="build", when="@1.6.1") + with when("build_system=cmake"): + depends_on("cmake@3.1:", type="build") + + with when("build_system=autotools"): + depends_on("autoconf", type="build", when="@1.6.1") + depends_on("automake", type="build", when="@1.6.1") + depends_on("libtool", type="build", when="@1.6.1") + + build_system( + conditional("cmake", when="@1.10:"), + conditional("autotools", when="@:1.9"), + default="cmake", + ) def url_for_version(self, version): + if version >= Version("1.25.0"): + return f"https://github.com/mongodb/mongo-c-driver/archive/refs/tags/{version}.tar.gz" if version >= Version("1.10.0"): - url = "https://github.com/mongodb/mongo-c-driver/releases/download/{0}/mongo-c-driver-{0}.tar.gz" + return f"https://github.com/mongodb/mongo-c-driver/releases/download/{version}/mongo-c-driver-{version}.tar.gz" else: - url = "https://github.com/mongodb/libbson/releases/download/{0}/libbson-{0}.tar.gz" - - return url.format(version) - - def cmake_args(self): - args = ["-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF", "-DENABLE_MONGOC=OFF"] - - return args - - def install(self, spec, prefix): - with working_dir("spack-build", create=True): - # We cannot simply do - # cmake('..', *std_cmake_args, *self.cmake_args()) - # because that is not Python 2 compatible. Instead, collect - # arguments into a temporary buffer first. - args = [] - args.extend(std_cmake_args) - args.extend(self.cmake_args()) - cmake("..", *args) - make() - make("install") + return f"https://github.com/mongodb/libbson/releases/download/{version}/libbson-{version}.tar.gz" @property def force_autoreconf(self): # 1.6.1 tarball is broken return self.spec.satisfies("@1.6.1") - @when("@:1.9") - def install(self, spec, prefix): - configure("--prefix={0}".format(prefix)) - make() - if self.run_tests: - make("check") - make("install") - if self.run_tests: - make("installcheck") + +class CMakeBuilder(cmake.CMakeBuilder): + def cmake_args(self): + return [ + self.define("ENABLE_AUTOMATIC_INIT_AND_CLEANUP", False), + self.define("ENABLE_MONGOC", False), + self.define("MONGO_USE_CCACHE", False), + self.define("MONGO_USE_LLD", False), + ] diff --git a/var/spack/repos/builtin/packages/libbytesize/package.py b/var/spack/repos/builtin/packages/libbytesize/package.py index 9c36c2d8aa9b04..7a0102b8f9e5b5 100644 --- a/var/spack/repos/builtin/packages/libbytesize/package.py +++ b/var/spack/repos/builtin/packages/libbytesize/package.py @@ -19,6 +19,8 @@ class Libbytesize(AutotoolsPackage): version("2.3", sha256="3c74113fc8cd1a2fbd8870fa0ed7cef2ef24d60ef91e7145fbc041f9aa144479") version("2.2", sha256="b93c54b502880c095c9f5767a42464853e2687db2e5e3084908a615bafe73baa") + depends_on("c", type="build") # generated + extends("python") depends_on("pcre2") depends_on("gmp") diff --git a/var/spack/repos/builtin/packages/libcanberra/package.py b/var/spack/repos/builtin/packages/libcanberra/package.py index ba94f92309136b..19807aa5fae72a 100644 --- a/var/spack/repos/builtin/packages/libcanberra/package.py +++ b/var/spack/repos/builtin/packages/libcanberra/package.py @@ -18,6 +18,8 @@ class Libcanberra(AutotoolsPackage): version("0.30", sha256="c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72") + depends_on("c", type="build") # generated + # TODO: Add variants and dependencies for the following audio support: # ALSA, OSS, PulseAudio, udev, GStreamer, null, GTK3+ , tdb diff --git a/var/spack/repos/builtin/packages/libcap-ng/package.py b/var/spack/repos/builtin/packages/libcap-ng/package.py index 8256fc16a5fec2..064fd9b5d0f57b 100644 --- a/var/spack/repos/builtin/packages/libcap-ng/package.py +++ b/var/spack/repos/builtin/packages/libcap-ng/package.py @@ -19,6 +19,8 @@ class LibcapNg(AutotoolsPackage): version("0.7.11", sha256="78f32ff282b49b7b91c56d317fb6669df26da332c6fc9462870cec2573352222") version("0.7.10", sha256="c3c156a215e5be5430b2f3b8717bbd1afdabe458b6068a8d163e71cefe98fc32") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libcap/package.py b/var/spack/repos/builtin/packages/libcap/package.py index 057250f520ddd3..8793f4bd6d63e0 100644 --- a/var/spack/repos/builtin/packages/libcap/package.py +++ b/var/spack/repos/builtin/packages/libcap/package.py @@ -25,6 +25,8 @@ class Libcap(MakefilePackage): version("2.64", sha256="e9ec608ae5720989d7274531f9898d64b6bca2491a231b8091229e49891933dd") version("2.25", sha256="4ca80dc6f9f23d14747e4b619fd9784434c570e24a7346f326c692784ed83a86") + depends_on("c", type="build") # generated + patch("libcap-fix-the-libcap-native-building-failure-on-CentOS-6.7.patch", when="@2.25") def makeflags(self, prefix): diff --git a/var/spack/repos/builtin/packages/libcatalyst/package.py b/var/spack/repos/builtin/packages/libcatalyst/package.py index 6b68bf3b7e778b..6bfc26cf93d33f 100644 --- a/var/spack/repos/builtin/packages/libcatalyst/package.py +++ b/var/spack/repos/builtin/packages/libcatalyst/package.py @@ -24,6 +24,10 @@ class Libcatalyst(CMakePackage): version("master", branch="master") version("2.0.0", sha256="5842b690bd8afa635414da9b9c5e5d79fa37879b0d382428d0d8e26ba5374828") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=False, description="Enable MPI support") variant("conduit", default=False, description="Use external Conduit for Catalyst") variant("fortran", default=False, description="Enable Fortran wrapping") diff --git a/var/spack/repos/builtin/packages/libceed/package.py b/var/spack/repos/builtin/packages/libceed/package.py index 5ca941bd0613eb..04f438ab30418a 100644 --- a/var/spack/repos/builtin/packages/libceed/package.py +++ b/var/spack/repos/builtin/packages/libceed/package.py @@ -31,6 +31,10 @@ class Libceed(MakefilePackage, CudaPackage, ROCmPackage): version("0.2", tag="v0.2", commit="113004cb41757b819325a4b3a8a7dfcea5156531") version("0.1", tag="v0.1", commit="74e0540e2478136394f75869675056eb6aba67cc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("occa", default=False, description="Enable OCCA backends") variant("debug", default=False, description="Enable debug build") variant("libxsmm", default=False, description="Enable LIBXSMM backend", when="@0.3:") diff --git a/var/spack/repos/builtin/packages/libcerf/package.py b/var/spack/repos/builtin/packages/libcerf/package.py index fb84326608de62..f4bac7710014b7 100644 --- a/var/spack/repos/builtin/packages/libcerf/package.py +++ b/var/spack/repos/builtin/packages/libcerf/package.py @@ -19,6 +19,9 @@ class Libcerf(AutotoolsPackage, SourceforgePackage): version("1.3", sha256="d7059e923d3f370c89fb4d19ed4f827d381bc3f0e36da5595a04aeaaf3e6a859") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + def configure_args(self): spec = self.spec options = [] diff --git a/var/spack/repos/builtin/packages/libcgroup/package.py b/var/spack/repos/builtin/packages/libcgroup/package.py index 8c564733515b56..98779767171266 100644 --- a/var/spack/repos/builtin/packages/libcgroup/package.py +++ b/var/spack/repos/builtin/packages/libcgroup/package.py @@ -18,6 +18,9 @@ class Libcgroup(AutotoolsPackage): version("0.37", sha256="15c8f3febb546530d3495af4e4904b3189c273277ca2d8553dec882cde1cd0f6") version("0.36", sha256="8dcd2ae220435b3de736d3efb0023fdf1192d7a7f4032b439f3cf5342cff7b4c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/libcint/package.py b/var/spack/repos/builtin/packages/libcint/package.py index 4578518dcc192e..98fef4336768e6 100644 --- a/var/spack/repos/builtin/packages/libcint/package.py +++ b/var/spack/repos/builtin/packages/libcint/package.py @@ -33,6 +33,9 @@ class Libcint(CMakePackage): version("3.0.5", sha256="7bde241ce83c00b89c80459e3af5734d40925d8fd9fcaaa7245f61b08192c722") version("3.0.4", sha256="0f25ef7ad282dd7a20e4decf283558e4f949243a5423ff4c0cd875276c310c47") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # # Variants # diff --git a/var/spack/repos/builtin/packages/libcircle/package.py b/var/spack/repos/builtin/packages/libcircle/package.py index 115164fd99ad0f..a07cf2bb347e38 100644 --- a/var/spack/repos/builtin/packages/libcircle/package.py +++ b/var/spack/repos/builtin/packages/libcircle/package.py @@ -26,6 +26,8 @@ class Libcircle(AutotoolsPackage): "0.2.1-rc.1", sha256="5747f91cf4417023304dcc92fd07e3617ac712ca1eeb698880979bbca3f54865" ) + depends_on("c", type="build") # generated + depends_on("mpi") depends_on("pkgconfig", type="build") depends_on("libpciaccess", type="link") diff --git a/var/spack/repos/builtin/packages/libconfig/package.py b/var/spack/repos/builtin/packages/libconfig/package.py index a798afa49ceaed..2b2430577824ac 100644 --- a/var/spack/repos/builtin/packages/libconfig/package.py +++ b/var/spack/repos/builtin/packages/libconfig/package.py @@ -21,6 +21,9 @@ class Libconfig(AutotoolsPackage): version("1.7.1", sha256="d288e6ae817f4ef78df43cdb2647f768dc97899ee82fcc41f857e8eb9fd7fbdb") version("1.5", sha256="cae5c02361d8a9b2bb26946c64f089d2e5e599972f386203fbc48975c0d885c8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("m4", type=("build")) depends_on("autoconf", type=("build")) depends_on("automake", type=("build")) diff --git a/var/spack/repos/builtin/packages/libconfuse/package.py b/var/spack/repos/builtin/packages/libconfuse/package.py index e04391ba89c842..cdb5cc66dbdabf 100644 --- a/var/spack/repos/builtin/packages/libconfuse/package.py +++ b/var/spack/repos/builtin/packages/libconfuse/package.py @@ -18,6 +18,8 @@ class Libconfuse(AutotoolsPackage): version("3.2.2", sha256="2cf7e032980aff8f488efba61510dc3fb95e9a4b9183f985dea457a5651b0e2c") version("3.2.1", sha256="2eff8e3c300c4ed1d67fdb13f9d31a72a68e31874b4640db15334305bc40cebd") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/libcroco/package.py b/var/spack/repos/builtin/packages/libcroco/package.py index 851b364f8de8cc..45a6c6ef696c92 100644 --- a/var/spack/repos/builtin/packages/libcroco/package.py +++ b/var/spack/repos/builtin/packages/libcroco/package.py @@ -18,6 +18,8 @@ class Libcroco(AutotoolsPackage): version("0.6.13", sha256="767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4") version("0.6.12", sha256="ddc4b5546c9fb4280a5017e2707fbd4839034ed1aba5b7d4372212f34f84f860") + depends_on("c", type="build") # generated + variant("doc", default=False, description="Build documentation with gtk-doc") depends_on("glib") diff --git a/var/spack/repos/builtin/packages/libctl/package.py b/var/spack/repos/builtin/packages/libctl/package.py index d1ac1b924429bc..86332a99e96938 100644 --- a/var/spack/repos/builtin/packages/libctl/package.py +++ b/var/spack/repos/builtin/packages/libctl/package.py @@ -25,6 +25,8 @@ class Libctl(AutotoolsPackage): url="http://ab-initio.mit.edu/libctl/libctl-3.2.2.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("guile") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/libcudf/package.py b/var/spack/repos/builtin/packages/libcudf/package.py index f3b56e93b470d5..b3fc85919d354f 100644 --- a/var/spack/repos/builtin/packages/libcudf/package.py +++ b/var/spack/repos/builtin/packages/libcudf/package.py @@ -19,6 +19,8 @@ class Libcudf(CMakePackage): version("0.15.0", sha256="2570636b72cce4c52f71e36307f51f630e2f9ea94a1abc018d40ce919ba990e4") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.14:", type="build") depends_on("cuda@10.0:") diff --git a/var/spack/repos/builtin/packages/libcuml/package.py b/var/spack/repos/builtin/packages/libcuml/package.py index 7d2b27346c311d..5173eb1b590dd5 100644 --- a/var/spack/repos/builtin/packages/libcuml/package.py +++ b/var/spack/repos/builtin/packages/libcuml/package.py @@ -16,6 +16,8 @@ class Libcuml(CMakePackage): version("0.15.0", sha256="5c9c656ae4eaa94a426e07d7385fd5ea0e5dc7abff806af2941aee10d4ca99c7") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.14:", type="build") depends_on("zlib-api") depends_on("libcudf@0.8:") diff --git a/var/spack/repos/builtin/packages/libcumlprims/package.py b/var/spack/repos/builtin/packages/libcumlprims/package.py index eaf7fab4559460..a7ae12acb2e3ba 100644 --- a/var/spack/repos/builtin/packages/libcumlprims/package.py +++ b/var/spack/repos/builtin/packages/libcumlprims/package.py @@ -25,6 +25,8 @@ class Libcumlprims(Package): sha256="f055f904b5ef67995869b0bc648d9fe30839b08e77cb335573bf9f1c816d4d9b", ) + depends_on("cxx", type="build") # generated + depends_on("cuda@11.0.0:11.0", when="@0.15.0-cuda11.0_gdbd0d39_0") depends_on("cuda@10.2.0:10.2", when="@0.15.0-cuda10.2_gdbd0d39_0") depends_on("cuda@10.1.0:10.1", when="@0.15.0-cuda10.1_gdbd0d39_0") diff --git a/var/spack/repos/builtin/packages/libcxxwrap-julia/package.py b/var/spack/repos/builtin/packages/libcxxwrap-julia/package.py index 9cdcfea1f8ed6d..e5ecdfe8fa53bd 100644 --- a/var/spack/repos/builtin/packages/libcxxwrap-julia/package.py +++ b/var/spack/repos/builtin/packages/libcxxwrap-julia/package.py @@ -21,8 +21,12 @@ class LibcxxwrapJulia(CMakePackage): # note: use the @main branch version if you're building for julia 1.7 version("main", branch="main") + version("0.12.5", sha256="7970ab5e2a22a7be5185d40f184fa0b3949a3e83ffdf4f1512feb4f261957312") + version("0.12.4", sha256="c1eafbbefd01074b4e303603e7c012518fc9ce86e055f08c0f0446bc46d50327") version("0.9.1", sha256="d7938d88ae2dbcc6abf505df3ac280dcd7c85fca0954af56911cf510d6161e05") version("0.8.3", sha256="b0421d11bdee5ce8af4922de6dfe3b0e5d69b07bb52894e3a22a477bbd27ee9e") version("0.8.2", sha256="f8b171def3d61904ba8f9a9052a405c25afbfb9a3c5af3dd30bc36a0184ed539") + depends_on("cxx", type="build") # generated + depends_on("julia") diff --git a/var/spack/repos/builtin/packages/libcyaml/package.py b/var/spack/repos/builtin/packages/libcyaml/package.py index 9f57d364114eb7..098ea2af6e554c 100644 --- a/var/spack/repos/builtin/packages/libcyaml/package.py +++ b/var/spack/repos/builtin/packages/libcyaml/package.py @@ -19,6 +19,8 @@ class Libcyaml(MakefilePackage): version("1.4.0", sha256="e803fef0e254aa1f302c622c2d25cff989e04e9b2bebb7d22abd91386373122f") version("1.1.0", sha256="37a00ed8ec206b60a712acfd44196bef063b8f02e376d8e86f61a7007a81daea") + depends_on("c", type="build") # generated + depends_on("libyaml") def build(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/libdaemon/package.py b/var/spack/repos/builtin/packages/libdaemon/package.py index a73e9947c0a7c0..92c127ee5447df 100644 --- a/var/spack/repos/builtin/packages/libdaemon/package.py +++ b/var/spack/repos/builtin/packages/libdaemon/package.py @@ -18,3 +18,5 @@ class Libdaemon(AutotoolsPackage): version("0.14", sha256="fd23eb5f6f986dcc7e708307355ba3289abe03cc381fc47a80bca4a50aa6b834") version("0.13", sha256="bd949d459d2da54f1cdfbd1f4592e32541e8a195aca56fa7a8329ed79836d709") version("0.12", sha256="39e7c9f8644d1af310d076c1a5cc648040033e4724e7edfd85eb983ad88336d0") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libdap4/package.py b/var/spack/repos/builtin/packages/libdap4/package.py index b8ad2a2e7fb58c..6744921e27ecbc 100644 --- a/var/spack/repos/builtin/packages/libdap4/package.py +++ b/var/spack/repos/builtin/packages/libdap4/package.py @@ -24,6 +24,10 @@ class Libdap4(AutotoolsPackage): version("3.20.6", sha256="e44e83043c158d8c9d0a37a1821626ab0db4a1a6578b02182440170c0b060e6d") version("3.20.4", sha256="c39fa310985cc8963029ad0d0aba784e7dbf1f70c566bd7ae58242f1bb06d24a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libdatrie/package.py b/var/spack/repos/builtin/packages/libdatrie/package.py index f2534674bd3174..0437fe86218ead 100644 --- a/var/spack/repos/builtin/packages/libdatrie/package.py +++ b/var/spack/repos/builtin/packages/libdatrie/package.py @@ -18,4 +18,6 @@ class Libdatrie(AutotoolsPackage): version("0.2.12", sha256="452dcc4d3a96c01f80f7c291b42be11863cd1554ff78b93e110becce6e00b149") version("0.2.11", sha256="547c7bd2ab9e10ad65f3270cae8ca7027f52db9c30f7327d24354ad41a98e94b") + depends_on("c", type="build") # generated + depends_on("doxygen@1.8.8:", type="build") diff --git a/var/spack/repos/builtin/packages/libdc1394/package.py b/var/spack/repos/builtin/packages/libdc1394/package.py index b8151a70d9df88..f84ff749d2fd8e 100644 --- a/var/spack/repos/builtin/packages/libdc1394/package.py +++ b/var/spack/repos/builtin/packages/libdc1394/package.py @@ -18,6 +18,8 @@ class Libdc1394(AutotoolsPackage): version("2.2.6", sha256="2b905fc9aa4eec6bdcf6a2ae5f5ba021232739f5be047dec8fe8dd6049c10fed") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("libusb") depends_on("libraw1394") diff --git a/var/spack/repos/builtin/packages/libde265/package.py b/var/spack/repos/builtin/packages/libde265/package.py index 7e6db94a658944..340f8061fd0824 100644 --- a/var/spack/repos/builtin/packages/libde265/package.py +++ b/var/spack/repos/builtin/packages/libde265/package.py @@ -21,4 +21,7 @@ class Libde265(CMakePackage): version("1.0.9", sha256="153554f407718a75f1e0ae197d35b43147ce282118a54f894554dbe27c32163d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.13:", type="build") diff --git a/var/spack/repos/builtin/packages/libdeflate/package.py b/var/spack/repos/builtin/packages/libdeflate/package.py index f140cb57a3f487..a79d5c8beaf70d 100644 --- a/var/spack/repos/builtin/packages/libdeflate/package.py +++ b/var/spack/repos/builtin/packages/libdeflate/package.py @@ -22,6 +22,8 @@ class Libdeflate(MakefilePackage, CMakePackage): version("1.10", sha256="5c1f75c285cd87202226f4de49985dcb75732f527eefba2b3ddd70a8865f2533") version("1.7", sha256="a5e6a0a9ab69f40f0f59332106532ca76918977a974e7004977a9498e3f11350") + depends_on("c", type="build") # generated + build_system( conditional("makefile", when="@:1.14"), conditional("cmake", when="@1.15:"), diff --git a/var/spack/repos/builtin/packages/libdicom/package.py b/var/spack/repos/builtin/packages/libdicom/package.py index 50589aee17ec70..ab55e4c220e93f 100644 --- a/var/spack/repos/builtin/packages/libdicom/package.py +++ b/var/spack/repos/builtin/packages/libdicom/package.py @@ -17,6 +17,8 @@ class Libdicom(MesonPackage): version("1.1.0", sha256="a0ab640e050f373bc5a3e1ec99bee7d5b488652340855223a73002181b094ae8") version("1.0.5", sha256="ebf5f7c0d1a0f802c1801f2f762537f014f2a431be3e063142f6ed3c96878abb") + depends_on("c", type="build") # generated + depends_on("meson@0.50:", type="build") depends_on("ninja", type="build") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/libdistributed/package.py b/var/spack/repos/builtin/packages/libdistributed/package.py index 72fea1afd145c9..42566c109ce593 100644 --- a/var/spack/repos/builtin/packages/libdistributed/package.py +++ b/var/spack/repos/builtin/packages/libdistributed/package.py @@ -36,6 +36,8 @@ class Libdistributed(CMakePackage): version("0.0.2", sha256="c25309108fe17021fd5f06ba98386210708158c439e98326e68f66c42875e58a") version("0.0.1", sha256="4c23ce0fd70a12ee5f8760ea00377ab6370d86b30ab42476e07453b19ea4ac44") + depends_on("cxx", type="build") # generated + depends_on("mpi@2:") depends_on("libstdcompat@0.0.2:", when="@0.1.0:") @@ -49,5 +51,5 @@ def cmake_args(self): @run_after("build") @on_package_attributes(run_tests=True) - def test(self): + def check_test(self): make("test") diff --git a/var/spack/repos/builtin/packages/libdivsufsort/package.py b/var/spack/repos/builtin/packages/libdivsufsort/package.py index bebbc0c57b19c2..4b6a56e19f39c2 100644 --- a/var/spack/repos/builtin/packages/libdivsufsort/package.py +++ b/var/spack/repos/builtin/packages/libdivsufsort/package.py @@ -17,6 +17,8 @@ class Libdivsufsort(CMakePackage): version("2.0.1", sha256="9164cb6044dcb6e430555721e3318d5a8f38871c2da9fd9256665746a69351e0") + depends_on("c", type="build") # generated + def cmake_args(self): args = ["-DBUILD_DIVSUFSORT64=ON"] return args diff --git a/var/spack/repos/builtin/packages/libdmx/package.py b/var/spack/repos/builtin/packages/libdmx/package.py index e718a275151dda..0a864812544f9c 100644 --- a/var/spack/repos/builtin/packages/libdmx/package.py +++ b/var/spack/repos/builtin/packages/libdmx/package.py @@ -17,6 +17,8 @@ class Libdmx(AutotoolsPackage, XorgPackage): version("1.1.4", sha256="4d05bd5b248c1f46729fa1536b7a5e4d692567327ad41564c36742fb327af925") version("1.1.3", sha256="c4b24d7e13e5a67ead7a18f0b4cc9b7b5363c9d04cd01b83b5122ff92b3b4996") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libdrm/package.py b/var/spack/repos/builtin/packages/libdrm/package.py index 7d1c88285dd73b..703f1def981438 100644 --- a/var/spack/repos/builtin/packages/libdrm/package.py +++ b/var/spack/repos/builtin/packages/libdrm/package.py @@ -39,6 +39,8 @@ class Libdrm(Package): version("2.4.59", sha256="ed9d03a92c2d80e6310cc350db3430620f1659ae084a07c6824cee7bc81ae8fa") version("2.4.33", sha256="bd2a8fecf28616f2157ca33ede691c139cc294ed2d0c4244b62ca7d22e98e5a4") + depends_on("c", type="build") # generated + variant("docs", default=False, description="Build man pages") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/libdwarf/package.py b/var/spack/repos/builtin/packages/libdwarf/package.py index f935a7ca79147f..bdb570ef1382c1 100644 --- a/var/spack/repos/builtin/packages/libdwarf/package.py +++ b/var/spack/repos/builtin/packages/libdwarf/package.py @@ -35,6 +35,9 @@ class Libdwarf(Package): version("20130729", sha256="b6455d8616baf2883e2af91f006d6cbd583128fdfff46e3d1fae460bc223bb7b") version("20130207", sha256="5cb81459f0a1f6a2a10ef4635faddc2fa5e1a9e36901018c017759e491e708b8") version("20130126", sha256="c23c847935f8612f4fcdcfa0b3311f1553dcbd95bb683d3d5e030440201192fe") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("elfutils@0.163", when="@20160507", type="link") depends_on("elf", type="link") depends_on("zlib-api", type="link") diff --git a/var/spack/repos/builtin/packages/libeatmydata/package.py b/var/spack/repos/builtin/packages/libeatmydata/package.py index 02c69137c38b0b..d749d9e9bf29ac 100644 --- a/var/spack/repos/builtin/packages/libeatmydata/package.py +++ b/var/spack/repos/builtin/packages/libeatmydata/package.py @@ -20,6 +20,8 @@ class Libeatmydata(AutotoolsPackage): version("131", sha256="cf18a8c52138a38541be3478af446c06048108729d7e18476492d62d54baabc4") version("105", sha256="bdd2d068b6b27cf47cd22aa4c5da43b3d4a05944cfe0ad1b0d843d360ed3a8dd") + depends_on("c", type="build") # generated + depends_on("strace", type="test") def check(self): diff --git a/var/spack/repos/builtin/packages/libecpint/package.py b/var/spack/repos/builtin/packages/libecpint/package.py index dc6c9af0624466..34bab8e69cd132 100644 --- a/var/spack/repos/builtin/packages/libecpint/package.py +++ b/var/spack/repos/builtin/packages/libecpint/package.py @@ -26,6 +26,8 @@ class Libecpint(CMakePackage): version("1.0.1", sha256="245b89fe8cb0a92cbbb79c811b48cb15fcfc937389df89387466f1bf76a096bf") version("1.0.0", sha256="47d741cc48a543ef9c85483cb2d5cd1c9f6677fa7e9920886d083b3c25232379") + depends_on("cxx", type="build") # generated + depends_on("pugixml") depends_on("googletest") diff --git a/var/spack/repos/builtin/packages/libedit/package.py b/var/spack/repos/builtin/packages/libedit/package.py index 6d1d1aeb7db15d..5a85f50e334f4f 100644 --- a/var/spack/repos/builtin/packages/libedit/package.py +++ b/var/spack/repos/builtin/packages/libedit/package.py @@ -33,6 +33,8 @@ class Libedit(AutotoolsPackage): "3.1-20150325", sha256="c88a5e4af83c5f40dda8455886ac98923a9c33125699742603a88a0253fcc8c5" ) + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("ncurses") diff --git a/var/spack/repos/builtin/packages/libefence/package.py b/var/spack/repos/builtin/packages/libefence/package.py index a0178ed080925e..70902fb8876219 100644 --- a/var/spack/repos/builtin/packages/libefence/package.py +++ b/var/spack/repos/builtin/packages/libefence/package.py @@ -22,6 +22,8 @@ class Libefence(MakefilePackage): version("2.2.6", sha256="a949e0dedb06cbcd444566cce1457223f2c41abd3513f21663f30f19ccc48e24") + depends_on("c", type="build") # generated + def build(self, spec, prefix): make() diff --git a/var/spack/repos/builtin/packages/libelf/package.py b/var/spack/repos/builtin/packages/libelf/package.py index 4b575a6a92331a..e4fe56ec745d2f 100644 --- a/var/spack/repos/builtin/packages/libelf/package.py +++ b/var/spack/repos/builtin/packages/libelf/package.py @@ -29,6 +29,8 @@ class Libelf(AutotoolsPackage): version("0.8.13", sha256="591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d") + depends_on("c", type="build") # generated + provides("elf@0") # configure: error: neither int nor long is 32-bit @@ -55,7 +57,7 @@ def install(self, spec, prefix): def flag_handler(self, name, flags): if name == "cflags": - if self.spec.satisfies("%clang@16:"): + if self.spec.satisfies("%clang@16:") or self.spec.satisfies("%gcc@14:"): flags.append("-Wno-error=implicit-int") flags.append("-Wno-error=implicit-function-declaration") return (flags, None, None) diff --git a/var/spack/repos/builtin/packages/libepoxy/package.py b/var/spack/repos/builtin/packages/libepoxy/package.py index 1736ae80d75a11..1a530a072cfca1 100644 --- a/var/spack/repos/builtin/packages/libepoxy/package.py +++ b/var/spack/repos/builtin/packages/libepoxy/package.py @@ -18,6 +18,8 @@ class Libepoxy(AutotoolsPackage): version("1.4.3", sha256="0b808a06c9685a62fca34b680abb8bc7fb2fda074478e329b063c1f872b826f6") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("gl") depends_on("libx11", when="+glx") diff --git a/var/spack/repos/builtin/packages/libestr/package.py b/var/spack/repos/builtin/packages/libestr/package.py index 1f8a2cf0d004b1..140ac55962803c 100644 --- a/var/spack/repos/builtin/packages/libestr/package.py +++ b/var/spack/repos/builtin/packages/libestr/package.py @@ -18,6 +18,8 @@ class Libestr(AutotoolsPackage): version("0.1.10", sha256="e8756b071540314abef25c044f893d6b5d249e46709329a4b3e7361403c29a1e") version("0.1.9", sha256="efa0b90b5fe22844bac26042f988de6e8b2770e28dbd84bf49b9982d9c3e34f8") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libev/package.py b/var/spack/repos/builtin/packages/libev/package.py index 9296dc1f678030..e436d4d81ed6b9 100644 --- a/var/spack/repos/builtin/packages/libev/package.py +++ b/var/spack/repos/builtin/packages/libev/package.py @@ -20,6 +20,8 @@ class Libev(AutotoolsPackage): version("4.33", sha256="507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea") version("4.24", sha256="973593d3479abdf657674a55afe5f78624b0e440614e2b8cb3a07f16d4d7f821") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build", when="@develop") depends_on("automake", type="build", when="@develop") depends_on("libtool", type="build", when="@develop") diff --git a/var/spack/repos/builtin/packages/libevdev/package.py b/var/spack/repos/builtin/packages/libevdev/package.py index 3bd9774d30ab89..4742be67360770 100644 --- a/var/spack/repos/builtin/packages/libevdev/package.py +++ b/var/spack/repos/builtin/packages/libevdev/package.py @@ -22,6 +22,8 @@ class Libevdev(AutotoolsPackage): version("1.5.1", sha256="a9a789abf2f047d2449f09458bb754a9dd53f550ea537654d59492acad787ce6") version("1.5.0", sha256="ae1b64f26f4b6b55d78bf6e8de87eeb8c58e964b1d457ffa8060e4a889dcb31f") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libevent/package.py b/var/spack/repos/builtin/packages/libevent/package.py index 22fe9966700b52..f209436385e5af 100644 --- a/var/spack/repos/builtin/packages/libevent/package.py +++ b/var/spack/repos/builtin/packages/libevent/package.py @@ -36,6 +36,8 @@ class Libevent(AutotoolsPackage): version("2.0.13", sha256="e2cc3b9f03e68ff878919b1cd031a210ba9ff376283d895161afcbc25aca00a9") version("2.0.12", sha256="ac0283f72e0f881e93ac3ae9497a20c78bd075c6c12506ad10e821aa1c29e5ab") + depends_on("c", type="build") # generated + variant( "openssl", default=True, description="Build with encryption enabled at the libevent level." ) diff --git a/var/spack/repos/builtin/packages/libevpath/package.py b/var/spack/repos/builtin/packages/libevpath/package.py index 0b88d6c597c977..2bf9681b800323 100644 --- a/var/spack/repos/builtin/packages/libevpath/package.py +++ b/var/spack/repos/builtin/packages/libevpath/package.py @@ -24,6 +24,8 @@ class Libevpath(CMakePackage): version("4.1.2", sha256="2c0d5acc0e1c5aadd32d7147d2f0ce26220e3870e21c7d5429372d8f881e519e") version("4.1.1", sha256="cfc9587f98c1f057eb25712855d14311fd91d6284151eee7bd8936c4ff7ee001") + depends_on("c", type="build") # generated + variant("enet_transport", default=False, description="Build an ENET transport for EVpath") depends_on("gtkorvo-enet", when="@4.4.0: +enet_transport") diff --git a/var/spack/repos/builtin/packages/libexif/package.py b/var/spack/repos/builtin/packages/libexif/package.py index 185be43a3669dd..553b406e2ac522 100644 --- a/var/spack/repos/builtin/packages/libexif/package.py +++ b/var/spack/repos/builtin/packages/libexif/package.py @@ -16,4 +16,6 @@ class Libexif(AutotoolsPackage, SourceforgePackage): license("LGPL-2.0-or-later") version("0.6.21", sha256="16cdaeb62eb3e6dfab2435f7d7bccd2f37438d21c5218ec4e58efa9157d4d41a") + + depends_on("c", type="build") # generated depends_on("glib") diff --git a/var/spack/repos/builtin/packages/libfabric/package.py b/var/spack/repos/builtin/packages/libfabric/package.py index 862595623a1e3f..4e15a2acd7828a 100644 --- a/var/spack/repos/builtin/packages/libfabric/package.py +++ b/var/spack/repos/builtin/packages/libfabric/package.py @@ -25,8 +25,10 @@ class Libfabric(AutotoolsPackage): version("main", branch="main") version("1.21.0", sha256="0c1b7b830d9147f661e5d7f359250b85b5a9885c330464cd3b5e5d35b86551c7") + version("1.20.2", sha256="75b89252a0b8b3eae8e60f7098af1598445a99a99e8fc1ff458e2fd5d4ef8cde") version("1.20.1", sha256="fd88d65c3139865d42a6eded24e121aadabd6373239cef42b76f28630d6eed76") version("1.20.0", sha256="7fbbaeb0e15c7c4553c0ac5f54e4ef7aecaff8a669d4ba96fa04b0fc780b9ddc") + version("1.19.1", sha256="b8839e56d80470a917453a7d8ad9cb717f6683fee28cf93de5f3a056ed4f04c8") version("1.19.0", sha256="f14c764be9103e80c46223bde66e530e5954cb28b3835b57c8e728479603ef9e") version("1.18.2", sha256="64d7837853ca84d2a413fdd96534b6a81e6e777cc13866e28cf86cd0ccf1b93e") version("1.18.1", sha256="4615ae1e22009e59c72ae03c20adbdbd4a3dce95aeefbc86cc2bf1acc81c9e38") @@ -62,6 +64,8 @@ class Libfabric(AutotoolsPackage): version("1.5.0", sha256="88a8ad6772f11d83e5b6f7152a908ffcb237af273a74a1bd1cb4202f577f1f23") version("1.4.2", sha256="5d027d7e4e34cb62508803e51d6bd2f477932ad68948996429df2bfff37ca2a5") + depends_on("c", type="build") # generated + fabrics = ( conditional("cxi", when=spack.platforms.cray.slingshot_network()), "efa", diff --git a/var/spack/repos/builtin/packages/libfastcommon/package.py b/var/spack/repos/builtin/packages/libfastcommon/package.py index b66f8a3b73fc16..cf3612f0e214c7 100644 --- a/var/spack/repos/builtin/packages/libfastcommon/package.py +++ b/var/spack/repos/builtin/packages/libfastcommon/package.py @@ -24,6 +24,8 @@ class Libfastcommon(Package): version("1.0.40", sha256="ebb89a1bfeb5b140f596fd3e2a0ff202420be05a4d80ef67ddcfdbb248b9fef8") version("1.0.39", sha256="72ca36f83f3453564ca09d2d0c31354b868cf52ef5a24cfb15e66d0e505c90ac") + depends_on("c", type="build") # generated + def install(self, spec, prefix): sh = which("sh") sh("make.sh") diff --git a/var/spack/repos/builtin/packages/libfastjson/package.py b/var/spack/repos/builtin/packages/libfastjson/package.py index 445f7a3604eb4e..69878f99669065 100644 --- a/var/spack/repos/builtin/packages/libfastjson/package.py +++ b/var/spack/repos/builtin/packages/libfastjson/package.py @@ -18,6 +18,8 @@ class Libfastjson(AutotoolsPackage): version("0.99.7", sha256="a142a6e5fa5c9c4ac32615c42fc663a1a14bff305c922e55192b6abf7d1ce1d8") version("0.99.6", sha256="617373e5205c84b5f674354df6ee9cba53ef8a227f0d1aa928666ed8a16d5547") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libffi/package.py b/var/spack/repos/builtin/packages/libffi/package.py index 926feb396dddc3..c2b8b12a6e8d5b 100644 --- a/var/spack/repos/builtin/packages/libffi/package.py +++ b/var/spack/repos/builtin/packages/libffi/package.py @@ -33,6 +33,9 @@ class Libffi(AutotoolsPackage): sha256="d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch("clang-powerpc-3.2.1.patch", when="@3.2.1%clang platform=linux") # ref.: https://github.com/libffi/libffi/pull/561 patch("powerpc-3.3.patch", when="@3.3") @@ -58,7 +61,7 @@ def flag_handler(self, name, flags): return (flags, None, None) def configure_args(self): - args = [] + args = ["--with-pic"] if self.spec.version >= Version("3.3"): # Spack adds its own target flags, so tell libffi not to # second-guess us diff --git a/var/spack/repos/builtin/packages/libffs/package.py b/var/spack/repos/builtin/packages/libffs/package.py index 0623e1637bb733..ad3a2d1de1d81c 100644 --- a/var/spack/repos/builtin/packages/libffs/package.py +++ b/var/spack/repos/builtin/packages/libffs/package.py @@ -23,6 +23,8 @@ class Libffs(CMakePackage): version("1.1.1", sha256="9c3a82b3357e6ac255b65d4f45003dd270dea3ec0cd7a2aa40b59b3eab4bdb83") version("1.1", sha256="008fd87c5a6cb216cd757b4dc04057fc987b39b7a367623eb4cf0fd32a9fd81e") + depends_on("c", type="build") # generated + depends_on("flex", type="build", when="@:1.4") depends_on("bison", type="build", when="@:1.4") depends_on("gtkorvo-cercs-env", type="build", when="@:1.4") diff --git a/var/spack/repos/builtin/packages/libfirefly/package.py b/var/spack/repos/builtin/packages/libfirefly/package.py index 40ef846e163233..4230fb8b72ec72 100644 --- a/var/spack/repos/builtin/packages/libfirefly/package.py +++ b/var/spack/repos/builtin/packages/libfirefly/package.py @@ -20,6 +20,8 @@ class Libfirefly(CMakePackage): version("master", branch="master") version("2.1.0", sha256="4de4b216c73199a1826de7a0d45205b401603315347d7947d8b5950d3e6b893d") + depends_on("cxx", type="build") # generated + variant( "double-precision", description="Enables double type instead of float when enabled", diff --git a/var/spack/repos/builtin/packages/libfive/package.py b/var/spack/repos/builtin/packages/libfive/package.py index 71935c8128e1b2..04d2036b6e1b97 100644 --- a/var/spack/repos/builtin/packages/libfive/package.py +++ b/var/spack/repos/builtin/packages/libfive/package.py @@ -19,6 +19,8 @@ class Libfive(CMakePackage): # and currently, all tags are from 2017: version("master", branch="master") + depends_on("cxx", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("cmake@3.12:", type="build") depends_on("boost@1.65:") diff --git a/var/spack/repos/builtin/packages/libflame/package.py b/var/spack/repos/builtin/packages/libflame/package.py index f92c306aba207a..e43d9d358a4a2f 100644 --- a/var/spack/repos/builtin/packages/libflame/package.py +++ b/var/spack/repos/builtin/packages/libflame/package.py @@ -133,6 +133,9 @@ class Libflame(LibflameBase): version("5.2.0", sha256="997c860f351a5c7aaed8deec00f502167599288fd0559c92d5bfd77d0b4d475c") version("5.1.0", sha256="e7189b750890bd781fe773f366b374518dd1d89a6513d3d6261bf549826384d1") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + provides("flame@5.2", when="@5.2.0") provides("flame@5.1", when="@5.1.0") diff --git a/var/spack/repos/builtin/packages/libfms/package.py b/var/spack/repos/builtin/packages/libfms/package.py index a7e30c70dbe1ef..109f09800b4122 100644 --- a/var/spack/repos/builtin/packages/libfms/package.py +++ b/var/spack/repos/builtin/packages/libfms/package.py @@ -21,6 +21,9 @@ class Libfms(CMakePackage): version("develop", branch="master") version("0.2.0", tag="v0.2", commit="a66cb96711cc404c411f1bf07ca8db09b6f894eb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("conduit", default=True, description="Build with Conduit I/O support") variant("shared", default=True, description="Build shared libraries") diff --git a/var/spack/repos/builtin/packages/libfontenc/package.py b/var/spack/repos/builtin/packages/libfontenc/package.py index eb0daf794e34e9..79c153853e4f05 100644 --- a/var/spack/repos/builtin/packages/libfontenc/package.py +++ b/var/spack/repos/builtin/packages/libfontenc/package.py @@ -18,6 +18,8 @@ class Libfontenc(AutotoolsPackage, XorgPackage): version("1.1.7", sha256="5e5f210329823f08f97bfe9fd5b4105070c789bc5aef88ce01d86d8203d4aa9f") version("1.1.3", sha256="6fba26760ca8d5045f2b52ddf641c12cedc19ee30939c6478162b7db8b6220fb") + depends_on("c", type="build") # generated + depends_on("zlib-api") depends_on("xproto") diff --git a/var/spack/repos/builtin/packages/libfort/package.py b/var/spack/repos/builtin/packages/libfort/package.py index aeabbd233e2fbf..6a09762f3e8162 100644 --- a/var/spack/repos/builtin/packages/libfort/package.py +++ b/var/spack/repos/builtin/packages/libfort/package.py @@ -16,6 +16,9 @@ class Libfort(CMakePackage): version("0.4.2", sha256="8f7b03f1aa526e50c9828f09490f3c844b73d5f9ca72493fe81931746f75e489") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("enable_astyle", default=False, description="Enable astyle") variant("enable_wchar", default=True, description="Enable wchar support") variant("enable_utf8", default=True, description="Enable utf8 support") diff --git a/var/spack/repos/builtin/packages/libfs/package.py b/var/spack/repos/builtin/packages/libfs/package.py index 05a557246dd06e..9675762e54a319 100644 --- a/var/spack/repos/builtin/packages/libfs/package.py +++ b/var/spack/repos/builtin/packages/libfs/package.py @@ -18,6 +18,8 @@ class Libfs(AutotoolsPackage, XorgPackage): version("1.0.9", sha256="8bc2762f63178905228a28670539badcfa2c8793f7b6ce3f597b7741b932054a") version("1.0.7", sha256="91bf1c5ce4115b7dbf4e314fdbee54052708e8f7b6a2ec6e82c309bcbe40ef3d") + depends_on("c", type="build") # generated + depends_on("xproto@7.0.17:") depends_on("fontsproto") depends_on("xtrans") diff --git a/var/spack/repos/builtin/packages/libfuse/package.py b/var/spack/repos/builtin/packages/libfuse/package.py index 6aabffb453b89d..5177736a113c0d 100644 --- a/var/spack/repos/builtin/packages/libfuse/package.py +++ b/var/spack/repos/builtin/packages/libfuse/package.py @@ -31,6 +31,9 @@ class Libfuse(MesonPackage): version("3.9.2", sha256="b4409255cbda6f6975ca330f5b04cb335b823a95ddd8c812c3d224ec53478fc0") version("2.9.9", sha256="d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): if version < Version("3.0.0"): return "https://github.com/libfuse/libfuse/releases/download/fuse-{0}/fuse-{1}.tar.gz".format( diff --git a/var/spack/repos/builtin/packages/libfyaml/package.py b/var/spack/repos/builtin/packages/libfyaml/package.py index f471cc1417ac7e..7b2d4ac0d2a26e 100644 --- a/var/spack/repos/builtin/packages/libfyaml/package.py +++ b/var/spack/repos/builtin/packages/libfyaml/package.py @@ -20,4 +20,6 @@ class Libfyaml(AutotoolsPackage): version("0.7.12", sha256="485342c6920e9fdc2addfe75e5c3e0381793f18b339ab7393c1b6edf78bf8ca8") version("0.5.7", sha256="3221f31bb3feba97e544a82d0d5e4711ff0e4101cca63923dc5a1a001c187590") + depends_on("c", type="build") # generated + depends_on("m4", type="build") diff --git a/var/spack/repos/builtin/packages/libgain/package.py b/var/spack/repos/builtin/packages/libgain/package.py index dfe0bdc2924756..3f265a9e468a37 100644 --- a/var/spack/repos/builtin/packages/libgain/package.py +++ b/var/spack/repos/builtin/packages/libgain/package.py @@ -22,6 +22,8 @@ class Libgain(AutotoolsPackage): url="https://gitlab.com/l_sim/bigdft-suite/-/raw/1.9.1/GaIn-1.0.tar.gz", ) + depends_on("fortran", type="build") # generated + @property def libs(self): shared = "+shared" in self.spec diff --git a/var/spack/repos/builtin/packages/libgcrypt/package.py b/var/spack/repos/builtin/packages/libgcrypt/package.py index 9066892a96332e..3c5bcfdd5d4004 100644 --- a/var/spack/repos/builtin/packages/libgcrypt/package.py +++ b/var/spack/repos/builtin/packages/libgcrypt/package.py @@ -16,15 +16,19 @@ class Libgcrypt(AutotoolsPackage): license("LGPL-2.1-or-later AND GPL-2.0-or-later") + version("1.11.0", sha256="09120c9867ce7f2081d6aaa1775386b98c2f2f246135761aae47d81f58685b9c") version("1.10.3", sha256="8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa") version("1.10.2", sha256="3b9c02a004b68c256add99701de00b383accccf37177e0d6c58289664cce0c03") version("1.10.1", sha256="ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de") version("1.10.0", sha256="6a00f5c05caa4c4acc120c46b63857da0d4ff61dc4b4b03933fa8d46013fae81") + # End of life: 2024-03-31 - version("1.9.4", sha256="ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7") - version("1.9.3", sha256="97ebe4f94e2f7e35b752194ce15a0f3c66324e0ff6af26659bbfb5ff2ec328fd") - version("1.9.2", sha256="b2c10d091513b271e47177274607b1ffba3d95b188bbfa8797f948aec9053c5a") - version("1.9.1", sha256="c5a67a8b9b2bd370fb415ed1ee31c7172e5683076493cf4a3678a0fbdf0265d9") + with default_args(deprecated=True): + version("1.9.4", sha256="ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7") + version("1.9.3", sha256="97ebe4f94e2f7e35b752194ce15a0f3c66324e0ff6af26659bbfb5ff2ec328fd") + version("1.9.2", sha256="b2c10d091513b271e47177274607b1ffba3d95b188bbfa8797f948aec9053c5a") + version("1.9.1", sha256="c5a67a8b9b2bd370fb415ed1ee31c7172e5683076493cf4a3678a0fbdf0265d9") + # End of life: 2024-12-31 (LTS) version("1.8.9", sha256="2bda4790aa5f0895d3407cf7bf6bd7727fd992f25a45a63d92fef10767fa3769") version("1.8.7", sha256="03b70f028299561b7034b8966d7dd77ef16ed139c43440925fe8782561974748") @@ -32,19 +36,15 @@ class Libgcrypt(AutotoolsPackage): version("1.8.5", sha256="3b4a2a94cb637eff5bdebbcaf46f4d95c4f25206f459809339cdada0eb577ac3") version("1.8.4", sha256="f638143a0672628fde0cad745e9b14deb85dffb175709cacc1f4fe24b93f2227") version("1.8.1", sha256="7a2875f8b1ae0301732e878c0cca2c9664ff09ef71408f085c50e332656a78b3") - # End of life: 2019-06-30 - version( - "1.7.6", - sha256="626aafee84af9d2ce253d2c143dc1c0902dda045780cc241f39970fc60be05bc", - deprecated=True, - ) - version( - "1.6.2", - sha256="de084492a6b38cdb27b67eaf749ceba76bf7029f63a9c0c3c1b05c88c9885c4c", - deprecated=True, - ) + + depends_on("c", type="build") # generated depends_on("libgpg-error@1.25:") + depends_on("libgpg-error@1.27:", when="@1.9:") + depends_on("libgpg-error@1.49:", when="@1.11:") + + # See https://dev.gnupg.org/T7170 + conflicts("platform=darwin", when="@1.11.0") def flag_handler(self, name, flags): # We should not inject optimization flags through the wrapper, because diff --git a/var/spack/repos/builtin/packages/libgd/package.py b/var/spack/repos/builtin/packages/libgd/package.py index 6fff24d8ae75bc..86d787fa5fd472 100644 --- a/var/spack/repos/builtin/packages/libgd/package.py +++ b/var/spack/repos/builtin/packages/libgd/package.py @@ -24,6 +24,9 @@ class Libgd(AutotoolsPackage): version("2.3.3", sha256="dd3f1f0bb016edcc0b2d082e8229c822ad1d02223511997c80461481759b1ed2") version("2.2.4", sha256="487a650aa614217ed08ab1bd1aa5d282f9d379cfd95c756aed0b43406381be65") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Build dependencies depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/libgdsii/package.py b/var/spack/repos/builtin/packages/libgdsii/package.py index 660ad7e479b07f..2681d3919e7afa 100644 --- a/var/spack/repos/builtin/packages/libgdsii/package.py +++ b/var/spack/repos/builtin/packages/libgdsii/package.py @@ -19,6 +19,8 @@ class Libgdsii(AutotoolsPackage): version("0.21", sha256="1adc571c6b53df4c08d108f9ac4f4a7fd6fbefd4bc56f74e0b7b2801353671b8") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libgeotiff/package.py b/var/spack/repos/builtin/packages/libgeotiff/package.py index 4be72c04b58d1d..3a50f6d2fad66b 100644 --- a/var/spack/repos/builtin/packages/libgeotiff/package.py +++ b/var/spack/repos/builtin/packages/libgeotiff/package.py @@ -27,6 +27,8 @@ class Libgeotiff(AutotoolsPackage): version("1.4.3", sha256="b8510d9b968b5ee899282cdd5bef13fd02d5a4c19f664553f81e31127bc47265") version("1.4.2", sha256="ad87048adb91167b07f34974a8e53e4ec356494c29f1748de95252e8f81a5e6e") + depends_on("c", type="build") # generated + variant("zlib", default=True, description="Include zlib support") variant("jpeg", default=True, description="Include jpeg support") variant("proj", default=True, description="Use PROJ.x library") diff --git a/var/spack/repos/builtin/packages/libgff/package.py b/var/spack/repos/builtin/packages/libgff/package.py index bfced2214727bd..074a58c675e8c3 100644 --- a/var/spack/repos/builtin/packages/libgff/package.py +++ b/var/spack/repos/builtin/packages/libgff/package.py @@ -17,3 +17,5 @@ class Libgff(CMakePackage): maintainers("ajxander12") version("2.0.0", sha256="7656b19459a7ca7d2fd0fcec4f2e0fd0deec1b4f39c703a114e8f4c22d82a99c") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libgit2/package.py b/var/spack/repos/builtin/packages/libgit2/package.py index b390173633bb12..19655d280a07c8 100644 --- a/var/spack/repos/builtin/packages/libgit2/package.py +++ b/var/spack/repos/builtin/packages/libgit2/package.py @@ -66,6 +66,8 @@ class Libgit2(CMakePackage): version("0.26.1", sha256="68cd0f8ee9e0ca84dcf0f0267d0a8297471d3365622d22d3da67c57165bb0722") version("0.26.0", sha256="6a62393e0ceb37d02fe0d5707713f504e7acac9006ef33da1e88960bd78b6eac") + depends_on("c", type="build") # generated + # Backends variant( "https", diff --git a/var/spack/repos/builtin/packages/libgpg-error/package.py b/var/spack/repos/builtin/packages/libgpg-error/package.py index 0091ec310a3cd1..6b78a254237257 100644 --- a/var/spack/repos/builtin/packages/libgpg-error/package.py +++ b/var/spack/repos/builtin/packages/libgpg-error/package.py @@ -16,6 +16,7 @@ class LibgpgError(AutotoolsPackage): license("GPL-2.0-or-later AND LGPL-2.1-or-later") + version("1.50", sha256="69405349e0a633e444a28c5b35ce8f14484684518a508dc48a089992fe93e20a") version("1.49", sha256="8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9") version("1.48", sha256="89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f") version("1.47", sha256="9e3c670966b96ecc746c28c2c419541e3bcb787d1a73930f5e5f5e1bcbbb9bdb") @@ -32,9 +33,18 @@ class LibgpgError(AutotoolsPackage): version("1.21", sha256="b7dbdb3cad63a740e9f0c632a1da32d4afdb694ec86c8625c98ea0691713b84d") version("1.18", sha256="9ff1d6e61d4cef7c1d0607ceef6d40dc33f3da7a3094170c3718c00153d80810") + depends_on("c", type="build") # generated + depends_on("awk", type="build") # Patch for using gawk@5, c.f. https://dev.gnupg.org/T4459 patch("awk-5.patch", when="@1.36^gawk@5:") + # See https://github.com/macports/macports-ports/pull/24601 and https://dev.gnupg.org/T7169 + patch( + "https://raw.githubusercontent.com/ryandesign/macports-ports/290e77cca6ce054768ddefee2b51222d72780ac9/devel/libgpg-error/files/patch-src-spawn-posix.c.diff", + sha256="0b2a0ffab81b2b0b40d6ab59016c92fcebbe80710a3e0adba570f73f7a931d16", + level=0, + when="@1.50", + ) def configure_args(self): args = [ diff --git a/var/spack/repos/builtin/packages/libgpuarray/package.py b/var/spack/repos/builtin/packages/libgpuarray/package.py index fb989c250406f6..3b990e3bd945dd 100644 --- a/var/spack/repos/builtin/packages/libgpuarray/package.py +++ b/var/spack/repos/builtin/packages/libgpuarray/package.py @@ -24,6 +24,8 @@ class Libgpuarray(CMakePackage): version("0.6.1", sha256="b2466311e0e3bacdf7a586bba0263f6d232bf9f8d785e91ddb447653741e6ea5") version("0.6.0", sha256="a58a0624e894475a4955aaea25e82261c69b4d22c8f15ec07041a4ba176d35af") + depends_on("c", type="build") # generated + depends_on("cuda") depends_on("cmake@3:", type="build") depends_on("check") diff --git a/var/spack/repos/builtin/packages/libgridxc/package.py b/var/spack/repos/builtin/packages/libgridxc/package.py index 90473c0b0b9abe..85006947773b23 100644 --- a/var/spack/repos/builtin/packages/libgridxc/package.py +++ b/var/spack/repos/builtin/packages/libgridxc/package.py @@ -26,6 +26,8 @@ class Libgridxc(MakefilePackage): version("0.8.0", sha256="ff89b3302f850d1d9f651951e4ade20dfa4c71c809a2d86382c6797392064c9c") version("0.7.6", sha256="058b80f40c85997eea0eae3f15b7cc8105f817e59564106308b22f57a03b216b") + depends_on("fortran", type="build") # generated + depends_on("autoconf@2.69:", type="build") depends_on("automake@1.14:", type="build") depends_on("libtool@2.4.2:", type="build") diff --git a/var/spack/repos/builtin/packages/libgssglue/package.py b/var/spack/repos/builtin/packages/libgssglue/package.py index a3accd3280b4a3..f838f4d0bab544 100644 --- a/var/spack/repos/builtin/packages/libgssglue/package.py +++ b/var/spack/repos/builtin/packages/libgssglue/package.py @@ -17,3 +17,5 @@ class Libgssglue(AutotoolsPackage): version("0.4", sha256="3f791a75502ba723e5e85e41e5e0c711bb89e2716b7c0ec6e74bd1df6739043a") version("0.3", sha256="d98a022af432b61fe2a1eb811b5916743ccb781e383da680f1a00fd1005a5174") version("0.2", sha256="3de4974e19e54048acdc465d3b3c6c006cb66d2952d36e6b0afc10012184dc91") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libgta/package.py b/var/spack/repos/builtin/packages/libgta/package.py index 022be5a31d9abe..629408f62bc035 100644 --- a/var/spack/repos/builtin/packages/libgta/package.py +++ b/var/spack/repos/builtin/packages/libgta/package.py @@ -16,6 +16,9 @@ class Libgta(CMakePackage): version("1.2.1", sha256="d445667e145f755f0bc34ac89b63a6bfdce1eea943f87ee7a3f23dc0dcede8b1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.5:", type="build") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/libgtextutils/package.py b/var/spack/repos/builtin/packages/libgtextutils/package.py index c10e53bcb29666..4092d64ac39124 100644 --- a/var/spack/repos/builtin/packages/libgtextutils/package.py +++ b/var/spack/repos/builtin/packages/libgtextutils/package.py @@ -16,3 +16,6 @@ class Libgtextutils(AutotoolsPackage): patch("text_line_reader.patch") version("0.7", sha256="792e0ea3c96ffe3ad65617a104b7dc50684932bc96d2adab501c952fd65c3e4a") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libgtop/package.py b/var/spack/repos/builtin/packages/libgtop/package.py new file mode 100644 index 00000000000000..4486d691922edd --- /dev/null +++ b/var/spack/repos/builtin/packages/libgtop/package.py @@ -0,0 +1,26 @@ +# 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 Libgtop(AutotoolsPackage): + """Contains the GNOME top libraries for collecting system monitoring data""" + + homepage = "https://gitlab.gnome.org/GNOME/libgtop" + url = "https://download.gnome.org/sources/libgtop/2.41/libgtop-2.41.3.tar.xz" + + maintainers("teaguesterling") + + license("GPLv2", checked_by="teaguesterling") + + version("2.41.2", sha256="d9026cd8a48d27cdffd332f8d60a92764b56424e522c420cd13a01f40daf92c3") + version("2.41.1", sha256="43ea9ad13f7caf98303e64172b191be9b96bab340b019deeec72251ee140fe3b") + + depends_on("c", type="build") # generated + + depends_on("pkgconfig", type="build") + with default_args(type=("build", "link", "run")): + depends_on("glib@2.65:", when="@2.40:") + depends_on("gettext@:0.19", when="@:2.40.0") diff --git a/var/spack/repos/builtin/packages/libharu/package.py b/var/spack/repos/builtin/packages/libharu/package.py index d0706935ae284e..e3cad31663f64b 100644 --- a/var/spack/repos/builtin/packages/libharu/package.py +++ b/var/spack/repos/builtin/packages/libharu/package.py @@ -24,6 +24,9 @@ class Libharu(AutotoolsPackage): version("2.3.0", sha256="8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2") version("2.2.0", sha256="5e63246d2da0272a9dbe5963fd827c7efa6e29d97a2d047c0d4c5f0b780f10b5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libtool", type=("build")) depends_on("autoconf", type=("build")) depends_on("automake", type=("build")) diff --git a/var/spack/repos/builtin/packages/libhbaapi/package.py b/var/spack/repos/builtin/packages/libhbaapi/package.py index b61bcf2d7952cd..7749ecbc406e0e 100644 --- a/var/spack/repos/builtin/packages/libhbaapi/package.py +++ b/var/spack/repos/builtin/packages/libhbaapi/package.py @@ -18,6 +18,8 @@ class Libhbaapi(AutotoolsPackage): version("3.10", sha256="ca4f4ec3defa057c1b51bc87cc749efe5d54579e055d7a51688d18cc35166462") version("3.9", sha256="8e60616abde44488fed05254988f9b41653d2204a7218072714d6623e099c863") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libheif/package.py b/var/spack/repos/builtin/packages/libheif/package.py index fd45ec6bba262d..d33799e21045af 100644 --- a/var/spack/repos/builtin/packages/libheif/package.py +++ b/var/spack/repos/builtin/packages/libheif/package.py @@ -16,4 +16,7 @@ class Libheif(CMakePackage): version("1.12.0", sha256="086145b0d990182a033b0011caadb1b642da84f39ab83aa66d005610650b3c65") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.13:", type="build") diff --git a/var/spack/repos/builtin/packages/libhio/package.py b/var/spack/repos/builtin/packages/libhio/package.py index e978ede51507e0..b9a67e35bf21a0 100644 --- a/var/spack/repos/builtin/packages/libhio/package.py +++ b/var/spack/repos/builtin/packages/libhio/package.py @@ -32,6 +32,8 @@ class Libhio(AutotoolsPackage): version("1.4.1.1", sha256="5c65d18bf74357f9d9960bf6b9ad2432f8fc5a2b653e72befe4d1caabb9a2f7a") version("1.4.1.0", sha256="963f4a8d365afd92a5593f80946e2c4c79f4185d897436a43fae61dae5567ac4") + depends_on("c", type="build") # generated + # # main users of libhio thru spack will want to use HFDF5 plugin, # so make hdf5 variant a default diff --git a/var/spack/repos/builtin/packages/libhugetlbfs/package.py b/var/spack/repos/builtin/packages/libhugetlbfs/package.py index 82d96be232d27f..a6eeb114566136 100644 --- a/var/spack/repos/builtin/packages/libhugetlbfs/package.py +++ b/var/spack/repos/builtin/packages/libhugetlbfs/package.py @@ -17,6 +17,8 @@ class Libhugetlbfs(AutotoolsPackage): version("2.24", sha256="d501dfa91c8ead1106967a3d3829f2ba738c3fac0a65cb358ed2ab3870ddc5ef") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libiberty/package.py b/var/spack/repos/builtin/packages/libiberty/package.py index 41f2f3ac691ce5..f5bf3acb4b08ee 100644 --- a/var/spack/repos/builtin/packages/libiberty/package.py +++ b/var/spack/repos/builtin/packages/libiberty/package.py @@ -37,6 +37,9 @@ class Libiberty(AutotoolsPackage, GNUMirrorPackage): version("2.29.1", sha256="e7010a46969f9d3e53b650a518663f98a5dde3c3ae21b7d71e5e6803bc36b577") version("2.28.1", sha256="16328a906e55a3c633854beec8e9e255a639b366436470b4f6245eb0d2fde942") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("pic", default=False, description="Compile with position independent code.") # Configure and build just libiberty. diff --git a/var/spack/repos/builtin/packages/libibumad/package.py b/var/spack/repos/builtin/packages/libibumad/package.py index 2601b3ffbe49e2..19a3fbd7a62881 100644 --- a/var/spack/repos/builtin/packages/libibumad/package.py +++ b/var/spack/repos/builtin/packages/libibumad/package.py @@ -19,6 +19,8 @@ class Libibumad(CMakePackage): version("44.1", sha256="1dec7e25dd248f1ff4d262e5674297205ad9113a4ff25ab7ecbb75a824adac27") version("25.0", sha256="d735bd091d13e8a68ce650e432b5bdc934fc7f1d5fb42a6045278a5b3f7fe48b") + depends_on("c", type="build") # generated + depends_on("libnl") def build(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/libical/package.py b/var/spack/repos/builtin/packages/libical/package.py index 12000ad6307b17..452dbabd65198c 100644 --- a/var/spack/repos/builtin/packages/libical/package.py +++ b/var/spack/repos/builtin/packages/libical/package.py @@ -19,6 +19,9 @@ class Libical(CMakePackage): version("3.0.11", sha256="1e6c5e10c5a48f7a40c68958055f0e2759d9ab3563aca17273fe35a5df7dbbf1") version("3.0.8", sha256="09fecacaf75ba5a242159e3a9758a5446b5ce4d0ab684f98a7040864e1d1286f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1.0:", type="build") depends_on("perl", type="build") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/libicd/package.py b/var/spack/repos/builtin/packages/libicd/package.py index a8c7521e4495b4..307e372772ded3 100644 --- a/var/spack/repos/builtin/packages/libicd/package.py +++ b/var/spack/repos/builtin/packages/libicd/package.py @@ -16,6 +16,9 @@ class Libicd(CMakePackage): version("main", branch="main") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.5:", type="build") depends_on("jpeg") depends_on("libpng") diff --git a/var/spack/repos/builtin/packages/libice/package.py b/var/spack/repos/builtin/packages/libice/package.py index 986b5246785ae7..574d80e0faa363 100644 --- a/var/spack/repos/builtin/packages/libice/package.py +++ b/var/spack/repos/builtin/packages/libice/package.py @@ -21,6 +21,8 @@ class Libice(AutotoolsPackage, XorgPackage): version("1.0.10", sha256="1116bc64c772fd127a0d0c0ffa2833479905e3d3d8197740b3abd5f292f22d2d") version("1.0.9", sha256="7812a824a66dd654c830d21982749b3b563d9c2dfe0b88b203cefc14a891edc0") + depends_on("c", type="build") # generated + # technically libbsd is only required when glibc < 2.36 which provides arc4random_buf, # but spack doesn't currently have a good way to model this so we depend on it unconditionally depends_on("libbsd", when="platform=linux") diff --git a/var/spack/repos/builtin/packages/libiconv/package.py b/var/spack/repos/builtin/packages/libiconv/package.py index 2be3db5a803c96..bbc0178a95da1e 100644 --- a/var/spack/repos/builtin/packages/libiconv/package.py +++ b/var/spack/repos/builtin/packages/libiconv/package.py @@ -20,6 +20,8 @@ class Libiconv(AutotoolsPackage, GNUMirrorPackage): version("1.15", sha256="ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178") version("1.14", sha256="72b24ded17d687193c3366d0ebe7cde1e6b18f0df8c55438ac95be39e8a30613") + depends_on("c", type="build") # generated + variant( "libs", default="shared,static", diff --git a/var/spack/repos/builtin/packages/libid3tag/package.py b/var/spack/repos/builtin/packages/libid3tag/package.py index 2d28ded9c643d4..1fa9721b6a4bd0 100644 --- a/var/spack/repos/builtin/packages/libid3tag/package.py +++ b/var/spack/repos/builtin/packages/libid3tag/package.py @@ -19,6 +19,8 @@ class Libid3tag(AutotoolsPackage): version("0.15.1b", sha256="63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151") + depends_on("c", type="build") # generated + depends_on("zlib-api") depends_on("gperf") diff --git a/var/spack/repos/builtin/packages/libidl/package.py b/var/spack/repos/builtin/packages/libidl/package.py index 5074329b40c405..5dc471aebdb63c 100644 --- a/var/spack/repos/builtin/packages/libidl/package.py +++ b/var/spack/repos/builtin/packages/libidl/package.py @@ -17,6 +17,8 @@ class Libidl(AutotoolsPackage): version("0.8.14", sha256="c5d24d8c096546353fbc7cedf208392d5a02afe9d56ebcc1cccb258d7c4d2220") + depends_on("c", type="build") # generated + depends_on("flex", type="build") depends_on("bison", type="build") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/libidn/package.py b/var/spack/repos/builtin/packages/libidn/package.py index c46f2078bd0153..275ecd5f4f124c 100644 --- a/var/spack/repos/builtin/packages/libidn/package.py +++ b/var/spack/repos/builtin/packages/libidn/package.py @@ -22,3 +22,5 @@ class Libidn(AutotoolsPackage, GNUMirrorPackage): version("1.38", sha256="de00b840f757cd3bb14dd9a20d5936473235ddcba06d4bc2da804654b8bbf0f6") version("1.34", sha256="3719e2975f2fb28605df3479c380af2cf4ab4e919e1506527e4c7670afff6e3c") version("1.28", sha256="dd357a968449abc97c7e5fa088a4a384de57cb36564f9d4e0d898ecc6373abfb") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libidn2/package.py b/var/spack/repos/builtin/packages/libidn2/package.py index 1620dd2cc80f85..c073712bd12512 100644 --- a/var/spack/repos/builtin/packages/libidn2/package.py +++ b/var/spack/repos/builtin/packages/libidn2/package.py @@ -28,6 +28,8 @@ class Libidn2(AutotoolsPackage, GNUMirrorPackage): version("2.1.0", sha256="032398dbaa9537af43f51a8d94e967e3718848547b1b2a4eb3138b20cad11d32") version("2.0.5", sha256="53f69170886f1fa6fa5b332439c7a77a7d22626a82ef17e2c1224858bb4ca2b8") + depends_on("c", type="build") # generated + depends_on("libunistring") # in-source build fails diff --git a/var/spack/repos/builtin/packages/libimagequant/package.py b/var/spack/repos/builtin/packages/libimagequant/package.py index e4f22875f3b0cb..9c6a50553c335f 100644 --- a/var/spack/repos/builtin/packages/libimagequant/package.py +++ b/var/spack/repos/builtin/packages/libimagequant/package.py @@ -19,5 +19,7 @@ class Libimagequant(MakefilePackage): version("2.12.6", sha256="b34964512c0dbe550c5f1b394c246c42a988cd73b71a76c5838aa2b4a96e43a0") + depends_on("c", type="build") # generated + def edit(self, spec, prefix): configure("--prefix=" + prefix) diff --git a/var/spack/repos/builtin/packages/libinih/package.py b/var/spack/repos/builtin/packages/libinih/package.py index 8ed231a4cce81b..95f8333219fbc7 100644 --- a/var/spack/repos/builtin/packages/libinih/package.py +++ b/var/spack/repos/builtin/packages/libinih/package.py @@ -16,3 +16,6 @@ class Libinih(MesonPackage): git = "https://github.com/benhoyt/inih.git" version("master", branch="master") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libint/package.py b/var/spack/repos/builtin/packages/libint/package.py index 2dd4cd97a8601f..151d997690afe3 100644 --- a/var/spack/repos/builtin/packages/libint/package.py +++ b/var/spack/repos/builtin/packages/libint/package.py @@ -33,6 +33,7 @@ class Libint(AutotoolsPackage): license("LGPL-3.0-only") + version("2.9.0", sha256="4929b2f2d3e53479270be052e366e8c70fa154a7f309e5c2c23b7d394159687d") version("2.6.0", sha256="4ae47e8f0b5632c3d2a956469a7920896708e9f0e396ec10071b8181e4c8d9fa") version("2.4.2", sha256="86dff38065e69a3a51d15cfdc638f766044cb87e5c6682d960c14f9847e2eac3") version("2.4.1", sha256="0513be124563fdbbc7cd3c7043e221df1bda236a037027ba9343429a27db8ce4") @@ -42,6 +43,10 @@ class Libint(AutotoolsPackage): version("1.1.6", sha256="f201b0c621df678cfe8bdf3990796b8976ff194aba357ae398f2f29b0e2985a6") version("1.1.5", sha256="ec8cd4a4ba1e1a98230165210c293632372f0e573acd878ed62e5ec6f8b6174b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("debug", default=False, description="Enable building with debug symbols") variant("fortran", default=False, description="Build & install Fortran bindings") variant( @@ -64,11 +69,16 @@ class Libint(AutotoolsPackage): depends_on("automake", type="build") depends_on("libtool", type="build") depends_on("python", type="build") + depends_on("cmake@3.19:", when="@2.6.0:", type="build") # Libint 2 dependencies # Fixme: Can maintainers please confirm that this is a required dependency depends_on(Boost.with_default_variants, when="@2:") depends_on("gmp+cxx", when="@2:") + depends_on("eigen", when="@2.7.0:") + # unicode variable names in @2.9.0: + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67224 + conflicts("%gcc@:9", when="@2.9.0:", msg="libint@2.9.0: requires at least gcc 10") for tvariant in TUNE_VARIANTS[1:]: conflicts( @@ -98,10 +108,6 @@ def autoreconf(self, spec, prefix): aclocal("-I", "lib/autoconf") autoconf() - if "@2.6.0:" in spec: - # skip tarball creation and removal of dir with generated code - filter_file(r"^(export::.*)\s+tgz$", r"\1", "export/Makefile") - @property def optflags(self): flags = "-O2" @@ -212,39 +218,46 @@ def build(self, spec, prefix): """ # upstream says that using configure/make for the generated code - # is deprecated and one should use CMake, but with the currently - # recent 2.7.0.b1 it still doesn't work - # first generate the libint compiler + # is deprecated and one should use CMake + + # skip tarball creation and removal of dir with generated code + filter_file("&& rm -rf $(EXPORTDIR)", "", "export/Makefile", string=True) + make("export") # now build the library with working_dir(os.path.join(self.build_directory, "generated")): - # straight from the AutotoolsPackage class: - config_args = [ - "--prefix={0}".format(prefix), - "--enable-shared", - "--with-boost={0}".format(self.spec["boost"].prefix), - "--with-cxx-optflags={0}".format(self.optflags), + if spec.satisfies("@2.6.0"): + # see https://github.com/evaleev/libint/issues/144 + force_remove( + join_path("include", "libint2", "basis.h"), + join_path("include", "libint2", "config.h"), + ) + cmake_args = [ + "..", + f"-DCMAKE_INSTALL_PREFIX={prefix}", + "-DLIBINT2_BUILD_SHARED_AND_STATIC_LIBS=ON", ] - config_args += self.enable_or_disable("debug", activation_value=lambda x: "opt") - config_args += self.enable_or_disable("fortran") - - configure = Executable("./configure") - configure(*config_args) - make() + if "+fortran" in spec: + cmake_args.append("-DENABLE_FORTRAN=ON") + if "+debug" in spec: + cmake_args.append("CMAKE_BUILD_TYPE=Debug") + cmake = Executable("cmake") + mkdirp("build") + with working_dir("build"): + cmake(*cmake_args) + make() @when("@2.6.0:") def check(self): - with working_dir(os.path.join(self.build_directory, "generated")): + with working_dir(os.path.join(self.build_directory, "generated", "build")): make("check") @when("@2.6.0:") def install(self, spec, prefix): - with working_dir(os.path.join(self.build_directory, "generated")): + with working_dir(os.path.join(self.build_directory, "generated", "build")): make("install") - if "+fortran" in self.spec: - mkdirp(prefix.include) - install(join_path("fortran", "*.mod"), prefix.include) + @when("@:2.6.0") def patch(self): # Use Fortran compiler to link the Fortran example, not the C++ # compiler diff --git a/var/spack/repos/builtin/packages/libisal/package.py b/var/spack/repos/builtin/packages/libisal/package.py index 1c978931a310c5..4da1110d88ac5c 100644 --- a/var/spack/repos/builtin/packages/libisal/package.py +++ b/var/spack/repos/builtin/packages/libisal/package.py @@ -18,6 +18,8 @@ class Libisal(AutotoolsPackage): version("2.31.0", sha256="e218b7b2e241cfb8e8b68f54a6e5eed80968cc387c4b1af03708b54e9fb236f1") version("2.29.0", sha256="832d9747ef3f0c8c05d39e3d7fd6ee5299a844e1ee7382fc8c8b52a268f36eda") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libiscsi/package.py b/var/spack/repos/builtin/packages/libiscsi/package.py index 9fe50b24b9befe..e6c366d248d346 100644 --- a/var/spack/repos/builtin/packages/libiscsi/package.py +++ b/var/spack/repos/builtin/packages/libiscsi/package.py @@ -19,6 +19,8 @@ class Libiscsi(AutotoolsPackage): version("1.16.0", sha256="35c7be63a8c3a7cee7b697901b6d2dd464e098e1881671eb67462983053b3c7b") version("1.15.0", sha256="489e625e58c1e6da2fa3536f9c4b12290f2d3fb4ce14edc0583b8ba500605c34") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libjpeg-turbo/package.py b/var/spack/repos/builtin/packages/libjpeg-turbo/package.py index 968a8fc7c56a35..f5364a793c8b45 100644 --- a/var/spack/repos/builtin/packages/libjpeg-turbo/package.py +++ b/var/spack/repos/builtin/packages/libjpeg-turbo/package.py @@ -22,6 +22,9 @@ class LibjpegTurbo(CMakePackage, AutotoolsPackage): license("BSD-3-Clause AND IJG AND Zlib") + version("3.0.3", sha256="a649205a90e39a548863a3614a9576a3fb4465f8e8e66d54999f127957c25b21") + version("3.0.2", sha256="29f2197345aafe1dcaadc8b055e4cbec9f35aad2a318d61ea081f835af2eebe9") + version("3.0.1", sha256="5b9bbca2b2a87c6632c821799438d358e27004ab528abf798533c15d50b39f82") version("3.0.0", sha256="171dae5d73560bc94006a7c0c3281bd9bfde6a34f7e41e66f930a1a9162bd7df") version("2.1.5.1", sha256="61846251941e5791005fb7face196eec24541fce04f12570c308557529e92c75") version("2.1.5", sha256="254f3642b04e309fee775123133c6464181addc150499561020312ec61c1bf7c") @@ -52,6 +55,9 @@ class LibjpegTurbo(CMakePackage, AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + provides("jpeg") build_system( diff --git a/var/spack/repos/builtin/packages/libjpeg/package.py b/var/spack/repos/builtin/packages/libjpeg/package.py index 473d07437a1305..93f89b7149e245 100644 --- a/var/spack/repos/builtin/packages/libjpeg/package.py +++ b/var/spack/repos/builtin/packages/libjpeg/package.py @@ -23,6 +23,8 @@ class Libjpeg(AutotoolsPackage): version("9b", sha256="240fd398da741669bf3c90366f58452ea59041cacc741a489b99f2f6a0bad052") version("9a", sha256="3a753ea48d917945dd54a2d97de388aa06ca2eb1066cbfdc6652036349fe05a7") + depends_on("c", type="build") # generated + provides("jpeg") def check(self): diff --git a/var/spack/repos/builtin/packages/libjson/package.py b/var/spack/repos/builtin/packages/libjson/package.py index e2f393bab09895..d7cd514f7e2805 100644 --- a/var/spack/repos/builtin/packages/libjson/package.py +++ b/var/spack/repos/builtin/packages/libjson/package.py @@ -20,6 +20,8 @@ class Libjson(MakefilePackage): version("0.5", sha256="d19e149118c01c4a1f4cd16be3ce54bfc97a7210b6f0d76a3f8ef75bf70e8acd") version("0.4", sha256="9b3ebbeb1940dbd8664524d27e66d991fedc00cca9f403f9aa9c2f28104ca81b") + depends_on("c", type="build") # generated + def edit(self, spec, prefix): filter_file("-o root -g root", "", "Makefile") diff --git a/var/spack/repos/builtin/packages/libjwt/package.py b/var/spack/repos/builtin/packages/libjwt/package.py index ae372d3c4de5cc..9037fa72cf2093 100644 --- a/var/spack/repos/builtin/packages/libjwt/package.py +++ b/var/spack/repos/builtin/packages/libjwt/package.py @@ -23,6 +23,8 @@ class Libjwt(AutotoolsPackage): version("1.12.1", sha256="d29e4250d437340b076350e910e69fd5539ef8b92528d0306745cec0e343cc17") version("1.12.0", sha256="eaf5d8b31d867c02dde767efa2cf494840885a415a3c9a62680bf870a4511bee") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libjxl/package.py b/var/spack/repos/builtin/packages/libjxl/package.py index e4828c90a09333..68fd6d65d0dabe 100644 --- a/var/spack/repos/builtin/packages/libjxl/package.py +++ b/var/spack/repos/builtin/packages/libjxl/package.py @@ -16,6 +16,9 @@ class Libjxl(CMakePackage): license("Apache-2.0") version("main", branch="main", submodules=True) + version( + "0.10.2", tag="v0.10.2", commit="e1489592a770b989303b0edc5cc1dc447bbe0515", submodules=True + ) version( "0.7.0", tag="v0.7.0", commit="f95da131cf7c7ccd4da256356fde2fec1fa23bb5", submodules=True ) @@ -23,6 +26,9 @@ class Libjxl(CMakePackage): "0.6.1", tag="v0.6.1", commit="a205468bc5d3a353fb15dae2398a101dff52f2d3", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.10:", type="build") depends_on("brotli") depends_on("highway") @@ -40,6 +46,7 @@ def cmake_args(self): args = [ self.define("JPEGXL_FORCE_SYSTEM_BROTLI", True), self.define("JPEGXL_FORCE_SYSTEM_HWY", True), + self.define("BUILD_TESTING", self.run_tests), ] if self.run_tests: diff --git a/var/spack/repos/builtin/packages/libkcapi/package.py b/var/spack/repos/builtin/packages/libkcapi/package.py index 282c8395415ab6..5f9dfd29d5018c 100644 --- a/var/spack/repos/builtin/packages/libkcapi/package.py +++ b/var/spack/repos/builtin/packages/libkcapi/package.py @@ -19,6 +19,8 @@ class Libkcapi(AutotoolsPackage): version("1.1.5", sha256="ca38bf4d750dd2d3531ddb94d502feedb0f926bd9b29fb97e253b83bbceb6611") version("1.1.4", sha256="241ffa4f2813c6da442b1c1e152d489905ffab35a6c50e76aca5ee6fe60319dd") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libkml/package.py b/var/spack/repos/builtin/packages/libkml/package.py index 69f98eea8219c5..4f53a24f7d15e0 100644 --- a/var/spack/repos/builtin/packages/libkml/package.py +++ b/var/spack/repos/builtin/packages/libkml/package.py @@ -20,6 +20,9 @@ class Libkml(CMakePackage): version("1.3.0", sha256="8892439e5570091965aaffe30b08631fdf7ca7f81f6495b4648f0950d7ea7963") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("java", default=False, description="Build java bindings") variant("python", default=False, description="Build python bindings") diff --git a/var/spack/repos/builtin/packages/libksba/package.py b/var/spack/repos/builtin/packages/libksba/package.py index 1543167d398573..65bc644241d25c 100644 --- a/var/spack/repos/builtin/packages/libksba/package.py +++ b/var/spack/repos/builtin/packages/libksba/package.py @@ -17,10 +17,14 @@ class Libksba(AutotoolsPackage): license("LGPL-3.0-only AND GPL-2.0-only AND GPL-3.0-only") + version("1.6.7", sha256="cf72510b8ebb4eb6693eef765749d83677a03c79291a311040a5bfd79baab763") version("1.6.6", sha256="5dec033d211559338838c0c4957c73dfdc3ee86f73977d6279640c9cd08ce6a4") version("1.6.5", sha256="a564628c574c99287998753f98d750babd91a4e9db451f46ad140466ef2a6d16") version("1.6.4", sha256="bbb43f032b9164d86c781ffe42213a83bf4f2fee91455edfa4654521b8b03b6b") version("1.6.3", sha256="3f72c68db30971ebbf14367527719423f0a4d5f8103fc9f4a1c01a9fa440de5c") + + depends_on("c", type="build") # generated + # Versions before 1.6.3 were deprecated over CVE-2022-3515 # (https://gnupg.org/blog/20221017-pepe-left-the-ksba.html) diff --git a/var/spack/repos/builtin/packages/liblas/package.py b/var/spack/repos/builtin/packages/liblas/package.py index de77219900dca2..4c85e04cf90570 100644 --- a/var/spack/repos/builtin/packages/liblas/package.py +++ b/var/spack/repos/builtin/packages/liblas/package.py @@ -18,6 +18,9 @@ class Liblas(CMakePackage): version("1.8.1", sha256="9adb4a98c63b461ed2bc82e214ae522cbd809cff578f28511122efe6c7ea4e76") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # libLAS linkage of GDAL and libgeotiff enhances spatial coordinate system # description and provides data reprojection support. # Ref.: https://liblas.org/compilation.html#optional-libraries diff --git a/var/spack/repos/builtin/packages/liblbxutil/package.py b/var/spack/repos/builtin/packages/liblbxutil/package.py index 8a8e47cbbb131c..f69cb5b6b468d0 100644 --- a/var/spack/repos/builtin/packages/liblbxutil/package.py +++ b/var/spack/repos/builtin/packages/liblbxutil/package.py @@ -16,6 +16,8 @@ class Liblbxutil(AutotoolsPackage, XorgPackage): version("1.1.0", sha256="285c1bc688cc71ec089e9284f2566d1780cc5d90816e9997890af8689f386951") + depends_on("c", type="build") # generated + depends_on("xextproto@7.0.99.1:") depends_on("xproto") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/liblockfile/package.py b/var/spack/repos/builtin/packages/liblockfile/package.py index 91a9f04209b47d..9dce85e240df3f 100644 --- a/var/spack/repos/builtin/packages/liblockfile/package.py +++ b/var/spack/repos/builtin/packages/liblockfile/package.py @@ -16,6 +16,8 @@ class Liblockfile(AutotoolsPackage): version("1.14", sha256="be85dba347889d9b65cbd361a611e6b88e044fdca9c98e5139d5fbc9ba37ccc8") + depends_on("c", type="build") # generated + patch("install_as_nonroot.patch") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/liblognorm/package.py b/var/spack/repos/builtin/packages/liblognorm/package.py index 1512db8232adda..d8ff0853022904 100644 --- a/var/spack/repos/builtin/packages/liblognorm/package.py +++ b/var/spack/repos/builtin/packages/liblognorm/package.py @@ -20,6 +20,8 @@ class Liblognorm(AutotoolsPackage): version("2.0.3", sha256="fac2a6a5adbeb63d06a63ab2e398b3fac8625d0ea69db68f1d81196897a9d687") version("2.0.2", sha256="bdd08e9837e8fcca5029ec12c9fb9f16593313f9d743625bab062250e0daa5d8") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/liblouis/package.py b/var/spack/repos/builtin/packages/liblouis/package.py index d8428ca73aad52..730ea4ed6072f0 100644 --- a/var/spack/repos/builtin/packages/liblouis/package.py +++ b/var/spack/repos/builtin/packages/liblouis/package.py @@ -22,3 +22,5 @@ class Liblouis(AutotoolsPackage): version("3.13.0", sha256="2803b89a2bff9f02032125fa7b7d0a204a60d8d14f232242344b5f09535e9a01") version("3.12.0", sha256="87d9bad6d75916270bad14bb22fa5f487c7edee4774878c04bef82833bc9467d") version("3.11.0", sha256="b802aba0bff49636907ca748225e21c56ecf3f3ebc143d582430036d4d9f6259") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libluv/package.py b/var/spack/repos/builtin/packages/libluv/package.py index 88d61036bd226e..3f64589c2d5f45 100644 --- a/var/spack/repos/builtin/packages/libluv/package.py +++ b/var/spack/repos/builtin/packages/libluv/package.py @@ -25,6 +25,8 @@ class Libluv(CMakePackage): version("1.42.0-0", sha256="b5228a9d0eaacd9f862b6270c732d5c90773a28ce53b6d9e32a14050e7947f36") version("1.36.0-0", sha256="f2e7eb372574f25c6978c1dc74280d22efdcd7df2dda4a286c7fe7dceda26445") + depends_on("c", type="build") # generated + # https://github.com/neovim/neovim/issues/25770 # up to 1.45 (included) dynamic library on macOS did not have the @rpath prefix, being not # usable on this platform. diff --git a/var/spack/repos/builtin/packages/liblzf/package.py b/var/spack/repos/builtin/packages/liblzf/package.py index 91c60937e09d07..2e93bca660b62b 100644 --- a/var/spack/repos/builtin/packages/liblzf/package.py +++ b/var/spack/repos/builtin/packages/liblzf/package.py @@ -19,3 +19,5 @@ class Liblzf(AutotoolsPackage): license("BSD-2-Clause") version("3.6", sha256="9c5de01f7b9ccae40c3f619d26a7abec9986c06c36d260c179cedd04b89fb46a") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libmacaroons/package.py b/var/spack/repos/builtin/packages/libmacaroons/package.py index 37d433f852b9c2..4278f575d2323b 100644 --- a/var/spack/repos/builtin/packages/libmacaroons/package.py +++ b/var/spack/repos/builtin/packages/libmacaroons/package.py @@ -20,6 +20,8 @@ class Libmacaroons(AutotoolsPackage): version("0.2.0", sha256="fa2146d89a4e844703896ece778f0c42b2b0ee3d09dea350ff34fd6873e72018") version("0.1.0", sha256="0aa413d8a793f004874695466f93eed9c8e721524765704fe410694583928007") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libmad/package.py b/var/spack/repos/builtin/packages/libmad/package.py index 3d221d03ed3922..c064efd796306a 100644 --- a/var/spack/repos/builtin/packages/libmad/package.py +++ b/var/spack/repos/builtin/packages/libmad/package.py @@ -17,6 +17,8 @@ class Libmad(AutotoolsPackage): version("0.15.1b", sha256="bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libmatheval/package.py b/var/spack/repos/builtin/packages/libmatheval/package.py index abdd74882c28b9..d41a1ccda67422 100644 --- a/var/spack/repos/builtin/packages/libmatheval/package.py +++ b/var/spack/repos/builtin/packages/libmatheval/package.py @@ -21,6 +21,8 @@ class Libmatheval(AutotoolsPackage, GNUMirrorPackage): version("1.1.11", sha256="474852d6715ddc3b6969e28de5e1a5fbaff9e8ece6aebb9dc1cc63e9e88e89ab") + depends_on("c", type="build") # generated + # Only needed for unit tests, but configure crashes without it depends_on("guile", type="build") diff --git a/var/spack/repos/builtin/packages/libmaus2/package.py b/var/spack/repos/builtin/packages/libmaus2/package.py index fe4c0528f83b99..49f143c7578fb5 100644 --- a/var/spack/repos/builtin/packages/libmaus2/package.py +++ b/var/spack/repos/builtin/packages/libmaus2/package.py @@ -18,6 +18,9 @@ class Libmaus2(AutotoolsPackage): url="https://gitlab.com/german.tischler/libmaus2/-/archive/2.0.767-release-20201123131410/libmaus2-2.0.767-release-20201123131410.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libmaxminddb/package.py b/var/spack/repos/builtin/packages/libmaxminddb/package.py index 6564f340724e44..eb36bf98c3cd50 100644 --- a/var/spack/repos/builtin/packages/libmaxminddb/package.py +++ b/var/spack/repos/builtin/packages/libmaxminddb/package.py @@ -20,6 +20,8 @@ class Libmaxminddb(AutotoolsPackage): version("1.7.1", sha256="e8414f0dedcecbc1f6c31cb65cd81650952ab0677a4d8c49cab603b3b8fb083e") version("1.3.2", sha256="e6f881aa6bd8cfa154a44d965450620df1f714c6dc9dd9971ad98f6e04f6c0f0") + depends_on("c", type="build") # generated + def configure_args(self): args = ["--disable-debug", "--disable-dependency-tracking", "--disable-silent-rules"] return args diff --git a/var/spack/repos/builtin/packages/libmbim/package.py b/var/spack/repos/builtin/packages/libmbim/package.py index 6f86673daf61c8..5cae06c702e273 100644 --- a/var/spack/repos/builtin/packages/libmbim/package.py +++ b/var/spack/repos/builtin/packages/libmbim/package.py @@ -23,6 +23,8 @@ class Libmbim(AutotoolsPackage): version("1.14.4", sha256="4b2e8723ea50b2e1d22695850c40abb9f7bcb713ea3b9f91f2c350aaa6ae8d1c") version("1.14.2", sha256="bf161c4f78327f8422fd6a820e7e5571d99b719af45429e581bfd6a1585fe4a8") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libmcrypt/package.py b/var/spack/repos/builtin/packages/libmcrypt/package.py index 013c2a55ea7c75..771195a5c061be 100644 --- a/var/spack/repos/builtin/packages/libmcrypt/package.py +++ b/var/spack/repos/builtin/packages/libmcrypt/package.py @@ -17,3 +17,5 @@ class Libmcrypt(AutotoolsPackage): license("LGPL-2.1-or-later") version("2.5.8", sha256="e4eb6c074bbab168ac47b947c195ff8cef9d51a211cdd18ca9c9ef34d27a373e") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libmd/package.py b/var/spack/repos/builtin/packages/libmd/package.py index 6d813bfed4f897..c5de7e7c149731 100644 --- a/var/spack/repos/builtin/packages/libmd/package.py +++ b/var/spack/repos/builtin/packages/libmd/package.py @@ -22,5 +22,7 @@ class Libmd(AutotoolsPackage): version("1.0.1", sha256="e14eeb931cf85330f95ff822262d3033125488dfb2f867441e36e2d2c4a34c71") version("1.0.0", sha256="f21aea69f6411cb4307cda1f6378c7ed07830202b5f4cb9e64f681fdaf2d64c7") + depends_on("c", type="build") # generated + # Use wrapper functions instead of __attribute__ __alias__ patch("nvhpc-aliases.patch", when="%nvhpc") diff --git a/var/spack/repos/builtin/packages/libmesh/package.py b/var/spack/repos/builtin/packages/libmesh/package.py index 6f262646144c67..f7e1980d2da8fd 100644 --- a/var/spack/repos/builtin/packages/libmesh/package.py +++ b/var/spack/repos/builtin/packages/libmesh/package.py @@ -20,6 +20,7 @@ class Libmesh(AutotoolsPackage): version("master", branch="master", submodules=True) + version("1.7.1", sha256="0387d62773cf92356eb128ba92f767e56c298d78f4b97446e68bf288da1eb6b4") version("1.4.1", sha256="67eb7d5a9c954d891ca1386b70f138333a87a141d9c44213449ca6be69a66414") version("1.4.0", sha256="62d7fce89096c950d1b38908484856ea63df57754b64cde6582e7ac407c8c81d") version("1.3.1", sha256="638cf30d05c249315760f16cbae4804964db8857a04d5e640f37617bef17ab0f") @@ -119,6 +120,7 @@ class Libmesh(AutotoolsPackage): values=("none", "pthreads", "tbb", "openmp"), multi=False, ) + variant("shared", default=True, description="Enables the build of shared libraries") conflicts( "+metaphysicl", @@ -140,8 +142,8 @@ class Libmesh(AutotoolsPackage): depends_on("mpi", when="+slepc") # compilation dependencies depend on perl depends_on("perl") - depends_on("petsc+mpi", when="+mpi") - depends_on("petsc+metis", when="+metis") + depends_on("petsc+mpi", when="+petsc+mpi") + depends_on("petsc+metis", when="+petsc+metis") depends_on("slepc", when="+slepc") depends_on("petsc", when="+petsc") depends_on("tbb", when="threads=tbb") @@ -150,6 +152,11 @@ class Libmesh(AutotoolsPackage): def configure_args(self): options = [] + if "+shared" in self.spec: + options.extend(["--enable-shared", "--disable-static"]) + else: + options.extend(["--disable-shared", "--enable-static"]) + # GLIBCXX debugging is not, by default, supported by other libraries, # so unconditionally disable it for libmesh options.append("--enable-glibcxx-debugging=no") diff --git a/var/spack/repos/builtin/packages/libmetalink/package.py b/var/spack/repos/builtin/packages/libmetalink/package.py index b4465b86aa694c..fb7cca52c1f49c 100644 --- a/var/spack/repos/builtin/packages/libmetalink/package.py +++ b/var/spack/repos/builtin/packages/libmetalink/package.py @@ -20,6 +20,8 @@ class Libmetalink(AutotoolsPackage): version("0.1.2", sha256="64af0979c11658f7a1659ca97ebc3c7bac8104253bf504015ac3b9c363382bae") version("0.1.1", sha256="e9b8dff68b0b999884c21f68d9b1cc0c1993270e3e1f639f82e27b1eb960cb66") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libmicrodns/package.py b/var/spack/repos/builtin/packages/libmicrodns/package.py index 6a48c55266e4d1..cde841d6fbd4e5 100644 --- a/var/spack/repos/builtin/packages/libmicrodns/package.py +++ b/var/spack/repos/builtin/packages/libmicrodns/package.py @@ -17,3 +17,5 @@ class Libmicrodns(MesonPackage): version("0.2.0", sha256="2da28e7dda4861d76f797f92ac3e6c3e048333b95f9e4fc3a6548ad8afd8c446") version("0.1.2", sha256="666c4b9d86b5b3c37357bb78453c7e8b72cd65ade22d0a7963bfbefe51509b5c") version("0.1.1", sha256="498c81fd07718f449267a207948536cbb527610942d91999488eaea6de301c52") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libmicrohttpd/package.py b/var/spack/repos/builtin/packages/libmicrohttpd/package.py index fc9b25ba00554d..e39b9acf719cc2 100644 --- a/var/spack/repos/builtin/packages/libmicrohttpd/package.py +++ b/var/spack/repos/builtin/packages/libmicrohttpd/package.py @@ -27,6 +27,8 @@ class Libmicrohttpd(AutotoolsPackage): version("0.9.70", sha256="90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307") version("0.9.50", sha256="d1b6385068abded29b6470e383287aa7705de05ae3c08ad0bf5747ac4dc6ebd7") + depends_on("c", type="build") # generated + variant("https", default=False, description="HTTPS support with GnuTLS") depends_on("gettext") diff --git a/var/spack/repos/builtin/packages/libmmtf-cpp/package.py b/var/spack/repos/builtin/packages/libmmtf-cpp/package.py index 5109f7623bd649..66b172b9ef3c25 100644 --- a/var/spack/repos/builtin/packages/libmmtf-cpp/package.py +++ b/var/spack/repos/builtin/packages/libmmtf-cpp/package.py @@ -17,4 +17,6 @@ class LibmmtfCpp(CMakePackage): version("1.1.0", sha256="021173bdc1814b1d0541c4426277d39df2b629af53151999b137e015418f76c0") version("1.0.0", sha256="881f69c4bb56605fa63fd5ca50842facc4947f686cbf678ad04930674d714f40") + depends_on("cxx", type="build") # generated + depends_on("msgpack-c") diff --git a/var/spack/repos/builtin/packages/libmng/package.py b/var/spack/repos/builtin/packages/libmng/package.py index db1b8c35474bdd..37a7f5bafc5fcb 100644 --- a/var/spack/repos/builtin/packages/libmng/package.py +++ b/var/spack/repos/builtin/packages/libmng/package.py @@ -19,6 +19,9 @@ class Libmng(CMakePackage): version("2.0.3", sha256="cf112a1fb02f5b1c0fce5cab11ea8243852c139e669c44014125874b14b7dfaa") version("2.0.2", sha256="4908797bb3541fb5cd8fffbe0b1513ed163509f2a4d57a78b26a96f8d1dd05a2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("jpeg") depends_on("zlib-api") depends_on("lcms") diff --git a/var/spack/repos/builtin/packages/libmo-unpack/package.py b/var/spack/repos/builtin/packages/libmo-unpack/package.py index 6f7daacbe7d64a..0e89865830b4c8 100644 --- a/var/spack/repos/builtin/packages/libmo-unpack/package.py +++ b/var/spack/repos/builtin/packages/libmo-unpack/package.py @@ -17,4 +17,6 @@ class LibmoUnpack(CMakePackage): version("3.1.2", sha256="e09ef3e6f1075144acc5d6466b4ef70b2fe32ed4ab1840dd4fb7e15a40f3d370") + depends_on("c", type="build") # generated + depends_on("check") diff --git a/var/spack/repos/builtin/packages/libmodbus/package.py b/var/spack/repos/builtin/packages/libmodbus/package.py index e27e0aafa276ee..1c20d6ff83378e 100644 --- a/var/spack/repos/builtin/packages/libmodbus/package.py +++ b/var/spack/repos/builtin/packages/libmodbus/package.py @@ -26,3 +26,5 @@ class Libmodbus(AutotoolsPackage): version("3.0.7", sha256="6c26850cd5dedcf5dad40977ac7f2ee990a3667f6959a1e05e22959bdf537961") version("3.0.6", sha256="046d63f10f755e2160dc56ef681e5f5ad3862a57c1955fd82e0ce036b69471b6") version("3.0.5", sha256="19aad5d55fa315602d6e836a858a3802f1608f9d824afba05fa12a58a1b1e656") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libmolgrid/package.py b/var/spack/repos/builtin/packages/libmolgrid/package.py index 86bb4e7e0db606..a8e423f8c6dbb3 100644 --- a/var/spack/repos/builtin/packages/libmolgrid/package.py +++ b/var/spack/repos/builtin/packages/libmolgrid/package.py @@ -22,6 +22,8 @@ class Libmolgrid(CMakePackage): version("0.5.3", sha256="a9f7a62cdeb516bc62a06b324cdd33b095a787df175c6166d74a8d30b6916abb") version("0.5.2", sha256="e732d13a96c2f374d57a73999119bef700172d392c195c751214aa6ac6680c3a") + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("boost +regex +test +program_options +system +filesystem +iostreams +python") depends_on("openbabel@3:~gui~cairo") diff --git a/var/spack/repos/builtin/packages/libmonitor/package.py b/var/spack/repos/builtin/packages/libmonitor/package.py index 3eb4ca6060bcf5..58afd8126eb577 100644 --- a/var/spack/repos/builtin/packages/libmonitor/package.py +++ b/var/spack/repos/builtin/packages/libmonitor/package.py @@ -28,6 +28,8 @@ class Libmonitor(AutotoolsPackage): version("2018.07.18", commit="d28cc1d3c08c02013a68a022a57a6ac73db88166") version("2013.02.18", commit="4f2311e413fd90583263d6f20453bbe552ccfef3") + depends_on("c", type="build") # generated + # Configure for Rice HPCToolkit. variant("hpctoolkit", default=False, description="Configure for HPCToolkit") diff --git a/var/spack/repos/builtin/packages/libmpdclient/package.py b/var/spack/repos/builtin/packages/libmpdclient/package.py index 6182050e945f31..8e550c5de77646 100644 --- a/var/spack/repos/builtin/packages/libmpdclient/package.py +++ b/var/spack/repos/builtin/packages/libmpdclient/package.py @@ -20,3 +20,5 @@ class Libmpdclient(MesonPackage): version("2.17", sha256="06eb4b67c63f64d647e97257ff5f8506bf9c2a26b314bf5d0dd5944995b59fc9") version("2.16", sha256="6651898489b69d2f2f8e94f0ed6ddcc0dd2cdbcf99b02131b790551922558d6c") version("2.15", sha256="dd3d36801e397bf43719a291289ff610af71859c08f3196a506e4b1af43c290c") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libmypaint/package.py b/var/spack/repos/builtin/packages/libmypaint/package.py index 4714394c715a48..a457f1f80f914b 100644 --- a/var/spack/repos/builtin/packages/libmypaint/package.py +++ b/var/spack/repos/builtin/packages/libmypaint/package.py @@ -24,6 +24,8 @@ class Libmypaint(AutotoolsPackage): version("1.4.0", sha256="59d13b14c6aca0497095f29ee7228ca2499a923ba8e1dd718a2f2ecb45a9cbff") version("1.3.0", sha256="6a07d9d57fea60f68d218a953ce91b168975a003db24de6ac01ad69dcc94a671") + depends_on("c", type="build") # generated + variant("gegl", default=False, description="Enable GEGL based code in build") variant("introspection", default=True, description="Enable introspection for this build") diff --git a/var/spack/repos/builtin/packages/libnbc/package.py b/var/spack/repos/builtin/packages/libnbc/package.py index 7507ff362e7762..4174487e4989ff 100644 --- a/var/spack/repos/builtin/packages/libnbc/package.py +++ b/var/spack/repos/builtin/packages/libnbc/package.py @@ -20,4 +20,6 @@ class Libnbc(AutotoolsPackage): version("1.1.1", sha256="63aa5f75f84c191da0688cb551ebd0e9e46928edfba350b2a534eb0c704dd9c3") + depends_on("c", type="build") # generated + depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/libndp/package.py b/var/spack/repos/builtin/packages/libndp/package.py index 242f447b3fb253..1012974f20b8f4 100644 --- a/var/spack/repos/builtin/packages/libndp/package.py +++ b/var/spack/repos/builtin/packages/libndp/package.py @@ -20,6 +20,8 @@ class Libndp(AutotoolsPackage): version("1.4", sha256="b9b23d14e9b2d87745810d9d0e956e9fb45f44e794b1629492850c5a8fbbb083") version("1.3", sha256="e933dc1b9ce85089de8ba0f6ba4c3ec47eba0e9a404e14c1789a6fa9e23793f6") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libnet/package.py b/var/spack/repos/builtin/packages/libnet/package.py index 6d2699197bfa4c..44df3a759b2e1f 100644 --- a/var/spack/repos/builtin/packages/libnet/package.py +++ b/var/spack/repos/builtin/packages/libnet/package.py @@ -19,6 +19,8 @@ class Libnet(AutotoolsPackage): version("1.3", sha256="44e28a4e5a9256ce74d96fd1ad8ac2e3f300f55dc70c93bb81851183a21d7d3a") version("1.2", sha256="b7a371a337d242c017f3471d70bea2963596bec5bd3bd0e33e8517550e2311ef") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py b/var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py index fcbc19b9029614..40d793feb422bc 100644 --- a/var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py +++ b/var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py @@ -19,6 +19,8 @@ class LibnetfilterConntrack(AutotoolsPackage): version("1.0.3", sha256="e2129d7c0346c7140355d643da8e3409cbd755689ea889bc0d6dbd557f1b5671") version("1.0.2", sha256="97f641a2e47053bd87bc817292519d6661e8f84a22d3314724b83b9f5eaddbff") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libnetfilter-cthelper/package.py b/var/spack/repos/builtin/packages/libnetfilter-cthelper/package.py index cd99be3b0d0e15..bc30d4713596e2 100644 --- a/var/spack/repos/builtin/packages/libnetfilter-cthelper/package.py +++ b/var/spack/repos/builtin/packages/libnetfilter-cthelper/package.py @@ -18,6 +18,8 @@ class LibnetfilterCthelper(AutotoolsPackage): "1.2-2019Q4", sha256="15a7b13999d1428d75e720c8116318cd51bec1d365852ae1778d3c85b93a9777" ) + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libnetfilter-cttimeout/package.py b/var/spack/repos/builtin/packages/libnetfilter-cttimeout/package.py index b16dddd76c6bca..37f40239bd0862 100644 --- a/var/spack/repos/builtin/packages/libnetfilter-cttimeout/package.py +++ b/var/spack/repos/builtin/packages/libnetfilter-cttimeout/package.py @@ -18,6 +18,8 @@ class LibnetfilterCttimeout(AutotoolsPackage): "1.2-2019Q4", sha256="71cebdf07a578901b160a54199062a4b4cd445e14742e2c7badc0900d8ae56b6" ) + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libnetfilter-queue/package.py b/var/spack/repos/builtin/packages/libnetfilter-queue/package.py index e1ab35dab31f62..bc0e5710e3ef0b 100644 --- a/var/spack/repos/builtin/packages/libnetfilter-queue/package.py +++ b/var/spack/repos/builtin/packages/libnetfilter-queue/package.py @@ -18,6 +18,8 @@ class LibnetfilterQueue(AutotoolsPackage): "1.2-2019Q4", sha256="73b87e600b492cf9e3aa8fb6e9855e1ccc523a7bc466c1fd1a0e6ffa424d746e" ) + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libnetworkit/package.py b/var/spack/repos/builtin/packages/libnetworkit/package.py index 2ef31c7413fa72..5c3cd1a1a5bde8 100644 --- a/var/spack/repos/builtin/packages/libnetworkit/package.py +++ b/var/spack/repos/builtin/packages/libnetworkit/package.py @@ -31,6 +31,8 @@ class Libnetworkit(CMakePackage): version("7.0", sha256="4faf16c5fae3e14d3c1b6f30e25c6e093dcf6a3dbf021235f3161ac2a527f682") version("6.1", sha256="22c953ea1054c356663b31c77114c2f0c8fec17e0e707aeec23026241beab9b2") + depends_on("cxx", type="build") # generated + variant("static", default=False, description="Enables the build of shared libraries") variant("doc", default=False, description="Enables the build with sphinx documentation") diff --git a/var/spack/repos/builtin/packages/libnfnetlink/package.py b/var/spack/repos/builtin/packages/libnfnetlink/package.py index 041a15e1ca2906..4831211c77003e 100644 --- a/var/spack/repos/builtin/packages/libnfnetlink/package.py +++ b/var/spack/repos/builtin/packages/libnfnetlink/package.py @@ -21,6 +21,8 @@ class Libnfnetlink(AutotoolsPackage): version("1.0.0", sha256="1d43456e51d5ff2e8bc84b68d8acad3bb15603cfaa806ba9693eea4f2aa1abeb") version("0.0.41", sha256="84381ad3aec4fc4884c020c7774a241160d92ed50c9f93a2660db94e212cbb72") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libnfs/package.py b/var/spack/repos/builtin/packages/libnfs/package.py index bfbced8b343cd7..e98c70902754fc 100644 --- a/var/spack/repos/builtin/packages/libnfs/package.py +++ b/var/spack/repos/builtin/packages/libnfs/package.py @@ -19,3 +19,5 @@ class Libnfs(CMakePackage): version("2.0.0", sha256="7ea6cd8fa6c461d01091e584d424d28e137d23ff4b65b95d01a3fd0ef95d120e") version("1.11.0", sha256="fc2e45df14d8714ccd07dc2bbe919e45a2e36318bae7f045cbbb883a7854640f") version("1.10.0", sha256="7f6c62a05c7e0f0749f2b13f178a4ed7aaf17bd09e65a10bb147bfe9807da272") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libnfsidmap/package.py b/var/spack/repos/builtin/packages/libnfsidmap/package.py index 5643540c9511d7..0895b3c1c6623e 100644 --- a/var/spack/repos/builtin/packages/libnfsidmap/package.py +++ b/var/spack/repos/builtin/packages/libnfsidmap/package.py @@ -15,6 +15,8 @@ class Libnfsidmap(AutotoolsPackage): version("0-26", sha256="8c6d62285b528d673fcb8908fbe230ae82287b292d90925d014c6f367e8425ef") version("0-25", sha256="dbf844a2aa820d7275eca55c2e392d12453ab4020d37d532ea6beac47efc4725") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libnftnl/package.py b/var/spack/repos/builtin/packages/libnftnl/package.py index 35494bc2830995..b3ad7b0531854d 100644 --- a/var/spack/repos/builtin/packages/libnftnl/package.py +++ b/var/spack/repos/builtin/packages/libnftnl/package.py @@ -19,5 +19,7 @@ class Libnftnl(AutotoolsPackage): version("1.1.5", sha256="66de4d05227c0a1a731c369b193010d18a05b1185c2735211e0ecf658eeb14f3") version("1.1.4", sha256="c8c7988347adf261efac5bba59f8e5f995ffb65f247a88cc144e69620573ed20") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("libmnl@1.0.3:") diff --git a/var/spack/repos/builtin/packages/libnids/package.py b/var/spack/repos/builtin/packages/libnids/package.py index e9be0fff94ecbf..8711e4de94a4b6 100644 --- a/var/spack/repos/builtin/packages/libnids/package.py +++ b/var/spack/repos/builtin/packages/libnids/package.py @@ -21,6 +21,8 @@ class Libnids(AutotoolsPackage): version("1.26", sha256="3f3e9f99a83cd37bc74af83d415c5e3a7505f5b190dfaf456b0849e0054f6733") version("1.25", sha256="47aa634bd0cdad81e092fac3aef6f12ee346c2f536a1eff4d3d5dacdb6dfcec1") + depends_on("c", type="build") # generated + depends_on("libpcap") depends_on("libnet") depends_on("glib@2.2.0:") diff --git a/var/spack/repos/builtin/packages/libnl/package.py b/var/spack/repos/builtin/packages/libnl/package.py index 7212ff3f08fb1e..656a2cd3612484 100644 --- a/var/spack/repos/builtin/packages/libnl/package.py +++ b/var/spack/repos/builtin/packages/libnl/package.py @@ -17,6 +17,8 @@ class Libnl(AutotoolsPackage): version("3.3.0", sha256="705468b5ae4cd1eb099d2d1c476d6a3abe519bc2810becf12fb1e32de1e074e4") + depends_on("c", type="build") # generated + depends_on("bison", type="build") depends_on("flex", type="build") depends_on("m4", type="build") diff --git a/var/spack/repos/builtin/packages/libnotify/package.py b/var/spack/repos/builtin/packages/libnotify/package.py index 4fab7677f669ab..eb96b1dda8c2b4 100644 --- a/var/spack/repos/builtin/packages/libnotify/package.py +++ b/var/spack/repos/builtin/packages/libnotify/package.py @@ -16,6 +16,8 @@ class Libnotify(MesonPackage): version("0.7.9", sha256="9bd4f5fa911d27567e7cc2d2d09d69356c16703c4e8d22c0b49a5c45651f3af0") + depends_on("c", type="build") # generated + # Libnotify is having trouble with finding the DTD and XSLT for docbook, # which is required for both of these varients. # variant('docbook', default=False, diff --git a/var/spack/repos/builtin/packages/libnova/package.py b/var/spack/repos/builtin/packages/libnova/package.py index 471be31eff65e3..7e5c381afbb716 100644 --- a/var/spack/repos/builtin/packages/libnova/package.py +++ b/var/spack/repos/builtin/packages/libnova/package.py @@ -17,6 +17,8 @@ class Libnova(AutotoolsPackage): version("0.15.0", sha256="7c5aa33e45a3e7118d77df05af7341e61784284f1e8d0d965307f1663f415bb1") + depends_on("c", type="build") # generated + depends_on("m4") depends_on("autoconf") depends_on("automake") diff --git a/var/spack/repos/builtin/packages/libnrm/package.py b/var/spack/repos/builtin/packages/libnrm/package.py index 2b91d482d14193..f714173323954a 100644 --- a/var/spack/repos/builtin/packages/libnrm/package.py +++ b/var/spack/repos/builtin/packages/libnrm/package.py @@ -17,6 +17,8 @@ class Libnrm(AutotoolsPackage): version("0.1.0", sha256="f849ada384025fa41251acc2a43aa335e0cb1b9cd1c8ab8b9d1808a036ae551e") + depends_on("c", type="build") # generated + tags = ["e4s"] depends_on("m4", type="build") diff --git a/var/spack/repos/builtin/packages/libnsl/package.py b/var/spack/repos/builtin/packages/libnsl/package.py index 9eb4e8489fbb97..5f9fd1c8f60a37 100644 --- a/var/spack/repos/builtin/packages/libnsl/package.py +++ b/var/spack/repos/builtin/packages/libnsl/package.py @@ -25,6 +25,8 @@ class Libnsl(AutotoolsPackage): url="https://github.com/thkukuk/libnsl/archive/1.1.0.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libogg/package.py b/var/spack/repos/builtin/packages/libogg/package.py index d711e9548389bd..4e62a81e9833a3 100644 --- a/var/spack/repos/builtin/packages/libogg/package.py +++ b/var/spack/repos/builtin/packages/libogg/package.py @@ -22,6 +22,8 @@ class Libogg(CMakePackage, AutotoolsPackage, Package): version("1.3.4", sha256="fe5670640bd49e828d64d2879c31cb4dde9758681bb664f9bdbf159a01b0c76e") version("1.3.2", sha256="e19ee34711d7af328cb26287f4137e70630e7261b17cbe3cd41011d73a654692") + depends_on("c", type="build") # generated + variant("shared", default=True, description="Build shared library", when="build_system=cmake") variant( "pic", diff --git a/var/spack/repos/builtin/packages/liboldx/package.py b/var/spack/repos/builtin/packages/liboldx/package.py index b65a99ae1678eb..2f7b9d7d7b5b7d 100644 --- a/var/spack/repos/builtin/packages/liboldx/package.py +++ b/var/spack/repos/builtin/packages/liboldx/package.py @@ -14,6 +14,8 @@ class Liboldx(AutotoolsPackage, XorgPackage): version("1.0.1", sha256="74322dbf04df69787485eb24b16e12783dfc3454befaf18482ead51bd7b55dc8") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/libopts/package.py b/var/spack/repos/builtin/packages/libopts/package.py index 78f48985a6da71..5c85ba65d51bdd 100644 --- a/var/spack/repos/builtin/packages/libopts/package.py +++ b/var/spack/repos/builtin/packages/libopts/package.py @@ -17,6 +17,8 @@ class Libopts(AutotoolsPackage): version("master", branch="master") + depends_on("c", type="build") # generated + parallel = False def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/libp11/package.py b/var/spack/repos/builtin/packages/libp11/package.py index cfc4430ab8b39c..addef7cc533a39 100644 --- a/var/spack/repos/builtin/packages/libp11/package.py +++ b/var/spack/repos/builtin/packages/libp11/package.py @@ -27,6 +27,8 @@ class Libp11(AutotoolsPackage): version("0.4.9", sha256="9d1c76d74c21ca224f96204982097ebc6b956f645b2b0b5f9c502a20e9ffcfd8") version("0.4.8", sha256="acccd56b736942dfcc490d102d2cb2b6afa6b2e448dd1dc5a1b773eadb98f83d") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libpam/package.py b/var/spack/repos/builtin/packages/libpam/package.py index 85d888b07a367c..670df0cce10d6e 100644 --- a/var/spack/repos/builtin/packages/libpam/package.py +++ b/var/spack/repos/builtin/packages/libpam/package.py @@ -19,6 +19,8 @@ class Libpam(AutotoolsPackage): version("1.08", sha256="6f6d7530261ba9e2ece84214f1445857d488b7851c28a58356b49f2d9fd36290") version("1.07", sha256="104a158e013585e20287f8d33935e93c711b96281e6dda621a5c19575d0b0405") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libpaper/package.py b/var/spack/repos/builtin/packages/libpaper/package.py index 71b4f26769ec13..d4f0ef68bd836a 100644 --- a/var/spack/repos/builtin/packages/libpaper/package.py +++ b/var/spack/repos/builtin/packages/libpaper/package.py @@ -19,6 +19,8 @@ class Libpaper(AutotoolsPackage): version("1.1.29", sha256="26330e21e9a3124658d515fd850b0cde546ff42d89b2596a5264c5f1677f0547") version("1.1.28", sha256="c8bb946ec93d3c2c72bbb1d7257e90172a22a44a07a07fb6b802a5bb2c95fddc") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libpcap/package.py b/var/spack/repos/builtin/packages/libpcap/package.py index 19276cfd3de0b2..332ce47e0367f1 100644 --- a/var/spack/repos/builtin/packages/libpcap/package.py +++ b/var/spack/repos/builtin/packages/libpcap/package.py @@ -21,5 +21,8 @@ class Libpcap(AutotoolsPackage): version("1.9.1", sha256="635237637c5b619bcceba91900666b64d56ecb7be63f298f601ec786ce087094") version("1.8.1", sha256="673dbc69fdc3f5a86fb5759ab19899039a8e5e6c631749e48dcd9c6f0c83541e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("flex", type="build") depends_on("bison", type="build") diff --git a/var/spack/repos/builtin/packages/libpciaccess/package.py b/var/spack/repos/builtin/packages/libpciaccess/package.py index 90c9b543cab616..4704611854212c 100644 --- a/var/spack/repos/builtin/packages/libpciaccess/package.py +++ b/var/spack/repos/builtin/packages/libpciaccess/package.py @@ -19,6 +19,8 @@ class Libpciaccess(AutotoolsPackage, XorgPackage): version("0.13.5", sha256="fe26ec788732b4ef60b550f2d3fa51c605d27f646e18ecec878f061807a3526e") version("0.13.4", sha256="74d92bda448e6fdb64fee4e0091255f48d625d07146a121653022ed3a0ca1f2f") + depends_on("c", type="build") # generated + depends_on("libtool", type="build") depends_on("pkgconfig", type="build") depends_on("util-macros", type="build") diff --git a/var/spack/repos/builtin/packages/libpfm4/package.py b/var/spack/repos/builtin/packages/libpfm4/package.py index 9ce27303269ab8..3f971e10dd67ab 100644 --- a/var/spack/repos/builtin/packages/libpfm4/package.py +++ b/var/spack/repos/builtin/packages/libpfm4/package.py @@ -24,6 +24,8 @@ class Libpfm4(MakefilePackage): version("4.9.0", sha256="db0fbe8ee28fd9beeb5d3e80b7cb3b104debcf6a9fcf5cb8b882f0662c79e4e2") version("4.8.0", sha256="9193787a73201b4254e3669243fd71d15a9550486920861912090a09f366cf68") + depends_on("c", type="build") # generated + # Fails to build libpfm4 with intel compiler version 16 and 17 conflicts("%intel@16:17") diff --git a/var/spack/repos/builtin/packages/libpipeline/package.py b/var/spack/repos/builtin/packages/libpipeline/package.py index b35c34559959fc..32d9e01d881e27 100644 --- a/var/spack/repos/builtin/packages/libpipeline/package.py +++ b/var/spack/repos/builtin/packages/libpipeline/package.py @@ -20,5 +20,7 @@ class Libpipeline(AutotoolsPackage): version("1.5.5", sha256="0c8367f8b82bb721b50647a647115b6e62a37e3b2e954a9685e4d933f30c00cc") version("1.4.2", sha256="fef1fc9aa40ce8796f18cd1aecd888a9484a9556c8b0f8d07c863578277679be") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("check", type="test") diff --git a/var/spack/repos/builtin/packages/libplist/package.py b/var/spack/repos/builtin/packages/libplist/package.py index d92235b13f96e5..d58de2c8916959 100644 --- a/var/spack/repos/builtin/packages/libplist/package.py +++ b/var/spack/repos/builtin/packages/libplist/package.py @@ -28,6 +28,9 @@ class Libplist(AutotoolsPackage): version("1.4", sha256="2ad226abe1131a72e7ecbb2b921ad92f54b8e787c2281c89b00145b519479a71") version("1.3", sha256="982c8aac59cdc3fafc925a407a29b6cf367c5ec9bad6ad509fe5ea25d3e5b6b0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build", when="@master") depends_on("automake", type="build", when="@master") depends_on("libtool", type="build", when="@master") diff --git a/var/spack/repos/builtin/packages/libpmemobj-cpp/package.py b/var/spack/repos/builtin/packages/libpmemobj-cpp/package.py index 6703c08e8682e6..8d2af867d056c7 100644 --- a/var/spack/repos/builtin/packages/libpmemobj-cpp/package.py +++ b/var/spack/repos/builtin/packages/libpmemobj-cpp/package.py @@ -25,6 +25,9 @@ class LibpmemobjCpp(CMakePackage): version("1.5.1", sha256="0448bac4697f6563789e5bf22b8556288ae67ab916608bc45d0a3baa24c67985") version("1.5", sha256="6254aa2fb77977f8b91998eb866216d2af22f4ccbffdfc7932df1dff151da61e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # libpmemobj only supports 'Debug' and 'Release' variant( "build_type", diff --git a/var/spack/repos/builtin/packages/libpng/package.py b/var/spack/repos/builtin/packages/libpng/package.py index 395f2694c57cad..ef86a2e4930fa3 100644 --- a/var/spack/repos/builtin/packages/libpng/package.py +++ b/var/spack/repos/builtin/packages/libpng/package.py @@ -30,6 +30,9 @@ class Libpng(CMakePackage): version("1.5.30", sha256="7d76275fad2ede4b7d87c5fd46e6f488d2a16b5a69dc968ffa840ab39ba756ed") version("1.2.57", sha256="0f4620e11fa283fedafb474427c8e96bf149511a1804bdc47350963ae5cf54d8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") variant( diff --git a/var/spack/repos/builtin/packages/libpostal/package.py b/var/spack/repos/builtin/packages/libpostal/package.py index e594a00b689581..3bace0d7ae3644 100644 --- a/var/spack/repos/builtin/packages/libpostal/package.py +++ b/var/spack/repos/builtin/packages/libpostal/package.py @@ -25,6 +25,8 @@ class Libpostal(AutotoolsPackage): version("0.3.1", sha256="68c51a5fdae41e1cac474742789ba5a46a38e307a0a2450cb2d3e33b4f17cf4d") version("0.3", sha256="28c19e21bab13425a76aa65a8435f4b3909611056c2ff439c39b4e57b2a70150") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libpressio-adios1/package.py b/var/spack/repos/builtin/packages/libpressio-adios1/package.py index 05a8f4ab6552b2..f7a5f560b3653a 100644 --- a/var/spack/repos/builtin/packages/libpressio-adios1/package.py +++ b/var/spack/repos/builtin/packages/libpressio-adios1/package.py @@ -16,6 +16,8 @@ class LibpressioAdios1(CMakePackage): version("0.0.2", sha256="cb3c4ef3c9c3bd5f4c08d1145a07d2ce0c84605a2213b744992c6c8cef998d39") + depends_on("cxx", type="build") # generated + depends_on("adios") depends_on("libpressio") diff --git a/var/spack/repos/builtin/packages/libpressio-adios2/package.py b/var/spack/repos/builtin/packages/libpressio-adios2/package.py index 46a34056062572..778e780f50040c 100644 --- a/var/spack/repos/builtin/packages/libpressio-adios2/package.py +++ b/var/spack/repos/builtin/packages/libpressio-adios2/package.py @@ -18,6 +18,8 @@ class LibpressioAdios2(CMakePackage): version("0.0.2", sha256="8ab4b5a0dd8038d52f54aa9b5a67b83a8f7cd096db4c5a413fe0c6caf678e402") version("0.0.1", sha256="ab9c7e26114e8d81f8ad8aca703855079cd3441f9b72e01d9b4aeb0c57ce0746") + depends_on("cxx", type="build") # generated + depends_on("libpressio@0.99.4:+mpi", when="@0.0.3:") depends_on("libpressio@0.85.0:+mpi", when="@0.0.2") depends_on("libpressio@0.60.0:+mpi") diff --git a/var/spack/repos/builtin/packages/libpressio-dataset/package.py b/var/spack/repos/builtin/packages/libpressio-dataset/package.py index 8f42ba172e7dc6..a7041bcdc9062c 100644 --- a/var/spack/repos/builtin/packages/libpressio-dataset/package.py +++ b/var/spack/repos/builtin/packages/libpressio-dataset/package.py @@ -24,6 +24,9 @@ class LibpressioDataset(CMakePackage): version("0.0.3", sha256="b821bd880159c93fe5a960f4b51927a3963b1f0d2b91dc2f6c4655d644e8a28b") version("0.0.2", sha256="b5d62260cc596a6239a721bda12293bce34f86266c203a573d3afa8fe0876c2f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("hdf5", default=False, description="add support for hdf5") variant("shared", default=True, description="build shared libaries") diff --git a/var/spack/repos/builtin/packages/libpressio-errorinjector/package.py b/var/spack/repos/builtin/packages/libpressio-errorinjector/package.py index d200b01371d327..05ad253ef83234 100644 --- a/var/spack/repos/builtin/packages/libpressio-errorinjector/package.py +++ b/var/spack/repos/builtin/packages/libpressio-errorinjector/package.py @@ -18,6 +18,8 @@ class LibpressioErrorinjector(CMakePackage): version("0.8.0", commit="0bfac9a06b1ae34a872b8b599dd4ccb46aa2db4e") version("0.7.0", commit="0b5a5b15121be248a3e5af925f9ad88b3d43fef6") + depends_on("cxx", type="build") # generated + depends_on("libpressio@0.99.4:", when="@0.9.0:") depends_on("libpressio@0.88.0:", when="@0.8.0") depends_on("libpressio@:0.87.0", when="@0.7.0") diff --git a/var/spack/repos/builtin/packages/libpressio-jit/package.py b/var/spack/repos/builtin/packages/libpressio-jit/package.py index 7db39146dc8d74..8d9fe66bdb01e8 100755 --- a/var/spack/repos/builtin/packages/libpressio-jit/package.py +++ b/var/spack/repos/builtin/packages/libpressio-jit/package.py @@ -18,6 +18,8 @@ class LibpressioJit(CMakePackage): version("0.0.1", sha256="6aa771c624980589cc941e8cfca1c5fb6cea3fef2b060f58bfdf07109eda8c08") + depends_on("cxx", type="build") # generated + variant("poorjit", description="include the prototype poorjit compiler", default=True) depends_on("poorjit", when="+poorjit") diff --git a/var/spack/repos/builtin/packages/libpressio-nvcomp/package.py b/var/spack/repos/builtin/packages/libpressio-nvcomp/package.py index 4c41b7082e7723..1b45443d086325 100644 --- a/var/spack/repos/builtin/packages/libpressio-nvcomp/package.py +++ b/var/spack/repos/builtin/packages/libpressio-nvcomp/package.py @@ -21,6 +21,8 @@ class LibpressioNvcomp(CMakePackage, CudaPackage): version("0.0.3", sha256="21409d34f9281bfd7b83b74f5f8fc6d34794f3161391405538c060fb59534597") version("0.0.2", commit="38d7aa7c283681cbe5b7f17b900f72f9f25be51c") + depends_on("cxx", type="build") # generated + depends_on("nvcomp@2.2.0:", when="@0.0.3:") depends_on("libpressio+cuda") depends_on("libpressio@0.99.4:", when="@0.0.6:") diff --git a/var/spack/repos/builtin/packages/libpressio-opt/package.py b/var/spack/repos/builtin/packages/libpressio-opt/package.py index 21ab2fb6c3cc90..22ca887960430f 100644 --- a/var/spack/repos/builtin/packages/libpressio-opt/package.py +++ b/var/spack/repos/builtin/packages/libpressio-opt/package.py @@ -30,6 +30,9 @@ class LibpressioOpt(CMakePackage): version("0.12.0", sha256="5f28f37de858634cf481d911f202360f078902803f82b5f49b7eec9b59948d64") version("0.11.0", sha256="cebbc512fcaa537d2af1a6919d6e0400cdc13595d71d9b90b74ad3eb865c9767") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libpressio+libdistributed+mpi") depends_on("libpressio@0.99.4:", when="@0.15.4:") depends_on("libpressio@0.93.0:", when="@0.14.0:") @@ -51,5 +54,5 @@ def cmake_args(self): @run_after("build") @on_package_attributes(run_tests=True) - def test(self): + def check_test(self): make("test") diff --git a/var/spack/repos/builtin/packages/libpressio-predict/package.py b/var/spack/repos/builtin/packages/libpressio-predict/package.py index bb36f57c3ab429..6eeb7bc37d5e09 100644 --- a/var/spack/repos/builtin/packages/libpressio-predict/package.py +++ b/var/spack/repos/builtin/packages/libpressio-predict/package.py @@ -19,6 +19,8 @@ class LibpressioPredict(CMakePackage): version("0.0.2", sha256="02323e03c832cd1f116136347c6b2b52e5c04485fcd57aeb588b6f1923c62a60") version("0.0.0", sha256="b3c08be05e3b49542929e4d3849c232d1343c66c9f785b312bb37196dc530035") + depends_on("cxx", type="build") # generated + variant("bin", default=True, description="build the command line tools") variant("shared", default=True, description="build shared libaries") diff --git a/var/spack/repos/builtin/packages/libpressio-rmetric/package.py b/var/spack/repos/builtin/packages/libpressio-rmetric/package.py index 722fd0aa553878..01feff140f8fe6 100644 --- a/var/spack/repos/builtin/packages/libpressio-rmetric/package.py +++ b/var/spack/repos/builtin/packages/libpressio-rmetric/package.py @@ -24,6 +24,8 @@ class LibpressioRmetric(CMakePackage): version("0.0.4", sha256="166af5e84d7156c828a3f0dcc5bf531793ea4ec44bbf468184fbab96e1f0a91f") version("0.0.3", sha256="c45948f83854c87748c7ec828ca2f06d7cf6f98a34f763b68c13a4e2deb7fd79") + depends_on("cxx", type="build") # generated + depends_on("libpressio@0.99.4:", when="@0.0.8:") depends_on("libpressio@0.88.0:", when="@0.0.5:0.0.7") depends_on("libpressio@0.85.0:", when="@:0.0.4") @@ -42,5 +44,5 @@ def cmake_args(self): @run_after("build") @on_package_attributes(run_tests=True) - def test(self): + def check_test(self): make("test") diff --git a/var/spack/repos/builtin/packages/libpressio-sperr/package.py b/var/spack/repos/builtin/packages/libpressio-sperr/package.py index 4c0f62a27d7a43..adf79898aa16ec 100644 --- a/var/spack/repos/builtin/packages/libpressio-sperr/package.py +++ b/var/spack/repos/builtin/packages/libpressio-sperr/package.py @@ -24,6 +24,8 @@ class LibpressioSperr(CMakePackage): version("0.0.2", sha256="61995d687f9e7e798e17ec7238d19d917890dc0ff5dec18293b840c4d6f8c115") version("0.0.1", sha256="e2c164822708624b97654046b42abff704594cba6537d6d0646d485bdf2d03ca") + depends_on("cxx", type="build") # generated + depends_on("libpressio@0.99.4:", when="@0.0.5:") depends_on("libpressio@0.88.0:", when="@0.0.3:0.0.4") depends_on("libpressio@:0.88.0", when="@:0.0.2") diff --git a/var/spack/repos/builtin/packages/libpressio-tools/package.py b/var/spack/repos/builtin/packages/libpressio-tools/package.py index cb6e353ee7c5fc..b4f518e0f8245d 100644 --- a/var/spack/repos/builtin/packages/libpressio-tools/package.py +++ b/var/spack/repos/builtin/packages/libpressio-tools/package.py @@ -41,6 +41,8 @@ class LibpressioTools(CMakePackage): version("0.0.16", sha256="1299e441fb15666d1c8abfd40f3f52b1bf55b6bfda4bfcc71177eec37160a95e") version("0.0.15", sha256="bcdf865d77969a34e2d747034ceeccf5cb766a4c11bcc856630d837f442ee33e") + depends_on("cxx", type="build") # generated + depends_on("libpressio-adios1@0.0.2:", when="+adios1") depends_on("lc-framework@1.1.1:+libpressio", when="+lc") @@ -114,5 +116,5 @@ def cmake_args(self): @run_after("build") @on_package_attributes(run_tests=True) - def test(self): + def check_test(self): make("test") diff --git a/var/spack/repos/builtin/packages/libpressio-tthresh/package.py b/var/spack/repos/builtin/packages/libpressio-tthresh/package.py index 8a1d0392d1c373..d66cf2894d14dd 100644 --- a/var/spack/repos/builtin/packages/libpressio-tthresh/package.py +++ b/var/spack/repos/builtin/packages/libpressio-tthresh/package.py @@ -25,6 +25,8 @@ class LibpressioTthresh(CMakePackage): version("0.0.3", sha256="b0b0a4876d3362deafc2bb326be33882132e3d1666e0c5f916fd6fad74a18688") version("0.0.1", sha256="9efcfa97a5a81e9c456f50b712adb806d9d2f2ed6039860615df0f2e9d96569e") + depends_on("cxx", type="build") # generated + depends_on("eigen") depends_on("libpressio@0.99.4:", when="@0.0.8:") depends_on("libpressio@0.85.0:", when="@:0.0.5") @@ -40,5 +42,5 @@ def cmake_args(self): @run_after("build") @on_package_attributes(run_tests=True) - def test(self): + def check_test(self): make("test") diff --git a/var/spack/repos/builtin/packages/libpressio/package.py b/var/spack/repos/builtin/packages/libpressio/package.py index f0a7b683161c38..4ae7016e69d89e 100644 --- a/var/spack/repos/builtin/packages/libpressio/package.py +++ b/var/spack/repos/builtin/packages/libpressio/package.py @@ -174,6 +174,9 @@ class Libpressio(CMakePackage, CudaPackage): version("0.27.0", sha256="387ee5958de2d986095cda2aaf39d0bf319d02eaeeea2a565aea97e6a6f31f36") version("0.26.0", sha256="c451591d106d1671c9ddbb5c304979dd2d083e0616b2aeede62e7a6b568f828c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "pybind", default=False, description="build support for pybind metrics", when="@0.96.0:" ) diff --git a/var/spack/repos/builtin/packages/libproxy/package.py b/var/spack/repos/builtin/packages/libproxy/package.py index 70158c0bf90e8b..f7f826fd479fd3 100644 --- a/var/spack/repos/builtin/packages/libproxy/package.py +++ b/var/spack/repos/builtin/packages/libproxy/package.py @@ -21,6 +21,9 @@ class Libproxy(CMakePackage): version("0.4.14", sha256="6220a6cab837a8996116a0568324cadfd09a07ec16b930d2a330e16d5c2e1eb6") version("0.4.13", sha256="d610bc0ef81a18ba418d759c5f4f87bf7102229a9153fb397d7d490987330ffd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("perl", default=False, description="Enable Perl bindings") variant("python", default=False, description="Enable Python bindings", when="@0.4.16:") diff --git a/var/spack/repos/builtin/packages/libpsl/package.py b/var/spack/repos/builtin/packages/libpsl/package.py index 45332d319f32a2..fe8c8210d05294 100644 --- a/var/spack/repos/builtin/packages/libpsl/package.py +++ b/var/spack/repos/builtin/packages/libpsl/package.py @@ -22,6 +22,8 @@ class Libpsl(AutotoolsPackage): version("0.18.0", sha256="f79c6b257dd39e8f37c7e18d293bbfa35f38676f5d6b6e918687d1cd08216439") version("0.17.0", sha256="025729d6a26ffd53cb54b4d86196f62c01d1813a4360c627546c6eb60ce3dd4b") + depends_on("c", type="build") # generated + depends_on("icu4c") depends_on("gettext", type="build") diff --git a/var/spack/repos/builtin/packages/libpsm3/package.py b/var/spack/repos/builtin/packages/libpsm3/package.py index 8ce2995bfdd1ae..8bb57327616b27 100644 --- a/var/spack/repos/builtin/packages/libpsm3/package.py +++ b/var/spack/repos/builtin/packages/libpsm3/package.py @@ -22,6 +22,8 @@ class Libpsm3(AutotoolsPackage): ) version("11.4.1.0", sha256="272adb9ec10edf709bfcfccc6b6e9296d25d892c36b845ad577caeb82b70c9ac") + depends_on("c", type="build") # generated + variant("atomics", default=True, description="Enable atomics") variant("debug", default=False, description="Enable debugging") variant("sockets", default=True, description="Enable PSM3 sockets") diff --git a/var/spack/repos/builtin/packages/libpsml/package.py b/var/spack/repos/builtin/packages/libpsml/package.py index b6fb93a282a009..77ac9840eb5f62 100644 --- a/var/spack/repos/builtin/packages/libpsml/package.py +++ b/var/spack/repos/builtin/packages/libpsml/package.py @@ -22,6 +22,8 @@ class Libpsml(AutotoolsPackage): version("1.1.7", sha256="b3f5431fd3965b66fe01b899c0c3ef73d9f969d67329cd1f5aba84fb056b5dd1") version("1.1.6", sha256="521647dbd945b208e5d468fceeb2bc397737d9a659e2c7549597bf4eb29f60df") + depends_on("fortran", type="build") # generated + depends_on("autoconf@2.69:", type="build") depends_on("automake@1.14:", type="build") depends_on("libtool@2.4.2:", type="build") diff --git a/var/spack/repos/builtin/packages/libpspio/package.py b/var/spack/repos/builtin/packages/libpspio/package.py index 97744468e17310..b462c5c58c21c1 100644 --- a/var/spack/repos/builtin/packages/libpspio/package.py +++ b/var/spack/repos/builtin/packages/libpspio/package.py @@ -18,6 +18,9 @@ class Libpspio(AutotoolsPackage): version("0.3.0", sha256="4dc092457e481e5cd703eeecd87e6f17749941fe274043550c8a2557a649afc5") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=False, description="Enable Fortran bindings") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/libpulsar/package.py b/var/spack/repos/builtin/packages/libpulsar/package.py index cb24450f499b1c..cbff8e93203287 100644 --- a/var/spack/repos/builtin/packages/libpulsar/package.py +++ b/var/spack/repos/builtin/packages/libpulsar/package.py @@ -20,6 +20,9 @@ class Libpulsar(CMakePackage): version("2.7.0", sha256="5bf8e5115075e12c848a9e4474cd47067c3200f7ff13c45f624f7383287e8e5e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zstd") # TODO: replace this with an explicit list of components of Boost, diff --git a/var/spack/repos/builtin/packages/libqrencode/package.py b/var/spack/repos/builtin/packages/libqrencode/package.py index d3db70755e1e59..3079c383347b9f 100644 --- a/var/spack/repos/builtin/packages/libqrencode/package.py +++ b/var/spack/repos/builtin/packages/libqrencode/package.py @@ -21,6 +21,8 @@ class Libqrencode(AutotoolsPackage): version("master", branch="master") version("4.1.1", sha256="5385bc1b8c2f20f3b91d258bf8ccc8cf62023935df2d2676b5b67049f31a049c") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") # We assume a reasonably recent libtool is necessary diff --git a/var/spack/repos/builtin/packages/libquo/package.py b/var/spack/repos/builtin/packages/libquo/package.py index 1c838d9c4a5097..95650df42e4614 100644 --- a/var/spack/repos/builtin/packages/libquo/package.py +++ b/var/spack/repos/builtin/packages/libquo/package.py @@ -27,6 +27,9 @@ class Libquo(AutotoolsPackage): version("1.3", sha256="61b0beff15eae4be94b5d3cbcbf7bf757659604465709ed01827cbba45efcf90") version("1.2.9", sha256="0a64bea8f52f9eecd89e4ab82fde1c5bd271f3866c612da0ce7f38049409429b") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("m4", when="@develop", type="build") diff --git a/var/spack/repos/builtin/packages/libraqm/package.py b/var/spack/repos/builtin/packages/libraqm/package.py index 745dc9f1a9002e..547931a621017a 100644 --- a/var/spack/repos/builtin/packages/libraqm/package.py +++ b/var/spack/repos/builtin/packages/libraqm/package.py @@ -17,6 +17,8 @@ class Libraqm(MesonPackage): version("0.9.0", sha256="9ed6fdf41da6391fc9bf7038662cbe412c330aa6eb22b19704af2258e448107c") + depends_on("c", type="build") # generated + variant( "bidi_algo", default="fribidi", diff --git a/var/spack/repos/builtin/packages/libraw1394/package.py b/var/spack/repos/builtin/packages/libraw1394/package.py index 89a9262f34a377..589bb96e8f65be 100644 --- a/var/spack/repos/builtin/packages/libraw1394/package.py +++ b/var/spack/repos/builtin/packages/libraw1394/package.py @@ -16,3 +16,5 @@ class Libraw1394(AutotoolsPackage): license("LGPL-2.1-or-later") version("1.2.0", sha256="1fdcfa4c5a0938705b925d06f17da9be6ec3f8f065040bb7f33082ef3fc63fad") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/librdkafka/package.py b/var/spack/repos/builtin/packages/librdkafka/package.py index 53cb81e2f8d717..dbc42080596d39 100644 --- a/var/spack/repos/builtin/packages/librdkafka/package.py +++ b/var/spack/repos/builtin/packages/librdkafka/package.py @@ -24,5 +24,8 @@ class Librdkafka(AutotoolsPackage): version("1.4.4", sha256="0984ffbe17b9e04599fb9eceb16cfa189f525a042bef02474cd1bbfe1ea68416") version("1.4.2", sha256="3b99a36c082a67ef6295eabd4fb3e32ab0bff7c6b0d397d6352697335f4e57eb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zstd") depends_on("lz4") diff --git a/var/spack/repos/builtin/packages/librelp/package.py b/var/spack/repos/builtin/packages/librelp/package.py index 3113da14f317e9..a3d0a468e73854 100644 --- a/var/spack/repos/builtin/packages/librelp/package.py +++ b/var/spack/repos/builtin/packages/librelp/package.py @@ -20,6 +20,8 @@ class Librelp(AutotoolsPackage): version("1.6.0", sha256="acaaa6b8e295ecd8e9d9b70c1c3c8fb3cc3c95a9ed5ce1689688510d0eecb37e") version("1.5.0", sha256="ce7f463944417ba77d7b586590e41e276f7b107d3e35a77ce768cf3889b5e1a6") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libreproc/package.py b/var/spack/repos/builtin/packages/libreproc/package.py index 353819c54d4831..2c98bcdea8451d 100644 --- a/var/spack/repos/builtin/packages/libreproc/package.py +++ b/var/spack/repos/builtin/packages/libreproc/package.py @@ -18,6 +18,9 @@ class Libreproc(CMakePackage): version("14.2.4", sha256="55c780f7faa5c8cabd83ebbb84b68e5e0e09732de70a129f6b3c801e905415dd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cxx", default=False, description="Build reproc C++ bindings") variant("shared", default=True, description="Build shared libraries") diff --git a/var/spack/repos/builtin/packages/libressl/package.py b/var/spack/repos/builtin/packages/libressl/package.py index fbdf8a956d8f90..6946c0c66efc28 100644 --- a/var/spack/repos/builtin/packages/libressl/package.py +++ b/var/spack/repos/builtin/packages/libressl/package.py @@ -22,6 +22,8 @@ class Libressl(AutotoolsPackage): version("3.6.3", sha256="87b1bbe36e9eec8d0ae5f04c83d36b2c5b0e581784c7eb0817025ed29eadea37") version("3.6.1", sha256="acfac61316e93b919c28d62d53037ca734de85c46b4d703f19fd8395cf006774") + depends_on("c", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("static", default=False, description="Build static libraries") diff --git a/var/spack/repos/builtin/packages/libristra/package.py b/var/spack/repos/builtin/packages/libristra/package.py index 0563824e0573f3..bf884b47ffd74d 100644 --- a/var/spack/repos/builtin/packages/libristra/package.py +++ b/var/spack/repos/builtin/packages/libristra/package.py @@ -20,6 +20,8 @@ class Libristra(CMakePackage): version("master", branch="master", submodules=False, preferred=True) version("1.0.0", commit="33235fe0334ca7f1f99b386a90932d9f8e1e71de") + depends_on("cxx", type="build") # generated + variant("paraview", default=False, description="Enable ParaView") variant("shared_lua", default=False, description="Build with shared lua") diff --git a/var/spack/repos/builtin/packages/librmm/package.py b/var/spack/repos/builtin/packages/librmm/package.py index e7804ae2b40656..3adab29f30de7d 100644 --- a/var/spack/repos/builtin/packages/librmm/package.py +++ b/var/spack/repos/builtin/packages/librmm/package.py @@ -19,4 +19,6 @@ class Librmm(CMakePackage): version("24.02.00", sha256="63ddde8788727f0989f6397aed8a007ef414a577417b7d3cf39ca670c1bc4a91") version("0.15.0", sha256="599f97b95d169a90d11296814763f7e151a8a1e060ba10bc6c8f4684a5cd7972") + depends_on("cxx", type="build") # generated + depends_on("cuda@9.0:") diff --git a/var/spack/repos/builtin/packages/librom/package.py b/var/spack/repos/builtin/packages/librom/package.py index b46c9e0976bb40..1a95b3116fb10a 100644 --- a/var/spack/repos/builtin/packages/librom/package.py +++ b/var/spack/repos/builtin/packages/librom/package.py @@ -17,6 +17,10 @@ class Librom(AutotoolsPackage): version("develop", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("lapack") depends_on("mpi") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/librsb/package.py b/var/spack/repos/builtin/packages/librsb/package.py index 18cccd064f30ec..f9ba660f88dcce 100644 --- a/var/spack/repos/builtin/packages/librsb/package.py +++ b/var/spack/repos/builtin/packages/librsb/package.py @@ -24,6 +24,10 @@ class Librsb(AutotoolsPackage): version("1.2.0.9", sha256="f421f5d572461601120933e3c1cfee2ca69e6ecc92cbb11baa4e86bdedd3d9fa") version("1.2.0.8", sha256="8bebd19a1866d80ade13eabfdd0f07ae7e8a485c0b975b5d15f531ac204d80cb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("zlib-api") depends_on("googletest", type="build", when="+googletest") conflicts("%apple-clang") diff --git a/var/spack/repos/builtin/packages/librsvg/package.py b/var/spack/repos/builtin/packages/librsvg/package.py index 29b6193392cba8..910c4eaafd93e3 100644 --- a/var/spack/repos/builtin/packages/librsvg/package.py +++ b/var/spack/repos/builtin/packages/librsvg/package.py @@ -22,6 +22,8 @@ class Librsvg(AutotoolsPackage): version("2.44.14", sha256="6a85a7868639cdd4aa064245cc8e9d864dad8b8e9a4a8031bb09a4796bc4e303") version("2.40.21", sha256="f7628905f1cada84e87e2b14883ed57d8094dca3281d5bcb24ece4279e9a92ba") + depends_on("c", type="build") # generated + variant("doc", default=False, description="Build documentation with gtk-doc") depends_on("gobject-introspection", type="build") diff --git a/var/spack/repos/builtin/packages/librtlsdr/package.py b/var/spack/repos/builtin/packages/librtlsdr/package.py index 0eaed4a6d0954d..5a8258fb408845 100644 --- a/var/spack/repos/builtin/packages/librtlsdr/package.py +++ b/var/spack/repos/builtin/packages/librtlsdr/package.py @@ -17,4 +17,6 @@ class Librtlsdr(CMakePackage): version("0.6.0", sha256="80a5155f3505bca8f1b808f8414d7dcd7c459b662a1cde84d3a2629a6e72ae55") version("0.5.4", sha256="6fd0d298c1a18fc8005b0c2f6199b08bc15e3fb4f4312f551eea2ae269c940c5") + depends_on("c", type="build") # generated + depends_on("libusb") diff --git a/var/spack/repos/builtin/packages/librttopo/package.py b/var/spack/repos/builtin/packages/librttopo/package.py index 082ca655c3c23d..79ef2f6236b38e 100644 --- a/var/spack/repos/builtin/packages/librttopo/package.py +++ b/var/spack/repos/builtin/packages/librttopo/package.py @@ -20,6 +20,8 @@ class Librttopo(AutotoolsPackage): version("1.1.0", sha256="2e2fcabb48193a712a6c76ac9a9be2a53f82e32f91a2bc834d9f1b4fa9cd879f") + depends_on("c", type="build") # generated + depends_on("geos") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/libsakura/package.py b/var/spack/repos/builtin/packages/libsakura/package.py index 788327f3fa9529..42ed11da53592a 100644 --- a/var/spack/repos/builtin/packages/libsakura/package.py +++ b/var/spack/repos/builtin/packages/libsakura/package.py @@ -20,6 +20,9 @@ class Libsakura(CMakePackage): version("4.0.2065", sha256="3fde3713b1ca539f0b2397ec72a0086a3138ef63f89dce4be51ee60585df995f") version("3.0.2025", sha256="381a49d57cbc88dea15e08f7ed64ba57481d25bce8e5f68938dd4b6a30589c16") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8:", type="build") depends_on("eigen@3.2:") diff --git a/var/spack/repos/builtin/packages/libsamplerate/package.py b/var/spack/repos/builtin/packages/libsamplerate/package.py index 35fc19520b2080..d2c5be4cd6c163 100644 --- a/var/spack/repos/builtin/packages/libsamplerate/package.py +++ b/var/spack/repos/builtin/packages/libsamplerate/package.py @@ -18,6 +18,8 @@ class Libsamplerate(AutotoolsPackage): version("0.1.9", sha256="0a7eb168e2f21353fb6d84da152e4512126f7dc48ccb0be80578c565413444c1") version("0.1.8", sha256="93b54bdf46d5e6d2354b7034395fe329c222a966790de34520702bb9642f1c06") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/libseccomp/package.py b/var/spack/repos/builtin/packages/libseccomp/package.py index 8b87dbff48f165..0dc52a6e62abe0 100644 --- a/var/spack/repos/builtin/packages/libseccomp/package.py +++ b/var/spack/repos/builtin/packages/libseccomp/package.py @@ -18,6 +18,8 @@ class Libseccomp(AutotoolsPackage): version("2.5.3", sha256="59065c8733364725e9721ba48c3a99bbc52af921daf48df4b1e012fbc7b10a76") version("2.3.3", sha256="7fc28f4294cc72e61c529bedf97e705c3acf9c479a8f1a3028d4cd2ca9f3b155") + depends_on("c", type="build") # generated + variant("python", default=True, description="Build Python bindings") depends_on("gperf", type="build", when="@2.5:") diff --git a/var/spack/repos/builtin/packages/libsecret/package.py b/var/spack/repos/builtin/packages/libsecret/package.py index ba7c8aa26584c1..91c79ed634f1c2 100644 --- a/var/spack/repos/builtin/packages/libsecret/package.py +++ b/var/spack/repos/builtin/packages/libsecret/package.py @@ -22,6 +22,8 @@ class Libsecret(AutotoolsPackage): version("0.18.8", sha256="3bfa889d260e0dbabcf5b9967f2aae12edcd2ddc9adc365de7a5cc840c311d15") + depends_on("c", type="build") # generated + variant("gcrypt", default=True, description="Build with libgcrypt") variant("gobj", default=False, description="Build with gobject-introspection") # Optional Vala support is not implemented yet diff --git a/var/spack/repos/builtin/packages/libsharp/package.py b/var/spack/repos/builtin/packages/libsharp/package.py index 482439306a8845..e6464dc88486f9 100644 --- a/var/spack/repos/builtin/packages/libsharp/package.py +++ b/var/spack/repos/builtin/packages/libsharp/package.py @@ -23,6 +23,9 @@ class Libsharp(AutotoolsPackage): version("1.0.0", commit="cc4753ff4b0ef393f0d4ada41a175c6d1dd85d71", preferred=True) version("2018-01-17", commit="593d4eba67d61827191c32fb94bf235cb31205e1") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/libshm/package.py b/var/spack/repos/builtin/packages/libshm/package.py index 6bbe6cd94e602e..c55fce1cc67723 100644 --- a/var/spack/repos/builtin/packages/libshm/package.py +++ b/var/spack/repos/builtin/packages/libshm/package.py @@ -17,5 +17,7 @@ class Libshm(Package): version("master") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): install_tree("include", prefix.include) diff --git a/var/spack/repos/builtin/packages/libsigcpp/package.py b/var/spack/repos/builtin/packages/libsigcpp/package.py index 318851ac097d88..f8e047a285d6ce 100644 --- a/var/spack/repos/builtin/packages/libsigcpp/package.py +++ b/var/spack/repos/builtin/packages/libsigcpp/package.py @@ -21,6 +21,8 @@ class Libsigcpp(AutotoolsPackage): version("2.1.1", sha256="7a2bd0b521544b31051c476205a0e74ace53771ec1a939bfec3c297b50c9fd78") version("2.0.3", sha256="6ee6d5f164d8a34da33d2251cdb348b4f5769bf993ed8a6d4055bd47562f94a2") + depends_on("cxx", type="build") # generated + depends_on("m4", when="@:2.9", type="build") def url_for_version(self, version): diff --git a/var/spack/repos/builtin/packages/libsignal-protocol-c/package.py b/var/spack/repos/builtin/packages/libsignal-protocol-c/package.py index 1b3bd1c1b4ffd3..da46db56796d6e 100644 --- a/var/spack/repos/builtin/packages/libsignal-protocol-c/package.py +++ b/var/spack/repos/builtin/packages/libsignal-protocol-c/package.py @@ -17,3 +17,5 @@ class LibsignalProtocolC(CMakePackage): license("GPL-3.0-only") version("2.3.3", sha256="c22e7690546e24d46210ca92dd808f17c3102e1344cd2f9a370136a96d22319d") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libsigsegv/package.py b/var/spack/repos/builtin/packages/libsigsegv/package.py index 94943e157304d5..253ab41b798b31 100644 --- a/var/spack/repos/builtin/packages/libsigsegv/package.py +++ b/var/spack/repos/builtin/packages/libsigsegv/package.py @@ -23,6 +23,8 @@ class Libsigsegv(AutotoolsPackage, GNUMirrorPackage): version("2.11", sha256="dd7c2eb2ef6c47189406d562c1dc0f96f2fc808036834d596075d58377e37a18") version("2.10", sha256="8460a4a3dd4954c3d96d7a4f5dd5bc4d9b76f5754196aa245287553b26d2199a") + depends_on("c", type="build") # generated + patch("new_config_guess.patch", when="@2.10") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/libsixel/package.py b/var/spack/repos/builtin/packages/libsixel/package.py index c69628f3ff3c63..2d73c9fc7d0068 100644 --- a/var/spack/repos/builtin/packages/libsixel/package.py +++ b/var/spack/repos/builtin/packages/libsixel/package.py @@ -19,6 +19,9 @@ class Libsixel(MesonPackage): version("1.10.3", sha256="028552eb8f2a37c6effda88ee5e8f6d87b5d9601182ddec784a9728865f821e0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("img2sixel", default=True, description="build binary img2sixel") variant("sixel2png", default=True, description="build binary sixel2png") variant("gd", default=True, description="build with libgd") diff --git a/var/spack/repos/builtin/packages/libslirp/package.py b/var/spack/repos/builtin/packages/libslirp/package.py index cb75c8bcf87710..da3dc9c424d147 100644 --- a/var/spack/repos/builtin/packages/libslirp/package.py +++ b/var/spack/repos/builtin/packages/libslirp/package.py @@ -18,5 +18,7 @@ class Libslirp(MesonPackage): version("4.7.0", sha256="9398f0ec5a581d4e1cd6856b88ae83927e458d643788c3391a39e61b75db3d3b") version("4.6.1", sha256="69ad4df0123742a29cc783b35de34771ed74d085482470df6313b6abeb799b11") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("glib") diff --git a/var/spack/repos/builtin/packages/libsm/package.py b/var/spack/repos/builtin/packages/libsm/package.py index 6f89ff6d3dfc9c..eaa0858a9e480e 100644 --- a/var/spack/repos/builtin/packages/libsm/package.py +++ b/var/spack/repos/builtin/packages/libsm/package.py @@ -20,6 +20,8 @@ class Libsm(AutotoolsPackage, XorgPackage): version("1.2.3", sha256="1e92408417cb6c6c477a8a6104291001a40b3bb56a4a60608fdd9cd2c5a0f320") version("1.2.2", sha256="14bb7c669ce2b8ff712fbdbf48120e3742a77edcd5e025d6b3325ed30cf120f4") + depends_on("c", type="build") # generated + depends_on("libice@1.1.0:", when="@1.2.4:") depends_on("libice@1.0.5:") depends_on("uuid") diff --git a/var/spack/repos/builtin/packages/libsndfile/package.py b/var/spack/repos/builtin/packages/libsndfile/package.py index 031517c7552fca..9e262ca91253f5 100644 --- a/var/spack/repos/builtin/packages/libsndfile/package.py +++ b/var/spack/repos/builtin/packages/libsndfile/package.py @@ -19,6 +19,9 @@ class Libsndfile(AutotoolsPackage): version("1.0.28", sha256="1ff33929f042fa333aed1e8923aa628c3ee9e1eb85512686c55092d1e5a9dfa9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("alsa", default=False, description="Use alsa in example programs") variant( "external-libs", default=False, description="Build with support for FLAC, Ogg and Vorbis" diff --git a/var/spack/repos/builtin/packages/libsodium/package.py b/var/spack/repos/builtin/packages/libsodium/package.py index b8fef47458f9b7..10ae833ad1fa2e 100644 --- a/var/spack/repos/builtin/packages/libsodium/package.py +++ b/var/spack/repos/builtin/packages/libsodium/package.py @@ -36,6 +36,8 @@ class Libsodium(AutotoolsPackage): version("1.0.0", sha256="ced1fe3d2066953fea94f307a92f8ae41bf0643739a44309cbe43aa881dbc9a5") version("0.7.1", sha256="ef46bbb5bac263ef6d3fc00ccc11d4690aea83643412919fe15369b9870280a7") + depends_on("c", type="build") # generated + def patch(self): # Necessary on ppc64le / aarch64, because Spack tries to execute these scripts # to check if they work (see lib/spack/spack/build_systems/autotools.py). diff --git a/var/spack/repos/builtin/packages/libsolv/package.py b/var/spack/repos/builtin/packages/libsolv/package.py index c75731358ea458..bb177bf3c2aa67 100644 --- a/var/spack/repos/builtin/packages/libsolv/package.py +++ b/var/spack/repos/builtin/packages/libsolv/package.py @@ -18,6 +18,9 @@ class Libsolv(CMakePackage): version("0.7.22", sha256="968aef452b5493751fa0168cd58745a77c755e202a43fe8d549d791eb16034d5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("conda", default=False, description="Include solv/conda.h") diff --git a/var/spack/repos/builtin/packages/libspatialindex/package.py b/var/spack/repos/builtin/packages/libspatialindex/package.py index 0f59f80bcb5fb8..3504012bfe9a23 100644 --- a/var/spack/repos/builtin/packages/libspatialindex/package.py +++ b/var/spack/repos/builtin/packages/libspatialindex/package.py @@ -17,6 +17,8 @@ class Libspatialindex(CMakePackage): version("1.9.3", sha256="7b44340a3edc55c11abfc453bb60f148b29f569cef9e1148583e76132e9c7379") version("1.8.5", sha256="93cce77269612f45287b521d5afdfb245be2b93b8b6438d92f8b9e0bdb37059d") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.5.0:", type="build") @property diff --git a/var/spack/repos/builtin/packages/libspatialite/package.py b/var/spack/repos/builtin/packages/libspatialite/package.py index 81d68e3746e197..b6643e4ade52cc 100644 --- a/var/spack/repos/builtin/packages/libspatialite/package.py +++ b/var/spack/repos/builtin/packages/libspatialite/package.py @@ -34,6 +34,8 @@ class Libspatialite(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("freexl") depends_on("freexl@2:", when="@5.1:") diff --git a/var/spack/repos/builtin/packages/libspiro/package.py b/var/spack/repos/builtin/packages/libspiro/package.py index 99dc733c5eded9..119839ab547292 100644 --- a/var/spack/repos/builtin/packages/libspiro/package.py +++ b/var/spack/repos/builtin/packages/libspiro/package.py @@ -19,6 +19,8 @@ class Libspiro(AutotoolsPackage): version("20200505", sha256="00be530b5c0ea9274baadf6c05521f0b192d4c3c1db636ac8b08efd44aaea8f5") version("20190731", sha256="24c7d1ccc7c7fe44ff10c376aa9f96e20e505f417ee72b63dc91a9b34eeac354") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libsplash/package.py b/var/spack/repos/builtin/packages/libsplash/package.py index b431a80f357fc9..3ece876675a9c2 100644 --- a/var/spack/repos/builtin/packages/libsplash/package.py +++ b/var/spack/repos/builtin/packages/libsplash/package.py @@ -31,6 +31,8 @@ class Libsplash(CMakePackage): version("1.3.1", sha256="6ad04261e6d377a59b209f345af56405b37830f0dcfac28770b63091bff59383") version("1.2.4", sha256="f5c4f792fee5609ede6a7d2fee5fa5799d3b68e8cdc23001a3aba390394d2f36") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Enable parallel I/O (one-file aggregation) support") depends_on("cmake@3.10.0:", type="build", when="@1.7.0:") diff --git a/var/spack/repos/builtin/packages/libspng/package.py b/var/spack/repos/builtin/packages/libspng/package.py index feb58288b94b89..4849cb93dbe72d 100644 --- a/var/spack/repos/builtin/packages/libspng/package.py +++ b/var/spack/repos/builtin/packages/libspng/package.py @@ -18,3 +18,6 @@ class Libspng(CMakePackage): version("0.7.4", sha256="47ec02be6c0a6323044600a9221b049f63e1953faf816903e7383d4dc4234487") version("0.7.2", sha256="4acf25571d31f540d0b7ee004f5461d68158e0a13182505376805da99f4ccc4e") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libssh/package.py b/var/spack/repos/builtin/packages/libssh/package.py index 8bd652d384dd03..d79d02d826ee12 100644 --- a/var/spack/repos/builtin/packages/libssh/package.py +++ b/var/spack/repos/builtin/packages/libssh/package.py @@ -16,6 +16,9 @@ class Libssh(CMakePackage): version("0.8.5", sha256="07d2c431240fc88f6b06bcb36ae267f9afeedce2e32f6c42f8844b205ab5a335") version("0.7.5", sha256="54e86dd5dc20e5367e58f3caab337ce37675f863f80df85b6b1614966a337095") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("gssapi", default=True, description="Build with gssapi support") depends_on("openssl@:1.0", when="@:0.7") depends_on("openssl") diff --git a/var/spack/repos/builtin/packages/libssh2/package.py b/var/spack/repos/builtin/packages/libssh2/package.py index 3a66e97f180f18..23dc57ce2deaff 100644 --- a/var/spack/repos/builtin/packages/libssh2/package.py +++ b/var/spack/repos/builtin/packages/libssh2/package.py @@ -23,6 +23,9 @@ class Libssh2(AutotoolsPackage, CMakePackage): "1.4.3", sha256="eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d" ) # CentOS7 + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + build_system("autotools", "cmake", default="autotools") variant( diff --git a/var/spack/repos/builtin/packages/libstdcompat/package.py b/var/spack/repos/builtin/packages/libstdcompat/package.py index 91c4a1f92e9daf..c9ccf77a0dee6d 100644 --- a/var/spack/repos/builtin/packages/libstdcompat/package.py +++ b/var/spack/repos/builtin/packages/libstdcompat/package.py @@ -37,6 +37,8 @@ class Libstdcompat(CMakePackage): version("0.0.2", sha256="36424399e649be38bdb21899aa45f94aebba25c66048bab2751b1b3b9fd27238") version("0.0.1", sha256="3d63e901f4e20b9032a67086f4b4281f641ee0dea436cf15f7058faa40d8637b") + depends_on("cxx", type="build") # generated + variant( "cpp_compat", values=("11", "14", "17", "20", "23", "auto"), @@ -107,8 +109,3 @@ def cmake_args(self): else: args.append("-DBUILD_TESTING=OFF") return args - - @run_after("build") - @on_package_attributes(run_tests=True) - def test(self): - make("test") diff --git a/var/spack/repos/builtin/packages/libsvm/package.py b/var/spack/repos/builtin/packages/libsvm/package.py index 8d1089337fe870..bc3506f206b64c 100644 --- a/var/spack/repos/builtin/packages/libsvm/package.py +++ b/var/spack/repos/builtin/packages/libsvm/package.py @@ -18,6 +18,9 @@ class Libsvm(MakefilePackage): version("323", sha256="7a466f90f327a98f8ed1cb217570547bcb00077933d1619f3cb9e73518f38196") version("322", sha256="a3469436f795bb3f8b1e65ea761e14e5599ec7ee941c001d771c07b7da318ac6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) mkdirp(prefix.lib) diff --git a/var/spack/repos/builtin/packages/libszip/package.py b/var/spack/repos/builtin/packages/libszip/package.py index 2aa2974fc40943..107c821272a567 100644 --- a/var/spack/repos/builtin/packages/libszip/package.py +++ b/var/spack/repos/builtin/packages/libszip/package.py @@ -24,6 +24,8 @@ class Libszip(AutotoolsPackage): version("2.1.1", sha256="21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412") version("2.1", sha256="a816d95d5662e8279625abdbea7d0e62157d7d1f028020b1075500bf483ed5ef") + depends_on("c", type="build") # generated + @property def libs(self): shared = "static" not in self.spec.last_query.extra_parameters diff --git a/var/spack/repos/builtin/packages/libtar/package.py b/var/spack/repos/builtin/packages/libtar/package.py index bf5757ab7242c0..ada56da6ac5cb9 100644 --- a/var/spack/repos/builtin/packages/libtar/package.py +++ b/var/spack/repos/builtin/packages/libtar/package.py @@ -17,6 +17,8 @@ class Libtar(AutotoolsPackage): version("1.2.19", sha256="5fea7152106b1b8cda109da27f505439865dd196da94f503fab18264591ddf64") version("1.2.18", sha256="a5ac82dae9677b5b74333ed63043b9699c7ef561e2eacf301188c277952d4b7d") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libtasn1/package.py b/var/spack/repos/builtin/packages/libtasn1/package.py index 07abb9199d97e6..3d7719b11f8954 100644 --- a/var/spack/repos/builtin/packages/libtasn1/package.py +++ b/var/spack/repos/builtin/packages/libtasn1/package.py @@ -29,6 +29,8 @@ class Libtasn1(Package): version("4.1", sha256="60ee6571dcfa00cf55406404912274d6dc759cbaa80d666b89d819feeff5f301") version("4.0", sha256="41d044f7644bdd1c4f8a5c15ac1885ca1fcbf32f5f6dd4760a19278b979857fe") + depends_on("c", type="build") # generated + def install(self, spec, prefix): configure( "--disable-dependency-tracking", diff --git a/var/spack/repos/builtin/packages/libtermkey/package.py b/var/spack/repos/builtin/packages/libtermkey/package.py index 817438a516c64d..253826b6200fa4 100644 --- a/var/spack/repos/builtin/packages/libtermkey/package.py +++ b/var/spack/repos/builtin/packages/libtermkey/package.py @@ -21,6 +21,8 @@ class Libtermkey(MakefilePackage): version("0.15b", sha256="6825422c6297e4f81b2c48962b4512585ca8a50bf31f24b3234a1be71a9d7a6e") version("0.14", sha256="3d114d4509499b80a583ea39cd35f18268aacf4a7bbf56c142cd032632005c79") + depends_on("c", type="build") # generated + depends_on("gzip", type="build") depends_on("libtool", type="build") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/libthai/package.py b/var/spack/repos/builtin/packages/libthai/package.py index 5ae2db3dbd9fa0..ff0233a466502d 100644 --- a/var/spack/repos/builtin/packages/libthai/package.py +++ b/var/spack/repos/builtin/packages/libthai/package.py @@ -22,5 +22,7 @@ class Libthai(AutotoolsPackage): version("0.1.28", sha256="ffe0a17b4b5aa11b153c15986800eca19f6c93a4025ffa5cf2cab2dcdf1ae911") version("0.1.27", sha256="1659fa1b7b1d6562102d7feb8c8c3fd94bb2dc5761ed7dbaae4f300e1c03eff6") + depends_on("c", type="build") # generated + depends_on("libdatrie") depends_on("doxygen@1.8.8:", type="build") diff --git a/var/spack/repos/builtin/packages/libtheora/package.py b/var/spack/repos/builtin/packages/libtheora/package.py index 236696283a4f91..a6aede4da7172f 100644 --- a/var/spack/repos/builtin/packages/libtheora/package.py +++ b/var/spack/repos/builtin/packages/libtheora/package.py @@ -26,6 +26,8 @@ class Libtheora(AutotoolsPackage, MSBuildPackage): version("1.1.1", sha256="f36da409947aa2b3dcc6af0a8c2e3144bc19db2ed547d64e9171c59c66561c61") version("1.1.0", sha256="3d7b4fb1c115f1a530afd430eed2e8861fa57c8b179ec2d5a5d8f1cd0c7a4268") + depends_on("c", type="build") # generated + variant("doc", default=False, description="Build documentation") depends_on("doxygen", when="+doc", type="build") diff --git a/var/spack/repos/builtin/packages/libtiff/package.py b/var/spack/repos/builtin/packages/libtiff/package.py index 8bd59a30f625de..2b1778292653e0 100644 --- a/var/spack/repos/builtin/packages/libtiff/package.py +++ b/var/spack/repos/builtin/packages/libtiff/package.py @@ -40,6 +40,7 @@ class Libtiff(CMakePackage, AutotoolsPackage): license("libtiff") + version("4.6.0", sha256="88b3979e6d5c7e32b50d7ec72fb15af724f6ab2cbf7e10880c360a77e4b5d99a") version("4.5.1", sha256="d7f38b6788e4a8f5da7940c5ac9424f494d8a79eba53d555f4a507167dca5e2b") version("4.5.0", sha256="c7a1d9296649233979fa3eacffef3fa024d73d05d589cb622727b5b08c423464") version("4.4.0", sha256="917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed") @@ -55,6 +56,17 @@ class Libtiff(CMakePackage, AutotoolsPackage): version("4.0.4", sha256="8cb1d90c96f61cdfc0bcf036acc251c9dbe6320334da941c7a83cfe1576ef890") version("3.9.7", sha256="f5d64dd4ce61c55f5e9f6dc3920fbe5a41e02c2e607da7117a35eb5c320cef6a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + + # GUI + variant( + "opengl", + default=False, + description="use OpenGL (required for tiffgt viewer)", + when="@4.5,4.7:", + ) + # Internal codecs variant("ccitt", default=True, description="support for CCITT Group 3 & 4 algorithms") variant("packbits", default=True, description="support for Macintosh PackBits algorithm") @@ -118,6 +130,7 @@ class CMakeBuilder(CMakeBuilder): def cmake_args(self): args = [self.define_from_variant(var) for var in VARIANTS] args.append("-Dsphinx=OFF") + args += [self.define_from_variant("tiff-opengl", "opengl")] args += [self.define_from_variant("BUILD_SHARED_LIBS", "shared")] args += [self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic")] @@ -135,6 +148,7 @@ def configure_args(self): args.append("--disable-sphinx") + args.extend(self.enable_or_disable("opengl")) args.extend(self.enable_or_disable("shared")) args.extend(self.with_or_without("pic")) diff --git a/var/spack/repos/builtin/packages/libtirpc/package.py b/var/spack/repos/builtin/packages/libtirpc/package.py index e2f3b307dc8825..f401636a8069c0 100644 --- a/var/spack/repos/builtin/packages/libtirpc/package.py +++ b/var/spack/repos/builtin/packages/libtirpc/package.py @@ -18,6 +18,8 @@ class Libtirpc(AutotoolsPackage): version("1.2.6", sha256="4278e9a5181d5af9cd7885322fdecebc444f9a3da87c526e7d47f7a12a37d1cc") version("1.1.4", sha256="2ca529f02292e10c158562295a1ffd95d2ce8af97820e3534fe1b0e3aec7561d") + depends_on("c", type="build") # generated + depends_on("krb5") provides("rpc") diff --git a/var/spack/repos/builtin/packages/libtlx/package.py b/var/spack/repos/builtin/packages/libtlx/package.py index 8c852a11c2919d..5a4e64f6c2b63e 100644 --- a/var/spack/repos/builtin/packages/libtlx/package.py +++ b/var/spack/repos/builtin/packages/libtlx/package.py @@ -34,3 +34,5 @@ class Libtlx(CMakePackage): version( "0.5.20191212", sha256="5e67d3042a390dbb831b6d46437e3c7fadf738bff362aa7376b210b10ecd532d" ) + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libtomlc99/package.py b/var/spack/repos/builtin/packages/libtomlc99/package.py index c1cef890bd37a6..5f3ed20bc79420 100644 --- a/var/spack/repos/builtin/packages/libtomlc99/package.py +++ b/var/spack/repos/builtin/packages/libtomlc99/package.py @@ -28,6 +28,8 @@ class Libtomlc99(Package): # Does not build shared libraries. version("0.2019.03.06", commit="bd76f1276ee5f5df0eb064f1842af5ad1737cf1e") + depends_on("c", type="build") # generated + variant("debug", default=False, description="Build with debug enabled.") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/libtommath/package.py b/var/spack/repos/builtin/packages/libtommath/package.py index e7bc2b0972358b..0eb2dae2999dc8 100644 --- a/var/spack/repos/builtin/packages/libtommath/package.py +++ b/var/spack/repos/builtin/packages/libtommath/package.py @@ -19,5 +19,7 @@ class Libtommath(MakefilePackage): version("1.2.0", sha256="f3c20ab5df600d8d89e054d096c116417197827d12732e678525667aa724e30f") version("1.1.0", sha256="71b6f3f99341b7693393ab4b58f03b79b6afc2ee5288666cc4538b4b336355f4") + depends_on("c", type="build") # generated + def install(self, spec, prefix): make(f"DESTDIR={prefix}", "LIBPATH=/lib", "INCPATH=/include", "install") diff --git a/var/spack/repos/builtin/packages/libtool/package.py b/var/spack/repos/builtin/packages/libtool/package.py index d5926669e4fe17..1547aa6764d96d 100644 --- a/var/spack/repos/builtin/packages/libtool/package.py +++ b/var/spack/repos/builtin/packages/libtool/package.py @@ -32,6 +32,8 @@ class Libtool(AutotoolsPackage, GNUMirrorPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("m4@1.4.6:", type="build") # the following are places in which libtool depends on findutils diff --git a/var/spack/repos/builtin/packages/libtorrent/package.py b/var/spack/repos/builtin/packages/libtorrent/package.py index 900cdf59c6a5bb..4160c7febb5465 100644 --- a/var/spack/repos/builtin/packages/libtorrent/package.py +++ b/var/spack/repos/builtin/packages/libtorrent/package.py @@ -17,6 +17,8 @@ class Libtorrent(AutotoolsPackage): version("0.13.8", sha256="0f6c2e7ffd3a1723ab47fdac785ec40f85c0a5b5a42c1d002272205b988be722") + depends_on("cxx", type="build") # generated + def autoreconf(self, spec, prefix): bash = which("bash") bash("./autogen.sh") diff --git a/var/spack/repos/builtin/packages/libtree/package.py b/var/spack/repos/builtin/packages/libtree/package.py index 85eff7b2c8a3b1..3e956cec52c366 100644 --- a/var/spack/repos/builtin/packages/libtree/package.py +++ b/var/spack/repos/builtin/packages/libtree/package.py @@ -38,6 +38,8 @@ class Libtree(MakefilePackage, CMakePackage): version("1.0.4", sha256="b15a54b6f388b8bd8636e288fcb581029f1e65353660387b0096a554ad8e9e45") version("1.0.3", sha256="67ce886c191d50959a5727246cdb04af38872cd811c9ed4e3822f77a8f40b20b") + depends_on("c", type="build") # generated + build_system( conditional("cmake", when="@:2"), conditional("makefile", when="@3:"), default="makefile" ) diff --git a/var/spack/repos/builtin/packages/libuecc/package.py b/var/spack/repos/builtin/packages/libuecc/package.py index 8f916905bae261..8191b3bba0ce46 100644 --- a/var/spack/repos/builtin/packages/libuecc/package.py +++ b/var/spack/repos/builtin/packages/libuecc/package.py @@ -17,3 +17,5 @@ class Libuecc(CMakePackage): version("7", sha256="465a6584c991c13fddf36700328c44fee9a3baff9025fb5f232b34d003d715e0") version("6", sha256="ad813abd91462a6b10608e51862a65998649651b22ab5d82f920622cc93befd7") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/libunistring/package.py b/var/spack/repos/builtin/packages/libunistring/package.py index 1bd1a996491e7c..1a634202d51106 100644 --- a/var/spack/repos/builtin/packages/libunistring/package.py +++ b/var/spack/repos/builtin/packages/libunistring/package.py @@ -27,6 +27,8 @@ class Libunistring(AutotoolsPackage, GNUMirrorPackage): version("0.9.7", sha256="2e3764512aaf2ce598af5a38818c0ea23dedf1ff5460070d1b6cee5c3336e797") version("0.9.6", sha256="2df42eae46743e3f91201bf5c100041540a7704e8b9abfd57c972b2d544de41b") + depends_on("c", type="build") # generated + depends_on("iconv") with when("@master"): depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/libunwind/package.py b/var/spack/repos/builtin/packages/libunwind/package.py index c8833c3c01f41d..fd0fb42448d5db 100644 --- a/var/spack/repos/builtin/packages/libunwind/package.py +++ b/var/spack/repos/builtin/packages/libunwind/package.py @@ -31,6 +31,9 @@ class Libunwind(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("docs", default=True, description="Build man page") variant( "libs", diff --git a/var/spack/repos/builtin/packages/liburing/package.py b/var/spack/repos/builtin/packages/liburing/package.py index f9f9ce676c462d..24b53ae1a85b9f 100644 --- a/var/spack/repos/builtin/packages/liburing/package.py +++ b/var/spack/repos/builtin/packages/liburing/package.py @@ -22,5 +22,8 @@ class Liburing(AutotoolsPackage): version("master", branch="master") version("2.3", sha256="60b367dbdc6f2b0418a6e0cd203ee0049d9d629a36706fcf91dfb9428bae23c8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + conflicts("platform=darwin", msg="Only supported on linux") conflicts("platform=windows", msg="Only supported on linux") diff --git a/var/spack/repos/builtin/packages/libusb/package.py b/var/spack/repos/builtin/packages/libusb/package.py index f51e9690167de9..36fb87fcc8aad7 100644 --- a/var/spack/repos/builtin/packages/libusb/package.py +++ b/var/spack/repos/builtin/packages/libusb/package.py @@ -21,6 +21,9 @@ class Libusb(AutotoolsPackage): version("1.0.21", sha256="7dce9cce9a81194b7065ee912bcd55eeffebab694ea403ffb91b67db66b1824b") version("1.0.20", sha256="cb057190ba0a961768224e4dc6883104c6f945b2bf2ef90d7da39e7c1834f7ff") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build", when="@master") depends_on("automake", type="build", when="@master") depends_on("libtool", type="build", when="@master") diff --git a/var/spack/repos/builtin/packages/libuser/package.py b/var/spack/repos/builtin/packages/libuser/package.py index 5edc7db485b766..f8bc34807a4818 100644 --- a/var/spack/repos/builtin/packages/libuser/package.py +++ b/var/spack/repos/builtin/packages/libuser/package.py @@ -18,6 +18,8 @@ class Libuser(AutotoolsPackage): version("0.61", sha256="0a114a52446e12781e2ffdf26f59df0d14e7809c7db5e551d3cf61c4e398751d") version("0.60", sha256="b1f73408ebfee79eb01a47c5879a2cdef6a00b75ee24870de7df1b816ff483eb") + depends_on("c", type="build") # generated + depends_on("glib") depends_on("linux-pam") depends_on("popt") diff --git a/var/spack/repos/builtin/packages/libuuid/package.py b/var/spack/repos/builtin/packages/libuuid/package.py index 6fa16449cc8dae..0cc3f48ff604a7 100644 --- a/var/spack/repos/builtin/packages/libuuid/package.py +++ b/var/spack/repos/builtin/packages/libuuid/package.py @@ -12,6 +12,14 @@ class Libuuid(AutotoolsPackage, SourceforgePackage): homepage = "https://sourceforge.net/projects/libuuid/" sourceforge_mirror_path = "libuuid/libuuid-1.0.3.tar.gz" - version("1.0.3", sha256="46af3275291091009ad7f1b899de3d0cea0252737550e7919d17237997db5644") + version( + "1.0.3", + sha256="46af3275291091009ad7f1b899de3d0cea0252737550e7919d17237997db5644", + deprecated=True, + ) + + depends_on("c", type="build") # generated provides("uuid") + + conflicts("%gcc@14:") diff --git a/var/spack/repos/builtin/packages/libuv-julia/package.py b/var/spack/repos/builtin/packages/libuv-julia/package.py index 8e668ca22f8fc2..6dd7890673e2fc 100644 --- a/var/spack/repos/builtin/packages/libuv-julia/package.py +++ b/var/spack/repos/builtin/packages/libuv-julia/package.py @@ -23,6 +23,8 @@ class LibuvJulia(AutotoolsPackage): version("1.44.1", commit="1b2d16477fe1142adea952168d828a066e03ee4c") version("1.42.0", commit="3a63bf71de62c64097989254e4f03212e3bf5fc8") + depends_on("c", type="build") # generated + def autoreconf(self, spec, prefix): # @haampie: Configure files are checked in, but git does not restore # mtime by design. Therefore, touch files to avoid regenerating those. diff --git a/var/spack/repos/builtin/packages/libuv/package.py b/var/spack/repos/builtin/packages/libuv/package.py index cb1f26e2a6a02c..81ad5154e0e39c 100644 --- a/var/spack/repos/builtin/packages/libuv/package.py +++ b/var/spack/repos/builtin/packages/libuv/package.py @@ -32,6 +32,8 @@ class Libuv(AutotoolsPackage): version("1.10.0", sha256="0307a0eec6caddd476f9cad39e18fdd6f22a08aa58103c4b0aead96d638be15e") version("1.9.0", sha256="d595b2725abcce851c76239aab038adc126c58714cfb572b2ebb2d21b3593842") + depends_on("c", type="build") # generated + def url_for_version(self, version): if self.spec.satisfies("@:1.43"): url = "https://dist.libuv.org/dist/v{0}/libuv-v{0}.tar.gz" diff --git a/var/spack/repos/builtin/packages/libvdwxc/package.py b/var/spack/repos/builtin/packages/libvdwxc/package.py index f83ccd52ee8b76..53cbef94beaebd 100644 --- a/var/spack/repos/builtin/packages/libvdwxc/package.py +++ b/var/spack/repos/builtin/packages/libvdwxc/package.py @@ -18,6 +18,9 @@ class Libvdwxc(AutotoolsPackage): version("0.4.0", sha256="3524feb5bb2be86b4688f71653502146b181e66f3f75b8bdaf23dd1ae4a56b33") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant("pfft", default=False, description="Enable support for PFFT") diff --git a/var/spack/repos/builtin/packages/libverto/package.py b/var/spack/repos/builtin/packages/libverto/package.py index 0698c553e1163d..73bbf393ca2041 100644 --- a/var/spack/repos/builtin/packages/libverto/package.py +++ b/var/spack/repos/builtin/packages/libverto/package.py @@ -21,6 +21,8 @@ class Libverto(AutotoolsPackage): version("0.3.0", sha256="fad201d9d0ac1abf1283d2d78bb3a615f72cfd2a2141673589d93c0cb762b3f1") version("0.2.7", sha256="0ef688a8a8690c24714834cc155b067b1c5d3f3194acceb333751deebd50de01") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/libvips/package.py b/var/spack/repos/builtin/packages/libvips/package.py index f5e64f6a9b44ba..abb360545e672f 100644 --- a/var/spack/repos/builtin/packages/libvips/package.py +++ b/var/spack/repos/builtin/packages/libvips/package.py @@ -22,6 +22,9 @@ class Libvips(AutotoolsPackage): version("8.9.1", sha256="45633798877839005016c9d3494e98dee065f5cb9e20f4552d3b315b8e8bce91") version("8.9.0", sha256="97334a5e70aff343d2587f23cb8068fc846a58cd937c89a446142ccf00ea0349") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("fftw", default=True, description="Uses FFTW3 for fourier transforms.") variant("jpeg", default=False, description="Enable JPEG support") diff --git a/var/spack/repos/builtin/packages/libvorbis/package.py b/var/spack/repos/builtin/packages/libvorbis/package.py index 922e9c57e9bb01..ccaf5fff0b7f7b 100644 --- a/var/spack/repos/builtin/packages/libvorbis/package.py +++ b/var/spack/repos/builtin/packages/libvorbis/package.py @@ -20,6 +20,8 @@ class Libvorbis(AutotoolsPackage): version("1.3.7", sha256="0e982409a9c3fc82ee06e08205b1355e5c6aa4c36bca58146ef399621b0ce5ab") version("1.3.5", sha256="6efbcecdd3e5dfbf090341b485da9d176eb250d893e3eb378c428a2db38301ce") + depends_on("c", type="build") # generated + depends_on("libogg") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/libvori/package.py b/var/spack/repos/builtin/packages/libvori/package.py index 47fb3be91a4b59..ecfd87922b0355 100644 --- a/var/spack/repos/builtin/packages/libvori/package.py +++ b/var/spack/repos/builtin/packages/libvori/package.py @@ -22,6 +22,8 @@ class Libvori(CMakePackage): version("201224", sha256="16f6c49eaa17ea23868925dbaae2eca71bdacbe50418c97d6c55e05728038f31") version("201217", sha256="6ad456ed6ca5d28cadcc0d90eabe8fff5caa77b99f12764323de5e3ae21cddf5") + depends_on("cxx", type="build") # generated + variant("pic", default=True, description="Compile the library with position independent code") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/libvpx/package.py b/var/spack/repos/builtin/packages/libvpx/package.py index 063c76c9bc1083..d1c56aafe35c2a 100644 --- a/var/spack/repos/builtin/packages/libvpx/package.py +++ b/var/spack/repos/builtin/packages/libvpx/package.py @@ -21,6 +21,9 @@ class Libvpx(AutotoolsPackage): version("1.10.0", sha256="85803ccbdbdd7a3b03d930187cb055f1353596969c1f92ebec2db839fa4f834a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("pic", default=True, description="Produce position-independent code (for shared libs)") depends_on("yasm") diff --git a/var/spack/repos/builtin/packages/libvterm/package.py b/var/spack/repos/builtin/packages/libvterm/package.py index 2c7481fb959a34..0277e2e8c809a6 100644 --- a/var/spack/repos/builtin/packages/libvterm/package.py +++ b/var/spack/repos/builtin/packages/libvterm/package.py @@ -27,6 +27,8 @@ class Libvterm(MakefilePackage): url="http://www.leonerd.org.uk/code/libvterm/libvterm-0+bzr726.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("libtool", type="build") def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/libwebp/package.py b/var/spack/repos/builtin/packages/libwebp/package.py index f74efe9a11b14b..4e118a47e9e241 100644 --- a/var/spack/repos/builtin/packages/libwebp/package.py +++ b/var/spack/repos/builtin/packages/libwebp/package.py @@ -16,12 +16,19 @@ class Libwebp(AutotoolsPackage): license("BSD-3-Clause") + version("1.4.0", sha256="61f873ec69e3be1b99535634340d5bde750b2e4447caa1db9f61be3fd49ab1e5") + version("1.3.2", sha256="2a499607df669e40258e53d0ade8035ba4ec0175244869d1025d460562aa09b4") + version("1.3.1", sha256="b3779627c2dfd31e3d8c4485962c2efe17785ef975e2be5c8c0c9e6cd3c4ef66") + version("1.3.0", sha256="64ac4614db292ae8c5aa26de0295bf1623dbb3985054cb656c55e67431def17c") version("1.2.4", sha256="7bf5a8a28cc69bcfa8cb214f2c3095703c6b73ac5fba4d5480c205331d9494df") version("1.2.3", sha256="f5d7ab2390b06b8a934a4fc35784291b3885b557780d099bd32f09241f9d83f9") version("1.2.2", sha256="7656532f837af5f4cec3ff6bafe552c044dc39bf453587bd5b77450802f4aee6") version("1.2.0", sha256="2fc8bbde9f97f2ab403c0224fb9ca62b2e6852cbc519e91ceaa7c153ffd88a0c") version("1.0.3", sha256="e20a07865c8697bba00aebccc6f54912d6bc333bb4d604e6b07491c1a226b34f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("libwebpmux", default=False, description="Build libwebpmux") variant("libwebpdemux", default=False, description="Build libwebpdemux") variant("libwebpdecoder", default=False, description="Build libwebpdecoder") @@ -44,13 +51,13 @@ def configure_args(self): # TODO: add variants and dependencies for these args = ["--disable-gl", "--disable-sdl", "--disable-wic"] - args += self.enable_or_disable("gif") - args += self.enable_or_disable("jpeg") - args += self.enable_or_disable("png") - args += self.enable_or_disable("tiff") args += self.enable_or_disable("libwebpmux") args += self.enable_or_disable("libwebpdemux") args += self.enable_or_disable("libwebpdecoder") args += self.enable_or_disable("libwebpextras") + args += self.enable_or_disable("gif") + args += self.enable_or_disable("jpeg") + args += self.enable_or_disable("png") + args += self.enable_or_disable("tiff") return args diff --git a/var/spack/repos/builtin/packages/libwebsockets/package.py b/var/spack/repos/builtin/packages/libwebsockets/package.py index 59fae25a809f4d..37e66b3d153737 100644 --- a/var/spack/repos/builtin/packages/libwebsockets/package.py +++ b/var/spack/repos/builtin/packages/libwebsockets/package.py @@ -21,5 +21,8 @@ class Libwebsockets(CMakePackage): version("2.0.3", sha256="cf0e91b564c879ab98844385c98e7c9e298cbb969dbc251a3f18a47feb94342c") version("1.7.9", sha256="86a5105881ea2cb206f8795483d294e9509055decf60436bcc1e746262416438") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("openssl") diff --git a/var/spack/repos/builtin/packages/libwhich/package.py b/var/spack/repos/builtin/packages/libwhich/package.py index 37ec3fc115ed3f..d9430ee12b6e1a 100644 --- a/var/spack/repos/builtin/packages/libwhich/package.py +++ b/var/spack/repos/builtin/packages/libwhich/package.py @@ -23,6 +23,8 @@ class Libwhich(Package): version("1.1.0", sha256="f1c30bf7396859ad437a5db74e9e328fb4b4e1379457121e28a3524b1e3a0b3f") version("1.0.0", sha256="61d5d643d4cbd4b340b9b48922e1b4fd2a35729b7cfdcc7283aab82a6f742a6c") + depends_on("c", type="build") # generated + def install(self, spec, prefix): make() mkdir(prefix.bin) diff --git a/var/spack/repos/builtin/packages/libwindowswm/package.py b/var/spack/repos/builtin/packages/libwindowswm/package.py index dd533742c1bcf2..e0a2bd8dfed0d1 100644 --- a/var/spack/repos/builtin/packages/libwindowswm/package.py +++ b/var/spack/repos/builtin/packages/libwindowswm/package.py @@ -21,6 +21,8 @@ class Libwindowswm(AutotoolsPackage, XorgPackage): version("1.0.1", sha256="94f9c0add3bad38ebd84bc43d854207c4deaaa74fb15339276e022546124b98a") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libwmf/package.py b/var/spack/repos/builtin/packages/libwmf/package.py index 63d32c1b20f531..deb850e99e6f98 100644 --- a/var/spack/repos/builtin/packages/libwmf/package.py +++ b/var/spack/repos/builtin/packages/libwmf/package.py @@ -22,6 +22,8 @@ class Libwmf(AutotoolsPackage): version("0.2.12", sha256="464ff63605d7eaf61a4a12dbd420f7a41a4d854675d8caf37729f5bc744820e2") version("0.2.11", sha256="e2a2664afd5abc71a42be7ad3c200f64de2b8889bf088eac1d32e205ce843803") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("expat") depends_on("freetype") diff --git a/var/spack/repos/builtin/packages/libx11/package.py b/var/spack/repos/builtin/packages/libx11/package.py index d1d59561c27bc8..b5cf2307f4441d 100644 --- a/var/spack/repos/builtin/packages/libx11/package.py +++ b/var/spack/repos/builtin/packages/libx11/package.py @@ -11,11 +11,14 @@ class Libx11(AutotoolsPackage, XorgPackage): homepage = "https://www.x.org/" xorg_mirror_path = "lib/libX11-1.6.7.tar.gz" + git = "https://gitlab.freedesktop.org/xorg/lib/libx11.git" license("X11") maintainers("wdconinc") + version("1.8.9", sha256="57ca5f07d263788ad661a86f4139412e8b699662e6b60c20f1f028c25a935e48") + version("1.8.8", sha256="26997a2bc48c03df7d670f8a4ee961d1d6b039bf947475e5fec6b7635b4efe72") version("1.8.7", sha256="793ebebf569f12c864b77401798d38814b51790fce206e01a431e5feb982e20b") version("1.8.6", sha256="5ff0d26c94d82ebb94a944b9f1f55cd01b9713fd461fe93f62f3527ce14ad94e") version("1.8.5", sha256="d84a35c324d5a1724692eafc1ed76f1689c833021e0062933773ec437f91a56b") @@ -35,6 +38,8 @@ class Libx11(AutotoolsPackage, XorgPackage): version("1.6.5", sha256="3abce972ba62620611fab5b404dafb852da3da54e7c287831c30863011d28fb3") version("1.6.3", sha256="0b03b9d22f4c9e59b4ba498f294e297f013cae27050dfa0f3496640200db5376") + depends_on("c", type="build") # generated + depends_on("libxcb@1.11.1:", when="@1.6.4:") depends_on("libxcb@1.1.92:") diff --git a/var/spack/repos/builtin/packages/libxau/package.py b/var/spack/repos/builtin/packages/libxau/package.py index 491a67c1aa91dd..0f747619398792 100644 --- a/var/spack/repos/builtin/packages/libxau/package.py +++ b/var/spack/repos/builtin/packages/libxau/package.py @@ -11,7 +11,7 @@ class Libxau(AutotoolsPackage, XorgPackage): Authorization Protocol. This is useful for restricting client access to the display.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXau/" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXau/" xorg_mirror_path = "lib/libXau-1.0.8.tar.gz" license("MIT") @@ -23,6 +23,8 @@ class Libxau(AutotoolsPackage, XorgPackage): version("1.0.9", sha256="1f123d8304b082ad63a9e89376400a3b1d4c29e67e3ea07b3f659cccca690eea") version("1.0.8", sha256="c343b4ef66d66a6b3e0e27aa46b37ad5cab0f11a5c565eafb4a1c7590bc71d7b") + depends_on("c", type="build") # generated + depends_on("xproto") depends_on("pkgconfig", type="build") depends_on("util-macros", type="build") diff --git a/var/spack/repos/builtin/packages/libxaw/package.py b/var/spack/repos/builtin/packages/libxaw/package.py index 4d5c54e5881f24..d67ca1f690fea8 100644 --- a/var/spack/repos/builtin/packages/libxaw/package.py +++ b/var/spack/repos/builtin/packages/libxaw/package.py @@ -10,18 +10,21 @@ class Libxaw(AutotoolsPackage, XorgPackage): """Xaw is the X Athena Widget Set. Xaw is a widget set based on the X Toolkit Intrinsics (Xt) Library.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXaw" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXaw" xorg_mirror_path = "lib/libXaw-1.0.13.tar.gz" license("MIT") maintainers("wdconinc") + version("1.0.16", sha256="012f90adf8739f2f023d63a5fee1528949cf2aba92ef7ac1abcfc2ae9cf28798") version("1.0.15", sha256="ca8a613884c922985202075b3cc8ee8821bfa83a5eb066189ae3cca131e63972") version("1.0.14", sha256="59cfed2712cc80bbfe62dd1aacf24f58d74a76dd08329a922077b134a8d8048f") version("1.0.13", sha256="7e74ac3e5f67def549722ff0333d6e6276b8becd9d89615cda011e71238ab694") version("1.0.12", sha256="e32abc68d759ffb643f842329838f8b6c157e31023cc91059aabf730e7222ad2") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/libxaw3d/package.py b/var/spack/repos/builtin/packages/libxaw3d/package.py index cf70c53b255e5d..6ce61e39dfcc64 100644 --- a/var/spack/repos/builtin/packages/libxaw3d/package.py +++ b/var/spack/repos/builtin/packages/libxaw3d/package.py @@ -10,21 +10,26 @@ class Libxaw3d(AutotoolsPackage, XorgPackage): """Xaw3d is the X 3D Athena Widget Set. Xaw3d is a widget set based on the X Toolkit Intrinsics (Xt) Library.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXaw3d" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXaw3d" xorg_mirror_path = "lib/libXaw3d-1.6.2.tar.gz" license("MIT") maintainers("wdconinc") + version("1.6.6", sha256="0cdb8f51c390b0f9f5bec74454e53b15b6b815bc280f6b7c969400c9ef595803") + version("1.6.5", sha256="1123d80c58f45616ef18502081eeec5e92f20c7e7dd82a24f9e2e4f3c0e86dc7") version("1.6.4", sha256="09fecfdab9d7d5953567883e2074eb231bc7a122a06e5055f9c119090f1f76a7") version("1.6.2", sha256="847dab01aeac1448916e3b4edb4425594b3ac2896562d9c7141aa4ac6c898ba9") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxt") depends_on("libxmu") depends_on("libxext") depends_on("libxpm") + depends_on("xproto@7.0.22:") depends_on("pkgconfig", type="build") depends_on("util-macros", type="build") diff --git a/var/spack/repos/builtin/packages/libxc/package.py b/var/spack/repos/builtin/packages/libxc/package.py index d3f2d9d40cb15f..05fb99c7e063ca 100644 --- a/var/spack/repos/builtin/packages/libxc/package.py +++ b/var/spack/repos/builtin/packages/libxc/package.py @@ -34,6 +34,9 @@ class Libxc(AutotoolsPackage, CudaPackage): version("2.2.2", sha256="6ffaad40505dbe8f155049448554b54ea31d31babf74ccf6b7935bfe55eeafd8") version("2.2.1", sha256="c8577ba1ddd5c28fd0aa7c579ae65ab990eb7cb51ecf9f8175f9251f6deb9a06") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("kxc", default=False, when="@5:", description="Build with third derivatives") variant("lxc", default=False, when="@5:", description="Build with fourth derivatives") diff --git a/var/spack/repos/builtin/packages/libxcb/package.py b/var/spack/repos/builtin/packages/libxcb/package.py index b6afd9b2991a06..bc22cc20289e83 100644 --- a/var/spack/repos/builtin/packages/libxcb/package.py +++ b/var/spack/repos/builtin/packages/libxcb/package.py @@ -31,6 +31,8 @@ class Libxcb(AutotoolsPackage, XorgPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("libpthread-stubs") depends_on("libxau@0.99.2:") depends_on("libxdmcp") diff --git a/var/spack/repos/builtin/packages/libxcomposite/package.py b/var/spack/repos/builtin/packages/libxcomposite/package.py index 8b4dd5d551e56b..620cd106e8e1eb 100644 --- a/var/spack/repos/builtin/packages/libxcomposite/package.py +++ b/var/spack/repos/builtin/packages/libxcomposite/package.py @@ -10,7 +10,7 @@ class Libxcomposite(AutotoolsPackage, XorgPackage): """libXcomposite - client library for the Composite extension to the X11 protocol.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXcomposite" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXcomposite" xorg_mirror_path = "lib/libXcomposite-0.4.4.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Libxcomposite(AutotoolsPackage, XorgPackage): version("0.4.6", sha256="3599dfcd96cd48d45e6aeb08578aa27636fa903f480f880c863622c2b352d076") version("0.4.4", sha256="83c04649819c6f52cda1b0ce8bcdcc48ad8618428ad803fb07f20b802f1bdad1") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxfixes") depends_on("fixesproto@0.4:") diff --git a/var/spack/repos/builtin/packages/libxcrypt/package.py b/var/spack/repos/builtin/packages/libxcrypt/package.py index fe641d3d3e40de..dccd34f7b984c9 100644 --- a/var/spack/repos/builtin/packages/libxcrypt/package.py +++ b/var/spack/repos/builtin/packages/libxcrypt/package.py @@ -33,6 +33,8 @@ def url_for_version(self, version): version("4.4.16", sha256="a98f65b8baffa2b5ba68ee53c10c0a328166ef4116bce3baece190c8ce01f375") version("4.4.15", sha256="8bcdef03bc65f9dbda742e56820435b6f13eea59fb903765141c6467f4655e5a") + depends_on("c", type="build") # generated + variant( "obsolete_api", default=False, diff --git a/var/spack/repos/builtin/packages/libxcursor/package.py b/var/spack/repos/builtin/packages/libxcursor/package.py index 9f6471a1090a34..5680971829a619 100644 --- a/var/spack/repos/builtin/packages/libxcursor/package.py +++ b/var/spack/repos/builtin/packages/libxcursor/package.py @@ -9,16 +9,19 @@ class Libxcursor(AutotoolsPackage, XorgPackage): """libXcursor - X Window System Cursor management library.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXcursor" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXcursor" xorg_mirror_path = "lib/libXcursor-1.1.14.tar.gz" license("MIT") maintainers("wdconinc") + version("1.2.2", sha256="98c3a30a3f85274c167d1ac5419d681ce41f14e27bfa5fe3003c8172cd8af104") version("1.2.1", sha256="77f96b9ad0a3c422cfa826afabaf1e02b9bfbfc8908c5fa1a45094faad074b98") version("1.1.14", sha256="be0954faf274969ffa6d95b9606b9c0cfee28c13b6fc014f15606a0c8b05c17b") + depends_on("c", type="build") # generated + depends_on("libxrender@0.8.2:") depends_on("libxfixes") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/libxdamage/package.py b/var/spack/repos/builtin/packages/libxdamage/package.py index 0090ce624b8415..37546254c173db 100644 --- a/var/spack/repos/builtin/packages/libxdamage/package.py +++ b/var/spack/repos/builtin/packages/libxdamage/package.py @@ -9,7 +9,7 @@ class Libxdamage(AutotoolsPackage, XorgPackage): """This package contains the library for the X Damage extension.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXdamage" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXdamage" xorg_mirror_path = "lib/libXdamage-1.1.4.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Libxdamage(AutotoolsPackage, XorgPackage): version("1.1.5", sha256="630ec53abb8c2d6dac5cd9f06c1f73ffb4a3167f8118fdebd77afd639dbc2019") version("1.1.4", sha256="4bb3e9d917f5f593df2277d452926ee6ad96de7b7cd1017cbcf4579fe5d3442b") + depends_on("c", type="build") # generated + depends_on("libxfixes") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/libxdmcp/package.py b/var/spack/repos/builtin/packages/libxdmcp/package.py index 49995ccea3a905..dd22e784386263 100644 --- a/var/spack/repos/builtin/packages/libxdmcp/package.py +++ b/var/spack/repos/builtin/packages/libxdmcp/package.py @@ -9,17 +9,20 @@ class Libxdmcp(AutotoolsPackage, XorgPackage): """libXdmcp - X Display Manager Control Protocol library.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXdmcp" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXdmcp" xorg_mirror_path = "lib/libXdmcp-1.1.2.tar.gz" license("MIT") maintainers("wdconinc") + version("1.1.5", sha256="31a7abc4f129dcf6f27ae912c3eedcb94d25ad2e8f317f69df6eda0bc4e4f2f3") version("1.1.4", sha256="55041a8ff8992ab02777478c4b19c249c0f8399f05a752cb4a1a868a9a0ccb9a") version("1.1.3", sha256="2ef9653d32e09d1bf1b837d0e0311024979653fe755ad3aaada8db1aa6ea180c") version("1.1.2", sha256="6f7c7e491a23035a26284d247779174dedc67e34e93cc3548b648ffdb6fc57c0") + depends_on("c", type="build") # generated + depends_on("xproto") depends_on("pkgconfig", type="build") depends_on("util-macros", type="build") diff --git a/var/spack/repos/builtin/packages/libxevie/package.py b/var/spack/repos/builtin/packages/libxevie/package.py index 2dd724510c0273..30dcac3cf183e7 100644 --- a/var/spack/repos/builtin/packages/libxevie/package.py +++ b/var/spack/repos/builtin/packages/libxevie/package.py @@ -9,13 +9,15 @@ class Libxevie(AutotoolsPackage, XorgPackage): """Xevie - X Event Interception Extension (XEvIE).""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXevie" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXevie" xorg_mirror_path = "lib/libXevie-1.0.3.tar.gz" license("MIT") version("1.0.3", sha256="3759bb1f7fdade13ed99bfc05c0717bc42ce3f187e7da4eef80beddf5e461258") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libxext/package.py b/var/spack/repos/builtin/packages/libxext/package.py index b167d90d3bc921..fbd577914937bf 100644 --- a/var/spack/repos/builtin/packages/libxext/package.py +++ b/var/spack/repos/builtin/packages/libxext/package.py @@ -9,17 +9,20 @@ class Libxext(AutotoolsPackage, XorgPackage): """libXext - library for common extensions to the X11 protocol.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXext" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXext" xorg_mirror_path = "lib/libXext-1.3.3.tar.gz" license("MIT") maintainers("wdconinc") + version("1.3.6", sha256="1a0ac5cd792a55d5d465ced8dbf403ed016c8e6d14380c0ea3646c4415496e3d") version("1.3.5", sha256="1a3dcda154f803be0285b46c9338515804b874b5ccc7a2b769ab7fd76f1035bd") version("1.3.4", sha256="8ef0789f282826661ff40a8eef22430378516ac580167da35cc948be9041aac1") version("1.3.3", sha256="eb0b88050491fef4716da4b06a4d92b4fc9e76f880d6310b2157df604342cfe5") + depends_on("c", type="build") # generated + depends_on("libx11@1.6:") depends_on("xproto@7.0.13:") diff --git a/var/spack/repos/builtin/packages/libxfixes/package.py b/var/spack/repos/builtin/packages/libxfixes/package.py index 26f4a1204b6487..073270dc0b0580 100644 --- a/var/spack/repos/builtin/packages/libxfixes/package.py +++ b/var/spack/repos/builtin/packages/libxfixes/package.py @@ -10,7 +10,7 @@ class Libxfixes(AutotoolsPackage, XorgPackage): """This package contains header files and documentation for the XFIXES extension. Library and server implementations are separate.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXfixes" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXfixes" xorg_mirror_path = "lib/libXfixes-5.0.2.tar.gz" license("MIT") @@ -23,6 +23,8 @@ class Libxfixes(AutotoolsPackage, XorgPackage): version("5.0.3", sha256="9ab6c13590658501ce4bd965a8a5d32ba4d8b3bb39a5a5bc9901edffc5666570") version("5.0.2", sha256="ad8df1ecf3324512b80ed12a9ca07556e561b14256d94216e67a68345b23c981") + depends_on("c", type="build") # generated + depends_on("libx11@1.6:") depends_on("xproto") diff --git a/var/spack/repos/builtin/packages/libxfont/package.py b/var/spack/repos/builtin/packages/libxfont/package.py index 321208dc7b16db..708a7bcdb8e450 100644 --- a/var/spack/repos/builtin/packages/libxfont/package.py +++ b/var/spack/repos/builtin/packages/libxfont/package.py @@ -14,7 +14,7 @@ class Libxfont(AutotoolsPackage, XorgPackage): but should not be used by normal X11 clients. X11 clients access fonts via either the new API's in libXft, or the legacy API's in libX11.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXfont" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXfont" xorg_mirror_path = "lib/libXfont-1.5.2.tar.gz" license("MIT") @@ -22,6 +22,8 @@ class Libxfont(AutotoolsPackage, XorgPackage): version("1.5.4", sha256="59be6eab53f7b0feb6b7933c11d67d076ae2c0fd8921229c703fc7a4e9a80d6e") version("1.5.2", sha256="a7350c75171d03d06ae0d623e42240356d6d3e1ac7dfe606639bf20f0d653c93") + depends_on("c", type="build") # generated + depends_on("libfontenc") depends_on("freetype build_system=autotools") diff --git a/var/spack/repos/builtin/packages/libxfont2/package.py b/var/spack/repos/builtin/packages/libxfont2/package.py index 417dfd23239e3d..34ac9d4da0e8d0 100644 --- a/var/spack/repos/builtin/packages/libxfont2/package.py +++ b/var/spack/repos/builtin/packages/libxfont2/package.py @@ -14,7 +14,7 @@ class Libxfont2(AutotoolsPackage, XorgPackage): but should not be used by normal X11 clients. X11 clients access fonts via either the new API's in libXft, or the legacy API's in libX11.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXfont" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXfont" xorg_mirror_path = "lib/libXfont2-2.0.1.tar.gz" license("MIT") @@ -22,6 +22,8 @@ class Libxfont2(AutotoolsPackage, XorgPackage): version("2.0.6", sha256="a944df7b6837c8fa2067f6a5fc25d89b0acc4011cd0bc085106a03557fb502fc") version("2.0.1", sha256="381b6b385a69343df48a082523c856aed9042fbbc8ee0a6342fb502e4321230a") + depends_on("c", type="build") # generated + depends_on("libfontenc") depends_on("freetype") diff --git a/var/spack/repos/builtin/packages/libxfontcache/package.py b/var/spack/repos/builtin/packages/libxfontcache/package.py index ea1d7486708891..f05ea5d59b1c42 100644 --- a/var/spack/repos/builtin/packages/libxfontcache/package.py +++ b/var/spack/repos/builtin/packages/libxfontcache/package.py @@ -9,13 +9,15 @@ class Libxfontcache(AutotoolsPackage, XorgPackage): """Xfontcache - X-TrueType font cache extension client library.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXfontcache" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXfontcache" xorg_mirror_path = "lib/libXfontcache-1.0.5.tar.gz" license("BSD-2-Clause") version("1.0.5", sha256="fdba75307a0983d2566554e0e9effa7079551f1b7b46e8de642d067998619659") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libxft/package.py b/var/spack/repos/builtin/packages/libxft/package.py index d4ff5a4461e060..7833041afd4bbd 100644 --- a/var/spack/repos/builtin/packages/libxft/package.py +++ b/var/spack/repos/builtin/packages/libxft/package.py @@ -13,7 +13,7 @@ class Libxft(AutotoolsPackage, XorgPackage): connects X applications with the FreeType font rasterization library. Xft uses fontconfig to locate fonts so it has no configuration files.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXft" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXft" xorg_mirror_path = "lib/libXft-2.3.2.tar.gz" license("MIT") @@ -28,6 +28,8 @@ class Libxft(AutotoolsPackage, XorgPackage): version("2.3.3", sha256="3c3cf88b1a96e49a3d87d67d9452d34b6e25e96ae83959b8d0a980935014d701") version("2.3.2", sha256="26cdddcc70b187833cbe9dc54df1864ba4c03a7175b2ca9276de9f05dce74507") + depends_on("c", type="build") # generated + depends_on("freetype@2.1.6:") depends_on("fontconfig@2.5.92:") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/libxi/package.py b/var/spack/repos/builtin/packages/libxi/package.py index c2e4f1b37c0854..59f757f4e51496 100644 --- a/var/spack/repos/builtin/packages/libxi/package.py +++ b/var/spack/repos/builtin/packages/libxi/package.py @@ -9,7 +9,7 @@ class Libxi(AutotoolsPackage, XorgPackage): """libXi - library for the X Input Extension.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXi" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXi" xorg_mirror_path = "lib/libXi-1.7.6.tar.gz" license("MIT AND X11") @@ -25,6 +25,8 @@ class Libxi(AutotoolsPackage, XorgPackage): version("1.7.7", sha256="501f49e9c85609da17614d711aa4931fd128011042ff1cae53a16ce03e51ff5e") version("1.7.6", sha256="4e88fa7decd287e58140ea72238f8d54e4791de302938c83695fc0c9ac102b7e") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("libx11@1.6:") depends_on("libxext@1.0.99.1:") diff --git a/var/spack/repos/builtin/packages/libxinerama/package.py b/var/spack/repos/builtin/packages/libxinerama/package.py index ac6fad3a23f283..b29ffafd9ca3da 100644 --- a/var/spack/repos/builtin/packages/libxinerama/package.py +++ b/var/spack/repos/builtin/packages/libxinerama/package.py @@ -9,7 +9,7 @@ class Libxinerama(AutotoolsPackage, XorgPackage): """libXinerama - API for Xinerama extension to X11 Protocol.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXinerama" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXinerama" xorg_mirror_path = "lib/libXinerama-1.1.3.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Libxinerama(AutotoolsPackage, XorgPackage): version("1.1.4", sha256="64de45e18cc76b8e703cb09b3c9d28bd16e3d05d5cd99f2d630de2d62c3acc18") version("1.1.3", sha256="0ba243222ae5aba4c6a3d7a394c32c8b69220a6872dbb00b7abae8753aca9a44") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libxkbcommon/package.py b/var/spack/repos/builtin/packages/libxkbcommon/package.py index 3bd84abc8f5fa5..5b74ff5c3dc3d8 100644 --- a/var/spack/repos/builtin/packages/libxkbcommon/package.py +++ b/var/spack/repos/builtin/packages/libxkbcommon/package.py @@ -43,6 +43,8 @@ class Libxkbcommon(MesonPackage, AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + variant("wayland", default=False, description="Enable Wayland support") depends_on("meson@0.41:", type="build", when="@0.9:") diff --git a/var/spack/repos/builtin/packages/libxkbfile/package.py b/var/spack/repos/builtin/packages/libxkbfile/package.py index 2b8f39215a5dd2..7d4917232acfbb 100644 --- a/var/spack/repos/builtin/packages/libxkbfile/package.py +++ b/var/spack/repos/builtin/packages/libxkbfile/package.py @@ -9,18 +9,21 @@ class Libxkbfile(AutotoolsPackage, XorgPackage): """XKB file handling routines.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libxkbfile" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libxkbfile" xorg_mirror_path = "lib/libxkbfile-1.0.9.tar.gz" license("MIT") maintainers("wdconinc") + version("1.1.3", sha256="c4c2687729d1f920f165ebb96557a1ead2ef655809ab5eaa66a1ad36dc31050d") version("1.1.2", sha256="d1a7e659bc7ae1aa1fc1ecced261c734df5ad5d86af1ef7a946be0e2d841e51d") version("1.1.1", sha256="87faee6d4873c5631e8bb53e85134084b862185da682de8617f08ca18d82e216") version("1.1.0", sha256="2a92adda3992aa7cbad758ef0b8dfeaedebb49338b772c64ddf369d78c1c51d3") version("1.0.9", sha256="95df50570f38e720fb79976f603761ae6eff761613eb56f258c3cb6bab4fd5e3") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("kbproto") diff --git a/var/spack/repos/builtin/packages/libxkbui/package.py b/var/spack/repos/builtin/packages/libxkbui/package.py index 4167ed1629e851..cb8a9cf6021145 100644 --- a/var/spack/repos/builtin/packages/libxkbui/package.py +++ b/var/spack/repos/builtin/packages/libxkbui/package.py @@ -9,11 +9,13 @@ class Libxkbui(AutotoolsPackage, XorgPackage): """X.org libxkbui library.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libxkbui/" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libxkbui/" xorg_mirror_path = "lib/libxkbui-1.0.2.tar.gz" version("1.0.2", sha256="196ab4867f3754caae34e51a663cbce26b4af819db3960f1fc4fb42c6a3c535d") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxt") depends_on("libxkbfile") diff --git a/var/spack/repos/builtin/packages/libxml2/package.py b/var/spack/repos/builtin/packages/libxml2/package.py index f2f792989961df..fc665b12e44548 100644 --- a/var/spack/repos/builtin/packages/libxml2/package.py +++ b/var/spack/repos/builtin/packages/libxml2/package.py @@ -44,6 +44,8 @@ def url_for_version(self, version): version("2.9.2", sha256="5178c30b151d044aefb1b08bf54c3003a0ac55c59c866763997529d60770d5bc") version("2.7.8", sha256="cda23bc9ebd26474ca8f3d67e7d1c4a1f1e7106364b690d822e009fdc3c417ec") + depends_on("c", type="build") # generated + variant("python", default=False, description="Enable Python support") variant("shared", default=True, description="Build shared library") variant("pic", default=True, description="Enable position-independent code (PIC)") diff --git a/var/spack/repos/builtin/packages/libxmu/package.py b/var/spack/repos/builtin/packages/libxmu/package.py index 723f326fee1977..7e79a2477847c4 100644 --- a/var/spack/repos/builtin/packages/libxmu/package.py +++ b/var/spack/repos/builtin/packages/libxmu/package.py @@ -12,17 +12,22 @@ class Libxmu(AutotoolsPackage, XorgPackage): that it may be layered on top of any proprietary implementation of Xlib or Xt.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXmu" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXmu" xorg_mirror_path = "lib/libXmu-1.1.2.tar.gz" license("MIT") maintainers("wdconinc") + version("1.2.1", sha256="bf0902583dd1123856c11e0a5085bd3c6e9886fbbd44954464975fd7d52eb599") + version("1.2.0", sha256="b4686c4b4570044bcfc35bfaa3edbe68185ddf8e3250387f74a140c8e45afb2f") version("1.1.4", sha256="3091d711cdc1d8ea0f545a13b90d1464c3c3ab64778fd121f0d789b277a80289") version("1.1.2", sha256="e5fd4bacef068f9509b8226017205040e38d3fba8d2de55037200e7176c13dba") + depends_on("c", type="build") # generated + depends_on("libxt") + depends_on("libxt@1.1:", when="@1.2:") depends_on("libxext") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/libxp/package.py b/var/spack/repos/builtin/packages/libxp/package.py index 03513df5ecb48c..28d08726637037 100644 --- a/var/spack/repos/builtin/packages/libxp/package.py +++ b/var/spack/repos/builtin/packages/libxp/package.py @@ -9,7 +9,7 @@ class Libxp(AutotoolsPackage, XorgPackage): """libXp - X Print Client Library.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXp" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXp" xorg_mirror_path = "lib/libXp-1.0.3.tar.gz" maintainers("wdconinc") @@ -17,6 +17,8 @@ class Libxp(AutotoolsPackage, XorgPackage): version("1.0.4", sha256="05e46af1ccb68f1752cca5879774a4fb9bf3b19fe088eb745034956e0c6fadba") version("1.0.3", sha256="f6b8cc4ef05d3eafc9ef5fc72819dd412024b4ed60197c0d5914758125817e9c") + depends_on("c", type="build") # generated + depends_on("libx11@1.6:") depends_on("libxext") depends_on("libxau") diff --git a/var/spack/repos/builtin/packages/libxpm/package.py b/var/spack/repos/builtin/packages/libxpm/package.py index 0029d93cdd8dec..fa368d39db4601 100644 --- a/var/spack/repos/builtin/packages/libxpm/package.py +++ b/var/spack/repos/builtin/packages/libxpm/package.py @@ -9,7 +9,7 @@ class Libxpm(AutotoolsPackage, XorgPackage): """libXpm - X Pixmap (XPM) image file format library.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXpm" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXpm" xorg_mirror_path = "lib/libXpm-3.5.12.tar.gz" license("X11") @@ -28,6 +28,8 @@ class Libxpm(AutotoolsPackage, XorgPackage): version("3.5.8", sha256="06472c7fdd175ea54c84162a428be19c154e7dda03d8bf91beee7f1d104669a6") version("3.5.7", sha256="422fbb311c4fe6ef337e937eb3adc8617a4320bd3e00fce06850d4360829b3ae") + depends_on("c", type="build") # generated + depends_on("gettext") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/libxpresent/package.py b/var/spack/repos/builtin/packages/libxpresent/package.py index e17ca584f9bb89..a91eedfd00fa9f 100644 --- a/var/spack/repos/builtin/packages/libxpresent/package.py +++ b/var/spack/repos/builtin/packages/libxpresent/package.py @@ -10,7 +10,7 @@ class Libxpresent(AutotoolsPackage, XorgPackage): """This package contains header files and documentation for the Present extension. Library and server implementations are separate.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXpresent/" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXpresent/" xorg_mirror_path = "lib/libXpresent-1.0.0.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Libxpresent(AutotoolsPackage, XorgPackage): version("1.0.1", sha256="8ebf8567a8f6afe5a64275a2ecfd4c84e957970c27299d964350f60be9f3541d") version("1.0.0", sha256="92f1bdfb67ae2ffcdb25ad72c02cac5e4912dc9bc792858240df1d7f105946fa") + depends_on("c", type="build") # generated + depends_on("libx11", type="link") depends_on("libxext", type="link") depends_on("libxfixes", type="link") diff --git a/var/spack/repos/builtin/packages/libxprintapputil/package.py b/var/spack/repos/builtin/packages/libxprintapputil/package.py index 990e29e18f8046..6aea4db93ec5a3 100644 --- a/var/spack/repos/builtin/packages/libxprintapputil/package.py +++ b/var/spack/repos/builtin/packages/libxprintapputil/package.py @@ -9,11 +9,13 @@ class Libxprintapputil(AutotoolsPackage, XorgPackage): """Xprint application utility routines.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXprintAppUtil/" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXprintAppUtil/" xorg_mirror_path = "lib/libXprintAppUtil-1.0.1.tar.gz" version("1.0.1", sha256="5af3939ffe15508b942bc1e325a29a95b1c85e8900a5f65a896101e63048bbf7") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxp") depends_on("libxprintutil") diff --git a/var/spack/repos/builtin/packages/libxprintutil/package.py b/var/spack/repos/builtin/packages/libxprintutil/package.py index c23f59de90922b..e79caaecf338c2 100644 --- a/var/spack/repos/builtin/packages/libxprintutil/package.py +++ b/var/spack/repos/builtin/packages/libxprintutil/package.py @@ -9,11 +9,13 @@ class Libxprintutil(AutotoolsPackage, XorgPackage): """Xprint application utility routines.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXprintUtil/" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXprintUtil/" xorg_mirror_path = "lib/libXprintUtil-1.0.1.tar.gz" version("1.0.1", sha256="220924216f98ef8f7aa4cff33629edb1171ad10f8ea302a1eb85055545d4d195") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxp") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/libxrandr/package.py b/var/spack/repos/builtin/packages/libxrandr/package.py index 3f476394825ab2..0a7f7b2ffb7d14 100644 --- a/var/spack/repos/builtin/packages/libxrandr/package.py +++ b/var/spack/repos/builtin/packages/libxrandr/package.py @@ -9,7 +9,7 @@ class Libxrandr(AutotoolsPackage, XorgPackage): """libXrandr - X Resize, Rotate and Reflection extension library.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXrandr" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXrandr" xorg_mirror_path = "lib/libXrandr-1.5.0.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Libxrandr(AutotoolsPackage, XorgPackage): version("1.5.3", sha256="3ad316c1781fe2fe22574b819e81f0eff087a8560377f521ba932238b41b251f") version("1.5.0", sha256="1b594a149e6b124aab7149446f2fd886461e2935eca8dca43fe83a70cf8ec451") + depends_on("c", type="build") # generated + depends_on("libx11@1.6:") depends_on("libxext") depends_on("libxrender") diff --git a/var/spack/repos/builtin/packages/libxrender/package.py b/var/spack/repos/builtin/packages/libxrender/package.py index ee72890dd4b1fe..88fc25d8a570fe 100644 --- a/var/spack/repos/builtin/packages/libxrender/package.py +++ b/var/spack/repos/builtin/packages/libxrender/package.py @@ -9,7 +9,7 @@ class Libxrender(AutotoolsPackage, XorgPackage): """libXrender - library for the Render Extension to the X11 protocol.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXrender" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXrender" xorg_mirror_path = "lib/libXrender-0.9.10.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Libxrender(AutotoolsPackage, XorgPackage): version("0.9.10", sha256="770527cce42500790433df84ec3521e8bf095dfe5079454a92236494ab296adf") version("0.9.9", sha256="beeac64ff8d225f775019eb7c688782dee9f4cc7b412a65538f8dde7be4e90fe") + depends_on("c", type="build") # generated + depends_on("libx11@1.6:") depends_on("renderproto@0.9:") diff --git a/var/spack/repos/builtin/packages/libxres/package.py b/var/spack/repos/builtin/packages/libxres/package.py index 1b3c88f3adff79..2fc2137b5a4668 100644 --- a/var/spack/repos/builtin/packages/libxres/package.py +++ b/var/spack/repos/builtin/packages/libxres/package.py @@ -9,7 +9,7 @@ class Libxres(AutotoolsPackage, XorgPackage): """libXRes - X-Resource extension client library.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXRes" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXRes" xorg_mirror_path = "lib/libXres-1.0.7.tar.gz" license("custom") @@ -21,6 +21,8 @@ class Libxres(AutotoolsPackage, XorgPackage): version("1.2.0", sha256="5b62feee09f276d74054787df030fceb41034de84174abec6d81c591145e043a") version("1.0.7", sha256="488c9fa14b38f794d1f019fe62e6b06514a39f1a7538e55ece8faf22482fefcd") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libxscrnsaver/package.py b/var/spack/repos/builtin/packages/libxscrnsaver/package.py index 9fbf54120b79b5..e624e737efcbb3 100644 --- a/var/spack/repos/builtin/packages/libxscrnsaver/package.py +++ b/var/spack/repos/builtin/packages/libxscrnsaver/package.py @@ -9,7 +9,7 @@ class Libxscrnsaver(AutotoolsPackage, XorgPackage): """XScreenSaver - X11 Screen Saver extension client library""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXScrnSaver" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXScrnSaver" xorg_mirror_path = "lib/libXScrnSaver-1.2.2.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Libxscrnsaver(AutotoolsPackage, XorgPackage): version("1.2.3", sha256="4f74e7e412144591d8e0616db27f433cfc9f45aae6669c6c4bb03e6bf9be809a") version("1.2.2", sha256="e12ba814d44f7b58534c0d8521e2d4574f7bf2787da405de4341c3b9f4cc8d96") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libxshmfence/package.py b/var/spack/repos/builtin/packages/libxshmfence/package.py index fa05f7ee5965b3..45c47fcd4b60b4 100644 --- a/var/spack/repos/builtin/packages/libxshmfence/package.py +++ b/var/spack/repos/builtin/packages/libxshmfence/package.py @@ -21,6 +21,8 @@ class Libxshmfence(AutotoolsPackage, XorgPackage): version("1.3", sha256="b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7") version("1.2", sha256="d21b2d1fd78c1efbe1f2c16dae1cb23f8fd231dcf891465b8debe636a9054b0c") + depends_on("c", type="build") # generated + depends_on("xproto") depends_on("pkgconfig", type="build") depends_on("util-macros", type="build") diff --git a/var/spack/repos/builtin/packages/libxslt/package.py b/var/spack/repos/builtin/packages/libxslt/package.py index 102d5d2d34b620..aeb2e1b0808de8 100644 --- a/var/spack/repos/builtin/packages/libxslt/package.py +++ b/var/spack/repos/builtin/packages/libxslt/package.py @@ -24,6 +24,8 @@ class Libxslt(AutotoolsPackage): version("1.1.28", sha256="5fc7151a57b89c03d7b825df5a0fae0a8d5f05674c0e7cf2937ecec4d54a028c") version("1.1.26", sha256="55dd52b42861f8a02989d701ef716d6280bfa02971e967c285016f99c66e3db1") + depends_on("c", type="build") # generated + variant("crypto", default=True, description="Build libexslt with crypto support") variant("python", default=False, description="Build Python bindings") diff --git a/var/spack/repos/builtin/packages/libxsmm/package.py b/var/spack/repos/builtin/packages/libxsmm/package.py index 71e60f77032ff0..2747aa7627f93e 100644 --- a/var/spack/repos/builtin/packages/libxsmm/package.py +++ b/var/spack/repos/builtin/packages/libxsmm/package.py @@ -63,6 +63,10 @@ class Libxsmm(MakefilePackage): version("1.4.1", sha256="c19be118694c9b4e9a61ef4205b1e1a7e0c400c07f9bce65ae430d2dc2be5fe1") version("1.4", sha256="cf483a370d802bd8800c06a12d14d2b4406a745c8a0b2c8722ccc992d0cd72dd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=False, description="With shared libraries (and static libraries).") variant("debug", default=False, description="With call-trace (LIBXSMM_TRACE); unoptimized.") variant( diff --git a/var/spack/repos/builtin/packages/libxstream/package.py b/var/spack/repos/builtin/packages/libxstream/package.py index 6cf99d43907078..8002a7ace6abd1 100644 --- a/var/spack/repos/builtin/packages/libxstream/package.py +++ b/var/spack/repos/builtin/packages/libxstream/package.py @@ -18,6 +18,9 @@ class Libxstream(Package): version("0.9.0", sha256="03365f23b337533b8e5a049a24bc5a91c0f1539dd042ca5312abccc8f713b473") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def patch(self): kwargs = {"ignore_absent": False, "backup": True, "string": True} makefile = FileFilter("Makefile.inc") diff --git a/var/spack/repos/builtin/packages/libxt/package.py b/var/spack/repos/builtin/packages/libxt/package.py index 74f1614b751135..7a3804f336c442 100644 --- a/var/spack/repos/builtin/packages/libxt/package.py +++ b/var/spack/repos/builtin/packages/libxt/package.py @@ -9,7 +9,7 @@ class Libxt(AutotoolsPackage, XorgPackage): """libXt - X Toolkit Intrinsics library.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXt" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXt" xorg_mirror_path = "lib/libXt-1.1.5.tar.gz" license("MIT") @@ -21,6 +21,8 @@ class Libxt(AutotoolsPackage, XorgPackage): version("1.2.0", sha256="d4bee88898fc5e1dc470e361430c72fbc529b9cdbbb6c0ed3affea3a39f97d8d") version("1.1.5", sha256="b59bee38a9935565fa49dc1bfe84cb30173e2e07e1dcdf801430d4b54eb0caa3") + depends_on("c", type="build") # generated + depends_on("libsm") depends_on("libice") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/libxtrap/package.py b/var/spack/repos/builtin/packages/libxtrap/package.py index 7027e0e6e42732..652a26a8d7998c 100644 --- a/var/spack/repos/builtin/packages/libxtrap/package.py +++ b/var/spack/repos/builtin/packages/libxtrap/package.py @@ -18,11 +18,13 @@ class Libxtrap(AutotoolsPackage, XorgPackage): As X11R6 was released in 1994, XTrap has now been deprecated for over 15 years, and uses of it should be quite rare.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXTrap" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXTrap" xorg_mirror_path = "lib/libXTrap-1.0.1.tar.gz" version("1.0.1", sha256="db748e299dcc9af68428795b898a4a96cf806f79b75786781136503e4fce5e17") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxt") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libxtst/package.py b/var/spack/repos/builtin/packages/libxtst/package.py index 3fbe336f8d46c3..112f8f5b529b84 100644 --- a/var/spack/repos/builtin/packages/libxtst/package.py +++ b/var/spack/repos/builtin/packages/libxtst/package.py @@ -18,7 +18,7 @@ class Libxtst(AutotoolsPackage, XorgPackage): The RECORD extension supports the recording and reporting of all core X protocol and arbitrary X extension protocol.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXtst" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXtst" xorg_mirror_path = "lib/libXtst-1.2.2.tar.gz" license("MIT") @@ -29,6 +29,8 @@ class Libxtst(AutotoolsPackage, XorgPackage): version("1.2.3", sha256="a0c83acce02d4923018c744662cb28eb0dbbc33b4adc027726879ccf68fbc2c2") version("1.2.2", sha256="221838960c7b9058cd6795c1c3ee8e25bae1c68106be314bc3036a4f26be0e6c") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext@1.0.99.4:") depends_on("libxi") diff --git a/var/spack/repos/builtin/packages/libxv/package.py b/var/spack/repos/builtin/packages/libxv/package.py index bc1019e575d3c7..4e01e3be04fc7c 100644 --- a/var/spack/repos/builtin/packages/libxv/package.py +++ b/var/spack/repos/builtin/packages/libxv/package.py @@ -10,7 +10,7 @@ class Libxv(AutotoolsPackage, XorgPackage): """libXv - library for the X Video (Xv) extension to the X Window System.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXv" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXv" xorg_mirror_path = "lib/libXv-1.0.10.tar.gz" license("MIT") @@ -21,6 +21,8 @@ class Libxv(AutotoolsPackage, XorgPackage): version("1.0.11", sha256="c4112532889b210e21cf05f46f0f2f8354ff7e1b58061e12d7a76c95c0d47bb1") version("1.0.10", sha256="89a664928b625558268de81c633e300948b3752b0593453d7815f8775bab5293") + depends_on("c", type="build") # generated + depends_on("libx11@1.6:") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libxvmc/package.py b/var/spack/repos/builtin/packages/libxvmc/package.py index a970c24a34aab6..cbe654022e88d0 100644 --- a/var/spack/repos/builtin/packages/libxvmc/package.py +++ b/var/spack/repos/builtin/packages/libxvmc/package.py @@ -9,19 +9,22 @@ class Libxvmc(AutotoolsPackage, XorgPackage): """X.org libXvMC library.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXvMC" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXvMC" xorg_mirror_path = "lib/libXvMC-1.0.9.tar.gz" license("MIT") maintainers("wdconinc") + version("1.0.14", sha256="3ad5d2b991219e2bf9b2f85d40b12c16f1afec038715e462f6058af73a9b5ef8") version("1.0.13", sha256="e630b4373af8c67a7c8f07ebe626a1269a613d262d1f737b57231a06f7c34b4e") version("1.0.12", sha256="024c9ec4f001f037eeca501ee724c7e51cf287eb69ced8c6126e16e7fa9864b5") version("1.0.11", sha256="0b931d216b23b95df87cc65f7bb7acef4120d9263adb0a4d90856ba1f7a390da") version("1.0.10", sha256="d8306f71c798d10409bb181b747c2644e1d60c05773c742c12304ab5aa5c8436") version("1.0.9", sha256="090f087fe65b30b3edfb996c79ff6cf299e473fb25e955fff1c4e9cb624da2c2") + depends_on("c", type="build") # generated + depends_on("libx11@1.6:") depends_on("libxext") depends_on("libxv") diff --git a/var/spack/repos/builtin/packages/libxxf86dga/package.py b/var/spack/repos/builtin/packages/libxxf86dga/package.py index c0d1300ef640fc..9f67a2a88c0fc7 100644 --- a/var/spack/repos/builtin/packages/libxxf86dga/package.py +++ b/var/spack/repos/builtin/packages/libxxf86dga/package.py @@ -9,7 +9,7 @@ class Libxxf86dga(AutotoolsPackage, XorgPackage): """libXxf86dga - Client library for the XFree86-DGA extension.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXxf86dga" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXxf86dga" xorg_mirror_path = "lib/libXxf86dga-1.1.4.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Libxxf86dga(AutotoolsPackage, XorgPackage): version("1.1.5", sha256="715e2bf5caf6276f0858eb4b11a1aef1a26beeb40dce2942387339da395bef69") version("1.1.4", sha256="e6361620a15ceba666901ca8423e8be0c6ed0271a7088742009160349173766b") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libxxf86misc/package.py b/var/spack/repos/builtin/packages/libxxf86misc/package.py index f9cd5db8a79a32..d06dc5326021e4 100644 --- a/var/spack/repos/builtin/packages/libxxf86misc/package.py +++ b/var/spack/repos/builtin/packages/libxxf86misc/package.py @@ -9,7 +9,7 @@ class Libxxf86misc(AutotoolsPackage, XorgPackage): """libXxf86misc - Extension library for the XFree86-Misc X extension.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXxf86misc" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXxf86misc" xorg_mirror_path = "lib/libXxf86misc-1.0.3.tar.gz" maintainers("wdconinc") @@ -17,6 +17,8 @@ class Libxxf86misc(AutotoolsPackage, XorgPackage): version("1.0.4", sha256="63a68b2fafd03236f9b0135de21976e9194d6d811ca2fd774c13a6b4be576676") version("1.0.3", sha256="358f692f793af00f6ef4c7a8566c1bcaeeea37e417337db3f519522cc1df3946") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libxxf86vm/package.py b/var/spack/repos/builtin/packages/libxxf86vm/package.py index 970ff1991f6016..dd04e35435eaff 100644 --- a/var/spack/repos/builtin/packages/libxxf86vm/package.py +++ b/var/spack/repos/builtin/packages/libxxf86vm/package.py @@ -9,7 +9,7 @@ class Libxxf86vm(AutotoolsPackage, XorgPackage): """libXxf86vm - Extension library for the XFree86-VidMode X extension.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libXxf86vm" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libXxf86vm" xorg_mirror_path = "lib/libXxf86vm-1.1.4.tar.gz" license("MIT") @@ -19,6 +19,8 @@ class Libxxf86vm(AutotoolsPackage, XorgPackage): version("1.1.5", sha256="f3f1c29fef8accb0adbd854900c03c6c42f1804f2bc1e4f3ad7b2e1f3b878128") version("1.1.4", sha256="5108553c378a25688dcb57dca383664c36e293d60b1505815f67980ba9318a99") + depends_on("c", type="build") # generated + depends_on("libx11@1.6:") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/libyaml/package.py b/var/spack/repos/builtin/packages/libyaml/package.py index e3f46d0367453e..47cb11570927b3 100644 --- a/var/spack/repos/builtin/packages/libyaml/package.py +++ b/var/spack/repos/builtin/packages/libyaml/package.py @@ -29,6 +29,8 @@ class Libyaml(AutotoolsPackage): version("0.1.2", sha256="5beb94529cc7ac79b17e354f9b03aea311f5af17be5d48bc39e6f1db5059f70f") version("0.1.1", sha256="76444692a94de4e6776a1bdf3b735e8f016bb374ae7c60496f8032fdc6085889") + depends_on("c", type="build") # generated + depends_on("automake", when="@master") depends_on("autoconf", when="@master") depends_on("libtool", when="@master") diff --git a/var/spack/repos/builtin/packages/libyogrt/package.py b/var/spack/repos/builtin/packages/libyogrt/package.py index eece6899b52711..d18dd7b31b4848 100644 --- a/var/spack/repos/builtin/packages/libyogrt/package.py +++ b/var/spack/repos/builtin/packages/libyogrt/package.py @@ -30,6 +30,9 @@ class Libyogrt(AutotoolsPackage): version("1.20-3", sha256="61a8f28f452aef0e09d700dbaaffd91ae3855f7ac221c7ebe478a028df635e31") version("1.20-2", sha256="bf22a82ab3bfede780be3fb6c132cc354234f8d57d3cccd58fe594f074ed7f95") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # libyogrt supports the following schedulers: # flux, lcrm, lsf, moab, slurm, AIX+slurm diff --git a/var/spack/repos/builtin/packages/libzip/package.py b/var/spack/repos/builtin/packages/libzip/package.py index b4060d2ea39755..eff9884080af76 100644 --- a/var/spack/repos/builtin/packages/libzip/package.py +++ b/var/spack/repos/builtin/packages/libzip/package.py @@ -36,6 +36,9 @@ class Libzip(CMakePackage, AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): if version < Version("1.6"): return f"https://libzip.org/download/libzip-{version}.tar.gz" diff --git a/var/spack/repos/builtin/packages/libzmq/package.py b/var/spack/repos/builtin/packages/libzmq/package.py index 2028dcd55e026d..423fc9c43dcf30 100644 --- a/var/spack/repos/builtin/packages/libzmq/package.py +++ b/var/spack/repos/builtin/packages/libzmq/package.py @@ -35,6 +35,9 @@ class Libzmq(AutotoolsPackage): version("4.0.6", sha256="28a2a9c9b77014c39087a498942449df18bb9885cdb63334833525a1d19f2894") version("4.0.5", sha256="3bc93c5f67370341428364ce007d448f4bb58a0eaabd0a60697d8086bc43342b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "libsodium", default=True, diff --git a/var/spack/repos/builtin/packages/liggghts/package.py b/var/spack/repos/builtin/packages/liggghts/package.py index d67890824cb16d..5e02d21d85b05a 100644 --- a/var/spack/repos/builtin/packages/liggghts/package.py +++ b/var/spack/repos/builtin/packages/liggghts/package.py @@ -22,6 +22,10 @@ class Liggghts(MakefilePackage): version("3.8.0", sha256="9cb2e6596f584463ac2f80e3ff7b9588b7e3638c44324635b6329df87b90ab03") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant("jpeg", default=True, description="Enable JPEG support") variant("gzip", default=True, description="Enable GZIP for some input and output files") diff --git a/var/spack/repos/builtin/packages/lighttpd/package.py b/var/spack/repos/builtin/packages/lighttpd/package.py index 7048111b6561ba..96a2cf04ec67ee 100644 --- a/var/spack/repos/builtin/packages/lighttpd/package.py +++ b/var/spack/repos/builtin/packages/lighttpd/package.py @@ -24,6 +24,8 @@ class Lighttpd(CMakePackage): version("1.4.50", sha256="c9a9f175aca6db22ebebbc47de52c54a99bbd1dce8d61bb75103609a3d798235") version("1.4.49", sha256="8b744baf9f29c386fff1a6d2e435491e726cb8d29cfdb1fe20ab782ee2fc2ac7") + depends_on("c", type="build") # generated + depends_on("pcre") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/ligra/package.py b/var/spack/repos/builtin/packages/ligra/package.py index 749cceeab26b59..737dd9c2509a62 100644 --- a/var/spack/repos/builtin/packages/ligra/package.py +++ b/var/spack/repos/builtin/packages/ligra/package.py @@ -21,6 +21,8 @@ class Ligra(MakefilePackage): version("1.1", sha256="a7311b96fabc286a8f1250d8a6e2d1b1e4545c720fa6bb4acf7ed31211fcc99a") version("1.0", sha256="fb39ae0a3eddb26f37b8cc0a543648575a50bcc488cecd4a5f1beaaf2458736c") + depends_on("cxx", type="build") # generated + variant("openmp", default=True, description="Build with OpenMP") variant("mkl", default=False, description="Build with Intel MKL") # TODO: Add cilk variant when spack has a cilk plus package created. diff --git a/var/spack/repos/builtin/packages/likwid/package.py b/var/spack/repos/builtin/packages/likwid/package.py index eaa3c301a3c557..376f2ba46414e5 100644 --- a/var/spack/repos/builtin/packages/likwid/package.py +++ b/var/spack/repos/builtin/packages/likwid/package.py @@ -41,6 +41,10 @@ class Likwid(Package): version("4.3.1", sha256="4b40a96717da54514274d166f9b71928545468091c939c1d74109733279eaeb1") version("4.3.0", sha256="86fc5f82c80fcff1a643394627839ec79f1ca2bcfad30000eb7018da592588b4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + patch( "https://github.com/RRZE-HPC/likwid/commit/e0332ace8fe8ca7dcd4b4477a25e37944f173a5c.patch?full_index=1", when="@5.0.1", @@ -89,7 +93,6 @@ class Likwid(Package): depends_on("hwloc", when="@5.2.0:") depends_on("rocprofiler-dev", when="@5.3: +rocm") depends_on("rocm-core", when="@5.3: +rocm") - depends_on("rocm-smi", when="@5.3: +rocm") depends_on("rocm-smi-lib", when="@5.3: +rocm") # TODO: check diff --git a/var/spack/repos/builtin/packages/linaro-forge/package.py b/var/spack/repos/builtin/packages/linaro-forge/package.py index 7a70d5f52c4f8b..fce54dd3c95f3c 100644 --- a/var/spack/repos/builtin/packages/linaro-forge/package.py +++ b/var/spack/repos/builtin/packages/linaro-forge/package.py @@ -23,6 +23,12 @@ class LinaroForge(Package): maintainers("kenche-linaro") if platform.machine() in ["aarch64", "arm64"]: + version( + "24.0.2", sha256="8346eb0375910498a83baff6833256c8221c2c06737670687bcf9f1497d9ede9" + ) + version( + "24.0.1", sha256="d9d8e8fd56894032ea98a5ff7885c16c0522a192d9cbf4e131581c65e34efb82" + ) version("24.0", sha256="ee631177f5289127f0d3d99b600d437b4bd40c34c1c15388288b72543dc420ad") version( "23.1.2", sha256="8c01f4768a8f784f0bfa78c82dbd39e5077bbc6880b6f3c3704019eecfca5b3a" @@ -82,6 +88,12 @@ class LinaroForge(Package): "21.1.3", sha256="eecbc5686d60994c5468b2d7cd37bebe5d9ac0ba37bd1f98fbfc69b071db541e" ) elif platform.machine() == "x86_64": + version( + "24.0.2", sha256="e2ad12273d568560e948a9bcdd49b830a2309f247b146bf36579053f99ec59a3" + ) + version( + "24.0.1", sha256="70aa6b610d181c12be10e57d2fd3439261e2c6cb23d9f1f33303b85f04cb7bf2" + ) version("24.0", sha256="5976067e3de14d0838e1069021a4a4a96d048824454668779473ff0776d66a01") version( "23.1.2", sha256="675d2d8e4510afefa0405eecb46ac8bf440ff35a5a40d5507dc12d29678a22bf" diff --git a/var/spack/repos/builtin/packages/linkphase3/package.py b/var/spack/repos/builtin/packages/linkphase3/package.py index 6eec3c55cd37d5..946a70dc177f52 100644 --- a/var/spack/repos/builtin/packages/linkphase3/package.py +++ b/var/spack/repos/builtin/packages/linkphase3/package.py @@ -16,6 +16,8 @@ class Linkphase3(Package): version("2017-06-14", commit="559913593fc818bb1adb29796a548cf5bf323827") + depends_on("fortran", type="build") # generated + def install(self, spec, prefix): fortran = Executable(self.compiler.fc) fortran("LINKPHASE3.f90", "-o", "LINKPHASE3") diff --git a/var/spack/repos/builtin/packages/linktest/package.py b/var/spack/repos/builtin/packages/linktest/package.py index ef8e510d06f9fc..b0163dd6167ab7 100644 --- a/var/spack/repos/builtin/packages/linktest/package.py +++ b/var/spack/repos/builtin/packages/linktest/package.py @@ -24,6 +24,8 @@ class Linktest(MakefilePackage): extension="tar.gz", ) + depends_on("c", type="build") # generated + depends_on("mpi") depends_on("sionlib") diff --git a/var/spack/repos/builtin/packages/linux-headers/package.py b/var/spack/repos/builtin/packages/linux-headers/package.py index b1b6163535bc93..1213d350142cb6 100644 --- a/var/spack/repos/builtin/packages/linux-headers/package.py +++ b/var/spack/repos/builtin/packages/linux-headers/package.py @@ -24,6 +24,9 @@ class LinuxHeaders(Package): version("6.2.8", sha256="fed0ad87d42f83a70ce019ff2800bc30a855e672e72bf6d54a014d98d344f665") version("4.9.10", sha256="bd6e05476fd8d9ea4945e11598d87bc97806bbc8d03556abbaaf809707661525") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): url = "https://www.kernel.org/pub/linux/kernel/v{0}.x/linux-{1}.tar.xz" return url.format(version.up_to(1), version) diff --git a/var/spack/repos/builtin/packages/linux-pam/package.py b/var/spack/repos/builtin/packages/linux-pam/package.py index e864d63b6b337c..9184feecd2c571 100644 --- a/var/spack/repos/builtin/packages/linux-pam/package.py +++ b/var/spack/repos/builtin/packages/linux-pam/package.py @@ -20,13 +20,14 @@ class LinuxPam(AutotoolsPackage): version("1.4.0", sha256="cd6d928c51e64139be3bdb38692c68183a509b83d4f2c221024ccd4bcddfd034") version("1.3.1", sha256="eff47a4ecd833fbf18de9686632a70ee8d0794b79aecb217ebd0ce11db4cd0db") - depends_on("libtirpc") + depends_on("c", type="build") # generated - depends_on("m4", type="build") - depends_on("autoconf", type="build") - depends_on("automake", type="build") - depends_on("libtool", type="build") + depends_on("libtirpc") + depends_on("libxcrypt") def configure_args(self): - config_args = ["--includedir=" + self.prefix.include.security] - return config_args + return [ + "--disable-nls", + "--disable-regenerate-docu", + f"--includedir={self.prefix.include.security}", + ] diff --git a/var/spack/repos/builtin/packages/listres/package.py b/var/spack/repos/builtin/packages/listres/package.py index 3b9d14d3c75472..2a82b923c2917e 100644 --- a/var/spack/repos/builtin/packages/listres/package.py +++ b/var/spack/repos/builtin/packages/listres/package.py @@ -19,6 +19,8 @@ class Listres(AutotoolsPackage, XorgPackage): version("1.0.5", sha256="ed068e63dfb6e42cfbcea568d161e53e1d120d99da9aa16c1f822803ebb38504") version("1.0.3", sha256="87d5698b8aa4d841e45e6556932c9914210cbd8b10003d664b31185b087981be") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxt") depends_on("libxmu") diff --git a/var/spack/repos/builtin/packages/lizard/package.py b/var/spack/repos/builtin/packages/lizard/package.py index 0e83329e897854..9e18d86f923fb7 100644 --- a/var/spack/repos/builtin/packages/lizard/package.py +++ b/var/spack/repos/builtin/packages/lizard/package.py @@ -21,6 +21,8 @@ class Lizard(MakefilePackage): version("2.0", sha256="85456b7274c9f0e477ff8e3f06dbc2f8ee8619d737a73c730c8a1adacb45f6da") version("1.0", sha256="6f666ed699fc15dc7fdaabfaa55787b40ac251681b50c0d8df017c671a9457e6") + depends_on("c", type="build") # generated + patch("fix-install-decompress.patch", when="@1.0") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/lksctp-tools/package.py b/var/spack/repos/builtin/packages/lksctp-tools/package.py index 957e4a1774c86c..1222dddffb42f3 100644 --- a/var/spack/repos/builtin/packages/lksctp-tools/package.py +++ b/var/spack/repos/builtin/packages/lksctp-tools/package.py @@ -16,6 +16,8 @@ class LksctpTools(AutotoolsPackage): version("1.0.18", sha256="3e9ab5b3844a8b65fc8152633aafe85f406e6da463e53921583dfc4a443ff03a") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py index a84f285d77cf3e..3e4556dd64d305 100644 --- a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py +++ b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py @@ -13,7 +13,7 @@ class LlvmAmdgpu(CMakePackage, CompilerPackage): homepage = "https://github.com/ROCm/llvm-project" git = "https://github.com/ROCm/llvm-project.git" - url = "https://github.com/ROCm/llvm-project/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/llvm-project/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] executables = [r"amdclang", r"amdclang\+\+", r"amdflang", r"clang.*", r"flang.*", "llvm-.*"] generator("ninja") @@ -23,6 +23,7 @@ class LlvmAmdgpu(CMakePackage, CompilerPackage): license("Apache-2.0") version("master", branch="amd-stg-open") + version("6.1.2", sha256="300e9d6a137dcd91b18d5809a316fddb615e0e7f982dc7ef1bb56876dff6e097") version("6.1.1", sha256="f1a67efb49f76a9b262e9735d3f75ad21e3bd6a05338c9b15c01e6c625c4460d") version("6.1.0", sha256="6bd9912441de6caf6b26d1323e1c899ecd14ff2431874a2f5883d3bc5212db34") version("6.0.2", sha256="7d35acc84de1adee65406f92a369a30364703f84279241c444cd93a48c7eeb76") @@ -33,16 +34,15 @@ class LlvmAmdgpu(CMakePackage, CompilerPackage): version("5.6.0", sha256="e922bd492b54d99e56ed88c81e2009ed6472059a180b10cc56ce1f9bd2d7b6ed") version("5.5.1", sha256="7d7181f20f89cb0715191aa32914186c67a34258c13457055570d47e15296553") version("5.5.0", sha256="5dc6c99f612b69ff73145bee17524e3712990100e16445b71634106acf7927cf") - version("5.4.3", sha256="a844d3cc01613f6284a75d44db67c495ac1e9b600eacbb1eb13d2649f5d5404d") - version("5.4.0", sha256="ff54f45a17723892cd775c1eaff9e5860527fcfd33d98759223c70e3362335bf") - version("5.3.3", sha256="5296d5e474811c7d1e456cb6d5011db248b79b8d0512155e8a6c2aa5b5f12d38") - version("5.3.0", sha256="4e3fcddb5b8ea8dcaa4417e0e31a9c2bbdc9e7d4ac3401635a636df32905c93e") with default_args(deprecated=True): - version("5.2.3", sha256="1b852711aec3137b568fb65f93606d37fdcd62e06f5da3766f2ffcd4e0c646df") - version("5.2.1", sha256="3644e927d943d61e22672422591c47a62ff83e3d87ced68439822156d8f79abf") - version("5.2.0", sha256="0f892174111b78a02d1a00f8f46d9f80b9abb95513a7af38ecf2a5a0882fe87f") - version("5.1.3", sha256="d236a2064363c0278f7ba1bb2ff1545ee4c52278c50640e8bb2b9cfef8a2f128") - version("5.1.0", sha256="db5d45c4a7842a908527c1b7b8d4a40c688225a41d23cfa382eab23edfffdd10") + version("5.4.3", sha256="a844d3cc01613f6284a75d44db67c495ac1e9b600eacbb1eb13d2649f5d5404d") + version("5.4.0", sha256="ff54f45a17723892cd775c1eaff9e5860527fcfd33d98759223c70e3362335bf") + version("5.3.3", sha256="5296d5e474811c7d1e456cb6d5011db248b79b8d0512155e8a6c2aa5b5f12d38") + version("5.3.0", sha256="4e3fcddb5b8ea8dcaa4417e0e31a9c2bbdc9e7d4ac3401635a636df32905c93e") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated variant( "rocm-device-libs", @@ -64,7 +64,6 @@ class LlvmAmdgpu(CMakePackage, CompilerPackage): description="Link LLVM tools against the LLVM shared library", ) - provides("libllvm@14", when="@5:5.2") provides("libllvm@15", when="@5.3:5.4") provides("libllvm@16", when="@5.5:5.6") provides("libllvm@17", when="@5.7:") @@ -120,11 +119,6 @@ class LlvmAmdgpu(CMakePackage, CompilerPackage): ("5.4.0", "d68813ded47179c39914c8d1b76af3dad8c714b10229d1e2246af67609473951"), ("5.3.3", "963c9a0561111788b55a8c3b492e2a5737047914752376226c97a28122a4d768"), ("5.3.0", "f7e1665a1650d3d0481bec68252e8a5e68adc2c867c63c570f6190a1d2fe735c"), - ("5.2.3", "16b7fc7db4759bd6fb54852e9855fa16ead76c97871d7e1e9392e846381d611a"), - ("5.2.1", "e5855387ce73ed483ed0d03dbfef31f297c6ca66cf816f6816fd5ee373fc8225"), - ("5.2.0", "901674bc941115c72f82c5def61d42f2bebee687aefd30a460905996f838e16c"), - ("5.1.3", "c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e"), - ("5.1.0", "47dbcb41fb4739219cadc9f2b5f21358ed2f9895ce786d2f7a1b2c4fd044d30f"), ]: resource( name="rocm-device-libs", @@ -142,6 +136,7 @@ class LlvmAmdgpu(CMakePackage, CompilerPackage): when="@master +rocm-device-libs", ) for d_version, d_shasum in [ + ("6.1.2", "6eb7a02e5f1e5e3499206b9e74c9ccdd644abaafa2609dea0993124637617866"), ("6.1.1", "72841f112f953c16619938273370eb8727ddf6c2e00312856c9fca54db583b99"), ("6.1.0", "50386ebcb7ff24449afa2a10c76a059597464f877225c582ba3e097632a43f9c"), ("6.0.2", "e7ff4d7ac35a2dd8aad1cb40b96511a77a9c23fe4d1607902328e53728e05c28"), diff --git a/var/spack/repos/builtin/packages/llvm-doe/package.py b/var/spack/repos/builtin/packages/llvm-doe/package.py index 6ffbdf67cde831..173678cb2d3e6d 100644 --- a/var/spack/repos/builtin/packages/llvm-doe/package.py +++ b/var/spack/repos/builtin/packages/llvm-doe/package.py @@ -36,6 +36,10 @@ class LlvmDoe(CMakePackage, CudaPackage): version("pragma-omp-tile", branch="sollve/pragma-omp-tile") version("13.0.0", branch="llvm.org/llvmorg-13.0.0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # NOTE: The debug version of LLVM is an order of magnitude larger than # the release version, and may take up 20-30 GB of space. If you want # to save space, build with `build_type=Release`. diff --git a/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py b/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py index cb35ca36d25981..5a7e206736e352 100644 --- a/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py +++ b/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py @@ -24,6 +24,10 @@ class LlvmOpenmpOmpt(CMakePackage): # align-to-tr-rebased branch version("3.9.2b", commit="982a08bcf3df9fb5afc04ac3bada47f19cc4e3d3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # variant for building llvm-openmp-ompt as a stand alone library variant( "standalone", diff --git a/var/spack/repos/builtin/packages/llvm-openmp/package.py b/var/spack/repos/builtin/packages/llvm-openmp/package.py index ec4046a61dd8fa..a1e3f056c980ed 100644 --- a/var/spack/repos/builtin/packages/llvm-openmp/package.py +++ b/var/spack/repos/builtin/packages/llvm-openmp/package.py @@ -43,6 +43,10 @@ class LlvmOpenmp(CMakePackage): version("9.0.0", sha256="9979eb1133066376cc0be29d1682bc0b0e7fb541075b391061679111ae4d3b5b") version("8.0.0", sha256="f7b1705d2f16c4fc23d6531f67d2dd6fb78a077dd346b02fed64f4b8df65c9d5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("multicompat", default=True, description="Support the GNU OpenMP runtime interface.") depends_on("cmake@3.13.4:", when="@12:", type="build") diff --git a/var/spack/repos/builtin/packages/llvm/detection_test.yaml b/var/spack/repos/builtin/packages/llvm/detection_test.yaml index e979a83626ce13..c5bf5aff64816f 100644 --- a/var/spack/repos/builtin/packages/llvm/detection_test.yaml +++ b/var/spack/repos/builtin/packages/llvm/detection_test.yaml @@ -53,7 +53,6 @@ paths: compilers: c: ".*/bin/clang-8$" cxx: ".*/bin/clang[+][+]-8$" - ld: ".*/bin/ld.lld-8$" - spec: 'llvm@3.9.1+clang~lld~lldb' extra_attributes: diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py index 8e5d8305718eb4..8ece089a507402 100644 --- a/var/spack/repos/builtin/packages/llvm/package.py +++ b/var/spack/repos/builtin/packages/llvm/package.py @@ -36,6 +36,8 @@ class Llvm(CMakePackage, CudaPackage, CompilerPackage): license("Apache-2.0") version("main", branch="main") + version("18.1.8", sha256="09c08693a9afd6236f27a2ebae62cda656eba19021ef3f94d59e931d662d4856") + version("18.1.7", sha256="b60df7cbe02cef2523f7357120fb0d46cbb443791cde3a5fb36b82c335c0afc9") version("18.1.6", sha256="01390edfae5b809e982b530ff9088e674c62b13aa92cb9dc1e067fa2cf501083") version("18.1.5", sha256="d543309f55ae3f9b422108302b45c40f5696c96862f4bda8f5526955daa54284") version("18.1.4", sha256="deca5a29e8b1d103ecc4badb3c304aca50d5cac6453364d88ee415dc55699dfb") @@ -92,6 +94,9 @@ class Llvm(CMakePackage, CudaPackage, CompilerPackage): version("5.0.1", sha256="84ca454abf262579814a2a2b846569f6e0cb3e16dc33ca3642b4f1dff6fbafd3") version("5.0.0", sha256="1f1843315657a4371d8ca37f01265fa9aae17dbcf46d2d0a95c1fdb3c6a4bab6") + depends_on("c", type="build") + depends_on("cxx", type="build") + variant( "clang", default=True, description="Build the LLVM C/C++/Objective-C compiler frontend" ) @@ -667,21 +672,19 @@ def determine_variants(cls, exes, version_str): # because LLVM has kindly named compilers variants, compilers = ["+clang"], {} lld_found, lldb_found = False, False - for exe in exes: + for exe in sorted(exes, key=len): name = os.path.basename(exe) if "clang++" in name: - compilers["cxx"] = exe + compilers.setdefault("cxx", exe) elif "clang" in name: - compilers["c"] = exe + compilers.setdefault("c", exe) elif "flang" in name: variants.append("+flang") - compilers["fortran"] = exe + compilers.setdefault("fortran", exe) elif "ld.lld" in name: lld_found = True - compilers["ld"] = exe elif "lldb" in name: lldb_found = True - compilers["lldb"] = exe variants.append("+lld" if lld_found else "~lld") variants.append("+lldb" if lldb_found else "~lldb") diff --git a/var/spack/repos/builtin/packages/lm-sensors/package.py b/var/spack/repos/builtin/packages/lm-sensors/package.py index bdef319cbf7cbd..a9ae344fff44bb 100644 --- a/var/spack/repos/builtin/packages/lm-sensors/package.py +++ b/var/spack/repos/builtin/packages/lm-sensors/package.py @@ -29,6 +29,8 @@ class LmSensors(MakefilePackage): version("3-1-2", sha256="a587f4f37c0f32ac48575338013ee443a0152d87543e8e702db6161ec0ca1161") version("3-1-1", sha256="22b5ab0bab853c34298ff617efb292c5dde7b254596b31ce4c6e90b1d1cf8ad8") + depends_on("c", type="build") # generated + depends_on("bison", type="build") depends_on("flex", type="build") depends_on("perl", type="run") diff --git a/var/spack/repos/builtin/packages/lmbench/package.py b/var/spack/repos/builtin/packages/lmbench/package.py index a94a2793ab0851..742ae247f94641 100644 --- a/var/spack/repos/builtin/packages/lmbench/package.py +++ b/var/spack/repos/builtin/packages/lmbench/package.py @@ -19,6 +19,8 @@ class Lmbench(MakefilePackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("libtirpc") patch( diff --git a/var/spack/repos/builtin/packages/lmdb/package.py b/var/spack/repos/builtin/packages/lmdb/package.py index 6e8c9667a904e9..a74a8d6918dc47 100644 --- a/var/spack/repos/builtin/packages/lmdb/package.py +++ b/var/spack/repos/builtin/packages/lmdb/package.py @@ -24,6 +24,8 @@ class Lmdb(MakefilePackage): version("0.9.21", sha256="1187b635a4cc415bb6972bba346121f81edd996e99b8f0816151d4090f90b559") version("0.9.16", sha256="49d7b40949f2ced9bc8b23ea6a89e75471a1c9126537a8b268c318a00b84322b") + depends_on("c", type="build") # generated + build_directory = "libraries/liblmdb" @property diff --git a/var/spack/repos/builtin/packages/lmod/package.py b/var/spack/repos/builtin/packages/lmod/package.py index 430fe52b901ecc..e7e9cf85cb6535 100644 --- a/var/spack/repos/builtin/packages/lmod/package.py +++ b/var/spack/repos/builtin/packages/lmod/package.py @@ -55,6 +55,8 @@ class Lmod(AutotoolsPackage): version("6.4.1", sha256="a260b4e42269a80b517c066ba8484658362ea095e80767a2376bbe33d9b070a5") version("6.3.7", sha256="55ddb52cbdc0e2e389b3405229336df9aabfa582c874f5df2559ea264e2ee4ae") + depends_on("c", type="build") # generated + depends_on("lua+shared@5.1:") depends_on("lua-luaposix", type=("build", "run")) depends_on("lua-luafilesystem", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/lndir/package.py b/var/spack/repos/builtin/packages/lndir/package.py index 464e9e20f050a0..db18f773dddd50 100644 --- a/var/spack/repos/builtin/packages/lndir/package.py +++ b/var/spack/repos/builtin/packages/lndir/package.py @@ -17,5 +17,7 @@ class Lndir(AutotoolsPackage, XorgPackage): version("1.0.4", sha256="b448b49a55d0750acfc3fd992c2511b21838ec2cea870d109bb9fdca2ac028da") version("1.0.3", sha256="95b2d26fb3cbe702f828146c7a4c7c48001d2da52b062580227b7b68180be902") + depends_on("c", type="build") # generated + depends_on("xproto@7.0.17:") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/lodepng/package.py b/var/spack/repos/builtin/packages/lodepng/package.py index 0fe2cc6375b1f9..d460f85c24fd40 100644 --- a/var/spack/repos/builtin/packages/lodepng/package.py +++ b/var/spack/repos/builtin/packages/lodepng/package.py @@ -16,6 +16,9 @@ class Lodepng(MakefilePackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("sdl2") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/log4c/package.py b/var/spack/repos/builtin/packages/log4c/package.py index 95fbd8fe3a8ea0..7a27b60ab76766 100644 --- a/var/spack/repos/builtin/packages/log4c/package.py +++ b/var/spack/repos/builtin/packages/log4c/package.py @@ -16,4 +16,7 @@ class Log4c(AutotoolsPackage): version("1.2.4", sha256="5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("expat@1.95.1:") diff --git a/var/spack/repos/builtin/packages/log4cplus/package.py b/var/spack/repos/builtin/packages/log4cplus/package.py index 6c3e6377817658..ad0b4e872067a9 100644 --- a/var/spack/repos/builtin/packages/log4cplus/package.py +++ b/var/spack/repos/builtin/packages/log4cplus/package.py @@ -19,3 +19,5 @@ class Log4cplus(CMakePackage): version("2.0.7", sha256="8fadbafee2ba4e558a0f78842613c9fb239c775d83f23340d091084c0e1b12ab") version("2.0.1", sha256="43baa7dec3db1ecc97dd9ecf3b50220439d2c7041d15860c36aa1d48dcf480b5") version("1.2.1", sha256="ada80be050033d7636beb894eb54de5575ceca95a5572e9437b0fc4ed7d877c4") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/log4cpp/package.py b/var/spack/repos/builtin/packages/log4cpp/package.py index 165ed73b7fb3b4..7a5303286366f0 100644 --- a/var/spack/repos/builtin/packages/log4cpp/package.py +++ b/var/spack/repos/builtin/packages/log4cpp/package.py @@ -19,3 +19,6 @@ class Log4cpp(AutotoolsPackage): license("LGPL-2.1-or-later") version("1.1.3", sha256="2cbbea55a5d6895c9f0116a9a9ce3afb86df383cd05c9d6c1a4238e5e5c8f51d") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/logrotate/package.py b/var/spack/repos/builtin/packages/logrotate/package.py index 4983a7fb8b56e6..be759478bf51af 100644 --- a/var/spack/repos/builtin/packages/logrotate/package.py +++ b/var/spack/repos/builtin/packages/logrotate/package.py @@ -20,6 +20,8 @@ class Logrotate(AutotoolsPackage): version("3.16.0", sha256="bc6acfd09925045d48b5ff553c24c567cfd5f59d513c4ac34bfb51fa6b79dc8a") version("3.15.1", sha256="a7b20f5184c9598c36546f9200d3bd616d561478a0423ab8074e97a1cd7b1c25") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/logstash/package.py b/var/spack/repos/builtin/packages/logstash/package.py index c7b922b06a1f5f..5f6318faa03bef 100644 --- a/var/spack/repos/builtin/packages/logstash/package.py +++ b/var/spack/repos/builtin/packages/logstash/package.py @@ -19,5 +19,8 @@ class Logstash(Package): version("6.6.0", sha256="5a9a8b9942631e9d4c3dfb8d47075276e8c2cff343841145550cc0c1cfe7bba7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): install_tree(".", prefix) diff --git a/var/spack/repos/builtin/packages/loki/package.py b/var/spack/repos/builtin/packages/loki/package.py index 46e670640230d5..3be71b8591682f 100644 --- a/var/spack/repos/builtin/packages/loki/package.py +++ b/var/spack/repos/builtin/packages/loki/package.py @@ -18,6 +18,8 @@ class Loki(MakefilePackage): version("0.1.7", sha256="07553754f6be2738559947db69b0718512665bf4a34015fa3a875b6eb1111198") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries") def flag_handler(self, name, flags): diff --git a/var/spack/repos/builtin/packages/looptools/package.py b/var/spack/repos/builtin/packages/looptools/package.py index 52d56aca59565a..d84264b7581547 100644 --- a/var/spack/repos/builtin/packages/looptools/package.py +++ b/var/spack/repos/builtin/packages/looptools/package.py @@ -22,6 +22,9 @@ class Looptools(AutotoolsPackage): version("2.15", sha256="a065ffdc4fe6882aa3bb926134ba8ec875d6c0a633c3d4aa5f70db26542713f2") version("2.8", sha256="2395518d0eac9b0883a2c249b9a5ba80df443929c520c45e60f5a4284166eb42") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + patch("conf.patch", when="%fj") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/lordec/package.py b/var/spack/repos/builtin/packages/lordec/package.py index 24e6f2d9a28bfb..7e3d1b32bd7d37 100644 --- a/var/spack/repos/builtin/packages/lordec/package.py +++ b/var/spack/repos/builtin/packages/lordec/package.py @@ -20,6 +20,8 @@ class Lordec(MakefilePackage): version("0.9", sha256="8108b82a8404fbf44c7e300d3abb43358ccc28993f90546168a20ca82536923b") version("0.8", sha256="3894a7c57649a3545b598f92a48d55eda66d729ab51606b00470c50611b12823") + depends_on("cxx", type="build") # generated + def url_for_version(self, version): if version == Version("0.8"): return "https://gite.lirmm.fr/lordec/lordec-releases/uploads/e3116a5f251e46e47f7a3b7ddb2bd7f6/lordec-src_0.8.tar.gz" diff --git a/var/spack/repos/builtin/packages/lp-solve/package.py b/var/spack/repos/builtin/packages/lp-solve/package.py index 4f4b36117dc6a2..252cb25dd69a52 100644 --- a/var/spack/repos/builtin/packages/lp-solve/package.py +++ b/var/spack/repos/builtin/packages/lp-solve/package.py @@ -14,6 +14,8 @@ class LpSolve(Package): version("5.5.2.11", sha256="6d4abff5cc6aaa933ae8e6c17a226df0fc0b671c438f69715d41d09fe81f902f") + depends_on("c", type="build") # generated + def install(self, spec, prefix): with working_dir("lpsolve55"): mkdir(prefix.lib) diff --git a/var/spack/repos/builtin/packages/lrslib/package.py b/var/spack/repos/builtin/packages/lrslib/package.py index b07e73e42449b1..772b942b7aa538 100644 --- a/var/spack/repos/builtin/packages/lrslib/package.py +++ b/var/spack/repos/builtin/packages/lrslib/package.py @@ -23,6 +23,9 @@ class Lrslib(Package): version("5.1", sha256="500893df61631944bac14a76c6e13fc08e6e729727443fa5480b2510de0db635") version("4.3", sha256="04fc1916ea122b3f2446968d2739717aa2c6c94b21fba1f2c627fd17fcf7a963") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Note: lrslib can also be built with Boost, and probably without gmp # depends_on("boost") diff --git a/var/spack/repos/builtin/packages/lrzip/package.py b/var/spack/repos/builtin/packages/lrzip/package.py index 34224cad8b70b4..966b92149d7cee 100644 --- a/var/spack/repos/builtin/packages/lrzip/package.py +++ b/var/spack/repos/builtin/packages/lrzip/package.py @@ -27,6 +27,9 @@ class Lrzip(Package): version("0.616", sha256="6ef50bfec15d7585e5b085067c9fe91a87246ccd14a3165acd08b147bba26a2e") version("0.615", sha256="45bc3e09a9c467c9331499e4e7919ea97d0824d24a1f2c3ec9548bb2b9d14898") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # depends_on('coreutils') depends_on("lzo") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/lshw/package.py b/var/spack/repos/builtin/packages/lshw/package.py index dd6e49a0f49f2a..9afc8b4e9a555f 100644 --- a/var/spack/repos/builtin/packages/lshw/package.py +++ b/var/spack/repos/builtin/packages/lshw/package.py @@ -25,6 +25,9 @@ class Lshw(MakefilePackage): version("02.16", sha256="58a7731d204791dd33db5eb3fde9808d1235283e069e6c33a193637ccec27b3e") version("02.15", sha256="33c51ba0554d4bcd8ff9a67e5971a63b9ddd58213e2901a09000815376bc61b9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): make("install") install_tree(".", prefix) diff --git a/var/spack/repos/builtin/packages/lsscsi/package.py b/var/spack/repos/builtin/packages/lsscsi/package.py index 2042e3b6b89126..387ee162840c95 100644 --- a/var/spack/repos/builtin/packages/lsscsi/package.py +++ b/var/spack/repos/builtin/packages/lsscsi/package.py @@ -20,3 +20,5 @@ class Lsscsi(AutotoolsPackage): version("0.32", sha256="0a800e9e94dca2ab702d65d72777ae8cae078e3d74d0bcbed64ba0849e8029a1") version("0.31", sha256="12bf1973014803c6fd6d547e7594a4c049f0eef3bf5d22190d4be29d7c09f3ca") version("0.30", sha256="619a2187405f02c5f57682f3478bffc75326803cd08839e39d434250c5518b15") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/ltp/package.py b/var/spack/repos/builtin/packages/ltp/package.py index f2dc4a280cbcb1..02fbb4619b05b7 100644 --- a/var/spack/repos/builtin/packages/ltp/package.py +++ b/var/spack/repos/builtin/packages/ltp/package.py @@ -23,6 +23,8 @@ class Ltp(AutotoolsPackage): version("20190930", sha256="eca11dbe11a61f3035561a2aa272d578ca9380563440f9ba876c0c4755a42533") version("20190517", sha256="538175fff2d6c9d69748b2d4afcf5ac43f7300456f839fa7b5b101c7ad447af7") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/ltrace/package.py b/var/spack/repos/builtin/packages/ltrace/package.py index 3db1d32379e986..596242024710cf 100644 --- a/var/spack/repos/builtin/packages/ltrace/package.py +++ b/var/spack/repos/builtin/packages/ltrace/package.py @@ -18,6 +18,9 @@ class Ltrace(AutotoolsPackage): version("0.7.3", sha256="0e6f8c077471b544c06def7192d983861ad2f8688dd5504beae62f0c5f5b9503") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + conflicts("platform=darwin", msg="ltrace runs only on Linux.") depends_on("elf", type="link") diff --git a/var/spack/repos/builtin/packages/lua-ffi/package.py b/var/spack/repos/builtin/packages/lua-ffi/package.py index d96c73dd4d7b5c..609475446ce876 100644 --- a/var/spack/repos/builtin/packages/lua-ffi/package.py +++ b/var/spack/repos/builtin/packages/lua-ffi/package.py @@ -23,4 +23,6 @@ class LuaFfi(LuaPackage): commit="a1cb731b08c91643b0665935eb5622b3d621211b", ) + depends_on("c", type="build") # generated + depends_on("lua-lang@5.1") diff --git a/var/spack/repos/builtin/packages/lua-lpeg/package.py b/var/spack/repos/builtin/packages/lua-lpeg/package.py index 6983f13b98b934..3bc9d379457d4e 100644 --- a/var/spack/repos/builtin/packages/lua-lpeg/package.py +++ b/var/spack/repos/builtin/packages/lua-lpeg/package.py @@ -15,6 +15,11 @@ class LuaLpeg(LuaPackage): license("MIT") + version( + "1.1.0-1", + sha256="6637fcf4d3ddef7be490a2f0155bd2dcd053272d1bb78c015498709ef9fa75dd", + expand=False, + ) version( "1.0.2-1", sha256="e0d0d687897f06588558168eeb1902ac41a11edd1b58f1aa61b99d0ea0abbfbc", diff --git a/var/spack/repos/builtin/packages/lua-luafilesystem/package.py b/var/spack/repos/builtin/packages/lua-luafilesystem/package.py index 7e072a5f37676e..8eab6e7bee6740 100644 --- a/var/spack/repos/builtin/packages/lua-luafilesystem/package.py +++ b/var/spack/repos/builtin/packages/lua-luafilesystem/package.py @@ -31,6 +31,8 @@ def url_for_version(self, version): version("1.7.0-2", sha256="23b4883aeb4fb90b2d0f338659f33a631f9df7a7e67c54115775a77d4ac3cc59") version("1.6.3", sha256="11c7b1fc2e560c0a521246b84e6257138d97dddde5a19e405714dbabcb9436ca") + depends_on("c", type="build") # generated + depends_on("lua-lang@:5.3", when="@:1.7") 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 83849e691936ad..7d39c701578336 100644 --- a/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py +++ b/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py @@ -27,6 +27,9 @@ class LuaLuajitOpenresty(LuaImplPackage): "2.1-20230410", sha256="77bbcbb24c3c78f51560017288f3118d995fe71240aa379f5818ff6b166712ff" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "lualinks", default=True, diff --git a/var/spack/repos/builtin/packages/lua-luajit/package.py b/var/spack/repos/builtin/packages/lua-luajit/package.py index d771de3e9aa921..f46748202dfd91 100644 --- a/var/spack/repos/builtin/packages/lua-luajit/package.py +++ b/var/spack/repos/builtin/packages/lua-luajit/package.py @@ -27,6 +27,9 @@ class LuaLuajit(LuaImplPackage): ) version("2.0.4", sha256="620fa4eb12375021bef6e4f237cbd2dd5d49e56beb414bee052c746beef1807d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + conflicts("@:2.0.5", when="target=aarch64:") variant( diff --git a/var/spack/repos/builtin/packages/lua-luaposix/package.py b/var/spack/repos/builtin/packages/lua-luaposix/package.py index cddba50a2bf3a8..04bc97d6e490b1 100644 --- a/var/spack/repos/builtin/packages/lua-luaposix/package.py +++ b/var/spack/repos/builtin/packages/lua-luaposix/package.py @@ -23,4 +23,6 @@ class LuaLuaposix(LuaPackage): version("33.4.0", sha256="e66262f5b7fe1c32c65f17a5ef5ffb31c4d1877019b4870a5d373e2ab6526a21") version("33.2.1", sha256="4fb34dfea67f4cf3194cdecc6614c9aea67edc3c4093d34137669ea869c358e1") + depends_on("c", type="build") # generated + depends_on("lua-bit32", when="^lua-lang@5.1") diff --git a/var/spack/repos/builtin/packages/lua-mpack/package.py b/var/spack/repos/builtin/packages/lua-mpack/package.py index ea681569e852f9..2ce70fc23d8e62 100644 --- a/var/spack/repos/builtin/packages/lua-mpack/package.py +++ b/var/spack/repos/builtin/packages/lua-mpack/package.py @@ -23,5 +23,7 @@ class LuaMpack(LuaPackage): version("1.0.7", sha256="68565484a3441d316bd51bed1cacd542b7f84b1ecfd37a8bd18dd0f1a20887e8") version("1.0.6-0", sha256="9068d9d3f407c72a7ea18bc270b0fa90aad60a2f3099fa23d5902dd71ea4cd5f") + depends_on("c", type="build") # generated + def luarocks_args(self): return ["CFLAGS=-fPIC -Wno-error=implicit-function-declaration"] diff --git a/var/spack/repos/builtin/packages/lua-sol2/package.py b/var/spack/repos/builtin/packages/lua-sol2/package.py index 6b07a6b3ede2b2..31d0367ffab513 100644 --- a/var/spack/repos/builtin/packages/lua-sol2/package.py +++ b/var/spack/repos/builtin/packages/lua-sol2/package.py @@ -26,6 +26,8 @@ class LuaSol2(CMakePackage): version("3.0.3", sha256="bf089e50387edfc70063e24fd7fbb693cceba4a50147d864fabedd1b33483582") version("3.0.2", sha256="3f5f369eae6732ae9a315fe4370bbdc9900d2f2f4f291206aeb5b2d5533f0c99") + depends_on("cxx", type="build") # generated + # Lua is not needed when building, since sol2 is headers-only depends_on("lua", type=("link", "run")) diff --git a/var/spack/repos/builtin/packages/lua/package.py b/var/spack/repos/builtin/packages/lua/package.py index d418de07d34fc3..042011208c3135 100644 --- a/var/spack/repos/builtin/packages/lua/package.py +++ b/var/spack/repos/builtin/packages/lua/package.py @@ -223,6 +223,9 @@ class Lua(LuaImplPackage): version("5.1.4", sha256="b038e225eaf2a5b57c9bcc35cd13aa8c6c8288ef493d52970c9545074098af3a") version("5.1.3", sha256="6b5df2edaa5e02bf1a2d85e1442b2e329493b30b0c0780f77199d24f087d296d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("pcfile", default=False, description="Add patch for lua.pc generation") variant("shared", default=True, description="Builds a shared version of the library") diff --git a/var/spack/repos/builtin/packages/luit/package.py b/var/spack/repos/builtin/packages/luit/package.py index 1f9e7ca6424033..9c5596a7150581 100644 --- a/var/spack/repos/builtin/packages/luit/package.py +++ b/var/spack/repos/builtin/packages/luit/package.py @@ -19,6 +19,8 @@ class Luit(AutotoolsPackage, XorgPackage): version("1.1.1", sha256="87b0be0bd01f3b857a53e6625bdd31cef18418c95394b7f4387f8ecef78e45da") + depends_on("c", type="build") # generated + depends_on("libfontenc") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/lulesh/package.py b/var/spack/repos/builtin/packages/lulesh/package.py index d991975c2ee737..bac0bf86aa1868 100644 --- a/var/spack/repos/builtin/packages/lulesh/package.py +++ b/var/spack/repos/builtin/packages/lulesh/package.py @@ -18,6 +18,8 @@ class Lulesh(MakefilePackage): version("2.0.3", tag="2.0.3", commit="46c2a1d6db9171f9637d79f407212e0f176e8194") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Build with MPI support") variant("openmp", default=True, description="Build with OpenMP support") variant("visual", default=False, description="Build with Visualization support (Silo, hdf5)") diff --git a/var/spack/repos/builtin/packages/lumpy-sv/package.py b/var/spack/repos/builtin/packages/lumpy-sv/package.py index 71f316db949860..369072153cfa25 100644 --- a/var/spack/repos/builtin/packages/lumpy-sv/package.py +++ b/var/spack/repos/builtin/packages/lumpy-sv/package.py @@ -16,6 +16,9 @@ class LumpySv(MakefilePackage): version("0.2.13", sha256="3672b86ef0190ebe520648a6140077ee9f15b0549cb233dca18036e63bbf6375") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("htslib") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/lvarray/package.py b/var/spack/repos/builtin/packages/lvarray/package.py index 86c7dd07801570..180458015a3827 100644 --- a/var/spack/repos/builtin/packages/lvarray/package.py +++ b/var/spack/repos/builtin/packages/lvarray/package.py @@ -54,6 +54,9 @@ class Lvarray(CMakePackage, CudaPackage): "0.1.0", tag="v0.1.0", commit="0bf5f7d077de4a08f58db24baed207f9dba95f6e", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build Shared Libs") variant("umpire", default=False, description="Build Umpire support") variant("chai", default=False, description="Build Chai support") diff --git a/var/spack/repos/builtin/packages/lvm2/package.py b/var/spack/repos/builtin/packages/lvm2/package.py index cc005e970a0606..356faa1fc8c115 100644 --- a/var/spack/repos/builtin/packages/lvm2/package.py +++ b/var/spack/repos/builtin/packages/lvm2/package.py @@ -33,6 +33,9 @@ class Lvm2(AutotoolsPackage, SourcewarePackage): version("2.03.01", sha256="424e58b074195ec08e0315fa1aff2550590998c33aea5c43bdceb8c1d135530b") version("2.03.00", sha256="405992bf76960e60c7219d84d5f1e22edc34422a1ea812e21b2ac3c813d0da4e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): url = "https://sourceware.org/pub/lvm2/releases/LVM2.{0}.tgz" return url.format(version) diff --git a/var/spack/repos/builtin/packages/lwgrp/package.py b/var/spack/repos/builtin/packages/lwgrp/package.py index 5449439f02d5ce..79a55066209442 100644 --- a/var/spack/repos/builtin/packages/lwgrp/package.py +++ b/var/spack/repos/builtin/packages/lwgrp/package.py @@ -22,6 +22,8 @@ class Lwgrp(AutotoolsPackage): version("1.0.3", sha256="20b2fc3908bfdf04d1c177f86e227a147214cd155c548b3dd75e54c78e1c1c47") version("1.0.2", sha256="c9d4233946e40f01efd0b4644fd9224becec51b9b5f8cbf45f5bac3129b5b536") + depends_on("c", type="build") # generated + depends_on("mpi") depends_on("autoconf", type="build", when="@main build_system=autotools") diff --git a/var/spack/repos/builtin/packages/lwtnn/package.py b/var/spack/repos/builtin/packages/lwtnn/package.py index a823f7cb9ad855..0087b298d3b459 100644 --- a/var/spack/repos/builtin/packages/lwtnn/package.py +++ b/var/spack/repos/builtin/packages/lwtnn/package.py @@ -20,6 +20,8 @@ class Lwtnn(CMakePackage): version("2.12.1", sha256="b820e698d4ed60737e646ca87a42354e8ac548403348b7f2940e8fda1c0f8203") version("2.10", sha256="bf84b290c44da582226344b0d5febf7fdbd1cbdee94fcc8bcac972c7355564ed") + depends_on("cxx", type="build") # generated + depends_on("boost@1.54:") depends_on("eigen") # https://github.com/lwtnn/lwtnn/issues/161 diff --git a/var/spack/repos/builtin/packages/lxc/package.py b/var/spack/repos/builtin/packages/lxc/package.py index abc2c88f70be4f..30af5b77ca204a 100644 --- a/var/spack/repos/builtin/packages/lxc/package.py +++ b/var/spack/repos/builtin/packages/lxc/package.py @@ -29,6 +29,8 @@ class Lxc(AutotoolsPackage): version("2.0.11", sha256="31334ffe0e2d8e38779d80ce670a523f4f5559c2a02c9e085c2f0cf43995d0b0") version("2.0.10", sha256="b748de0914467aafea18a568602735907fc95f4272609dba7b0f8c91d7dde776") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/lynx/package.py b/var/spack/repos/builtin/packages/lynx/package.py index 7b8fb3673fa9d5..24053d94086b2d 100644 --- a/var/spack/repos/builtin/packages/lynx/package.py +++ b/var/spack/repos/builtin/packages/lynx/package.py @@ -16,6 +16,8 @@ class Lynx(AutotoolsPackage): version("2.8.9.1", sha256="a46e4167b8f02c066d2fe2eafcc5603367be0e3fe2e59e9fc4eb016f306afc8e") + depends_on("c", type="build") # generated + depends_on("ncurses") def url_for_version(self, version): diff --git a/var/spack/repos/builtin/packages/lz4/package.py b/var/spack/repos/builtin/packages/lz4/package.py index a1a59ff1a35efd..d0a4e20dafa1cf 100644 --- a/var/spack/repos/builtin/packages/lz4/package.py +++ b/var/spack/repos/builtin/packages/lz4/package.py @@ -34,6 +34,9 @@ class Lz4(CMakePackage, MakefilePackage): version("1.7.5", sha256="0190cacd63022ccb86f44fa5041dc6c3804407ad61550ca21c382827319e7e7e") version("1.3.1", sha256="9d4d00614d6b9dec3114b33d1224b6262b99ace24434c53487a0c8fd0b18cfed") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("valgrind", type="test") build_system("cmake", "makefile", default="makefile") diff --git a/var/spack/repos/builtin/packages/lzma/package.py b/var/spack/repos/builtin/packages/lzma/package.py index 46749cfcf445f5..1b08713e303b22 100644 --- a/var/spack/repos/builtin/packages/lzma/package.py +++ b/var/spack/repos/builtin/packages/lzma/package.py @@ -22,3 +22,6 @@ class Lzma(AutotoolsPackage): license("LGPL-2.1-or-later") version("4.32.7", sha256="9f337a8c51e5ded198d1032f5087ba3fe438f2a54e9df419e513a151775b032c") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/lzo/package.py b/var/spack/repos/builtin/packages/lzo/package.py index 6bb7f3b449e9aa..e0ff76808b2751 100644 --- a/var/spack/repos/builtin/packages/lzo/package.py +++ b/var/spack/repos/builtin/packages/lzo/package.py @@ -21,6 +21,8 @@ class Lzo(AutotoolsPackage): version("2.06", sha256="ff79e6f836d62d3f86ef6ce893ed65d07e638ef4d3cb952963471b4234d43e73") version("2.05", sha256="449f98186d76ba252cd17ff1241ca2a96b7f62e0d3e4766f88730dab0ea5f333") + depends_on("c", type="build") # generated + variant( "libs", default="shared,static", diff --git a/var/spack/repos/builtin/packages/lzop/package.py b/var/spack/repos/builtin/packages/lzop/package.py index 1d95066711eddb..4fe4f819b79bea 100644 --- a/var/spack/repos/builtin/packages/lzop/package.py +++ b/var/spack/repos/builtin/packages/lzop/package.py @@ -21,5 +21,7 @@ class Lzop(CMakePackage): version("1.03", sha256="c1425b8c77d49f5a679d5a126c90ea6ad99585a55e335a613cae59e909dbb2c9") version("1.01", sha256="28acd94d933befbc3af986abcfe833173fb7563b66533fdb4ac592f38bb944c7") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("lzo") diff --git a/var/spack/repos/builtin/packages/m4/package.py b/var/spack/repos/builtin/packages/m4/package.py index cfe1745549b403..cc4aa1d65d6a8a 100644 --- a/var/spack/repos/builtin/packages/m4/package.py +++ b/var/spack/repos/builtin/packages/m4/package.py @@ -21,6 +21,9 @@ class M4(AutotoolsPackage, GNUMirrorPackage): version("1.4.18", sha256="ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab") version("1.4.17", sha256="3ce725133ee552b8b4baca7837fb772940b25e81b2a9dc92537aeaf733538c9e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch("gnulib-pgi.patch", when="@1.4.18") patch("pgi.patch", when="@1.4.17") # The NVIDIA compilers do not currently support some GNU builtins. diff --git a/var/spack/repos/builtin/packages/macsio/package.py b/var/spack/repos/builtin/packages/macsio/package.py index 0e601b32d1ea3e..9f61c5dff2745b 100644 --- a/var/spack/repos/builtin/packages/macsio/package.py +++ b/var/spack/repos/builtin/packages/macsio/package.py @@ -20,6 +20,8 @@ class Macsio(CMakePackage): version("1.1", sha256="a86249b0f10647c0b631773db69568388094605ec1a0af149d9e61e95e6961ec") version("1.0", sha256="1dd0df28f9f31510329d5874c1519c745b5c6bec12e102cea3e9f4b05e5d3072") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Build MPI plugin") variant("silo", default=False, description="Build with SILO plugin") # TODO: multi-level variants for hdf5 diff --git a/var/spack/repos/builtin/packages/mad-numdiff/package.py b/var/spack/repos/builtin/packages/mad-numdiff/package.py index b08a180dad5985..5095cf818b10ac 100644 --- a/var/spack/repos/builtin/packages/mad-numdiff/package.py +++ b/var/spack/repos/builtin/packages/mad-numdiff/package.py @@ -18,3 +18,5 @@ class MadNumdiff(CMakePackage): version("develop", branch="master") version("20150724", sha256="33130b48416f8dcb6402acbcb8906cdec35b7242fe2f3ad49b7d7c063d75377b") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/madis/package.py b/var/spack/repos/builtin/packages/madis/package.py index 7715debddad4d1..0b5033dac8d069 100644 --- a/var/spack/repos/builtin/packages/madis/package.py +++ b/var/spack/repos/builtin/packages/madis/package.py @@ -23,6 +23,8 @@ class Madis(MakefilePackage): version("4.3", sha256="5d1ee9800c84e623dcf4271653aa66d17a744143e58354e70f8a0646cd6b246c") + depends_on("fortran", type="build") # generated + variant("pic", default=True, description="Build with position-independent code (PIC)") variant("pnetcdf", default=False, description="Build with parallel NetCDF") diff --git a/var/spack/repos/builtin/packages/madx/package.py b/var/spack/repos/builtin/packages/madx/package.py index aa69754cd10d31..fd42729b9058b5 100644 --- a/var/spack/repos/builtin/packages/madx/package.py +++ b/var/spack/repos/builtin/packages/madx/package.py @@ -23,6 +23,10 @@ class Madx(CMakePackage): version("5.08.00", sha256="0b3fe2aca8899289ef7bfb98d745f13b8c4082e239f54f2662c9cad8d1e63a53") version("5.07.00", sha256="77c0ec591dc3ea76cf57c60a5d7c73b6c0d66cca1fa7c4eb25a9071e8fc67e60") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("x11", default=True, description="Turn on plotting using X11") # patch for gcc-11 to avoid error due to variable shadowing diff --git a/var/spack/repos/builtin/packages/maeparser/package.py b/var/spack/repos/builtin/packages/maeparser/package.py index da0ef74d0f2a6a..fc77b984334a06 100644 --- a/var/spack/repos/builtin/packages/maeparser/package.py +++ b/var/spack/repos/builtin/packages/maeparser/package.py @@ -19,6 +19,8 @@ class Maeparser(CMakePackage): version("1.3.1", sha256="a8d80f67d1b9be6e23b9651cb747f4a3200132e7d878a285119c86bf44568e36") version("1.3.0", sha256="fa8f9336de1e5d1cabec29a6da04547b1fb040bb32ba511ff30b4a14097c751c") + depends_on("cxx", type="build") # generated + variant( "shared", default=True, diff --git a/var/spack/repos/builtin/packages/mafft/package.py b/var/spack/repos/builtin/packages/mafft/package.py index 799dbbc3525ab0..173f51f3008b8c 100644 --- a/var/spack/repos/builtin/packages/mafft/package.py +++ b/var/spack/repos/builtin/packages/mafft/package.py @@ -15,6 +15,7 @@ class Mafft(Package): homepage = "https://mafft.cbrc.jp/alignment/software/index.html" url = "https://mafft.cbrc.jp/alignment/software/mafft-7.221-with-extensions-src.tgz" + version("7.525", sha256="2876f4adc1a2de4ed206bc40896763bf208bf1a02bda52f8bfdd91cf52d73e4a") version("7.505", sha256="f54a78670fcd9960233bcc3b3dd359f395a71c0ced45a7be1cfeae19950ce6ff") version("7.481", sha256="7397f1193048587a3d887e46a353418e67849f71729764e8195b218e3453dfa2") version("7.475", sha256="bb6973ae089ea18cfbd3861a5b9d2c8b7e1543a1fdc78ac2d7cd8dbe3443f319") @@ -22,6 +23,9 @@ class Mafft(Package): version("7.407", sha256="1840b51a0b93f40b4d6076af996ee46396428d8dbaf7ba1d847abff9cb1463e5") version("7.221", sha256="0bc78111966d9b00ddfa14fa217fa5bb0c593a558674a13f02dca7bcd51f7fcf") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): with working_dir("core"): make("PREFIX=%s" % prefix) diff --git a/var/spack/repos/builtin/packages/magic-enum/package.py b/var/spack/repos/builtin/packages/magic-enum/package.py new file mode 100644 index 00000000000000..faa5b67ec2c3f3 --- /dev/null +++ b/var/spack/repos/builtin/packages/magic-enum/package.py @@ -0,0 +1,44 @@ +# 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 MagicEnum(CMakePackage): + """Header-only C++17 library provides static reflection for enums, + work with any enum type without any macro or boilerplate code.""" + + homepage = "https://github.com/Neargye/magic_enum" + url = "https://github.com/Neargye/magic_enum/archive/refs/tags/v0.9.6.tar.gz" + + maintainers("pranav-sivaraman") + + license("MIT", checked_by="pranav-sivaraman") + + version("0.9.6", sha256="814791ff32218dc869845af7eb89f898ebbcfa18e8d81aa4d682d18961e13731") + + variant("examples", default=False, description="Enable examples") + variant("tests", default=True, description="Enable tests") + + # minimum supported versions + conflicts("%clang@:5") + conflicts("%gcc@:9") + conflicts("%msvc@:14.11") + conflicts("%apple-clang@:10") + + depends_on("cxx", type="build") + + depends_on("cmake@3.14:", type="build") + + def cmake_args(self): + from_variant = self.define_from_variant + + args = [ + from_variant("MAGIC_ENUM_OPT_BUILD_EXAMPLES", "examples"), + from_variant("MAGIC_ENUM_OPT_BUILD_TESTS", "tests"), + ] + + return args diff --git a/var/spack/repos/builtin/packages/magics/package.py b/var/spack/repos/builtin/packages/magics/package.py index c635278c348240..e895e44702ebc3 100644 --- a/var/spack/repos/builtin/packages/magics/package.py +++ b/var/spack/repos/builtin/packages/magics/package.py @@ -32,6 +32,10 @@ class Magics(CMakePackage): version("4.2.4", sha256="920c7dbb1aaabe65a31c6c18010829210f8b2f8d614b6c405dc5a4530e346f07") version("4.1.0", sha256="da626c31f53716990754dd72ab7b2f3902a8ad924b23ef3309bd14900d170541") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + conflicts("%gcc@11:", when="@:4.4", msg="missing #include ") variant( diff --git a/var/spack/repos/builtin/packages/magma/package.py b/var/spack/repos/builtin/packages/magma/package.py index ee927289f251d7..2fae3b495563e0 100644 --- a/var/spack/repos/builtin/packages/magma/package.py +++ b/var/spack/repos/builtin/packages/magma/package.py @@ -39,6 +39,10 @@ class Magma(CMakePackage, CudaPackage, ROCmPackage): version("2.3.0", sha256="010a4a057d7aa1e57b9426bffc0958f3d06913c9151463737e289e67dd9ea608") version("2.2.0", sha256="df5d4ace417e5bf52694eae0d91490c6bde4cde1b0da98e8d400c5c3a70d83a2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=True, description="Enable Fortran bindings support") variant("shared", default=True, description="Enable shared library") variant("cuda", default=True, description="Build with CUDA") @@ -50,7 +54,18 @@ class Magma(CMakePackage, CudaPackage, ROCmPackage): depends_on("hipsparse", when="+rocm") # This ensures that rocm-core matches the hip package version in the case that # hip is an external package. - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: + for ver in [ + "5.5.0", + "5.5.1", + "5.6.0", + "5.6.1", + "5.7.0", + "5.7.1", + "6.0.0", + "6.0.2", + "6.1.0", + "6.1.1", + ]: depends_on(f"rocm-core@{ver}", when=f"@2.8.0: +rocm ^hip@{ver}") depends_on("python", when="@master", type="build") diff --git a/var/spack/repos/builtin/packages/makedepend/package.py b/var/spack/repos/builtin/packages/makedepend/package.py index b1eecff6328f61..0c4d7c4c58ed13 100644 --- a/var/spack/repos/builtin/packages/makedepend/package.py +++ b/var/spack/repos/builtin/packages/makedepend/package.py @@ -18,5 +18,8 @@ class Makedepend(AutotoolsPackage, XorgPackage): version("1.0.8", sha256="275f0d2b196bfdc740aab9f02bb48cb7a97e4dfea011a7b468ed5648d0019e54") version("1.0.5", sha256="503903d41fb5badb73cb70d7b3740c8b30fe1cc68c504d3b6a85e6644c4e5004") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("xproto@7.0.17:") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/mallocmc/package.py b/var/spack/repos/builtin/packages/mallocmc/package.py index a9b0fbb2a86368..7666b55e8a3c52 100644 --- a/var/spack/repos/builtin/packages/mallocmc/package.py +++ b/var/spack/repos/builtin/packages/mallocmc/package.py @@ -35,6 +35,8 @@ class Mallocmc(CMakePackage): version("2.0.0crp", sha256="1a6b5b4f9a890d4389703cb853868cc31a97457bfea3b62d6b3ae31e56d7bbd9") version("1.0.2crp", sha256="696c5bb7e90a75937a2479c40e7cfddcc876f8fc634dca04b61d132ab1243f12") + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8.12.2:", type="build") depends_on("boost@1.48.0:", type="link") diff --git a/var/spack/repos/builtin/packages/maloc/package.py b/var/spack/repos/builtin/packages/maloc/package.py index 19e94e98fa6a3b..f7149aa434dc3d 100644 --- a/var/spack/repos/builtin/packages/maloc/package.py +++ b/var/spack/repos/builtin/packages/maloc/package.py @@ -23,6 +23,9 @@ class Maloc(AutotoolsPackage): version("1.1", sha256="b5dd7923e84f13e7ed43304ed1062de24171c5a7a042a12b0d1e501d6eaedf58") version("1.0", sha256="23f3ea3215067fd8f1ba4c407375f387b5f1d11258f29508295e651828d32cb7") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("doc", default=False, description="Build documentation.") depends_on("graphviz", type="build", when="+doc") diff --git a/var/spack/repos/builtin/packages/malt/package.py b/var/spack/repos/builtin/packages/malt/package.py index b2d1ba4c959f88..f5a4bfe01bd547 100644 --- a/var/spack/repos/builtin/packages/malt/package.py +++ b/var/spack/repos/builtin/packages/malt/package.py @@ -24,6 +24,9 @@ class Malt(CMakePackage): version("1.2.2", sha256="e19f49ad97bf2deedf0557eb00267f4dcf1c932c494dd07ada07fcdf5421935f") version("1.2.1", sha256="0e4c0743561f9fcc04dc83457386167a9851fc9289765f8b4f9390384ae3618a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Variants variant( "nodejs", diff --git a/var/spack/repos/builtin/packages/man-db/package.py b/var/spack/repos/builtin/packages/man-db/package.py index 83c3df7eef7856..1139f5182297ae 100644 --- a/var/spack/repos/builtin/packages/man-db/package.py +++ b/var/spack/repos/builtin/packages/man-db/package.py @@ -25,6 +25,8 @@ class ManDb(AutotoolsPackage): version("2.10.1", sha256="2ffd8f2e80122fe72e60c740c851e6a3e15c9a7921185eb4752c1c672824bed6") version("2.7.6.1", sha256="08edbc52f24aca3eebac429b5444efd48b9b90b9b84ca0ed5507e5c13ed10f3f") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("gettext") depends_on("libpipeline@1.5.0:", when="@2.8.0:") diff --git a/var/spack/repos/builtin/packages/mapl/package.py b/var/spack/repos/builtin/packages/mapl/package.py index eaae13e52f3e8e..2f9c2be678e991 100644 --- a/var/spack/repos/builtin/packages/mapl/package.py +++ b/var/spack/repos/builtin/packages/mapl/package.py @@ -38,6 +38,9 @@ class Mapl(CMakePackage): version("develop", branch="develop") version("main", branch="main") + version("2.47.1", sha256="ca3e94c0caa78a91591fe63603d1836196f5294d4baad7cf1d83b229b3a85916") + version("2.47.0", sha256="66c862d2ab8bcd6969e9728091dbca54f1f420e97e41424c4ba93ef606088459") + version("2.46.2", sha256="6d397ad73042355967de8ef5b521d6135c004f96e93ae7b215f9ee325e75c6f0") version("2.46.1", sha256="f3090281de6293b484259d58f852c45b98759de8291d36a4950e6d348ece6573") version("2.46.0", sha256="726d9588b724bd43e5085d1a2f8d806d548f185ed6b22a1b13c0ed06212d7be2") # NOTE: Due to issues with CMake and ESMF, versions 2.44 and 2.45 of MAPL were not @@ -56,6 +59,7 @@ class Mapl(CMakePackage): version("2.41.2", sha256="73e1f0961f1b70e8159c0a2ce3499eb5158f3ca6d081f4c7826af7854ebfb44d") version("2.41.1", sha256="2b384bd4fbaac1bff4ef009922c436c4ab54832172a5cd4d312ea44e32c1ae7c") version("2.41.0", sha256="1142f9395e161174e3ec1654fba8bda1d0bd93edc7438b1927d8f5d7b42a0a86") + version("2.40.5", sha256="85b4a4ac0d843398452808b88d7a5c29435aa37b69b91a1f4bee664e9f367b7d") version("2.40.4", sha256="fb843b118d6e56cd4fc4b114c4d6f91956d5c8b3d9389ada56da1dfdbc58904f") version("2.40.3", sha256="4b82a314c88a035fc2b91395750aa7950d6bee838786178ed16a3f39a1e45519") version("2.40.2", sha256="7327f6f5bce6e09e7f7b930013fba86ee7cbfe8ed4c7c087fc9ab5acbf6640fd") @@ -135,13 +139,22 @@ class Mapl(CMakePackage): deprecated=True, ) + depends_on("c", type="build") + depends_on("fortran", type="build") + # Versions later than 3.14 remove FindESMF.cmake # from ESMA_CMake. + resource( + name="esma_cmake", + git="https://github.com/GEOS-ESM/ESMA_cmake.git", + tag="v3.46.0", + when="@2.47:", + ) resource( name="esma_cmake", git="https://github.com/GEOS-ESM/ESMA_cmake.git", tag="v3.45.2", - when="@2.45:", + when="@2.45:2.46", ) resource( name="esma_cmake", @@ -336,9 +349,12 @@ def cmake_args(self): # - Intel MPI --> intelmpi # - MVAPICH --> mvapich # - HPE MPT --> mpt + # - Cray MPICH --> mpich if self.spec.satisfies("^mpich"): args.append(self.define("MPI_STACK", "mpich")) + elif self.spec.satisfies("^mvapich2"): + args.append(self.define("MPI_STACK", "mvapich")) elif self.spec.satisfies("^openmpi"): args.append(self.define("MPI_STACK", "openmpi")) elif self.spec.satisfies("^intel-oneapi-mpi"): @@ -347,6 +363,8 @@ def cmake_args(self): args.append(self.define("MPI_STACK", "mvapich")) elif self.spec.satisfies("^mpt"): args.append(self.define("MPI_STACK", "mpt")) + elif self.spec.satisfies("^cray-mpich"): + args.append(self.define("MPI_STACK", "mpich")) else: raise InstallError("Unsupported MPI stack") diff --git a/var/spack/repos/builtin/packages/mapnik/package.py b/var/spack/repos/builtin/packages/mapnik/package.py index ba8622595c768d..a5d35ecb6f50be 100644 --- a/var/spack/repos/builtin/packages/mapnik/package.py +++ b/var/spack/repos/builtin/packages/mapnik/package.py @@ -19,6 +19,8 @@ class Mapnik(AutotoolsPackage): version("3.0.23", sha256="4b1352e01f7ce25ab099e586d7ae98e0b74145a3bf94dd365cb0a2bdab3b9dc2") version("3.0.22", sha256="930612ad9e604b6a29b9cea1bc1de85cf7cf2b2b8211f57ec8b6b94463128ab9") + depends_on("cxx", type="build") # generated + depends_on("python", type=("build", "run")) depends_on( "boost@:1.72.0 +regex+filesystem+system+icu+program_options cxxstd=11", when="@3.0.23" diff --git a/var/spack/repos/builtin/packages/mapserver/package.py b/var/spack/repos/builtin/packages/mapserver/package.py index c55cba0fead114..66830e8a26e05a 100644 --- a/var/spack/repos/builtin/packages/mapserver/package.py +++ b/var/spack/repos/builtin/packages/mapserver/package.py @@ -20,6 +20,9 @@ class Mapserver(CMakePackage): version("8.0.1", sha256="79d23595ef95d61d3d728ae5e60850a3dbfbf58a46953b4fdc8e6e0ffe5748ba") version("7.2.1", sha256="9459a7057d5a85be66a41096a5d804f74665381186c37077c94b56e784db6102") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("python", default=False, description="Enable Python mapscript support") variant( "curl", diff --git a/var/spack/repos/builtin/packages/maq/package.py b/var/spack/repos/builtin/packages/maq/package.py index 3c6dee69c3afda..5b3ec7a02eaecb 100644 --- a/var/spack/repos/builtin/packages/maq/package.py +++ b/var/spack/repos/builtin/packages/maq/package.py @@ -20,6 +20,9 @@ class Maq(AutotoolsPackage): version("0.7.1", sha256="e1671e0408b0895f5ab943839ee8f28747cf5f55dc64032c7469b133202b6de2") version("0.5.0", sha256="c292c19baf291b2415b460d687d43a71ece00a7d178cc5984bc8fc30cfce2dfb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("perl", type="run") def patch(self): diff --git a/var/spack/repos/builtin/packages/margo/package.py b/var/spack/repos/builtin/packages/margo/package.py index 2412849e50ba98..399b38d63af4c8 100644 --- a/var/spack/repos/builtin/packages/margo/package.py +++ b/var/spack/repos/builtin/packages/margo/package.py @@ -114,6 +114,8 @@ class Margo(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("json-c", when="@0.9:") depends_on("autoconf@2.65:", type=("build")) depends_on("m4", type=("build")) 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 30dccf8db49db3..15ca777da0f9ad 100644 --- a/var/spack/repos/builtin/packages/mariadb-c-client/package.py +++ b/var/spack/repos/builtin/packages/mariadb-c-client/package.py @@ -60,6 +60,9 @@ class MariadbCClient(CMakePackage): version("2.2.0", sha256="3825b068d38bc19d6ad1eaecdd74bcd49d6ddd9d00559fb150e4e851a55bbbd4") version("2.1.0", sha256="568050b89463af7610d458669fd9eee06dcc9405689aca8a526ac8c013b59167") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + provides("mariadb-client") provides("mysql-client") diff --git a/var/spack/repos/builtin/packages/mariadb/package.py b/var/spack/repos/builtin/packages/mariadb/package.py index 0ebb5471a291b9..5585600b9d798d 100644 --- a/var/spack/repos/builtin/packages/mariadb/package.py +++ b/var/spack/repos/builtin/packages/mariadb/package.py @@ -36,6 +36,9 @@ class Mariadb(CMakePackage): version("10.1.14", sha256="18e71974a059a268a3f28281599607344d548714ade823d575576121f76ada13") version("5.5.49", sha256="2c82f2af71b88a7940d5ff647498ed78922c92e88004942caa213131e20f4706") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "nonblocking", default=True, diff --git a/var/spack/repos/builtin/packages/masa/package.py b/var/spack/repos/builtin/packages/masa/package.py index b14b700bc9ab10..3145f4d4f2e6f1 100644 --- a/var/spack/repos/builtin/packages/masa/package.py +++ b/var/spack/repos/builtin/packages/masa/package.py @@ -20,6 +20,10 @@ class Masa(AutotoolsPackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=True, description="Compile with Fortran interfaces") variant("python", default=True, description="Compile with Python interfaces") diff --git a/var/spack/repos/builtin/packages/mash/package.py b/var/spack/repos/builtin/packages/mash/package.py index 8a33d72816e214..bcf554bbc13050 100644 --- a/var/spack/repos/builtin/packages/mash/package.py +++ b/var/spack/repos/builtin/packages/mash/package.py @@ -18,6 +18,9 @@ class Mash(AutotoolsPackage): version("2.3", sha256="f96cf7305e010012c3debed966ac83ceecac0351dbbfeaa6cd7ad7f068d87fe1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch("gcc-11.patch", when="%gcc@11:") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/masurca/package.py b/var/spack/repos/builtin/packages/masurca/package.py index 9d8f4d68697161..28bd9b2304937c 100644 --- a/var/spack/repos/builtin/packages/masurca/package.py +++ b/var/spack/repos/builtin/packages/masurca/package.py @@ -25,6 +25,9 @@ class Masurca(Package): version("3.3.1", sha256="587d0ee2c6b9fbd3436ca2a9001e19f251b677757fe5e88e7f94a0664231e020") version("3.2.9", sha256="795ad4bd42e15cf3ef2e5329aa7e4f2cdeb7e186ce2e350a45127e319db2904b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("perl", type=("build", "run")) depends_on(Boost.with_default_variants) depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/matio/package.py b/var/spack/repos/builtin/packages/matio/package.py index ea4103996c22bc..460d700b919209 100644 --- a/var/spack/repos/builtin/packages/matio/package.py +++ b/var/spack/repos/builtin/packages/matio/package.py @@ -33,6 +33,8 @@ class Matio(AutotoolsPackage): version("1.5.3", sha256="85ba46e192331473dc4d8a9d266679f8f81e60c06debdc4b6f9d7906bad46257") version("1.5.2", sha256="db02d0fb3373c3d766a606309b17e64a5d8da55610e921a9f1a0ec171e911d45") + depends_on("c", type="build") # generated + variant("zlib", default=True, description="support for compressed mat files") variant("hdf5", default=True, description="support for version 7.3 mat files via hdf5") variant("shared", default=True, description="Enables the build of shared libraries.") diff --git a/var/spack/repos/builtin/packages/matrix-switch/package.py b/var/spack/repos/builtin/packages/matrix-switch/package.py new file mode 100644 index 00000000000000..e29afca4904c49 --- /dev/null +++ b/var/spack/repos/builtin/packages/matrix-switch/package.py @@ -0,0 +1,55 @@ +# 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 MatrixSwitch(CMakePackage): + """Intermediary interface between high-level routines for + physics-related algorithms and low-level routines dealing + with matrix storage and manipulation.""" + + homepage = "https://gitlab.com/ElectronicStructureLibrary/omm/matrixswitch" + url = "https://gitlab.com/ElectronicStructureLibrary/omm/matrixswitch/-/archive/1.2.1/matrixswitch-1.2.1.tar.gz" + git = "https://gitlab.com/ElectronicStructureLibrary/omm/matrixswitch.git" + + maintainers("RMeli") + + license("BSD-2-Clause", checked_by="RMeli") + + version("1.2.1", sha256="a3c2bac20435a8217cd1a1abefa8b7f8c52b1c6f55a75b2861565ade5ecfe37f") + version("master", branch="master") + + depends_on("fortran", type="build") # generated + + variant("lapack", default=True, description="Build with LAPACK interface.") + variant("mpi", default=True, description="Build with MPI support.") + variant("scalapack", default=True, when="+mpi", description="Build with ScaLAPACK interface.") + variant("dbcsr", default=False, when="+mpi", description="Build with DBCSR interface.") + + depends_on("cmake@3.22:", type="build") + generator("ninja") + + depends_on("lapack", when="+lapack") + depends_on("mpi", when="+mpi") + depends_on("scalapack", when="+scalapack") + depends_on("dbcsr~shared", when="+dbcsr") # Expects static library (FindCustomDbcsr) + + def cmake_args(self): + args = [ + self.define_from_variant("WITH_LAPACK", "lapack"), + self.define_from_variant("WITH_MPI", "mpi"), + self.define_from_variant("WITH_SCALAPACK", "scalapack"), + self.define_from_variant("WITH_DBCSR", "dbcsr"), + ] + + if self.spec.satisfies("+dbcsr"): + args.append(self.define("DBCSR_ROOT", self.spec["dbcsr"].prefix)) + + return args + + @property + def libs(self): + return find_libraries("libmatrixswitch", root=self.home, recursive=True, shared=False) diff --git a/var/spack/repos/builtin/packages/maverick/package.py b/var/spack/repos/builtin/packages/maverick/package.py index fa0df4f84a60f4..bce42ca490cd22 100644 --- a/var/spack/repos/builtin/packages/maverick/package.py +++ b/var/spack/repos/builtin/packages/maverick/package.py @@ -15,6 +15,9 @@ class Maverick(MakefilePackage): version("1.0.4", sha256="d4634c1b3f09cec9eb60d72348e2f479d74220ecbdebd940bb18b480db8df8cb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + conflicts("%gcc@:6.0") conflicts("%cce") conflicts("%apple-clang") diff --git a/var/spack/repos/builtin/packages/mawk/package.py b/var/spack/repos/builtin/packages/mawk/package.py index 762b3929f951dc..deb5126d7c1497 100644 --- a/var/spack/repos/builtin/packages/mawk/package.py +++ b/var/spack/repos/builtin/packages/mawk/package.py @@ -22,4 +22,6 @@ class Mawk(AutotoolsPackage): ) version("1.3.4", sha256="2f2ab8831c441a5793ad333193c888c9ba29c900f009aa23c9fffc100c405925") + depends_on("c", type="build") # generated + provides("awk") diff --git a/var/spack/repos/builtin/packages/mbdyn/package.py b/var/spack/repos/builtin/packages/mbdyn/package.py index c7276ad216ca17..34222aab149f13 100644 --- a/var/spack/repos/builtin/packages/mbdyn/package.py +++ b/var/spack/repos/builtin/packages/mbdyn/package.py @@ -17,5 +17,9 @@ class Mbdyn(AutotoolsPackage): version("1.7.3", sha256="3cf05cd1cb14c1af3d987aac119b6ecf0d835bc1aee06bc4cf7cc5a245c1f36d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Failed to build mbdyn with gcc@4.8.5 and gcc@9.2.0 conflicts("%gcc@:5.0,9.0:") diff --git a/var/spack/repos/builtin/packages/mbedtls/package.py b/var/spack/repos/builtin/packages/mbedtls/package.py index 0585a2529c6193..7f0bbc100006c7 100644 --- a/var/spack/repos/builtin/packages/mbedtls/package.py +++ b/var/spack/repos/builtin/packages/mbedtls/package.py @@ -121,6 +121,8 @@ class Mbedtls(MakefilePackage): deprecated=True, ) + depends_on("c", type="build") # generated + variant("pic", default=False, description="Compile with position independent code.") variant( "build_type", diff --git a/var/spack/repos/builtin/packages/mc/package.py b/var/spack/repos/builtin/packages/mc/package.py index 01429c3d751b8d..045eae01945633 100644 --- a/var/spack/repos/builtin/packages/mc/package.py +++ b/var/spack/repos/builtin/packages/mc/package.py @@ -21,6 +21,8 @@ class Mc(AutotoolsPackage): version("4.8.21", sha256="251d9f0ef9309ef3eea0fdc4c12b8b61149e5056bef1b2de2ccc7f015d973444") version("4.8.20", sha256="2d85daaa6ab26e524946df4823ac2f69802bc16bc967781b5e28d5b86fc3b979") + depends_on("c", type="build") # generated + depends_on("ncurses") depends_on("pkgconfig", type="build") depends_on("glib@2.14:") diff --git a/var/spack/repos/builtin/packages/mcl/package.py b/var/spack/repos/builtin/packages/mcl/package.py index 8de3dcc57ddf54..e17f5a98d5b885 100644 --- a/var/spack/repos/builtin/packages/mcl/package.py +++ b/var/spack/repos/builtin/packages/mcl/package.py @@ -18,6 +18,8 @@ class Mcl(AutotoolsPackage): version("14-137", sha256="b5786897a8a8ca119eb355a5630806a4da72ea84243dba85b19a86f14757b497") + depends_on("c", type="build") # generated + @when("%gcc@10:") def patch(self): filter_file("^dim", "extern dim", "src/impala/iface.h") diff --git a/var/spack/repos/builtin/packages/mcpp/package.py b/var/spack/repos/builtin/packages/mcpp/package.py index bc0530cc512432..0dd0562ee2d32d 100644 --- a/var/spack/repos/builtin/packages/mcpp/package.py +++ b/var/spack/repos/builtin/packages/mcpp/package.py @@ -15,6 +15,9 @@ class Mcpp(AutotoolsPackage, SourceforgePackage): version("2.7.2", sha256="3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def configure_args(self): config_args = ["--enable-mcpplib", "--disable-static"] return config_args diff --git a/var/spack/repos/builtin/packages/mct/package.py b/var/spack/repos/builtin/packages/mct/package.py index 1f6852c55138e9..53d1eb68ea0a4f 100644 --- a/var/spack/repos/builtin/packages/mct/package.py +++ b/var/spack/repos/builtin/packages/mct/package.py @@ -23,4 +23,7 @@ class Mct(AutotoolsPackage): version("2.11.0", sha256="1b2a30bcba0081226ff1f1f5152e82afa3a2bb911215883965e669f776dcb365") version("2.10.0", sha256="42f32e3ab8bba31d16a1c6c9533f717a9d950e42c9b03b864b3436335d4e1b71") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/mctc-lib/package.py b/var/spack/repos/builtin/packages/mctc-lib/package.py index bcbed778e8096b..43eb1bd2bf9ff6 100644 --- a/var/spack/repos/builtin/packages/mctc-lib/package.py +++ b/var/spack/repos/builtin/packages/mctc-lib/package.py @@ -21,6 +21,8 @@ class MctcLib(MesonPackage): version("0.3.1", sha256="a5032a0bbbbacc952037c5215b71aa6b438767a84bafb60fda25ba43c8835513") version("0.3.0", sha256="81f3edbf322e6e28e621730a796278498b84af0f221f785c537a315312059bf0") + depends_on("fortran", type="build") # generated + variant("json", default=False, description="Enable support for JSON") depends_on("meson@0.57.2:", type="build") diff --git a/var/spack/repos/builtin/packages/mcutils/package.py b/var/spack/repos/builtin/packages/mcutils/package.py index 82526e0144413c..fbf48a56d3f7c6 100644 --- a/var/spack/repos/builtin/packages/mcutils/package.py +++ b/var/spack/repos/builtin/packages/mcutils/package.py @@ -33,6 +33,8 @@ class Mcutils(MakefilePackage): version("1.0.1", tag="mcutils-1.0.1", commit="85bb1c9e2761a7c70bdd18955d6cccc120d9c523") version("1.0.0", tag="mcutils-1.0.0", commit="7ae9d007493ce65f5eac432d0ea6f730512a0a8a") + depends_on("cxx", type="build") # generated + depends_on("heputils", when="@1.1.0:") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/mdsplus/package.py b/var/spack/repos/builtin/packages/mdsplus/package.py index f4dad7bc6335f5..3f2ca7a83d24eb 100644 --- a/var/spack/repos/builtin/packages/mdsplus/package.py +++ b/var/spack/repos/builtin/packages/mdsplus/package.py @@ -26,6 +26,10 @@ class Mdsplus(AutotoolsPackage): submodules=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("java", default=True, description="Build java libraries and applications") variant("python", default=True, description="Install python module") diff --git a/var/spack/repos/builtin/packages/mdtest/package.py b/var/spack/repos/builtin/packages/mdtest/package.py index 9dc575f6720ae8..de0f92c1040f59 100644 --- a/var/spack/repos/builtin/packages/mdtest/package.py +++ b/var/spack/repos/builtin/packages/mdtest/package.py @@ -16,6 +16,8 @@ class Mdtest(Package): version("1.9.3", commit="49f3f047c254c62848c23226d6f1afa5fc3c6583") + depends_on("c", type="build") # generated + depends_on("mpi") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/med/package.py b/var/spack/repos/builtin/packages/med/package.py index 48cd8a82a3f730..8e22764f6138fe 100644 --- a/var/spack/repos/builtin/packages/med/package.py +++ b/var/spack/repos/builtin/packages/med/package.py @@ -43,6 +43,10 @@ class Med(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("api23", default=True, description="Enable API2.3") variant("mpi", default=True, description="Enable MPI") variant("shared", default=False, description="Builds a shared version of the library") diff --git a/var/spack/repos/builtin/packages/medipack/package.py b/var/spack/repos/builtin/packages/medipack/package.py index 7823a2227942b3..02c046215b55bf 100644 --- a/var/spack/repos/builtin/packages/medipack/package.py +++ b/var/spack/repos/builtin/packages/medipack/package.py @@ -16,6 +16,8 @@ class Medipack(CMakePackage): version("1.2.2", sha256="8937fa1025c6fb12f516cacf38a7f776221e7e818b30f17ce334c63f78513aa7") version("1.2.1", sha256="c746196b98cfe24a212584cdb88bd12ebb14f4a54728070d605e0c6d0e75db8a") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.12:", type="build", when="@1.2.2:") build_system( diff --git a/var/spack/repos/builtin/packages/meep/package.py b/var/spack/repos/builtin/packages/meep/package.py index 18771f50c5c188..768a5c7babd58e 100644 --- a/var/spack/repos/builtin/packages/meep/package.py +++ b/var/spack/repos/builtin/packages/meep/package.py @@ -18,6 +18,7 @@ class Meep(AutotoolsPackage): version("master", branch="master") + version("1.29.0", sha256="f63bdf6a8fbae8aad87d4f683da3a466d687848a53bbebe1d6935fb268aeeffa") version("1.28.0", sha256="fe79ec9b0d0cf87c3855a1661a38f23a3100120174f7e2df8add96cafe201544") version("1.25.0", sha256="3e5d6c6ef69a8cc7810bdd6d681ae494bfe7a4e91041abe5494f5c8a82d02e6f") version("1.21.0", sha256="71911cd2f38b15bdafe9a27ad111f706f24717894d5f9b6f9f19c6c10a0d5896") @@ -37,6 +38,9 @@ class Meep(AutotoolsPackage): url="http://ab-initio.mit.edu/meep/old/meep-1.1.1.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("blas", default=True, description="Enable BLAS support") variant("lapack", default=True, description="Enable LAPACK support") variant("harminv", default=True, description="Enable Harminv support") diff --git a/var/spack/repos/builtin/packages/megadock/package.py b/var/spack/repos/builtin/packages/megadock/package.py index c0aceac0b5d5c4..3d81a58bcfe230 100644 --- a/var/spack/repos/builtin/packages/megadock/package.py +++ b/var/spack/repos/builtin/packages/megadock/package.py @@ -20,6 +20,8 @@ class Megadock(MakefilePackage, CudaPackage): version("4.1.1", sha256="5e08416ea86169be9f0a998f081f53c04aa8696ef83b9fcc5bf685fe45d52087") version("4.0.3", sha256="c1409a411555f4f7b4eeeda81caf622d8a28259a599ea1d2181069c55f257664") + depends_on("cxx", type="build") # generated + variant("mpi", description="Enable MPI", default=False) depends_on("fftw") diff --git a/var/spack/repos/builtin/packages/melissa-api/package.py b/var/spack/repos/builtin/packages/melissa-api/package.py index 931460e22a899a..f40b2ddca2c554 100644 --- a/var/spack/repos/builtin/packages/melissa-api/package.py +++ b/var/spack/repos/builtin/packages/melissa-api/package.py @@ -21,6 +21,9 @@ class MelissaApi(CMakePackage): version("develop", branch="develop") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@3.7.2:", type="build") depends_on("libzmq@4.1.5:") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/melissa/package.py b/var/spack/repos/builtin/packages/melissa/package.py index 58855d6f2caa0a..dd1cfa45ef1f87 100644 --- a/var/spack/repos/builtin/packages/melissa/package.py +++ b/var/spack/repos/builtin/packages/melissa/package.py @@ -31,6 +31,9 @@ class Melissa(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("no_mpi_api", default=False, description="Enable the deprecated no-MPI API") variant("shared", default=True, description="Build shared libraries") diff --git a/var/spack/repos/builtin/packages/memaxes/package.py b/var/spack/repos/builtin/packages/memaxes/package.py index b6a2f1651160b4..529a70bf63c1ee 100644 --- a/var/spack/repos/builtin/packages/memaxes/package.py +++ b/var/spack/repos/builtin/packages/memaxes/package.py @@ -6,7 +6,7 @@ from spack.package import * -class Memaxes(Package): +class Memaxes(CMakePackage): """MemAxes is a visualizer for sampled memory trace data.""" homepage = "https://github.com/llnl/MemAxes" @@ -19,11 +19,7 @@ class Memaxes(Package): url="https://github.com/llnl/MemAxes/archive/v0.5.tar.gz", ) + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8.9:", type="build") depends_on("qt@5:") - - def install(self, spec, prefix): - with working_dir("spack-build", create=True): - cmake("..", *std_cmake_args) - make() - make("install") diff --git a/var/spack/repos/builtin/packages/memcached/package.py b/var/spack/repos/builtin/packages/memcached/package.py index a4a7260ac1a8a5..c99ecd67477ae9 100644 --- a/var/spack/repos/builtin/packages/memcached/package.py +++ b/var/spack/repos/builtin/packages/memcached/package.py @@ -26,6 +26,8 @@ class Memcached(AutotoolsPackage): version("1.5.14", sha256="ae8ed2ed853b840a8430d8575d4e91b87c550b111874b416c551001403ac6a74") version("1.5.13", sha256="ae59a8b49be17afb344e57c8a8d64f9ae38b6efbc3f9115a422dbcb2b23795fc") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/meme/package.py b/var/spack/repos/builtin/packages/meme/package.py index 4aaf317f57080d..77b69170c22132 100644 --- a/var/spack/repos/builtin/packages/meme/package.py +++ b/var/spack/repos/builtin/packages/meme/package.py @@ -22,6 +22,8 @@ class Meme(AutotoolsPackage): version("4.12.0", sha256="49ff80f842b59d328588acfcd1d15bf94c55fed661d22b0f95f37430cc363a06") version("4.11.4", sha256="3e869ff57e327a9c8615dbef784e3f1095f7f7a0120cecd55efe10c3f2ee8eb3") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant("magick", default=False, description="Enable imagemagick for png output") diff --git a/var/spack/repos/builtin/packages/memkind/package.py b/var/spack/repos/builtin/packages/memkind/package.py index a853e5df853c7a..4ab957483b092b 100644 --- a/var/spack/repos/builtin/packages/memkind/package.py +++ b/var/spack/repos/builtin/packages/memkind/package.py @@ -35,6 +35,9 @@ class Memkind(AutotoolsPackage): version("1.8.0", sha256="8b57c5afa8afa6793e4662322e37620bbb11f119cd8d29654ec00945bbe13a17") version("1.7.0", sha256="5048eaaa1bc484203c685a019f3f428ab6c9b1cf94ef6d264e299bc0127ec572") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/memsurfer/package.py b/var/spack/repos/builtin/packages/memsurfer/package.py index 27edc9e5637b0d..2b6e3b812b82af 100644 --- a/var/spack/repos/builtin/packages/memsurfer/package.py +++ b/var/spack/repos/builtin/packages/memsurfer/package.py @@ -19,6 +19,8 @@ class Memsurfer(PythonPackage): version("master", branch="master", submodules=True) version("develop", branch="develop", submodules=True) + depends_on("cxx", type="build") # generated + extends("python") depends_on("python@3.7:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/mepo/package.py b/var/spack/repos/builtin/packages/mepo/package.py new file mode 100644 index 00000000000000..6d124d2121f90e --- /dev/null +++ b/var/spack/repos/builtin/packages/mepo/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 Mepo(PythonPackage): + """Tool to manage (m)ultiple git r(epo)sitories""" + + homepage = "https://github.com/GEOS-ESM/mepo" + git = "https://github.com/GEOS-ESM/mepo.git" + pypi = "mepo/mepo-2.0.0rc4.tar.gz" + + maintainers("pchakraborty", "mathomp4") + + license("Apache-2.0", checked_by="mathomp4") + + version("2.0.0rc4", sha256="5f6113be565c561c08114355570a259042b25222a9e8e1dc6e6e44448381cd36") + version("2.0.0rc3", sha256="c0c897a33f5018489e6cc14892961831c8922a3378ac30436496c52bf877aff7") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-colorama@0.4.6:", type=("build", "run")) + depends_on("py-pyyaml@6.0.1:", type=("build", "run")) + + depends_on("py-hatchling", type="build") diff --git a/var/spack/repos/builtin/packages/meraculous/package.py b/var/spack/repos/builtin/packages/meraculous/package.py index 1e17f87a8e32f1..2e87d70a016d77 100644 --- a/var/spack/repos/builtin/packages/meraculous/package.py +++ b/var/spack/repos/builtin/packages/meraculous/package.py @@ -20,6 +20,9 @@ class Meraculous(CMakePackage, SourceforgePackage): version("2.2.5.1", branch="release-2.2.5.1") version("2.2.4", sha256="3b4b8848232be902af9ebc77b38b83bcc531f12120115be089bdd6371ad2bf5b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("perl", type=("build", "run")) depends_on("boost@1.5.0:") diff --git a/var/spack/repos/builtin/packages/mercurial/package.py b/var/spack/repos/builtin/packages/mercurial/package.py index 94a0db300ce7d5..c8c8036f75d187 100644 --- a/var/spack/repos/builtin/packages/mercurial/package.py +++ b/var/spack/repos/builtin/packages/mercurial/package.py @@ -29,6 +29,9 @@ class Mercurial(PythonPackage): version("5.6.1", sha256="e55c254f4904c45226a106780e57f4279aee03368f6ff6a981d5d2a38243ffad") version("5.3", sha256="e57ff61d6b67695149dd451922b40aa455ab02e01711806a131a1e95c544f9b9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python+bz2+ssl+zlib", type=("build", "run")) depends_on("python@3.5:", when="@5.2:", type=("build", "run")) depends_on("python@3.6:", when="@6.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/mercury/package.py b/var/spack/repos/builtin/packages/mercury/package.py index 4371ffdd1469e4..9a533cde8c1993 100644 --- a/var/spack/repos/builtin/packages/mercury/package.py +++ b/var/spack/repos/builtin/packages/mercury/package.py @@ -29,6 +29,9 @@ class Mercury(CMakePackage): version("1.0.0", sha256="fb0e44d13f4652f53e21040435f91d452bc2b629b6e98dcf5292cd0bece899d4") version("0.9.0", sha256="40868e141cac035213fe79400f8926823fb1f5a0651fd7027cbe162b063843ef") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("bmi", default=False, description="Use BMI plugin") variant("mpi", default=False, description="Use MPI plugin") variant("ofi", default=True, when="@1.0.0:", description="Use OFI libfabric plugin") diff --git a/var/spack/repos/builtin/packages/mesa-demos/package.py b/var/spack/repos/builtin/packages/mesa-demos/package.py index 60a923e06a9124..6282ddf9e0553b 100644 --- a/var/spack/repos/builtin/packages/mesa-demos/package.py +++ b/var/spack/repos/builtin/packages/mesa-demos/package.py @@ -18,6 +18,9 @@ class MesaDemos(AutotoolsPackage): version("8.2.0", sha256="5a9f71b815d968d0c3b77edfcc3782d0211f8520b00da9e554ccfed80c8889f6") version("8.1.0", sha256="cc5826105355830208c90047fc38c5b09fa3ab0045366e7e859104935b00b76d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/mesa-glu/package.py b/var/spack/repos/builtin/packages/mesa-glu/package.py index 7393398e91af08..4692ad4e6b73e3 100644 --- a/var/spack/repos/builtin/packages/mesa-glu/package.py +++ b/var/spack/repos/builtin/packages/mesa-glu/package.py @@ -15,6 +15,9 @@ class MesaGlu(AutotoolsPackage): version("9.0.1", sha256="f6f484cfcd51e489afe88031afdea1e173aa652697e4c19ddbcb8260579a10f7") version("9.0.0", sha256="4387476a1933f36fec1531178ea204057bbeb04cc2d8396c9ea32720a1f7e264") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("gl@3:") provides("glu@1.3") diff --git a/var/spack/repos/builtin/packages/mesa/package.py b/var/spack/repos/builtin/packages/mesa/package.py index dbbcee64cb4f4a..61494f3db6a80e 100644 --- a/var/spack/repos/builtin/packages/mesa/package.py +++ b/var/spack/repos/builtin/packages/mesa/package.py @@ -49,6 +49,9 @@ class Mesa(MesonPackage): version("20.3.4", sha256="dc21a987ec1ff45b278fe4b1419b1719f1968debbb80221480e44180849b4084") version("20.2.1", sha256="d1a46d9a3f291bc0e0374600bdcb59844fa3eafaa50398e472a36fc65fd0244a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("meson@0.52:", type="build") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/meshkit/package.py b/var/spack/repos/builtin/packages/meshkit/package.py index 20262d8d0808e7..bac6cbb77e3d41 100644 --- a/var/spack/repos/builtin/packages/meshkit/package.py +++ b/var/spack/repos/builtin/packages/meshkit/package.py @@ -17,6 +17,8 @@ class Meshkit(AutotoolsPackage): version("1.5.0", sha256="6a4c119af191e24ef40644acb7cfbe967af0678ac3412f38a943fb28d661cac7") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="enable mpi support") variant("netgen", default=False, description="enable netgen support") variant("debug", default=False, description="enable debug symbols") diff --git a/var/spack/repos/builtin/packages/meshtool/package.py b/var/spack/repos/builtin/packages/meshtool/package.py index 6d3b107de55c38..d5d63ddd6895f9 100644 --- a/var/spack/repos/builtin/packages/meshtool/package.py +++ b/var/spack/repos/builtin/packages/meshtool/package.py @@ -28,6 +28,8 @@ class Meshtool(MakefilePackage): version("oc8.1", commit="6c5cfbd067120901f15a04bf63beec409bda6dc9") version("oc7.0", commit="6c5cfbd067120901f15a04bf63beec409bda6dc9") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("meshtool", prefix.bin) diff --git a/var/spack/repos/builtin/packages/met/package.py b/var/spack/repos/builtin/packages/met/package.py index d0e196355dfbf7..c75ebe8cf1a06a 100644 --- a/var/spack/repos/builtin/packages/met/package.py +++ b/var/spack/repos/builtin/packages/met/package.py @@ -30,6 +30,9 @@ class Met(AutotoolsPackage): version("10.0.0", sha256="92f37c8bd83c951d86026cce294a16e4d3aa6dd41905629d0a729fa1bebe668a") version("9.1.3", sha256="7356a5ad79ca961fd965cadd93a7bf6c73b3aa5fb1a01a932580b94e66d0d0c8") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=True, description="Use OpenMP multithreading") variant("grib2", default=False, description="Enable compilation of utilities using GRIB2") variant("python", default=False, description="Enable python embedding") diff --git a/var/spack/repos/builtin/packages/metabat/package.py b/var/spack/repos/builtin/packages/metabat/package.py index b2a6526c84f59f..3871b38b6cdfed 100644 --- a/var/spack/repos/builtin/packages/metabat/package.py +++ b/var/spack/repos/builtin/packages/metabat/package.py @@ -30,6 +30,8 @@ class Metabat(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("cmake", type="build", when="@2.13:") depends_on("boost@1.55.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/metacarpa/package.py b/var/spack/repos/builtin/packages/metacarpa/package.py index f3ceb3fdc8115f..6ec57d2fe02ed0 100644 --- a/var/spack/repos/builtin/packages/metacarpa/package.py +++ b/var/spack/repos/builtin/packages/metacarpa/package.py @@ -20,6 +20,8 @@ class Metacarpa(MakefilePackage): version("1.0.1", sha256="7d8fc774a88bf75a53ef8f74462924abba9b99fccbaa9979654c01e4379fab91") + depends_on("cxx", type="build") # generated + depends_on("boost@1.60.0") depends_on(Boost.with_default_variants) depends_on("cmake") diff --git a/var/spack/repos/builtin/packages/metaeuk/package.py b/var/spack/repos/builtin/packages/metaeuk/package.py index cabccc9db21e2f..7c2b87ad01650d 100644 --- a/var/spack/repos/builtin/packages/metaeuk/package.py +++ b/var/spack/repos/builtin/packages/metaeuk/package.py @@ -19,4 +19,7 @@ class Metaeuk(CMakePackage): version("6-a5d39d9", sha256="be19c26f5bdb7dcdd7bc48172105afecf19e5a2e5555edb3ba0c4aa0e4aac126") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8.12:", type="build") diff --git a/var/spack/repos/builtin/packages/metal/package.py b/var/spack/repos/builtin/packages/metal/package.py index bdb821b2e0ec77..841c48b86d15ed 100644 --- a/var/spack/repos/builtin/packages/metal/package.py +++ b/var/spack/repos/builtin/packages/metal/package.py @@ -18,6 +18,8 @@ class Metal(CMakePackage): "2020-05-05", sha256="0ffa2419ca2ab43766e7e6e8c97822c8ce1f5b6233fb5f992d1b1be1955fede7" ) + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type="build") depends_on("zlib-ng") diff --git a/var/spack/repos/builtin/packages/metall/package.py b/var/spack/repos/builtin/packages/metall/package.py index d031021b7c44ea..8ca6ee468d73ee 100644 --- a/var/spack/repos/builtin/packages/metall/package.py +++ b/var/spack/repos/builtin/packages/metall/package.py @@ -45,6 +45,9 @@ class Metall(CMakePackage): version("0.10", sha256="58b4b5507d4db5baca315b1bed2b728981755d755b91ef63bd0b6dfaf320f46b") version("0.9", sha256="2d7bd9ea2f1e04136050f210884445a9e3dcb96c992cf42ff9ea4b392f85f927") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.12:", type="build") depends_on("boost@1.75:", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/metaphysicl/package.py b/var/spack/repos/builtin/packages/metaphysicl/package.py index 1442635dfd2964..3f16a3f3765797 100644 --- a/var/spack/repos/builtin/packages/metaphysicl/package.py +++ b/var/spack/repos/builtin/packages/metaphysicl/package.py @@ -20,6 +20,8 @@ class Metaphysicl(AutotoolsPackage): version("0.3.3", sha256="6581ec6512d3509bfca6f93052f7d47dd2d9e4b9f2b3580d778495ae381a0b0d") version("0.2.0", sha256="ff4f9fad870dcdc85d56fb1f8d94123fecbef9189f967d254ba9607624b5f32e") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/methyldackel/package.py b/var/spack/repos/builtin/packages/methyldackel/package.py index 35e03b872d04a7..641c14f3500d5e 100644 --- a/var/spack/repos/builtin/packages/methyldackel/package.py +++ b/var/spack/repos/builtin/packages/methyldackel/package.py @@ -22,6 +22,8 @@ class Methyldackel(MakefilePackage): version("0.6.1", sha256="eeb1da4c830bcd9f3e6663a764947d957c41337643069524a4b545812fcf4819") + depends_on("c", type="build") # generated + depends_on("htslib@1.11:") depends_on("libbigwig") depends_on("curl") diff --git a/var/spack/repos/builtin/packages/metis/package.py b/var/spack/repos/builtin/packages/metis/package.py index c77ef4b34594f7..75e8b15982cfca 100644 --- a/var/spack/repos/builtin/packages/metis/package.py +++ b/var/spack/repos/builtin/packages/metis/package.py @@ -31,6 +31,8 @@ class Metis(CMakePackage, MakefilePackage): version("5.1.0", sha256="76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2") version("4.0.3", sha256="5efa35de80703c1b2c4d0de080fafbcf4e0d363a21149a1ad2f96e0144841a55") + depends_on("c", type="build") # generated + build_system( conditional("cmake", when="@5:"), conditional("makefile", when="@:4"), default="cmake" ) @@ -98,12 +100,32 @@ def setup_build_environment(self, env): class MakefileBuilder(spack.build_systems.makefile.MakefileBuilder, SetupEnvironment): @property - def build_targets(self): + def compile_options(self): options = [] if "+shared" in self.spec: - options.append("COPTIONS={0}".format(self.pkg.compiler.cc_pic_flag)) + options.append(self.pkg.compiler.cc_pic_flag) + if self.spec.satisfies("%cce@17:"): + options.append("-std=c89") + return options + + @property + def optimize_options(self): + options = [] if "+debug" in self.spec: - options.append("OPTFLAGS=-g -O0") + options.extend(["-g", "-O0"]) + else: + options.append("-O2") # default in Makefile.in + return options + + @property + def build_targets(self): + options = [] + copts = self.compile_options + oopts = self.optimize_options + if copts: + options.append("COPTIONS={0}".format(" ".join(copts))) + if oopts: + options.append("OPTFLAGS={0}".format(" ".join(oopts))) return options def install(self, pkg, spec, prefix): @@ -156,6 +178,8 @@ def install(self, pkg, spec, prefix): # Set up and run tests on installation ccompile( + *self.compile_options, + *self.optimize_options, "-I%s" % prefix.include, "-L%s" % prefix.lib, (pkg.compiler.cc_rpath_arg + prefix.lib if "+shared" in spec else ""), diff --git a/var/spack/repos/builtin/packages/metkit/package.py b/var/spack/repos/builtin/packages/metkit/package.py index 9d801477b704d6..05f4b33065acb1 100644 --- a/var/spack/repos/builtin/packages/metkit/package.py +++ b/var/spack/repos/builtin/packages/metkit/package.py @@ -24,6 +24,8 @@ class Metkit(CMakePackage): version("1.9.2", sha256="35d5f67196197cc06e5c2afc6d1354981e7c85a441df79a2fbd774e0c343b0b4") version("1.7.0", sha256="8c34f6d8ea5381bd1bcfb22462349d03e1592e67d8137e76b3cecf134a9d338c") + depends_on("cxx", type="build") # generated + variant("tools", default=True, description="Build the command line tools") variant("grib", default=True, description="Enable support for GRIB format") variant("odb", default=False, description="Enable support for ODB data") diff --git a/var/spack/repos/builtin/packages/mfem/mfem-4.7.patch b/var/spack/repos/builtin/packages/mfem/mfem-4.7.patch new file mode 100644 index 00000000000000..6e0d3c7ef574bb --- /dev/null +++ b/var/spack/repos/builtin/packages/mfem/mfem-4.7.patch @@ -0,0 +1,102 @@ +diff --git a/examples/hiop/ex9p.cpp b/examples/hiop/ex9p.cpp +index 4facbb3c0b..f783b97a3b 100644 +--- a/examples/hiop/ex9p.cpp ++++ b/examples/hiop/ex9p.cpp +@@ -96,6 +96,7 @@ public: + { + Vector w_glob(width); + pfes.Dof_TrueDof_Matrix()->MultTranspose(w, w_glob); ++ w_glob.HostReadWrite(); // read+write -> can use w_glob(i) (non-const) + for (int i = 0; i < width; i++) { grad(0, i) = w_glob(i); } + } + +diff --git a/linalg/sparsemat.cpp b/linalg/sparsemat.cpp +index 0b5334d2a6..efe471d416 100644 +--- a/linalg/sparsemat.cpp ++++ b/linalg/sparsemat.cpp +@@ -1267,24 +1267,32 @@ real_t SparseMatrix::InnerProduct(const Vector &x, const Vector &y) const + + void SparseMatrix::GetRowSums(Vector &x) const + { +- for (int i = 0; i < height; i++) ++ if (Finalized()) + { +- real_t a = 0.0; +- if (A) ++ auto d_I = ReadI(); ++ auto d_A = ReadData(); ++ auto d_x = x.Write(); ++ mfem::forall(height, [=] MFEM_HOST_DEVICE (int i) + { +- for (int j = I[i], end = I[i+1]; j < end; j++) ++ real_t sum = 0.0; ++ for (int j = d_I[i], end = d_I[i+1]; j < end; j++) + { +- a += A[j]; ++ sum += d_A[j]; + } +- } +- else ++ d_x[i] = sum; ++ }); ++ } ++ else ++ { ++ for (int i = 0; i < height; i++) + { ++ real_t a = 0.0; + for (RowNode *np = Rows[i]; np != NULL; np = np->Prev) + { + a += np->Value; + } ++ x(i) = a; + } +- x(i) = a; + } + } + +diff --git a/linalg/sparsemat.hpp b/linalg/sparsemat.hpp +index 7042279663..dc2d773bc4 100644 +--- a/linalg/sparsemat.hpp ++++ b/linalg/sparsemat.hpp +@@ -216,7 +216,7 @@ public: + void ClearCuSparse() { ClearGPUSparse(); } + + /// Check if the SparseMatrix is empty. +- bool Empty() const { return (A == NULL) && (Rows == NULL); } ++ bool Empty() const { return A.Empty() && (Rows == NULL); } + + /// Return the array #I. + inline int *GetI() { return I; } +diff --git a/tests/unit/general/test_umpire_mem.cpp b/tests/unit/general/test_umpire_mem.cpp +index 84457669ec..d4a7b85093 100644 +--- a/tests/unit/general/test_umpire_mem.cpp ++++ b/tests/unit/general/test_umpire_mem.cpp +@@ -18,12 +18,13 @@ + #include + #include + #include "umpire/Umpire.hpp" ++#include + + #ifdef MFEM_USE_CUDA + #include + constexpr const char * device_name = "cuda"; + #elif defined(MFEM_USE_HIP) +-constexpr const char * device_name = "raja-hip"; ++constexpr const char * device_name = "hip"; + #endif + + using namespace mfem; +@@ -45,10 +46,12 @@ static bool is_pinned_host(void * h_p) + unsigned flags; + #ifdef MFEM_USE_CUDA + auto err = cudaHostGetFlags(&flags, h_p); ++ cudaGetLastError(); // also resets last error + if (err == cudaSuccess) { return true; } + else if (err == cudaErrorInvalidValue) { return false; } + #elif defined(MFEM_USE_HIP) + auto err = hipHostGetFlags(&flags, h_p); ++ hipGetLastError(); // also resets last error + if (err == hipSuccess) { return true; } + else if (err == hipErrorInvalidValue) { return false; } + #endif diff --git a/var/spack/repos/builtin/packages/mfem/mfem-hip.patch b/var/spack/repos/builtin/packages/mfem/mfem-hip.patch deleted file mode 100644 index 565bae348c0009..00000000000000 --- a/var/spack/repos/builtin/packages/mfem/mfem-hip.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 93ab69cac72cc2d13cfd4b7efcc235bdbca2b9f5 Mon Sep 17 00:00:00 2001 -From: Afzal Patel -Date: Wed, 17 Jan 2024 11:44:18 -0800 -Subject: [PATCH] Add hip library path to ghv flags so libamdhip64 can be found - ---- - config/makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config/makefile b/config/makefile -index 627d117..a453865 100644 ---- a/config/makefile -+++ b/config/makefile -@@ -38,7 +38,7 @@ all: header config-mk - MPI = $(MFEM_USE_MPI:NO=) - GHV_CXX ?= $(MFEM_CXX) - GHV = get_hypre_version --GHV_FLAGS = $(subst @MFEM_DIR@,$(if $(MFEM_DIR),$(MFEM_DIR),..),$(HYPRE_OPT)) -+GHV_FLAGS = $(subst @MFEM_DIR@,$(if $(MFEM_DIR),$(MFEM_DIR),..),$(HYPRE_OPT)) $(HIP_LIB) - SMX = $(if $(MFEM_USE_PUMI:NO=),MFEM_USE_SIMMETRIX) - SMX_PATH = $(PUMI_DIR)/include/gmi_sim.h - SMX_FILE = $(subst @MFEM_DIR@,$(if $(MFEM_DIR),$(MFEM_DIR),..),$(SMX_PATH)) --- -2.25.1 \ No newline at end of file diff --git a/var/spack/repos/builtin/packages/mfem/package.py b/var/spack/repos/builtin/packages/mfem/package.py index 0f339e11e7fcb0..05c59675b6f973 100644 --- a/var/spack/repos/builtin/packages/mfem/package.py +++ b/var/spack/repos/builtin/packages/mfem/package.py @@ -6,7 +6,6 @@ import os import shutil import sys -from platform import machine from spack.package import * @@ -51,6 +50,13 @@ class Mfem(Package, CudaPackage, ROCmPackage): # other version. version("develop", branch="master") + version( + "4.7.0", + sha256="5e889493f5f79848f7b2d16afaae307c59880ac2a7ff2315551c60ca54717751", + url="https://bit.ly/mfem-4-7", + extension="tar.gz", + ) + version( "4.6.0", sha256="5fa9465b5bec56bfb777a4d2826fba48d85fbace4aed8b64a2fd4059bf075b15", @@ -155,6 +161,8 @@ class Mfem(Package, CudaPackage, ROCmPackage): extension="tar.gz", ) + depends_on("cxx", type="build") # generated + variant("static", default=True, description="Build static library") variant("shared", default=False, description="Build shared library") variant("mpi", default=True, sticky=True, description="Enable MPI parallelism") @@ -212,6 +220,21 @@ class Mfem(Package, CudaPackage, ROCmPackage): variant("examples", default=False, description="Build and install examples") variant("miniapps", default=False, description="Build and install miniapps") variant("exceptions", default=False, description="Enable the use of exceptions") + variant( + "precision", + default="double", + values=("single", "double"), + multi=False, + description="Floating point precision", + when="@4.7.0:", + ) + variant( + "cxxstd", + default="auto", + values=("auto", conditional("98", when="@:3"), "11", "14", "17"), + multi=False, + description="C++ language standard", + ) conflicts("+shared", when="@:3.3.2") conflicts("~static~shared") @@ -290,6 +313,7 @@ class Mfem(Package, CudaPackage, ROCmPackage): depends_on("sundials@5.0.0:5+mpi+hypre", when="@4.0.1-xsdk:4.4+sundials+mpi") depends_on("sundials@5.0.0:6.7.0", when="@4.5.0:+sundials~mpi") depends_on("sundials@5.0.0:6.7.0+mpi+hypre", when="@4.5.0:+sundials+mpi") + conflicts("cxxstd=11", when="^sundials@6.4.0:") for sm_ in CudaPackage.cuda_arch_values: depends_on( "sundials@5.4.0:+cuda cuda_arch={0}".format(sm_), @@ -337,7 +361,7 @@ class Mfem(Package, CudaPackage, ROCmPackage): # The PETSc tests in MFEM will fail if PETSc is not configured with # MUMPS (and SuiteSparse in older versions). On the other hand, PETSc built # with MUMPS is not strictly required, so we do not require it here. - depends_on("petsc@3.8:+mpi+double+hypre", when="+petsc") + depends_on("petsc@3.8:+mpi+hypre", when="+petsc") depends_on("slepc@3.8.0:", when="+slepc") # If petsc is built with +cuda, propagate cuda_arch to petsc and slepc for sm_ in CudaPackage.cuda_arch_values: @@ -361,6 +385,7 @@ class Mfem(Package, CudaPackage, ROCmPackage): depends_on("conduit+mpi", when="+conduit+mpi") depends_on("libfms@0.2.0:", when="+fms") depends_on("ginkgo@1.4.0:", when="+ginkgo") + conflicts("cxxstd=11", when="^ginkgo") for sm_ in CudaPackage.cuda_arch_values: depends_on( "ginkgo+cuda cuda_arch={0}".format(sm_), when="+ginkgo+cuda cuda_arch={0}".format(sm_) @@ -402,6 +427,7 @@ class Mfem(Package, CudaPackage, ROCmPackage): depends_on("raja@0.13.0", when="@4.3.0+raja") depends_on("raja@0.14.0:2022.03", when="@4.4.0:4.5.0+raja") depends_on("raja@2022.10.3:", when="@4.5.2:+raja") + conflicts("cxxstd=11", when="^raja@2022.03.0:") for sm_ in CudaPackage.cuda_arch_values: depends_on( "raja+cuda cuda_arch={0}".format(sm_), when="+raja+cuda cuda_arch={0}".format(sm_) @@ -429,6 +455,7 @@ class Mfem(Package, CudaPackage, ROCmPackage): depends_on("umpire@2.0.0:2.1.0", when="@:4.3.0+umpire") depends_on("umpire@3.0.0:", when="@4.4.0:+umpire") + conflicts("cxxstd=11", when="^umpire@2022.03.0:") for sm_ in CudaPackage.cuda_arch_values: depends_on( "umpire+cuda cuda_arch={0}".format(sm_), when="+umpire+cuda cuda_arch={0}".format(sm_) @@ -448,6 +475,20 @@ class Mfem(Package, CudaPackage, ROCmPackage): "amgx~mpi cuda_arch={0}".format(sm_), when="+amgx~mpi cuda_arch={0}".format(sm_) ) + for using_double_cond in ["@:4.6", "precision=double"]: + with when(using_double_cond): + # May need to enforce precision consistency on other packages in the + # future. + depends_on("hypre precision=double", when="+mpi") + depends_on("petsc+double", when="+petsc") + depends_on("mumps+double", when="+mumps") + with when("precision=single"): + # May need to enforce precision consistency on other packages in the + # future. + depends_on("hypre precision=single", when="+mpi") + depends_on("petsc~double", when="+petsc") + depends_on("mumps+float", when="+mumps") + patch("mfem_ppc_build.patch", when="@3.2:3.3.0 arch=ppc64le") patch("mfem-3.4.patch", when="@3.4.0") patch("mfem-3.3-3.4-petsc-3.9.patch", when="@3.3.0:3.4.0 +petsc ^petsc@3.9.0:") @@ -468,7 +509,7 @@ class Mfem(Package, CudaPackage, ROCmPackage): when="@4.6.0 +gslib+shared+miniapps", sha256="2a31682d876626529e2778a216d403648b83b90997873659a505d982d0e65beb", ) - patch("mfem-hip.patch", when="+rocm ^hip@6.0:") + patch("mfem-4.7.patch", when="@4.7.0") phases = ["configure", "build", "install"] @@ -489,56 +530,16 @@ def setup_build_environment(self, env): # likely to be up to date in supporting *all* of MFEM's # configuration options. So, don't use CMake # - def configure(self, spec, prefix): + def get_make_config_options(self, spec, prefix): def yes_no(varstr): return "YES" if varstr in self.spec else "NO" - # See also find_system_libraries in lib/spack/llnl/util/filesystem.py - # where the same list of paths is used. - sys_lib_paths = [ - "/lib64", - "/lib", - "/usr/lib64", - "/usr/lib", - "/usr/local/lib64", - "/usr/local/lib", - "/usr/lib/x86_64-linux-gnu", - ] - - def is_sys_lib_path(dir): - return dir in sys_lib_paths - - xcompiler = "" - xlinker = "-Wl," - if "+cuda" in spec: - xcompiler = "-Xcompiler=" - xlinker = "-Xlinker=" - cuda_arch = None if "~cuda" in spec else spec.variants["cuda_arch"].value + xcompiler = "" if "~cuda" in spec else "-Xcompiler=" # We need to add rpaths explicitly to allow proper export of link flags - # from within MFEM. - - # Similar to spec[pkg].libs.ld_flags but prepends rpath flags too. - # Also does not add system library paths as defined by 'sys_lib_paths' - # above -- this is done to avoid issues like this: - # https://github.com/mfem/mfem/issues/1088. - def ld_flags_from_library_list(libs_list): - flags = [ - "%s-rpath,%s" % (xlinker, dir) - for dir in libs_list.directories - if not is_sys_lib_path(dir) - ] - flags += ["-L%s" % dir for dir in libs_list.directories if not is_sys_lib_path(dir)] - flags += [libs_list.link_flags] - return " ".join(flags) - - def ld_flags_from_dirs(pkg_dirs_list, pkg_libs_list): - flags = [ - "%s-rpath,%s" % (xlinker, dir) for dir in pkg_dirs_list if not is_sys_lib_path(dir) - ] - flags += ["-L%s" % dir for dir in pkg_dirs_list if not is_sys_lib_path(dir)] - flags += ["-l%s" % lib for lib in pkg_libs_list] - return " ".join(flags) + # from within MFEM. We use the following two functions to do that. + ld_flags_from_library_list = self.ld_flags_from_library_list + ld_flags_from_dirs = self.ld_flags_from_dirs def find_optional_library(name, prefix): for shared in [True, False]: @@ -619,6 +620,8 @@ def find_optional_library(name, prefix): "MFEM_USE_EXCEPTIONS=%s" % yes_no("+exceptions"), "MFEM_USE_MUMPS=%s" % yes_no("+mumps"), ] + if spec.satisfies("@4.7.0:"): + options += ["MFEM_PRECISION=%s" % spec.variants["precision"].value] # Determine C++ standard to use: cxxstd = None @@ -632,6 +635,11 @@ def find_optional_library(name, prefix): cxxstd = "14" if self.spec.satisfies("^ginkgo"): cxxstd = "14" + cxxstd_req = spec.variants["cxxstd"].value + if cxxstd_req != "auto": + # Constraints for valid standard level should be imposed during + # concretization based on 'conflicts' or other directives. + cxxstd = cxxstd_req cxxstd_flag = None if cxxstd: if "+cuda" in spec: @@ -639,6 +647,8 @@ def find_optional_library(name, prefix): else: cxxstd_flag = getattr(self.compiler, "cxx" + cxxstd + "_flag") + cuda_arch = None if "~cuda" in spec else spec.variants["cuda_arch"].value + cxxflags = spec.compiler_flags["cxxflags"].copy() if cxxflags: @@ -944,7 +954,6 @@ def find_optional_library(name, prefix): options += ["HIP_CXX=%s" % spec["hip"].hipcc, "HIP_ARCH=%s" % amdgpu_target] hip_headers = HeaderList([]) hip_libs = LibraryList([]) - hip_libs += find_libraries("libamdhip64", spec["hip"].prefix.lib) # To use a C++ compiler that supports -xhip flag one can use # something like this: # options += [ @@ -972,9 +981,27 @@ def find_optional_library(name, prefix): hip_headers += spec["hipblas"].headers if "%cce" in spec: # We assume the proper Cray CCE module (cce) is loaded: - craylibs_path = env["CRAYLIBS_" + machine().upper()] - craylibs = ["libmodules", "libfi", "libcraymath", "libf", "libu", "libcsup"] + proc = str(spec.target.family) + craylibs_var = "CRAYLIBS_" + proc.upper() + craylibs_path = env.get(craylibs_var, None) + if not craylibs_path: + raise InstallError( + f"The environment variable {craylibs_var} is not defined.\n" + "\tMake sure the 'cce' module is in the compiler spec." + ) + craylibs = [ + "libmodules", + "libfi", + "libcraymath", + "libf", + "libu", + "libcsup", + "libpgas-shmem", + ] hip_libs += find_libraries(craylibs, craylibs_path) + craylibs_path2 = join_path(craylibs_path, "../../../cce-clang", proc, "lib") + hip_libs += find_libraries("libunwind", craylibs_path2) + if hip_headers: options += ["HIP_OPT=%s" % hip_headers.cpp_flags] if hip_libs: @@ -1018,9 +1045,17 @@ def find_optional_library(name, prefix): ] if "+umpire" in spec: + umpire = spec["umpire"] + umpire_opts = umpire.headers + umpire_libs = umpire.libs + if "^camp" in umpire: + umpire_opts += umpire["camp"].headers + if "^fmt" in umpire: + umpire_opts += umpire["fmt"].headers + umpire_libs += umpire["fmt"].libs options += [ - "UMPIRE_OPT=-I%s" % spec["umpire"].prefix.include, - "UMPIRE_LIB=%s" % ld_flags_from_library_list(spec["umpire"].libs), + "UMPIRE_OPT=%s" % umpire_opts.cpp_flags, + "UMPIRE_LIB=%s" % ld_flags_from_library_list(umpire_libs), ] timer_ids = {"std": "0", "posix": "2", "mac": "4", "mpi": "6"} @@ -1089,7 +1124,7 @@ def find_optional_library(name, prefix): hiop_libs = hiop.libs hiop_hdrs += spec["lapack"].headers + spec["blas"].headers hiop_libs += spec["lapack"].libs + spec["blas"].libs - hiop_opt_libs = ["magma", "umpire"] + hiop_opt_libs = ["magma", "umpire", "hipblas", "hiprand"] for opt_lib in hiop_opt_libs: if "^" + opt_lib in hiop: hiop_hdrs += hiop[opt_lib].headers @@ -1105,6 +1140,8 @@ def find_optional_library(name, prefix): camp = raja["camp"] hiop_hdrs += camp.headers hiop_libs += find_optional_library("libcamp", camp.prefix) + if hiop.satisfies("@0.6:+cuda"): + hiop_libs += LibraryList(["cublas", "curand"]) options += [ "HIOP_OPT=%s" % hiop_hdrs.cpp_flags, "HIOP_LIB=%s" % ld_flags_from_library_list(hiop_libs), @@ -1121,6 +1158,10 @@ def find_optional_library(name, prefix): "MUMPS_LIB=%s" % ld_flags_from_library_list(mumps.libs), ] + return options + + def configure(self, spec, prefix): + options = self.get_make_config_options(spec, prefix) make("config", *options, parallel=False) make("info", parallel=False) @@ -1281,3 +1322,46 @@ def test_mk(self): if os.access(f, os.R_OK): return FileList(f) return FileList(find(self.prefix, "test.mk", recursive=True)) + + # See also find_system_libraries in lib/spack/llnl/util/filesystem.py + # where the similar list of paths is used. + sys_lib_paths = [ + "/lib64", + "/lib", + "/usr/lib64", + "/usr/lib", + "/usr/local/lib64", + "/usr/local/lib", + "/usr/lib/x86_64-linux-gnu", + ] + + def is_sys_lib_path(self, dir): + return dir in self.sys_lib_paths + + @property + def xlinker(self): + return "-Wl," if "~cuda" in self.spec else "-Xlinker=" + + # Similar to spec[pkg].libs.ld_flags but prepends rpath flags too. + # Also does not add system library paths as defined by 'sys_lib_paths' + # above -- this is done to avoid issues like this: + # https://github.com/mfem/mfem/issues/1088. + def ld_flags_from_library_list(self, libs_list): + flags = [ + "%s-rpath,%s" % (self.xlinker, dir) + for dir in libs_list.directories + if not self.is_sys_lib_path(dir) + ] + flags += ["-L%s" % dir for dir in libs_list.directories if not self.is_sys_lib_path(dir)] + flags += [libs_list.link_flags] + return " ".join(flags) + + def ld_flags_from_dirs(self, pkg_dirs_list, pkg_libs_list): + flags = [ + "%s-rpath,%s" % (self.xlinker, dir) + for dir in pkg_dirs_list + if not self.is_sys_lib_path(dir) + ] + flags += ["-L%s" % dir for dir in pkg_dirs_list if not self.is_sys_lib_path(dir)] + flags += ["-l%s" % lib for lib in pkg_libs_list] + return " ".join(flags) diff --git a/var/spack/repos/builtin/packages/mfem/test_builds.sh b/var/spack/repos/builtin/packages/mfem/test_builds.sh index cb658dd59cc468..be0d27bc0f93b8 100755 --- a/var/spack/repos/builtin/packages/mfem/test_builds.sh +++ b/var/spack/repos/builtin/packages/mfem/test_builds.sh @@ -14,9 +14,9 @@ rocm_arch="gfx908" spack_jobs='' # spack_jobs='-j 128' -mfem='mfem@4.6.0'${compiler} +mfem='mfem@4.7.0'${compiler} # mfem_dev='mfem@develop'${compiler} -mfem_dev='mfem@4.6.0'${compiler} +mfem_dev='mfem@4.7.0'${compiler} backends='+occa+raja+libceed' backends_specs='^occa~cuda ^raja~openmp' @@ -31,44 +31,60 @@ petsc_spec_rocm='^petsc+rocm+mumps' strumpack_spec='^strumpack~slate~openmp~cuda' strumpack_cuda_spec='^strumpack+cuda~slate~openmp' strumpack_rocm_spec='^strumpack+rocm~slate~openmp~cuda' -# superlu specs with cuda and rocm -superlu_cuda_spec='^superlu-dist+cuda' -superlu_rocm_spec='^superlu-dist+rocm' +# superlu specs with cpu, cuda and rocm +# - v8.2.1 on CPU and GPU stalls in ex11p; works when superlu::PARMETIS is +# replaced with superlu::METIS_AT_PLUS_A, at least on CPU +superlu_spec='^superlu-dist@8.1.2' +superlu_cuda_spec='^superlu-dist@8.1.2+cuda' +superlu_rocm_spec='^superlu-dist@8.1.2+rocm' +# FMS spec +fms_spec='^libfms+conduit' builds=( # preferred version: ${mfem} ${mfem}'~mpi~metis~zlib' - ${mfem}"$backends"'+superlu-dist+strumpack+suite-sparse+petsc+slepc+gslib \ - +sundials+pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo+hiop \ - '"$backends_specs $strumpack_spec $petsc_spec $conduit_spec" + # TODO: add back "+fms $fms_spec" when the FMS unit test is fixed + ${mfem}"$backends"'+superlu-dist+strumpack+mumps+suite-sparse+petsc+slepc \ + +gslib+sundials+pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo \ + +hiop \ + '"$backends_specs $superlu_spec $strumpack_spec $petsc_spec"' \ + '"$conduit_spec" + # TODO: add back "+fms $fms_spec" when the FMS unit test is fixed ${mfem}'~mpi \ '"$backends"'+suite-sparse+sundials+gslib+mpfr+netcdf \ +zlib+gnutls+libunwind+conduit+ginkgo+hiop \ '"$backends_specs $conduit_spec"' ^sundials~mpi' + ${mfem}' precision=single +mumps+petsc '"$petsc_spec" # develop version, shared builds: ${mfem_dev}'+shared~static' ${mfem_dev}'+shared~static~mpi~metis~zlib' # NOTE: Shared build with +gslib works on mac but not on linux # TODO: add back '+gslib' when the above NOTE is addressed. + # TODO: add back "+fms $fms_spec" when the FMS unit test is fixed ${mfem_dev}'+shared~static \ - '"$backends"'+superlu-dist+strumpack+suite-sparse+petsc+slepc \ + '"$backends"'+superlu-dist+strumpack+mumps+suite-sparse+petsc+slepc \ +sundials+pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo+hiop \ - '"$backends_specs $strumpack_spec $petsc_spec $conduit_spec" + '"$backends_specs $superlu_spec $strumpack_spec $petsc_spec"' \ + '"$conduit_spec" # NOTE: Shared build with +gslib works on mac but not on linux # TODO: add back '+gslib' when the above NOTE is addressed. + # TODO: add back "+fms $fms_spec" when the FMS unit test is fixed ${mfem_dev}'+shared~static~mpi \ '"$backends"'+suite-sparse+sundials+mpfr+netcdf \ +zlib+gnutls+libunwind+conduit+ginkgo+hiop \ '"$backends_specs $conduit_spec"' ^sundials~mpi' + ${mfem_dev}'+shared~static precision=single +mumps+petsc '"$petsc_spec" ) builds2=( # preferred version ${mfem}"$backends $backends_specs" - ${mfem}'+superlu-dist' + ${mfem}' precision=single' + ${mfem}'+superlu-dist'" $superlu_spec" ${mfem}'+strumpack'" $strumpack_spec" + ${mfem}'+mumps' ${mfem}'+suite-sparse~mpi' ${mfem}'+suite-sparse' ${mfem}'+sundials~mpi ^sundials~mpi' @@ -81,6 +97,8 @@ builds2=( ${mfem}'+gnutls' ${mfem}'+conduit~mpi'" $conduit_spec" ${mfem}'+conduit'" $conduit_spec" + # TODO: uncomment next line when the FMS unit test is fixed + # ${mfem}'+fms'" $fms_spec" ${mfem}'+umpire' ${mfem}'+petsc'" $petsc_spec" ${mfem}'+petsc+slepc'" $petsc_spec" @@ -93,8 +111,10 @@ builds2=( # # develop version ${mfem_dev}"$backends $backends_specs" - ${mfem_dev}'+superlu-dist' + ${mfem_dev}' precision=single' + ${mfem_dev}'+superlu-dist'" $superlu_spec" ${mfem_dev}'+strumpack'" $strumpack_spec" + ${mfem_dev}'+mumps' ${mfem_dev}'+suite-sparse~mpi' ${mfem_dev}'+suite-sparse' ${mfem_dev}'+sundials~mpi ^sundials~mpi' @@ -107,6 +127,8 @@ builds2=( ${mfem_dev}'+gnutls' ${mfem_dev}'+conduit~mpi'" $conduit_spec" ${mfem_dev}'+conduit'" $conduit_spec" + # TODO: uncomment next line when the FMS unit test is fixed + # ${mfem_dev}'+fms'" $fms_spec" ${mfem_dev}'+umpire' ${mfem_dev}'+petsc'" $petsc_spec" ${mfem_dev}'+petsc+slepc'" $petsc_spec" @@ -134,25 +156,37 @@ builds_cuda=( # hypre without cuda: # NOTE: PETSc tests may need PETSC_OPTIONS="-use_gpu_aware_mpi 0" # TODO: restore '+libceed' when the libCEED CUDA unit tests take less time. - # TODO: remove "^hiop+shared" when the default static build is fixed. ${mfem}'+cuda+openmp+raja+occa cuda_arch='"${cuda_arch}"' \ +superlu-dist+strumpack+suite-sparse+gslib+petsc+slepc \ - +sundials+pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo+hiop \ - ^raja+cuda+openmp ^hiop+shared'" $strumpack_cuda_spec"' \ + +sundials+pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo \ + ^raja+cuda+openmp'" $strumpack_cuda_spec"' \ '"$superlu_cuda_spec $petsc_spec_cuda $conduit_spec" + ${mfem}'+cuda cuda_arch='"${cuda_arch}"' +raja+umpire' + + # hiop needs older versions of raja, umpire, etc + # TODO: combine this spec with the above spec when the combined spec works. + ${mfem}'+cuda cuda_arch='"${cuda_arch}"' +hiop' + # hypre with cuda: # TODO: restore '+libceed' when the libCEED CUDA unit tests take less time. # TODO: add back "+petsc+slepc $petsc_spec_cuda" when it works. # NOTE: PETSc tests may need PETSC_OPTIONS="-use_gpu_aware_mpi 0" # TODO: add back "+sundials" when it's supported with '^hypre+cuda'. - # TODO: remove "^hiop+shared" when the default static build is fixed. ${mfem}'+cuda+openmp+raja+occa cuda_arch='"${cuda_arch}"' \ +superlu-dist+strumpack+suite-sparse+gslib \ - +pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo+hiop \ - ^raja+cuda+openmp ^hiop+shared ^hypre+cuda \ + +pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo \ + ^raja+cuda+openmp ^hypre+cuda \ '" $strumpack_cuda_spec $superlu_cuda_spec $conduit_spec" + ${mfem}'+cuda cuda_arch='"${cuda_arch}"' +raja+umpire ^hypre+cuda' + + # hiop needs older versions of raja, umpire, etc + # TODO: combine this spec with the above spec when the combined spec works. + ${mfem}'+cuda cuda_arch='"${cuda_arch}"' +hiop ^hypre+cuda' + + ${mfem}' precision=single +cuda cuda_arch='"${cuda_arch}"' ^hypre+cuda' + # # same builds as above with ${mfem_dev} # @@ -171,24 +205,36 @@ builds_cuda=( # hypre without cuda: # NOTE: PETSc tests may need PETSC_OPTIONS="-use_gpu_aware_mpi 0" # TODO: restore '+libceed' when the libCEED CUDA unit tests take less time. - # TODO: remove "^hiop+shared" when the default static build is fixed. ${mfem_dev}'+cuda+openmp+raja+occa cuda_arch='"${cuda_arch}"' \ +superlu-dist+strumpack+suite-sparse+gslib+petsc+slepc \ - +sundials+pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo+hiop \ - ^raja+cuda+openmp ^hiop+shared'" $strumpack_cuda_spec"' \ + +sundials+pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo \ + ^raja+cuda+openmp'" $strumpack_cuda_spec"' \ '"$superlu_cuda_spec $petsc_spec_cuda $conduit_spec" + ${mfem_dev}'+cuda cuda_arch='"${cuda_arch}"' +raja+umpire' + + # hiop needs older versions of raja, umpire, etc + # TODO: combine this spec with the above spec when the combined spec works. + ${mfem_dev}'+cuda cuda_arch='"${cuda_arch}"' +hiop' + # hypre with cuda: # TODO: restore '+libceed' when the libCEED CUDA unit tests take less time. # TODO: add back "+petsc+slepc $petsc_spec_cuda" when it works. # NOTE: PETSc tests may need PETSC_OPTIONS="-use_gpu_aware_mpi 0" # TODO: add back "+sundials" when it's supported with '^hypre+cuda'. - # TODO: remove "^hiop+shared" when the default static build is fixed. ${mfem_dev}'+cuda+openmp+raja+occa cuda_arch='"${cuda_arch}"' \ +superlu-dist+strumpack+suite-sparse+gslib \ - +pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo+hiop \ - ^raja+cuda+openmp ^hiop+shared ^hypre+cuda \ + +pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo \ + ^raja+cuda+openmp ^hypre+cuda \ '"$strumpack_cuda_spec $superlu_cuda_spec $conduit_spec" + + ${mfem_dev}'+cuda cuda_arch='"${cuda_arch}"' +raja+umpire ^hypre+cuda' + + # hiop needs older versions of raja, umpire, etc + # TODO: combine this spec with the above spec when the combined spec works. + ${mfem_dev}'+cuda cuda_arch='"${cuda_arch}"' +hiop ^hypre+cuda' + + ${mfem_dev}' precision=single +cuda cuda_arch='"${cuda_arch}"' ^hypre+cuda' ) @@ -204,27 +250,35 @@ builds_rocm=( ^raja+rocm~openmp ^occa~cuda~openmp ^hypre+rocm' # hypre without rocm: - # TODO: add back '+hiop' when it is no longer linked with tcmalloc* through - # its magma dependency. - # TODO: add back '+ginkgo' when the Ginkgo example works. ${mfem}'+rocm+openmp+raja+occa+libceed amdgpu_target='"${rocm_arch}"' \ +superlu-dist+strumpack+suite-sparse+gslib+petsc+slepc \ - +sundials+pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit \ + +sundials+pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo \ ^raja+rocm~openmp ^occa~cuda'" $strumpack_rocm_spec"' \ '"$superlu_rocm_spec $petsc_spec_rocm $conduit_spec" + ${mfem}'+rocm amdgpu_target='"${rocm_arch}"' +raja+umpire' + + # hiop needs older versions of raja, umpire, etc + # TODO: combine this spec with the above spec when the combined spec works. + ${mfem}'+rocm amdgpu_target='"${rocm_arch}"' +hiop' + # hypre with rocm: # TODO: add back "+petsc+slepc $petsc_spec_rocm" when it works. - # TODO: add back '+hiop' when it is no longer linked with tcmalloc* through - # its magma dependency. - # TODO: add back '+ginkgo' when the Ginkgo example works. # TODO: add back "+sundials" when it's supported with '^hypre+rocm'. ${mfem}'+rocm+openmp+raja+occa+libceed amdgpu_target='"${rocm_arch}"' \ +superlu-dist+strumpack+suite-sparse+gslib \ - +pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit \ + +pumi+mpfr+netcdf+zlib+gnutls+libunwind+conduit+ginkgo \ ^raja+rocm~openmp ^occa~cuda ^hypre+rocm \ '"$strumpack_rocm_spec $superlu_rocm_spec $conduit_spec" + ${mfem}'+rocm amdgpu_target='"${rocm_arch}"' +raja+umpire ^hypre+rocm' + + # hiop needs older versions of raja, umpire, etc + # TODO: combine this spec with the above spec when the combined spec works. + ${mfem}'+rocm amdgpu_target='"${rocm_arch}"' +hiop ^hypre+rocm' + + ${mfem}' precision=single +rocm amdgpu_target='"${rocm_arch}"' ^hypre+rocm' + # # same builds as above with ${mfem_dev} # @@ -244,6 +298,8 @@ run_builds=("${builds[@]}" "${builds2[@]}") # PETSc CUDA tests on Lassen need this: # export PETSC_OPTIONS="-use_gpu_aware_mpi 0" +# STRUMPACK forces "^openblas threads=openmp" when using openblas: +export OMP_NUM_THREADS=1 # spack files to clean in "$mfem_src_dir" when using 'dev-build' clean_files=( diff --git a/var/spack/repos/builtin/packages/mg/package.py b/var/spack/repos/builtin/packages/mg/package.py index 81097f0a16f6e0..6a1c68807f08a9 100644 --- a/var/spack/repos/builtin/packages/mg/package.py +++ b/var/spack/repos/builtin/packages/mg/package.py @@ -18,6 +18,8 @@ class Mg(MakefilePackage): version("6.6", sha256="e8440353da1a52ec7d40fb88d4f145da49c320b5ba31daf895b0b0db5ccd0632") + depends_on("c", type="build") # generated + depends_on("ncurses") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/mgard/package.py b/var/spack/repos/builtin/packages/mgard/package.py index c3abc1a5cfd93e..d4ffaca07f9a1e 100644 --- a/var/spack/repos/builtin/packages/mgard/package.py +++ b/var/spack/repos/builtin/packages/mgard/package.py @@ -29,6 +29,8 @@ class Mgard(CMakePackage, CudaPackage): version("2021-11-12", commit="3c05c80a45a51bb6cc5fb5fffe7b1b16787d3366") version("2020-10-01", commit="b67a0ac963587f190e106cc3c0b30773a9455f7a") + depends_on("cxx", type="build") # generated + variant( "serial", when="@2022-11-18:", @@ -47,6 +49,7 @@ class Mgard(CMakePackage, CudaPackage): depends_on("python", type=("build",), when="@2022-11-18:") depends_on("sed", type=("build",), when="@2022-11-18:") depends_on("zlib-api") + depends_on("zlib@1.2.9:", when="^[virtuals=zlib-api] zlib") # crc32_z depends_on("pkgconfig", type=("build",), when="@2022-11-18:") depends_on("zstd") depends_on("protobuf@3.4:", when="@2022-11-18:") diff --git a/var/spack/repos/builtin/packages/mgardx/package.py b/var/spack/repos/builtin/packages/mgardx/package.py index ecbe45b209b4e4..8a105d123d6b89 100644 --- a/var/spack/repos/builtin/packages/mgardx/package.py +++ b/var/spack/repos/builtin/packages/mgardx/package.py @@ -23,6 +23,9 @@ class Mgardx(CMakePackage): version("2022-01-27", commit="aabe9de1a331eaeb8eec41125dd45e30c1d03af4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("sz-cpp") depends_on("pkgconfig") depends_on("zstd") diff --git a/var/spack/repos/builtin/packages/mgcfd-op2/package.py b/var/spack/repos/builtin/packages/mgcfd-op2/package.py index 7eabe8ecfd44ab..bec689e0cff69a 100644 --- a/var/spack/repos/builtin/packages/mgcfd-op2/package.py +++ b/var/spack/repos/builtin/packages/mgcfd-op2/package.py @@ -23,6 +23,9 @@ class MgcfdOp2(MakefilePackage): version("v1.0.0-rc1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=False, description="Enable MPI support") depends_on("gmake@4.3:") diff --git a/var/spack/repos/builtin/packages/mgis/package.py b/var/spack/repos/builtin/packages/mgis/package.py index a4dcb003bb5090..3ed05d7db37501 100644 --- a/var/spack/repos/builtin/packages/mgis/package.py +++ b/var/spack/repos/builtin/packages/mgis/package.py @@ -48,6 +48,10 @@ class Mgis(CMakePackage): version("1.0.1", sha256="6102621455bc5d9b1591cd33e93b2e15a9572d2ce59ca6dfa30ba57ae1265c08") version("1.0", sha256="279c98da00fa6855edf29c2b8f8bad6e7732298dc62ef67d028d6bbeaac043b3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # variants variant("c", default=True, description="Enables c bindings") variant("fortran", default=True, description="Enables fortran bindings") diff --git a/var/spack/repos/builtin/packages/microbiomeutil/package.py b/var/spack/repos/builtin/packages/microbiomeutil/package.py index 5bc771a1fbee2f..67aa13b1938df7 100644 --- a/var/spack/repos/builtin/packages/microbiomeutil/package.py +++ b/var/spack/repos/builtin/packages/microbiomeutil/package.py @@ -14,6 +14,8 @@ class Microbiomeutil(MakefilePackage, SourceforgePackage): version("20110519", sha256="9233de80ea57bfb9e9371cbe7e3bfad2d4a51168fddaf60fa144c4046c80d823") + depends_on("c", type="build") # generated + depends_on("perl", type=("build", "run")) depends_on("blast-plus") depends_on("cdbfasta") diff --git a/var/spack/repos/builtin/packages/micromamba/package.py b/var/spack/repos/builtin/packages/micromamba/package.py index 0effbe21e579d6..a157413c036d4a 100644 --- a/var/spack/repos/builtin/packages/micromamba/package.py +++ b/var/spack/repos/builtin/packages/micromamba/package.py @@ -28,6 +28,8 @@ class Micromamba(CMakePackage): version("1.4.2", sha256="dce034908d02d991c5e9aadeb9d01f139d027ba199aaeb1d47d543e3f24895d1") version("1.1.0", sha256="e2392cd90221234ae8ea92b37f40829fbe36d80278056269aa1994a5efe7f530") + depends_on("cxx", type="build") # generated + variant( "linkage", default="dynamic", diff --git a/var/spack/repos/builtin/packages/microsocks/package.py b/var/spack/repos/builtin/packages/microsocks/package.py index cad5b337d0e39a..86c0c0de877b55 100644 --- a/var/spack/repos/builtin/packages/microsocks/package.py +++ b/var/spack/repos/builtin/packages/microsocks/package.py @@ -23,6 +23,8 @@ class Microsocks(MakefilePackage): version("develop", branch="master") version("1.0.2", sha256="5ece77c283e71f73b9530da46302fdb4f72a0ae139aa734c07fe532407a6211a") + depends_on("c", type="build") # generated + def flag_handler(self, name, flags): if name == "cflags": flags.append(self.compiler.c99_flag) diff --git a/var/spack/repos/builtin/packages/migraphx/0002-restrict-python-2.7-usage.patch b/var/spack/repos/builtin/packages/migraphx/0002-restrict-python-2.7-usage.patch deleted file mode 100644 index 8cb736a9b5c6cb..00000000000000 --- a/var/spack/repos/builtin/packages/migraphx/0002-restrict-python-2.7-usage.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/PythonModules.cmake b/cmake/PythonModules.cmake -index 96727cc..51a970c 100755 ---- a/cmake/PythonModules.cmake -+++ b/cmake/PythonModules.cmake -@@ -53,7 +53,7 @@ function(py_add_module NAME) - ) - - endfunction() --set(PYTHON_SEARCH_VERSIONS 2.7 3.5 3.6 3.7 3.8 3.9) -+set(PYTHON_SEARCH_VERSIONS 3.5 3.6 3.7 3.8 3.9) - - set(_PYTHON_VERSIONS) - foreach(PYTHON_VERSION ${PYTHON_SEARCH_VERSIONS}) diff --git a/var/spack/repos/builtin/packages/migraphx/package.py b/var/spack/repos/builtin/packages/migraphx/package.py index 55845e139b0e6f..cc18ab89e523ca 100644 --- a/var/spack/repos/builtin/packages/migraphx/package.py +++ b/var/spack/repos/builtin/packages/migraphx/package.py @@ -13,13 +13,14 @@ class Migraphx(CMakePackage): homepage = "https://github.com/ROCm/AMDMIGraphX" git = "https://github.com/ROCm/AMDMIGraphX.git" - url = "https://github.com/ROCm/AMDMIGraphX/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/AMDMIGraphX/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") libraries = ["libmigraphx"] license("MIT") + version("6.1.2", sha256="829f4a2bd9fe3dee130dfcca103ddc7691da18382f5b683aaca8f3ceceaef355") version("6.1.1", sha256="e14a62678e97356236b45921e24f28ff430d670fb70456c3e5ebfeeb22160811") version("6.1.0", sha256="2ba44146397624845c64f3898bb1b08837ad7a49f133329e58eb04c05d1f36ac") version("6.0.2", sha256="13f393f8fdf25275994dda07091a93eec867233cd2f99f9cb0df16fbabd53483") @@ -30,21 +31,18 @@ class Migraphx(CMakePackage): version("5.6.0", sha256="eaec90535d62002fd5bb264677ad4a7e30c55f18d2a287680d0495c7e60432b2") version("5.5.1", sha256="e71c4744f8ef6a1a99c179bbad94b8fe9bd7686eaa9397f376b70988c3341f0c") version("5.5.0", sha256="6084eb596b170f5e38f22b5fa37e66aa43a8cbc626712c9f03cde48c8fecfc8f") - version("5.4.3", sha256="f83e7bbe5d6d0951fb2cf0abf7e8b3530e9a5e45f7cec6d760da055d6905d568") - version("5.4.0", sha256="b6e7f4a1bf445ea0dae644ed5722369cde66fbee82a5917722f5d3f8c48b0a8c") - version("5.3.3", sha256="91d91902bbedd5e1951a231e8e5c9a328360b128c731912ed17c8059df38e02a") - version("5.3.0", sha256="d0b7283f42e03fb38b612868b8c94f46f27a6e0b019ae95fde5b9086582a1c69") with default_args(deprecated=True): - version("5.2.3", sha256="03f7d49f2efdd2c7a6afcaa5a5db5103edc15047b0ff5e146a775cfb36b36af2") - version("5.2.1", sha256="300d990e1b92ad27c3eba3e94ef34538730ca9556398b8b9f7d61d28bf66c57d") - version("5.2.0", sha256="33afcdf52c6e0e3a2f939fcf30e87f712b8e8ef3633a3dc03a19fea359704925") - version("5.1.3", sha256="686e068774500a46b6e6488370bbf5bd0bba6d19ecdb00636f951704d19c9ef2") - version("5.1.0", sha256="6398efaef18a74f2a475aa21bd34bc7c077332a430ee3f6ba4fde6e6a6aa9f89") + version("5.4.3", sha256="f83e7bbe5d6d0951fb2cf0abf7e8b3530e9a5e45f7cec6d760da055d6905d568") + version("5.4.0", sha256="b6e7f4a1bf445ea0dae644ed5722369cde66fbee82a5917722f5d3f8c48b0a8c") + version("5.3.3", sha256="91d91902bbedd5e1951a231e8e5c9a328360b128c731912ed17c8059df38e02a") + version("5.3.0", sha256="d0b7283f42e03fb38b612868b8c94f46f27a6e0b019ae95fde5b9086582a1c69") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated patch("0001-Adding-nlohmann-json-include-directory.patch", when="@:5.5") # Restrict Python 2.7 usage to fix the issue below # https://github.com/spack/spack/issues/24429 - patch("0002-restrict-python-2.7-usage.patch", when="@:5.1") patch("0003-restrict-python-2.7-usage.patch", when="@5.2.0:5.4") patch("0004-restrict-python2.7-usage-for-5.5.0.patch", when="@5.5.0") patch("0005-Adding-half-include-directory-path-migraphx.patch", when="@5.6.0:5.7") @@ -75,11 +73,6 @@ class Migraphx(CMakePackage): depends_on("abseil-cpp") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -94,6 +87,7 @@ class Migraphx(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") @@ -101,7 +95,7 @@ class Migraphx(CMakePackage): depends_on(f"rocblas@{ver}", when=f"@{ver}") depends_on(f"miopen-hip@{ver}", when=f"@{ver}") - for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1"]: + for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2"]: depends_on(f"rocmlir@{ver}", when=f"@{ver}") @property diff --git a/var/spack/repos/builtin/packages/migrate/package.py b/var/spack/repos/builtin/packages/migrate/package.py index 33b408fb49aee5..67c52b80fd177c 100644 --- a/var/spack/repos/builtin/packages/migrate/package.py +++ b/var/spack/repos/builtin/packages/migrate/package.py @@ -18,6 +18,9 @@ class Migrate(AutotoolsPackage): version("3.6.11", sha256="a9ba06a4e995a45b8d04037f5f2da23e1fe64a2f3565189bdd50c62c6fe01fb8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=False, description="Build MPI binaries") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/mii/package.py b/var/spack/repos/builtin/packages/mii/package.py index c0f24d8bb27dc6..45ef8531e09163 100644 --- a/var/spack/repos/builtin/packages/mii/package.py +++ b/var/spack/repos/builtin/packages/mii/package.py @@ -23,5 +23,7 @@ class Mii(MakefilePackage): version("1.1.2", sha256="bdf2cfe93b2b0989cd47f1447e8787d8339440295299c0a70d2646e2c02e29b8") version("1.0.4", sha256="3c4e7e6e8c21969da8dade05fecab35be61f2bb82d75eeaf19db8cc97f8058b5") + depends_on("c", type="build") # generated + def setup_build_environment(self, env): env.set("PREFIX", self.prefix) diff --git a/var/spack/repos/builtin/packages/millepede/package.py b/var/spack/repos/builtin/packages/millepede/package.py index 65edd50b89cebe..31d21b9463cf37 100644 --- a/var/spack/repos/builtin/packages/millepede/package.py +++ b/var/spack/repos/builtin/packages/millepede/package.py @@ -21,6 +21,10 @@ class Millepede(MakefilePackage): version("04-13-03", sha256="669a6e46a6f02ba3c78b2760e2ffb2c90d25b582ccd1a5c0770eef81c7bcbbe9") version("04-11-01", sha256="9869eb84d8d07cecfab15c396f3faa36aef10906e39f8641c48b58e0325b3205") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("zlib-api") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/mimalloc/package.py b/var/spack/repos/builtin/packages/mimalloc/package.py index 53eefe6b4de68a..9f1cae74f7d969 100644 --- a/var/spack/repos/builtin/packages/mimalloc/package.py +++ b/var/spack/repos/builtin/packages/mimalloc/package.py @@ -32,6 +32,9 @@ class Mimalloc(CMakePackage): version("1.7.7", sha256="0f6663be1e1764851bf9563fcf7a6b3330e23b933eb4737dd07e3289b87895fe") version("1.7.6", sha256="d74f86ada2329016068bc5a243268f1f555edd620b6a7d6ce89295e7d6cf18da") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.0:", type="build") libs_values = ("shared", "static", "object") diff --git a/var/spack/repos/builtin/packages/minc-toolkit/package.py b/var/spack/repos/builtin/packages/minc-toolkit/package.py index 9739b7f4c317c7..3241b7175a91cf 100644 --- a/var/spack/repos/builtin/packages/minc-toolkit/package.py +++ b/var/spack/repos/builtin/packages/minc-toolkit/package.py @@ -17,6 +17,9 @@ class MincToolkit(CMakePackage): version("1.9.18.2", commit="b98e4972bdac2b78e3c1e412d75c97e2e7c5f6b9", submodules=True) version("1.9.18.1", commit="38597c464b6e93eda680ab4a9e903366d53d7737", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant( "visualisation", default=False, description="Build visual tools (Display, register, etc.)" diff --git a/var/spack/repos/builtin/packages/mindthegap/package.py b/var/spack/repos/builtin/packages/mindthegap/package.py index af37a739045a59..2ff1e7a1d5d8ba 100644 --- a/var/spack/repos/builtin/packages/mindthegap/package.py +++ b/var/spack/repos/builtin/packages/mindthegap/package.py @@ -25,6 +25,9 @@ class Mindthegap(CMakePackage): "2.0.2", tag="v2.0.2", commit="8401af2a2bce9997396fbf0a04757ca7c887a1da", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type="build", when="@2.3.0") depends_on("cmake@2.6:", type="build", when="@2.0.2") diff --git a/var/spack/repos/builtin/packages/miniaero/package.py b/var/spack/repos/builtin/packages/miniaero/package.py index 138d0a1b077a70..724cf9561fe9c2 100644 --- a/var/spack/repos/builtin/packages/miniaero/package.py +++ b/var/spack/repos/builtin/packages/miniaero/package.py @@ -19,6 +19,8 @@ class Miniaero(MakefilePackage): version("2016-11-11", commit="f46d135479a5be19ec5d146ccaf0e581aeff4596") + depends_on("cxx", type="build") # generated + depends_on("kokkos-legacy") @property diff --git a/var/spack/repos/builtin/packages/miniamr/package.py b/var/spack/repos/builtin/packages/miniamr/package.py index 6c00246b8e6532..78bcce5084f297 100644 --- a/var/spack/repos/builtin/packages/miniamr/package.py +++ b/var/spack/repos/builtin/packages/miniamr/package.py @@ -31,6 +31,8 @@ class Miniamr(MakefilePackage): version("1.4.1", sha256="dd8e8d9fd0768cb4f2c5d7fe6989dfa6bb95a8461f04deaccdbb50b0dd51e97a") version("1.4.0", sha256="f0b959c90416288c5ab51ed86b6ba49bc8a319006c2a74a070c94133267edc6f") + depends_on("c", type="build") # generated + depends_on("mpi") @property diff --git a/var/spack/repos/builtin/packages/miniasm/package.py b/var/spack/repos/builtin/packages/miniasm/package.py index 2a908fc0b237cc..3aff8f964d7ab4 100644 --- a/var/spack/repos/builtin/packages/miniasm/package.py +++ b/var/spack/repos/builtin/packages/miniasm/package.py @@ -17,6 +17,8 @@ class Miniasm(MakefilePackage): version("2018-3-30", commit="55cf0189e2f7d5bda5868396cebe066eec0a9547") + depends_on("c", type="build") # generated + depends_on("zlib-api") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/minife/package.py b/var/spack/repos/builtin/packages/minife/package.py index beb587c7c7973a..25cec0c808891f 100644 --- a/var/spack/repos/builtin/packages/minife/package.py +++ b/var/spack/repos/builtin/packages/minife/package.py @@ -20,6 +20,9 @@ class Minife(MakefilePackage): version("2.1.0", sha256="59f4c56d73d2a758cba86939db2d36e12705282cb4174ce78223d984527f5d15") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "build", default="ref", diff --git a/var/spack/repos/builtin/packages/minigmg/package.py b/var/spack/repos/builtin/packages/minigmg/package.py index 4a5e4605f7a3bd..f29580c9c721d5 100644 --- a/var/spack/repos/builtin/packages/minigmg/package.py +++ b/var/spack/repos/builtin/packages/minigmg/package.py @@ -31,6 +31,8 @@ class Minigmg(Package): version("master", sha256="1c2d27496a881f655f5e849d6a7a132625e535739f82575991c511cc2cf899ac") + depends_on("c", type="build") # generated + variant( "vec", default="ompif", diff --git a/var/spack/repos/builtin/packages/minimap2/package.py b/var/spack/repos/builtin/packages/minimap2/package.py index 4a1e5aa6d4a599..142ef71fa46144 100644 --- a/var/spack/repos/builtin/packages/minimap2/package.py +++ b/var/spack/repos/builtin/packages/minimap2/package.py @@ -27,6 +27,8 @@ class Minimap2(PythonPackage): version("2.10", sha256="52b36f726ec00bfca4a2ffc23036d1a2b5f96f0aae5a92fd826be6680c481c20") version("2.2", sha256="7e8683aa74c4454a8cfe3821f405c4439082e24c152b4b834fdb56a117ecaed9") + depends_on("c", type="build") # generated + conflicts("target=aarch64:", when="@:2.10") depends_on("zlib-api", type="link") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/miniqmc/package.py b/var/spack/repos/builtin/packages/miniqmc/package.py index 7c827dc9d8fba0..1f2d287575f858 100644 --- a/var/spack/repos/builtin/packages/miniqmc/package.py +++ b/var/spack/repos/builtin/packages/miniqmc/package.py @@ -18,6 +18,8 @@ class Miniqmc(CMakePackage): version("0.3.0", sha256="3ba494ba1055df91e157cb426d1fbe4192aa3f04b019277d9e571d057664d5a9") version("0.2.0", sha256="cdf6fc6df6ccc1e034c62f937c040bfd6a4e65a0974b95f6884edd004ae36ee4") + depends_on("cxx", type="build") # generated + tags = ["proxy-app", "ecp-proxy-app"] depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/minisign/package.py b/var/spack/repos/builtin/packages/minisign/package.py index 666c31ec293a92..386c3ba62ac9e3 100644 --- a/var/spack/repos/builtin/packages/minisign/package.py +++ b/var/spack/repos/builtin/packages/minisign/package.py @@ -20,6 +20,8 @@ class Minisign(CMakePackage): version("0.8", sha256="130eb5246076bc7ec42f13495a601382e566bb6733430d40a68de5e43a7f1082") version("0.7", sha256="0c9f25ae647b6ba38cf7e6aea1da4e8fb20e1bc64ef0c679da737a38c8ad43ef") + depends_on("c", type="build") # generated + variant("static", default=True, description="builds a static version of the executable") depends_on("libsodium") diff --git a/var/spack/repos/builtin/packages/minismac2d/package.py b/var/spack/repos/builtin/packages/minismac2d/package.py index f5161f669b76ac..7aaf40a1d6162c 100644 --- a/var/spack/repos/builtin/packages/minismac2d/package.py +++ b/var/spack/repos/builtin/packages/minismac2d/package.py @@ -20,6 +20,8 @@ class Minismac2d(MakefilePackage): version("2.0", sha256="ec01b74c06a2c0386efbbb61b14305327342a08fb92bf52e76f60a2063adf065") + depends_on("fortran", type="build") # generated + depends_on("mpi") parallel = False diff --git a/var/spack/repos/builtin/packages/minitri/package.py b/var/spack/repos/builtin/packages/minitri/package.py index 0cf2ecc393b572..09ee7ea8aa2604 100644 --- a/var/spack/repos/builtin/packages/minitri/package.py +++ b/var/spack/repos/builtin/packages/minitri/package.py @@ -14,6 +14,8 @@ class Minitri(MakefilePackage): version("1.0", sha256="e340dbb04b7c182804ebf6f5a946a392f1c68b7f798885c091c3f0d8aaa844ce") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Build with MPI support") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/minivite/package.py b/var/spack/repos/builtin/packages/minivite/package.py index 44c77e051dc9e8..2ae2c1722aab85 100644 --- a/var/spack/repos/builtin/packages/minivite/package.py +++ b/var/spack/repos/builtin/packages/minivite/package.py @@ -22,6 +22,8 @@ class Minivite(MakefilePackage): version("1.0", tag="v1.0", commit="65ccaa8a4ec0b4bea516e2abdafbeb2f8a5f0c94") version("1.1", tag="v1.1", commit="23476d9d41eb8a17bf4108ac56852dacda89b253") + depends_on("cxx", type="build") # generated + variant("openmp", default=True, description="Build with OpenMP support") variant("opt", default=True, description="Optimization flags") diff --git a/var/spack/repos/builtin/packages/minixyce/package.py b/var/spack/repos/builtin/packages/minixyce/package.py index 71cb49a9795352..de20e532a08d88 100644 --- a/var/spack/repos/builtin/packages/minixyce/package.py +++ b/var/spack/repos/builtin/packages/minixyce/package.py @@ -19,6 +19,8 @@ class Minixyce(MakefilePackage): version("1.0", sha256="40e3b4ed5c65cb1d210e828460e99b755cac922a7e27e70c687d5bb6ed19a21b") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Build with MPI Support") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/minizip/package.py b/var/spack/repos/builtin/packages/minizip/package.py index d88a5e046b51d3..55aa8c2cea1925 100644 --- a/var/spack/repos/builtin/packages/minizip/package.py +++ b/var/spack/repos/builtin/packages/minizip/package.py @@ -16,6 +16,9 @@ class Minizip(AutotoolsPackage): version("1.2.11", sha256="c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + configure_directory = "contrib/minizip" depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/miopen-hip/package.py b/var/spack/repos/builtin/packages/miopen-hip/package.py index 11ec24aa3bdc20..b1ad016e9f61b7 100644 --- a/var/spack/repos/builtin/packages/miopen-hip/package.py +++ b/var/spack/repos/builtin/packages/miopen-hip/package.py @@ -14,13 +14,14 @@ class MiopenHip(CMakePackage): homepage = "https://github.com/ROCm/MIOpen" git = "https://github.com/ROCm/MIOpen.git" - url = "https://github.com/ROCm/MIOpen/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/MIOpen/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") libraries = ["libMIOpen"] license("MIT") + version("6.1.2", sha256="c8ff4af72264b2049bfe2685d581ea0f3e43319db7bd00dc347159bcf2731614") version("6.1.1", sha256="cf568ea16dd23b32fe89e250bb33ed4722fea8aa7f407cc66ff37c37aab037ce") version("6.1.0", sha256="3b373117eaeaf618aab9b39bb22e9950fd49bd0e264c8587b0c51fa348afe0d1") version("6.0.2", sha256="e6f671bd6af59f7470f42cda2ff9e77441d8f6c2105772bbf855d31da1085ffa") @@ -31,16 +32,13 @@ class MiopenHip(CMakePackage): version("5.6.0", sha256="d620ddab5b488bdf81242654fefa337c6b71dc410c2ff26d30a4ee86a8d22d11") version("5.5.1", sha256="2cd75071b8ee876c69a94f028b6c8a9346d6d2fde7d4b64e6d635f3b6c994262") version("5.5.0", sha256="791087242551669e546225e36123c21663f0dad14dbcfd6d0ce0e7bad0ab0de1") - version("5.4.3", sha256="37ffe2ed3d7942da8ea2f6bdb85c7a2f58e3ccd31767db158a322769d3604efd") - version("5.4.0", sha256="b4153791f9eeee4cbc5534bc6ad8b32c0947bcd38e08b77ebe144065a4fa5456") - version("5.3.3", sha256="7efc98215d23a2caaf212378c37e9a6484f54a4ed3e9660719286e4f287d3715") - version("5.3.0", sha256="c5819f593d71beeda2eb24b89182912240cc40f83b2b8f9de695a8e230aa4ea6") with default_args(deprecated=True): - version("5.2.3", sha256="28747847446955b3bab24f7fc65c1a6b863a12f12ad3a35e0312072482d38122") - version("5.2.1", sha256="0977a8876d41bbd2fa268341c93892f35878d7efc1711194ad87582f877ff500") - version("5.2.0", sha256="5fda69426e81df9f8fb6658e579176b9c4fcce3516fc8488d3cfd2b6f6f2b3b4") - version("5.1.3", sha256="510461f5c5bdbcf8dc889099d1e5960b9f84bd845a9fc9154588a9898c701c1d") - version("5.1.0", sha256="bb50201334d68addf153b84b88ab803027c4913d71bdbda6f5ccde3f672f6fdd") + version("5.4.3", sha256="37ffe2ed3d7942da8ea2f6bdb85c7a2f58e3ccd31767db158a322769d3604efd") + version("5.4.0", sha256="b4153791f9eeee4cbc5534bc6ad8b32c0947bcd38e08b77ebe144065a4fa5456") + version("5.3.3", sha256="7efc98215d23a2caaf212378c37e9a6484f54a4ed3e9660719286e4f287d3715") + version("5.3.0", sha256="c5819f593d71beeda2eb24b89182912240cc40f83b2b8f9de695a8e230aa4ea6") + + depends_on("cxx", type="build") # generated depends_on("cmake@3.5:", type="build") depends_on("pkgconfig", type="build") @@ -65,11 +63,6 @@ class MiopenHip(CMakePackage): ) for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -84,24 +77,36 @@ class MiopenHip(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocm-clang-ocl@{ver}", when=f"@{ver}") depends_on(f"rocblas@{ver}", when=f"@{ver}") - for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3"]: + for ver in ["5.3.0", "5.3.3"]: depends_on(f"mlirmiopen@{ver}", when=f"@{ver}") - for ver in ["5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1"]: + for ver in [ + "5.5.1", + "5.6.0", + "5.6.1", + "5.7.0", + "5.7.1", + "6.0.0", + "6.0.2", + "6.1.0", + "6.1.1", + "6.1.2", + ]: depends_on("nlohmann-json", type="link") depends_on(f"composable-kernel@{ver}", when=f"@{ver}") for ver in ["5.4.0", "5.4.3", "5.5.0"]: depends_on("nlohmann-json", type="link") depends_on(f"rocmlir@{ver}", when=f"@{ver}") - for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1"]: + for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2"]: depends_on("roctracer-dev@" + ver, when="@" + ver) - for ver in ["6.1.0", "6.1.1"]: + for ver in ["6.1.0", "6.1.1", "6.1.2"]: depends_on("googletest") def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/miopen-opencl/package.py b/var/spack/repos/builtin/packages/miopen-opencl/package.py index 34e4de3569f9ac..b9b5da9e53edab 100644 --- a/var/spack/repos/builtin/packages/miopen-opencl/package.py +++ b/var/spack/repos/builtin/packages/miopen-opencl/package.py @@ -24,16 +24,13 @@ class MiopenOpencl(CMakePackage): version("5.5.1", sha256="2cd75071b8ee876c69a94f028b6c8a9346d6d2fde7d4b64e6d635f3b6c994262") version("5.5.0", sha256="791087242551669e546225e36123c21663f0dad14dbcfd6d0ce0e7bad0ab0de1") - version("5.4.3", sha256="37ffe2ed3d7942da8ea2f6bdb85c7a2f58e3ccd31767db158a322769d3604efd") - version("5.4.0", sha256="b4153791f9eeee4cbc5534bc6ad8b32c0947bcd38e08b77ebe144065a4fa5456") - version("5.3.3", sha256="7efc98215d23a2caaf212378c37e9a6484f54a4ed3e9660719286e4f287d3715") - version("5.3.0", sha256="c5819f593d71beeda2eb24b89182912240cc40f83b2b8f9de695a8e230aa4ea6") with default_args(deprecated=True): - version("5.2.3", sha256="28747847446955b3bab24f7fc65c1a6b863a12f12ad3a35e0312072482d38122") - version("5.2.1", sha256="0977a8876d41bbd2fa268341c93892f35878d7efc1711194ad87582f877ff500") - version("5.2.0", sha256="5fda69426e81df9f8fb6658e579176b9c4fcce3516fc8488d3cfd2b6f6f2b3b4") - version("5.1.3", sha256="510461f5c5bdbcf8dc889099d1e5960b9f84bd845a9fc9154588a9898c701c1d") - version("5.1.0", sha256="bb50201334d68addf153b84b88ab803027c4913d71bdbda6f5ccde3f672f6fdd") + version("5.4.3", sha256="37ffe2ed3d7942da8ea2f6bdb85c7a2f58e3ccd31767db158a322769d3604efd") + version("5.4.0", sha256="b4153791f9eeee4cbc5534bc6ad8b32c0947bcd38e08b77ebe144065a4fa5456") + version("5.3.3", sha256="7efc98215d23a2caaf212378c37e9a6484f54a4ed3e9660719286e4f287d3715") + version("5.3.0", sha256="c5819f593d71beeda2eb24b89182912240cc40f83b2b8f9de695a8e230aa4ea6") + + depends_on("cxx", type="build") # generated depends_on("cmake@3.5:", type="build") depends_on("boost@1.67.0:1.73.0", type="link") @@ -47,23 +44,12 @@ class MiopenOpencl(CMakePackage): depends_on("sqlite", type="link") depends_on("half", type="build") - for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.3", - "5.3.0", - "5.3.3", - "5.4.0", - "5.4.3", - "5.5.0", - "5.5.1", - ]: + for ver in ["5.3.0", "5.3.3", "5.4.0", "5.4.3", "5.5.0", "5.5.1"]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on(f"rocm-opencl@{ver}", when=f"@{ver}") depends_on(f"miopengemm@{ver}", when=f"@{ver}") - for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3"]: + for ver in ["5.3.0", "5.3.3"]: depends_on(f"mlirmiopen@{ver}", when=f"@{ver}") for ver in ["5.4.0", "5.4.3", "5.5.0", "5.5.1"]: diff --git a/var/spack/repos/builtin/packages/miopen-tensile/package.py b/var/spack/repos/builtin/packages/miopen-tensile/package.py deleted file mode 100644 index c0e9d78ab7e267..00000000000000 --- a/var/spack/repos/builtin/packages/miopen-tensile/package.py +++ /dev/null @@ -1,91 +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) - -import re - -from spack.package import * - - -class MiopenTensile(CMakePackage): - """MIOpenTensile provides host-callable interfaces to Tensile library. - MIOpenTensile supports one programming model: HIP""" - - homepage = "https://github.com/ROCm/MIOpenTensile" - git = "https://github.com/ROCm/MIOpenTensile.git" - url = "https://github.com/ROCm/MIOpentensile/archive/rocm-5.0.0.tar.gz" - tags = ["rocm"] - - maintainers("srekolam") - libraries = ["libMIOpenTensile"] - - version("5.1.0", sha256="f1ae57bd4df8c154357b3f17caf0cfd5f80ba16ffff67bf6219a56f1eb5f897d") - - tensile_architecture = ("all", "gfx906", "gfx908", "gfx803", "gfx900") - - variant( - "tensile_architecture", - default="all", - description="AMD GPU architecture", - values=tensile_architecture, - multi=True, - ) - variant( - "build_type", - default="Release", - values=("Release", "Debug", "RelWithDebInfo"), - description="CMake build type", - ) - - patch("0002-Improve-compilation-by-using-local-tensile-path.patch", when="@4.5.0:") - - depends_on("cmake@3.5:", type="build") - depends_on("msgpack-c@3:") - depends_on("python@3.6:", type="build") - depends_on("py-virtualenv", type="build") - depends_on("perl-file-which", type="build") - depends_on("py-pyyaml", type="build") - depends_on("py-wheel", type="build") - depends_on("py-msgpack", type="build") - depends_on("py-pip", type="build") - - resource( - name="Tensile", - git="https://github.com/ROCm/Tensile.git", - commit="9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf", - ) - - for ver in ["5.1.0"]: - depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") - depends_on(f"hip@{ver}", when=f"@{ver}") - depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") - depends_on(f"rocminfo@{ver}", when=f"@{ver}") - - def setup_build_environment(self, env): - env.set("CXX", self.spec["hip"].hipcc) - - @classmethod - def determine_version(cls, lib): - match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) - if match: - return "{0}.{1}.{2}".format( - int(match.group(1)), int(match.group(2)), int(match.group(3)) - ) - return None - - def cmake_args(self): - arch = self.spec.variants["tensile_architecture"].value - tensile_path = join_path(self.stage.source_path, "Tensile") - args = [ - self.define("TENSILE_USE_MSGPACK", "ON"), - self.define("COMPILER", "hipcc"), - self.define("TENSILE_USE_LLVM", "OFF"), - self.define("CODE_OBJECT_VERSION", "V3"), - self.define("TENSILE_LIBRARY_FORMAT", "msgpack"), - self.define("MIOPEN_TENSILE_SRC", "asm_full"), - self.define("Tensile_TEST_LOCAL_PATH", tensile_path), - ] - args.append(self.define("Tensile_ARCHITECTURE", arch)) - - return args diff --git a/var/spack/repos/builtin/packages/miopengemm/package.py b/var/spack/repos/builtin/packages/miopengemm/package.py index 112d8a749587d4..89e7399cbc7005 100644 --- a/var/spack/repos/builtin/packages/miopengemm/package.py +++ b/var/spack/repos/builtin/packages/miopengemm/package.py @@ -30,32 +30,22 @@ def url_for_version(self, version): version("5.5.1", sha256="a997b560521641e7173613cf547ecde5d15ac6fac1786d392b0f133c91f99a40") version("5.5.0", sha256="ffd9775129564662b338952588057a088f7e9723b4a9a766b2dd96fdc0992c26") - version("5.4.3", sha256="5051051cab60ca0f6347a981da6c9dbeddf8b0de698d4e5409a0db0c622acafc") - version("5.4.0", sha256="a39faa8f4ab73e0cd6505a667bf10c07f93b9612af0711405c65043c4755129d") - version("5.3.3", sha256="4a9c92bebe59bf6e08bd48861b68b1801d9e8dc406250dc8637d36614a5884c8") - version("5.3.0", sha256="7e299daaca8e514bdb5b5efd9d9d3fc5cbfda68ad0117fe7cdbbf946b3f842cd") with default_args(deprecated=True): + version("5.4.3", sha256="5051051cab60ca0f6347a981da6c9dbeddf8b0de698d4e5409a0db0c622acafc") + version("5.4.0", sha256="a39faa8f4ab73e0cd6505a667bf10c07f93b9612af0711405c65043c4755129d") + version("5.3.3", sha256="4a9c92bebe59bf6e08bd48861b68b1801d9e8dc406250dc8637d36614a5884c8") + version("5.3.0", sha256="7e299daaca8e514bdb5b5efd9d9d3fc5cbfda68ad0117fe7cdbbf946b3f842cd") version("5.2.3", sha256="de9eecf39e6620be1511923e990101e64c63c2f56d8491c8bf9ffd1033709c00") version("5.2.1", sha256="9cea190ee0a6645b6d3ce3e136a8e7d07cf4044e98014ccc82b5e5f8b468b1c1") version("5.2.0", sha256="10458fb07b56a7fbe165595d588b7bf5f1300c57bda2f3133c3687c7bae39ea8") version("5.1.3", sha256="c70fc9e2a6d47356a612e24f5757bf16fdf26e671bd53a0975c1a0978da740b6") version("5.1.0", sha256="e2b20cdc20a745bcb7a554852e6b4bd39274c7dcc13fc19a81a282fb4dfa475f") + depends_on("cxx", type="build") # generated + depends_on("cmake@3:", type="build") - for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", - "5.3.0", - "5.3.3", - "5.4.0", - "5.4.3", - "5.5.0", - "5.5.1", - ]: + for ver in ["5.3.0", "5.3.3", "5.4.0", "5.4.3", "5.5.0", "5.5.1"]: depends_on(f"rocm-cmake@{ver}", type="build", when=f"@{ver}") depends_on(f"rocm-opencl@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/mira/package.py b/var/spack/repos/builtin/packages/mira/package.py index 7c0cd23874bcc0..005a7a4a16691e 100644 --- a/var/spack/repos/builtin/packages/mira/package.py +++ b/var/spack/repos/builtin/packages/mira/package.py @@ -18,6 +18,8 @@ class Mira(AutotoolsPackage): version("4.0.2", sha256="a32cb2b21e0968a5536446287c895fe9e03d11d78957554e355c1080b7b92a80") + depends_on("cxx", type="build") # generated + depends_on("boost@1.46:") # TODO: replace this with an explicit list of components of Boost, diff --git a/var/spack/repos/builtin/packages/mitos/package.py b/var/spack/repos/builtin/packages/mitos/package.py index b9c12d9e5ff14d..8090d9ec8d1214 100644 --- a/var/spack/repos/builtin/packages/mitos/package.py +++ b/var/spack/repos/builtin/packages/mitos/package.py @@ -19,6 +19,8 @@ class Mitos(CMakePackage): version("0.9.2", commit="8cb143a2e8c00353ff531a781a9ca0992b0aaa3d") version("0.9.1", sha256="67abe227d2f9b4d2f235031b526d3ceb2c4792ad98772b1b1d5af0d227a795fc") + depends_on("cxx", type="build") # generated + depends_on("dyninst@8.2.1:") depends_on("hwloc") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/mivisionx/0002-add-half-include-path-for-tests-6.1.0.patch b/var/spack/repos/builtin/packages/mivisionx/0002-add-half-include-path-for-tests-6.1.0.patch new file mode 100644 index 00000000000000..80bbdff605c0ec --- /dev/null +++ b/var/spack/repos/builtin/packages/mivisionx/0002-add-half-include-path-for-tests-6.1.0.patch @@ -0,0 +1,86 @@ +From 19f084566394c6556cacf1b812a9a64e1fe0610e Mon Sep 17 00:00:00 2001 +From: Renjith Ravindran +Date: Wed, 12 Jun 2024 23:33:53 +0000 +Subject: [PATCH] add half include path for tests in 6.1 + +--- + model_compiler/python/nnir_to_clib.py | 4 ++++ + samples/mv_objdetect/CMakeLists.txt | 6 +++++- + utilities/rocAL/rocAL_unittests/CMakeLists.txt | 3 ++- + utilities/rocAL/rocAL_video_unittests/CMakeLists.txt | 3 ++- + 4 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/model_compiler/python/nnir_to_clib.py b/model_compiler/python/nnir_to_clib.py +index 623bf43..544ed31 100644 +--- a/model_compiler/python/nnir_to_clib.py ++++ b/model_compiler/python/nnir_to_clib.py +@@ -160,6 +160,10 @@ if (OPENVX_BACKEND_OPENCL_FOUND) + include_directories (${OpenCL_INCLUDE_DIRS} ${OpenCL_INCLUDE_DIRS}/Headers ) + endif() + ++find_path(HALF_INCLUDE_DIR half.hpp) ++message(STATUS "HALF_INCLUDE_DIR: ${HALF_INCLUDE_DIR}") ++include_directories(${HALF_INCLUDE_DIR}) ++ + find_package(OpenCV QUIET) + include_directories (${ROCM_PATH}/include ${ROCM_PATH}/include/mivisionx) + include_directories (${PROJECT_SOURCE_DIR}/lib) +diff --git a/samples/mv_objdetect/CMakeLists.txt b/samples/mv_objdetect/CMakeLists.txt +index 54d527b..c334ae4 100644 +--- a/samples/mv_objdetect/CMakeLists.txt ++++ b/samples/mv_objdetect/CMakeLists.txt +@@ -29,6 +29,7 @@ project (mvobjdetect) + set (CMAKE_CXX_STANDARD 14) + + list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) ++find_path(HALF_INCLUDE_DIR half.hpp) + find_package(OpenCV QUIET) + + set(ROCM_PATH /opt/rocm CACHE PATH "ROCm Installation Path") +@@ -50,7 +51,10 @@ if (OPENVX_BACKEND_OPENCL_FOUND) + include_directories (${OpenCL_INCLUDE_DIRS} ${OpenCL_INCLUDE_DIRS}/Headers ) + endif() + +-include_directories (${ROCM_PATH}/include ${ROCM_PATH}/include/mivisionx ${PROJECT_SOURCE_DIR} ) ++find_path(HALF_INCLUDE_DIR half.hpp) ++message(STATUS "HALF_INCLUDE_DIR: ${HALF_INCLUDE_DIR}") ++ ++include_directories (${ROCM_PATH}/include/mivisionx ${PROJECT_SOURCE_DIR} ${HALF_INCLUDE_DIR} ) + link_directories (${ROCM_PATH}/lib ${PROJECT_SOURCE_DIR}/lib) + option (USE_POSTPROC "Use postprocessing module implementation" ON) + set(SOURCES mvobjdetect.cpp mvdeploy_api.cpp visualize.cpp) +diff --git a/utilities/rocAL/rocAL_unittests/CMakeLists.txt b/utilities/rocAL/rocAL_unittests/CMakeLists.txt +index ba90dce..f3f2df9 100644 +--- a/utilities/rocAL/rocAL_unittests/CMakeLists.txt ++++ b/utilities/rocAL/rocAL_unittests/CMakeLists.txt +@@ -43,11 +43,12 @@ include(GNUInstallDirs) + + list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake) + ++find_path(HALF_INCLUDE_DIR half.hpp) + find_package(OpenCV QUIET) + find_package(AMDRPP QUIET) + + include_directories(${ROCM_PATH}/${CMAKE_INSTALL_INCLUDEDIR}) +-include_directories(${ROCM_PATH}/${CMAKE_INSTALL_INCLUDEDIR}/mivisionx/rocal) ++include_directories(${ROCM_PATH}/${CMAKE_INSTALL_INCLUDEDIR}/mivisionx/rocal ${HALF_INCLUDE_DIR}) + link_directories(${ROCM_PATH}/lib/) + file(GLOB My_Source_Files ./*.cpp) + add_executable(${PROJECT_NAME} ${My_Source_Files}) +diff --git a/utilities/rocAL/rocAL_video_unittests/CMakeLists.txt b/utilities/rocAL/rocAL_video_unittests/CMakeLists.txt +index 8f4c0fa..dd23135 100644 +--- a/utilities/rocAL/rocAL_video_unittests/CMakeLists.txt ++++ b/utilities/rocAL/rocAL_video_unittests/CMakeLists.txt +@@ -48,7 +48,8 @@ find_package(OpenCV QUIET) + find_package(AMDRPP QUIET) + + include_directories(${ROCM_PATH}/${CMAKE_INSTALL_INCLUDEDIR}) +-include_directories(${ROCM_PATH}/${CMAKE_INSTALL_INCLUDEDIR}/mivisionx/rocal) ++find_path(HALF_INCLUDE_DIR half.hpp) ++include_directories(${ROCM_PATH}/${CMAKE_INSTALL_INCLUDEDIR}/mivisionx/rocal ${HALF_INCLUDE_DIR}) + link_directories(${ROCM_PATH}/lib/) + file(GLOB My_Source_Files ./*.cpp) + add_executable(${PROJECT_NAME} ${My_Source_Files}) +-- +2.27.0 + diff --git a/var/spack/repos/builtin/packages/mivisionx/package.py b/var/spack/repos/builtin/packages/mivisionx/package.py index 4b56fc95862c2b..e4e2daae199dce 100644 --- a/var/spack/repos/builtin/packages/mivisionx/package.py +++ b/var/spack/repos/builtin/packages/mivisionx/package.py @@ -13,7 +13,7 @@ class Mivisionx(CMakePackage): homepage = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX" git = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX.git" - url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-6.1.2.tar.gz" maintainers("srekolam", "renjithravindrankannath") tags = ["rocm"] @@ -26,6 +26,7 @@ def url_for_version(self, version): return url.format(version) license("MIT") + version("6.1.2", sha256="0afa664931f566b7f5a3abd474dd641e56077529a2a5d7c788f5e6700e957ed6") version("6.1.1", sha256="3483b5167c47047cca78581cc6c9685138f9b5b25edb11618b720814788fc2a0") version("6.1.0", sha256="f18a72c4d12c36ab50f9c3a5c22fc3641feb11c99fed513540a16a65cd149fd1") version("6.0.2", sha256="e39521b3109aa0900f652ae95a4421df0fa29fd57e816268cc6602d243c50779") @@ -36,16 +37,13 @@ def url_for_version(self, version): version("5.6.0", sha256="34c184e202b1a6da2398b66e33c384d5bafd8f8291089c18539715c5cb73eb1f") version("5.5.1", sha256="e8209f87a57c4222003a936240e7152bbfa496862113358f29d4c3e80d4cdf56") version("5.5.0", sha256="af266550ecccad80f08954f23e47e8264eb338b0928a5314bd6efca349fc5a14") - version("5.4.3", sha256="4da82974962a70c326ce2427c664517b1efdff436efe222e6bc28817c222a082") - version("5.4.0", sha256="caa28a30972704ddbf1a87cefdc0b0a35381d369961c43973d473a1573bd35cc") - version("5.3.3", sha256="378fafcb327e17e0e11fe1d1029d1740d84aaef0fd59614ed7376499b3d716f6") - version("5.3.0", sha256="58e68f1c78bbe5694e42bf61be177f9e94bfd3e0c113ec6284493c8684836c58") with default_args(deprecated=True): - version("5.2.3", sha256="bbcdb5808d2bc880486dffa89f4111fb4b1d6dfe9b11fcd46fbd17939d057cf0") - version("5.2.1", sha256="201996b31f59a8d5e4cc3f17d17a5b81158a34d2a1c833b65ccc3dceb21d176f") - version("5.2.0", sha256="fee620a1edd3bce18b2cec9ef26ec2afe0a85d6da8a37ed713ab0d1342382503") - version("5.1.3", sha256="62591d5caedc13832c3ccef629a88d9c2a43c884daad1124ddcb9c5f7d5470e9") - version("5.1.0", sha256="e082415cc2fb859c53a6d6e5d72ca4529f6b4d56a4abe274dc374faaa5910513") + version("5.4.3", sha256="4da82974962a70c326ce2427c664517b1efdff436efe222e6bc28817c222a082") + version("5.4.0", sha256="caa28a30972704ddbf1a87cefdc0b0a35381d369961c43973d473a1573bd35cc") + version("5.3.3", sha256="378fafcb327e17e0e11fe1d1029d1740d84aaef0fd59614ed7376499b3d716f6") + version("5.3.0", sha256="58e68f1c78bbe5694e42bf61be177f9e94bfd3e0c113ec6284493c8684836c58") + + depends_on("cxx", type="build") # generated # Adding 2 variants OPENCL ,HIP which HIP as default. earlier to 5.0.0,OPENCL # was the default but has change dto HIP from 5.0.0 onwards. @@ -58,7 +56,8 @@ def url_for_version(self, version): patch("0001-add-half-include-path.patch", when="@5.5") patch("0001-add-half-include-path-5.6.patch", when="@5.6:") - patch("0002-add-half-include-path-for-tests.patch", when="@5.5: +add_tests") + patch("0002-add-half-include-path-for-tests.patch", when="@5.5:6.0 +add_tests") + patch("0002-add-half-include-path-for-tests-6.1.0.patch", when="@6.1.0: +add_tests") patch( "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/commit/da24882438b91a0ae1feee23206b75c1a1256887.patch?full_index=1", @@ -70,25 +69,6 @@ def url_for_version(self, version): conflicts("+add_tests", when="@:5.4") def patch(self): - if self.spec.satisfies("@:5.1 + hip"): - filter_file( - r"${ROCM_PATH}/miopen", - self.spec["miopen-hip"].prefix.miopen, - "amd_openvx_extensions/CMakeLists.txt", - string=True, - ) - filter_file( - r"${ROCM_PATH}/bin", - self.spec["hip"].prefix.bin, - "amd_openvx/openvx/hipvx/CMakeLists.txt", - string=True, - ) - filter_file( - r"${ROCM_PATH}/bin", - self.spec["hip"].prefix.bin, - "amd_openvx_extensions/amd_nn/nn_hip/CMakeLists.txt", - string=True, - ) if self.spec.satisfies("@5.1.3: + hip"): filter_file( r"${ROCM_PATH}/include/miopen/config.h", @@ -123,41 +103,56 @@ def patch(self): "rocAL/rocAL/rocAL_hip/CMakeLists.txt", string=True, ) - if self.spec.satisfies("+add_tests"): + if self.spec.satisfies("@5.5.0:6.0.0 +add_tests"): filter_file( r"${ROCM_PATH}/include/mivisionx", "{0}/include/mivisionx".format(self.spec.prefix), - "tests/amd_migraphx_tests/mnist/CMakeLists.txt", + "samples/inference/mv_objdetect/CMakeLists.txt", string=True, ) filter_file( r"${ROCM_PATH}/lib", "{0}/lib".format(self.spec.prefix), - "tests/amd_migraphx_tests/mnist/CMakeLists.txt", + "samples/inference/mv_objdetect/CMakeLists.txt", string=True, ) + if self.spec.satisfies("@6.1.0: +add_tests"): filter_file( r"${ROCM_PATH}/include/mivisionx", "{0}/include/mivisionx".format(self.spec.prefix), - "tests/amd_migraphx_tests/resnet50/CMakeLists.txt", + "samples/mv_objdetect/CMakeLists.txt", string=True, ) filter_file( r"${ROCM_PATH}/lib", "{0}/lib".format(self.spec.prefix), - "tests/amd_migraphx_tests/resnet50/CMakeLists.txt", + "samples/mv_objdetect/CMakeLists.txt", string=True, ) + + if self.spec.satisfies("+add_tests"): filter_file( r"${ROCM_PATH}/include/mivisionx", "{0}/include/mivisionx".format(self.spec.prefix), - "samples/inference/mv_objdetect/CMakeLists.txt", + "tests/amd_migraphx_tests/mnist/CMakeLists.txt", string=True, ) filter_file( r"${ROCM_PATH}/lib", "{0}/lib".format(self.spec.prefix), - "samples/inference/mv_objdetect/CMakeLists.txt", + "tests/amd_migraphx_tests/mnist/CMakeLists.txt", + string=True, + ) + filter_file( + r"${ROCM_PATH}/include/mivisionx", + "{0}/include/mivisionx".format(self.spec.prefix), + "tests/amd_migraphx_tests/resnet50/CMakeLists.txt", + string=True, + ) + filter_file( + r"${ROCM_PATH}/lib", + "{0}/lib".format(self.spec.prefix), + "tests/amd_migraphx_tests/resnet50/CMakeLists.txt", string=True, ) filter_file( @@ -201,13 +196,6 @@ def patch(self): depends_on("ffmpeg@:4", type="build", when="@:5.3") depends_on("ffmpeg@4.4", type="build", when="@5.4:") depends_on("protobuf@:3", type="build") - depends_on( - "opencv@:3.4" - "+calib3d+features2d+highgui+imgcodecs+imgproc" - "+video+videoio+flann+photo+objdetect", - type="build", - when="@:5.2", - ) depends_on( "opencv@4.5:" "+calib3d+features2d+highgui+imgcodecs+imgproc" @@ -217,7 +205,7 @@ def patch(self): ) depends_on("openssl") depends_on("libjpeg-turbo@2.0.6+partial_decoder", type="build") - depends_on("rpp", when="@5.5:") + depends_on("rpp@1.2.0", when="@5.5:5.6") depends_on("lmdb", when="@5.5:") depends_on("py-setuptools", when="@5.6:") depends_on("py-wheel", when="@5.6:") @@ -233,32 +221,14 @@ def patch(self): # HIP as backend did not build for older releases 5.1.0 where # OPENCL was default backend. conflicts("+opencl+hip") - conflicts("+hip", when="@:5.1.0") with when("+opencl"): - for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", - "5.3.0", - "5.3.3", - "5.4.0", - "5.4.3", - "5.5.0", - "5.5.1", - ]: + for ver in ["5.3.0", "5.3.3", "5.4.0", "5.4.3", "5.5.0", "5.5.1"]: depends_on(f"rocm-opencl@{ver}", when=f"@{ver}") depends_on(f"miopengemm@{ver}", when=f"@{ver}") depends_on(f"miopen-opencl@{ver}", when=f"@{ver}") with when("+hip"): for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -273,6 +243,7 @@ def patch(self): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"miopen-hip@{ver}", when=f"@{ver}") for ver in [ @@ -289,6 +260,7 @@ def patch(self): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"migraphx@{ver}", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") @@ -304,12 +276,17 @@ def patch(self): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") depends_on("python@3.5:", type="build") + for ver in ["5.7.0", "5.7.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2"]: + depends_on(f"rpp@{ver}", when=f"@{ver}") def setup_run_environment(self, env): env.set("MIVISIONX_MODEL_COMPILER_PATH", self.spec.prefix.libexec.mivisionx.model_compiler) + if self.spec.satisfies("@6.1:"): + env.prepend_path("LD_LIBRARY_PATH", self.spec["hsa-rocr-dev"].prefix.lib) def flag_handler(self, name, flags): spec = self.spec diff --git a/var/spack/repos/builtin/packages/mkfontscale/package.py b/var/spack/repos/builtin/packages/mkfontscale/package.py index 24d04caba8f05d..c322dc028cff52 100644 --- a/var/spack/repos/builtin/packages/mkfontscale/package.py +++ b/var/spack/repos/builtin/packages/mkfontscale/package.py @@ -20,6 +20,8 @@ class Mkfontscale(AutotoolsPackage, XorgPackage): version("1.1.3", sha256="449b8ccd44133e260eafab55f18937c09fd4846b87f288f1c9611e4810e13bb2") version("1.1.2", sha256="8bba59e60fbc4cb082092cf6b67e810b47b4fe64fbc77dbea1d7e7d55312b2e4") + depends_on("c", type="build") # generated + depends_on("libfontenc") depends_on("freetype build_system=autotools") diff --git a/var/spack/repos/builtin/packages/mlhka/package.py b/var/spack/repos/builtin/packages/mlhka/package.py index 807e7c3bb2b7b9..02b9bd521def71 100644 --- a/var/spack/repos/builtin/packages/mlhka/package.py +++ b/var/spack/repos/builtin/packages/mlhka/package.py @@ -17,6 +17,8 @@ class Mlhka(Package): version("2.1", commit="e735ddd39073af58da21b00b27dea203736e5467") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): cxx = which("c++") cxx("MLHKA_version{0}.cpp".format(self.version), "-o", "MLHKA") diff --git a/var/spack/repos/builtin/packages/mlirmiopen/package.py b/var/spack/repos/builtin/packages/mlirmiopen/package.py index 4c4eb8c7c52f0d..d2766e8a939123 100644 --- a/var/spack/repos/builtin/packages/mlirmiopen/package.py +++ b/var/spack/repos/builtin/packages/mlirmiopen/package.py @@ -16,15 +16,10 @@ class Mlirmiopen(CMakePackage): tags = ["rocm"] maintainers("srekolam") - version("5.4.0", sha256="3823f455ee392118c3281e27d45fa0e5381f3c4070eb4e06ba13bc6b34a90a60") - version("5.3.3", sha256="e9aa407df775d00fdb9404689f69ac755575188f8b25c6bd0fa9599928c5c57f") - version("5.3.0", sha256="e8471a13cb39d33adff34730d3162adaa5d20f9544d61a6a94b39b9b5762ad6d") with default_args(deprecated=True): - version("5.2.3", sha256="29e1c352d203622fa083432d5d368caccb53ba141119fbb7e8d5247d99854625") - version("5.2.1", sha256="9e305e05474076d84c78b7a796bca20b64c70ee3e2caa066c625216c5ee21d95") - version("5.2.0", sha256="546121f203e7787d3501fbaf6673bdbeefbb39e0446b02c480454338362a1f01") - version("5.1.3", sha256="936f92707ffe9a1973728503db6365bb7f14e5aeccfaef9f0924e54d25080c69") - version("5.1.0", sha256="56dab11877295784cbb754c10bf2bd6535a3dfea31ec0b97ffe77b94115109dc") + version("5.4.0", sha256="3823f455ee392118c3281e27d45fa0e5381f3c4070eb4e06ba13bc6b34a90a60") + version("5.3.3", sha256="e9aa407df775d00fdb9404689f69ac755575188f8b25c6bd0fa9599928c5c57f") + version("5.3.0", sha256="e8471a13cb39d33adff34730d3162adaa5d20f9544d61a6a94b39b9b5762ad6d") variant( "build_type", @@ -51,7 +46,7 @@ def patch(self): depends_on("half") depends_on("pkgconfig", type="build") - for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3", "5.4.0"]: + for ver in ["5.3.0", "5.3.3", "5.4.0"]: depends_on("hip@" + ver, when="@" + ver) depends_on("llvm-amdgpu@" + ver, when="@" + ver) depends_on("hsa-rocr-dev@" + ver, when="@" + ver) diff --git a/var/spack/repos/builtin/packages/mlocate/package.py b/var/spack/repos/builtin/packages/mlocate/package.py index b520e3b87e97a1..0c9d6cca64fbf1 100644 --- a/var/spack/repos/builtin/packages/mlocate/package.py +++ b/var/spack/repos/builtin/packages/mlocate/package.py @@ -20,3 +20,5 @@ class Mlocate(AutotoolsPackage): version("0.26", sha256="3063df79fe198fb9618e180c54baf3105b33d88fe602ff2d8570aaf944f1263e") version("0.25", sha256="ab95c111f9dba35b5690896180dd0a7639dbf07d70b862fcb0731264d9273951") version("0.24", sha256="5787bee846735e21ff57df9e345d5db73d684d2cea9efc0f387462ccfbc6796f") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/mlpack/package.py b/var/spack/repos/builtin/packages/mlpack/package.py index d9d6b9f8045126..f6432688957c41 100644 --- a/var/spack/repos/builtin/packages/mlpack/package.py +++ b/var/spack/repos/builtin/packages/mlpack/package.py @@ -24,6 +24,8 @@ class Mlpack(CMakePackage): version("4.1.0", sha256="e0c760baf15fd0af5601010b7cbc536e469115e9dd45f96712caa3b651b1852a") version("4.0.1", sha256="4c746936ed9da9f16744240ed7b9f2815d3abb90c904071a1d1a628a9bbfb3a5") + depends_on("cxx", type="build") # generated + # TODO: Go bindings are not supported due to the absence of gonum in spack # variant("go", default=False, description="Build Go bindings") variant("julia", default=False, description="Build Julia bindings") diff --git a/var/spack/repos/builtin/packages/mmg/package.py b/var/spack/repos/builtin/packages/mmg/package.py index fe6d05f89b7b48..eb14be0c7761bf 100644 --- a/var/spack/repos/builtin/packages/mmg/package.py +++ b/var/spack/repos/builtin/packages/mmg/package.py @@ -40,6 +40,10 @@ class Mmg(CMakePackage): version("5.4.0", sha256="2b5cc505018859856766be901797ff5d4789f89377038a0211176a5571039750") version("5.3.13", sha256="d9a5925b69b0433f942ab2c8e55659d9ccea758743354b43d54fdf88a6c3c191") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries") variant("scotch", default=True, description="Enable SCOTCH library support") variant("doc", default=False, description="Build documentation") diff --git a/var/spack/repos/builtin/packages/mmseqs2/package.py b/var/spack/repos/builtin/packages/mmseqs2/package.py index f37d2cbac4cfa7..5855899a78ac37 100644 --- a/var/spack/repos/builtin/packages/mmseqs2/package.py +++ b/var/spack/repos/builtin/packages/mmseqs2/package.py @@ -20,6 +20,9 @@ class Mmseqs2(CMakePackage): version("14-7e284", sha256="a15fd59b121073fdcc8b259fc703e5ce4c671d2c56eb5c027749f4bd4c28dfe1") version("13-45111", sha256="6444bb682ebf5ced54b2eda7a301fa3e933c2a28b7661f96ef5bdab1d53695a2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("openmp", default=False, description="build with OpenMP support") variant("mpi", default=False, description="build with MPI support") diff --git a/var/spack/repos/builtin/packages/mmv/package.py b/var/spack/repos/builtin/packages/mmv/package.py index dc7a2550178eb0..991503504a42ac 100644 --- a/var/spack/repos/builtin/packages/mmv/package.py +++ b/var/spack/repos/builtin/packages/mmv/package.py @@ -20,6 +20,8 @@ class Mmv(MakefilePackage): version("1.01b", sha256="0399c027ea1e51fd607266c1e33573866d4db89f64a74be8b4a1d2d1ff1fdeef") + depends_on("c", type="build") # generated + patch("better-diagnostics-for-directories-584850.diff") patch("format-security.diff") patch("man-page-examples.diff") diff --git a/var/spack/repos/builtin/packages/moab/package.py b/var/spack/repos/builtin/packages/moab/package.py index a0ed8f8b1d365b..6ad76aba0728ea 100644 --- a/var/spack/repos/builtin/packages/moab/package.py +++ b/var/spack/repos/builtin/packages/moab/package.py @@ -41,6 +41,10 @@ class Moab(AutotoolsPackage): version("4.9.0", sha256="267a7c05da847e4ea856db2c649a5484fb7bdc132ab56721ca50ee69a7389f4d") version("4.8.2", sha256="b105cff42930058dc14eabb9a25e979df7289b175732fe319d2494e83e09e968") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI parallelism support") variant("hdf5", default=True, description="Enable the HDF5 (default I/O) format") variant("netcdf", default=False, description="Enable the ExodusII reader/writer support") diff --git a/var/spack/repos/builtin/packages/mochi-margo/package.py b/var/spack/repos/builtin/packages/mochi-margo/package.py index 8f1cd63b93ea70..57813c1b9ec741 100644 --- a/var/spack/repos/builtin/packages/mochi-margo/package.py +++ b/var/spack/repos/builtin/packages/mochi-margo/package.py @@ -58,6 +58,8 @@ class MochiMargo(AutotoolsPackage): version("0.4.3", sha256="61a634d6983bee2ffa06e1e2da4c541cb8f56ddd9dd9f8e04e8044fb38657475") version("0.4.2", sha256="91085e28f50e373b9616e1ae5c3c8d40a19a7d3776259592d8f361766890bcaa") + depends_on("c", type="build") # generated + depends_on("json-c", when="@0.9:") depends_on("autoconf@2.65:", type=("build")) depends_on("m4", type=("build")) diff --git a/var/spack/repos/builtin/packages/mochi-thallium/package.py b/var/spack/repos/builtin/packages/mochi-thallium/package.py index 905292e1500728..7bdcfc7665296b 100644 --- a/var/spack/repos/builtin/packages/mochi-thallium/package.py +++ b/var/spack/repos/builtin/packages/mochi-thallium/package.py @@ -47,6 +47,8 @@ class MochiThallium(CMakePackage): version("0.3.1", sha256="61403b1ba5f4d205408e6a7e04c785df6dea02f59fe9fa1742db05aa752cc8a0") version("0.3", sha256="4f9f78e52c1725f6ea5f933d7548bde36729dd9eff08f58fe7fe40682bc5f748") + depends_on("cxx", type="build") # generated + variant( "cereal", default=True, diff --git a/var/spack/repos/builtin/packages/model-traits/package.py b/var/spack/repos/builtin/packages/model-traits/package.py index c49ab28bff5744..2215190dac04f9 100644 --- a/var/spack/repos/builtin/packages/model-traits/package.py +++ b/var/spack/repos/builtin/packages/model-traits/package.py @@ -23,6 +23,8 @@ class ModelTraits(CMakePackage): version("0.1.0", sha256="ff7c1c5be6977f1d3dc592e8b6c5bff5a8b7ea80d0f059d85c02300bdb8faf2c") version("main", branch="main") + depends_on("cxx", type="build") # generated + variant("yaml", default=True, description="build the Yaml IO backend") variant("simmetrix", default=False, description="build the Simmetrix backend") variant("pumi", default=False, description="build the pumi examples") diff --git a/var/spack/repos/builtin/packages/modeltest-ng/package.py b/var/spack/repos/builtin/packages/modeltest-ng/package.py index 3dd44a14968cc7..023fd759d02680 100644 --- a/var/spack/repos/builtin/packages/modeltest-ng/package.py +++ b/var/spack/repos/builtin/packages/modeltest-ng/package.py @@ -20,6 +20,9 @@ class ModeltestNg(CMakePackage): version("20220721", commit="1066356b984100897b8bd38ac771c5c950984c01", submodules=True) version("0.1.7", commit="cc028888f1d4222aaa53b99c6b02cd934a279001", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=False, description="Enable MPI") depends_on("glib") diff --git a/var/spack/repos/builtin/packages/modern-wheel/package.py b/var/spack/repos/builtin/packages/modern-wheel/package.py index 692b1e49ee8423..a6c4fae52b3d6f 100644 --- a/var/spack/repos/builtin/packages/modern-wheel/package.py +++ b/var/spack/repos/builtin/packages/modern-wheel/package.py @@ -23,6 +23,8 @@ class ModernWheel(CMakePackage): version("1.1", sha256="d8ba4891257b96108e9b9406a556f8ced3b71ce85c3fcdca6bfd9cc37bf010a3") version("1.0", sha256="b90a1e29af0b67dfa4c07f9c19b2d04fa78cd878b29a9c42bc766dabd6cb1b90") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries") # Test implementation files cause some issues on darwin, # needs to be investigated. diff --git a/var/spack/repos/builtin/packages/mokutil/package.py b/var/spack/repos/builtin/packages/mokutil/package.py index 8ca6f5cede2224..06048ee28595ce 100644 --- a/var/spack/repos/builtin/packages/mokutil/package.py +++ b/var/spack/repos/builtin/packages/mokutil/package.py @@ -18,6 +18,8 @@ class Mokutil(AutotoolsPackage): version("0.3.0", sha256="70ccbffbbba0427dfd6b57902d667bf73d6223296c897ce3441fc2221352a773") version("0.2.0", sha256="a51ef146b8f2169c4e4a0d2f86cae5f4d66cc520989fc2f70a7a620f9587a20b") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/mold/package.py b/var/spack/repos/builtin/packages/mold/package.py index 75457968978d68..fc6397ace6ab7f 100644 --- a/var/spack/repos/builtin/packages/mold/package.py +++ b/var/spack/repos/builtin/packages/mold/package.py @@ -16,6 +16,8 @@ class Mold(CMakePackage): license("MIT") + version("2.32.1", sha256="f3c9a527d884c635834fe7d79b3de959b00783bf9446280ea274d996f0335825") + version("2.32.0", sha256="4b7e4146ea0f52be9adae8b417399f3676a041e65b55e3f25f088120d30a320b") version("2.31.0", sha256="3dc3af83a5d22a4b29971bfad17261851d426961c665480e2ca294e5c74aa1e5") version("2.30.0", sha256="6e5178ccafe828fdb4ba0dd841d083ff6004d3cb41e56485143eb64c716345fd") version("2.4.1", sha256="c9853d007d6a1b4f3e36b7314346751f4cc91bc43c76e30db51709b53b44dd68") @@ -27,13 +29,18 @@ class Mold(CMakePackage): version("1.11.0", sha256="99318eced81b09a77e4c657011076cc8ec3d4b6867bd324b8677974545bc4d6f") version("1.7.1", sha256="fa2558664db79a1e20f09162578632fa856b3cde966fbcb23084c352b827dfa9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + + depends_on("blake3", when="@2.2:") depends_on("mimalloc") - depends_on("zlib-api") - depends_on("openssl") + depends_on("openssl", when="@:2.1") depends_on("tbb") + depends_on("zlib-api") + depends_on("zstd") def cmake_args(self): - args = [] - args.append(self.define("MOLD_USE_SYSTEM_MIMALLOC", True)) - - return args + return [ + self.define("MOLD_USE_SYSTEM_MIMALLOC", True), + self.define("MOLD_USE_SYSTEM_TBB", True), + ] diff --git a/var/spack/repos/builtin/packages/molden/package.py b/var/spack/repos/builtin/packages/molden/package.py index 98c8152334694b..25d7680f63eb28 100644 --- a/var/spack/repos/builtin/packages/molden/package.py +++ b/var/spack/repos/builtin/packages/molden/package.py @@ -19,6 +19,9 @@ class Molden(MakefilePackage): version("6.6", sha256="2a2a7a116a336b607b50e8135bc2cca764c50e4a6896013ee3c6f582b741ee72") version("6.5", sha256="192631a0996b2bfa9f6b0769f83da38a9e4f83b1db9358982b23d6a594b4e8d4") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("libx11") depends_on("libxmu") depends_on("gl@3:") diff --git a/var/spack/repos/builtin/packages/molgw/package.py b/var/spack/repos/builtin/packages/molgw/package.py index 384838debce6fb..64325684212c54 100644 --- a/var/spack/repos/builtin/packages/molgw/package.py +++ b/var/spack/repos/builtin/packages/molgw/package.py @@ -29,6 +29,9 @@ class Molgw(MakefilePackage): version("3.3", sha256="ff1c8eb736049e52608d4554a2d435ee9d15e47c4a9934d41712962748929e81") version("3.2", sha256="a3f9a99db52d95ce03bc3636b5999e6d92b503ec2f4afca33d030480c3e10242") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=False, description="Build with OpenMP support") variant("scalapack", default=False, description="Build with ScaLAPACK support") diff --git a/var/spack/repos/builtin/packages/mongo-c-driver/package.py b/var/spack/repos/builtin/packages/mongo-c-driver/package.py index f53ee03166ec85..add8e3c541ec2c 100644 --- a/var/spack/repos/builtin/packages/mongo-c-driver/package.py +++ b/var/spack/repos/builtin/packages/mongo-c-driver/package.py @@ -3,19 +3,21 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.build_systems import autotools, cmake from spack.package import * -class MongoCDriver(Package): +class MongoCDriver(AutotoolsPackage, CMakePackage): """libmongoc is a client library written in C for MongoDB.""" homepage = "https://github.com/mongodb/mongo-c-driver" - url = "https://github.com/mongodb/mongo-c-driver/releases/download/1.7.0/mongo-c-driver-1.7.0.tar.gz" + url = "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/1.25.0.tar.gz" maintainers("michaelkuhn") license("Apache-2.0") + version("1.27.2", sha256="a53010803e2df097a2ea756be6ece34c8f52cda2c18e6ea21115097b75f5d4bf") version("1.24.4", sha256="2f4a3e8943bfe3b8672c2053f88cf74acc8494dc98a45445f727901eee141544") version("1.23.3", sha256="c8f951d4f965d455f37ae2e10b72914736fc0f25c4ffc14afc3cbadd1a574ef6") version("1.21.0", sha256="840ff79480070f98870743fbb332e2c10dd021b6b9c952d08010efdda4d70ee4") @@ -32,7 +34,14 @@ class MongoCDriver(Package): version("1.7.0", sha256="48a0dbd44fef2124b51cf501f06be269b1a39452303b880b37473a6030c6e023") version("1.6.3", sha256="82df03de117a3ccf563b9eccfd2e5365df8f215a36dea7446d439969033ced7b") version("1.6.2", sha256="7ec27e9be4da2bf9e4b316374f8c29f816f0a0f019b984411777e9681e17f70e") - version("1.6.1", sha256="1bdfb27944c6da8e56da209a5d56efac70df1f8c4ca4498b46f75bf3f9360898") + version( + "1.6.1", + sha256="1bdfb27944c6da8e56da209a5d56efac70df1f8c4ca4498b46f75bf3f9360898", + deprecated=True, + ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated variant("ssl", default=True, description="Enable SSL support.") variant("snappy", default=True, description="Enable Snappy support.") @@ -45,16 +54,32 @@ class MongoCDriver(Package): when="@1.8.1", ) - depends_on("cmake@3.1:", type="build", when="@1.10.0:") + with when("build_system=cmake"): + depends_on("cmake@3.1:", type="build") + + with when("build_system=autotools"): + depends_on("autoconf", type="build", when="@1.8.1") + depends_on("automake", type="build", when="@1.8.1") + depends_on("libtool", type="build", when="@1.8.1") - depends_on("autoconf", type="build", when="@1.8.1") - depends_on("automake", type="build", when="@1.8.1") - depends_on("libtool", type="build", when="@1.8.1") - depends_on("m4", type="build", when="@1.8.1") + build_system( + conditional("cmake", when="@1.10:"), + conditional("autotools", when="@:1.9"), + default="cmake", + ) + + def url_for_version(self, version): + if version >= Version("1.25.0"): + return f"https://github.com/mongodb/mongo-c-driver/archive/refs/tags/{version}.tar.gz" + if version >= Version("1.10.0"): + return f"https://github.com/mongodb/mongo-c-driver/releases/download/{version}/mongo-c-driver-{version}.tar.gz" + else: + return f"https://github.com/mongodb/libbson/releases/download/{version}/libbson-{version}.tar.gz" depends_on("pkgconfig", type="build") # When updating mongo-c-driver, libbson has to be kept in sync. + depends_on("libbson@1.27", when="@1.27") depends_on("libbson@1.24", when="@1.24") depends_on("libbson@1.23", when="@1.23") depends_on("libbson@1.21", when="@1.21") @@ -70,56 +95,42 @@ class MongoCDriver(Package): depends_on("zlib-api", when="+zlib") depends_on("zstd", when="+zstd") - def cmake_args(self): - spec = self.spec - - args = ["-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF"] - - if spec.satisfies("@1.24:"): - args.append("-DUSE_SYSTEM_LIBBSON=ON") - else: - args.append("-DENABLE_BSON=SYSTEM") + @property + def force_autoreconf(self): + # Run autoreconf due to build system patch + return self.spec.satisfies("@1.8.1") - if "+ssl" in spec: - args.append("-DENABLE_SSL=OPENSSL") - else: - args.append("-DENABLE_SSL=OFF") - if "+snappy" in spec: - args.append("-DENABLE_SNAPPY=ON") +class CMakeBuilder(cmake.CMakeBuilder): + def cmake_args(self): + args = [ + self.define("ENABLE_AUTOMATIC_INIT_AND_CLEANUP", False), + self.define("ENABLE_MONGOC", True), + self.define("MONGO_USE_CCACHE", False), + self.define("MONGO_USE_LLD", False), + self.define_from_variant("ENABLE_SNAPPY", "snappy"), + self.define_from_variant("ENABLE_ZSTD", "zstd"), + ] + + if self.spec.satisfies("@1.24:"): + args.append(self.define("USE_SYSTEM_LIBBSON", True)) else: - args.append("-DENABLE_SNAPPY=OFF") + args.append(self.define("ENABLE_BSON", "SYSTEM")) - if "+zlib" in spec: - args.append("-DENABLE_ZLIB=SYSTEM") + if self.spec.satisfies("+ssl"): + args.append(self.define("ENABLE_SSL", "OPENSSL")) else: - args.append("-DENABLE_ZLIB=OFF") + args.append(self.define("ENABLE_SSL", False)) - if "+zstd" in spec: - args.append("-DENABLE_ZSTD=ON") + if self.spec.satisfies("+zlib"): + args.append(self.define("ENABLE_ZLIB", "SYSTEM")) else: - args.append("-DENABLE_ZSTD=OFF") + args.append(self.define("ENABLE_ZLIB", False)) return args - def install(self, spec, prefix): - with working_dir("spack-build", create=True): - # We cannot simply do - # cmake('..', *std_cmake_args, *self.cmake_args()) - # because that is not Python 2 compatible. Instead, collect - # arguments into a temporary buffer first. - args = [] - args.extend(std_cmake_args) - args.extend(self.cmake_args()) - cmake("..", *args) - make() - make("install") - - @property - def force_autoreconf(self): - # Run autoreconf due to build system patch - return self.spec.satisfies("@1.8.1") +class AutotoolsBuilder(autotools.AutotoolsBuilder): def configure_args(self): spec = self.spec @@ -143,13 +154,3 @@ def configure_args(self): args.append("--with-zlib=system") return args - - @when("@:1.9") - def install(self, spec, prefix): - configure("--prefix={0}".format(prefix), *self.configure_args()) - make() - if self.run_tests: - make("check") - make("install") - if self.run_tests: - make("installcheck") diff --git a/var/spack/repos/builtin/packages/mongo-cxx-driver/package.py b/var/spack/repos/builtin/packages/mongo-cxx-driver/package.py index 4471a53d5aefc1..06a7e8444eaa3b 100644 --- a/var/spack/repos/builtin/packages/mongo-cxx-driver/package.py +++ b/var/spack/repos/builtin/packages/mongo-cxx-driver/package.py @@ -37,6 +37,8 @@ class MongoCxxDriver(CMakePackage): version("3.2.1", sha256="d5e62797cbc48c6e5e18bc0a66c14556e78871d05db4bccc295074af51b8421e") version("3.2.0", sha256="e26edd44cf20bd6be91907403b6d63a065ce95df4c61565770147a46716aad8c") + depends_on("cxx", type="build") # generated + depends_on("mongo-c-driver@1.9.2:") def url_for_version(self, version): diff --git a/var/spack/repos/builtin/packages/mongodb/package.py b/var/spack/repos/builtin/packages/mongodb/package.py index 3c65647e84bedd..408db7dabe4f4f 100644 --- a/var/spack/repos/builtin/packages/mongodb/package.py +++ b/var/spack/repos/builtin/packages/mongodb/package.py @@ -21,6 +21,9 @@ class Mongodb(SConsPackage): version("6.2", git="https://github.com/mongodb/mongo.git", branch="v6.2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + requires( "%gcc", "%clang", policy="one_of", msg=" builds only with GCC or Clang" ) diff --git a/var/spack/repos/builtin/packages/mono/package.py b/var/spack/repos/builtin/packages/mono/package.py index b75bdcb50aa8e7..30faee839d9d42 100644 --- a/var/spack/repos/builtin/packages/mono/package.py +++ b/var/spack/repos/builtin/packages/mono/package.py @@ -66,6 +66,10 @@ class Mono(AutotoolsPackage): version("5.0.1.1", sha256="48d6ae71d593cd01bf0f499de569359d45856cda325575e1bacb5fabaa7e9718") version("4.8.0.524", sha256="ca02614cfc9fe65e310631cd611d7b07d1ff205ce193006d4be0f9919c26bdcf") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + def patch(self): if "+patch-folder-path" in self.spec: before = 'return "/usr/share";' diff --git a/var/spack/repos/builtin/packages/montage/package.py b/var/spack/repos/builtin/packages/montage/package.py index c50de9265a1100..47873700c34db9 100644 --- a/var/spack/repos/builtin/packages/montage/package.py +++ b/var/spack/repos/builtin/packages/montage/package.py @@ -18,6 +18,10 @@ class Montage(MakefilePackage): version("6.0", sha256="1f540a7389d30fcf9f8cd9897617cc68b19350fbcde97c4d1cdc5634de1992c6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("freetype") depends_on("bzip2") depends_on("libnsl") diff --git a/var/spack/repos/builtin/packages/moosefs/package.py b/var/spack/repos/builtin/packages/moosefs/package.py index 60a98252984605..c0fbe28222bd7f 100644 --- a/var/spack/repos/builtin/packages/moosefs/package.py +++ b/var/spack/repos/builtin/packages/moosefs/package.py @@ -25,6 +25,8 @@ class Moosefs(AutotoolsPackage): version("3.0.104", sha256="b3209ecd8366038ba898c4642dd6fdf2fa5d50a37345f01ed209e078700db5bb") version("3.0.103", sha256="c5f1f6f78c2b7d8d6563000deed704ead3deac77279cb13f9f16d7ee56ee7ff7") + depends_on("c", type="build") # generated + def configure_args(self): args = ["--with-systemdsystemunitdir=" + self.spec["moosefs"].prefix.lib.systemd.system] return args diff --git a/var/spack/repos/builtin/packages/moreutils/package.py b/var/spack/repos/builtin/packages/moreutils/package.py index 2495dc740507df..c660882271ccfb 100644 --- a/var/spack/repos/builtin/packages/moreutils/package.py +++ b/var/spack/repos/builtin/packages/moreutils/package.py @@ -21,6 +21,8 @@ class Moreutils(MakefilePackage): version("0.65", sha256="ba0cfaa1ff6ead2b15c62a67292de66a366f9b815a09697b54677f7e15f5a2b2") version("0.63", sha256="01f0b331e07e62c70d58c2dabbb68f5c4ddae4ee6f2d8f070fd1e316108af72c") + depends_on("c", type="build") # generated + depends_on("perl", type="build") depends_on("docbook-xsl", type="build") depends_on("libxml2", type="build") diff --git a/var/spack/repos/builtin/packages/mosesdecoder/package.py b/var/spack/repos/builtin/packages/mosesdecoder/package.py index a797598658767b..2a87ab3bc6aa3d 100644 --- a/var/spack/repos/builtin/packages/mosesdecoder/package.py +++ b/var/spack/repos/builtin/packages/mosesdecoder/package.py @@ -17,6 +17,10 @@ class Mosesdecoder(Package): version("4.0", sha256="357376cdbb225a17cdf17195625d0fa7e10d722807e9e0b8a633ffbd7eec9b8f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("git") depends_on("subversion") depends_on("cmake") diff --git a/var/spack/repos/builtin/packages/mosquitto/package.py b/var/spack/repos/builtin/packages/mosquitto/package.py index 809cc4bca7a97e..4cc040287cc54d 100644 --- a/var/spack/repos/builtin/packages/mosquitto/package.py +++ b/var/spack/repos/builtin/packages/mosquitto/package.py @@ -23,6 +23,9 @@ class Mosquitto(CMakePackage): version("1.4.15", sha256="7d3b3e245a3b4ec94b05678c8199c806359737949f4cfe0bf936184f6ca89a83") version("1.3.5", sha256="16eb3dbef183827665feee9288362c7352cd016ba04ca0402a0ccf857d1c2ab2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("tls", default=True, description="Build with TLS support") variant("cjson", default=True, description="Build with cJSON support", when="@2.0.0:") variant("static", default=False, description="Build with static libraries", when="@1.5.0:") diff --git a/var/spack/repos/builtin/packages/mothur/package.py b/var/spack/repos/builtin/packages/mothur/package.py index 8fc043cf49964e..f661642c980514 100644 --- a/var/spack/repos/builtin/packages/mothur/package.py +++ b/var/spack/repos/builtin/packages/mothur/package.py @@ -22,6 +22,8 @@ class Mothur(MakefilePackage): version("1.42.1", sha256="6b61591dda289ac2d8361f9c1547ffbeeba3b9fbdff877dd286bad850bbd5539") version("1.40.5", sha256="a0fbdfa68b966d7adc4560e3787506a0dad8b47b4b996c2663cd6c0b416d101a") version("1.39.5", sha256="9f1cd691e9631a2ab7647b19eb59cd21ea643f29b22cde73d7f343372dfee342") + + depends_on("cxx", type="build") # generated maintainers("snehring") variant( diff --git a/var/spack/repos/builtin/packages/motif/package.py b/var/spack/repos/builtin/packages/motif/package.py index 4fa53c7e930dfd..8d2b39e8610be1 100644 --- a/var/spack/repos/builtin/packages/motif/package.py +++ b/var/spack/repos/builtin/packages/motif/package.py @@ -21,6 +21,9 @@ class Motif(AutotoolsPackage): version("2.3.8", sha256="859b723666eeac7df018209d66045c9853b50b4218cecadb794e2359619ebce7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("flex") depends_on("libx11") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/mount-point-attributes/package.py b/var/spack/repos/builtin/packages/mount-point-attributes/package.py index 0c50cd9b72d3fa..a1a8688907d068 100644 --- a/var/spack/repos/builtin/packages/mount-point-attributes/package.py +++ b/var/spack/repos/builtin/packages/mount-point-attributes/package.py @@ -23,6 +23,8 @@ class MountPointAttributes(AutotoolsPackage): ) version("1.1", sha256="bff84c75c47b74ea09b6cff949dd699b185ddba0463cb1ff39ab138003c96e02") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build", when="@master") depends_on("automake", type="build", when="@master") depends_on("libtool", type="build", when="@master") diff --git a/var/spack/repos/builtin/packages/mozjpeg/package.py b/var/spack/repos/builtin/packages/mozjpeg/package.py index 8a7e46f759f457..aa802f5e504e03 100644 --- a/var/spack/repos/builtin/packages/mozjpeg/package.py +++ b/var/spack/repos/builtin/packages/mozjpeg/package.py @@ -20,6 +20,9 @@ class Mozjpeg(CMakePackage): version("4.1.1", sha256="66b1b8d6b55d263f35f27f55acaaa3234df2a401232de99b6d099e2bb0a9d196") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + provides("jpeg") variant("shared", default=True, description="Build shared libs") diff --git a/var/spack/repos/builtin/packages/mpark-variant/package.py b/var/spack/repos/builtin/packages/mpark-variant/package.py index f1e2148fef9dd7..c7c9652d596c8d 100644 --- a/var/spack/repos/builtin/packages/mpark-variant/package.py +++ b/var/spack/repos/builtin/packages/mpark-variant/package.py @@ -21,6 +21,8 @@ class MparkVariant(CMakePackage): version("1.4.0", sha256="8f6b28ab3640b5d76d5b6664dda7257a4405ce59179220431b8fd196c79b2ecb") version("1.3.0", sha256="d0f7e41f818fcc839797a8017e76b8b66b323651c304cff641a83a56ae9943c6") + depends_on("cxx", type="build") # generated + # Ref.: https://github.com/mpark/variant/pull/73 patch("nvcc.patch", when="@:1.4.0") # Ref.: https://github.com/mpark/variant/issues/60 diff --git a/var/spack/repos/builtin/packages/mpas-model/package.py b/var/spack/repos/builtin/packages/mpas-model/package.py index 3acd79366b30f9..dddf3d47fc6b56 100644 --- a/var/spack/repos/builtin/packages/mpas-model/package.py +++ b/var/spack/repos/builtin/packages/mpas-model/package.py @@ -25,6 +25,10 @@ class MpasModel(MakefilePackage): version("6.3", sha256="e7f1d9ebfeb6ada37d42a286aaedb2e69335cbc857049dc5c5544bb51e7a8db8") version("6.2", sha256="2a81825a62a468bf5c56ef9d9677aa2eb88acf78d4f996cb49a7db98b94a6b16") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # These targets are defined in the Makefile. Some can be auto-detected by the # compiler name, others need to be explicitly set. make_target = [ diff --git a/var/spack/repos/builtin/packages/mpb/package.py b/var/spack/repos/builtin/packages/mpb/package.py index c117130c3a4a0d..5898c67895f81c 100644 --- a/var/spack/repos/builtin/packages/mpb/package.py +++ b/var/spack/repos/builtin/packages/mpb/package.py @@ -17,6 +17,8 @@ class Mpb(AutotoolsPackage): version("1.11.1", sha256="7311fc525214c1184cad3e0626b8540c0b53b3c31c28e61ce6ec2860088eca46") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/mpc/package.py b/var/spack/repos/builtin/packages/mpc/package.py index d5c795a05876fa..697c42d24c6c82 100644 --- a/var/spack/repos/builtin/packages/mpc/package.py +++ b/var/spack/repos/builtin/packages/mpc/package.py @@ -23,6 +23,8 @@ class Mpc(AutotoolsPackage, GNUMirrorPackage): version("1.0.3", sha256="617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3") version("1.0.2", sha256="b561f54d8a479cee3bc891ee52735f18ff86712ba30f036f8b8537bae380c488") + depends_on("c", type="build") # generated + variant( "libs", default="shared,static", diff --git a/var/spack/repos/builtin/packages/mpdecimal/package.py b/var/spack/repos/builtin/packages/mpdecimal/package.py index 08a8bf372a815f..a08cb42d53008e 100644 --- a/var/spack/repos/builtin/packages/mpdecimal/package.py +++ b/var/spack/repos/builtin/packages/mpdecimal/package.py @@ -19,6 +19,9 @@ class Mpdecimal(AutotoolsPackage): version("2.5.1", sha256="9f9cd4c041f99b5c49ffb7b59d9f12d95b683d88585608aa56a6307667b2b21f") version("2.4.2", sha256="83c628b90f009470981cf084c5418329c88b19835d8af3691b930afccb7d79c7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("gmake", type="build") @property diff --git a/var/spack/repos/builtin/packages/mpe2/package.py b/var/spack/repos/builtin/packages/mpe2/package.py index 85e001daa92338..b5b9eca97143d4 100644 --- a/var/spack/repos/builtin/packages/mpe2/package.py +++ b/var/spack/repos/builtin/packages/mpe2/package.py @@ -14,6 +14,9 @@ class Mpe2(AutotoolsPackage): version("1.3.0", sha256="0faf32f9adab6fd882be30be913089ebf75272f8b5e4a012bb20c54abc21c0be") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + patch("mpe2.patch") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/mpfr/package.py b/var/spack/repos/builtin/packages/mpfr/package.py index e58672c4dcf5f8..b20bb35a82fd8a 100644 --- a/var/spack/repos/builtin/packages/mpfr/package.py +++ b/var/spack/repos/builtin/packages/mpfr/package.py @@ -30,6 +30,8 @@ class Mpfr(AutotoolsPackage, GNUMirrorPackage): version("3.1.3", sha256="f63bb459157cacd223caac545cb816bcdb5a0de28b809e7748b82e9eb89b0afd") version("3.1.2", sha256="79c73f60af010a30a5c27a955a1d2d01ba095b72537dab0ecaad57f5a7bb1b6b") + depends_on("c", type="build") # generated + # mpir is a drop-in replacement for gmp depends_on("gmp@4.1:") # 4.2.3 or higher is recommended depends_on("gmp@5.0:", when="@4.0.0:") # https://www.mpfr.org/mpfr-4.0.0/ diff --git a/var/spack/repos/builtin/packages/mpi-bash/package.py b/var/spack/repos/builtin/packages/mpi-bash/package.py index d55940a6eaf2ab..bd29bcf73382c7 100644 --- a/var/spack/repos/builtin/packages/mpi-bash/package.py +++ b/var/spack/repos/builtin/packages/mpi-bash/package.py @@ -16,6 +16,8 @@ class MpiBash(AutotoolsPackage): version("1.3", sha256="ab39dcc0eadce765abaf685e73d38f4351e3229fdb4302aee4b9e6e70d431d99") version("1.2", sha256="5c2faaa74464111205dbae4799bd89c2425810ec3708d004237b42d620c8be57") + depends_on("c", type="build") # generated + depends_on("bash@4.4:") # uses MPI_Exscan which is in MPI-1.2 and later depends_on("mpi@1.2:") diff --git a/var/spack/repos/builtin/packages/mpi-serial/package.py b/var/spack/repos/builtin/packages/mpi-serial/package.py index 2d23ad8caa85b6..583bb56a6e8bea 100644 --- a/var/spack/repos/builtin/packages/mpi-serial/package.py +++ b/var/spack/repos/builtin/packages/mpi-serial/package.py @@ -20,6 +20,9 @@ class MpiSerial(AutotoolsPackage): version("2.5.0", sha256="2faf459ea1f37020662067e7ab6c76b926501c4b94e8fdf77591c0040ba1f006") version("2.3.0", sha256="cc55e6bf0ae5e1d93aafa31ba91bfc13e896642a511c3101695ea05eccf97988") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "fort-real-size", values=int, diff --git a/var/spack/repos/builtin/packages/mpi-test-suite/package.py b/var/spack/repos/builtin/packages/mpi-test-suite/package.py index 9c0e858778df4a..a07bbf86dc01d7 100644 --- a/var/spack/repos/builtin/packages/mpi-test-suite/package.py +++ b/var/spack/repos/builtin/packages/mpi-test-suite/package.py @@ -28,6 +28,8 @@ class MpiTestSuite(AutotoolsPackage): version("1.1.1", sha256="4cb7bdbdafa0855dab96d996f863b5d364c935e678c057ada3c8869c3666e926") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake@1.14:", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/mpibind/package.py b/var/spack/repos/builtin/packages/mpibind/package.py index 34910ae2010a75..945422c3a9b530 100644 --- a/var/spack/repos/builtin/packages/mpibind/package.py +++ b/var/spack/repos/builtin/packages/mpibind/package.py @@ -30,6 +30,9 @@ class Mpibind(AutotoolsPackage): version("0.7.0", commit="3c437a97cd841b9c13abfbe1062a0285e1a29d3e", no_cache=True) version("0.5.0", commit="8698f07412232e4dd4de4802b508374dc0de48c9", no_cache=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cuda", default=False, description="Build w/support for NVIDIA GPUs.") variant("rocm", default=False, description="Build w/support for AMD GPUs.") variant("flux", default=False, description="Build the Flux plugin.") diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py index 66a41383e13163..5711ed72ff9949 100644 --- a/var/spack/repos/builtin/packages/mpich/package.py +++ b/var/spack/repos/builtin/packages/mpich/package.py @@ -30,6 +30,7 @@ class Mpich(AutotoolsPackage, CudaPackage, ROCmPackage): license("mpich2") version("develop", submodules=True) + version("4.2.2", sha256="883f5bb3aeabf627cb8492ca02a03b191d09836bbe0f599d8508351179781d41") version("4.2.1", sha256="23331b2299f287c3419727edc2df8922d7e7abbb9fd0ac74e03b9966f9ad42d7") version("4.2.0", sha256="a64a66781b9e5312ad052d32689e23252f745b27ee8818ac2ac0c8209bc0b90e") version("4.1.2", sha256="3492e98adab62b597ef0d292fb2459b6123bc80070a8aa0a30be6962075a12f0") @@ -55,6 +56,10 @@ class Mpich(AutotoolsPackage, CudaPackage, ROCmPackage): version("3.1", sha256="fcf96dbddb504a64d33833dc455be3dda1e71c7b3df411dfcf9df066d7c32c39") version("3.0.4", sha256="cf638c85660300af48b6f776e5ecd35b5378d5905ec5d34c3da7a27da0acf0b3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("hwloc", default=True, description="Use external hwloc package") variant("hydra", default=True, description="Build the hydra process manager") variant("romio", default=True, description="Enable ROMIO MPI I/O implementation") diff --git a/var/spack/repos/builtin/packages/mpifileutils/package.py b/var/spack/repos/builtin/packages/mpifileutils/package.py index 5b23f1dd1c3bad..2d51b9425ec3c6 100644 --- a/var/spack/repos/builtin/packages/mpifileutils/package.py +++ b/var/spack/repos/builtin/packages/mpifileutils/package.py @@ -6,7 +6,7 @@ from spack.package import * -class Mpifileutils(Package): +class Mpifileutils(CMakePackage): """mpiFileUtils is a suite of MPI-based tools to manage large datasets, which may vary from large directory trees to large files. High-performance computing users often generate large datasets with @@ -32,17 +32,23 @@ class Mpifileutils(Package): version("0.9.1", sha256="15a22450f86b15e7dc4730950b880fda3ef6f59ac82af0b268674d272aa61c69") version("0.9", sha256="1b8250af01aae91c985ca5d61521bfaa4564e46efa15cee65cd0f82cf5a2bcfb") + depends_on("c", type="build") # generated + + variant("xattr", default=True, description="Enable code for extended attributes") + variant("lustre", default=False, description="Enable optimizations and features for Lustre") + variant("gpfs", default=False, description="Enable optimizations and features for GPFS") + variant("experimental", default=False, description="Install experimental tools") + variant("daos", default=False, description="Enable DAOS support", when="@0.11:") + patch("nosys_getdents.patch", when="@:0.10.1 target=aarch64:") conflicts("platform=darwin") depends_on("mpi") - depends_on("libcircle@0.3:") + depends_on("libcircle") - # need precise version of dtcmp, since DTCMP_Segmented_exscan added - # in v1.0.3 but renamed in v1.1.0 and later - depends_on("dtcmp@1.0.3", when="@:0.7") - depends_on("dtcmp@1.1.0:", when="@0.8:") + # DTCMP_Segmented_exscan renamed in v1.1.0 + depends_on("dtcmp@1.1.0:") # fixes were added to libarchive somewhere between 3.1.2 and 3.5.0 # which helps with file names that start with "._", bumping to newer @@ -51,28 +57,11 @@ class Mpifileutils(Package): depends_on("libarchive@3.5.1:", when="@0.11:") depends_on("attr", when="@0.11.1:+xattr") - depends_on("daos", when="+daos") - depends_on("bzip2") - depends_on("libcap") - depends_on("openssl") - - depends_on("cmake@3.1:", when="@0.9:", type="build") - - variant("xattr", default=True, description="Enable code for extended attributes") - - variant("lustre", default=False, description="Enable optimizations and features for Lustre") - - variant("gpfs", default=False, description="Enable optimizations and features for GPFS") - conflicts("+gpfs", when="@:0.8.1") - - variant("experimental", default=False, description="Install experimental tools") - conflicts("+experimental", when="@:0.6") - - variant("daos", default=False, description="Enable DAOS support", when="@0.11:") + depends_on("cmake@3.1:", type="build") def flag_handler(self, name, flags): spec = self.spec @@ -83,92 +72,19 @@ def flag_handler(self, name, flags): return (iflags, None, None) def cmake_args(self): - args = std_cmake_args - args.append("-DCMAKE_INSTALL_PREFIX=%s" % self.spec.prefix) - args.append("-DWITH_DTCMP_PREFIX=%s" % self.spec["dtcmp"].prefix) - args.append("-DWITH_LibCircle_PREFIX=%s" % self.spec["libcircle"].prefix) - - if self.spec.satisfies("+xattr"): - args.append("-DENABLE_XATTRS=ON") - else: - args.append("-DENABLE_XATTRS=OFF") - - if self.spec.satisfies("+lustre"): - args.append("-DENABLE_LUSTRE=ON") - else: - args.append("-DENABLE_LUSTRE=OFF") - - if self.spec.satisfies("+gpfs"): - args.append("-DENABLE_GPFS=ON") - else: - args.append("-DENABLE_GPFS=OFF") - - if self.spec.satisfies("+experimental"): - args.append("-DENABLE_EXPERIMENTAL=ON") - else: - args.append("-DENABLE_EXPERIMENTAL=OFF") + args = [ + self.define("WITH_DTCMP_PREFIX", self.spec["dtcmp"].prefix), + self.define("WITH_LibCircle_PREFIX", self.spec["libcircle"].prefix), + self.define_from_variant("ENABLE_XATTRS", "xattr"), + self.define_from_variant("ENABLE_LUSTRE", "lustre"), + self.define_from_variant("ENABLE_GPFS", "gpfs"), + self.define_from_variant("ENABLE_EXPERIMENTAL", "experimental"), + ] if self.spec.satisfies("+daos"): - args.append("-DENABLE_DAOS=ON") - args.append("-DWITH_DAOS_PREFIX=%s" % self.spec["daos"].prefix) + args.append(self.define("ENABLE_DAOS", True)) + args.append(self.define("WITH_DAOS_PREFIX", self.spec["daos"].prefix)) else: - args.append("-DENABLE_DAOS=OFF") + args.append(self.define("ENABLE_DAOS", False)) return args - - @when("@0.9:") - def install(self, spec, prefix): - args = self.cmake_args() - - source_directory = self.stage.source_path - build_directory = join_path(source_directory, "build") - - with working_dir(build_directory, create=True): - cmake(source_directory, *args) - make() - make("install") - - if self.run_tests: - make("test") - - def configure_args(self): - args = [] - args.append("--prefix=%s" % self.spec.prefix) - args.append("CPPFLAGS=-I%s/src/common" % pwd()) - args.append("libarchive_CFLAGS=-I%s" % self.spec["libarchive"].prefix.include) - args.append( - "libarchive_LIBS=%s %s" - % (self.spec["libarchive"].libs.search_flags, self.spec["libarchive"].libs.link_flags) - ) - args.append("libcircle_CFLAGS=-I%s" % self.spec["libcircle"].prefix.include) - args.append( - "libcircle_LIBS=%s %s" - % (self.spec["libcircle"].libs.search_flags, self.spec["libcircle"].libs.link_flags) - ) - args.append("--with-dtcmp=%s" % self.spec["dtcmp"].prefix) - - if self.spec.satisfies("+xattr"): - args.append("CFLAGS=-DDCOPY_USE_XATTRS") - - if self.spec.satisfies("+lustre"): - args.append("--enable-lustre") - else: - args.append("--disable-lustre") - - if self.spec.satisfies("@0.7:"): - if self.spec.satisfies("+experimental"): - args.append("--enable-experimental") - else: - args.append("--disable-experimental") - return args - - @when("@:0.8.1") - def install(self, spec, prefix): - args = self.configure_args() - - configure(*args) - make() - make("install") - - if self.run_tests: - make("test") diff --git a/var/spack/repos/builtin/packages/mpilander/package.py b/var/spack/repos/builtin/packages/mpilander/package.py index 587b5e65d04860..5df4b63c2d22d7 100644 --- a/var/spack/repos/builtin/packages/mpilander/package.py +++ b/var/spack/repos/builtin/packages/mpilander/package.py @@ -18,6 +18,9 @@ class Mpilander(CMakePackage): version("develop", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # variant('cuda', default=False, description='Enable CUDA support') # variant( # 'schedulers', diff --git a/var/spack/repos/builtin/packages/mpileaks/package.py b/var/spack/repos/builtin/packages/mpileaks/package.py index 8c07e68ae645f4..89da44e32e5d9d 100644 --- a/var/spack/repos/builtin/packages/mpileaks/package.py +++ b/var/spack/repos/builtin/packages/mpileaks/package.py @@ -15,6 +15,10 @@ class Mpileaks(AutotoolsPackage): version("1.0", sha256="2e34cc4505556d1c1f085758e26f2f8eea0972db9382f051b2dcfb1d7d9e1825") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "stackstart", values=int, diff --git a/var/spack/repos/builtin/packages/mpip/package.py b/var/spack/repos/builtin/packages/mpip/package.py index c7628f07d62f00..4eed14cde543d8 100644 --- a/var/spack/repos/builtin/packages/mpip/package.py +++ b/var/spack/repos/builtin/packages/mpip/package.py @@ -19,6 +19,10 @@ class Mpip(AutotoolsPackage): version("master", branch="master") version("3.5", sha256="e366843d53fa016fb03903e51c8aac901aa5155edabe64698a8d6fa618a03bbd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("demangling", default=True, description="Build with demangling support") variant("setjmp", default=False, description="Use setjmp to generate stack trace") diff --git a/var/spack/repos/builtin/packages/mpir/package.py b/var/spack/repos/builtin/packages/mpir/package.py index ac0d0d41ab5d2c..830d12cdfda386 100644 --- a/var/spack/repos/builtin/packages/mpir/package.py +++ b/var/spack/repos/builtin/packages/mpir/package.py @@ -19,6 +19,9 @@ class Mpir(Package): version("2.7.0", sha256="2d0174aaccff918766215df00420f12929a6c376ab4e558af31f57c55193bcb7") version("2.6.0", sha256="dedb336098d41d4e298909586cf351003bcd7aad9317e801f3e4c4838f6d7691") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # This setting allows mpir to act as a drop-in replacement for gmp variant("gmp_compat", default=False, description="Compile with GMP library compatibility") diff --git a/var/spack/repos/builtin/packages/mpitrampoline/package.py b/var/spack/repos/builtin/packages/mpitrampoline/package.py index f6e440ebd4fff2..11cec3916086c8 100644 --- a/var/spack/repos/builtin/packages/mpitrampoline/package.py +++ b/var/spack/repos/builtin/packages/mpitrampoline/package.py @@ -59,6 +59,9 @@ class Mpitrampoline(CMakePackage): version("1.1.0", sha256="67fdb710d1ca49487593a9c023e94aa8ff0bec56de6005d1a437fca40833def9") version("1.0.1", sha256="4ce91b99fb6d2dab481b5e477b6b6a0709add48cf0f287afbbb440fdf3232500") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Build a shared version of the library") provides("mpi @3.1") diff --git a/var/spack/repos/builtin/packages/mpiwrapper/package.py b/var/spack/repos/builtin/packages/mpiwrapper/package.py index 50d18fc57f77be..2b6f7e9edd31a7 100644 --- a/var/spack/repos/builtin/packages/mpiwrapper/package.py +++ b/var/spack/repos/builtin/packages/mpiwrapper/package.py @@ -39,4 +39,7 @@ class Mpiwrapper(CMakePackage): version("2.0.0", sha256="cdc81f3fae459569d4073d99d068810689a19cf507d9c4e770fa91e93650dbe4") version("1.0.1", sha256="29d5499a1a7a358d69dd744c581e57cac9223ebde94b52fa4a2b98c730ad47ff") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi @3.1:") diff --git a/var/spack/repos/builtin/packages/mpix-launch-swift/package.py b/var/spack/repos/builtin/packages/mpix-launch-swift/package.py index d8b9b59f61a672..a25f1ca57685aa 100644 --- a/var/spack/repos/builtin/packages/mpix-launch-swift/package.py +++ b/var/spack/repos/builtin/packages/mpix-launch-swift/package.py @@ -16,6 +16,8 @@ class MpixLaunchSwift(MakefilePackage): version("develop", branch="envs") + depends_on("c", type="build") # generated + depends_on("stc") depends_on("tcl") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/mpl/package.py b/var/spack/repos/builtin/packages/mpl/package.py index f39c81c76d7580..bff77e0465b6bd 100644 --- a/var/spack/repos/builtin/packages/mpl/package.py +++ b/var/spack/repos/builtin/packages/mpl/package.py @@ -22,4 +22,7 @@ class Mpl(CMakePackage): version("0.2.0", tag="v0.2.0", commit="f322352c93627c1b91d8efb1c4ee2e4873aed016") version("0.1", tag="v0.1", commit="970d0f3436ddbfcf2eba12c5bc7f4f7660e433ca") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/mppp/package.py b/var/spack/repos/builtin/packages/mppp/package.py index 2c302ad3744804..ef4a7fbb2e8347 100644 --- a/var/spack/repos/builtin/packages/mppp/package.py +++ b/var/spack/repos/builtin/packages/mppp/package.py @@ -30,6 +30,8 @@ class Mppp(CMakePackage): version("0.21", sha256="49a05fc6874a800cb42a3ac16eb46a50583f0b59d3b54008c58af766186a8c69") version("0.20", sha256="c736daeaac30e38e1c09a19d249209ad49f8ec92ab1315a8fb9a47cc1f54e607") + depends_on("cxx", type="build") # generated + variant( "mpfr", default=True, diff --git a/var/spack/repos/builtin/packages/mptensor/package.py b/var/spack/repos/builtin/packages/mptensor/package.py index 3fcae8fc5be9a9..5e243f1298a3ed 100644 --- a/var/spack/repos/builtin/packages/mptensor/package.py +++ b/var/spack/repos/builtin/packages/mptensor/package.py @@ -17,6 +17,8 @@ class Mptensor(CMakePackage): version("0.3.0", sha256="819395a91551bddb77958615042fcb935a4b67ee37f912b9a2ca5b49c71befae") + depends_on("cxx", type="build") # generated + variant("mpi", default=False, description="Build with MPI library") variant("doc", default=False, description="build documentation with Doxygen") diff --git a/var/spack/repos/builtin/packages/mrbayes/package.py b/var/spack/repos/builtin/packages/mrbayes/package.py index ee3c846408c931..2cc9a68589e14d 100644 --- a/var/spack/repos/builtin/packages/mrbayes/package.py +++ b/var/spack/repos/builtin/packages/mrbayes/package.py @@ -20,6 +20,8 @@ class Mrbayes(AutotoolsPackage): version("3.2.7a", sha256="1a4670be84e6b968d59382328294db4c8ceb73e0c19c702265deec6f2177815c") version("3.2.7", sha256="39d9eb269969b501268d5c27f77687c6eaa2c71ccf15c724e6f330fc405f24b9") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Enable MPI parallel support") variant("beagle", default=True, description="Enable BEAGLE library for speed benefits") variant( diff --git a/var/spack/repos/builtin/packages/mrchem/package.py b/var/spack/repos/builtin/packages/mrchem/package.py index c73484c0f6f111..ada2c70ad9be50 100644 --- a/var/spack/repos/builtin/packages/mrchem/package.py +++ b/var/spack/repos/builtin/packages/mrchem/package.py @@ -25,6 +25,8 @@ class Mrchem(CMakePackage): version("0.2.0", sha256="eea223db8275f9f2ce09601088264ec952ce2557a7050466301f53070ab03b82") version("0.1.0", sha256="325fa45fe1918b4d394060f36d23432ab8139596ebc22b65b1284c1f673e8164") + depends_on("cxx", type="build") # generated + variant("openmp", default=True, description="Enable OpenMP support.") variant("mpi", default=True, description="Enable MPI support") diff --git a/var/spack/repos/builtin/packages/mrcpp/package.py b/var/spack/repos/builtin/packages/mrcpp/package.py index 46dfbe6eef04b7..05a94892def7df 100644 --- a/var/spack/repos/builtin/packages/mrcpp/package.py +++ b/var/spack/repos/builtin/packages/mrcpp/package.py @@ -33,6 +33,8 @@ class Mrcpp(CMakePackage): version("1.0.1", sha256="b4d7120545da3531bc7aa0a4cb4eb579fdbe1f8e5d32b1fd1086976583e3e27c") version("1.0.0", sha256="0858146141d3a60232e8874380390f9e9fa0b1bd6e67099d5833704478213efd") + depends_on("cxx", type="build") # generated + variant("openmp", default=True, description="Enable OpenMP support.") variant("mpi", default=True, description="Enable MPI support") diff --git a/var/spack/repos/builtin/packages/mrnet/package.py b/var/spack/repos/builtin/packages/mrnet/package.py index 16be03143c6de0..a27b7bfa057486 100644 --- a/var/spack/repos/builtin/packages/mrnet/package.py +++ b/var/spack/repos/builtin/packages/mrnet/package.py @@ -25,6 +25,9 @@ class Mrnet(AutotoolsPackage): version("4.1.0", sha256="94758191ac46a9dbfea931a8e61167fe7e8a5f880caa418305c44f1d12af5e45") version("4.0.0", sha256="7207c6d493b3f17c386667cfefa81364c96b9c8b831c67442d218d77813c5d38") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("lwthreads", default=False, description="Also build the MRNet LW threadsafe libraries") parallel = False diff --git a/var/spack/repos/builtin/packages/mrtrix3/package.py b/var/spack/repos/builtin/packages/mrtrix3/package.py index a5a2b1183188c7..38e8b7b6c0b81b 100644 --- a/var/spack/repos/builtin/packages/mrtrix3/package.py +++ b/var/spack/repos/builtin/packages/mrtrix3/package.py @@ -26,6 +26,8 @@ class Mrtrix3(Package): version("3.0.3", sha256="6ec7d5a567d8d7338e85575a74565189a26ec8971cbe8fb24a49befbc446542e") version("2017-09-25", commit="72aca89e3d38c9d9e0c47104d0fb5bd2cbdb536d") + depends_on("cxx", type="build") # generated + depends_on("python@2.7:", type=("build", "run")) depends_on("py-numpy", type=("build", "run")) depends_on("glu") diff --git a/var/spack/repos/builtin/packages/mruby/package.py b/var/spack/repos/builtin/packages/mruby/package.py index be0beedfd642d5..fcd087613b7a03 100644 --- a/var/spack/repos/builtin/packages/mruby/package.py +++ b/var/spack/repos/builtin/packages/mruby/package.py @@ -26,6 +26,9 @@ class Mruby(Package): version("2.1.1", sha256="bb27397ee9cb7e0ddf4ff51caf5b0a193d636b7a3c52399684c8c383b41c362a") version("2.1.0", sha256="d6733742a07e553c52ab71df08b0604b3b571768bbc0c2729fbf0389d1bb5d13") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cxx_exception", description="Enable C++ exceptions", default=False, when="@3.1.0:") depends_on("ruby@3.0.0:", type=("build")) diff --git a/var/spack/repos/builtin/packages/mscgen/package.py b/var/spack/repos/builtin/packages/mscgen/package.py index aae65bc5e9ebf4..6f533395bab020 100644 --- a/var/spack/repos/builtin/packages/mscgen/package.py +++ b/var/spack/repos/builtin/packages/mscgen/package.py @@ -17,6 +17,8 @@ class Mscgen(AutotoolsPackage): version("0.20", sha256="3c3481ae0599e1c2d30b7ed54ab45249127533ab2f20e768a0ae58d8551ddc23") + depends_on("c", type="build") # generated + depends_on("flex") depends_on("bison") depends_on("pkgconfig") diff --git a/var/spack/repos/builtin/packages/msgpack-c/package.py b/var/spack/repos/builtin/packages/msgpack-c/package.py index 561de27c7fba71..223e639108da1c 100644 --- a/var/spack/repos/builtin/packages/msgpack-c/package.py +++ b/var/spack/repos/builtin/packages/msgpack-c/package.py @@ -22,6 +22,9 @@ class MsgpackC(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost", when="@4:") depends_on("cmake@2.8.0:", type="build") depends_on("cmake@3.1.0:", type="build", when="@4:") diff --git a/var/spack/repos/builtin/packages/mshadow/package.py b/var/spack/repos/builtin/packages/mshadow/package.py index 652c454f5d7d6a..fdb61f72d8af40 100644 --- a/var/spack/repos/builtin/packages/mshadow/package.py +++ b/var/spack/repos/builtin/packages/mshadow/package.py @@ -18,6 +18,8 @@ class Mshadow(Package): version("master", branch="master") version("20170721", commit="20b54f068c1035f0319fa5e5bbfb129c450a5256") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): install_tree("mshadow", prefix.include.mshadow) install_tree("make", prefix.make) diff --git a/var/spack/repos/builtin/packages/msmpi/package.py b/var/spack/repos/builtin/packages/msmpi/package.py index 738e2e05508729..eccb88f0c1a027 100644 --- a/var/spack/repos/builtin/packages/msmpi/package.py +++ b/var/spack/repos/builtin/packages/msmpi/package.py @@ -24,6 +24,9 @@ class Msmpi(Package): version("10.1.1", sha256="63c7da941fc4ffb05a0f97bd54a67968c71f63389a0d162d3182eabba1beab3d") version("10.0.0", sha256="cfb53cf53c3cf0d4935ab58be13f013a0f7ccb1189109a5b8eea0fcfdcaef8c1") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + provides("mpi") depends_on("win-wdk") diff --git a/var/spack/repos/builtin/packages/mstk/package.py b/var/spack/repos/builtin/packages/mstk/package.py index 5cc0be5f178b97..47af70a42f7f2b 100644 --- a/var/spack/repos/builtin/packages/mstk/package.py +++ b/var/spack/repos/builtin/packages/mstk/package.py @@ -49,6 +49,9 @@ class Mstk(CMakePackage): version("3.0.1", sha256="d44e4bf01b118b1d19710aa839b3f5f0c1a8391264a435f641ba4bd23bcf45ec") version("3.0.0", sha256="d993ff5fc6c431067eb97e4089835c7790397d9c1ad88a56523c0591d451df19") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("exodusii", default=False, description="Enable ExodusII") variant("use_markers", default=True, description="Enable use of markers") variant("parallel", default=False, description="Enable Parallel Support") diff --git a/var/spack/repos/builtin/packages/mt-metis/package.py b/var/spack/repos/builtin/packages/mt-metis/package.py index 609c9634cc5cc5..acd534a79e1bb3 100644 --- a/var/spack/repos/builtin/packages/mt-metis/package.py +++ b/var/spack/repos/builtin/packages/mt-metis/package.py @@ -19,6 +19,9 @@ class MtMetis(CMakePackage): version("0.6.0", sha256="cb8fb836b630a899edbeca4e1da19ec9eb47e89903bda83e7ec62cb0ffdcc284") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # avoid asm('pause') for no x86_64 familly. patch("non_x8664.patch") diff --git a/var/spack/repos/builtin/packages/mtn/package.py b/var/spack/repos/builtin/packages/mtn/package.py index d92122211b6f96..3ea59dd9831da1 100644 --- a/var/spack/repos/builtin/packages/mtn/package.py +++ b/var/spack/repos/builtin/packages/mtn/package.py @@ -19,6 +19,8 @@ class Mtn(MakefilePackage): version("3.4.2", sha256="19b2076c00f5b0ad70c2467189b17f335c6e7ece5d1a01ed8910779f6a5ca52a") + depends_on("c", type="build") # generated + depends_on("ffmpeg") depends_on("libgd") diff --git a/var/spack/repos/builtin/packages/mujoco/package.py b/var/spack/repos/builtin/packages/mujoco/package.py index 44724042fff140..14868e203c0cd8 100644 --- a/var/spack/repos/builtin/packages/mujoco/package.py +++ b/var/spack/repos/builtin/packages/mujoco/package.py @@ -28,6 +28,9 @@ class Mujoco(Package): if pkg_sha256: version(ver, sha256=pkg_sha256) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): url = "https://mujoco.org/download/mujoco{0}-{1}-x86_64.tar.gz" diff --git a/var/spack/repos/builtin/packages/multitime/package.py b/var/spack/repos/builtin/packages/multitime/package.py index 38ce762525b305..497e2f841bf9fb 100644 --- a/var/spack/repos/builtin/packages/multitime/package.py +++ b/var/spack/repos/builtin/packages/multitime/package.py @@ -18,3 +18,5 @@ class Multitime(AutotoolsPackage): license("MIT") version("1.4", sha256="dd85c431c022d0b992f3a8816a1a3dfb414454a229c0ec22514761bf72d3ce47") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/multiverso/package.py b/var/spack/repos/builtin/packages/multiverso/package.py index 22b835323719c8..18ceee7aee1f52 100644 --- a/var/spack/repos/builtin/packages/multiverso/package.py +++ b/var/spack/repos/builtin/packages/multiverso/package.py @@ -20,6 +20,8 @@ class Multiverso(CMakePackage): version("143187", commit="143187575d1cfa410100037b8aea2e767e0af637") version("0.2", sha256="40e86543968faa2fe203cf0b004a4c7905303db0c860efe4ce4e1f27e46394fc") + depends_on("cxx", type="build") # generated + depends_on("mpi") depends_on("boost+exception+test") diff --git a/var/spack/repos/builtin/packages/mummer/package.py b/var/spack/repos/builtin/packages/mummer/package.py index a1e8f1b538cded..a9a1a7c877e9e3 100644 --- a/var/spack/repos/builtin/packages/mummer/package.py +++ b/var/spack/repos/builtin/packages/mummer/package.py @@ -16,6 +16,9 @@ class Mummer(Package): version("3.23", sha256="1efad4f7d8cee0d8eaebb320a2d63745bb3a160bb513a15ef7af46f330af662f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("gnuplot") depends_on("perl", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/mummer4/package.py b/var/spack/repos/builtin/packages/mummer4/package.py index 122f4229dc42ac..98071ae52b5277 100644 --- a/var/spack/repos/builtin/packages/mummer4/package.py +++ b/var/spack/repos/builtin/packages/mummer4/package.py @@ -19,6 +19,8 @@ class Mummer4(AutotoolsPackage): "4.0.0beta2", sha256="cece76e418bf9c294f348972e5b23a0230beeba7fd7d042d5584ce075ccd1b93" ) + depends_on("cxx", type="build") # generated + conflicts("%gcc@:4.7") depends_on("perl@5.6.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/mumps/package.py b/var/spack/repos/builtin/packages/mumps/package.py index c048ce55eb9f39..7750547cd2b0a0 100644 --- a/var/spack/repos/builtin/packages/mumps/package.py +++ b/var/spack/repos/builtin/packages/mumps/package.py @@ -13,11 +13,12 @@ class Mumps(Package): """MUMPS: a MUltifrontal Massively Parallel sparse direct Solver""" - homepage = "https://graal.ens-lyon.fr/MUMPS/index.php" - url = "https://graal.ens-lyon.fr/MUMPS/MUMPS_5.5.1.tar.gz" + homepage = "https://mumps-solver.org/index.php" + url = "https://mumps-solver.org/MUMPS_5.5.1.tar.gz" maintainers("jcortial-safran") + version("5.7.2", sha256="1362d377ce7422fc886c55212b4a4d2c381918b5ca4478f682a22d0627a8fbf8") version("5.6.2", sha256="13a2c1aff2bd1aa92fe84b7b35d88f43434019963ca09ef7e8c90821a8f1d59a") version("5.6.1", sha256="1920426d543e34d377604070fde93b8d102aa38ebdf53300cbce9e15f92e2896") version("5.6.0", sha256="3e08c1bdea7aaaba303d3cf03059f3b4336fa49bef93f4260f478f067f518289") @@ -36,6 +37,9 @@ class Mumps(Package): # url='http://pkgs.fedoraproject.org/repo/pkgs/MUMPS/MUMPS_5.0.1.tar.gz/md5/b477573fdcc87babe861f62316833db0/MUMPS_5.0.1.tar.gz') version("5.0.1", sha256="50355b2e67873e2239b4998a46f2bbf83f70cdad6517730ab287ae3aae9340a0") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Compile MUMPS with MPI support") variant("scotch", default=False, description="Activate Scotch as a possible ordering library") variant( diff --git a/var/spack/repos/builtin/packages/munge/package.py b/var/spack/repos/builtin/packages/munge/package.py index a2dd177475f7ee..56584f7e3100fa 100644 --- a/var/spack/repos/builtin/packages/munge/package.py +++ b/var/spack/repos/builtin/packages/munge/package.py @@ -27,6 +27,8 @@ class Munge(AutotoolsPackage): url="https://github.com/dun/munge/releases/download/munge-0.5.11/munge-0.5.11.tar.bz2", ) + depends_on("c", type="build") # generated + variant( "localstatedir", default="PREFIX/var", diff --git a/var/spack/repos/builtin/packages/muparser/package.py b/var/spack/repos/builtin/packages/muparser/package.py index 3364f50a33da4f..6190b6280f6712 100644 --- a/var/spack/repos/builtin/packages/muparser/package.py +++ b/var/spack/repos/builtin/packages/muparser/package.py @@ -6,7 +6,7 @@ from spack.package import * -class Muparser(Package): +class Muparser(CMakePackage, Package): """C++ math expression parser library.""" homepage = "https://beltoforion.de/en/muparser/" @@ -18,25 +18,36 @@ class Muparser(Package): version("2.2.6.1", sha256="d2562853d972b6ddb07af47ce8a1cdeeb8bb3fa9e8da308746de391db67897b3") version("2.2.5", sha256="0666ef55da72c3e356ca85b6a0084d56b05dd740c3c21d26d372085aa2c6e708") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Replace std::auto_ptr by std::unique_ptr # https://github.com/beltoforion/muparser/pull/46 patch("auto_ptr.patch", when="@2.2.5") - depends_on("cmake@3.1.0:", when="@2.2.6:", type="build") - - # Cmake build since 2.2.6 - @when("@2.2.6:") - def install(self, spec, prefix): - cmake_args = ["-DENABLE_SAMPLES=OFF", "-DENABLE_OPENMP=OFF", "-DBUILD_SHARED_LIBS=ON"] - - cmake_args.extend(std_cmake_args) - - with working_dir("spack-build", create=True): - cmake("..", *cmake_args) - make() - make("install") + variant("samples", default=True, description="enable samples", when="build_system=cmake") + variant("openmp", default=True, description="enable OpenMP support", when="build_system=cmake") + variant( + "wide_char", + default=False, + description="enable wide character strings in place of ASCII", + when="build_system=cmake", + ) + variant("shared", default=True, description="enable shared libs", when="build_system=cmake") + + # Non-CMake build system is not supported by windows + conflicts("platform=windows", when="@:2.2.5") + build_system(conditional("cmake", when="@2.2.6:"), "generic", default="cmake") + + def cmake_args(self): + return [ + self.define_from_variant("ENABLE_SAMPLES", "samples"), + self.define_from_variant("ENABLE_OPENMP", "openmp"), + self.define_from_variant("BUILD_SHARED_LIBS", "shared"), + self.define_from_variant("ENABLE_WIDE_CHAR", "wide_char"), + ] - @when("@2.2.5") + @when("@:2.2.5") def install(self, spec, prefix): options = [ "--disable-debug", diff --git a/var/spack/repos/builtin/packages/muparserx/package.py b/var/spack/repos/builtin/packages/muparserx/package.py index a34b2ad55bb5e9..5d111cbc8bf8c1 100644 --- a/var/spack/repos/builtin/packages/muparserx/package.py +++ b/var/spack/repos/builtin/packages/muparserx/package.py @@ -18,3 +18,5 @@ class Muparserx(CMakePackage): version("4.0.12", sha256="941c79f9b8b924f2f22406af8587177b4b185da3c968dbe8dc371b9dbe117f6e") version("4.0.8", sha256="5913e0a4ca29a097baad1b78a4674963bc7a06e39ff63df3c73fbad6fadb34e1") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/muscle/package.py b/var/spack/repos/builtin/packages/muscle/package.py index 40460650b3f52c..caabc6ac748def 100644 --- a/var/spack/repos/builtin/packages/muscle/package.py +++ b/var/spack/repos/builtin/packages/muscle/package.py @@ -16,6 +16,8 @@ class Muscle(MakefilePackage): version("3.8.31", sha256="43c5966a82133bd7da5921e8142f2f592c2b5f53d802f0527a2801783af809ad") version("3.8.1551", sha256="c70c552231cd3289f1bad51c9bd174804c18bb3adcf47f501afec7a68f9c482e") + depends_on("cxx", type="build") # generated + @property def build_directory(self): if self.spec.satisfies("@3.8.31"): diff --git a/var/spack/repos/builtin/packages/muscle5/package.py b/var/spack/repos/builtin/packages/muscle5/package.py index 799bf1067468e7..87a140ad555853 100644 --- a/var/spack/repos/builtin/packages/muscle5/package.py +++ b/var/spack/repos/builtin/packages/muscle5/package.py @@ -20,6 +20,8 @@ class Muscle5(MakefilePackage): version("5.1.0", sha256="2bba8b06e3ccabf6465fa26f459763b2029d7e7b9596881063e3aaba60d9e87d") + depends_on("cxx", type="build") # generated + depends_on("sed", type="build") build_directory = "src" diff --git a/var/spack/repos/builtin/packages/muse/package.py b/var/spack/repos/builtin/packages/muse/package.py index e5f7928c988391..796f56168ede8a 100644 --- a/var/spack/repos/builtin/packages/muse/package.py +++ b/var/spack/repos/builtin/packages/muse/package.py @@ -16,6 +16,9 @@ class Muse(MakefilePackage): version("1.0-rc", sha256="b48b8be0044a2249bdc0b625fe0192c65089c598bbd1b1142902dfa81e804023") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api", type="link") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/music/package.py b/var/spack/repos/builtin/packages/music/package.py index 8c7ce2e50efdec..cc0cee2be4b6bf 100644 --- a/var/spack/repos/builtin/packages/music/package.py +++ b/var/spack/repos/builtin/packages/music/package.py @@ -23,6 +23,9 @@ class Music(CMakePackage): version("2021-12-01", commit="6747c54f3b73ec36719c265fd96362849a83cb45") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "hdf5", default=False, diff --git a/var/spack/repos/builtin/packages/musl/package.py b/var/spack/repos/builtin/packages/musl/package.py index 64612d6b45717d..aff44c3b94e505 100644 --- a/var/spack/repos/builtin/packages/musl/package.py +++ b/var/spack/repos/builtin/packages/musl/package.py @@ -47,6 +47,8 @@ class Musl(MakefilePackage): version("1.1.21", sha256="c742b66f6f49c9e5f52f64d8b79fecb5a0f6e0203fca176c70ca20f6be285f44") version("1.1.20", sha256="44be8771d0e6c6b5f82dd15662eb2957c9a3173a19a8b49966ac0542bbd40d61") + depends_on("c", type="build") # generated + def patch(self): config = FileFilter("configure") if self.compiler.name == "gcc": diff --git a/var/spack/repos/builtin/packages/must/package.py b/var/spack/repos/builtin/packages/must/package.py index 5597157134e4c6..388edc7a6f2fa3 100644 --- a/var/spack/repos/builtin/packages/must/package.py +++ b/var/spack/repos/builtin/packages/must/package.py @@ -23,6 +23,10 @@ class Must(CMakePackage): version("1.8.0", sha256="9754fefd2e4c8cba812f8b56a5dd929bc84aa599b2509305e1eb8518be0a8a39") version("1.7.2", sha256="616c54b7487923959df126ac4b47ae8c611717d679fe7ec29f57a89bf0e2e0d0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("test", default=False, description="Enable must internal tests") variant("tsan", default=True, description="Enable thread sanitizer") variant("graphviz", default=False, description="Use to generate graphs") diff --git a/var/spack/repos/builtin/packages/muster/package.py b/var/spack/repos/builtin/packages/muster/package.py index 13ebbd04f35bda..76c1c4f988c987 100644 --- a/var/spack/repos/builtin/packages/muster/package.py +++ b/var/spack/repos/builtin/packages/muster/package.py @@ -20,6 +20,8 @@ class Muster(CMakePackage): version("1.0.1", sha256="71e2fcdd7abf7ae5cc648a5f310e1c5369e4889718eab2a045e747c590d2dd71") version("1.0", sha256="370a670419e391494fcca0294882ee5f83c5d8af94ca91ac4182235332bd56d6") + depends_on("cxx", type="build") # generated + depends_on("boost+exception+serialization+random") depends_on("mpi") depends_on("cmake@2.8:", type="build") diff --git a/var/spack/repos/builtin/packages/mutationpp/package.py b/var/spack/repos/builtin/packages/mutationpp/package.py index 0a7a01262edcd0..449c7011630b70 100644 --- a/var/spack/repos/builtin/packages/mutationpp/package.py +++ b/var/spack/repos/builtin/packages/mutationpp/package.py @@ -24,6 +24,10 @@ class Mutationpp(CMakePackage): version("1.0.0", sha256="928df99accd1a02706a57246edeef8ebbf3bd91bb40492258ee18b810a7e0194") version("0.3.1", sha256="a6da2816e145ac9fcfbd8920595b7f65ce7bc8df0bec572b32647720758cbe69") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=True, description="Enable Fortran interface") variant("data", default=True, description="Install default model data") variant("examples", default=True, description="Install examples") diff --git a/var/spack/repos/builtin/packages/mvapich/package.py b/var/spack/repos/builtin/packages/mvapich/package.py index c89f826b18b783..37221fec277310 100644 --- a/var/spack/repos/builtin/packages/mvapich/package.py +++ b/var/spack/repos/builtin/packages/mvapich/package.py @@ -29,6 +29,10 @@ class Mvapich(AutotoolsPackage): # Prefer the latest stable release version("3.0", sha256="ee076c4e672d18d6bf8dd2250e4a91fa96aac1db2c788e4572b5513d86936efb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + provides("mpi") provides("mpi@:3.1") diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py index 52f6851db86756..23129c3ec0c4da 100644 --- a/var/spack/repos/builtin/packages/mvapich2/package.py +++ b/var/spack/repos/builtin/packages/mvapich2/package.py @@ -39,6 +39,10 @@ class Mvapich2(AutotoolsPackage): version("2.2", sha256="791a6fc2b23de63b430b3e598bf05b1b25b82ba8bf7e0622fc81ba593b3bb131") version("2.1", sha256="49f3225ad17d2f3b6b127236a0abdc979ca8a3efb8d47ab4b6cd4f5252d05d29") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + provides("mpi") provides("mpi@:3.1", when="@2.3:") provides("mpi@:3.0", when="@2.1:") diff --git a/var/spack/repos/builtin/packages/mxml/package.py b/var/spack/repos/builtin/packages/mxml/package.py index 7ae66fbd23c749..40a892419e086a 100644 --- a/var/spack/repos/builtin/packages/mxml/package.py +++ b/var/spack/repos/builtin/packages/mxml/package.py @@ -21,6 +21,9 @@ class Mxml(AutotoolsPackage): version("2.9", sha256="cded54653c584b24c4a78a7fa1b3b4377d49ac4f451ddf170ebbc8161d85ff92") version("2.8", sha256="0c9369f91a718d82e32cb007c0bd41b6642822c9a0ffe1d10eccbdea9a3011d5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): if version <= Version("2.7"): return "https://github.com/michaelrsweet/mxml/archive/release-{0}.tar.gz".format( diff --git a/var/spack/repos/builtin/packages/mxnet/package.py b/var/spack/repos/builtin/packages/mxnet/package.py index c8808558a4d3d2..084b1d241556da 100644 --- a/var/spack/repos/builtin/packages/mxnet/package.py +++ b/var/spack/repos/builtin/packages/mxnet/package.py @@ -23,6 +23,9 @@ class Mxnet(CMakePackage, CudaPackage, PythonExtension): version("1.7.0", sha256="1d20c9be7d16ccb4e830e9ee3406796efaf96b0d93414d676337b64bc59ced18") version("1.6.0", sha256="01eb06069c90f33469c7354946261b0a94824bbaf819fd5d5a7318e8ee596def") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "build_type", default="Distribution", diff --git a/var/spack/repos/builtin/packages/mysql-connector-c/package.py b/var/spack/repos/builtin/packages/mysql-connector-c/package.py index d0e4d1f218b5c1..874447d3ea3281 100644 --- a/var/spack/repos/builtin/packages/mysql-connector-c/package.py +++ b/var/spack/repos/builtin/packages/mysql-connector-c/package.py @@ -23,3 +23,6 @@ class MysqlConnectorC(CMakePackage): license("GPL-2.0-or-later") version("6.1.11", sha256="c8664851487200162b38b6f3c8db69850bd4f0e4c5ff5a6d161dbfb5cb76b6c4") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/mysql/package.py b/var/spack/repos/builtin/packages/mysql/package.py index 73dc867c99fc92..638ac397861e0d 100644 --- a/var/spack/repos/builtin/packages/mysql/package.py +++ b/var/spack/repos/builtin/packages/mysql/package.py @@ -50,6 +50,9 @@ class Mysql(CMakePackage): version("5.6.43", sha256="1c95800bf0e1b7a19a37d37fbc5023af85c6bc0b41532433b3a886263a1673ef") version("5.5.62", sha256="b1e7853bc1f04aabf6771e0ad947f35ac8d237f4b35d0706d1095c9526ff99d7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("client_only", default=False, description="Build and install client only.") variant( "cxxstd", diff --git a/var/spack/repos/builtin/packages/mysqlpp/package.py b/var/spack/repos/builtin/packages/mysqlpp/package.py index cec4a6d4dc6076..d34501bbf690b4 100644 --- a/var/spack/repos/builtin/packages/mysqlpp/package.py +++ b/var/spack/repos/builtin/packages/mysqlpp/package.py @@ -19,6 +19,8 @@ class Mysqlpp(AutotoolsPackage): version("3.3.0", sha256="449cbc46556cc2cc9f9d6736904169a8df6415f6960528ee658998f96ca0e7cf") version("3.2.5", sha256="839cfbf71d50a04057970b8c31f4609901f5d3936eaa86dab3ede4905c4db7a8") + depends_on("cxx", type="build") # generated + depends_on("mysql-client") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/n2p2/package.py b/var/spack/repos/builtin/packages/n2p2/package.py index 2a41a52c20422f..3bb4f0d42db63c 100644 --- a/var/spack/repos/builtin/packages/n2p2/package.py +++ b/var/spack/repos/builtin/packages/n2p2/package.py @@ -22,6 +22,8 @@ class N2p2(MakefilePackage): version("2.1.1", sha256="90fbc0756132984d0d7e6d92d2f53358c120e75f148910d90c027158163251b9") version("2.1.0", sha256="283c00e9a5b964f4c84a70c5f1cef7167e9b881080b50a221da08799e5ede400") + depends_on("cxx", type="build") # generated + variant("doc", default=False, description="build documentation with Doxygen") variant("shared", default=False, description="build shared libraries") diff --git a/var/spack/repos/builtin/packages/nag/package.py b/var/spack/repos/builtin/packages/nag/package.py index ab3adc912698b6..d0c35c8de70ff2 100644 --- a/var/spack/repos/builtin/packages/nag/package.py +++ b/var/spack/repos/builtin/packages/nag/package.py @@ -30,6 +30,8 @@ class Nag(Package, CompilerPackage): deprecated=True, ) + depends_on("fortran", type="build") # generated + # Licensing license_required = True license_comment = "!" diff --git a/var/spack/repos/builtin/packages/nalu-wind/package.py b/var/spack/repos/builtin/packages/nalu-wind/package.py index db0e5003a87169..eb923367541098 100644 --- a/var/spack/repos/builtin/packages/nalu-wind/package.py +++ b/var/spack/repos/builtin/packages/nalu-wind/package.py @@ -13,18 +13,28 @@ def _parse_float(val): return False +def submodules(package): + submodules = [] + if package.spec.satisfies("+wind-utils"): + submodules.append("wind-utils") + if package.spec.satisfies("+tests"): + submodules.append("reg_tests/mesh") + return submodules + + class NaluWind(CMakePackage, CudaPackage, ROCmPackage): """Nalu-Wind: Wind energy focused variant of Nalu.""" homepage = "https://nalu-wind.readthedocs.io" git = "https://github.com/exawind/nalu-wind.git" + url = "https://github.com/Exawind/nalu-wind/archive/refs/tags/v2.0.0.tar.gz" maintainers("jrood-nrel", "psakievich") tags = ["ecp", "ecp-apps"] - version("master", branch="master") - version("2.0.0", tag="v2.0.0") + version("master", branch="master", submodules=submodules) + version("2.0.0", tag="v2.0.0", submodules=submodules) variant("pic", default=True, description="Position independent code") variant( @@ -42,7 +52,7 @@ class NaluWind(CMakePackage, CudaPackage, ROCmPackage): variant("openfast", default=False, description="Compile with OpenFAST support") variant("tioga", default=False, description="Compile with Tioga support") variant("hypre", default=True, description="Compile with Hypre support") - variant("trilinos-solvers", default=True, description="Compile with Trilinos Solvers support") + variant("trilinos-solvers", default=False, description="Compile with Trilinos Solvers support") variant("catalyst", default=False, description="Compile with Catalyst support") variant("shared", default=True, description="Build shared libraries") variant("fftw", default=False, description="Compile with FFTW support") @@ -51,6 +61,9 @@ class NaluWind(CMakePackage, CudaPackage, ROCmPackage): variant("gpu-aware-mpi", default=False, description="gpu-aware-mpi") variant("wind-utils", default=False, description="Build wind-utils") variant("umpire", default=False, description="Enable Umpire") + variant( + "tests", default=False, description="Enable regression tests and clone the mesh submodule" + ) depends_on("mpi") depends_on("yaml-cpp@0.5.3:") @@ -63,14 +76,20 @@ class NaluWind(CMakePackage, CudaPackage, ROCmPackage): ) depends_on("trilinos~cuda~wrapper", when="~cuda") depends_on("openfast@2.6.0: +cxx", when="+openfast") - depends_on("tioga@master:", when="+tioga") + depends_on("tioga@1.0.0:", when="+tioga") depends_on("hypre@2.18.2: ~int64+mpi~superlu-dist", when="+hypre") depends_on("trilinos+muelu+belos+amesos2+ifpack2", when="+trilinos-solvers") - conflicts( - "~hypre~trilinos-solvers", - msg="nalu-wind: Must enable at least one of the linear-solvers: hypre or trilinos-solvers", - ) depends_on("kokkos-nvcc-wrapper", type="build", when="+cuda") + depends_on("trilinos-catalyst-ioss-adapter", when="+catalyst") + depends_on("fftw+mpi", when="+fftw") + depends_on("nccmp") + depends_on("boost +filesystem +iostreams cxxstd=14", when="+boost") + depends_on("hypre+gpu-aware-mpi", when="+gpu-aware-mpi") + depends_on("hypre+umpire", when="+umpire") + depends_on("trilinos~shared", when="+trilinos-solvers") + # indirect dependency needed to make original concretizer work + depends_on("netcdf-c+parallel-netcdf") + for _arch in CudaPackage.cuda_arch_values: depends_on( "trilinos~shared+cuda+cuda_rdc+wrapper cuda_arch={0}".format(_arch), @@ -90,16 +109,10 @@ class NaluWind(CMakePackage, CudaPackage, ROCmPackage): when="+hypre+rocm amdgpu_target={0}".format(_arch), ) - depends_on("trilinos-catalyst-ioss-adapter", when="+catalyst") - depends_on("fftw+mpi", when="+fftw") - depends_on("nccmp") - # indirect dependency needed to make original concretizer work - depends_on("netcdf-c+parallel-netcdf") - depends_on("boost +filesystem +iostreams cxxstd=14", when="+boost") - depends_on("hypre+gpu-aware-mpi", when="+gpu-aware-mpi") - depends_on("hypre+umpire", when="+umpire") - depends_on("trilinos~shared", when="+trilinos-solvers platform=darwin") - + conflicts( + "~hypre~trilinos-solvers", + msg="nalu-wind: Must enable at least one of the linear-solvers: hypre or trilinos-solvers", + ) conflicts( "+shared", when="+cuda", @@ -117,6 +130,7 @@ class NaluWind(CMakePackage, CudaPackage, ROCmPackage): conflicts("^hypre+sycl") conflicts("^trilinos+cuda", when="~cuda") conflicts("^trilinos+rocm", when="~rocm") + conflicts("+shared", when="+trilinos-solvers") def setup_dependent_run_environment(self, env, dependent_spec): spec = self.spec @@ -157,6 +171,7 @@ def cmake_args(self): self.define_from_variant("ENABLE_PARAVIEW_CATALYST", "catalyst"), self.define_from_variant("ENABLE_FFTW", "fftw"), self.define_from_variant("ENABLE_UMPIRE", "umpire"), + self.define_from_variant("ENABLE_TESTS", "tests"), ] if spec.satisfies("+openfast"): diff --git a/var/spack/repos/builtin/packages/nalu/package.py b/var/spack/repos/builtin/packages/nalu/package.py index 31e6b2989a787e..6d022f2b25a5d5 100644 --- a/var/spack/repos/builtin/packages/nalu/package.py +++ b/var/spack/repos/builtin/packages/nalu/package.py @@ -21,6 +21,9 @@ class Nalu(CMakePackage): version("master", branch="master") version("1.6.0", sha256="2eafafe25ed44a7bc1429881f8f944b9794ca51b1e1b29c28a45b91520c7cf97") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("trilinos@master", when="@master") depends_on("trilinos@14.0.0:14.2.0", when="@1.6.0") diff --git a/var/spack/repos/builtin/packages/namd/package.py b/var/spack/repos/builtin/packages/namd/package.py index d61d23471fc6a3..80446885fc10f0 100644 --- a/var/spack/repos/builtin/packages/namd/package.py +++ b/var/spack/repos/builtin/packages/namd/package.py @@ -25,14 +25,33 @@ class Namd(MakefilePackage, CudaPackage): maintainers("jcphill") version("master", branch="master") - version("3.0b7", sha256="b18ff43b0f55ec59e137c62eba1812589dd88b2122c3a05ea652781667f438b4") - version("3.0b6", sha256="8b5fb1dc8d5b5666c6a45d20ee7e8c9d1f5c186578e2cf148b68ba421d43b850") - version("3.0b3", sha256="20c32b6161f9c376536e3cb97c3bfe5367e1baaaace3c716ff79831fc2eb8199") - version("2.15a2", sha256="8748cbaa93fc480f92fc263d9323e55bce6623fc693dbfd4a40f59b92669713e") - version("2.15a1", branch="master", tag="release-2-15-alpha-1") + version("3.0", sha256="301c64f0f1db860f7336efdb26223ccf66b5ab42bfc9141df8d81ec1e20bf472") + version( + "3.0b7", + sha256="b18ff43b0f55ec59e137c62eba1812589dd88b2122c3a05ea652781667f438b4", + deprecated=True, + ) + version( + "3.0b6", + sha256="8b5fb1dc8d5b5666c6a45d20ee7e8c9d1f5c186578e2cf148b68ba421d43b850", + deprecated=True, + ) + version( + "3.0b3", + sha256="20c32b6161f9c376536e3cb97c3bfe5367e1baaaace3c716ff79831fc2eb8199", + deprecated=True, + ) + version( + "2.15a2", + sha256="8748cbaa93fc480f92fc263d9323e55bce6623fc693dbfd4a40f59b92669713e", + deprecated=True, + ) + version("2.15a1", branch="master", tag="release-2-15-alpha-1", deprecated=True) # Same as above, but lets you use a local file instead of git version( - "2.15a1.manual", sha256="474006e98e32dddae59616b3b75f13a2bb149deaf7a0d617ce7fb9fd5a56a33a" + "2.15a1.manual", + sha256="474006e98e32dddae59616b3b75f13a2bb149deaf7a0d617ce7fb9fd5a56a33a", + deprecated=True, ) version( "2.14", diff --git a/var/spack/repos/builtin/packages/nano/package.py b/var/spack/repos/builtin/packages/nano/package.py index 43aebb021200b3..0fb2035b637bfa 100644 --- a/var/spack/repos/builtin/packages/nano/package.py +++ b/var/spack/repos/builtin/packages/nano/package.py @@ -82,6 +82,8 @@ class Nano(AutotoolsPackage): version("2.6.2", sha256="22f79cc635458e0c0d110d211576f1edc03b112a62d73b914826a46547a6ac27") version("2.6.1", sha256="45721fa6d6128068895ad71a6967ff7398d11b064b3f888e5073c97a2b6e9a81") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("ncurses") diff --git a/var/spack/repos/builtin/packages/nanoflann/package.py b/var/spack/repos/builtin/packages/nanoflann/package.py index 014da17fc26eea..a307c71c6d80e4 100644 --- a/var/spack/repos/builtin/packages/nanoflann/package.py +++ b/var/spack/repos/builtin/packages/nanoflann/package.py @@ -19,6 +19,8 @@ class Nanoflann(CMakePackage): version("1.4.3", sha256="cbcecf22bec528a8673a113ee9b0e134f91f1f96be57e913fa1f74e98e4449fa") version("1.2.3", sha256="5ef4dfb23872379fe9eb306aabd19c9df4cae852b72a923af01aea5e8d7a59c3") + depends_on("cxx", type="build") # generated + def patch(self): filter_file("-mtune=native", "", "CMakeLists.txt") diff --git a/var/spack/repos/builtin/packages/nanomsg/package.py b/var/spack/repos/builtin/packages/nanomsg/package.py index ed2a74c7753f9c..895e0d4d71cb5c 100644 --- a/var/spack/repos/builtin/packages/nanomsg/package.py +++ b/var/spack/repos/builtin/packages/nanomsg/package.py @@ -19,3 +19,5 @@ class Nanomsg(CMakePackage): version("1.2", sha256="6ef7282e833df6a364f3617692ef21e59d5c4878acea4f2d7d36e21c8858de67") version("1.1.5", sha256="218b31ae1534ab897cb5c419973603de9ca1a5f54df2e724ab4a188eb416df5a") version("1.0.0", sha256="24afdeb71b2e362e8a003a7ecc906e1b84fd9f56ce15ec567481d1bb33132cc7") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/nanopb/package.py b/var/spack/repos/builtin/packages/nanopb/package.py index 83c6daa425a125..0f8c0ff5871b58 100644 --- a/var/spack/repos/builtin/packages/nanopb/package.py +++ b/var/spack/repos/builtin/packages/nanopb/package.py @@ -17,5 +17,7 @@ class Nanopb(CMakePackage): version("0.3.9.1", sha256="b22d1f86d4adb2aa0436a277c4a59a5adfc467cafeb9bf405c27ef136599bbb3") + depends_on("c", type="build") # generated + depends_on("protobuf", type=("build")) depends_on("py-protobuf", type=("build")) diff --git a/var/spack/repos/builtin/packages/nasm/package.py b/var/spack/repos/builtin/packages/nasm/package.py index d3f2fad668d026..a9861e96cedb7a 100644 --- a/var/spack/repos/builtin/packages/nasm/package.py +++ b/var/spack/repos/builtin/packages/nasm/package.py @@ -27,6 +27,8 @@ class Nasm(AutotoolsPackage, Package): version("2.13.03", sha256="23e1b679d64024863e2991e5c166e19309f0fe58a9765622b35bd31be5b2cc99") version("2.11.06", sha256="3a72476f3cb45294d303f4d34f20961b15323ac24e84eb41bc130714979123bb") + depends_on("c", type="build") # generated + # Fix compilation with GCC 8 # https://bugzilla.nasm.us/show_bug.cgi?id=3392461 patch( diff --git a/var/spack/repos/builtin/packages/nauty/package.py b/var/spack/repos/builtin/packages/nauty/package.py index 056eff96a1fb30..fd9371bcb3e922 100644 --- a/var/spack/repos/builtin/packages/nauty/package.py +++ b/var/spack/repos/builtin/packages/nauty/package.py @@ -20,6 +20,8 @@ class Nauty(AutotoolsPackage): version("2.6r7", sha256="97b5648de17645895cbd56a9a0b3e23cf01f5332c476d013ea459f1a0363cdc6") + depends_on("c", type="build") # generated + # Debian/ Fedora patches for @2.6r7: urls_for_patches = { "@2.6r7": [ diff --git a/var/spack/repos/builtin/packages/nb/package.py b/var/spack/repos/builtin/packages/nb/package.py new file mode 100644 index 00000000000000..528d7d911fb607 --- /dev/null +++ b/var/spack/repos/builtin/packages/nb/package.py @@ -0,0 +1,45 @@ +# 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 Nb(Package): + """ + nb is a command line and local web note‑taking, bookmarking, archiving, + and knowledge base application. + """ + + homepage = "https://xwmx.github.io/nb/" + url = "https://github.com/xwmx/nb/archive/refs/tags/7.12.1.tar.gz" + + maintainers("taliaferro") + + license("AGPL-3.0", checked_by="taliaferro") + + version("7.12.1", sha256="c9b30448751dd726469ed3fde29e618c5747eb4a16ceaaf86d773989a6cf13f3") + + depends_on("git") + depends_on("bash") + + def patch(self): + filter_file( + r"^#!\s?.*bash", + "#!{}".format(self.spec["bash"].command.path), + "nb", + "bin/bookmark", + "bin/notes", + "etc/nb-completion.bash", + ) + + def install(self, spec, prefix): + mkdirp(prefix.bin) + mkdirp(prefix + "/share/bash-completion/completions") + install("nb", join_path(prefix, "bin/nb")) + install("bin/notes", join_path(prefix, "bin/notes")) + install("bin/bookmark", join_path(prefix, "bin/bookmark")) + install( + "etc/nb-completion.bash", join_path(prefix, "share/bash-completion/completions/nb") + ) diff --git a/var/spack/repos/builtin/packages/nbdkit/package.py b/var/spack/repos/builtin/packages/nbdkit/package.py index 0f748b9c9e6f70..8c2ad6041a476e 100644 --- a/var/spack/repos/builtin/packages/nbdkit/package.py +++ b/var/spack/repos/builtin/packages/nbdkit/package.py @@ -22,6 +22,9 @@ class Nbdkit(AutotoolsPackage): version("1.23.4", sha256="6581e6cc6dbcb42451abad096efd4e1016b3a0f0d1c7a1724d0a76259ab96429") version("1.23.3", sha256="78f14b00c771733047abcf882e715f62bb19820a6571cae0ccb5f965054697c6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/ncbi-magicblast/package.py b/var/spack/repos/builtin/packages/ncbi-magicblast/package.py index 1fb7379af0a128..15c3c23cfb8a64 100644 --- a/var/spack/repos/builtin/packages/ncbi-magicblast/package.py +++ b/var/spack/repos/builtin/packages/ncbi-magicblast/package.py @@ -16,6 +16,9 @@ class NcbiMagicblast(AutotoolsPackage): version("1.5.0", sha256="b261914d9f7ffc0e655079ceba3e348ba11df1a1f73c4e47a4b1ca154754985c") version("1.3.0", sha256="47b9b65d595b5cb0c4fef22bc7f7c038fb8d4a0accdbe560d7232820575aff67") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cpio", type="build") depends_on("lmdb") diff --git a/var/spack/repos/builtin/packages/ncbi-rmblastn/package.py b/var/spack/repos/builtin/packages/ncbi-rmblastn/package.py index 228c5fc6f60eb7..4700e5e4129910 100644 --- a/var/spack/repos/builtin/packages/ncbi-rmblastn/package.py +++ b/var/spack/repos/builtin/packages/ncbi-rmblastn/package.py @@ -18,6 +18,9 @@ class NcbiRmblastn(AutotoolsPackage): version("2.11.0", sha256="d88e1858ae7ce553545a795a2120e657a799a6d334f2a07ef0330cc3e74e1954") version("2.9.0", sha256="a390cc2d7a09422759fc178db84de9def822cbe485916bbb2ec0d215dacdc257") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + maintainers("snehring") # There is a corresponding gzipped patch file associated with each version. diff --git a/var/spack/repos/builtin/packages/ncbi-toolkit/package.py b/var/spack/repos/builtin/packages/ncbi-toolkit/package.py index 2576cc2cafbf3e..c058ea4e53e3c2 100644 --- a/var/spack/repos/builtin/packages/ncbi-toolkit/package.py +++ b/var/spack/repos/builtin/packages/ncbi-toolkit/package.py @@ -37,6 +37,9 @@ class NcbiToolkit(AutotoolsPackage): url="ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/ARCHIVE/2018/Apr_2_2018/ncbi_cxx--21_0_0.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("debug", default=False, description="Build debug versions of libs and apps") depends_on("boost@1.35.0:+test+log") diff --git a/var/spack/repos/builtin/packages/ncbi-vdb/package.py b/var/spack/repos/builtin/packages/ncbi-vdb/package.py index 88b213c72a474d..32257c5c2e0ccd 100644 --- a/var/spack/repos/builtin/packages/ncbi-vdb/package.py +++ b/var/spack/repos/builtin/packages/ncbi-vdb/package.py @@ -17,6 +17,9 @@ class NcbiVdb(CMakePackage): version("3.0.2", tag="3.0.2", commit="c4aa19632714c2f04af07505721fb16c71bba3d5") version("3.0.0", tag="3.0.0", commit="2222d7727122d0cbad93344dd6a9044abff34280") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("openjdk") depends_on("flex@2.6:") depends_on("libxml2") diff --git a/var/spack/repos/builtin/packages/nccl-fastsocket/package.py b/var/spack/repos/builtin/packages/nccl-fastsocket/package.py index ab69fb4b4ba783..12601c61f4509e 100644 --- a/var/spack/repos/builtin/packages/nccl-fastsocket/package.py +++ b/var/spack/repos/builtin/packages/nccl-fastsocket/package.py @@ -16,6 +16,8 @@ class NcclFastsocket(Package): version("master", preferred=True) + depends_on("cxx", type="build") # generated + depends_on("bazel", type="build") depends_on("nccl", type=["build", "run"]) diff --git a/var/spack/repos/builtin/packages/nccl-tests/package.py b/var/spack/repos/builtin/packages/nccl-tests/package.py index 4ec1d9ffdc3184..0bd21040134ce6 100644 --- a/var/spack/repos/builtin/packages/nccl-tests/package.py +++ b/var/spack/repos/builtin/packages/nccl-tests/package.py @@ -17,6 +17,8 @@ class NcclTests(MakefilePackage, CudaPackage): version("2.13.6", sha256="52b472a58a4918d3221a9b8c4bd9335382643d7e241983918b64692d685cc3d1") version("2.0.0", sha256="731fc3b7c37de59cfe880bf198349ac185639ef23570749ea6aef334c850c49c") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="with MPI support") variant("cuda", default=True, description="with CUDA support, must be true") conflicts("~cuda", msg="nccl-tests require cuda") diff --git a/var/spack/repos/builtin/packages/nccl/package.py b/var/spack/repos/builtin/packages/nccl/package.py index 4441841112635e..d70ee8180da804 100644 --- a/var/spack/repos/builtin/packages/nccl/package.py +++ b/var/spack/repos/builtin/packages/nccl/package.py @@ -17,6 +17,7 @@ class Nccl(MakefilePackage, CudaPackage): maintainers("adamjstewart") libraries = ["libnccl.so"] + version("2.22.3-1", sha256="45151629a9494460e73375281e8b0fe379141528879301899ece9b776faca024") version("2.21.5-1", sha256="1923596984d85e310b5b6c52b2c72a1b93da57218f2bc5a5c7ac3d59297a3303") version("2.20.3-1", sha256="19456bd63ca7d23a8319cbbdbaaf6c25949dd51161a9f8809f6b7453282983dd") version("2.19.3-1", sha256="1c5474553afedb88e878c772f13d6f90b9226b3f2971dfa6f873adb9443100c2") @@ -52,6 +53,9 @@ class Nccl(MakefilePackage, CudaPackage): version("2.3.7-1", sha256="e6eff80d9d2db13c61f8452e1400ca2f098d2dfe42857cb23413ce081c5b9e9b") version("2.3.5-5", sha256="bac9950b4d3980c25baa8e3e4541d2dfb4d21edf32ad3b89022d04920357142f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cuda", default=True, description="Build with CUDA") depends_on("rdma-core") diff --git a/var/spack/repos/builtin/packages/nccmp/package.py b/var/spack/repos/builtin/packages/nccmp/package.py index 7204eaff96eb82..af601d662595b4 100644 --- a/var/spack/repos/builtin/packages/nccmp/package.py +++ b/var/spack/repos/builtin/packages/nccmp/package.py @@ -21,6 +21,8 @@ class Nccmp(CMakePackage): version("1.8.9.0", sha256="da5d2b4dcd52aec96e7d96ba4d0e97efebbd40fe9e640535e5ee3d5cd082ae50") version("1.8.2.0", sha256="7f5dad4e8670568a71f79d2bcebb08d95b875506d3d5faefafe1a8b3afa14f18") + depends_on("c", type="build") # generated + depends_on("cmake@3.12:", type="build") depends_on("netcdf-c", type=("build", "run")) depends_on("mpi", when="^netcdf-c+mpi~shared") diff --git a/var/spack/repos/builtin/packages/ncdu/package.py b/var/spack/repos/builtin/packages/ncdu/package.py index 9acbaa9802968f..1b57d8ef954542 100644 --- a/var/spack/repos/builtin/packages/ncdu/package.py +++ b/var/spack/repos/builtin/packages/ncdu/package.py @@ -33,6 +33,8 @@ class Ncdu(Package): version("1.8", sha256="42aaf0418c05e725b39b220166a9c604a9c54c0fbf7692c9c119b36d0ed5d099") version("1.7", sha256="70dfe10b4c0843050ee17ab27b7ad4d65714682f117079b85d779f83431fb333") + depends_on("c", type="build") # generated + depends_on("ncurses") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/ncio/package.py b/var/spack/repos/builtin/packages/ncio/package.py index 80d32a5014a77b..2af462841b51d9 100644 --- a/var/spack/repos/builtin/packages/ncio/package.py +++ b/var/spack/repos/builtin/packages/ncio/package.py @@ -24,6 +24,8 @@ class Ncio(CMakePackage): version("1.1.0", sha256="9de05cf3b8b1291010197737666cede3d621605806379b528d2146c4f02d08f6") version("1.0.0", sha256="2e2630b26513bf7b0665619c6c3475fe171a9d8b930e9242f5546ddf54749bd4") + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("netcdf-fortran") diff --git a/var/spack/repos/builtin/packages/ncl/package.py b/var/spack/repos/builtin/packages/ncl/package.py index 6498dae1a25aa5..e3949f4d335d19 100644 --- a/var/spack/repos/builtin/packages/ncl/package.py +++ b/var/spack/repos/builtin/packages/ncl/package.py @@ -28,6 +28,9 @@ class Ncl(Package): version("6.5.0", sha256="133446f3302eddf237db56bf349e1ebf228240a7320699acc339a3d7ee414591") version("6.4.0", sha256="0962ae1a1d716b182b3b27069b4afe66bf436c64c312ddfcf5f34d4ec60153c8") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + patch("for_aarch64.patch", when="target=aarch64:") # Use Spack config file, which we generate during the installation: @@ -136,18 +139,26 @@ def patch(self): # Make configure scripts use Spack's tcsh files = ["Configure"] + glob.glob("config/*") - filter_file("^#!/bin/csh -f", "#!/usr/bin/env csh", *files) - - @run_before("install") - def filter_sbang(self): # Filter sbang before install so Spack's sbang hook can fix it up - files = glob.glob("ncarg2d/src/bin/scripts/*") + files += glob.glob("ncarg2d/src/bin/scripts/*") files += glob.glob("ncarview/src/bin/scripts/*") files += glob.glob("ni/src/scripts/*") csh = join_path(self.spec["tcsh"].prefix.bin, "csh") - filter_file("^#!/bin/csh", "#!{0}".format(csh), *files) + filter_file("^#!/bin/csh.*", "#!{0}".format(csh), *files) + + if self.spec.satisfies("+grib"): + # Newer versions of libjasper do not provide the inmem property + if self.spec.satisfies("^jasper@2"): + filter_file("image.inmem_=1;", "", "external/g2clib-1.6.0/enc_jpeg2000.c") + + filter_file("SUBDIRS = ", "SUBDIRS = g2clib-1.6.0 ", "external/yMakefile") + filter_file( + "INC=.*", + "INC=%s" % self.spec["jasper"].prefix.include, + "external/g2clib-1.6.0/makefile", + ) def install(self, spec, prefix): if (self.compiler.fc is None) or (self.compiler.cc is None): @@ -398,16 +409,3 @@ def delete_files(*filenames): os.remove(filename) except OSError as e: raise InstallError("Failed to delete file %s: %s" % (e.filename, e.strerror)) - - @when("+grib") - def patch(self): - # Newer versions of libjasper do not provide the inmem property - if self.spec.satisfies("^jasper@2"): - filter_file("image.inmem_=1;", "", "external/g2clib-1.6.0/enc_jpeg2000.c") - - filter_file("SUBDIRS = ", "SUBDIRS = g2clib-1.6.0 ", "external/yMakefile") - filter_file( - "INC=.*", - "INC=%s" % self.spec["jasper"].prefix.include, - "external/g2clib-1.6.0/makefile", - ) diff --git a/var/spack/repos/builtin/packages/nco/package.py b/var/spack/repos/builtin/packages/nco/package.py index 72e1fcf96fdd4f..8160ca8f58d760 100644 --- a/var/spack/repos/builtin/packages/nco/package.py +++ b/var/spack/repos/builtin/packages/nco/package.py @@ -41,6 +41,9 @@ class Nco(AutotoolsPackage): version("4.6.1", sha256="7433fe5901f48eb5170f24c6d53b484161e1c63884d9350600070573baf8b8b0") version("4.5.5", sha256="bc6f5b976fdfbdec51f2ebefa158fa54672442c2fd5f042ba884f9f32c2ad666") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # https://github.com/nco/nco/issues/43 patch("NUL-0-NULL.patch", when="@:4.6.7") diff --git a/var/spack/repos/builtin/packages/ncompress/package.py b/var/spack/repos/builtin/packages/ncompress/package.py index 56b61a98b4ede8..5dbcbdddedd2ca 100644 --- a/var/spack/repos/builtin/packages/ncompress/package.py +++ b/var/spack/repos/builtin/packages/ncompress/package.py @@ -18,5 +18,7 @@ class Ncompress(MakefilePackage): version("4.2.4.6", sha256="112acfc76382e7b631d6cfc8e6ff9c8fd5b3677e5d49d3d9f1657bc15ad13d13") version("4.2.4.5", sha256="2b532f02569e5557e1ed9cbe95c8db0e347a029517d3a50b906119808a996433") + depends_on("c", type="build") # generated + def install(self, spec, 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 4baa2652e1f37f..6f3b424ae36d04 100644 --- a/var/spack/repos/builtin/packages/ncurses/package.py +++ b/var/spack/repos/builtin/packages/ncurses/package.py @@ -32,6 +32,9 @@ class Ncurses(AutotoolsPackage, GNUMirrorPackage): version("6.0", sha256="f551c24b30ce8bfb6e96d9f59b42fbea30fa3a6123384172f9e7284bcf647260") version("5.9", sha256="9046298fb440324c9d4135ecea7879ffed8546dd1b58e59430ea07a4633f563b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("symlinks", default=False, description="Enables symlinks. Needed on AFS filesystem.") variant( "termlib", diff --git a/var/spack/repos/builtin/packages/ncview/package.py b/var/spack/repos/builtin/packages/ncview/package.py index 70fe3098258bc4..c5bca955b96a34 100644 --- a/var/spack/repos/builtin/packages/ncview/package.py +++ b/var/spack/repos/builtin/packages/ncview/package.py @@ -17,6 +17,8 @@ class Ncview(AutotoolsPackage): version("2.1.8", sha256="e8badc507b9b774801288d1c2d59eb79ab31b004df4858d0674ed0d87dfc91be") version("2.1.7", sha256="a14c2dddac0fc78dad9e4e7e35e2119562589738f4ded55ff6e0eca04d682c82") + depends_on("c", type="build") # generated + depends_on("netcdf-c") depends_on("udunits") depends_on("libpng") diff --git a/var/spack/repos/builtin/packages/ncvis/package.py b/var/spack/repos/builtin/packages/ncvis/package.py index aa56e4e342ebcd..c44bd4b14d85b7 100644 --- a/var/spack/repos/builtin/packages/ncvis/package.py +++ b/var/spack/repos/builtin/packages/ncvis/package.py @@ -20,6 +20,8 @@ class Ncvis(CMakePackage): "2022.08.28", sha256="a522926739b2a05ef0b436fe67a2014557f9e5fecf3b7d7700964e9006a4bf3e" ) + depends_on("cxx", type="build") # generated + depends_on("cmake", type="build") depends_on("netcdf-c", type="link") depends_on("wxwidgets+opengl", type="link") diff --git a/var/spack/repos/builtin/packages/ndiff/package.py b/var/spack/repos/builtin/packages/ndiff/package.py index 41b7dbd4a565e8..1aa83a51b2387d 100644 --- a/var/spack/repos/builtin/packages/ndiff/package.py +++ b/var/spack/repos/builtin/packages/ndiff/package.py @@ -23,6 +23,8 @@ class Ndiff(Package): version("2.00", sha256="f2bbd9a2c8ada7f4161b5e76ac5ebf9a2862cab099933167fe604b88f000ec2c") version("1.00", sha256="d4be3ab38e4b87da8d689fe47413e01a7bfdf8c8627bfb673aac37953a463a92") + depends_on("c", type="build") # generated + def install(self, spec, prefix): configure("--prefix=%s" % prefix) diff --git a/var/spack/repos/builtin/packages/ndzip/package.py b/var/spack/repos/builtin/packages/ndzip/package.py index 867cb373dcfd04..91dead20db1011 100644 --- a/var/spack/repos/builtin/packages/ndzip/package.py +++ b/var/spack/repos/builtin/packages/ndzip/package.py @@ -25,6 +25,9 @@ class Ndzip(CMakePackage, CudaPackage): version("master", branch="master") version("2021-11-30", commit="5b3c34991005c0924a339f2ec06750729ebbf015") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cuda", description="build with cuda support", default=False) variant("openmp", description="build with cuda support", default=False) diff --git a/var/spack/repos/builtin/packages/neartree/package.py b/var/spack/repos/builtin/packages/neartree/package.py index a898593b6a1a42..789bff4e6b3cef 100644 --- a/var/spack/repos/builtin/packages/neartree/package.py +++ b/var/spack/repos/builtin/packages/neartree/package.py @@ -17,6 +17,9 @@ class Neartree(MakefilePackage): version("3.1", sha256="07b668516f15a7c13c219fd005b14e73bced5dc6b23857edcc24d3e5cf0d3be3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libtool", type="build") depends_on("cvector") diff --git a/var/spack/repos/builtin/packages/neic-finitefault/package.py b/var/spack/repos/builtin/packages/neic-finitefault/package.py index a27283e371740e..93607c6220a8c4 100644 --- a/var/spack/repos/builtin/packages/neic-finitefault/package.py +++ b/var/spack/repos/builtin/packages/neic-finitefault/package.py @@ -25,6 +25,9 @@ class NeicFinitefault(PythonPackage): version("20240410", commit="ef6a1a92d60549100885112e24a18e38d8d4ce0b") version("0.1.0", sha256="36b400dfc418bf78a3099f6fc308681c87ae320e6d71c7d0e98a2738e72fb570") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + resource( name="fd_bank", url="https://zenodo.org/records/7236739/files/fd_bank", diff --git a/var/spack/repos/builtin/packages/nek5000/package.py b/var/spack/repos/builtin/packages/nek5000/package.py index 2936177d7246e4..5221d0cb234c61 100644 --- a/var/spack/repos/builtin/packages/nek5000/package.py +++ b/var/spack/repos/builtin/packages/nek5000/package.py @@ -33,6 +33,9 @@ class Nek5000(Package): version("17.0", sha256="4d8d4793ce3c926c54e09a5a5968fa959fe0ba46bd2e6b8043e099528ee35a60") version("19.0", sha256="db129877a10ff568d49edc77cf65f9e732eecb1fce10edbd91ffc5ac10c41ad6") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # MPI, Profiling and Visit variants variant("mpi", default=True, description="Build with MPI.") variant("profiling", default=True, description="Build with profiling data.") diff --git a/var/spack/repos/builtin/packages/nekbone/package.py b/var/spack/repos/builtin/packages/nekbone/package.py index 23a494119d2c62..e6d36687cee2d7 100644 --- a/var/spack/repos/builtin/packages/nekbone/package.py +++ b/var/spack/repos/builtin/packages/nekbone/package.py @@ -27,6 +27,9 @@ class Nekbone(Package): extension=".tar.gz", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # Variants variant("mpi", default=True, description="Build with MPI") diff --git a/var/spack/repos/builtin/packages/nekcem/package.py b/var/spack/repos/builtin/packages/nekcem/package.py index 76fae8fd6cd5ad..51b8cc0b525ebe 100644 --- a/var/spack/repos/builtin/packages/nekcem/package.py +++ b/var/spack/repos/builtin/packages/nekcem/package.py @@ -27,6 +27,9 @@ class Nekcem(Package): version("0b8bedd", commit="0b8beddfdcca646bfcc866dfda1c5f893338399b") version("7332619", commit="7332619b73d03868a256614b61794dce2d95b360") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # dependencies depends_on("mpi", when="+mpi") depends_on("blas") diff --git a/var/spack/repos/builtin/packages/neko/package.py b/var/spack/repos/builtin/packages/neko/package.py index 3eab17ecabc564..7b83d6b83dc350 100644 --- a/var/spack/repos/builtin/packages/neko/package.py +++ b/var/spack/repos/builtin/packages/neko/package.py @@ -16,6 +16,7 @@ class Neko(AutotoolsPackage, CudaPackage, ROCmPackage): url = "https://github.com/ExtremeFLOW/neko/releases/download/v0.3.2/neko-0.3.2.tar.gz" maintainers("njansson") + version("0.8.0", sha256="09d0b253c8abda9f384bf8f03b17b50d774cb0a1f7b72744a8e863acac516a51") version("0.7.2", sha256="5dd17fbae83d0b26dc46fafce4e5444be679cdce9493cef4ff7d504e2f854254") version("0.7.1", sha256="c935c3d93b0975db46448045f97aced6ac2cab31a2b8803047f8086f98dcb981") version("0.7.0", sha256="fe871e0a79f388073e0b3dc191d1c0d5da3a53883f5b1951d88b9423fc79a53c") @@ -29,9 +30,13 @@ class Neko(AutotoolsPackage, CudaPackage, ROCmPackage): version("0.3.2", sha256="0628910aa9838a414f2f27d09ea9474d1b3d7dcb5a7715556049a2fdf81a71ae") version("0.3.0", sha256="e46bef72f694e59945514ab8b1ad7d74f87ec9dca2ba2b230e2148662baefdc8") version("develop", branch="develop") + + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated variant("parmetis", default=False, description="Build with support for parmetis") variant("xsmm", default=False, description="Build with support for libxsmm") - variant("gslib", default=False, when="@develop", description="Build with support for gslib") + variant("gslib", default=False, when="@0.7.0:", description="Build with support for gslib") + variant("hdf5", default=False, when="@develop", description="Build with support for HDF5") # Requires cuda or rocm enabled MPI variant( @@ -54,6 +59,7 @@ class Neko(AutotoolsPackage, CudaPackage, ROCmPackage): depends_on("json-fortran", when="@develop") depends_on("json-fortran", when="@0.7.0:") depends_on("gslib", when="+gslib") + depends_on("hdf5+fortran+mpi", when="+hdf5") def configure_args(self): args = [] @@ -63,6 +69,7 @@ def configure_args(self): args += self.with_or_without("metis", variant="parmetis", activation_value="prefix") args += self.with_or_without("libxsmm", variant="xsmm") args += self.with_or_without("gslib", variant="gslib", activation_value="prefix") + args += self.with_or_without("hdf5", variant="hdf5", activation_value="prefix") args += self.with_or_without("cuda", activation_value="prefix") rocm_fn = lambda x: self.spec["hip"].prefix args += self.with_or_without("hip", variant="rocm", activation_value=rocm_fn) diff --git a/var/spack/repos/builtin/packages/nekrs/package.py b/var/spack/repos/builtin/packages/nekrs/package.py index d3c9c41b74650f..1472bd26c46bcf 100644 --- a/var/spack/repos/builtin/packages/nekrs/package.py +++ b/var/spack/repos/builtin/packages/nekrs/package.py @@ -34,6 +34,10 @@ class Nekrs(Package, CudaPackage, ROCmPackage): version("21.0", tag="v21.0", commit="bcd890bf3f9fb4d91224c83aeda75c33570f1eaa") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("opencl", default=False, description="Activates support for OpenCL") # Conflicts: diff --git a/var/spack/repos/builtin/packages/nektar/package.py b/var/spack/repos/builtin/packages/nektar/package.py index b00a994efafe03..482a66a31ceae1 100644 --- a/var/spack/repos/builtin/packages/nektar/package.py +++ b/var/spack/repos/builtin/packages/nektar/package.py @@ -20,6 +20,9 @@ class Nektar(CMakePackage): version("5.4.0", commit="002bf62648ec667e10524ceb8a98bb1c21804130") version("5.3.0", commit="f286f809cfeb26cb73828c90a689a048898971d2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Builds with mpi support") variant("fftw", default=True, description="Builds with fftw support") variant("arpack", default=True, description="Builds with arpack support") diff --git a/var/spack/repos/builtin/packages/nektools/package.py b/var/spack/repos/builtin/packages/nektools/package.py index 125b3838f35a3e..90e7951449ad3c 100644 --- a/var/spack/repos/builtin/packages/nektools/package.py +++ b/var/spack/repos/builtin/packages/nektools/package.py @@ -40,6 +40,9 @@ class Nektools(Package): version("19.0", sha256="db129877a10ff568d49edc77cf65f9e732eecb1fce10edbd91ffc5ac10c41ad6") version("17.0", sha256="4d8d4793ce3c926c54e09a5a5968fa959fe0ba46bd2e6b8043e099528ee35a60") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # Variant for MAXNEL, we need to read this from user variant( "MAXNEL", diff --git a/var/spack/repos/builtin/packages/nemsio/package.py b/var/spack/repos/builtin/packages/nemsio/package.py index 68b4edb15eb6c3..f6fe0827accecc 100644 --- a/var/spack/repos/builtin/packages/nemsio/package.py +++ b/var/spack/repos/builtin/packages/nemsio/package.py @@ -28,6 +28,8 @@ class Nemsio(CMakePackage): version("2.5.3", sha256="3fe8a781fc96197803d369cafe0138f3a5cbbca9816a7f8fd57567a1719a4d49") version("2.5.2", sha256="c59e9379969690de8d030cbf4bbbbe3726faf13c304f3b88b0f6aec1496d2c08") + depends_on("fortran", type="build") # generated + depends_on("bacio") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/nemsiogfs/package.py b/var/spack/repos/builtin/packages/nemsiogfs/package.py index cd632b01a203e8..40b27022b7c5b5 100644 --- a/var/spack/repos/builtin/packages/nemsiogfs/package.py +++ b/var/spack/repos/builtin/packages/nemsiogfs/package.py @@ -21,4 +21,6 @@ class Nemsiogfs(CMakePackage): version("develop", branch="develop") version("2.5.3", sha256="bf84206b08c8779787bef33e4aba18404df05f8b2fdd20fc40b3af608ae4b9af") + depends_on("fortran", type="build") # generated + depends_on("nemsio") diff --git a/var/spack/repos/builtin/packages/neovim/package.py b/var/spack/repos/builtin/packages/neovim/package.py index 7924b894fab006..50baf6062fa9e2 100644 --- a/var/spack/repos/builtin/packages/neovim/package.py +++ b/var/spack/repos/builtin/packages/neovim/package.py @@ -19,6 +19,8 @@ class Neovim(CMakePackage): version("master", branch="master") version("stable", tag="stable", commit="d772f697a281ce9c58bf933997b87c7f27428a60") + version("0.10.0", sha256="372ea2584b0ea2a5a765844d95206bda9e4a57eaa1a2412a9a0726bab750f828") + version("0.9.5", sha256="fe74369fc30a32ec7a086b1013acd0eacd674e7570eb1acc520a66180c9e9719") version("0.9.4", sha256="148356027ee8d586adebb6513a94d76accc79da9597109ace5c445b09d383093") version("0.9.2", sha256="06b8518bad4237a28a67a4fbc16ec32581f35f216b27f4c98347acee7f5fb369") version("0.9.1", sha256="8db17c2a1f4776dcda00e59489ea0d98ba82f7d1a8ea03281d640e58d8a3a00e") @@ -77,6 +79,8 @@ class Neovim(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + variant( "no_luajit", default=False, @@ -135,6 +139,10 @@ class Neovim(CMakePackage): depends_on("libvterm@0.3:", type="link") with when("@0.9:"): depends_on("tree-sitter@0.20.8:") + with when("@0.10:"): + depends_on("cmake@3.13:", type="build") + depends_on("libvterm@0.3.3:") + depends_on("tree-sitter@0.20.9:") # Support for `libvterm@0.2:` has been added in neovim@0.8.0 # term: Add support for libvterm >= 0.2 (https://github.com/neovim/neovim/releases/tag/v0.8.0) diff --git a/var/spack/repos/builtin/packages/nest/package.py b/var/spack/repos/builtin/packages/nest/package.py index a664749bc67fa6..5dcfcdec2de0fa 100644 --- a/var/spack/repos/builtin/packages/nest/package.py +++ b/var/spack/repos/builtin/packages/nest/package.py @@ -22,6 +22,9 @@ class Nest(CMakePackage): version("3.0", sha256="d481ea67f3251fe3aadf5252ab0a999172f0cd5536c5985366d271d772e686e6") version("2.20.1", sha256="df3d32b5899d5d444f708037b290f889ac6ff8eae6b7be9e9faee2c0d660d8e5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + maintainers("ikitayama") variant("python", default=False, description="Build the PyNest interface") diff --git a/var/spack/repos/builtin/packages/net-snmp/package.py b/var/spack/repos/builtin/packages/net-snmp/package.py index d3573406542d33..0bbdae054a63f1 100644 --- a/var/spack/repos/builtin/packages/net-snmp/package.py +++ b/var/spack/repos/builtin/packages/net-snmp/package.py @@ -17,6 +17,8 @@ class NetSnmp(AutotoolsPackage): version("5.9.1", sha256="eb7fd4a44de6cddbffd9a92a85ad1309e5c1054fb9d5a7dd93079c8953f48c3f") version("5.9", sha256="04303a66f85d6d8b16d3cc53bde50428877c82ab524e17591dfceaeb94df6071") + depends_on("c", type="build") # generated + depends_on("perl-extutils-makemaker") depends_on("ncurses") diff --git a/var/spack/repos/builtin/packages/netcdf-c/package.py b/var/spack/repos/builtin/packages/netcdf-c/package.py index 4d8024d072e063..c046cc38b99dd7 100644 --- a/var/spack/repos/builtin/packages/netcdf-c/package.py +++ b/var/spack/repos/builtin/packages/netcdf-c/package.py @@ -53,6 +53,9 @@ class NetcdfC(CMakePackage, AutotoolsPackage): version("4.3.3.1", sha256="f2ee78eb310637c007f001e7c18e2d773d23f3455242bde89647137b7344c2e2") version("4.3.3", sha256="3f16e21bc3dfeb3973252b9addf5defb48994f84fc9c9356081f871526a680e7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + with when("build_system=cmake"): # TODO: document why we need to revert https://github.com/Unidata/netcdf-c/pull/1731 # with the following patch: @@ -134,6 +137,7 @@ class NetcdfC(CMakePackage, AutotoolsPackage): variant("fsync", default=False, description="Enable fsync support") variant("nczarr_zip", default=False, description="Enable NCZarr zipfile format storage") variant("optimize", default=True, description="Enable -O2 for a more optimized lib") + variant("logging", default=False, description="Enable logging") variant("szip", default=True, description="Enable Szip compression plugin") variant("blosc", default=True, description="Enable Blosc compression plugin") @@ -337,6 +341,7 @@ def cmake_args(self): self.define("ENABLE_PARALLEL_TESTS", False), self.define_from_variant("ENABLE_FSYNC", "fsync"), self.define("ENABLE_LARGE_FILE_SUPPORT", True), + self.define_from_variant("NETCDF_ENABLE_LOGGING", "logging"), ] if "+parallel-netcdf" in self.pkg.spec: base_cmake_args.append(self.define("ENABLE_PNETCDF", True)) @@ -432,6 +437,8 @@ def configure_args(self): config_args += self.enable_or_disable("fsync") + config_args += self.enable_or_disable("logging") + if any(self.spec.satisfies(s) for s in ["+mpi", "+parallel-netcdf", "^hdf5+mpi~shared"]): config_args.append("CC={0}".format(self.spec["mpi"].mpicc)) diff --git a/var/spack/repos/builtin/packages/netcdf-cxx/package.py b/var/spack/repos/builtin/packages/netcdf-cxx/package.py index 876e85b30be43e..4193c5894983f8 100644 --- a/var/spack/repos/builtin/packages/netcdf-cxx/package.py +++ b/var/spack/repos/builtin/packages/netcdf-cxx/package.py @@ -19,6 +19,8 @@ class NetcdfCxx(AutotoolsPackage): version("4.2", sha256="95ed6ab49a0ee001255eac4e44aacb5ca4ea96ba850c08337a3e4c9a0872ccd1") + depends_on("cxx", type="build") # generated + depends_on("netcdf-c") variant("netcdf4", default=True, description="Compile with netCDF4 support") diff --git a/var/spack/repos/builtin/packages/netcdf-fortran/package.py b/var/spack/repos/builtin/packages/netcdf-fortran/package.py index dbd4fd8e083f0f..c80f8843005e0d 100644 --- a/var/spack/repos/builtin/packages/netcdf-fortran/package.py +++ b/var/spack/repos/builtin/packages/netcdf-fortran/package.py @@ -32,6 +32,9 @@ class NetcdfFortran(AutotoolsPackage): version("4.4.4", sha256="b2d395175f8d283e68c8be516e231a96b191ade67ad0caafaf7fa01b1e6b5d75") version("4.4.3", sha256="330373aa163d5931e475b5e83da5c1ad041e855185f24e6a8b85d73b48d6cda9") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("pic", default=True, description="Produce position-independent code (for shared libs)") variant("shared", default=True, description="Enable shared library") variant("doc", default=False, description="Enable building docs") diff --git a/var/spack/repos/builtin/packages/netcdf95/package.py b/var/spack/repos/builtin/packages/netcdf95/package.py index 52a03c2b63a6aa..69df8425714c14 100644 --- a/var/spack/repos/builtin/packages/netcdf95/package.py +++ b/var/spack/repos/builtin/packages/netcdf95/package.py @@ -19,4 +19,7 @@ class Netcdf95(CMakePackage): version("0.3", tag="v0.3", commit="5b8db6bb66a22b6a080589ee1c11521ee3cae550", submodules=True) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("netcdf-fortran") diff --git a/var/spack/repos/builtin/packages/netdata/package.py b/var/spack/repos/builtin/packages/netdata/package.py index 9f4943759e4193..e9dda6be8cff2f 100644 --- a/var/spack/repos/builtin/packages/netdata/package.py +++ b/var/spack/repos/builtin/packages/netdata/package.py @@ -20,6 +20,10 @@ class Netdata(AutotoolsPackage): version("1.30.1", sha256="3df188ac04f17094cb929e2990841ba77f68aa6af484e0509b99db298fa206c9") version("1.22.1", sha256="f169c8615a6823448c2f1923c87c286d798132ea29d26f366e96d26e0aec3697") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("json-c") depends_on("judy") diff --git a/var/spack/repos/builtin/packages/netgauge/package.py b/var/spack/repos/builtin/packages/netgauge/package.py index 692ce5af1b5ceb..108abb8dd9c33e 100644 --- a/var/spack/repos/builtin/packages/netgauge/package.py +++ b/var/spack/repos/builtin/packages/netgauge/package.py @@ -22,6 +22,9 @@ class Netgauge(AutotoolsPackage): version("2.4.6", sha256="dc9398e4e042efec70881f2c7074ff18cc5b74bc5ffc4b8a4aaf813b39f83444") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("mpi") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/netgen/package.py b/var/spack/repos/builtin/packages/netgen/package.py index 4430a2530906ed..75b1fa6ee83937 100644 --- a/var/spack/repos/builtin/packages/netgen/package.py +++ b/var/spack/repos/builtin/packages/netgen/package.py @@ -19,6 +19,8 @@ class Netgen(AutotoolsPackage): version("5.3.1", sha256="cb97f79d8f4d55c00506ab334867285cde10873c8a8dc783522b47d2bc128bf9") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="enable mpi support") variant("oce", default=False, description="enable oce geometry kernel") variant("gui", default=False, description="enable gui") diff --git a/var/spack/repos/builtin/packages/netkit-ftp/package.py b/var/spack/repos/builtin/packages/netkit-ftp/package.py index beb565e4f123e2..8b2e373dbef123 100644 --- a/var/spack/repos/builtin/packages/netkit-ftp/package.py +++ b/var/spack/repos/builtin/packages/netkit-ftp/package.py @@ -16,6 +16,8 @@ class NetkitFtp(AutotoolsPackage): version("master", branch="master") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) mkdirp(prefix.man.man1) diff --git a/var/spack/repos/builtin/packages/netlib-lapack/package.py b/var/spack/repos/builtin/packages/netlib-lapack/package.py index 2b6eb12fa19a61..1686a0a76a424e 100644 --- a/var/spack/repos/builtin/packages/netlib-lapack/package.py +++ b/var/spack/repos/builtin/packages/netlib-lapack/package.py @@ -61,6 +61,9 @@ class NetlibLapack(CMakePackage): version("3.4.0", sha256="a7139ef97004d0e3c4c30f1c52d508fd7ae84b5fbaf0dd8e792c167dc306c3e9") version("3.3.1", sha256="56821ab51c29369a34e5085728f92c549a9aa926f26acf7eeac87b61eed329e4") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # netlib-lapack is the reference implementation of LAPACK for ver in [ "3.10.1", @@ -81,6 +84,7 @@ class NetlibLapack(CMakePackage): provides("lapack@" + ver, when="@" + ver) variant("shared", default=True, description="Build shared library version") + variant("pic", default=True, description="Produce position-independent code") variant("external-blas", default=False, description="Build lapack with an external blas") variant("lapacke", default=True, description="Activates the build of the LAPACKE C interface") @@ -108,8 +112,9 @@ class NetlibLapack(CMakePackage): # https://github.com/Reference-LAPACK/lapack/pull/268 patch("testing.patch", when="@3.7.0:3.8") - # virtual dependency - provides("blas", when="~external-blas") + # liblapack links to libblas, so if this package is used as a lapack + # provider, it must also provide blas. + provides("lapack", "blas", when="~external-blas") provides("lapack") depends_on("blas", when="+external-blas") @@ -183,6 +188,7 @@ class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder): def cmake_args(self): args = [ self.define_from_variant("BUILD_SHARED_LIBS", "shared"), + self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"), self.define_from_variant("LAPACKE", "lapacke"), self.define_from_variant("LAPACKE_WITH_TMG", "lapacke"), self.define("CBLAS", self.spec.satisfies("@3.6.0:")), diff --git a/var/spack/repos/builtin/packages/netlib-scalapack/package.py b/var/spack/repos/builtin/packages/netlib-scalapack/package.py index 62ce729e0602b3..38ad49f7957aad 100644 --- a/var/spack/repos/builtin/packages/netlib-scalapack/package.py +++ b/var/spack/repos/builtin/packages/netlib-scalapack/package.py @@ -123,5 +123,8 @@ class NetlibScalapack(ScalapackBase): version("2.0.1", sha256="a9b34278d4e10b40cbe084c6d87d09af8845e874250719bfbbc497b2a88bfde1") version("2.0.0", sha256="e51fbd9c3ef3a0dbd81385b868e2355900148eea689bf915c5383d72daf73114") version("master", branch="master") + + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated # versions before 2.0.0 are not using cmake and requires blacs as # a separated package diff --git a/var/spack/repos/builtin/packages/netlib-xblas/package.py b/var/spack/repos/builtin/packages/netlib-xblas/package.py index 787fe900241ca6..9c0dde12557652 100644 --- a/var/spack/repos/builtin/packages/netlib-xblas/package.py +++ b/var/spack/repos/builtin/packages/netlib-xblas/package.py @@ -27,6 +27,8 @@ class NetlibXblas(AutotoolsPackage): version("1.0.248", sha256="b5fe7c71c2da1ed9bcdc5784a12c5fa9fb417577513fe8a38de5de0007f7aaa1") + depends_on("c", type="build") # generated + variant("fortran", default=True, description="Build Fortran interfaces") variant("plain_blas", default=True, description="As part of XBLAS, build plain BLAS routines") diff --git a/var/spack/repos/builtin/packages/netpbm/package.py b/var/spack/repos/builtin/packages/netpbm/package.py index 320a414e2dc72a..4fe72eaa009098 100644 --- a/var/spack/repos/builtin/packages/netpbm/package.py +++ b/var/spack/repos/builtin/packages/netpbm/package.py @@ -30,6 +30,8 @@ class Netpbm(MakefilePackage): version("10.73.40", sha256="8542ae62aa744dfd52c8e425208f895f082955a0629ac1749f80278d6afc0344") version("10.73.35", sha256="628dbe8490bc43557813d1fedb2720dfdca0b80dd3f2364cb2a45c6ff04b0f18") + depends_on("c", type="build") # generated + # As a default we wish to commpile absolutely everything at once. # Variants are there in case compilation was a problem. variant("all", default=True, description="Enable all 3rd party libs") diff --git a/var/spack/repos/builtin/packages/netperf/package.py b/var/spack/repos/builtin/packages/netperf/package.py index ce320812fccaab..aacf408c1a9485 100644 --- a/var/spack/repos/builtin/packages/netperf/package.py +++ b/var/spack/repos/builtin/packages/netperf/package.py @@ -17,3 +17,5 @@ class Netperf(AutotoolsPackage): version("2.7.0", sha256="4569bafa4cca3d548eb96a486755af40bd9ceb6ab7c6abd81cc6aa4875007c4e") version("2.6.0", sha256="560b9c0ef0eed826941f74708b3ac53d91ec13b0b8c565fb107a1b5e6d99ded4") version("2.5.0", sha256="bebc94102fb74071cf289e0c116f83920dbd982f9e6c913ec0f1c7f6fcffbf77") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/nettle/package.py b/var/spack/repos/builtin/packages/nettle/package.py index a0262fab2870ab..df7f51d350e986 100644 --- a/var/spack/repos/builtin/packages/nettle/package.py +++ b/var/spack/repos/builtin/packages/nettle/package.py @@ -24,6 +24,9 @@ class Nettle(AutotoolsPackage, GNUMirrorPackage): version("2.7.1", sha256="bc71ebd43435537d767799e414fce88e521b7278d48c860651216e1fc6555b40") version("2.7", sha256="c294ea133c05382cc2effb1734d49f4abeb1ad8515543a333de49a11422cd4d6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("gmp") depends_on("m4", type="build") diff --git a/var/spack/repos/builtin/packages/neuron/package.py b/var/spack/repos/builtin/packages/neuron/package.py index 32d6f31dbdc655..2887ea934286aa 100644 --- a/var/spack/repos/builtin/packages/neuron/package.py +++ b/var/spack/repos/builtin/packages/neuron/package.py @@ -37,6 +37,10 @@ class Neuron(CMakePackage): "7.8.2", tag="7.8.2", commit="09b151ecb2b3984335c265932dc6ba3e4fcb318e", submodules="True" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("backtrace", default=False, description="Enable printing backtraces on failure") variant("interviews", default=False, description="Enable GUI with INTERVIEWS") variant("legacy-unit", default=False, description="Enable legacy units") diff --git a/var/spack/repos/builtin/packages/neve/package.py b/var/spack/repos/builtin/packages/neve/package.py index 916ad5091d4ba2..7e095a300cb7bc 100644 --- a/var/spack/repos/builtin/packages/neve/package.py +++ b/var/spack/repos/builtin/packages/neve/package.py @@ -17,6 +17,8 @@ class Neve(MakefilePackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + variant("openmp", default=True, description="Build with OpenMP support") variant("opt", default=True, description="Optimization flags") diff --git a/var/spack/repos/builtin/packages/newt/package.py b/var/spack/repos/builtin/packages/newt/package.py index b92803eba28996..5ef214d549387f 100644 --- a/var/spack/repos/builtin/packages/newt/package.py +++ b/var/spack/repos/builtin/packages/newt/package.py @@ -18,5 +18,7 @@ class Newt(AutotoolsPackage): version("0.52.20", sha256="8d66ba6beffc3f786d4ccfee9d2b43d93484680ef8db9397a4fb70b5adbb6dbc") version("0.52.19", sha256="08c0db56c21996af6a7cbab99491b774c6c09cef91cd9b03903c84634bff2e80") + depends_on("c", type="build") # generated + depends_on("slang") depends_on("popt") diff --git a/var/spack/repos/builtin/packages/nextdenovo/package.py b/var/spack/repos/builtin/packages/nextdenovo/package.py index fca9afd2ee70d5..b9c242e1568538 100644 --- a/var/spack/repos/builtin/packages/nextdenovo/package.py +++ b/var/spack/repos/builtin/packages/nextdenovo/package.py @@ -16,6 +16,8 @@ class Nextdenovo(MakefilePackage): version("2.5.2", sha256="f1d07c9c362d850fd737c41e5b5be9d137b1ef3f1aec369dc73c637790611190") + depends_on("c", type="build") # generated + depends_on("python", type="run") depends_on("py-paralleltask", type="run") diff --git a/var/spack/repos/builtin/packages/nfft/package.py b/var/spack/repos/builtin/packages/nfft/package.py index 3d86f0710b123e..8ae71152d45011 100644 --- a/var/spack/repos/builtin/packages/nfft/package.py +++ b/var/spack/repos/builtin/packages/nfft/package.py @@ -27,6 +27,8 @@ class Nfft(AutotoolsPackage): url="https://www-user.tu-chemnitz.de/~potts/nfft/download/nfft-3.2.4.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("fftw") _fftw_precisions = None diff --git a/var/spack/repos/builtin/packages/nfs-ganesha/package.py b/var/spack/repos/builtin/packages/nfs-ganesha/package.py index f5e0da3e6a401a..caf3e5da077514 100644 --- a/var/spack/repos/builtin/packages/nfs-ganesha/package.py +++ b/var/spack/repos/builtin/packages/nfs-ganesha/package.py @@ -18,6 +18,9 @@ class NfsGanesha(CMakePackage): version("3.0.3", sha256="fcc0361b9a2752be7eb4e990230765e17de373452ac24514be22c81a5447a460") version("3.0", sha256="136c5642ff21ec6e8a4e77c037f6218a39b2eeba77798b13556f1abbb0923ccd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("bison", type="build") depends_on("flex", type="build") depends_on("py-stsci-distutils", type="build") diff --git a/var/spack/repos/builtin/packages/nfs-utils/package.py b/var/spack/repos/builtin/packages/nfs-utils/package.py index 48c7d8c33d4fda..ddfb62dc720ec6 100644 --- a/var/spack/repos/builtin/packages/nfs-utils/package.py +++ b/var/spack/repos/builtin/packages/nfs-utils/package.py @@ -20,6 +20,8 @@ class NfsUtils(AutotoolsPackage): version("2.4.1", sha256="c0dda96318af554881f4eb1590bfe91f1aba2fba59ed2ac3ba099f80fdf838e9") version("2.3.4", sha256="36e70b0a583751ead0034ebe5d8826caf2dcc7ee7c0beefe94d6ee5a3b0b2484") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("libtirpc") depends_on("libevent") diff --git a/var/spack/repos/builtin/packages/nghttp2/package.py b/var/spack/repos/builtin/packages/nghttp2/package.py index c8c43b1569fb0f..28c02713ece46e 100644 --- a/var/spack/repos/builtin/packages/nghttp2/package.py +++ b/var/spack/repos/builtin/packages/nghttp2/package.py @@ -26,6 +26,9 @@ class Nghttp2(AutotoolsPackage): version("1.44.0", sha256="3e4824d02ae27eca931e0bb9788df00a26e5fd8eb672cf52cbb89c1463ba16e9") version("1.26.0", sha256="daf7c0ca363efa25b2cbb1e4bd925ac4287b664c3d1465f6a390359daa3f0cf1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("diffutils", type="build") diff --git a/var/spack/repos/builtin/packages/nginx/package.py b/var/spack/repos/builtin/packages/nginx/package.py index 55af399eb11eab..cdee6710cd40cf 100644 --- a/var/spack/repos/builtin/packages/nginx/package.py +++ b/var/spack/repos/builtin/packages/nginx/package.py @@ -25,6 +25,9 @@ class Nginx(AutotoolsPackage): version("1.13.8", sha256="8410b6c31ff59a763abf7e5a5316e7629f5a5033c95a3a0ebde727f9ec8464c5") version("1.12.0", sha256="b4222e26fdb620a8d3c3a3a8b955e08b713672e1bc5198d1e4f462308a795b30") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("openssl") depends_on("openssl@:1", when="@:1.21.2") depends_on("pcre") diff --git a/var/spack/repos/builtin/packages/ngmerge/package.py b/var/spack/repos/builtin/packages/ngmerge/package.py index 4114d071b977e9..7e627acfa2fb5c 100644 --- a/var/spack/repos/builtin/packages/ngmerge/package.py +++ b/var/spack/repos/builtin/packages/ngmerge/package.py @@ -16,6 +16,8 @@ class Ngmerge(MakefilePackage): version("0.3", sha256="5928f727feebd0d1bcdbee0e631ba06fbe9ce88328bd58b6c8bf4e54cc742ac3") + depends_on("c", type="build") # generated + depends_on("zlib-api") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/ngmlr/package.py b/var/spack/repos/builtin/packages/ngmlr/package.py index 51e5197f6a721e..748fbb262c0a47 100644 --- a/var/spack/repos/builtin/packages/ngmlr/package.py +++ b/var/spack/repos/builtin/packages/ngmlr/package.py @@ -19,6 +19,9 @@ class Ngmlr(CMakePackage): version("0.2.7", sha256="5126a6b3e726cac0da0713883daac688f38587f118428247a9a3ace5a55b29aa") version("0.2.5", sha256="719944a35cc7ff9c321eedbf3385a7375ce2301f609b3fd7be0a850cabbb028b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api", type="link") depends_on("sse2neon", when="target=aarch64:") diff --git a/var/spack/repos/builtin/packages/ngspice/package.py b/var/spack/repos/builtin/packages/ngspice/package.py index dafffd8f2292f3..0b22cd0df5a5d7 100644 --- a/var/spack/repos/builtin/packages/ngspice/package.py +++ b/var/spack/repos/builtin/packages/ngspice/package.py @@ -36,6 +36,9 @@ class Ngspice(AutotoolsPackage): version("29", sha256="8d6d0ffbc15f248eb6ec3bde3b9d1397fbc95cb677e1c6a14ff46065c7f95c4a") version("27", sha256="0c08c7d57a2e21cf164496f3237f66f139e0c78e38345fbe295217afaf150695") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # kicad needs build=lib, i.e. --with--ngshared variant( "build", diff --git a/var/spack/repos/builtin/packages/nicstat/package.py b/var/spack/repos/builtin/packages/nicstat/package.py index ef25505ae4ca7b..2018741df61eb5 100644 --- a/var/spack/repos/builtin/packages/nicstat/package.py +++ b/var/spack/repos/builtin/packages/nicstat/package.py @@ -20,6 +20,8 @@ class Nicstat(MakefilePackage, SourceforgePackage): version("1.95", sha256="c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367") + depends_on("c", type="build") # generated + def edit(self, spec, prefix): copy("Makefile.Linux", "makefile") filter_file(r"CMODEL =\s+-m32", "", "makefile") diff --git a/var/spack/repos/builtin/packages/nim/package.py b/var/spack/repos/builtin/packages/nim/package.py index c08eb2e29ce921..241ec9259e264e 100644 --- a/var/spack/repos/builtin/packages/nim/package.py +++ b/var/spack/repos/builtin/packages/nim/package.py @@ -38,6 +38,9 @@ class Nim(Package): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pcre") depends_on("openssl") diff --git a/var/spack/repos/builtin/packages/nimrod-aai/package.py b/var/spack/repos/builtin/packages/nimrod-aai/package.py index d266e5780f9c20..0b24858ef86886 100644 --- a/var/spack/repos/builtin/packages/nimrod-aai/package.py +++ b/var/spack/repos/builtin/packages/nimrod-aai/package.py @@ -23,6 +23,8 @@ class NimrodAai(CMakePackage): version("23.9", sha256="34f7ee00bbbe9a6d08304473e8893af9bd94af8dbd0bbd50b8b441057023e179") version("23.6", sha256="de7e5c5cc2ad97dc0e66628d29c8153fa807821a316eb9aa8ee21a39c69df800") + depends_on("fortran", type="build") # generated + variant("debug", default=False, description="Whether to enable debug code") variant("openacc", default=False, description="Whether to enable OpenACC") variant( diff --git a/var/spack/repos/builtin/packages/ninja-fortran/package.py b/var/spack/repos/builtin/packages/ninja-fortran/package.py index 02daabf9dab778..071a64b7b6b1da 100644 --- a/var/spack/repos/builtin/packages/ninja-fortran/package.py +++ b/var/spack/repos/builtin/packages/ninja-fortran/package.py @@ -46,6 +46,9 @@ class NinjaFortran(Package): "1.7.1.0.g7ca7f", sha256="53472d0c3cf9c1cff7e991699710878be55d21a1c229956dea6a2c3e44edee80" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python", type="build") phases = ["configure", "install"] diff --git a/var/spack/repos/builtin/packages/ninja-phylogeny/package.py b/var/spack/repos/builtin/packages/ninja-phylogeny/package.py index f6251cf54e82a3..f0c325ebae0e33 100644 --- a/var/spack/repos/builtin/packages/ninja-phylogeny/package.py +++ b/var/spack/repos/builtin/packages/ninja-phylogeny/package.py @@ -18,6 +18,8 @@ class NinjaPhylogeny(MakefilePackage): version("0.98", sha256="55675e1a9d51eddb3decc9a7570b6bcddb12e8a922cf1ca0a1ea43995793c9db") + depends_on("cxx", type="build") # generated + build_directory = "NINJA" def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/ninja/package.py b/var/spack/repos/builtin/packages/ninja/package.py index b4c2160fbf5251..c63972d0484558 100644 --- a/var/spack/repos/builtin/packages/ninja/package.py +++ b/var/spack/repos/builtin/packages/ninja/package.py @@ -37,6 +37,9 @@ class Ninja(Package): version("1.7.2", sha256="2edda0a5421ace3cf428309211270772dd35a91af60c96f93f90df6bc41b16d9") version("1.6.0", sha256="b43e88fb068fe4d92a3dfd9eb4d19755dae5c33415db2e9b7b61b4659009cde7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "re2c", default=not sys.platform == "win32", description="Enable buidling Ninja with re2c" ) diff --git a/var/spack/repos/builtin/packages/njet/package.py b/var/spack/repos/builtin/packages/njet/package.py index d9f48c7dc04a3c..25d1dca28a3a27 100644 --- a/var/spack/repos/builtin/packages/njet/package.py +++ b/var/spack/repos/builtin/packages/njet/package.py @@ -20,6 +20,10 @@ class Njet(AutotoolsPackage): version("2.1.1", sha256="3858ad37e84f3652711aa033819a6566352ecff04a1cb0189d6590af75b7bb56") version("2.0.0", sha256="a1f5c171b8aff3553d9dde24d3ced5479bdaeec67f4c90c70a846ee3449b40ea") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("qd") patch("njet-2.0.0.patch", when="@2.0.0", level=0) diff --git a/var/spack/repos/builtin/packages/nlcglib/package.py b/var/spack/repos/builtin/packages/nlcglib/package.py index 694fbbfc5c1fed..5f854969007bf1 100644 --- a/var/spack/repos/builtin/packages/nlcglib/package.py +++ b/var/spack/repos/builtin/packages/nlcglib/package.py @@ -18,11 +18,13 @@ class Nlcglib(CMakePackage, CudaPackage, ROCmPackage): license("BSD-3-Clause") version("develop", branch="develop") - version("master", branch="master") + version("1.1.0", sha256="9e7c2eea84a5ce191bd9af08f6c890717f7b6e88be7bd15cfe774eb0e0dabd8a") version("1.0b", sha256="086c46f06a117f267cbdf1df4ad42a8512689a9610885763f463469fb15e82dc") version("0.9", sha256="8d5bc6b85ee714fb3d6480f767e7f43e5e7d569116cf60e48f533a7f50a37a08") + depends_on("cxx", type="build") # generated + variant("openmp", default=True, description="Use OpenMP") variant("tests", default=False, description="Build tests") variant( @@ -32,13 +34,26 @@ class Nlcglib(CMakePackage, CudaPackage, ROCmPackage): values=("Debug", "Release", "RelWithDebInfo"), ) + with when("@1.1: +cuda"): + variant( + "gpu_direct", + default=False, + description="Enable GPU direct. Required to support distributed wave-functions.", + ) + depends_on("cmake@3.21:", type="build") depends_on("mpi") depends_on("lapack") + depends_on("kokkos~cuda~rocm", when="~cuda~rocm") depends_on("kokkos+openmp", when="+openmp") + depends_on("googletest", type="build", when="+tests") depends_on("nlohmann-json") + depends_on("kokkos@4:", when="@1.1:") + + # MKLConfig.cmake introduced in 2021.3 + conflicts("intel-oneapi-mkl@:2021.2", when="^intel-oneapi-mkl") with when("@:0.9"): conflicts("+rocm") @@ -51,18 +66,18 @@ class Nlcglib(CMakePackage, CudaPackage, ROCmPackage): depends_on("rocblas") depends_on("rocsolver") - for arch in CudaPackage.cuda_arch_values: - depends_on( - f"kokkos+cuda+cuda_lambda+wrapper cuda_arch={arch}", - when=f"%gcc +cuda cuda_arch={arch}", - ) - depends_on(f"kokkos+cuda cuda_arch={arch}", when=f"+cuda cuda_arch={arch}") + with when("+cuda"): + depends_on("kokkos+cuda_lambda+wrapper", when="%gcc") + depends_on("kokkos+cuda") + for arch in CudaPackage.cuda_arch_values: + depends_on(f"kokkos cuda_arch={arch}", when=f"cuda_arch={arch}") def cmake_args(self): options = [ self.define_from_variant("USE_OPENMP", "openmp"), self.define_from_variant("BUILD_TESTS", "tests"), self.define_from_variant("USE_ROCM", "rocm"), + self.define_from_variant("USE_GPU_DIRECT", "gpu_direct"), self.define_from_variant("USE_MAGMA", "magma"), self.define_from_variant("USE_CUDA", "cuda"), ] @@ -71,6 +86,29 @@ def cmake_args(self): options += [self.define("LAPACK_VENDOR", "MKL")] elif self.spec["blas"].name in ["intel-oneapi-mkl"]: options += [self.define("LAPACK_VENDOR", "MKLONEAPI")] + mkl_mapper = { + "threading": {"none": "sequential", "openmp": "gnu_thread", "tbb": "tbb_thread"}, + "mpi": {"intel-mpi": "intelmpi", "mpich": "mpich", "openmpi": "openmpi"}, + } + + mkl_threads = mkl_mapper["threading"][ + self.spec["intel-oneapi-mkl"].variants["threads"].value + ] + + mpi_provider = self.spec["mpi"].name + if mpi_provider in ["mpich", "cray-mpich", "mvapich", "mvapich2"]: + mkl_mpi = mkl_mapper["mpi"]["mpich"] + else: + mkl_mpi = mkl_mapper["mpi"][mpi_provider] + + options.extend( + [ + self.define("MKL_INTERFACE", "lp64"), + self.define("MKL_THREADING", mkl_threads), + self.define("MKL_MPI", mkl_mpi), + ] + ) + elif self.spec["blas"].name in ["openblas"]: options += [self.define("LAPACK_VENDOR", "OpenBLAS")] else: diff --git a/var/spack/repos/builtin/packages/nlohmann-json-schema-validator/package.py b/var/spack/repos/builtin/packages/nlohmann-json-schema-validator/package.py index 166c5344b781dd..29f9946567fa83 100644 --- a/var/spack/repos/builtin/packages/nlohmann-json-schema-validator/package.py +++ b/var/spack/repos/builtin/packages/nlohmann-json-schema-validator/package.py @@ -22,6 +22,8 @@ class NlohmannJsonSchemaValidator(CMakePackage): version("2.0.0", sha256="ca8e4ca5a88c49ea52b5f5c2a08a293dbf02b2fc66cb8c09d4cce5810ee98b57") version("1.0.0", sha256="4bdcbf6ce98eda993d8a928dbe97a03f46643395cb872af875a908156596cc4b") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.2:", type="build") depends_on("nlohmann-json") diff --git a/var/spack/repos/builtin/packages/nlohmann-json/package.py b/var/spack/repos/builtin/packages/nlohmann-json/package.py index aba852e55e670d..d0003219c60039 100644 --- a/var/spack/repos/builtin/packages/nlohmann-json/package.py +++ b/var/spack/repos/builtin/packages/nlohmann-json/package.py @@ -36,6 +36,9 @@ class NlohmannJson(CMakePackage): version("3.1.2", sha256="e8fffa6cbdb3c15ecdff32eebf958b6c686bc188da8ad5c6489462d16f83ae54") version("3.1.1", sha256="9f3549824af3ca7e9707a2503959886362801fb4926b869789d6929098a79e47") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "multiple_headers", default=True, description="Use non-amalgamated version of the library" ) diff --git a/var/spack/repos/builtin/packages/nlopt/package.py b/var/spack/repos/builtin/packages/nlopt/package.py index b71450d78f4a98..fd9ed9b18f4877 100644 --- a/var/spack/repos/builtin/packages/nlopt/package.py +++ b/var/spack/repos/builtin/packages/nlopt/package.py @@ -29,6 +29,10 @@ class Nlopt(CMakePackage): version("2.6.0", sha256="a13077cdf5f5f1127eaaac0bf1e06744bfe98d8a4a3430a15e0af50a69f451ab") version("2.5.0", sha256="c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries") variant("python", default=True, description="Build python wrappers") variant("guile", default=False, description="Enable Guile support") diff --git a/var/spack/repos/builtin/packages/nmap/package.py b/var/spack/repos/builtin/packages/nmap/package.py index 47ef9de535c939..205ae5c56e4cb4 100644 --- a/var/spack/repos/builtin/packages/nmap/package.py +++ b/var/spack/repos/builtin/packages/nmap/package.py @@ -33,6 +33,9 @@ class Nmap(AutotoolsPackage): version("6.40", sha256="491f77d8b3fb3bb38ba4e3850011fe6fb43bbe197f9382b88cb59fa4e8f7a401") version("6.01", sha256="77f6635b677d28b546cbef97e4ead6c2d4a5aebcaa108fe3a3c135db6448617a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("liblua", default=True, description="Enable lua (required by all of NSE)") variant("ncat", default=True, description="Enable ncat") variant("nping", default=True, description="Enable nping") diff --git a/var/spack/repos/builtin/packages/nn-c/package.py b/var/spack/repos/builtin/packages/nn-c/package.py index d66c061de2b60f..29e262e7153957 100644 --- a/var/spack/repos/builtin/packages/nn-c/package.py +++ b/var/spack/repos/builtin/packages/nn-c/package.py @@ -17,6 +17,8 @@ class NnC(AutotoolsPackage): version("master", branch="master") version("1.86.2", commit="343c7784d38d3270d75d450569fc0b64767c37e9") + depends_on("c", type="build") # generated + variant("pic", default=True, description="Produce position-independent code (for shared libs)") configure_directory = "nn" diff --git a/var/spack/repos/builtin/packages/nnpack/package.py b/var/spack/repos/builtin/packages/nnpack/package.py index 36110c6f4ffe42..88c7398f61a475 100644 --- a/var/spack/repos/builtin/packages/nnpack/package.py +++ b/var/spack/repos/builtin/packages/nnpack/package.py @@ -20,6 +20,9 @@ class Nnpack(CMakePackage): version("2018-05-21", commit="3eb0d453662d05a708f43b108bed9e17b705383e") # py-torch@0.4.1 version("2018-04-05", commit="b63fe1ba8963f1756b8decc593766615cee99c35") # py-torch@:0.4.0 + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + generator("ninja") depends_on("cmake@2.8.12:", type="build") depends_on("python", type="build") diff --git a/var/spack/repos/builtin/packages/nnvm/package.py b/var/spack/repos/builtin/packages/nnvm/package.py index ca57d8aa199a00..974177ffcd3e67 100644 --- a/var/spack/repos/builtin/packages/nnvm/package.py +++ b/var/spack/repos/builtin/packages/nnvm/package.py @@ -18,6 +18,8 @@ class Nnvm(CMakePackage): version("master", branch="master") version("20170418", commit="b279286304ac954098d94a2695bca599e832effb") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build a shared NNVM lib.") depends_on("dmlc-core") diff --git a/var/spack/repos/builtin/packages/node-js/package.py b/var/spack/repos/builtin/packages/node-js/package.py index 744304f4660afd..f624f59b2fc61d 100644 --- a/var/spack/repos/builtin/packages/node-js/package.py +++ b/var/spack/repos/builtin/packages/node-js/package.py @@ -40,6 +40,9 @@ class NodeJs(Package): version("14.13.0", sha256="8538b2e76aa06ee0e6eb1c118426c3c5ca53b2e49d66591738eacf76e89edd61") version("14.10.0", sha256="7e0d7a1aa23697415e3588a1ca4f1c47496e6c88b9cf37c66be90353d3e4ac3e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("debug", default=False, description="Include debugger support") variant("doc", default=False, description="Compile with documentation") variant( diff --git a/var/spack/repos/builtin/packages/nopayloadclient/package.py b/var/spack/repos/builtin/packages/nopayloadclient/package.py index 92319d0f62e9b9..0686d1b74e4c0c 100644 --- a/var/spack/repos/builtin/packages/nopayloadclient/package.py +++ b/var/spack/repos/builtin/packages/nopayloadclient/package.py @@ -20,6 +20,9 @@ class Nopayloadclient(CMakePackage): version("main", branch="main") version("0.0.3", sha256="9481981d0cfbe1727f08ae3d1129c142a952d5e67ddb9ad88224356040af2225") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("curl") depends_on("nlohmann-json", type="build") diff --git a/var/spack/repos/builtin/packages/notmuch/package.py b/var/spack/repos/builtin/packages/notmuch/package.py index 744dbd029b2592..4b500fcb744615 100644 --- a/var/spack/repos/builtin/packages/notmuch/package.py +++ b/var/spack/repos/builtin/packages/notmuch/package.py @@ -19,6 +19,9 @@ class Notmuch(AutotoolsPackage): version("0.23.7", sha256="f11bb10d71945f6c3f16d23117afc70810aa485878e66bb4bf43cc3f08038913") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("talloc") depends_on("gmime@2.6:") diff --git a/var/spack/repos/builtin/packages/npb/package.py b/var/spack/repos/builtin/packages/npb/package.py index e14f99bbabef62..439a09e45ce9fb 100644 --- a/var/spack/repos/builtin/packages/npb/package.py +++ b/var/spack/repos/builtin/packages/npb/package.py @@ -35,6 +35,9 @@ class Npb(MakefilePackage): version("3.3.1", sha256="4a8ea679b1df69f583c544c47198b3c26a50ec2bb6f8f69aef66c04c9a747d2d") version("3.4.1", sha256="f3a43467da6e84a829ea869156d3ea86c17932136bb413a4b6dab23018a28881") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # Valid Benchmark Names valid_names = ( "is", # Integer Sort, random memory access diff --git a/var/spack/repos/builtin/packages/npm/package.py b/var/spack/repos/builtin/packages/npm/package.py index decade229c4984..d44566a3ab4d82 100644 --- a/var/spack/repos/builtin/packages/npm/package.py +++ b/var/spack/repos/builtin/packages/npm/package.py @@ -23,6 +23,8 @@ class Npm(Package): version("7.24.2", sha256="5b9eeea011f8bc3b76e55cc33339e87213800677f37e0756ad13ef0e9eaccd64") version("6.14.18", sha256="c9b15f277e2a0b1b57e05bad04504296a27024555d56c2aa967f862e957ad2ed") + depends_on("cxx", type="build") # generated + depends_on("node-js", type=("build", "run")) depends_on("libvips", when="@:7") diff --git a/var/spack/repos/builtin/packages/npth/package.py b/var/spack/repos/builtin/packages/npth/package.py index 386b6ec307b652..317d1adf456f92 100644 --- a/var/spack/repos/builtin/packages/npth/package.py +++ b/var/spack/repos/builtin/packages/npth/package.py @@ -19,3 +19,5 @@ class Npth(AutotoolsPackage): version("1.6", sha256="1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1") version("1.5", sha256="294a690c1f537b92ed829d867bee537e46be93fbd60b16c04630fbbfcd9db3c2") version("1.4", sha256="8915141836a3169a502d65c1ebd785fcc6d406cae5ee84474272ebf2fa96f1f2") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/ns-3-dev/package.py b/var/spack/repos/builtin/packages/ns-3-dev/package.py index 6a8aef33b1e06e..a6a8d6fc9114e2 100644 --- a/var/spack/repos/builtin/packages/ns-3-dev/package.py +++ b/var/spack/repos/builtin/packages/ns-3-dev/package.py @@ -18,6 +18,9 @@ class Ns3Dev(CMakePackage): version("3.40", sha256="96526e7ae6cb746d02af0cad04f63daff926dad5d30a6fe0d3c7943989ba4e59") version("3.37", sha256="d72defeeddbba14397cd4403565992d98cd7b7d9c680c22fee56022706878720") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("boost", default=True, description="Compile with Boost libraries") depends_on("gsl") diff --git a/var/spack/repos/builtin/packages/nsimd/package.py b/var/spack/repos/builtin/packages/nsimd/package.py index d7981d1ff46783..fc4f02baeeb888 100644 --- a/var/spack/repos/builtin/packages/nsimd/package.py +++ b/var/spack/repos/builtin/packages/nsimd/package.py @@ -26,6 +26,9 @@ class Nsimd(CMakePackage): # version('2.0', sha256='b239e98316f93257161b25c8232634884edcee358982a74742981cc9b68da642') version("1.0", sha256="523dae83f1d93eab30114321f1c9a67e2006a52595da4c51f121ca139abe0857") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "simd", default="auto", diff --git a/var/spack/repos/builtin/packages/nspr/package.py b/var/spack/repos/builtin/packages/nspr/package.py index f18f4c778d7d56..a2fa85d11ee67c 100644 --- a/var/spack/repos/builtin/packages/nspr/package.py +++ b/var/spack/repos/builtin/packages/nspr/package.py @@ -22,6 +22,9 @@ class Nspr(AutotoolsPackage): version("4.31", sha256="5729da87d5fbf1584b72840751e0c6f329b5d541850cacd1b61652c95015abc8") version("4.13.1", sha256="5e4c1751339a76e7c772c0c04747488d7f8c98980b434dc846977e43117833ab") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("perl", type="build") configure_directory = "nspr" diff --git a/var/spack/repos/builtin/packages/nss/package.py b/var/spack/repos/builtin/packages/nss/package.py index 3f10701b42e19f..189140250d6629 100644 --- a/var/spack/repos/builtin/packages/nss/package.py +++ b/var/spack/repos/builtin/packages/nss/package.py @@ -28,6 +28,9 @@ class Nss(MakefilePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("nspr@4.24:") depends_on("sqlite") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/ntirpc/package.py b/var/spack/repos/builtin/packages/ntirpc/package.py index b35f256d49a009..6922fbe3810f79 100644 --- a/var/spack/repos/builtin/packages/ntirpc/package.py +++ b/var/spack/repos/builtin/packages/ntirpc/package.py @@ -18,5 +18,7 @@ class Ntirpc(CMakePackage): version("1.8.0", sha256="3bb642dccc8f2506b57a03b5d3358654f59f47b33fddfaa5a7330df4cf336f9f") version("1.7.3", sha256="8713ef095efc44df426bbd2b260ad457e5335bf3008fb97f01b0775c8042e54b") + depends_on("c", type="build") # generated + depends_on("libnsl") depends_on("userspace-rcu") diff --git a/var/spack/repos/builtin/packages/ntl/package.py b/var/spack/repos/builtin/packages/ntl/package.py index 2096c3334b42be..f7cf1c35f76da2 100644 --- a/var/spack/repos/builtin/packages/ntl/package.py +++ b/var/spack/repos/builtin/packages/ntl/package.py @@ -26,6 +26,8 @@ class Ntl(MakefilePackage): version("11.5.0", sha256="9e1e6488b177c3e5d772fdd6279c890937a9d1c3b694a904ac1cfbe9cab836db") version("11.4.4", sha256="2ce7a10fadbed6c3859d72c859612a4ca0dbdf6a9db99db4261422b7f0804bfa") + depends_on("cxx", type="build") # generated + variant("shared", default=False, description="Build shared library.") depends_on("gmp") diff --git a/var/spack/repos/builtin/packages/ntpoly/package.py b/var/spack/repos/builtin/packages/ntpoly/package.py index b6b736a6f77402..57db40ac75b51d 100644 --- a/var/spack/repos/builtin/packages/ntpoly/package.py +++ b/var/spack/repos/builtin/packages/ntpoly/package.py @@ -23,13 +23,25 @@ class Ntpoly(CMakePackage): version("3.1.0", sha256="71cd6827f20c68e384555dbcfc85422d0690e21d21d7b5d4f7375544a2755271") version("2.3.1", sha256="af8c7690321607fbdee9671b9cb3acbed945148014e0541435858cf82bfd887e") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + + variant("shared", default=True, description="Build shared libraries.") + depends_on("cmake", type="build") depends_on("blas", type="link") depends_on("mpi@3") def cmake_args(self): - args = ["-DNOSWIG=Yes"] + args = ["-DNOSWIG=Yes", self.define_from_variant("BUILD_SHARED_LIBS", "shared")] + if self.spec.satisfies("%fj"): args.append("-DCMAKE_Fortran_MODDIR_FLAG=-M") return args + + @property + def libs(self): + return find_libraries( + ["libNTPoly", "libNTPolyCPP", "libNTPolyWrapper"], root=self.home, recursive=True + ) diff --git a/var/spack/repos/builtin/packages/numactl/package.py b/var/spack/repos/builtin/packages/numactl/package.py index 1d50ca656e9191..0abd8d7c5a9434 100644 --- a/var/spack/repos/builtin/packages/numactl/package.py +++ b/var/spack/repos/builtin/packages/numactl/package.py @@ -20,6 +20,8 @@ class Numactl(AutotoolsPackage): version("2.0.12", sha256="7c3e819c2bdeb883de68bafe88776a01356f7ef565e75ba866c4b49a087c6bdf") version("2.0.11", sha256="3e099a59b2c527bcdbddd34e1952ca87462d2cef4c93da9b0bc03f02903f7089") + depends_on("c", type="build") # generated + patch("numactl-2.0.11-sysmacros.patch", when="@2.0.11") # https://github.com/numactl/numactl/issues/94 patch("numactl-2.0.14-symver.patch", when="@2.0.14") diff --git a/var/spack/repos/builtin/packages/numamma/package.py b/var/spack/repos/builtin/packages/numamma/package.py index 01bfa7fe4869d1..a560b619d7b619 100644 --- a/var/spack/repos/builtin/packages/numamma/package.py +++ b/var/spack/repos/builtin/packages/numamma/package.py @@ -18,6 +18,8 @@ class Numamma(CMakePackage): version("1.1.1", sha256="f79ca22a95df33a1af529ddd653d043f7f0d32a6d196e559aee8bef8fc74771f") + depends_on("c", type="build") # generated + depends_on("numap") depends_on("libbacktrace") depends_on("numactl") diff --git a/var/spack/repos/builtin/packages/numap/package.py b/var/spack/repos/builtin/packages/numap/package.py index 85ebf348ca324f..6e5623ae3400ef 100644 --- a/var/spack/repos/builtin/packages/numap/package.py +++ b/var/spack/repos/builtin/packages/numap/package.py @@ -17,4 +17,6 @@ class Numap(CMakePackage): version("master", branch="master") version("2019-09-06", commit="ffcdb88c64b59b7a3220eb1077d2b237029ca96a") + depends_on("c", type="build") # generated + depends_on("libpfm4") diff --git a/var/spack/repos/builtin/packages/numaprof/package.py b/var/spack/repos/builtin/packages/numaprof/package.py index bd7a2cd9e1a8ad..cb0282eca6a2c9 100644 --- a/var/spack/repos/builtin/packages/numaprof/package.py +++ b/var/spack/repos/builtin/packages/numaprof/package.py @@ -25,6 +25,9 @@ class Numaprof(CMakePackage): version("1.1.5", sha256="7c479cc6d39f2fe685532b9aaeb9efce8153350177fdcc24133e447dd0776323") version("1.1.4", sha256="96cc5e153895f43d8be58e052433c9e7c9842071cc6bf915b3b1b346908cbbff") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Variants variant( "qt", default=False, description="Build the QT embeded webview with Pyton + QT web toolkit" diff --git a/var/spack/repos/builtin/packages/numdiff/package.py b/var/spack/repos/builtin/packages/numdiff/package.py index 2fee673edbd14f..6d01acc677a9d2 100644 --- a/var/spack/repos/builtin/packages/numdiff/package.py +++ b/var/spack/repos/builtin/packages/numdiff/package.py @@ -19,6 +19,8 @@ class Numdiff(AutotoolsPackage): version("5.9.0", sha256="87284a117944723eebbf077f857a0a114d818f8b5b54d289d59e73581194f5ef") version("5.8.1", sha256="99aebaadf63325f5658411c09c6dde60d2990c5f9a24a51a6851cb574a4af503") + depends_on("c", type="build") # generated + variant("nls", default=False, description="Enable Natural Language Support") variant("gmp", default=False, description="Use GNU Multiple Precision Arithmetic Library") diff --git a/var/spack/repos/builtin/packages/nut/package.py b/var/spack/repos/builtin/packages/nut/package.py index 42764b62bcb53c..4d00edcbb31950 100644 --- a/var/spack/repos/builtin/packages/nut/package.py +++ b/var/spack/repos/builtin/packages/nut/package.py @@ -23,6 +23,8 @@ class Nut(CMakePackage): version("master", branch="master") version("0.1.1", sha256="9f1dca4a9d7003b170fd57d6720228ff25471616cf884e033652e90c49c089bb") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.0:", type="build") depends_on("random123") diff --git a/var/spack/repos/builtin/packages/nvbandwidth/package.py b/var/spack/repos/builtin/packages/nvbandwidth/package.py index 64f4fa5eee7291..677574ba22ea5d 100644 --- a/var/spack/repos/builtin/packages/nvbandwidth/package.py +++ b/var/spack/repos/builtin/packages/nvbandwidth/package.py @@ -42,6 +42,8 @@ class Nvbandwidth(CMakePackage, CudaPackage): sha256="ce164f91e35d1b28ebb1f83b22f38199e430d18ebfb8e21fa8c5e53c38d82daf", ) + depends_on("cxx", type="build") # generated + depends_on("boost@1.66.0 +program_options") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/nvcomp/package.py b/var/spack/repos/builtin/packages/nvcomp/package.py index 6dccb895bb1a06..e8a05563ebd2ae 100644 --- a/var/spack/repos/builtin/packages/nvcomp/package.py +++ b/var/spack/repos/builtin/packages/nvcomp/package.py @@ -26,6 +26,9 @@ class Nvcomp(CMakePackage, CudaPackage): version("2.2.0", commit="3737f6e5028ed1887b0023ad0fc033e139d57574") version("2.0.2", commit="5d5c194f3449486d989057f632d10954b8d11d75") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cuda") conflicts("~cuda") diff --git a/var/spack/repos/builtin/packages/nvdimmsim/package.py b/var/spack/repos/builtin/packages/nvdimmsim/package.py index 90cf100ab34a39..a8928e9dd3771c 100644 --- a/var/spack/repos/builtin/packages/nvdimmsim/package.py +++ b/var/spack/repos/builtin/packages/nvdimmsim/package.py @@ -20,6 +20,8 @@ class Nvdimmsim(MakefilePackage): version("2.0.0", sha256="2a621ef10be5e52a1f543985d08354a2e6ee6532b5720e5f17ad6362cfd4adef") + depends_on("cxx", type="build") # generated + def build(self, spec, prefix): with working_dir("src"): if spec.satisfies("platform=darwin"): diff --git a/var/spack/repos/builtin/packages/nvhpc/package.py b/var/spack/repos/builtin/packages/nvhpc/package.py index a5ee689844ef78..7b8c9bc553b798 100644 --- a/var/spack/repos/builtin/packages/nvhpc/package.py +++ b/var/spack/repos/builtin/packages/nvhpc/package.py @@ -23,11 +23,11 @@ _versions = { "24.5": { "Linux-aarch64": ( - "c199ad9e5d260471a7d30fd3ebc527e8a66b656db42541f9b022db25a80ad843", + "c52b5ba370e053472cbffb825ba1da5b6abaee93d4e15479ec12c32d6ebc47d5", "https://developer.download.nvidia.com/hpc-sdk/24.5/nvhpc_2024_245_Linux_aarch64_cuda_multi.tar.gz", ), "Linux-x86_64": ( - "58019f85edab2fa2e424d3623ab3312d08fcabd6834af2ef5acb060860a99cd7", + "e26c5027ffd83fd9e854946670a97253e950cdbacd4894a6715aea91070042ae", "https://developer.download.nvidia.com/hpc-sdk/24.5/nvhpc_2024_245_Linux_x86_64_cuda_multi.tar.gz", ), }, @@ -408,6 +408,10 @@ class Nvhpc(Package, CompilerPackage): if pkg: version(ver, sha256=pkg[0], url=pkg[1]) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("blas", default=True, description="Enable BLAS") variant( "install_type", diff --git a/var/spack/repos/builtin/packages/nvptx-tools/package.py b/var/spack/repos/builtin/packages/nvptx-tools/package.py index 7305a403476178..e442fbc17ef2ee 100644 --- a/var/spack/repos/builtin/packages/nvptx-tools/package.py +++ b/var/spack/repos/builtin/packages/nvptx-tools/package.py @@ -19,6 +19,9 @@ class NvptxTools(AutotoolsPackage): version("2021-05-21", commit="d0524fbdc86dfca068db5a21cc78ac255b335be5") version("2018-03-01", commit="5f6f343a302d620b0868edab376c00b15741e39e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("binutils") depends_on("cuda") diff --git a/var/spack/repos/builtin/packages/nvshmem/package.py b/var/spack/repos/builtin/packages/nvshmem/package.py index 7bb13dd912a3ff..5d93c01afc7867 100644 --- a/var/spack/repos/builtin/packages/nvshmem/package.py +++ b/var/spack/repos/builtin/packages/nvshmem/package.py @@ -28,6 +28,9 @@ class Nvshmem(MakefilePackage, CudaPackage): version("2.1.2-0", sha256="367211808df99b4575fb901977d9f4347065c61a26642d65887f24d60342a4ec") version("2.0.3-0", sha256="20da93e8508511e21aaab1863cb4c372a3bec02307b932144a7d757ea5a1bad2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cuda", default=True, description="Build with CUDA") variant("ucx", default=True, description="Build with UCX support") variant("nccl", default=True, description="Build with NCCL support") diff --git a/var/spack/repos/builtin/packages/nvtx/package.py b/var/spack/repos/builtin/packages/nvtx/package.py index eff8c65b36cb4f..ef2ecfa64c9249 100644 --- a/var/spack/repos/builtin/packages/nvtx/package.py +++ b/var/spack/repos/builtin/packages/nvtx/package.py @@ -19,6 +19,8 @@ class Nvtx(Package, PythonExtension): version("develop", branch="dev") version("3.1.0", sha256="dc4e4a227d04d3da46ad920dfee5f7599ac8d6b2ee1809c9067110fb1cc71ced") + depends_on("cxx", type="build") # generated + variant("python", default=True, description="Install Python bindings.") extends("python", when="+python") depends_on("py-pip", type="build", when="+python") diff --git a/var/spack/repos/builtin/packages/nwchem/package.py b/var/spack/repos/builtin/packages/nwchem/package.py index 72465aa52dbaf7..e4f5829503d1ae 100644 --- a/var/spack/repos/builtin/packages/nwchem/package.py +++ b/var/spack/repos/builtin/packages/nwchem/package.py @@ -35,6 +35,10 @@ class Nwchem(Package): url="https://github.com/nwchemgit/nwchem/releases/download/v7.0.2-release/nwchem-7.0.2-release.revision-b9985dfa-srconly.2020-10-12.tar.bz2", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=False, description="Enables OpenMP support") variant( "armci", diff --git a/var/spack/repos/builtin/packages/nyancat/package.py b/var/spack/repos/builtin/packages/nyancat/package.py index 6aae2643442520..8eb8edaf34a2c6 100644 --- a/var/spack/repos/builtin/packages/nyancat/package.py +++ b/var/spack/repos/builtin/packages/nyancat/package.py @@ -18,6 +18,8 @@ class Nyancat(MakefilePackage): version("1.5.0", sha256="9ae4f740060b77bba815d8d4e97712d822bd0812a118b88b7fd6b4136a971bce") version("1.4.5", sha256="b26d752b95088be9d5caa73daea884572c0fc836ba55f0062e4d975301c4c661") + depends_on("c", type="build") # generated + def edit(self, spec, prefix): makefile = FileFilter("Makefile") makefile.filter( diff --git a/var/spack/repos/builtin/packages/ocaml/package.py b/var/spack/repos/builtin/packages/ocaml/package.py index 175a5833cf2ca0..7fb887965a2322 100644 --- a/var/spack/repos/builtin/packages/ocaml/package.py +++ b/var/spack/repos/builtin/packages/ocaml/package.py @@ -27,6 +27,9 @@ class Ocaml(Package): version("4.06.0", sha256="c17578e243c4b889fe53a104d8927eb8749c7be2e6b622db8b3c7b386723bf50") version("4.03.0", sha256="7fdf280cc6c0a2de4fc9891d0bf4633ea417046ece619f011fd44540fcfc8da2") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + patch("fix-duplicate-defs.patch", when="@4.08.0:4.09.0 %gcc@10.0:") # #9969, #9981: Added mergeable flag to ELF sections containing mergeable # constants. Fixes compatibility with the integrated assembler in clang 11.0.0. diff --git a/var/spack/repos/builtin/packages/occa/package.py b/var/spack/repos/builtin/packages/occa/package.py index bd56b8e3fac13b..941cbf3ca551ee 100644 --- a/var/spack/repos/builtin/packages/occa/package.py +++ b/var/spack/repos/builtin/packages/occa/package.py @@ -34,6 +34,10 @@ class Occa(Package): version("0.2.0", tag="v0.2.0", commit="2eceaa5706ad6cf3a1b153c1f2a8a2fffa2d5945") version("0.1.0", tag="v0.1.0", commit="381e886886dc87823769c5f20d0ecb29dd117afa") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("cuda", default=True, description="Activates support for CUDA") variant("openmp", default=True, description="Activates support for OpenMP") variant("opencl", default=True, description="Activates support for OpenCL") diff --git a/var/spack/repos/builtin/packages/oce/package.py b/var/spack/repos/builtin/packages/oce/package.py index ecc72911ae5de4..48f1ed0eeb27ee 100644 --- a/var/spack/repos/builtin/packages/oce/package.py +++ b/var/spack/repos/builtin/packages/oce/package.py @@ -3,13 +3,10 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import platform - -from spack.operating_systems.mac_os import macos_version from spack.package import * -class Oce(Package): +class Oce(CMakePackage): """Open CASCADE Community Edition UNMAINTAINED: see https://github.com/tpaviot/oce/issues/745#issuecomment-992285943 @@ -18,20 +15,36 @@ class Oce(Package): homepage = "https://github.com/tpaviot/oce" url = "https://github.com/tpaviot/oce/archive/OCE-0.18.tar.gz" - version("0.18.3", sha256="c553d6a7bf52f790abc3b6bb7a1e91a65947e92a426bb1a88a11960c31f0966c") - version("0.18.2", sha256="dc21ddea678a500ad87c773e9a502ed7a71768cf83d9af0bd4c43294186a7fef") - version("0.18.1", sha256="1acf5da4bffa3592ca9f3535af9b927b79fcfeadcb81e9963e89aec192929a6c") - version("0.18", sha256="226e45e77c16a4a6e127c71fefcd171410703960ae75c7ecc7eb68895446a993") - version("0.17.2", sha256="8d9995360cd531cbd4a7aa4ca5ed969f08ec7c7a37755e2f3d4ef832c1b2f56e") - version("0.17.1", sha256="b1ff0cb8cf31339bbb30ac7ed2415d376b9b75810279d2f497e115f08c090928") - version("0.17", sha256="9ab0dc2a2d125b46cef458b56c6d171dfe2218d825860d616c5ab17994b8f74d") - version("0.16.1", sha256="d31030c8da4a1b33f767d0d59895a995c8eabc8fc65cbe0558734f6021ea2f57") - version("0.16", sha256="841fe4337a5a4e733e36a2efc4fe60a4e6e8974917028df05d47a02f59787515") + with default_args(deprecated=True): + version( + "0.18.3", sha256="c553d6a7bf52f790abc3b6bb7a1e91a65947e92a426bb1a88a11960c31f0966c" + ) + version( + "0.18.2", sha256="dc21ddea678a500ad87c773e9a502ed7a71768cf83d9af0bd4c43294186a7fef" + ) + version( + "0.18.1", sha256="1acf5da4bffa3592ca9f3535af9b927b79fcfeadcb81e9963e89aec192929a6c" + ) + version("0.18", sha256="226e45e77c16a4a6e127c71fefcd171410703960ae75c7ecc7eb68895446a993") + version( + "0.17.2", sha256="8d9995360cd531cbd4a7aa4ca5ed969f08ec7c7a37755e2f3d4ef832c1b2f56e" + ) + version( + "0.17.1", sha256="b1ff0cb8cf31339bbb30ac7ed2415d376b9b75810279d2f497e115f08c090928" + ) + version("0.17", sha256="9ab0dc2a2d125b46cef458b56c6d171dfe2218d825860d616c5ab17994b8f74d") + version( + "0.16.1", sha256="d31030c8da4a1b33f767d0d59895a995c8eabc8fc65cbe0558734f6021ea2f57" + ) + version("0.16", sha256="841fe4337a5a4e733e36a2efc4fe60a4e6e8974917028df05d47a02f59787515") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated variant("tbb", default=True, description="Build with Intel Threading Building Blocks") variant("X11", default=False, description="Build with X11 enabled") - depends_on("cmake@2.8:", type="build") + depends_on("cmake@3:", type="build") with when("+tbb"): depends_on("tbb") @@ -50,43 +63,25 @@ class Oce(Package): # see https://github.com/tpaviot/oce/issues/675 patch("xlocale.patch", level=0, when="@0.18.1:0.18.2") - # fix build with Xcode 8 "previous definition of CLOCK_REALTIME" - # reported 27 Sep 2016 https://github.com/tpaviot/oce/issues/643 - if (platform.system() == "Darwin") and (macos_version() == Version("10.12")): - patch("sierra.patch", when="@0.17.2:0.18.0") - - def install(self, spec, prefix): - options = [] - options.extend(std_cmake_args) - options.extend( - [ - "-DOCE_INSTALL_PREFIX=%s" % prefix, - "-DOCE_BUILD_SHARED_LIB:BOOL=ON", - "-DCMAKE_BUILD_TYPE:STRING=Release", - "-DOCE_DATAEXCHANGE:BOOL=ON", - "-DOCE_DISABLE_X11:BOOL=%s" % ("OFF" if "+X11" in spec else "ON"), - "-DOCE_DRAW:BOOL=OFF", - "-DOCE_MODEL:BOOL=ON", - "-DOCE_MULTITHREAD_LIBRARY:STRING=%s" % ("TBB" if "+tbb" in spec else "NONE"), - "-DOCE_OCAF:BOOL=ON", - "-DOCE_USE_TCL_TEST_FRAMEWORK:BOOL=OFF", - "-DOCE_VISUALISATION:BOOL=OFF", - "-DOCE_WITH_FREEIMAGE:BOOL=OFF", - "-DOCE_WITH_GL2PS:BOOL=OFF", - "-DOCE_WITH_OPENCL:BOOL=OFF", - ] - ) - - if platform.system() == "Darwin": - options.extend(["-DOCE_OSX_USE_COCOA:BOOL=ON"]) - - if platform.system() == "Darwin" and (macos_version() >= Version("10.12")): - # use @rpath on Sierra due to limit of dynamic loader - options.append("-DCMAKE_MACOSX_RPATH=ON") - else: - options.append("-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib" % prefix) - - cmake(".", *options) - make("install/strip") - if self.run_tests: - make("test") + def cmake_args(self): + args = [ + self.define("OCE_INSTALL_PREFIX", self.prefix), + self.define("OCE_BUILD_SHARED_LIB", True), + self.define("OCE_DATAEXCHANGE", True), + self.define("OCE_DISABLE_X11", self.spec.satisfies("~X11")), + self.define("OCE_DRAW", False), + self.define("OCE_MODEL", True), + self.define( + "OCE_MULTITHREAD_LIBRARY", ("TBB" if self.spec.satisfies("+tbb") else "NONE") + ), + self.define("OCE_OCAF", True), + self.define("OCE_USE_TCL_TEST_FRAMEWORK", False), + self.define("OCE_VISUALISATION", False), + self.define("OCE_WITH_FREEIMAGE", False), + self.define("OCE_WITH_GL2PS", False), + self.define("OCE_WITH_OPENCL", False), + ] + + if self.spec.satisfies("platform=darwin"): + args.append(self.define("OCE_OSX_USE_COCOA", True)) + return args diff --git a/var/spack/repos/builtin/packages/oce/sierra.patch b/var/spack/repos/builtin/packages/oce/sierra.patch deleted file mode 100644 index 1c0c86569bf85b..00000000000000 --- a/var/spack/repos/builtin/packages/oce/sierra.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/OSD/OSD_Chronometer.cxx b/src/OSD/OSD_Chronometer.cxx -index f7374fb..63ac140 100644 ---- a/src/OSD/OSD_Chronometer.cxx.old -+++ b/src/OSD/OSD_Chronometer.cxx -@@ -51,7 +51,7 @@ - #include - #endif - --#if defined(__APPLE__) && defined(__MACH__) -+#if defined(__APPLE__) && !defined(__MAC_10_12) - #include "gettime_osx.h" - #endif diff --git a/var/spack/repos/builtin/packages/oci-systemd-hook/package.py b/var/spack/repos/builtin/packages/oci-systemd-hook/package.py index 5d0c5c62bdae1d..01d29d8bf7cb64 100644 --- a/var/spack/repos/builtin/packages/oci-systemd-hook/package.py +++ b/var/spack/repos/builtin/packages/oci-systemd-hook/package.py @@ -19,6 +19,8 @@ class OciSystemdHook(AutotoolsPackage): version("0.1.18", sha256="c17291bf5151e972c502ec3cc9b445967823444b1f3917481eb419c9e476649e") version("0.1.5", sha256="53f773b055928d0f3d25ccc966d0d0b3ccb4dd00e8ff71a067b105142da22763") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/ocl-icd/package.py b/var/spack/repos/builtin/packages/ocl-icd/package.py index 80f500c61bd4c3..6ef7dd87a0d221 100644 --- a/var/spack/repos/builtin/packages/ocl-icd/package.py +++ b/var/spack/repos/builtin/packages/ocl-icd/package.py @@ -31,6 +31,8 @@ class OclIcd(AutotoolsPackage): version("2.2.4", sha256="92853137ffff393cc74f829357fdd80ac46a82b46c970e80195db86164cca316") version("2.2.3", sha256="46b8355d90f8cc240555e4e077f223c47b950abeadf3e1af52d6e68d2efc2ff3") + depends_on("c", type="build") # generated + variant( "headers", default=False, diff --git a/var/spack/repos/builtin/packages/oclgrind/package.py b/var/spack/repos/builtin/packages/oclgrind/package.py index 76dd8fd47a0fdd..fdf3bc69dba339 100644 --- a/var/spack/repos/builtin/packages/oclgrind/package.py +++ b/var/spack/repos/builtin/packages/oclgrind/package.py @@ -20,4 +20,7 @@ class Oclgrind(CMakePackage): version("master", branch="master") version("19.10", sha256="f9a8f22cb9f6d88670f2578c46ba0d728ba8eaee5c481c2811129dc157c43dc0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("llvm +clang @5.0:") diff --git a/var/spack/repos/builtin/packages/oclint/package.py b/var/spack/repos/builtin/packages/oclint/package.py index c278ea5751d219..2fa9c53596f71e 100644 --- a/var/spack/repos/builtin/packages/oclint/package.py +++ b/var/spack/repos/builtin/packages/oclint/package.py @@ -18,6 +18,8 @@ class Oclint(Package): version("0.13", sha256="a0fd188673863e6357d6585b9bb9c3affe737df134b9383a1a5ed021d09ed848") + depends_on("cxx", type="build") # generated + depends_on("python", type=("build")) depends_on("git", type=("build")) depends_on("subversion", type=("build")) diff --git a/var/spack/repos/builtin/packages/oclock/package.py b/var/spack/repos/builtin/packages/oclock/package.py index c8816c74075acd..9622c8f8874e1b 100644 --- a/var/spack/repos/builtin/packages/oclock/package.py +++ b/var/spack/repos/builtin/packages/oclock/package.py @@ -17,6 +17,8 @@ class Oclock(AutotoolsPackage, XorgPackage): version("1.0.4", sha256="cffc414cd0cf0b0e4a9bec3b5e707d9c2e2bcd109629d74bd6dd61381563dd35") version("1.0.3", sha256="6628d1abe1612b87db9d0170cbe7f1cf4205cd764274f648c3c1bdb745bff877") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxmu") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/octave-arduino/package.py b/var/spack/repos/builtin/packages/octave-arduino/package.py index 52857e761c91e5..9dab93a2a908c9 100644 --- a/var/spack/repos/builtin/packages/octave-arduino/package.py +++ b/var/spack/repos/builtin/packages/octave-arduino/package.py @@ -17,5 +17,7 @@ class OctaveArduino(OctavePackage, SourceforgePackage): version("0.2.0", sha256="0562ff48ea4b2cef28e2e03ccc4678dafa16f91d1580245bb7f9f488c4f56238") + depends_on("cxx", type="build") # generated + depends_on("octave-instrctl") extends("octave@3.6.0:") diff --git a/var/spack/repos/builtin/packages/octave-control/package.py b/var/spack/repos/builtin/packages/octave-control/package.py index 629d2a1baf2f0e..e3da8de047c2b2 100644 --- a/var/spack/repos/builtin/packages/octave-control/package.py +++ b/var/spack/repos/builtin/packages/octave-control/package.py @@ -17,4 +17,6 @@ class OctaveControl(OctavePackage, SourceforgePackage): version("3.2.0", sha256="faf1d510d16ab46e4fa91a1288f4a7839ee05469c33e4698b7a007a0bb965e3e") + depends_on("cxx", type="build") # generated + extends("octave@4.0.0:") diff --git a/var/spack/repos/builtin/packages/octave-gsl/package.py b/var/spack/repos/builtin/packages/octave-gsl/package.py index ca82c960561b80..0884768d822f50 100644 --- a/var/spack/repos/builtin/packages/octave-gsl/package.py +++ b/var/spack/repos/builtin/packages/octave-gsl/package.py @@ -16,6 +16,8 @@ class OctaveGsl(OctavePackage, SourceforgePackage): version("2.1.1", sha256="d028c52579e251c3f21ebfdf065dffab3ad7893434efda33b501225ef1ea6ed3") + depends_on("cxx", type="build") # generated + depends_on("gsl@2.4:") extends("octave@2.9.7:") diff --git a/var/spack/repos/builtin/packages/octave-instrctl/package.py b/var/spack/repos/builtin/packages/octave-instrctl/package.py index 3ee5ff878e26e1..be6c23aba99ccd 100644 --- a/var/spack/repos/builtin/packages/octave-instrctl/package.py +++ b/var/spack/repos/builtin/packages/octave-instrctl/package.py @@ -15,4 +15,6 @@ class OctaveInstrctl(OctavePackage, SourceforgePackage): version("0.3.1", sha256="d9c3b2e258cc8245ebfdd282e6314af12987daf453f4356555f56ca5ec55873c") + depends_on("cxx", type="build") # generated + extends("octave@3.6.0:") diff --git a/var/spack/repos/builtin/packages/octave/package.py b/var/spack/repos/builtin/packages/octave/package.py index 8a79392c52572d..422664ef8deab0 100644 --- a/var/spack/repos/builtin/packages/octave/package.py +++ b/var/spack/repos/builtin/packages/octave/package.py @@ -51,6 +51,10 @@ class Octave(AutotoolsPackage, GNUMirrorPackage): version("4.0.2", sha256="39cd8fd36c218fc00adace28d74a6c7c9c6faab7113a5ba3c4372324c755bdc1") version("4.0.0", sha256="4c7ee0957f5dd877e3feb9dfe07ad5f39b311f9373932f0d2a289dc97cca3280") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # patches # see https://savannah.gnu.org/bugs/?50234 patch("patch_4.2.1_inline.diff", when="@4.2.1") diff --git a/var/spack/repos/builtin/packages/octopus/package.py b/var/spack/repos/builtin/packages/octopus/package.py index 4abe82b3042e1d..8c8e2dd5d0b4c6 100644 --- a/var/spack/repos/builtin/packages/octopus/package.py +++ b/var/spack/repos/builtin/packages/octopus/package.py @@ -44,6 +44,10 @@ class Octopus(AutotoolsPackage, CudaPackage): version("develop", branch="main") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Build with MPI support") variant("scalapack", default=False, when="+mpi", description="Compile with Scalapack") variant("berkeleygw", default=False, description="Compile with BerkeleyGW") @@ -316,54 +320,38 @@ def configure_args(self): @run_after("install") @on_package_attributes(run_tests=True) - def smoke_tests_after_install(self): + def benchmark_tests_after_install(self): """Function stub to run tests after install if desired (for example through `spack install --test=root octopus`) """ - self.smoke_tests() - - def test(self): - """Entry point for smoke tests run through `spack test run octopus`.""" - self.smoke_tests() + self.test_version() + self.test_example() + self.test_he() - def smoke_tests(self): - """Actual smoke tests for Octopus.""" - # - # run "octopus --version" - # - exe = join_path(self.spec.prefix.bin, "octopus") - options = ["--version"] - purpose = "Check octopus can execute (--version)" + def test_version(self): + """Check octopus can execute (--version)""" # Example output: # # spack-v0.17.2$ octopus --version # octopus 11.3 (git commit ) - expected = ["octopus "] - - self.run_test( - exe, - options=options, - expected=expected, - status=[0], - installed=False, - purpose=purpose, - skip_missing=False, - ) + + exe = which(self.spec.prefix.bin.octopus) + out = exe("--version", output=str.split, error=str.split) + assert "octopus " in out + + def test_recipe(self): + """run recipe example""" # Octopus expects a file with name `inp` in the current working # directory to read configuration information for a simulation run from # that file. We copy the relevant configuration file in a dedicated - # subfolder for each test. + # subfolder for the test. # # As we like to be able to run these tests also with the # `spack install --test=root` command, we cannot rely on # self.test_suite.current_test_data_dir, and need to copy the test # input files manually (see below). - # - # run recipe example - # - expected = [ "Running octopus", "CalculationMode = recipe", @@ -371,24 +359,27 @@ def smoke_tests(self): "recipe leads to an edible dish, " 'for it is clearly "system-dependent".', "Calculation ended on", ] - options = [] - purpose = "Run Octopus recipe example" + with working_dir("example-recipe", create=True): print("Current working directory (in example-recipe)") fs.copy(join_path(os.path.dirname(__file__), "test", "recipe.inp"), "inp") - self.run_test( - exe, - options=options, - expected=expected, - status=[0], - installed=False, - purpose=purpose, - skip_missing=False, - ) + exe = which(self.spec.prefix.bin.octopus) + out = exe(output=str.split, error=str.split) + check_outputs(expected, out) + def test_he(self): + """run He example""" + + # Octopus expects a file with name `inp` in the current working + # directory to read configuration information for a simulation run from + # that file. We copy the relevant configuration file in a dedicated + # subfolder for the test. # - # run He example - # + # As we like to be able to run these tests also with the + # `spack install --test=root` command, we cannot rely on + # self.test_suite.current_test_data_dir, and need to copy the test + # input files manually (see below). + expected = [ "Running octopus", "Info: Starting calculation mode.", @@ -397,17 +388,10 @@ def smoke_tests(self): "Info: Writing states.", "Calculation ended on", ] - options = [] - purpose = "Run tiny calculation for He" + with working_dir("example-he", create=True): print("Current working directory (in example-he)") fs.copy(join_path(os.path.dirname(__file__), "test", "he.inp"), "inp") - self.run_test( - exe, - options=options, - expected=expected, - status=[0], - installed=False, - purpose=purpose, - skip_missing=False, - ) + exe = which(self.spec.prefix.bin.octopus) + out = exe(output=str.split, error=str.split) + check_outputs(expected, out) diff --git a/var/spack/repos/builtin/packages/odc/package.py b/var/spack/repos/builtin/packages/odc/package.py index 944ad284323404..b34a279701cb09 100644 --- a/var/spack/repos/builtin/packages/odc/package.py +++ b/var/spack/repos/builtin/packages/odc/package.py @@ -20,6 +20,10 @@ class Odc(CMakePackage): version("1.4.5", sha256="8532d0453531d62e1f15791d1c5c96540b842913bd211a8ef090211eaf4cccae") version("1.3.0", sha256="97a4f10765b341cc8ccbbf203f5559cb1b838cbd945f48d4cecb1bc4305e6cd6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=False, description="Enable the Fortran interface") depends_on("ecbuild@3.4:", type="build") diff --git a/var/spack/repos/builtin/packages/odgi/package.py b/var/spack/repos/builtin/packages/odgi/package.py index 0c4b9ea2ff3b07..c96761bcfc06b5 100644 --- a/var/spack/repos/builtin/packages/odgi/package.py +++ b/var/spack/repos/builtin/packages/odgi/package.py @@ -21,6 +21,9 @@ class Odgi(CMakePackage): # <<< Versions list starts here version("0.8.3", commit="34f006f31c3f6b35a1eb8d58a4edb1c458583de3", submodules=True) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated # >>> Versions list ends here # compilation problem with ninja diff --git a/var/spack/repos/builtin/packages/of-catalyst/package.py b/var/spack/repos/builtin/packages/of-catalyst/package.py index b210baa5d31992..7db9cb811a6f6a 100644 --- a/var/spack/repos/builtin/packages/of-catalyst/package.py +++ b/var/spack/repos/builtin/packages/of-catalyst/package.py @@ -28,6 +28,8 @@ class OfCatalyst(CMakePackage): version("develop", branch="develop") version("1806", tag="v1806", commit="d97babec3581bad413fd602e17fcd4bc1e312d26") + depends_on("cxx", type="build") # generated + variant("full", default=False, description="Build against paraview (full) or catalyst (light)") depends_on("openfoam@1806", when="@1806", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/of-precice/package.py b/var/spack/repos/builtin/packages/of-precice/package.py index 6c47302e3aec38..ff7fd26827760d 100644 --- a/var/spack/repos/builtin/packages/of-precice/package.py +++ b/var/spack/repos/builtin/packages/of-precice/package.py @@ -30,6 +30,8 @@ class OfPrecice(Package): version("1.1.0", sha256="c35340b50d1b01978635130da94a876e1fa846c80b62e45204aa727db2ef4983") version("1.0.0", sha256="b70e5bdce47328f789f76dc6187604f8568b4a996158b5a6f6c11f111ff10308") + depends_on("cxx", type="build") # generated + depends_on("openfoam+source") depends_on("precice") depends_on("yaml-cpp") diff --git a/var/spack/repos/builtin/packages/ollama/package.py b/var/spack/repos/builtin/packages/ollama/package.py index b0839efa65c565..8213efdebc1c02 100644 --- a/var/spack/repos/builtin/packages/ollama/package.py +++ b/var/spack/repos/builtin/packages/ollama/package.py @@ -27,6 +27,9 @@ class Ollama(GoPackage): preferred=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + license("MIT", checked_by="teaguesterling") depends_on("cmake", type="build") diff --git a/var/spack/repos/builtin/packages/ome-common-cpp/package.py b/var/spack/repos/builtin/packages/ome-common-cpp/package.py index 7e4939d028adb8..a13957de5b9e07 100644 --- a/var/spack/repos/builtin/packages/ome-common-cpp/package.py +++ b/var/spack/repos/builtin/packages/ome-common-cpp/package.py @@ -25,6 +25,8 @@ class OmeCommonCpp(CMakePackage): version("master", branch="master") version("6.0.0", sha256="26f3ce6e0b9a022590eed2ade5519eca12a2507bb207cdfe9f29d360984a7e0d") + depends_on("cxx", type="build") # generated + depends_on("fmt") depends_on("spdlog") depends_on("xalan-c") diff --git a/var/spack/repos/builtin/packages/ome-files-cpp/package.py b/var/spack/repos/builtin/packages/ome-files-cpp/package.py index 96af69f7df1258..2edab104fd768c 100644 --- a/var/spack/repos/builtin/packages/ome-files-cpp/package.py +++ b/var/spack/repos/builtin/packages/ome-files-cpp/package.py @@ -24,6 +24,8 @@ class OmeFilesCpp(CMakePackage): version("master", branch="master") version("0.6.0", sha256="e0baf3eeb2ea639f426292a36b58adcaa42ce61a4a0f15f34690602f3f5d47c1") + depends_on("cxx", type="build") # generated + depends_on("boost@1.53: +filesystem +program_options") depends_on("ome-model") depends_on("ome-model@master", when="@master") diff --git a/var/spack/repos/builtin/packages/ome-model/package.py b/var/spack/repos/builtin/packages/ome-model/package.py index aa94521f266a66..93c58e086c8632 100644 --- a/var/spack/repos/builtin/packages/ome-model/package.py +++ b/var/spack/repos/builtin/packages/ome-model/package.py @@ -23,6 +23,8 @@ class OmeModel(CMakePackage): version("master", branch="master") version("6.0.0", sha256="d6644ff722411d3a8ac9f26a49c1afda30e4d4102e37b31593d2a9fdc8f96700") + depends_on("cxx", type="build") # generated + # Match version with ome-common-cpp. It would be nice to match versions in a # more automated way. depends_on("ome-common-cpp") diff --git a/var/spack/repos/builtin/packages/omega-h/package.py b/var/spack/repos/builtin/packages/omega-h/package.py index 25887e04910d5e..0209d3565f1f6e 100644 --- a/var/spack/repos/builtin/packages/omega-h/package.py +++ b/var/spack/repos/builtin/packages/omega-h/package.py @@ -47,6 +47,8 @@ class OmegaH(CMakePackage, CudaPackage): version("9.13.14", sha256="f617dfd024c9cc323e56800ca23df3386bfa37e1b9bd378847d1f5d32d2b8e5d") version("9.13.13", sha256="753702edf4bda9ae57ea21f09ca071e341604a468d8c86468c9aebba049f581c") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("mpi", default=True, description="Activates MPI support") variant("zlib", default=True, description="Activates ZLib support") @@ -158,23 +160,20 @@ def flag_handler(self, name, flags): return (None, None, flags) - def test(self): - if self.spec.version < Version("9.34.1"): - print("Skipping tests since only relevant for versions > 9.34.1") - return - - exe = join_path(self.prefix.bin, "osh_box") - options = ["1", "1", "1", "2", "2", "2", "box.osh"] - description = "testing mesh construction" - self.run_test(exe, options, purpose=description) - - exe = join_path(self.prefix.bin, "osh_scale") - options = ["box.osh", "100", "box_100.osh"] - expected = "adapting took" - description = "testing mesh adaptation" - self.run_test(exe, options, expected, purpose=description) - - exe = join_path(self.prefix.bin, "osh2vtk") - options = ["box_100.osh", "box_100_vtk"] - description = "testing mesh to vtu conversion" - self.run_test(exe, options, purpose=description) + def test_mesh(self): + """test construction, adaptation, and conversion of a mesh""" + if self.spec.satisfies("@:9.34.0"): + raise SkipTest("Package must be installed as version 9.34.1 or later") + + with test_part(self, "test_mesh_create", purpose="mesh construction"): + exe = which(self.prefix.bin.osh_box) + exe("1", "1", "1", "2", "2", "2", "box.osh") + + with test_part(self, "test_mesh_adapt", purpose="mesh adaptation"): + exe = which(self.prefix.bin.osh_scale) + actual = exe("box.osh", "100", "box_100.osh", output=str.split, error=str.split) + assert "adapting took" in actual + + with test_part(self, "test_mesh_convert", purpose="mesh to vtu conversion"): + exe = which(self.prefix.bin.osh2vtk) + exe("box_100.osh", "box_100_vtk") diff --git a/var/spack/repos/builtin/packages/omm-bundle/package.py b/var/spack/repos/builtin/packages/omm-bundle/package.py index e16209c0c92cf4..f42ce9a7bb3334 100644 --- a/var/spack/repos/builtin/packages/omm-bundle/package.py +++ b/var/spack/repos/builtin/packages/omm-bundle/package.py @@ -19,6 +19,8 @@ class OmmBundle(MakefilePackage): version("master", branch="master") version("1.0.0", tag="v1.0.0", commit="8b644267284695ff1a40b78d098bda6464a7b821") + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("blas") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/omm/package.py b/var/spack/repos/builtin/packages/omm/package.py new file mode 100644 index 00000000000000..c89b883f57765a --- /dev/null +++ b/var/spack/repos/builtin/packages/omm/package.py @@ -0,0 +1,60 @@ +# 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 Omm(CMakePackage): + """Solution of Kohn-Sham equations using the Orbital Minimization Method (OMM).""" + + homepage = "https://gitlab.com/ElectronicStructureLibrary/omm/libomm" + url = "https://gitlab.com/ElectronicStructureLibrary/omm/libomm/-/archive/1.2.1/libomm-1.2.1.tar.gz" + git = "https://gitlab.com/ElectronicStructureLibrary/omm/libomm.git" + + maintainers("RMeli") + + license("BSD-2-Clause", checked_by="RMeli") + + version("1.2.1", sha256="4876990056efabdd83b0caad52ed56632d9926b61d73fe3efbd04d0f8d242ede") + version("master", branch="master") + + depends_on("fortran", type="build") # generated + + variant("lapack", default=True, description="Build libOMM with LAPACK interface.") + variant("mpi", default=True, description="Build libOMM with MPI support.") + variant( + "scalapack", + default=True, + when="+mpi", + description="Build libOMM with ScaLAPACK interface.", + ) + variant("dbcsr", default=False, when="+mpi", description="Build libOMM with DBCSR interface.") + + depends_on("cmake@3.22:", type="build") + generator("ninja") + + depends_on("lapack", when="+lapack") + depends_on("mpi", when="+mpi") + depends_on("scalapack", when="+scalapack") + depends_on("dbcsr~shared", when="+dbcsr") # Expects static library (FindCustomDbcsr) + + depends_on("matrix-switch") + depends_on("matrix-switch+lapack", when="+lapack") + depends_on("matrix-switch+mpi", when="+mpi") + depends_on("matrix-switch+scalapack", when="+scalapack") + depends_on("matrix-switch+dbcsr", when="+dbcsr") + + def cmake_args(self): + args = [ + self.define_from_variant("WITH_LAPACK", "lapack"), + self.define_from_variant("WITH_MPI", "mpi"), + self.define_from_variant("WITH_SCALAPACK", "scalapack"), + self.define_from_variant("WITH_DBCSR", "dbcsr"), + ] + + if self.spec.satisfies("+dbcsr"): + args.append(self.define("DBCSR_ROOT", self.spec["dbcsr"].prefix)) + + return args diff --git a/var/spack/repos/builtin/packages/omnitrace/package.py b/var/spack/repos/builtin/packages/omnitrace/package.py index 384f8ca2db4c92..ba42a69c1495fe 100644 --- a/var/spack/repos/builtin/packages/omnitrace/package.py +++ b/var/spack/repos/builtin/packages/omnitrace/package.py @@ -30,6 +30,10 @@ class Omnitrace(CMakePackage): version("1.3.0", commit="4dd144a32c8b83c44e132ef53f2b44fe4b4d5569", submodules=True) version("1.2.0", commit="f82845388aab108ed1d1fc404f433a0def391bb3", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "rocm", default=True, diff --git a/var/spack/repos/builtin/packages/ompss-2/package.py b/var/spack/repos/builtin/packages/ompss-2/package.py index 48ea331f9d4b2b..6ba60dd25bc172 100644 --- a/var/spack/repos/builtin/packages/ompss-2/package.py +++ b/var/spack/repos/builtin/packages/ompss-2/package.py @@ -24,6 +24,10 @@ class Ompss2(Package): version("2022.11", sha256="2df1a5c0f01523ebee49596ca0939b3edeae50e6bd76680cc8777d92583e5a1e") version("2021.11.1", sha256="9e0ee0c9f75cd558882465efc3d521c2fe93f1a6b50d4d9c8e614ab4eb3a9e6c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("extrae", default=False, description="Build with Extrae instrumentation support") depends_on("hwloc") diff --git a/var/spack/repos/builtin/packages/ompss/package.py b/var/spack/repos/builtin/packages/ompss/package.py index 67986430bb087e..428162c5890db1 100644 --- a/var/spack/repos/builtin/packages/ompss/package.py +++ b/var/spack/repos/builtin/packages/ompss/package.py @@ -27,6 +27,10 @@ class Ompss(Package): version("14.10", sha256="5b38d3e6ce108e7ca73a2599bc698d75ea9f6d90a3be0349faf6d61022e62a38") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # all dependencies are optional, really depends_on("mpi") # depends_on("openmp") diff --git a/var/spack/repos/builtin/packages/ompt-openmp/package.py b/var/spack/repos/builtin/packages/ompt-openmp/package.py index 5f67b63c6d73d5..4d452d103f4893 100644 --- a/var/spack/repos/builtin/packages/ompt-openmp/package.py +++ b/var/spack/repos/builtin/packages/ompt-openmp/package.py @@ -21,6 +21,10 @@ class OmptOpenmp(CMakePackage): version("0.1", sha256="a35dd2a83777fce54386d54cea8d2df9b5f34309d66fbc1d1757d55f6048c7a7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@2.8:", type="build") conflicts("%gcc@:4.7") diff --git a/var/spack/repos/builtin/packages/oneapi-level-zero/package.py b/var/spack/repos/builtin/packages/oneapi-level-zero/package.py index 87ddc98e871556..97b67e065e3f8e 100644 --- a/var/spack/repos/builtin/packages/oneapi-level-zero/package.py +++ b/var/spack/repos/builtin/packages/oneapi-level-zero/package.py @@ -60,3 +60,5 @@ class OneapiLevelZero(CMakePackage): version("1.3.7", sha256="e84c7f36316257eb46f74b41aef5c37fb593a8821497e45dfeda81aceba0abbc") version("1.3.6", sha256="c2b3bd6e4ee3cc874bdcc32bc8705bd217ffc46b194c77e27b23b8391c0c9704") version("1.2.3", sha256="69689429fcdaef74fa8395785aca65f5652e410bd6c56f47b2b64692c098892b") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/onednn/package.py b/var/spack/repos/builtin/packages/onednn/package.py index a49c7df626f3a3..4d2d2ac2763bca 100644 --- a/var/spack/repos/builtin/packages/onednn/package.py +++ b/var/spack/repos/builtin/packages/onednn/package.py @@ -71,6 +71,9 @@ class Onednn(CMakePackage): version("0.10", sha256="e783d6d085e4dd930a990cf02a76401071f606c6f40e47eae4dc638b54146430") version("0.9", sha256="721ab6a14e05f9916645ebb410c3e97fae660d09a1c7df4da7958676504e572b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + default_cpu_runtime = "omp" if sys.platform == "darwin": default_cpu_runtime = "tbb" diff --git a/var/spack/repos/builtin/packages/oniguruma/package.py b/var/spack/repos/builtin/packages/oniguruma/package.py index e5fae87fb6d7e2..f878ee060c0c43 100644 --- a/var/spack/repos/builtin/packages/oniguruma/package.py +++ b/var/spack/repos/builtin/packages/oniguruma/package.py @@ -19,6 +19,8 @@ class Oniguruma(AutotoolsPackage): version("6.9.4", sha256="4669d22ff7e0992a7e93e116161cac9c0949cd8960d1c562982026726f0e6d53") version("6.1.3", sha256="480c850cd7c7f2fcaad0942b4a488e2af01fbb8e65375d34908f558b432725cf") + depends_on("c", type="build") # generated + @property def libs(self): return find_libraries("libonig", root=self.prefix, recursive=True) diff --git a/var/spack/repos/builtin/packages/onnx/package.py b/var/spack/repos/builtin/packages/onnx/package.py index 3cf5ba753fa0da..3cc781463ee7e1 100644 --- a/var/spack/repos/builtin/packages/onnx/package.py +++ b/var/spack/repos/builtin/packages/onnx/package.py @@ -20,6 +20,7 @@ class Onnx(CMakePackage): license("Apache-2.0") version("master", branch="master") + version("1.16.1", sha256="0e6aa2c0a59bb2d90858ad0040ea1807117cc2f05b97702170f18e6cd6b66fb3") version("1.16.0", sha256="0ce153e26ce2c00afca01c331a447d86fbf21b166b640551fe04258b4acfc6a4") version("1.15.0", sha256="c757132e018dd0dd171499ef74fca88b74c5430a20781ec53da19eb7f937ef68") version("1.14.1", sha256="e296f8867951fa6e71417a18f2e550a730550f8829bd35e947b4df5e3e777aa1") @@ -60,6 +61,8 @@ class Onnx(CMakePackage): "1.1.0_2018-04-19", commit="7e1bed51cc508a25b22130de459830b5d5063c41" ) # py-torch@0.4.0 + depends_on("cxx", type="build") # generated + generator("ninja") depends_on("cmake@3.1:", type="build") depends_on("python", type="build") diff --git a/var/spack/repos/builtin/packages/oommf/package.py b/var/spack/repos/builtin/packages/oommf/package.py index fb181cba5ec88e..e339b417df7b2d 100644 --- a/var/spack/repos/builtin/packages/oommf/package.py +++ b/var/spack/repos/builtin/packages/oommf/package.py @@ -108,6 +108,9 @@ class Oommf(Package): url="https://github.com/fangohr/oommf/archive/refs/tags/1.2b0_20160930b1.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("tk", type=("build", "link", "test", "run")) depends_on("tcl", type=("build", "test", "run")) depends_on("xproto", type=("build")) diff --git a/var/spack/repos/builtin/packages/op2-dsl/package.py b/var/spack/repos/builtin/packages/op2-dsl/package.py index 18df2a38ebc75d..53618f814aaace 100644 --- a/var/spack/repos/builtin/packages/op2-dsl/package.py +++ b/var/spack/repos/builtin/packages/op2-dsl/package.py @@ -19,6 +19,10 @@ class Op2Dsl(MakefilePackage, CudaPackage): version("master", branch="master") version("1.1.0", tag="v1.1.0", commit="22c13b425976e32a6c904f3a5a95ffb761680eb3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + build_directory = "op2" variant("mpi", default=False, description="Enable MPI support") diff --git a/var/spack/repos/builtin/packages/opa-psm2/package.py b/var/spack/repos/builtin/packages/opa-psm2/package.py index 795eeb7e69feb4..aff8c73e6e3a5e 100644 --- a/var/spack/repos/builtin/packages/opa-psm2/package.py +++ b/var/spack/repos/builtin/packages/opa-psm2/package.py @@ -30,6 +30,8 @@ class OpaPsm2(MakefilePackage, CudaPackage): version("10.2-235", sha256="052031ab87abadc2c11971e6aa53be363b38d58a496a6e54a820ca5bcd6545a5") version("10.2-175", sha256="61b694191eca66e15e7ae1659bfacb10813e569d4e27182a88fb00b5661fb365") + depends_on("c", type="build") # generated + variant("avx2", default=True, description="Enable AVX2 instructions") depends_on("numactl") diff --git a/var/spack/repos/builtin/packages/opam/package.py b/var/spack/repos/builtin/packages/opam/package.py index d1b6bff3facc64..d9c170fc180ae2 100644 --- a/var/spack/repos/builtin/packages/opam/package.py +++ b/var/spack/repos/builtin/packages/opam/package.py @@ -29,6 +29,8 @@ class Opam(AutotoolsPackage): version("1.2.2", sha256="15e617179251041f4bf3910257bbb8398db987d863dd3cfc288bdd958de58f00") version("1.2.1", sha256="f210ece7a2def34b486c9ccfb75de8febd64487b2ea4a14a7fa0358f37eacc3b") + depends_on("c", type="build") # generated + # OCaml 4.10.0 has removed the -safe-string flag, which is necessary # for OPAM 1i (see docstring of setup_build_environment). depends_on("ocaml@:4.09.0", type="build", when="@:1.2.2") diff --git a/var/spack/repos/builtin/packages/opari2/package.py b/var/spack/repos/builtin/packages/opari2/package.py index ca08fa3ad856bc..5b000d5542d0e8 100644 --- a/var/spack/repos/builtin/packages/opari2/package.py +++ b/var/spack/repos/builtin/packages/opari2/package.py @@ -31,6 +31,10 @@ class Opari2(AutotoolsPackage): version("1.1.4", sha256="b80c04fe876faaa4ee9a0654486ecbeba516b27fc14a90d20c6384e81060cffe") version("1.1.2", sha256="8405c2903730d94c828724b3a5f8889653553fb8567045a6c54ac0816237835d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + def url_for_version(self, version): if version >= Version("2.0.6"): url = "https://perftools.pages.jsc.fz-juelich.de/cicd/opari2/tags/opari2-{0}/opari2-{0}.tar.gz" diff --git a/var/spack/repos/builtin/packages/opdilib/package.py b/var/spack/repos/builtin/packages/opdilib/package.py index 33bdf45892006d..9aa5f14ec29f79 100644 --- a/var/spack/repos/builtin/packages/opdilib/package.py +++ b/var/spack/repos/builtin/packages/opdilib/package.py @@ -19,6 +19,8 @@ class Opdilib(Package): version("1.4", sha256="f1dd2575a8c3b2328df89b732dbeaa23657731d77e4bf7ee201c6571f20d13d5") version("1.3.2", sha256="5da4a99ab1332e5c3746cb6d55ee4cd96ce578b06987e2b10e33ae6413b7cf7a") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(join_path(prefix, "include")) install_tree(join_path(self.stage.source_path, "include"), join_path(prefix, "include")) diff --git a/var/spack/repos/builtin/packages/open-iscsi/package.py b/var/spack/repos/builtin/packages/open-iscsi/package.py index fe0f354ab9ef64..9012dc92ae399b 100644 --- a/var/spack/repos/builtin/packages/open-iscsi/package.py +++ b/var/spack/repos/builtin/packages/open-iscsi/package.py @@ -21,6 +21,8 @@ class OpenIscsi(MakefilePackage): version("2.0.877", sha256="69eb95b0c39dee2da9d0d751bfdcdb8d11f9d37390de15c1a0b4558f9d0c4a57") version("2.0.876", sha256="9f01327d5e100ed794dc5083fc18dc4a06a0c29c77b252e21abd1b8f56edd9a7") + depends_on("c", type="build") # generated + depends_on("gettext") depends_on("uuid") depends_on("util-linux") diff --git a/var/spack/repos/builtin/packages/open-isns/package.py b/var/spack/repos/builtin/packages/open-isns/package.py index 38a97504193283..a389cf8ca9a552 100644 --- a/var/spack/repos/builtin/packages/open-isns/package.py +++ b/var/spack/repos/builtin/packages/open-isns/package.py @@ -21,6 +21,8 @@ class OpenIsns(AutotoolsPackage): version("0.97", sha256="c1c9ae740172e55a1ff33bc22151ec3d916562bf5d60c8420cd64496343683a9") version("0.96", sha256="487fd0d87826423ea99dc159826d0b654a5da016ed670d4395a77bfa4f62e2ec") + depends_on("c", type="build") # generated + def configure_args(self): args = ["--enable-shared"] return args diff --git a/var/spack/repos/builtin/packages/open3d/package.py b/var/spack/repos/builtin/packages/open3d/package.py index a8f1beee6b04d9..cd77d5290e721e 100644 --- a/var/spack/repos/builtin/packages/open3d/package.py +++ b/var/spack/repos/builtin/packages/open3d/package.py @@ -21,6 +21,10 @@ class Open3d(CMakePackage, CudaPackage): "0.13.0", tag="v0.13.0", commit="c3f9de224e13838a72da0e5565a7ba51038b0f11", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("python", default=False, description="Build the Python module") # http://www.open3d.org/docs/latest/compilation.html @@ -116,7 +120,7 @@ def install(self, spec, prefix): @run_after("install") @on_package_attributes(run_tests=True) - def test(self): + def check_import(self): if "+python" in self.spec: self.run_test( python.path, diff --git a/var/spack/repos/builtin/packages/openal-soft/package.py b/var/spack/repos/builtin/packages/openal-soft/package.py index 51d62c2c6ea0fe..6e835e03955223 100644 --- a/var/spack/repos/builtin/packages/openal-soft/package.py +++ b/var/spack/repos/builtin/packages/openal-soft/package.py @@ -21,6 +21,9 @@ class OpenalSoft(CMakePackage): version("1.23.0", sha256="057dcf96c3cdfcf40159800a93f57740fe79c2956f76247bee10e436b6657183") version("1.21.1", sha256="c8ad767e9a3230df66756a21cc8ebf218a9d47288f2514014832204e666af5d8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("alsa", default=False, description="ALSA support") depends_on("alsa-lib", when="+alsa") diff --git a/var/spack/repos/builtin/packages/openbabel/package.py b/var/spack/repos/builtin/packages/openbabel/package.py index 1d028565aaf6c0..d7314e2714a9a4 100644 --- a/var/spack/repos/builtin/packages/openbabel/package.py +++ b/var/spack/repos/builtin/packages/openbabel/package.py @@ -25,6 +25,9 @@ class Openbabel(CMakePackage): version("2.4.1", tag="openbabel-2-4-1", commit="701f6049c483b1349118c2ff736a7f609a84dedd") version("2.4.0", tag="openbabel-2-4-0", commit="087f33320e6796f39e6a1da04f4de7ec46bec4af") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("python", default=True, description="Build Python bindings") variant("gui", default=True, description="Build with GUI") variant("cairo", default=True, description="Build with Cairo (PNG output support)") diff --git a/var/spack/repos/builtin/packages/openblas/package.py b/var/spack/repos/builtin/packages/openblas/package.py index fb15a8476c78ac..aa6bc8fc1ced04 100644 --- a/var/spack/repos/builtin/packages/openblas/package.py +++ b/var/spack/repos/builtin/packages/openblas/package.py @@ -26,6 +26,7 @@ class Openblas(CMakePackage, MakefilePackage): license("BSD-3-Clause") version("develop", branch="develop") + version("0.3.27", sha256="aa2d68b1564fe2b13bc292672608e9cdeeeb6dc34995512e65c3b10f4599e897") version("0.3.26", sha256="4e6e4f5cb14c209262e33e6816d70221a2fe49eb69eaf0a06f065598ac602c68") version("0.3.25", sha256="4c25cb30c4bb23eddca05d7d0a85997b8db6144f5464ba7f8c09ce91e2f35543") version("0.3.24", sha256="ceadc5065da97bd92404cac7254da66cc6eb192679cf1002098688978d4d5132") @@ -60,6 +61,10 @@ class Openblas(CMakePackage, MakefilePackage): version("0.2.16", sha256="766f350d0a4be614812d535cead8c816fc3ad3b9afcd93167ea5e4df9d61869b") version("0.2.15", sha256="73c40ace5978282224e5e122a41c8388c5a19e65a6f2329c2b7c0b61bacc9044") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "fortran", default=True, @@ -221,6 +226,13 @@ class Openblas(CMakePackage, MakefilePackage): when="@0.3.24 target=a64fx", ) + # Disable -fp-model=fast default on OneAPI (https://github.com/OpenMathLib/OpenBLAS/issues/4713) + patch( + "https://github.com/OpenMathLib/OpenBLAS/commit/834e633d796ba94ecb892acb32b6cdcee4e3771d.patch?full_index=1", + sha256="3e165d8cba4023cb2082b241eee41287dd6cbb66078c5e3cb5d246081b361ff3", + when="@0.3.27 %oneapi", + ) + # See https://github.com/spack/spack/issues/19932#issuecomment-733452619 # Notice: fixed on Amazon Linux GCC 7.3.1 (which is an unofficial version # as GCC only has major.minor releases. But the bound :7.3.0 doesn't hurt) @@ -231,6 +243,7 @@ class Openblas(CMakePackage, MakefilePackage): # See https://github.com/spack/spack/issues/3036 conflicts("%intel@16", when="@0.2.15:0.2.19") + conflicts( "+consistent_fpcsr", when="threads=none", diff --git a/var/spack/repos/builtin/packages/opencarp/package.py b/var/spack/repos/builtin/packages/opencarp/package.py index 3a299f75d14640..0316cc288cbcb5 100644 --- a/var/spack/repos/builtin/packages/opencarp/package.py +++ b/var/spack/repos/builtin/packages/opencarp/package.py @@ -51,6 +51,9 @@ class Opencarp(CMakePackage): ) version("master", branch="master", submodules=False, no_cache=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("carputils", default=False, description="Installs the carputils framework") variant("meshtool", default=False, description="Installs the meshtool software") diff --git a/var/spack/repos/builtin/packages/opencascade/package.py b/var/spack/repos/builtin/packages/opencascade/package.py index 4c07bb5a7d1e84..b223ecad491b98 100644 --- a/var/spack/repos/builtin/packages/opencascade/package.py +++ b/var/spack/repos/builtin/packages/opencascade/package.py @@ -89,6 +89,9 @@ class Opencascade(CMakePackage): sha256="655da7717dac3460a22a6a7ee68860c1da56da2fec9c380d8ac0ac0349d67676", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # fix for numeric_limits in gcc-12; applies cleanly to all older versions patch( "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=patch;h=2a8c5ad46cfef8114b13c3a33dcd88a81e522c1e", diff --git a/var/spack/repos/builtin/packages/opencl-c-headers/package.py b/var/spack/repos/builtin/packages/opencl-c-headers/package.py index 88c8f533f87673..afba470d0f2794 100644 --- a/var/spack/repos/builtin/packages/opencl-c-headers/package.py +++ b/var/spack/repos/builtin/packages/opencl-c-headers/package.py @@ -56,6 +56,8 @@ class OpenclCHeaders(CMakePackage): "2020.03.13", sha256="664bbe587e5a0a00aac267f645b7c413586e7bc56dca9ff3b00037050d06f476" ) + depends_on("c", type="build") # generated + def cmake_args(self): # Disable testing the headers. They definitely work. return ["-DBUILD_TESTING=OFF"] diff --git a/var/spack/repos/builtin/packages/opencl-clhpp/package.py b/var/spack/repos/builtin/packages/opencl-clhpp/package.py index 84e3b8dad4968f..c580b966775af4 100644 --- a/var/spack/repos/builtin/packages/opencl-clhpp/package.py +++ b/var/spack/repos/builtin/packages/opencl-clhpp/package.py @@ -27,6 +27,8 @@ class OpenclClhpp(CMakePackage): version("2.0.10", sha256="fa27456295c3fa534ce824eb0314190a8b3ebd3ba4d93a0b1270fc65bf378f2b") version("2.0.9", sha256="ba8ac4977650d833804f208a1b0c198006c65c5eac7c83b25dc32cea6199f58c") + depends_on("cxx", type="build") # generated + root_cmakelists_dir = "include" @run_after("install") diff --git a/var/spack/repos/builtin/packages/opencl-icd-loader/package.py b/var/spack/repos/builtin/packages/opencl-icd-loader/package.py index 9949eaa9f26df4..368eb1aa336927 100644 --- a/var/spack/repos/builtin/packages/opencl-icd-loader/package.py +++ b/var/spack/repos/builtin/packages/opencl-icd-loader/package.py @@ -47,6 +47,8 @@ class OpenclIcdLoader(CMakePackage): "2021.04.29", sha256="c2eb8a15b3d6d0795d609f55a4cea92eaa34571f6a21428d5593673b568ac6fd" ) + depends_on("c", type="build") # generated + depends_on("opencl-c-headers@2024.05.08", when="@2024.05.08") depends_on("opencl-c-headers@2023.12.14", when="@2023.12.14") depends_on("opencl-c-headers@2023.04.17", when="@2023.04.17") diff --git a/var/spack/repos/builtin/packages/opencoarrays/package.py b/var/spack/repos/builtin/packages/opencoarrays/package.py index 7d5a668c07c31a..9c5922f47b1c98 100644 --- a/var/spack/repos/builtin/packages/opencoarrays/package.py +++ b/var/spack/repos/builtin/packages/opencoarrays/package.py @@ -31,6 +31,9 @@ class Opencoarrays(CMakePackage): version("1.7.4", sha256="1929dee793ce8f09e3b183e2b07c3e0008580cc76b460b1f7f7c066ad6672e14") version("1.6.2", sha256="7855d42a01babc233a070cc87282b5f8ffd538a7c87ec5119605d4d7c6d7f67e") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "build_type", default="RelWithDebInfo", diff --git a/var/spack/repos/builtin/packages/opencv/package.py b/var/spack/repos/builtin/packages/opencv/package.py index 02b10d0d72e785..a5985861b6c2bd 100644 --- a/var/spack/repos/builtin/packages/opencv/package.py +++ b/var/spack/repos/builtin/packages/opencv/package.py @@ -46,6 +46,9 @@ class Opencv(CMakePackage, CudaPackage): version("3.3.1", sha256="5dca3bb0d661af311e25a72b04a7e4c22c47c1aa86eb73e70063cd378a2aa6ee") version("3.3.0", sha256="8bb312b9d9fd17336dc1f8b3ac82f021ca50e2034afc866098866176d985adc6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + contrib_vers = [ "3.3.0", "3.3.1", @@ -251,6 +254,8 @@ class Opencv(CMakePackage, CudaPackage): depends_on("python@3.2:", type=("build", "link", "run")) depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) + # https://github.com/opencv/opencv-python/issues/943 + depends_on("py-numpy@:1", when="@:4.10.0.83", type=("build", "run")) extends("python", when="+python3") with when("+stitching"): diff --git a/var/spack/repos/builtin/packages/opendatadetector/package.py b/var/spack/repos/builtin/packages/opendatadetector/package.py index 345c0c90e0dd41..a2be138b5734d6 100644 --- a/var/spack/repos/builtin/packages/opendatadetector/package.py +++ b/var/spack/repos/builtin/packages/opendatadetector/package.py @@ -24,6 +24,8 @@ class Opendatadetector(CMakePackage): version("v2", tag="v2", commit="7041ae086dff4ee4a8d5b65f5d9559acc6dbec47") version("v1", tag="v1", commit="81c43c6511723c13c15327479082d3dcfa1947c7") + depends_on("cxx", type="build") # generated + depends_on("dd4hep") depends_on("root") depends_on("boost") diff --git a/var/spack/repos/builtin/packages/opendx/package.py b/var/spack/repos/builtin/packages/opendx/package.py index 27a7052f30ae2e..0a92677f77f3d4 100644 --- a/var/spack/repos/builtin/packages/opendx/package.py +++ b/var/spack/repos/builtin/packages/opendx/package.py @@ -15,6 +15,9 @@ class Opendx(AutotoolsPackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("motif") # lesstif also works, but exhibits odd behaviors depends_on("gl") diff --git a/var/spack/repos/builtin/packages/openexr/package.py b/var/spack/repos/builtin/packages/openexr/package.py index ce2bf16b5966aa..f901aef212bb59 100644 --- a/var/spack/repos/builtin/packages/openexr/package.py +++ b/var/spack/repos/builtin/packages/openexr/package.py @@ -70,6 +70,9 @@ class Openexr(CMakePackage, AutotoolsPackage): url="http://download.savannah.nongnu.org/releases/openexr/openexr-1.3.2.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("imath", when="@3:") depends_on("ilmbase", when="@:2") diff --git a/var/spack/repos/builtin/packages/openfast/package.py b/var/spack/repos/builtin/packages/openfast/package.py index 7fcaf397a3f7dd..fbe3e8bd47463a 100644 --- a/var/spack/repos/builtin/packages/openfast/package.py +++ b/var/spack/repos/builtin/packages/openfast/package.py @@ -35,6 +35,10 @@ class Openfast(CMakePackage): version("2.0.0", tag="v2.0.0", commit="0769598a17e19b3ccd00a85cde389995f55024a8") version("1.0.0", tag="v1.0.0", commit="e788b9b18bd5ed96ea59d4bc0812d461bc430cfe") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + patch("hub_seg_fault.patch", when="@2.7:3.2") variant("shared", default=True, description="Build shared libraries") diff --git a/var/spack/repos/builtin/packages/openfoam-org/package.py b/var/spack/repos/builtin/packages/openfoam-org/package.py index 44408134bf727e..78140182e7859b 100644 --- a/var/spack/repos/builtin/packages/openfoam-org/package.py +++ b/var/spack/repos/builtin/packages/openfoam-org/package.py @@ -84,6 +84,9 @@ class OpenfoamOrg(Package): url="http://downloads.sourceforge.net/foam/OpenFOAM-2.3.1.tgz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("int64", default=False, description="Compile with 64-bit label") variant( "source", default=True, description="Install library/application sources and tutorials" diff --git a/var/spack/repos/builtin/packages/openfoam/package.py b/var/spack/repos/builtin/packages/openfoam/package.py index 0919b9abd6f617..d3de3823f62092 100644 --- a/var/spack/repos/builtin/packages/openfoam/package.py +++ b/var/spack/repos/builtin/packages/openfoam/package.py @@ -333,6 +333,9 @@ class Openfoam(Package): version("1706", sha256="7779048bb53798d9a5bd2b2be0bf302c5fd3dff98e29249d6e0ef7eeb83db79a") version("1612", sha256="2909c43506a68e1f23efd0ca6186a6948ae0fc8fe1e39c78cc23ef0d69f3569d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("int64", default=False, description="With 64-bit labels") variant("knl", default=False, description="Use KNL compiler settings") variant("kahip", default=False, description="With kahip decomposition") @@ -369,8 +372,12 @@ class Openfoam(Package): # See https://github.com/spack/spack/pull/22303 for reference depends_on(Boost.with_default_variants) - # OpenFOAM does not play nice with CGAL 5.X - depends_on("cgal@:4") + # Earlier versions of OpenFOAM may not work with CGAL 5.6. I do + # not know which OpenFOAM added support for 5.x and conservatively + # use 2312 in the check. + depends_on("cgal", when="@2312:") + depends_on("cgal@:4", when="@:2306") + # The flex restriction is ONLY to deal with a spec resolution clash # introduced by the restriction within scotch! depends_on("flex@:2.6.1,2.6.4:") diff --git a/var/spack/repos/builtin/packages/openfst/package.py b/var/spack/repos/builtin/packages/openfst/package.py index ec4271a0cfce0d..03dcd04925aada 100644 --- a/var/spack/repos/builtin/packages/openfst/package.py +++ b/var/spack/repos/builtin/packages/openfst/package.py @@ -38,6 +38,8 @@ class Openfst(AutotoolsPackage): version("1.4.1", sha256="e671bf6bd4425a1fed4e7543a024201b74869bfdd029bdf9d10c53a3c2818277") version("1.4.0", sha256="eb557f37560438f03912b4e43335c4c9e72aa486d4f2046127131185eb88f17a") + depends_on("cxx", type="build") # generated + conflicts("%intel@16:") conflicts("%gcc@6:", when="@:1.6.1") diff --git a/var/spack/repos/builtin/packages/openimagedenoise/package.py b/var/spack/repos/builtin/packages/openimagedenoise/package.py index 9f90be97eed41b..57ac527e9ca616 100644 --- a/var/spack/repos/builtin/packages/openimagedenoise/package.py +++ b/var/spack/repos/builtin/packages/openimagedenoise/package.py @@ -28,6 +28,9 @@ class Openimagedenoise(CMakePackage): version("1.2.4", sha256="948b070c780b5de0d983e7d5d37f6d9454932cc278913d9ee5b0bd047d23864a") version("1.2.3", sha256="469d20b093a73b18a54a2e559b0f18a6baac845ede864be62429737042ebe4f7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("ispc", type=("build")) depends_on("python@3:", type=("build", "test")) depends_on("tbb") diff --git a/var/spack/repos/builtin/packages/openimageio/package.py b/var/spack/repos/builtin/packages/openimageio/package.py index f2f2169e5b89fc..1733210fc1ad76 100644 --- a/var/spack/repos/builtin/packages/openimageio/package.py +++ b/var/spack/repos/builtin/packages/openimageio/package.py @@ -19,6 +19,8 @@ class Openimageio(CMakePackage): version("2.2.7.0", sha256="857ac83798d6d2bda5d4d11a90618ff19486da2e5a4c4ff022c5976b5746fe8c") version("1.8.15", sha256="4d5b4ed3f2daaed69989f53c0f9364dd87c82dc0a09807b5b6e9008e2426e86f") + depends_on("cxx", type="build") # generated + # Core dependencies depends_on("cmake@3.2.2:", type="build") depends_on("boost@1.53:", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/openipmi/package.py b/var/spack/repos/builtin/packages/openipmi/package.py index b70d0aa9e14c01..6e64d5c5526f4a 100644 --- a/var/spack/repos/builtin/packages/openipmi/package.py +++ b/var/spack/repos/builtin/packages/openipmi/package.py @@ -19,6 +19,8 @@ class Openipmi(AutotoolsPackage): version("2.0.28", sha256="8e8b1de2a9a041b419133ecb21f956e999841cf2e759e973eeba9a36f8b40996") version("2.0.27", sha256="f3b1fafaaec2e2bac32fec5a86941ad8b8cb64543470bd6d819d7b166713d20b") + depends_on("c", type="build") # generated + depends_on("popt", type="link") depends_on("python", type=("build", "link", "run")) depends_on("perl", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/openjdk/package.py b/var/spack/repos/builtin/packages/openjdk/package.py index 807519d6266894..a884eaddbb6a4b 100644 --- a/var/spack/repos/builtin/packages/openjdk/package.py +++ b/var/spack/repos/builtin/packages/openjdk/package.py @@ -27,7 +27,7 @@ "7d3ab0e8eba95bd682cfda8041c6cb6fa21e09d0d9131316fd7c96c78969de31", "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.3%2B9/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.3_9.tar.gz", ), - "Darwin-aarch64": ( + "Darwin-arm64": ( "b6be6a9568be83695ec6b7cb977f4902f7be47d74494c290bc2a5c3c951e254f", "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.3%2B9/OpenJDK21U-jdk_aarch64_mac_hotspot_21.0.3_9.tar.gz", ), @@ -47,7 +47,7 @@ "a900acf3ae56b000afc35468a083b6d6fd695abec87a8abdb02743d5c72f6d6d", "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.11%2B9/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.11_9.tar.gz", ), - "Darwin-aarch64": ( + "Darwin-arm64": ( "09a162c58dd801f7cfacd87e99703ed11fb439adc71cfa14ceb2d3194eaca01c", "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.11%2B9/OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.11_9.tar.gz", ), @@ -65,7 +65,7 @@ "18be56732c1692ef131625d814dcb02ee091a43fdd6f214a33d87cc14842fc3f", "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_x64_mac_hotspot_17.0.8.1_1.tar.gz", ), - "Darwin-aarch64": ( + "Darwin-arm64": ( "2e95eed48650f00650e963c8213b6c6ecda54458edf8d254ebc99d6a6966ffad", "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.8.1_1.tar.gz", ), @@ -97,7 +97,7 @@ "ac21a5a87f7cfa00212ab7c41f7eb80ca33640d83b63ad850be811c24095d61a", "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_x64_mac_hotspot_17.0.4.1_1.tar.gz", ), - "Darwin-aarch64": ( + "Darwin-arm64": ( "3a976943a9e6a635e68e2b06bd093fc096aad9f5894acda673d3bea0cb3a6f38", "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.4.1_1.tar.gz", ), @@ -197,7 +197,7 @@ "e00476a7be3c4adfa9b3d55d30768967fd246a8352e518894e183fa444d4d3ce", "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.23%2B9/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.23_9.tar.gz", ), - "Darwin-aarch64": ( + "Darwin-arm64": ( "49122443bdeab2c9f468bd400f58f85a9ea462846faa79084fd6fd786d9b492d", "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.23%2B9/OpenJDK11U-jdk_aarch64_mac_hotspot_11.0.23_9.tar.gz", ), @@ -215,7 +215,7 @@ "42fd1373ee3f7c24f13551be20c8a5ae7ade778f83c45476ea333b2e3e025267", "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20.1%2B1/OpenJDK11U-jdk_x64_mac_hotspot_11.0.20.1_1.tar.gz", ), - "Darwin-aarch64": ( + "Darwin-arm64": ( "d36abd2f8a8cd2c73a7893306d65a5ae03eaa73565c1fc197a69d1d6fb02405e", "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20.1%2B1/OpenJDK11U-jdk_aarch64_mac_hotspot_11.0.20.1_1.tar.gz", ), @@ -233,7 +233,7 @@ "18c636bd103e240d29cdb30d7867720ea9fb9ff7c645738bfb4d5b8027269263", "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.17%2B8/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.17_8.tar.gz", ), - "Darwin-aarch64": ( + "Darwin-arm64": ( "79b18cbd398b67a52ebaf033dfca15c7af4c1a84ec5fa68a88f3bf742bb082f7", "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.17%2B8/OpenJDK11U-jdk_aarch64_mac_hotspot_11.0.17_8.tar.gz", ), @@ -255,7 +255,7 @@ "723548e36e0b3e0a5a2f36a38b22ea825d3004e26054a0e254854adc57045352", "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jdk_x64_mac_hotspot_11.0.16.1_1.tar.gz", ), - "Darwin-aarch64": ( + "Darwin-arm64": ( "1953f06702d45eb54bae3ccf453b57c33de827015f5623a2dfc16e1c83e6b0a1", "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jdk_aarch64_mac_hotspot_11.0.16.1_1.tar.gz", ), @@ -393,7 +393,7 @@ class Openjdk(Package): """The free and opensource java implementation""" homepage = "https://openjdk.org/" - preferred_prefix = "11." + preferred_prefix = "17." preferred_defined = False for ver, packages in _versions.items(): diff --git a/var/spack/repos/builtin/packages/openjpeg/package.py b/var/spack/repos/builtin/packages/openjpeg/package.py index 4a00fcc42b584e..86d2af471a54ea 100644 --- a/var/spack/repos/builtin/packages/openjpeg/package.py +++ b/var/spack/repos/builtin/packages/openjpeg/package.py @@ -21,6 +21,8 @@ class Openjpeg(CMakePackage): license("BSD-2-Clause-NetBSD") + version("2.5.2", sha256="90e3896fed910c376aaf79cdd98bdfdaf98c6472efd8e1debf0a854938cbda6a") + version("2.5.1", sha256="c0b92dadd65e33b1cf94f39dd9157d5469846744c2e0afb8ca10961f51f61da6") version("2.5.0", sha256="0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a") version("2.4.0", sha256="8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d") version("2.3.1", sha256="63f5a4713ecafc86de51bfad89cc07bb788e9bba24ebbf0c4ca637621aadb6a9") @@ -34,8 +36,12 @@ class Openjpeg(CMakePackage): version("1.5.2", sha256="3734e95edd0bef6e056815591755efd822228dc3cd866894e00a2c929026b16d") version("1.5.1", sha256="6a42fcc23cb179f69a1e94429089e5a5926aee1ffe582a0a6bd91299d297e61a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("codec", default=False, description="Build the CODEC executables") + depends_on("cmake@3.5:", when="@2.5.1:", type="build") depends_on("zlib-api", when="+codec") depends_on("libpng", when="+codec") depends_on("libtiff", when="+codec") diff --git a/var/spack/repos/builtin/packages/openkim-models/package.py b/var/spack/repos/builtin/packages/openkim-models/package.py index dd2156ba3247c7..c88290cbb5a9a4 100644 --- a/var/spack/repos/builtin/packages/openkim-models/package.py +++ b/var/spack/repos/builtin/packages/openkim-models/package.py @@ -41,6 +41,10 @@ class OpenkimModels(CMakePackage): "2019-03-29", sha256="053dda2023fe4bb6d7c1d66530c758c4e633bbf1f1be17b6b075b276fe8874f6" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + def cmake_args(self): args = [] args.append( diff --git a/var/spack/repos/builtin/packages/openldap/package.py b/var/spack/repos/builtin/packages/openldap/package.py index 4fedf169db4a06..d5fe9f11007eb1 100644 --- a/var/spack/repos/builtin/packages/openldap/package.py +++ b/var/spack/repos/builtin/packages/openldap/package.py @@ -26,6 +26,9 @@ class Openldap(AutotoolsPackage): version("2.4.49", sha256="e3b117944b4180f23befe87d0dcf47f29de775befbc469dcf4ac3dab3311e56e") version("2.4.48", sha256="d9523ffcab5cd14b709fcf3cb4d04e8bc76bb8970113255f372bc74954c6074d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("client_only", default=True, description="Client only installation") variant("icu", default=False, description="Build with unicode support") # Below, tls=none is not an option from programming point of view diff --git a/var/spack/repos/builtin/packages/openlibm/package.py b/var/spack/repos/builtin/packages/openlibm/package.py index 2645969ad9cbd3..7d1bf65682c0e8 100644 --- a/var/spack/repos/builtin/packages/openlibm/package.py +++ b/var/spack/repos/builtin/packages/openlibm/package.py @@ -21,6 +21,9 @@ class Openlibm(MakefilePackage): version("0.8.0", sha256="03620768df4ca526a63dd675c6de95a5c9d167ff59555ce57a61c6bf49e400ee") version("0.7.5", sha256="be983b9e1e40e696e8bbb7eb8f6376d3ca0ae675ae6d82936540385b0eeec15b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def make(self, spec, prefix): args = [ "prefix={0}".format(prefix), diff --git a/var/spack/repos/builtin/packages/openloops/package.py b/var/spack/repos/builtin/packages/openloops/package.py index 3c82765fd429e6..97510a2c685110 100644 --- a/var/spack/repos/builtin/packages/openloops/package.py +++ b/var/spack/repos/builtin/packages/openloops/package.py @@ -25,6 +25,10 @@ class Openloops(Package): version("2.1.2", sha256="f52575cae3d70b6b51a5d423e9cd0e076ed5961afcc015eec00987e64529a6ae") version("2.1.1", sha256="f1c47ece812227eab584e2c695fef74423d2f212873f762b8658f728685bcb91") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + all_processes = [ "tbln", "tbln_ew", diff --git a/var/spack/repos/builtin/packages/openmc/package.py b/var/spack/repos/builtin/packages/openmc/package.py index 67ad7d6337f72f..68e6f2142313a6 100644 --- a/var/spack/repos/builtin/packages/openmc/package.py +++ b/var/spack/repos/builtin/packages/openmc/package.py @@ -18,12 +18,14 @@ class Openmc(CMakePackage): programming model.""" homepage = "https://docs.openmc.org/" - url = "https://github.com/openmc-dev/openmc/tarball/v0.13.3" + url = "https://github.com/openmc-dev/openmc/tarball/v0.15.0" git = "https://github.com/openmc-dev/openmc.git" maintainers("paulromano") version("develop", branch="develop", submodules=True) version("master", branch="master", submodules=True) + version("0.15.0", commit="55b52b7ef3c9415ce045712132bf31c2a013d8c8", submodules=True) + version("0.14.0", commit="fa2330103de61a864c958d1a7250f11e5dd91468", submodules=True) version("0.13.3", commit="27cb0dc97960fe6d750eb5a93584a9a0ca532ac8", submodules=True) version("0.13.2", commit="030f73a8690ed19e91806e46c8caf338d252e74a", submodules=True) version("0.13.1", commit="33bc948f4b855c037975f16d16091fe4ecd12de3", submodules=True) @@ -34,6 +36,9 @@ class Openmc(CMakePackage): version("0.11.0", sha256="19a9d8e9c3b581e9060fbd96d30f1098312d217cb5c925eb6372a5786d9175af") version("0.10.0", sha256="47650cb45e2c326ae439208d6f137d75ad3e5c657055912d989592c6e216178f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=False, description="Enable MPI support") variant("openmp", default=True, description="Enable OpenMP support") diff --git a/var/spack/repos/builtin/packages/openmm/package.py b/var/spack/repos/builtin/packages/openmm/package.py index 6412fab474c5f2..94d7cbb1050849 100644 --- a/var/spack/repos/builtin/packages/openmm/package.py +++ b/var/spack/repos/builtin/packages/openmm/package.py @@ -25,6 +25,10 @@ class Openmm(CMakePackage, CudaPackage): version("7.5.0", sha256="516748b4f1ae936c4d70cc6401174fc9384244c65cd3aef27bc2c53eac6d6de5") version("7.4.1", sha256="e8102b68133e6dcf7fcf29bc76a11ea54f30af71d8a7705aec0aee957ebe3a6d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + install_targets = ["install", "PythonInstall"] depends_on("python@2.7:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/openmolcas/package.py b/var/spack/repos/builtin/packages/openmolcas/package.py index c3a59df79de2d6..d9e95fca8fffd8 100644 --- a/var/spack/repos/builtin/packages/openmolcas/package.py +++ b/var/spack/repos/builtin/packages/openmolcas/package.py @@ -22,6 +22,9 @@ class Openmolcas(CMakePackage): version("21.02", sha256="d0b9731a011562ff4740c0e67e48d9af74bf2a266601a38b37640f72190519ca") version("19.11", sha256="8ebd1dcce98fc3f554f96e54e34f1e8ad566c601196ee68153763b6c0a04c7b9") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=False, description="Build with mpi support.") depends_on("hdf5") diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py index f8a6c3c8843017..ee5f1517e874f3 100644 --- a/var/spack/repos/builtin/packages/openmpi/package.py +++ b/var/spack/repos/builtin/packages/openmpi/package.py @@ -388,6 +388,10 @@ class Openmpi(AutotoolsPackage, CudaPackage): "1.0", sha256="cf75e56852caebe90231d295806ac3441f37dc6d9ad17b1381791ebb78e21564" ) # libmpi.so.0.0.0 + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + patch("ad_lustre_rwcontig_open_source.patch", when="@1.6.5") patch("llnl-platforms.patch", when="@1.6.5") patch("configure.patch", when="@1.10.1") @@ -433,6 +437,12 @@ class Openmpi(AutotoolsPackage, CudaPackage): patch("btlsmcuda-fix-problem-with-makefile.patch", when="@5.0.0") patch("accelerator-build-components-as-dso-s-by-default.patch", when="@5.0.0:5.0.1") + # OpenMPI 5.0.0-5.0.3 needs to change PMIX version check to compile w/ PMIX > 4.2.5 + # https://github.com/open-mpi/ompi/issues/12537#issuecomment-2103350910 + # https://github.com/openpmix/prrte/pull/1957 + patch("pmix_getline_pmix_version.patch", when="@5.0.0:5.0.3") + patch("pmix_getline_pmix_version-prte.patch", when="@5.0.3") + variant( "fabrics", values=disjoint_sets( @@ -986,6 +996,11 @@ def configure_args(self): spec = self.spec config_args = ["--enable-shared", "--disable-silent-rules", "--disable-sphinx"] + # Work around incompatibility with new apple-clang linker + # https://github.com/open-mpi/ompi/issues/12427 + if spec.satisfies("@5: %apple-clang@15:"): + config_args.append("--with-wrapper-fcflags=-Wl,-ld_classic") + # All rpath flags should be appended with self.compiler.cc_rpath_arg. # Later, we might need to update share/openmpi/mpic++-wrapper-data.txt # and mpifort-wrapper-data.txt (see filter_rpaths()). @@ -1033,6 +1048,9 @@ def configure_args(self): if "schedulers=auto" not in spec: config_args.extend(self.with_or_without("schedulers")) + if spec.satisfies("schedulers=lsf"): + config_args.append("--with-lsf-libdir={0}".format(spec["lsf"].libs.directories[0])) + config_args.extend(self.enable_or_disable("memchecker")) if spec.satisfies("+memchecker"): config_args.extend(["--enable-debug"]) @@ -1174,6 +1192,23 @@ def configure_args(self): # if spec.satisfies("@5.0.0:") and spec.satisfies("%oneapi"): # config_args.append("--disable-io-romio") + # https://www.intel.com/content/www/us/en/developer/articles/release-notes/oneapi-c-compiler-release-notes.html : + # Key Features in Intel C++ Compiler Classic 2021.7 + # + # The Intel C++ Classic Compiler is deprecated and an additional + # diagnostic message will be output with each invocation. This + # diagnostic may impact expected output during compilation. For + # example, using the compiler to produce preprocessed information + # (icpc -E) will produce the additional deprecation diagnostic, + # interfering with the expected preprocessed output. + # + # This output can be disabled by using -diag-disable=10441 on + # Linux/macOS or /Qdiag-disable:10441 on Windows. You can add this + # option on the command line, configuration file or option setting + # environment variables. + if spec.satisfies("%intel@2021.7.0:"): + config_args.append("CPPFLAGS=-diag-disable=10441") + return config_args @run_after("install", when="+wrapper-rpath") diff --git a/var/spack/repos/builtin/packages/openmpi/pmix_getline_pmix_version-prte.patch b/var/spack/repos/builtin/packages/openmpi/pmix_getline_pmix_version-prte.patch new file mode 100644 index 00000000000000..add0fb2c9bca0a --- /dev/null +++ b/var/spack/repos/builtin/packages/openmpi/pmix_getline_pmix_version-prte.patch @@ -0,0 +1,14 @@ +diff --git a/3rd-party/prrte/src/tools/prte/prte.c b/3rd-party/prrte/src/tools/prte/prte.c +index 3c62ef4b66..d15347d324 100644 +--- a/3rd-party/prrte/src/tools/prte/prte.c ++++ b/3rd-party/prrte/src/tools/prte/prte.c +@@ -256,7 +256,7 @@ static void shutdown_callback(int fd, short flags, void *arg) + exit(PRTE_ERROR_DEFAULT_EXIT_CODE); + } + +-#if PMIX_NUMERIC_VERSION < 0x00040208 ++#if PMIX_NUMERIC_VERSION < 0x00040205 + static char *pmix_getline(FILE *fp) + { + char *ret, *buff; + diff --git a/var/spack/repos/builtin/packages/openmpi/pmix_getline_pmix_version.patch b/var/spack/repos/builtin/packages/openmpi/pmix_getline_pmix_version.patch new file mode 100644 index 00000000000000..ccb854ce811993 --- /dev/null +++ b/var/spack/repos/builtin/packages/openmpi/pmix_getline_pmix_version.patch @@ -0,0 +1,52 @@ +diff --git a/3rd-party/prrte/src/mca/ess/base/ess_base_bootstrap.c b/3rd-party/prrte/src/mca/ess/base/ess_base_bootstrap.c +index 48ce664915..f37bd7bea2 100644 +--- a/3rd-party/prrte/src/mca/ess/base/ess_base_bootstrap.c ++++ b/3rd-party/prrte/src/mca/ess/base/ess_base_bootstrap.c +@@ -68,7 +68,7 @@ static pmix_status_t regex_parse_value_range(char *base, char *range, + char ***names); + static pmix_status_t read_file(char *regexp, char ***names); + +-#if PMIX_NUMERIC_VERSION < 0x00040208 ++#if PMIX_NUMERIC_VERSION < 0x00040205 + static char *pmix_getline(FILE *fp) + { + char *ret, *buff; +diff --git a/3rd-party/prrte/src/mca/ras/base/ras_base_allocate.c b/3rd-party/prrte/src/mca/ras/base/ras_base_allocate.c +index bc9db628f5..858f1397fb 100644 +--- a/3rd-party/prrte/src/mca/ras/base/ras_base_allocate.c ++++ b/3rd-party/prrte/src/mca/ras/base/ras_base_allocate.c +@@ -59,7 +59,7 @@ + + #include "src/mca/ras/base/ras_private.h" + +-#if PMIX_NUMERIC_VERSION < 0x00040208 ++#if PMIX_NUMERIC_VERSION < 0x00040205 + static char *pmix_getline(FILE *fp) + { + char *ret, *buff; +diff --git a/3rd-party/prrte/src/mca/rmaps/rank_file/rmaps_rank_file.c b/3rd-party/prrte/src/mca/rmaps/rank_file/rmaps_rank_file.c +index b8316e0a8e..dfd0b847d0 100644 +--- a/3rd-party/prrte/src/mca/rmaps/rank_file/rmaps_rank_file.c ++++ b/3rd-party/prrte/src/mca/rmaps/rank_file/rmaps_rank_file.c +@@ -71,7 +71,7 @@ static int prte_rmaps_rf_process_lsf_affinity_hostfile(prte_job_t *jdata, prte_r + + char *prte_rmaps_rank_file_slot_list = NULL; + +-#if PMIX_NUMERIC_VERSION < 0x00040208 ++#if PMIX_NUMERIC_VERSION < 0x00040205 + static char *pmix_getline(FILE *fp) + { + char *ret, *buff; +diff --git a/3rd-party/prrte/src/mca/rmaps/seq/rmaps_seq.c b/3rd-party/prrte/src/mca/rmaps/seq/rmaps_seq.c +index 555aa39c42..356fb72aa9 100644 +--- a/3rd-party/prrte/src/mca/rmaps/seq/rmaps_seq.c ++++ b/3rd-party/prrte/src/mca/rmaps/seq/rmaps_seq.c +@@ -109,7 +109,7 @@ static bool quickmatch(prte_node_t *nd, char *name) + return false; + } + +-#if PMIX_NUMERIC_VERSION < 0x00040208 ++#if PMIX_NUMERIC_VERSION < 0x00040205 + static char *pmix_getline(FILE *fp) + { + char *ret, *buff; diff --git a/var/spack/repos/builtin/packages/openmx/package.py b/var/spack/repos/builtin/packages/openmx/package.py index 96626672ec18ea..3ec7c6b818e1e2 100644 --- a/var/spack/repos/builtin/packages/openmx/package.py +++ b/var/spack/repos/builtin/packages/openmx/package.py @@ -20,6 +20,9 @@ class Openmx(MakefilePackage): version("3.9", sha256="27bb56bd4d1582d33ad32108fb239b546bdd1bdffd6f5b739b4423da1ab93ae2") version("3.8", sha256="36ee10d8b1587b25a2ca1d57f110111be65c4fb4dc820e6d93e1ed2b562634a1") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + resource( name="patch", url="http://www.openmx-square.org/bugfixed/18June12/patch3.8.5.tar.gz", diff --git a/var/spack/repos/builtin/packages/opennurbs/package.py b/var/spack/repos/builtin/packages/opennurbs/package.py index cd583f0f888ca5..c9110087a06037 100644 --- a/var/spack/repos/builtin/packages/opennurbs/package.py +++ b/var/spack/repos/builtin/packages/opennurbs/package.py @@ -4,10 +4,11 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.build_systems import cmake, makefile from spack.package import * -class Opennurbs(Package): +class Opennurbs(CMakePackage, MakefilePackage): """OpenNURBS is an open-source NURBS-based geometric modeling library and toolset, with meshing and display / output functions. """ @@ -20,34 +21,34 @@ class Opennurbs(Package): license("Zlib") version("develop", branch="develop") - version( "percept", sha256="d12a8f14f0b27d286fb7a75ab3c4e300f77d1fbb028326d1c8d28e4641605538", url="https://github.com/PerceptTools/percept/raw/master/build-cmake/opennurbs-percept.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + + build_system( + conditional("cmake", when="@1:"), conditional("makefile", when="@:0"), default="cmake" + ) + variant("shared", default=True, description="Build shared libraries") - # CMake installation method - def install(self, spec, prefix): - cmake_args = [self.define_from_variant("BUILD_SHARED_LIBS", "shared")] - cmake_args.extend(std_cmake_args) +class CMakeBuilder(cmake.CMakeBuilder): + def cmake_args(self): + return [self.define_from_variant("BUILD_SHARED_LIBS", "shared")] + - with working_dir("spack-build", create=True): - cmake("..", *cmake_args) - make() - make("install") +class MakefileBuilder(makefile.MakefileBuilder): - # Pre-cmake installation method - @when("@percept") - def install(self, spec, prefix): - make(parallel=False) + def build(self, pkg, spec, prefix): + make("RM=rm -f", "AR=ar cr", f"CC={spack_cc}", f"CCC={spack_cxx}", parallel=False) - # Install manually + def install(self, pkg, spec, prefix): mkdir(prefix.lib) mkdir(prefix.include) install("libopenNURBS.a", prefix.lib) - install_tree("zlib", join_path(prefix.include, "zlib")) install("*.h", prefix.include) diff --git a/var/spack/repos/builtin/packages/openpa/package.py b/var/spack/repos/builtin/packages/openpa/package.py index aec1aad4a79a8a..7ab2d75413943f 100644 --- a/var/spack/repos/builtin/packages/openpa/package.py +++ b/var/spack/repos/builtin/packages/openpa/package.py @@ -20,3 +20,5 @@ class Openpa(AutotoolsPackage): version("1.0.2", sha256="13b5ef8ea3502822ab03861bf9d047c3bda722b22605edf3f508fb355746db4f") version("1.0.1", sha256="63fae765d44e5741506b92cd0ff55c237c1e19d20bd5539c77cea1c67d5b4303") version("1.0.0", sha256="0f163da7fbe39a438c301b52bb876961bfedfe4ab6248a98297dd326fabee627") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/openpbs/package.py b/var/spack/repos/builtin/packages/openpbs/package.py index 1a588e95b1436e..32ae5909785a15 100644 --- a/var/spack/repos/builtin/packages/openpbs/package.py +++ b/var/spack/repos/builtin/packages/openpbs/package.py @@ -21,6 +21,9 @@ class Openpbs(AutotoolsPackage): version("20.0.1", sha256="685a4abcea92bf518df02b544d25e237ae8cef76f86525f7bf3554812e9f50fa") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/openpmd-api/package.py b/var/spack/repos/builtin/packages/openpmd-api/package.py index b114ed8efebf92..338895684d7481 100644 --- a/var/spack/repos/builtin/packages/openpmd-api/package.py +++ b/var/spack/repos/builtin/packages/openpmd-api/package.py @@ -40,6 +40,8 @@ class OpenpmdApi(CMakePackage): version("0.12.0", tag="0.12.0-alpha", commit="23be484dd2570b5277779eafcc5f1eb70c6d98f2") version("0.11.1", tag="0.11.1-alpha", commit="c40292aafbf564807710424d106304f9670a8304") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build a shared version of the library") variant("mpi", default=True, description="Enable parallel I/O") variant("hdf5", default=True, description="Enable HDF5 support") @@ -54,7 +56,7 @@ class OpenpmdApi(CMakePackage): depends_on("mpi@2.3:", when="+mpi") # might become MPI 3.0+ depends_on("nlohmann-json@3.9.1:") depends_on("mpark-variant@1.4.0:", when="@:0.14") # pre C++17 releases - depends_on("toml11@3.7.1:", when="@0.15.0:") + depends_on("toml11@3.7.1:3.8.1", when="@0.15.0:") with when("+hdf5"): depends_on("hdf5@1.8.13:") depends_on("hdf5@1.8.13: ~mpi", when="~mpi") @@ -172,17 +174,10 @@ def check(self): # later tests ctest("--output-on-failure", "-j1") - def test(self): - """Perform smoke tests on the installed package.""" - exes = ["openpmd-ls"] # in 0.11.1+ - for exe in exes: - spec_vers_str = "{0}".format(self.spec.version) - reason = "test version of {0} is {1}".format(exe, spec_vers_str) - self.run_test( - exe, - ["--version"], - [spec_vers_str], - installed=True, - purpose=reason, - skip_missing=False, - ) + def test_run_openpmd_ls(self): + """Test if openpmd-ls runs correctly""" + if self.spec.satisfies("@:0.11.0"): + raise SkipTest("Package must be installed as version 0.11.1 or later") + exe = which(join_path(self.prefix.bin, "openpmd-ls")) + out = exe(output=str.split, error=str.split) + assert str(self.spec.version) in out diff --git a/var/spack/repos/builtin/packages/openradioss-engine/package.py b/var/spack/repos/builtin/packages/openradioss-engine/package.py index 3c871a4abd932f..3fe45e505426a6 100644 --- a/var/spack/repos/builtin/packages/openradioss-engine/package.py +++ b/var/spack/repos/builtin/packages/openradioss-engine/package.py @@ -27,6 +27,10 @@ class OpenradiossEngine(CMakePackage): maintainers("kjrstory") version("main", branch="main") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=False, description="Enable MPI support") variant("sp", default=False, description="Using single precision option") variant("debug", default=False, description="Debug Option") diff --git a/var/spack/repos/builtin/packages/openradioss-starter/package.py b/var/spack/repos/builtin/packages/openradioss-starter/package.py index cf5a47215e4aec..b727c7e5c07110 100644 --- a/var/spack/repos/builtin/packages/openradioss-starter/package.py +++ b/var/spack/repos/builtin/packages/openradioss-starter/package.py @@ -28,6 +28,10 @@ class OpenradiossStarter(CMakePackage): maintainers("kjrstory") version("main", branch="main") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("sp", default=False, description="Using single precision option") variant("debug", default=False, description="Debug Option") variant("static_link", default=False, description="Static_link Option") diff --git a/var/spack/repos/builtin/packages/openrasmol/package.py b/var/spack/repos/builtin/packages/openrasmol/package.py index b7064e810bd336..f66dd35241ee73 100644 --- a/var/spack/repos/builtin/packages/openrasmol/package.py +++ b/var/spack/repos/builtin/packages/openrasmol/package.py @@ -17,6 +17,8 @@ class Openrasmol(MakefilePackage): version("2.7.5.2", sha256="b975e6e69d5c6b161a81f04840945d2f220ac626245c61bcc6c56181b73a5718") + depends_on("c", type="build") # generated + depends_on("imake", type="build") depends_on("libxext", type="link") depends_on("libxi", type="link") diff --git a/var/spack/repos/builtin/packages/openresty/package.py b/var/spack/repos/builtin/packages/openresty/package.py index 034bdfd64d99d4..df9cb91771c4d9 100644 --- a/var/spack/repos/builtin/packages/openresty/package.py +++ b/var/spack/repos/builtin/packages/openresty/package.py @@ -23,6 +23,9 @@ class Openresty(AutotoolsPackage): version("1.15.8.1", sha256="89a1238ca177692d6903c0adbea5bdf2a0b82c383662a73c03ebf5ef9f570842") version("1.13.6.2", sha256="946e1958273032db43833982e2cec0766154a9b5cb8e67868944113208ff2942") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pcre", type="build") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/openscenegraph/package.py b/var/spack/repos/builtin/packages/openscenegraph/package.py index ce0af8cec36566..9d257c5c71ba72 100644 --- a/var/spack/repos/builtin/packages/openscenegraph/package.py +++ b/var/spack/repos/builtin/packages/openscenegraph/package.py @@ -29,6 +29,9 @@ class Openscenegraph(CMakePackage): version("3.2.3", sha256="a1ecc6524197024834e1277916922b32f30246cb583e27ed19bf3bf889534362") version("3.1.5", sha256="dddecf2b33302076712100af59b880e7647bc595a9a7cc99186e98d6e0eaeb5c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Builds a shared version of the library") variant("apps", default=False, description="Build OpenSceneGraph tools") variant("dcmtk", default=False, description="Build support for DICOM files using DCMTK") diff --git a/var/spack/repos/builtin/packages/openslide/package.py b/var/spack/repos/builtin/packages/openslide/package.py index e9992484be3996..c94e2e39f67082 100644 --- a/var/spack/repos/builtin/packages/openslide/package.py +++ b/var/spack/repos/builtin/packages/openslide/package.py @@ -16,6 +16,8 @@ class Openslide(AutotoolsPackage): version("3.4.1", sha256="9938034dba7f48fadc90a2cdf8cfe94c5613b04098d1348a5ff19da95b990564") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("openjpeg") depends_on("jpeg") diff --git a/var/spack/repos/builtin/packages/openslp/package.py b/var/spack/repos/builtin/packages/openslp/package.py index 6e77b75dbfa3fa..f930d127234065 100644 --- a/var/spack/repos/builtin/packages/openslp/package.py +++ b/var/spack/repos/builtin/packages/openslp/package.py @@ -18,6 +18,9 @@ class Openslp(AutotoolsPackage): version("2.0.0", sha256="9dda45ff52cf8561ca1414ac8b4947ed2d9b43e66aec03478fa0ed37121a5ea2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py index 7fa3e646e3f908..0e9c5caf6d639a 100644 --- a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py +++ b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py @@ -38,6 +38,10 @@ class OpenspeedshopUtils(CMakePackage): version("2.4.2", branch="2.4.2") version("2.4.1", branch="2.4.1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "runtime", default=False, description="build only the runtime libraries and collectors." ) diff --git a/var/spack/repos/builtin/packages/openspeedshop/package.py b/var/spack/repos/builtin/packages/openspeedshop/package.py index 5ef937a0f8e92e..5ceb5113300c74 100644 --- a/var/spack/repos/builtin/packages/openspeedshop/package.py +++ b/var/spack/repos/builtin/packages/openspeedshop/package.py @@ -35,6 +35,10 @@ class Openspeedshop(CMakePackage): version("2.4.2", branch="2.4.2") version("2.4.1", branch="2.4.1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "runtime", default=False, description="build only the runtime libraries and collectors." ) diff --git a/var/spack/repos/builtin/packages/openssh/package.py b/var/spack/repos/builtin/packages/openssh/package.py index 73bd17eaf5e28a..b39e33aee7be32 100755 --- a/var/spack/repos/builtin/packages/openssh/package.py +++ b/var/spack/repos/builtin/packages/openssh/package.py @@ -54,6 +54,9 @@ class Openssh(AutotoolsPackage): version("6.7p1", sha256="b2f8394eae858dabbdef7dac10b99aec00c95462753e80342e530bbb6f725507") version("6.6p1", sha256="48c1f0664b4534875038004cc4f3555b8329c2a81c1df48db5c517800de203bb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "gssapi", default=True, description="Enable authentication via Kerberos through GSSAPI" ) diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py index 87a3fc29f51ca2..e21d427731c63c 100644 --- a/var/spack/repos/builtin/packages/openssl/package.py +++ b/var/spack/repos/builtin/packages/openssl/package.py @@ -12,10 +12,9 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package - """OpenSSL is an open source project that provides a robust, - commercial-grade, and full-featured toolkit for the Transport - Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. - It is also a general-purpose cryptography library.""" + """OpenSSL is an open source project that provides a robust, commercial-grade, and + full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) + protocols. It is also a general-purpose cryptography library.""" homepage = "https://www.openssl.org" @@ -32,341 +31,44 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package license("Apache-2.0") - version("3.3.0", sha256="53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02") - version("3.2.1", sha256="83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39") - version("3.1.5", sha256="6ae015467dabf0469b139ada93319327be24b98251ffaeceda0221848dc09262") - version("3.0.13", sha256="88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313") + version("3.3.1", sha256="777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e") + version("3.2.2", sha256="197149c18d9e9f292c43f0400acaba12e5f52cacfe050f3d199277ea738ec2e7") + version("3.1.6", sha256="5d2be4036b478ef3cb0a854ca9b353072c3a0e26d8a56f8f0ab9fb6ed32d38d7") + version("3.0.14", sha256="eeca035d4dd4e84fc25846d952da6297484afa0650a6f84c682e39df3a4123ca") version( - "3.1.3", - sha256="f0316a2ebd89e7f2352976445458689f80302093788c466692fb2a188b2eacf6", + "3.3.0", + sha256="53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02", deprecated=True, ) version( - "3.1.2", - sha256="a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539", + "3.2.1", + sha256="83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39", deprecated=True, ) version( - "3.1.1", - sha256="b3aa61334233b852b63ddb048df181177c2c659eb9d4376008118f9c08d07674", + "3.1.5", + sha256="6ae015467dabf0469b139ada93319327be24b98251ffaeceda0221848dc09262", deprecated=True, ) version( - "3.1.0", - sha256="aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4", - deprecated=True, - ) - version( - "3.0.11", - sha256="b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55", - deprecated=True, - ) - version( - "3.0.10", - sha256="1761d4f5b13a1028b9b6f3d4b8e17feb0cedc9370f6afe61d7193d2cdce83323", - deprecated=True, - ) - version( - "3.0.9", - sha256="eb1ab04781474360f77c318ab89d8c5a03abc38e63d65a603cabbf1b00a1dc90", - deprecated=True, - ) - version( - "3.0.8", - sha256="6c13d2bf38fdf31eac3ce2a347073673f5d63263398f1f69d0df4a41253e4b3e", - deprecated=True, - ) - version( - "3.0.7", - sha256="83049d042a260e696f62406ac5c08bf706fd84383f945cf21bd61e9ed95c396e", - deprecated=True, - ) - version( - "3.0.5", - sha256="aa7d8d9bef71ad6525c55ba11e5f4397889ce49c2c9349dcea6d3e4f0b024a7a", - deprecated=True, - ) - version( - "3.0.4", - sha256="2831843e9a668a0ab478e7020ad63d2d65e51f72977472dc73efcefbafc0c00f", - deprecated=True, - ) - version( - "3.0.2", - sha256="98e91ccead4d4756ae3c9cde5e09191a8e586d9f4d50838e7ec09d6411dfdb63", - deprecated=True, - ) - version( - "3.0.1", - sha256="c311ad853353bce796edad01a862c50a8a587f62e7e2100ef465ab53ec9b06d1", - deprecated=True, - ) - version( - "3.0.0", - sha256="59eedfcb46c25214c9bd37ed6078297b4df01d012267fe9e9eee31f61bc70536", + "3.0.13", + sha256="88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313", deprecated=True, ) + version( "1.1.1w", sha256="cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8", deprecated=True, ) - version( - "1.1.1v", - sha256="d6697e2871e77238460402e9362d47d18382b15ef9f246aba6c7bd780d38a6b0", - deprecated=True, - ) - version( - "1.1.1u", - sha256="e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6", - deprecated=True, - ) - version( - "1.1.1t", - sha256="8dee9b24bdb1dcbf0c3d1e9b02fb8f6bf22165e807f45adeb7c9677536859d3b", - deprecated=True, - ) - version( - "1.1.1s", - sha256="c5ac01e760ee6ff0dab61d6b2bbd30146724d063eb322180c6f18a6f74e4b6aa", - deprecated=True, - ) - version( - "1.1.1q", - sha256="d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca", - deprecated=True, - ) - version( - "1.1.1p", - sha256="bf61b62aaa66c7c7639942a94de4c9ae8280c08f17d4eac2e44644d9fc8ace6f", - deprecated=True, - ) - version( - "1.1.1o", - sha256="9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f", - deprecated=True, - ) - version( - "1.1.1n", - sha256="40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a", - deprecated=True, - ) - version( - "1.1.1m", - sha256="f89199be8b23ca45fc7cb9f1d8d3ee67312318286ad030f5316aca6462db6c96", - deprecated=True, - ) - version( - "1.1.1l", - sha256="0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1", - deprecated=True, - ) - version( - "1.1.1k", - sha256="892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5", - deprecated=True, - ) - version( - "1.1.1j", - sha256="aaf2fcb575cdf6491b98ab4829abf78a3dec8402b8b81efc8f23c00d443981bf", - deprecated=True, - ) - version( - "1.1.1i", - sha256="e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242", - deprecated=True, - ) - version( - "1.1.1h", - sha256="5c9ca8774bd7b03e5784f26ae9e9e6d749c9da2438545077e6b3d755a06595d9", - deprecated=True, - ) - version( - "1.1.1g", - sha256="ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46", - deprecated=True, - ) - version( - "1.1.1f", - sha256="186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35", - deprecated=True, - ) - version( - "1.1.1e", - sha256="694f61ac11cb51c9bf73f54e771ff6022b0327a43bbdfa1b2f19de1662a6dcbe", - deprecated=True, - ) - version( - "1.1.1d", - sha256="1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2", - deprecated=True, - ) - version( - "1.1.1c", - sha256="f6fb3079ad15076154eda9413fed42877d668e7069d9b87396d0804fdb3f4c90", - deprecated=True, - ) - version( - "1.1.1b", - sha256="5c557b023230413dfb0756f3137a13e6d726838ccd1430888ad15bfb2b43ea4b", - deprecated=True, - ) - version( - "1.1.1a", - sha256="fc20130f8b7cbd2fb918b2f14e2f429e109c31ddd0fb38fc5d71d9ffed3f9f41", - deprecated=True, - ) - version( - "1.1.1", - sha256="2836875a0f89c03d0fdf483941512613a50cfb421d6fd94b9f41d7279d586a3d", - deprecated=True, - ) - version( - "1.1.0l", - sha256="74a2f756c64fd7386a29184dc0344f4831192d61dc2481a93a4c5dd727f41148", - deprecated=True, - ) - version( - "1.1.0k", - sha256="efa4965f4f773574d6cbda1cf874dbbe455ab1c0d4f906115f867d30444470b1", - deprecated=True, - ) - version( - "1.1.0j", - sha256="31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246", - deprecated=True, - ) - version( - "1.1.0i", - sha256="ebbfc844a8c8cc0ea5dc10b86c9ce97f401837f3fa08c17b2cdadc118253cf99", - deprecated=True, - ) - version( - "1.1.0g", - sha256="de4d501267da39310905cb6dc8c6121f7a2cad45a7707f76df828fe1b85073af", - deprecated=True, - ) - version( - "1.1.0e", - sha256="57be8618979d80c910728cfc99369bf97b2a1abd8f366ab6ebdee8975ad3874c", - deprecated=True, - ) - version( - "1.1.0d", - sha256="7d5ebb9e89756545c156ff9c13cf2aa6214193b010a468a3bc789c3c28fe60df", - deprecated=True, - ) - version( - "1.1.0c", - sha256="fc436441a2e05752d31b4e46115eb89709a28aef96d4fe786abe92409b2fd6f5", - deprecated=True, - ) version( "1.0.2u", sha256="ecd0c6ffb493dd06707d38b14bb4d8c2288bb7033735606569d8f90f89669d16", deprecated=True, ) - version( - "1.0.2t", - sha256="14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc", - deprecated=True, - ) - version( - "1.0.2s", - sha256="cabd5c9492825ce5bd23f3c3aeed6a97f8142f606d893df216411f07d1abab96", - deprecated=True, - ) - version( - "1.0.2r", - sha256="ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6", - deprecated=True, - ) - version( - "1.0.2p", - sha256="50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00", - deprecated=True, - ) - version( - "1.0.2o", - sha256="ec3f5c9714ba0fd45cb4e087301eb1336c317e0d20b575a125050470e8089e4d", - deprecated=True, - ) - version( - "1.0.2n", - sha256="370babb75f278c39e0c50e8c4e7493bc0f18db6867478341a832a982fd15a8fe", - deprecated=True, - ) - version( - "1.0.2m", - sha256="8c6ff15ec6b319b50788f42c7abc2890c08ba5a1cdcd3810eb9092deada37b0f", - deprecated=True, - ) - version( - "1.0.2k", - sha256="6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0", - deprecated=True, - ) - version( - "1.0.2j", - sha256="e7aff292be21c259c6af26469c7a9b3ba26e9abaaffd325e3dccc9785256c431", - deprecated=True, - ) - version( - "1.0.2i", - sha256="9287487d11c9545b6efb287cdb70535d4e9b284dd10d51441d9b9963d000de6f", - deprecated=True, - ) - version( - "1.0.2h", - sha256="1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919", - deprecated=True, - ) - version( - "1.0.2g", - sha256="b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33", - deprecated=True, - ) - version( - "1.0.2f", - sha256="932b4ee4def2b434f85435d9e3e19ca8ba99ce9a065a61524b429a9d5e9b2e9c", - deprecated=True, - ) - version( - "1.0.2e", - sha256="e23ccafdb75cfcde782da0151731aa2185195ac745eea3846133f2e05c0e0bff", - deprecated=True, - ) - version( - "1.0.2d", - sha256="671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8", - deprecated=True, - ) - version( - "1.0.1u", - sha256="4312b4ca1215b6f2c97007503d80db80d5157f76f8f7d3febbe6b4c56ff26739", - deprecated=True, - ) - version( - "1.0.1t", - sha256="4a6ee491a2fdb22e519c76fdc2a628bb3cec12762cd456861d207996c8a07088", - deprecated=True, - ) - version( - "1.0.1r", - sha256="784bd8d355ed01ce98b812f873f8b2313da61df7c7b5677fcf2e57b0863a3346", - deprecated=True, - ) - version( - "1.0.1h", - sha256="9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093", - deprecated=True, - ) - version( - "1.0.1e", - sha256="f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3", - deprecated=True, - ) + + depends_on("c", type="build") # generated # On Cray DVS mounts, we can't make symlinks to /etc/ssl/openssl.cnf, # either due to a bug or because DVS is not intended to be POSIX compliant. @@ -377,12 +79,10 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package values=("mozilla", "system", "none"), multi=False, description=( - "Use certificates from the ca-certificates-mozilla " - "package, symlink system certificates, or use none, " - "respectively. The default is `mozilla`, since it is " - "system agnostic. Instead of picking certs=system, " - "one can mark openssl as an external package, to " - "avoid compiling openssl entirely." + "Use certificates from the ca-certificates-mozilla package, symlink system " + "certificates, or use none, respectively. The default is `mozilla`, since it is " + "system agnostic. Instead of picking certs=system, one can mark openssl as an " + "external package, to avoid compiling openssl entirely." ), ) variant("docs", default=False, description="Install docs and manpages") @@ -398,12 +98,6 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package depends_on("gmake", type="build", when="platform=linux") depends_on("gmake", type="build", when="platform=darwin") - patch( - "https://github.com/openssl/openssl/commit/f9e578e720bb35228948564192adbe3bc503d5fb.patch?full_index=1", - sha256="3fdcf2d1e47c34f3a012f23306322c5a35cad55b180c9b6fb34537b55884645c", - when="@1.1.1q", - ) - @classmethod def determine_version(cls, exe): output = Executable(exe)("version", output=str, error=str) diff --git a/var/spack/repos/builtin/packages/opensta/package.py b/var/spack/repos/builtin/packages/opensta/package.py index 7b6db1c532adf3..6dea137c243079 100644 --- a/var/spack/repos/builtin/packages/opensta/package.py +++ b/var/spack/repos/builtin/packages/opensta/package.py @@ -28,6 +28,8 @@ class Opensta(CMakePackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + variant("zlib", default=True, description="build with zlib support") variant("cudd", default=True, description="build with cudd support") diff --git a/var/spack/repos/builtin/packages/opensubdiv/package.py b/var/spack/repos/builtin/packages/opensubdiv/package.py index 32399f546da45d..b526ef9a1e5d16 100644 --- a/var/spack/repos/builtin/packages/opensubdiv/package.py +++ b/var/spack/repos/builtin/packages/opensubdiv/package.py @@ -26,6 +26,8 @@ class Opensubdiv(CMakePackage, CudaPackage): version("3.4.3", sha256="7b22eb27d636ab0c1e03722c7a5a5bd4f11664ee65c9b48f341a6d0ce7f36745") version("3.4.0", sha256="d932b292f83371c7518960b2135c7a5b931efb43cdd8720e0b27268a698973e4") + depends_on("cxx", type="build") # generated + def url_for_version(self, version): url = "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v{0}.tar.gz" return url.format(version.underscored) diff --git a/var/spack/repos/builtin/packages/openturns/package.py b/var/spack/repos/builtin/packages/openturns/package.py index d5e0d5d1a2921e..ba002881d91559 100644 --- a/var/spack/repos/builtin/packages/openturns/package.py +++ b/var/spack/repos/builtin/packages/openturns/package.py @@ -27,6 +27,9 @@ class Openturns(CMakePackage): version("1.19", sha256="1d61cb6ce8ec1121db9f1e9fb490aaa056d2ff250db26df05d2e3e30ceb32344") version("1.18", sha256="1840d3fd8b38fd5967b1fa04e49d8f760c2c497400430e97623595ca48754ae0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("python", default=True, description="Build Python bindings") variant("libxml2", default=False, description="Use LibXML2 for XML support") diff --git a/var/spack/repos/builtin/packages/openvdb/package.py b/var/spack/repos/builtin/packages/openvdb/package.py index 293839704f79be..0ef4cbb354bfe3 100644 --- a/var/spack/repos/builtin/packages/openvdb/package.py +++ b/var/spack/repos/builtin/packages/openvdb/package.py @@ -28,6 +28,8 @@ class Openvdb(CMakePackage): version("8.0.1", sha256="a6845da7c604d2c72e4141c898930ac8a2375521e535f696c2cd92bebbe43c4f") version("7.1.0", sha256="0c3588c1ca6e647610738654ec2c6aaf41a203fd797f609fbeab1c9f7c3dc116") + depends_on("cxx", type="build") # generated + # these variants were for 8.0.1 and probably could be updated... variant("shared", default=True, description="Build as a shared library.") variant("python", default=False, description="Build the pyopenvdb python extension.") diff --git a/var/spack/repos/builtin/packages/openvkl/package.py b/var/spack/repos/builtin/packages/openvkl/package.py index 164dedfd97511f..165c5b39b26462 100644 --- a/var/spack/repos/builtin/packages/openvkl/package.py +++ b/var/spack/repos/builtin/packages/openvkl/package.py @@ -27,6 +27,9 @@ class Openvkl(CMakePackage): version("1.0.0", sha256="81ccae679bfa2feefc4d4b1ce72bcd242ba34d2618fbb418a1c2a05d640d16b4") version("0.13.0", sha256="974608259e3a5d8e29d2dfe81c6b2b1830aadeb9bbdc87127f3a7c8631e9f1bd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("embree@4", when="@1.3.2:") depends_on("embree@3.13.0:3", when="@:1.3.1") depends_on("embree@3.13.1:", when="@1.0.0:") diff --git a/var/spack/repos/builtin/packages/openwsman/package.py b/var/spack/repos/builtin/packages/openwsman/package.py index 9d9870706b72ae..d9cdb2f80b0c6d 100644 --- a/var/spack/repos/builtin/packages/openwsman/package.py +++ b/var/spack/repos/builtin/packages/openwsman/package.py @@ -17,6 +17,9 @@ class Openwsman(CMakePackage): version("2.6.11", sha256="895eaaae62925f9416766ea3e71a5368210e6cfe13b23e4e0422fa0e75c2541c") version("2.6.10", sha256="d3c624a03d7bc1835544ce1af56efd010f77cbee0c02b34e0755aa9c9b2c317b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("python", default=True, description="Enable python") extends("python", when="+python") diff --git a/var/spack/repos/builtin/packages/ophidia-analytics-framework/package.py b/var/spack/repos/builtin/packages/ophidia-analytics-framework/package.py index 443ecb3df542a5..dfc990efbd64ca 100644 --- a/var/spack/repos/builtin/packages/ophidia-analytics-framework/package.py +++ b/var/spack/repos/builtin/packages/ophidia-analytics-framework/package.py @@ -18,6 +18,8 @@ class OphidiaAnalyticsFramework(AutotoolsPackage): sha256="565050b90ce1cefc59136c835a335ca7981fec792df7a1ee9309b24c05b275d6", deprecated=True, ) + + depends_on("c", type="build") # generated depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/ophidia-io-server/package.py b/var/spack/repos/builtin/packages/ophidia-io-server/package.py index c9215b0f6df0fd..1d98f78271b24b 100644 --- a/var/spack/repos/builtin/packages/ophidia-io-server/package.py +++ b/var/spack/repos/builtin/packages/ophidia-io-server/package.py @@ -18,6 +18,8 @@ class OphidiaIoServer(AutotoolsPackage): sha256="8b203c44e0e5497c00f1fdb2322f0b0a41f36900b62a33d95a4570ae1ccc2971", deprecated=True, ) + + depends_on("c", type="build") # generated depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/ophidia-primitives/package.py b/var/spack/repos/builtin/packages/ophidia-primitives/package.py index 5e010251f46a52..636854421d7a77 100644 --- a/var/spack/repos/builtin/packages/ophidia-primitives/package.py +++ b/var/spack/repos/builtin/packages/ophidia-primitives/package.py @@ -14,6 +14,8 @@ class OphidiaPrimitives(AutotoolsPackage): maintainers("eldoo", "SoniaScard") version("1.7.1", sha256="efec5248dca8fb766abcd536344eefbe2e970fb551f03454a968e59e2df69116") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/ophidia-server/package.py b/var/spack/repos/builtin/packages/ophidia-server/package.py index 174e68dafb4d2b..c300b2100cb19b 100644 --- a/var/spack/repos/builtin/packages/ophidia-server/package.py +++ b/var/spack/repos/builtin/packages/ophidia-server/package.py @@ -14,6 +14,8 @@ class OphidiaServer(AutotoolsPackage): maintainers("eldoo", "SoniaScard") version("1.7.4", sha256="30128c99ae089ab766141397ea5098ac930cfe10d09b289ed120f6581d8bb07d") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/opium/package.py b/var/spack/repos/builtin/packages/opium/package.py index 277acc74de431c..73ab47cd786227 100644 --- a/var/spack/repos/builtin/packages/opium/package.py +++ b/var/spack/repos/builtin/packages/opium/package.py @@ -17,6 +17,9 @@ class Opium(AutotoolsPackage): version("4.1", sha256="e5a102b52601ad037d8a7b3e2dbd295baad23b8c1e4908b9014df2e432c23c60") version("3.8", sha256="edee6606519330aecaee436ee8cfb0a33788b5677861d59e38aba936e87d5ad3") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("external-lapack", default=False, description="Links to externally installed LAPACK") depends_on("lapack", when="+external-lapack") diff --git a/var/spack/repos/builtin/packages/optional-lite/package.py b/var/spack/repos/builtin/packages/optional-lite/package.py index 3b09e935bdd2a3..b3ed4112cdf131 100644 --- a/var/spack/repos/builtin/packages/optional-lite/package.py +++ b/var/spack/repos/builtin/packages/optional-lite/package.py @@ -30,6 +30,8 @@ class OptionalLite(CMakePackage): version("2.0.0", sha256="e8d803cbc7be241df41a9ab267b525b7941df09747cd5a7deb55f863bd8a4e8d") version("1.0.3", sha256="7a2fb0fe20d61d091f6730237add9bab58bc0df1288cb96f3e8a61b859539067") + depends_on("cxx", type="build") # generated + def cmake_args(self): return [ f"-DOPTIONAL_LITE_OPT_BUILD_TESTS={'ON' if self.run_tests else 'OFF'}", diff --git a/var/spack/repos/builtin/packages/optipng/package.py b/var/spack/repos/builtin/packages/optipng/package.py index ebef46e2ae958d..40ee730f19c3bc 100644 --- a/var/spack/repos/builtin/packages/optipng/package.py +++ b/var/spack/repos/builtin/packages/optipng/package.py @@ -20,5 +20,8 @@ class Optipng(AutotoolsPackage, SourceforgePackage): license("Zlib") version("0.7.7", sha256="4f32f233cef870b3f95d3ad6428bfe4224ef34908f1b42b0badf858216654452") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated # See https://github.com/imagemin/optipng-bin/issues/97 patch("for_aarch64.patch", when="target=aarch64:") diff --git a/var/spack/repos/builtin/packages/opus/package.py b/var/spack/repos/builtin/packages/opus/package.py index f839f67202fb62..4cfc0b897be110 100644 --- a/var/spack/repos/builtin/packages/opus/package.py +++ b/var/spack/repos/builtin/packages/opus/package.py @@ -43,3 +43,5 @@ class Opus(AutotoolsPackage): version("0.9.2", sha256="6e85c1b57e1d7b7dfe2928bf92586b96b73a9067e054ede45bd8e6d24bd30582") version("0.9.1", sha256="206221afc47b87496588013bd4523e1e9f556336c0813f4372773fc536dd4293") version("0.9.0", sha256="b2f75c4ac5ab837845eb028413fae2a28754bfb0a6d76416e2af1441ef447649") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/or-tools/package.py b/var/spack/repos/builtin/packages/or-tools/package.py index 922b849d443588..138d8d7cea915c 100644 --- a/var/spack/repos/builtin/packages/or-tools/package.py +++ b/var/spack/repos/builtin/packages/or-tools/package.py @@ -19,6 +19,8 @@ class OrTools(CMakePackage): license("Apache-2.0") version("7.8", sha256="d93a9502b18af51902abd130ff5f23768fcf47e266e6d1f34b3586387aa2de68") + + depends_on("cxx", type="build") # generated variant("coin", default=False, description="Enable COIN-OR solvers.") depends_on("cmake@3.14:", type="build") depends_on("gflags@2.2.2:") diff --git a/var/spack/repos/builtin/packages/orbit2/package.py b/var/spack/repos/builtin/packages/orbit2/package.py index 597e229a0844a5..a911b64a676ee1 100644 --- a/var/spack/repos/builtin/packages/orbit2/package.py +++ b/var/spack/repos/builtin/packages/orbit2/package.py @@ -17,6 +17,8 @@ class Orbit2(AutotoolsPackage): version("2.14.19", sha256="55c900a905482992730f575f3eef34d50bda717c197c97c08fa5a6eafd857550") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("glib") depends_on("libidl") diff --git a/var/spack/repos/builtin/packages/orc/package.py b/var/spack/repos/builtin/packages/orc/package.py index b07b5abe0ff922..1c3487cb1a08b2 100644 --- a/var/spack/repos/builtin/packages/orc/package.py +++ b/var/spack/repos/builtin/packages/orc/package.py @@ -16,6 +16,8 @@ class Orc(CMakePackage): version("1.6.5", sha256="df5885db8fa2e4435db8d486c6c7fc4e2c565d6197eee27729cf9cbdf36353c0") + depends_on("cxx", type="build") # generated + depends_on("maven") depends_on("openssl") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/orfm/package.py b/var/spack/repos/builtin/packages/orfm/package.py index 3b87e6084278ba..9aeb4ada490aff 100644 --- a/var/spack/repos/builtin/packages/orfm/package.py +++ b/var/spack/repos/builtin/packages/orfm/package.py @@ -17,4 +17,6 @@ class Orfm(AutotoolsPackage): version("0.7.1", sha256="19f39c72bcc48127b757613c5eef4abae95ee6c82dccf96b041db527b27f319a") + depends_on("c", type="build") # generated + depends_on("zlib-api", type="link") diff --git a/var/spack/repos/builtin/packages/osi/package.py b/var/spack/repos/builtin/packages/osi/package.py index 83e12ebe3a7c8e..a29a9fea0f9e67 100644 --- a/var/spack/repos/builtin/packages/osi/package.py +++ b/var/spack/repos/builtin/packages/osi/package.py @@ -30,4 +30,6 @@ class Osi(AutotoolsPackage): version("0.108.7", sha256="f1bc53a498585f508d3f8d74792440a30a83c8bc934d0c8ecf8cd8bc0e486228") version("0.108.6", sha256="984a5886825e2da9bf44d8a665f4b92812f0700e451c12baf9883eaa2315fad5") + depends_on("cxx", type="build") # generated + build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/osmctools/package.py b/var/spack/repos/builtin/packages/osmctools/package.py index a322d470db6d3a..c78837343c2a6f 100644 --- a/var/spack/repos/builtin/packages/osmctools/package.py +++ b/var/spack/repos/builtin/packages/osmctools/package.py @@ -18,6 +18,8 @@ class Osmctools(AutotoolsPackage): version("0.9", sha256="2f5298be5b4ba840a04f360c163849b34a31386ccd287657885e21268665f413") version("0.8", sha256="54ae48717afd05707c9b1fd750dd56c33c3bae0755424ce8ca3795ee28e0ece8") + depends_on("c", type="build") # generated + depends_on("zlib-api") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/ospray/package.py b/var/spack/repos/builtin/packages/ospray/package.py index fc649dc22f2eaa..7dd9541cf1a21d 100644 --- a/var/spack/repos/builtin/packages/ospray/package.py +++ b/var/spack/repos/builtin/packages/ospray/package.py @@ -27,6 +27,9 @@ class Ospray(CMakePackage): version("2.7.0", sha256="bcaeb221b5dd383d27587ffaca7f75d7e0064f64017a0d73df90862b14b5704b") version("2.6.0", sha256="5efccd7eff5774b77f8894e68a6b803b535a0d12f32ab49edf13b954e2848f2e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("apps", default=False, description="Enable building OSPRay Apps") variant("denoiser", default=True, description="Enable denoiser image operation") variant("glm", default=False, description="Build ospray_cpp GLM tests/tutorial") diff --git a/var/spack/repos/builtin/packages/osqp/package.py b/var/spack/repos/builtin/packages/osqp/package.py index 9fb9614d374898..8506e50949337e 100644 --- a/var/spack/repos/builtin/packages/osqp/package.py +++ b/var/spack/repos/builtin/packages/osqp/package.py @@ -22,3 +22,5 @@ class Osqp(CMakePackage): version("master", branch="master", submodules=True) version("0.6.0", commit="0baddd36bd57ec1cace0a52c6dd9663e8f16df0a", submodules=True) version("0.5.0", commit="97050184aa2cbebe446ae02d1f8b811243e180d6", submodules=True) + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/ossp-uuid/package.py b/var/spack/repos/builtin/packages/ossp-uuid/package.py index 24dd3c08092cb7..24029387f52186 100644 --- a/var/spack/repos/builtin/packages/ossp-uuid/package.py +++ b/var/spack/repos/builtin/packages/ossp-uuid/package.py @@ -19,6 +19,9 @@ class OsspUuid(AutotoolsPackage): version("1.6.2", sha256="11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + provides("uuid") @property diff --git a/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py b/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py index e94129c65d0c48..bf2c2e505dc20c 100644 --- a/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py +++ b/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py @@ -44,6 +44,9 @@ class OsuMicroBenchmarks(AutotoolsPackage, CudaPackage, ROCmPackage): version("5.4", sha256="e1ca762e13a07205a59b59ad85e85ce0f826b70f76fd555ce5568efb1f2a8f33") version("5.3", sha256="d7b3ad4bee48ac32f5bef39650a88f8f2c23a3050b17130c63966283edced89b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("mpi") variant("papi", description="Enable/Disable support for papi", default=False) variant("graphing", description="Enable/Disable support for graphing", default=False) diff --git a/var/spack/repos/builtin/packages/otf/package.py b/var/spack/repos/builtin/packages/otf/package.py index 757d34d08af3d6..56bfddac03f586 100644 --- a/var/spack/repos/builtin/packages/otf/package.py +++ b/var/spack/repos/builtin/packages/otf/package.py @@ -22,6 +22,9 @@ class Otf(AutotoolsPackage): "1.12.5salmon", sha256="0a8427360dedb38e8ddca30f14d95f826420c550337c5a79dbb754904e194088" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/otf2/package.py b/var/spack/repos/builtin/packages/otf2/package.py index 60d55d097cb170..ff16ea5dd4bdee 100644 --- a/var/spack/repos/builtin/packages/otf2/package.py +++ b/var/spack/repos/builtin/packages/otf2/package.py @@ -59,21 +59,24 @@ class Otf2(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): if version < Version("2.3"): - return "https://www.vi-hps.org/cms/upload/packages/otf2/otf2-{0}.tar.gz".format( - version - ) + return f"https://www.vi-hps.org/cms/upload/packages/otf2/otf2-{version}.tar.gz" + + return f"https://perftools.pages.jsc.fz-juelich.de/cicd/otf2/tags/otf2-{version}/otf2-{version}.tar.gz" - return "https://perftools.pages.jsc.fz-juelich.de/cicd/otf2/tags/otf2-{0}/otf2-{0}.tar.gz".format( - version - ) + extends("python") + + # `imp` module required + depends_on("python@:3.11", type=("build", "run")) with when("@2.2 %cce"): depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") - depends_on("m4", type="build") # Fix missing initialization of variable resulting in issues when used by # APEX/HPX: https://github.com/STEllAR-GROUP/hpx/issues/5239 @@ -86,14 +89,19 @@ def url_for_version(self, version): def force_autoreconf(self): return self.spec.satisfies("@2.2 %cce") + def flag_handler(self, name, flags): + if name == "cflags": + flags.append(self.compiler.cc_pic_flag) + elif name == "cxxflags": + flags.append(self.compiler.cxx_pic_flag) + return (flags, None, None) + def configure_args(self): return [ "--enable-shared", - "CC={0}".format(spack_cc), - "CXX={0}".format(spack_cxx), - "F77={0}".format(spack_f77), - "FC={0}".format(spack_fc), - "CFLAGS={0}".format(self.compiler.cc_pic_flag), - "CXXFLAGS={0}".format(self.compiler.cxx_pic_flag), + f"CC={spack_cc}", + f"CXX={spack_cxx}", + f"F77={spack_f77}", + f"FC={spack_fc}", "PYTHON_FOR_GENERATOR=:", ] diff --git a/var/spack/repos/builtin/packages/p11-kit/package.py b/var/spack/repos/builtin/packages/p11-kit/package.py index 685d6aede57652..b46bb62fac6b9e 100644 --- a/var/spack/repos/builtin/packages/p11-kit/package.py +++ b/var/spack/repos/builtin/packages/p11-kit/package.py @@ -24,6 +24,8 @@ class P11Kit(AutotoolsPackage): version("0.23.20", sha256="8f6116f34735f6902e9db461c5dbe3e7e25b5cb8c38f42ea2a5aede1cf693749") version("0.23.19", sha256="c27921404e82244d97b27f46bae654e5814b5963e0ce3c75ad37007ded46f700") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/p3dfft3/package.py b/var/spack/repos/builtin/packages/p3dfft3/package.py index dc82a5ad273290..11427f1f8e1ea3 100644 --- a/var/spack/repos/builtin/packages/p3dfft3/package.py +++ b/var/spack/repos/builtin/packages/p3dfft3/package.py @@ -20,6 +20,10 @@ class P3dfft3(AutotoolsPackage): version("develop", branch="master") version("3.0.0", sha256="1c549e78097d1545d18552b039be0d11cdb96be46efe99a16b65fd5d546dbfa7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fftw", default=True, description="Builds with FFTW library") variant("essl", default=False, description="Builds with ESSL library") variant("mpi", default=True, description="Enable MPI support.") diff --git a/var/spack/repos/builtin/packages/p4est/package.py b/var/spack/repos/builtin/packages/p4est/package.py index de98e31e1e04e2..9b71294db3d3d1 100644 --- a/var/spack/repos/builtin/packages/p4est/package.py +++ b/var/spack/repos/builtin/packages/p4est/package.py @@ -29,6 +29,8 @@ class P4est(AutotoolsPackage): version("2.0", sha256="c522c5b69896aab39aa5a81399372a19a6b03fc6200d2d5d677d9a22fe31029a") version("1.1", sha256="0b5327a35f0c869bf920b8cab5f20caa4eb55692eaaf1f451d5de30285b25139") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Enable MPI") variant("openmp", default=False, description="Enable OpenMP") diff --git a/var/spack/repos/builtin/packages/p7zip/package.py b/var/spack/repos/builtin/packages/p7zip/package.py index bb6266286d93d9..c50aeb4d070069 100644 --- a/var/spack/repos/builtin/packages/p7zip/package.py +++ b/var/spack/repos/builtin/packages/p7zip/package.py @@ -19,6 +19,9 @@ class P7zip(MakefilePackage): version("17.04", sha256="ea029a2e21d2d6ad0a156f6679bd66836204aa78148a4c5e498fe682e77127ef") version("16.02", sha256="5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch( "gcc10.patch", when="@16.02%gcc@10:", diff --git a/var/spack/repos/builtin/packages/pacbio-daligner/package.py b/var/spack/repos/builtin/packages/pacbio-daligner/package.py index 28ede3ec5062a2..b51a86435e0986 100644 --- a/var/spack/repos/builtin/packages/pacbio-daligner/package.py +++ b/var/spack/repos/builtin/packages/pacbio-daligner/package.py @@ -15,6 +15,8 @@ class PacbioDaligner(MakefilePackage): version("2017-08-05", commit="0fe5240d2cc6b55bf9e04465b700b76110749c9d") + depends_on("c", type="build") # generated + depends_on("gmake", type="build") depends_on("pacbio-dazz-db") diff --git a/var/spack/repos/builtin/packages/pacbio-damasker/package.py b/var/spack/repos/builtin/packages/pacbio-damasker/package.py index fbcff6696ed564..3a431949230872 100644 --- a/var/spack/repos/builtin/packages/pacbio-damasker/package.py +++ b/var/spack/repos/builtin/packages/pacbio-damasker/package.py @@ -15,6 +15,8 @@ class PacbioDamasker(MakefilePackage): version("2017-02-11", commit="144244b77d52cb785cb1b3b8ae3ab6f3f0c63264") + depends_on("c", type="build") # generated + depends_on("gmake", type="build") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/pacbio-dazz-db/package.py b/var/spack/repos/builtin/packages/pacbio-dazz-db/package.py index 27a01e5ea06235..8909dd66c87cec 100644 --- a/var/spack/repos/builtin/packages/pacbio-dazz-db/package.py +++ b/var/spack/repos/builtin/packages/pacbio-dazz-db/package.py @@ -16,6 +16,8 @@ class PacbioDazzDb(MakefilePackage): version("2017-04-10", commit="f29d27d51f460563481cd227d17f4bdc5e288365") + depends_on("c", type="build") # generated + depends_on("gmake", type="build") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/pacbio-dextractor/package.py b/var/spack/repos/builtin/packages/pacbio-dextractor/package.py index 4b6f0eef1c6452..033a927fdf514e 100644 --- a/var/spack/repos/builtin/packages/pacbio-dextractor/package.py +++ b/var/spack/repos/builtin/packages/pacbio-dextractor/package.py @@ -15,6 +15,8 @@ class PacbioDextractor(MakefilePackage): version("2016-08-09", commit="89726800346d0bed15d98dcc577f4c7733aab4b1") + depends_on("c", type="build") # generated + depends_on("hdf5") depends_on("gmake", type="build") diff --git a/var/spack/repos/builtin/packages/packmol/package.py b/var/spack/repos/builtin/packages/packmol/package.py index 2821ae6eec5050..0790f950860030 100644 --- a/var/spack/repos/builtin/packages/packmol/package.py +++ b/var/spack/repos/builtin/packages/packmol/package.py @@ -17,3 +17,5 @@ class Packmol(CMakePackage): version("20.0.0", sha256="4faa1c8d5e5db2e935fbc23e7167df7e0b85aa0993c57b74cb897d13e5cf2202") version("18.169", sha256="8acf2cbc742a609e763eb00cae55aecd09af2edb4cc4e931706e2f06ac380de9") + + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/pacparser/package.py b/var/spack/repos/builtin/packages/pacparser/package.py index f10dbee84b12dd..4cbd05788e7798 100644 --- a/var/spack/repos/builtin/packages/pacparser/package.py +++ b/var/spack/repos/builtin/packages/pacparser/package.py @@ -24,6 +24,8 @@ class Pacparser(MakefilePackage): url="https://github.com/manugarg/pacparser/releases/download/1.3.7/pacparser-1.3.7.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("python", when="+python") depends_on("py-setuptools", when="+python", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/pacvim/package.py b/var/spack/repos/builtin/packages/pacvim/package.py index ac72eed956aa35..582da1d9c39f49 100644 --- a/var/spack/repos/builtin/packages/pacvim/package.py +++ b/var/spack/repos/builtin/packages/pacvim/package.py @@ -16,6 +16,8 @@ class Pacvim(MakefilePackage): version("1.1.1", sha256="c869c5450fbafdfe8ba8a8a9bba3718775926f276f0552052dcfa090d21acb28") + depends_on("cxx", type="build") # generated + depends_on("ncurses") def edit(self, stage, prefix): diff --git a/var/spack/repos/builtin/packages/paddle/package.py b/var/spack/repos/builtin/packages/paddle/package.py index 92724d24177b63..84baaad08cee36 100644 --- a/var/spack/repos/builtin/packages/paddle/package.py +++ b/var/spack/repos/builtin/packages/paddle/package.py @@ -17,6 +17,9 @@ class Paddle(CMakePackage): version("master", branch="master", submodules=True) version("0.3.7", tag="0.3.7", submodules=True) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("parmetis", default=False, description="Enable ParMETIS ordering") variant("tests", default=False, description="Enable tests") diff --git a/var/spack/repos/builtin/packages/pagit/package.py b/var/spack/repos/builtin/packages/pagit/package.py index 7cec37c0eef77a..723eb8bc7eb60c 100644 --- a/var/spack/repos/builtin/packages/pagit/package.py +++ b/var/spack/repos/builtin/packages/pagit/package.py @@ -15,6 +15,8 @@ class Pagit(Package): version("1.01", sha256="8069c1d236804cf4ea782495adcc50d18561ef466af06b21946b980b3c37ad55") + depends_on("c", type="build") # generated + depends_on("java", type=("build", "run")) depends_on("perl", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/pagmo/package.py b/var/spack/repos/builtin/packages/pagmo/package.py index 0a7538d2e342dd..2bcebe0187b9a2 100644 --- a/var/spack/repos/builtin/packages/pagmo/package.py +++ b/var/spack/repos/builtin/packages/pagmo/package.py @@ -24,6 +24,9 @@ class Pagmo(CMakePackage): version("1.1.7", sha256="6d8fab89ef9d5d5f30f148225bf9b84b2e5a38997f3d68b85547840e9fd95172") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("examples", default=False, description="Build examples") variant("cxx", default=True, description="Build the C++ interface") variant("python", default=True, description="Build Python bindings") diff --git a/var/spack/repos/builtin/packages/pagmo2/package.py b/var/spack/repos/builtin/packages/pagmo2/package.py index a72cb796767526..527314c70055b0 100644 --- a/var/spack/repos/builtin/packages/pagmo2/package.py +++ b/var/spack/repos/builtin/packages/pagmo2/package.py @@ -22,6 +22,8 @@ class Pagmo2(CMakePackage): version("master", branch="master") version("2.18.0", sha256="5ad40bf3aa91857a808d6b632d9e1020341a33f1a4115d7a2b78b78fd063ae31") + depends_on("cxx", type="build") # generated + depends_on("boost+system+serialization+thread") depends_on("intel-tbb") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/paintor/package.py b/var/spack/repos/builtin/packages/paintor/package.py index 43ff1ae55927d4..50fd6d86ef39da 100644 --- a/var/spack/repos/builtin/packages/paintor/package.py +++ b/var/spack/repos/builtin/packages/paintor/package.py @@ -15,6 +15,10 @@ class Paintor(MakefilePackage): version("3.0", sha256="cc39d3c334cc6d787e4f04847192c9d0185025a2ca46910bd38901b6679d198f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("nlopt") depends_on("eigen") diff --git a/var/spack/repos/builtin/packages/pajeng/package.py b/var/spack/repos/builtin/packages/pajeng/package.py index b607a24209be22..b718f4c9b3c3b7 100644 --- a/var/spack/repos/builtin/packages/pajeng/package.py +++ b/var/spack/repos/builtin/packages/pajeng/package.py @@ -33,6 +33,8 @@ class Pajeng(CMakePackage): version("1.1", sha256="986d03e6deed20a3b9d0e076b1be9053c1bc86c8b41ca36cce3ba3b22dc6abca") version("1.0", sha256="4d98d1a78669290d0a2e6bfe07a1eb4ab96bd05e5ef78da96d2c3cf03b023aa0") + depends_on("cxx", type="build") # generated + variant("static", default=False, description="Build as static library") variant("doc", default=False, description="The Paje Trace File documentation") variant("lib", default=True, description="Build libpaje") diff --git a/var/spack/repos/builtin/packages/pal/package.py b/var/spack/repos/builtin/packages/pal/package.py index 9edf9290ee6c4c..e4bc3af5ad33d9 100644 --- a/var/spack/repos/builtin/packages/pal/package.py +++ b/var/spack/repos/builtin/packages/pal/package.py @@ -19,6 +19,8 @@ class Pal(AutotoolsPackage): version("0.9.8", sha256="191fde8c4f45d6807d4b011511344014966bb46e44029a4481d070cd5e7cc697") + depends_on("c", type="build") # generated + depends_on("sofa-c") depends_on("erfa") diff --git a/var/spack/repos/builtin/packages/palace/package.py b/var/spack/repos/builtin/packages/palace/package.py index 176b358472a45a..630645642f4f53 100644 --- a/var/spack/repos/builtin/packages/palace/package.py +++ b/var/spack/repos/builtin/packages/palace/package.py @@ -20,6 +20,8 @@ class Palace(CMakePackage): version("0.12.0", tag="v0.12.0", commit="8c192071206466638d5818048ee712e1fada386f") version("0.11.2", tag="v0.11.2", commit="6c3aa5f84a934a6ddd58022b2945a1bdb5fa329d") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("int64", default=False, description="Use 64 bit integers") variant("openmp", default=False, description="Use OpenMP for shared-memory parallelism") diff --git a/var/spack/repos/builtin/packages/palisade-development/package.py b/var/spack/repos/builtin/packages/palisade-development/package.py index 05e523a13cdc05..df1c75e05c0f23 100644 --- a/var/spack/repos/builtin/packages/palisade-development/package.py +++ b/var/spack/repos/builtin/packages/palisade-development/package.py @@ -39,6 +39,9 @@ class PalisadeDevelopment(CMakePackage): ) version("master", branch="master", preferred=True, submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared library.") variant("static", default=True, description="Build static library.") variant("with_be2", default=True, description="Build with backend 2.") diff --git a/var/spack/repos/builtin/packages/paml/package.py b/var/spack/repos/builtin/packages/paml/package.py index 63d35ec21adeaf..1e989967741bda 100644 --- a/var/spack/repos/builtin/packages/paml/package.py +++ b/var/spack/repos/builtin/packages/paml/package.py @@ -34,6 +34,8 @@ class Paml(MakefilePackage): url="http://abacus.gene.ucl.ac.uk/software/SoftOld/paml4.9h.tgz", ) + depends_on("c", type="build") # generated + build_directory = "src" def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/panda/package.py b/var/spack/repos/builtin/packages/panda/package.py index c97a5a21adb353..127413bae35a74 100644 --- a/var/spack/repos/builtin/packages/panda/package.py +++ b/var/spack/repos/builtin/packages/panda/package.py @@ -19,6 +19,8 @@ class Panda(CMakePackage): "2016-03-07", sha256="9fae1544626db417ade7318d26bc43c8af04151b9f7679b6d742dba598762037" ) + depends_on("cxx", type="build") # generated + # Note: Panda can also be built without MPI support depends_on("cmake@2.6.4:", type="build") diff --git a/var/spack/repos/builtin/packages/pandaseq/package.py b/var/spack/repos/builtin/packages/pandaseq/package.py index 15f6c64af03868..98f6ab47ca8806 100644 --- a/var/spack/repos/builtin/packages/pandaseq/package.py +++ b/var/spack/repos/builtin/packages/pandaseq/package.py @@ -19,6 +19,8 @@ class Pandaseq(AutotoolsPackage): version("2.11", sha256="6e3e35d88c95f57d612d559e093656404c1d48c341a8baa6bef7bb0f09fc8f82") version("2.10", sha256="93cd34fc26a7357e14e386b9c9ba9b28361cf4da7cf62562dc8501e220f9a561") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/pandoramonitoring/package.py b/var/spack/repos/builtin/packages/pandoramonitoring/package.py index df7599c0a59c05..25008056ad968c 100644 --- a/var/spack/repos/builtin/packages/pandoramonitoring/package.py +++ b/var/spack/repos/builtin/packages/pandoramonitoring/package.py @@ -23,6 +23,8 @@ class Pandoramonitoring(CMakePackage): version("master", branch="master") version("3.5.0", sha256="274562abb7c797194634d5460a56227444a1de07a240c88ae35ca806abcbaf60") + depends_on("cxx", type="build") # generated + depends_on("root@6.18.04: +x +opengl") depends_on("pandorasdk") diff --git a/var/spack/repos/builtin/packages/pandorasdk/package.py b/var/spack/repos/builtin/packages/pandorasdk/package.py index 2f4d3be357a5e7..77535e003eb442 100644 --- a/var/spack/repos/builtin/packages/pandorasdk/package.py +++ b/var/spack/repos/builtin/packages/pandorasdk/package.py @@ -25,6 +25,8 @@ class Pandorasdk(CMakePackage): version("3.4.1", sha256="9607bf52a9d79d88d28c45d4f3336e066338b36ab81b4d2d125226f4ad3a7aaf") version("3.4.0", sha256="1e30db056d4a43f8659fccdda00270af14593425d933f91e91d5c97f1e124c6b") + depends_on("cxx", type="build") # generated + depends_on("pandorapfa") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/pango/package.py b/var/spack/repos/builtin/packages/pango/package.py index 03d445fad3d5dc..5e4db93eba4551 100644 --- a/var/spack/repos/builtin/packages/pango/package.py +++ b/var/spack/repos/builtin/packages/pango/package.py @@ -33,6 +33,9 @@ class Pango(MesonPackage): version("1.44.6", sha256="3e1e41ba838737e200611ff001e3b304c2ca4cdbba63d200a20db0b0ddc0f86c") version("1.42.4", sha256="1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("X", default=False, description="Enable an X toolkit") depends_on("pkgconfig@0.9.0:", type="build") diff --git a/var/spack/repos/builtin/packages/pangolin/package.py b/var/spack/repos/builtin/packages/pangolin/package.py index 1cde66335f0d0b..d7d7108c4b7725 100644 --- a/var/spack/repos/builtin/packages/pangolin/package.py +++ b/var/spack/repos/builtin/packages/pangolin/package.py @@ -18,6 +18,8 @@ class Pangolin(CMakePackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + # Required dependencies depends_on("cmake@2.8.12:", type="build") depends_on("gl") diff --git a/var/spack/repos/builtin/packages/pangomm/package.py b/var/spack/repos/builtin/packages/pangomm/package.py index d09c682720d82b..032694b8e0e0f3 100644 --- a/var/spack/repos/builtin/packages/pangomm/package.py +++ b/var/spack/repos/builtin/packages/pangomm/package.py @@ -32,6 +32,8 @@ class Pangomm(AutotoolsPackage): version("2.14.1", sha256="2ea6cee273cca1aae2ee5a5dac0c416b4dc354e46debb51f20c6eeba828f5ed5") version("2.14.0", sha256="baa3b231c9498fb1140254e3feb4eb93c638f07e6e26ae0e36c3699ec14d80fd") + depends_on("cxx", type="build") # generated + depends_on("pango") depends_on("glibmm") depends_on("cairomm") diff --git a/var/spack/repos/builtin/packages/papi/package.py b/var/spack/repos/builtin/packages/papi/package.py index 89f6508c7f75db..7fb31bc920a094 100644 --- a/var/spack/repos/builtin/packages/papi/package.py +++ b/var/spack/repos/builtin/packages/papi/package.py @@ -46,6 +46,10 @@ class Papi(AutotoolsPackage, ROCmPackage): version("5.4.1", sha256="e131c1449786fe870322a949e44f974a5963824f683232e653fb570cc65d4e87") version("5.3.0", sha256="99f2f36398b370e75d100b4a189d5bc0ac4f5dd66df44d441f88fd32e1421524") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("example", default=True, description="Install the example files") variant("infiniband", default=False, description="Enable Infiniband support") variant("powercap", default=False, description="Enable powercap interface support") diff --git a/var/spack/repos/builtin/packages/parallel-hashmap/package.py b/var/spack/repos/builtin/packages/parallel-hashmap/package.py index 327c9ce3944a3f..27d8f6b1ab6ba0 100644 --- a/var/spack/repos/builtin/packages/parallel-hashmap/package.py +++ b/var/spack/repos/builtin/packages/parallel-hashmap/package.py @@ -17,6 +17,8 @@ class ParallelHashmap(CMakePackage): version("1.3.11", sha256="0515a681bfb24207013786a7737e9d8561302e656689d8a65ea480bbabab460f") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.8:", type="build") patch("pthread.patch") diff --git a/var/spack/repos/builtin/packages/parallel-netcdf/package.py b/var/spack/repos/builtin/packages/parallel-netcdf/package.py index ee67a43b0cabb3..aed8d43d6fe17f 100644 --- a/var/spack/repos/builtin/packages/parallel-netcdf/package.py +++ b/var/spack/repos/builtin/packages/parallel-netcdf/package.py @@ -47,6 +47,10 @@ def url_for_version(self, version): version("1.7.0", sha256="52f0d106c470a843c6176318141f74a21e6ece3f70ee8fe261c6b93e35f70a94") version("1.6.1", sha256="8cf1af7b640475e3cc931e5fbcfe52484c5055f2fab526691933c02eda388aae") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("cxx", default=True, description="Build the C++ Interface") variant("fortran", default=True, description="Build the Fortran Interface") variant("pic", default=True, description="Produce position-independent code (for shared libs)") diff --git a/var/spack/repos/builtin/packages/parallelio/package.py b/var/spack/repos/builtin/packages/parallelio/package.py index 2cf9f2c8c59ae4..5872c17a8d5463 100644 --- a/var/spack/repos/builtin/packages/parallelio/package.py +++ b/var/spack/repos/builtin/packages/parallelio/package.py @@ -30,6 +30,10 @@ class Parallelio(CMakePackage): version("2.5.3", sha256="205a0a128fd5262700efc230b3380dc5ab10e74bc5d273ae05db76c9d95487ca") version("2.5.2", sha256="935bc120ef3bf4fe09fb8bfdf788d05fb201a125d7346bf6b09e27ac3b5f345c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("pnetcdf", default=False, description="enable pnetcdf") variant("timing", default=False, description="enable GPTL timing") variant("ncint", default=False, description="enable netcdf integration", when="@2.6.0:") diff --git a/var/spack/repos/builtin/packages/parallelmergetree/package.py b/var/spack/repos/builtin/packages/parallelmergetree/package.py index 639d7689148e81..4e27759a580070 100644 --- a/var/spack/repos/builtin/packages/parallelmergetree/package.py +++ b/var/spack/repos/builtin/packages/parallelmergetree/package.py @@ -57,6 +57,9 @@ class Parallelmergetree(CMakePackage): submodules=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("babelflow@1.1.0", when="@1.1.2") depends_on("babelflow@1.1.0", when="@1.1.1") depends_on("babelflow@1.1.0", when="@1.1.0") diff --git a/var/spack/repos/builtin/packages/paraver/package.py b/var/spack/repos/builtin/packages/paraver/package.py index 530bb340177ada..3098ab8c46f011 100644 --- a/var/spack/repos/builtin/packages/paraver/package.py +++ b/var/spack/repos/builtin/packages/paraver/package.py @@ -32,6 +32,9 @@ class Paraver(Package): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost@1.36: +serialization") depends_on("wxwidgets@2.8:") # NOTE: using external for this one is usually simpler depends_on("wxpropgrid@1.4:") diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py index d67a99d63f43df..8edec4e3f33b37 100644 --- a/var/spack/repos/builtin/packages/paraview/package.py +++ b/var/spack/repos/builtin/packages/paraview/package.py @@ -30,6 +30,9 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): license("Apache-2.0") version("master", branch="master", submodules=True) + version( + "5.13.0-RC1", sha256="00aea2bbaf2eacd288a6cc95c1f4ed1a8a4965f27548b53ae473c1ee7caec30e" + ) version( "5.12.1", sha256="927f880c13deb6dde4172f4727d2b66f5576e15237b35778344f5dd1ddec863e", @@ -59,6 +62,10 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): version("5.0.1", sha256="caddec83ec284162a2cbc46877b0e5a9d2cca59fb4ab0ea35b0948d2492950bb") version("4.4.0", sha256="c2dc334a89df24ce5233b81b74740fc9f10bc181cd604109fd13f6ad2381fc73") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "development_files", default=True, diff --git a/var/spack/repos/builtin/packages/parflow/package.py b/var/spack/repos/builtin/packages/parflow/package.py index 3906e6f8f46d44..937ab1786d09ea 100644 --- a/var/spack/repos/builtin/packages/parflow/package.py +++ b/var/spack/repos/builtin/packages/parflow/package.py @@ -3,8 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import os - from spack.package import * @@ -23,6 +21,10 @@ class Parflow(CMakePackage): version("3.9.0", sha256="0ac610208baf973ac07ca93187ec289ba3f6e904d3f01d721ee96a2ace0f5e48") version("3.8.0", sha256="5ad01457bb03265d1e221090450e3bac5a680d6290db7e3872c295ce6d6aaa08") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") # Using explicit versions to keep builds consistent @@ -65,21 +67,16 @@ def setup_run_environment(self, env): examples_dir = "examples" - def test(self): - """Perform smoke test on installed ParFlow package.""" - # Run the single phase flow test + def test_single_phase_flow(self): + """Run the single phase flow test""" run_path = join_path(self.spec.prefix, self.examples_dir) - if os.path.isdir(run_path): - with working_dir(run_path): - self.run_test( - "{0}/tclsh".format(self.spec["tcl"].prefix.bin), - ["default_single.tcl", "1", "1" "1"], - ) - else: - # If examples are not installed test if exe executes - exes = ["parflow"] - for exe in exes: - reason = "test version of {0} is {1}".format(exe, self.spec.version) - self.run_test( - exe, ["-v"], [self.spec.version.string], installed=True, purpose=reason - ) + options = ["default_single.tcl", "1", "1" "1"] + with working_dir(run_path): + exe = which(f"{self.spec['tcl'].prefix.bin}/tclsh") + exe(*options) + + def test_check_version(self): + """Test if exe executes""" + exe = which(join_path(self.prefix.bin, "parflow")) + out = exe("-v", output=str.split, error=str.split) + assert str(self.spec.version) in out diff --git a/var/spack/repos/builtin/packages/parmetis/package.py b/var/spack/repos/builtin/packages/parmetis/package.py index 9d18cd69511773..c18d61e798799d 100644 --- a/var/spack/repos/builtin/packages/parmetis/package.py +++ b/var/spack/repos/builtin/packages/parmetis/package.py @@ -21,6 +21,8 @@ class Parmetis(CMakePackage): version("4.0.3", sha256="f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f") version("4.0.2", sha256="5acbb700f457d3bda7d4bb944b559d7f21f075bb6fa4c33f42c261019ef2f0b2") + depends_on("c", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries.") variant("gdb", default=False, description="Enables gdb support.") variant("int64", default=False, description="Sets the bit width of METIS's index type to 64.") diff --git a/var/spack/repos/builtin/packages/parmgridgen/package.py b/var/spack/repos/builtin/packages/parmgridgen/package.py index ee83f9622fe35b..942e7be7ba35c6 100644 --- a/var/spack/repos/builtin/packages/parmgridgen/package.py +++ b/var/spack/repos/builtin/packages/parmgridgen/package.py @@ -20,6 +20,8 @@ class Parmgridgen(Package): version("1.0", sha256="62cdb6e48cfc59124e5d5d360c2841e0fc2feecafe65bda110b74e942740b395") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Activate the compilation of parallel libraries") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/parmmg/package.py b/var/spack/repos/builtin/packages/parmmg/package.py index 5766f9b79b6f00..e41f7129400bcc 100644 --- a/var/spack/repos/builtin/packages/parmmg/package.py +++ b/var/spack/repos/builtin/packages/parmmg/package.py @@ -21,6 +21,10 @@ class Parmmg(CMakePackage): version("1.1.0", sha256="a5904f1f56b7809ab9ec2f6118b03a082ec2b5564355a73c74fc55426cc69600") version("1.0.0", sha256="614feb815ff6cdfc9bced30e8105994f0bf3a812243619d3349203ec1851cf6d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mmg") depends_on("metis") depends_on("vtk") diff --git a/var/spack/repos/builtin/packages/parquet-cpp/package.py b/var/spack/repos/builtin/packages/parquet-cpp/package.py index 1525bd45f95109..6c3719519f16bb 100644 --- a/var/spack/repos/builtin/packages/parquet-cpp/package.py +++ b/var/spack/repos/builtin/packages/parquet-cpp/package.py @@ -17,6 +17,8 @@ class ParquetCpp(CMakePackage): version("1.4.0", sha256="52899be6c9dc49a14976d4ad84597243696c3fa2882e5c802b56e912bfbcc7ce") + depends_on("cxx", type="build") # generated + depends_on("arrow") # TODO: replace this with an explicit list of components of Boost, diff --git a/var/spack/repos/builtin/packages/parsimonator/package.py b/var/spack/repos/builtin/packages/parsimonator/package.py index 472cbcb34c7105..b13e425f063345 100644 --- a/var/spack/repos/builtin/packages/parsimonator/package.py +++ b/var/spack/repos/builtin/packages/parsimonator/package.py @@ -17,6 +17,8 @@ class Parsimonator(MakefilePackage): version("1.0.2", commit="78368c6ab1e9adc7e9c6ec9256dd7ff2a5bb1b0a") + depends_on("c", type="build") # generated + patch("nox86.patch") @property diff --git a/var/spack/repos/builtin/packages/parsplice/package.py b/var/spack/repos/builtin/packages/parsplice/package.py index cc04c1ad98d845..b4755313fd698a 100644 --- a/var/spack/repos/builtin/packages/parsplice/package.py +++ b/var/spack/repos/builtin/packages/parsplice/package.py @@ -25,6 +25,8 @@ class Parsplice(CMakePackage): version("multisplice", branch="multisplice") version("1.1", sha256="a011c4d14f66e7cdbc151cc74b5d40dfeae19ceea033ef48185d8f3b1bc2f86b") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type="build") depends_on("berkeley-db") depends_on("nauty") diff --git a/var/spack/repos/builtin/packages/parthenon/package.py b/var/spack/repos/builtin/packages/parthenon/package.py index 1e8a8a1817d8a1..9d2cdfc5c3ce54 100644 --- a/var/spack/repos/builtin/packages/parthenon/package.py +++ b/var/spack/repos/builtin/packages/parthenon/package.py @@ -19,6 +19,8 @@ class Parthenon(CMakePackage): version("23.11", sha256="76f79fb7d6556d94052829a8ac71f53cbda76f37fabd9233c5c0cd47ef561aee") version("0.8.0", sha256="9ed7c9ebdc84927a43b86c1e061f925b57cef9b567c7275f22779ed4d98e858d") + depends_on("cxx", type="build") # generated + # ------------------------------------------------------------# # Variants # ------------------------------------------------------------# diff --git a/var/spack/repos/builtin/packages/pass/package.py b/var/spack/repos/builtin/packages/pass/package.py new file mode 100644 index 00000000000000..b5d953d4e0a272 --- /dev/null +++ b/var/spack/repos/builtin/packages/pass/package.py @@ -0,0 +1,63 @@ +# 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 Pass(MakefilePackage): + """A minimal password manager following the UNIX philosphy.""" + + homepage = "https://www.passwordstore.org/" + git = "https://git.zx2c4.com/password-store.git" + + maintainers("alecbcs", "taliaferro") + + license("GPL-2.0", checked_by="taliaferro") + + version("1.7.4", tag="1.7.4", commit="1078f2514d579178d5df7042c6a790e9c9b731ad") + + variant("xclip", default=False, description="install the X11 clipboard provider") + + depends_on("bash") + depends_on("gnupg") + depends_on("git") + depends_on("tree") + depends_on("util-linux") # for GNU getopt + depends_on("libqrencode") + depends_on("openssl") # used for base64 only + + depends_on("xclip", when="+xclip") + + def setup_build_environment(self, env): + env.set("PREFIX", prefix) + env.set("WITH_ALLCOMP", "yes") + + def edit(self, spec, prefix): + """ + Pass's install process involves slotting in a small script snippet at + the start of the file, defining certain platform-specific behaviors + including the paths where some of its key dependencies are likely to + be found. Most of this logic still works when installed with Spack, + but the paths to the dependencies are wrong (for example, on MacOS + it looks for getopt in /opt/homebrew.) We can hardcode those paths here. + """ + + bash_exec = self.spec["bash"].command + gpg_exec = self.spec["gnupg"].prefix.bin.gpg + getopt_exec = self.spec["util-linux"].prefix.bin.getopt + openssl_exec = self.spec["openssl"].command + + platform_files = FileFilter( + "src/password-store.sh", + "src/platform/darwin.sh", + "src/platform/freebsd.sh", + "src/platform/openbsd.sh", + "src/platform/cygwin.sh", + ) + + platform_files.filter("^#!.*$", f"#! {bash_exec}") + platform_files.filter('^GPG="gpg"$', f'GPG="{gpg_exec}"') + platform_files.filter('^GETOPT=".*"$', f'GETOPT="{getopt_exec}"') + platform_files.filter('^BASE64=".*"$', f'BASE64="{openssl_exec} base64"') diff --git a/var/spack/repos/builtin/packages/pastix/package.py b/var/spack/repos/builtin/packages/pastix/package.py index 18877d58b11713..6112d51ba0c3e1 100644 --- a/var/spack/repos/builtin/packages/pastix/package.py +++ b/var/spack/repos/builtin/packages/pastix/package.py @@ -12,17 +12,21 @@ class Pastix(CMakePackage, CudaPackage): based on direct methods""" homepage = "https://gitlab.inria.fr/solverstack/pastix/blob/master/README.md" - url = "https://files.inria.fr/pastix/releases/v6/pastix-6.3.2.tar.gz" + url = "https://files.inria.fr/pastix/releases/v6/pastix-6.4.0.tar.gz" git = "https://gitlab.inria.fr/solverstack/pastix.git" maintainers("fpruvost", "mfaverge", "ramet") version("master", branch="master", submodules=True) + version("6.4.0", sha256="891d426188eed56c1075fb34d2d80132593a1536ffc05cf333567f68a4811e55") version("6.3.2", sha256="c4da8802d1933eecf8c09d7e63c014c81ccf353fe623142e9f5c5fc65ed82ee0") version("6.3.1", sha256="290464d73b7d43356e4735a29932bf6f23a88e94ec7139ba7744c21e42c52681") version("6.3.0", sha256="a6bfec32a3279d7b24c5fc05885c6632d177e467f1584707c6fd7c42a8703c3e") version("6.2.2", sha256="cce9a1fe4678b5733c9f1a5a52f77b040eadc3e254418c6fb03d8ab37dede508") version("6.2.1", sha256="b680cbfc265df8cba18d3a7093fcc02e260198c4a2d6a86d1e684bb291e309dd") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # cmake's specific variant("shared", default=True, description="Build Pastix as a shared library") diff --git a/var/spack/repos/builtin/packages/patch/package.py b/var/spack/repos/builtin/packages/patch/package.py index f974ab01c25606..50bbda43bc4caa 100644 --- a/var/spack/repos/builtin/packages/patch/package.py +++ b/var/spack/repos/builtin/packages/patch/package.py @@ -22,4 +22,6 @@ class Patch(AutotoolsPackage, GNUMirrorPackage): version("2.7.6", sha256="ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd") version("2.7.5", sha256="fd95153655d6b95567e623843a0e77b81612d502ecf78a489a4aed7867caa299") + depends_on("c", type="build") # generated + build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/patchelf/package.py b/var/spack/repos/builtin/packages/patchelf/package.py index 3aa78aa604c3ea..f5f2c9742783e9 100644 --- a/var/spack/repos/builtin/packages/patchelf/package.py +++ b/var/spack/repos/builtin/packages/patchelf/package.py @@ -44,6 +44,9 @@ class Patchelf(AutotoolsPackage): version("0.9", sha256="f2aa40a6148cb3b0ca807a1bf836b081793e55ec9e5540a5356d800132be7e0a") version("0.8", sha256="14af06a2da688d577d64ff8dac065bb8903bbffbe01d30c62df7af9bf4ce72fe") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + conflicts("%gcc@:4.6", when="@0.10:", msg="Requires C++11 support") conflicts("%gcc@:6", when="@0.14:", msg="Requires C++17 support") conflicts("%clang@:3", when="@0.14:", msg="Requires C++17 support") diff --git a/var/spack/repos/builtin/packages/patchutils/package.py b/var/spack/repos/builtin/packages/patchutils/package.py index 407c7021aeb57a..ef0ee22a9e01dc 100644 --- a/var/spack/repos/builtin/packages/patchutils/package.py +++ b/var/spack/repos/builtin/packages/patchutils/package.py @@ -18,3 +18,5 @@ class Patchutils(AutotoolsPackage): version("0.4.2", sha256="8875b0965fe33de62b890f6cd793be7fafe41a4e552edbf641f1fed5ebbf45ed") version("0.4.0", sha256="da6df1fa662b635c2969e7d017e6f32f5b39f1b802673a0af635e4936d4bc2f4") version("0.3.4", sha256="cf55d4db83ead41188f5b6be16f60f6b76a87d5db1c42f5459d596e81dabe876") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/pathfinder/package.py b/var/spack/repos/builtin/packages/pathfinder/package.py index c6940f01920bc6..26f34d2e1ddfff 100644 --- a/var/spack/repos/builtin/packages/pathfinder/package.py +++ b/var/spack/repos/builtin/packages/pathfinder/package.py @@ -19,6 +19,8 @@ class Pathfinder(MakefilePackage): version("1.0.0", sha256="e002ff7df1ee9a6ee8a892fc208e047e2daf4215ff0d77e7ddc6b09d0506be16") + depends_on("c", type="build") # generated + build_targets = ["--directory=PathFinder_ref", "CC=cc"] def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/pax-utils/package.py b/var/spack/repos/builtin/packages/pax-utils/package.py index bf14c3c2792de0..aee7b4ced63668 100644 --- a/var/spack/repos/builtin/packages/pax-utils/package.py +++ b/var/spack/repos/builtin/packages/pax-utils/package.py @@ -17,3 +17,5 @@ class PaxUtils(AutotoolsPackage): version("1.3.3", sha256="eeca7fbd98bc66bead4a77000c2025d9f17ea8201b84245882406ce00b9b6b14") version("1.2.2", sha256="7f4a7f8db6b4743adde7582fa48992ad01776796fcde030683732f56221337d9") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/pbbam/package.py b/var/spack/repos/builtin/packages/pbbam/package.py index 65d1f6467f3c50..f0dc90cfaa92be 100644 --- a/var/spack/repos/builtin/packages/pbbam/package.py +++ b/var/spack/repos/builtin/packages/pbbam/package.py @@ -23,6 +23,8 @@ class Pbbam(MesonPackage): ) version("0.18.0", sha256="45286e5f7deb7ff629e0643c8a416155915aec7b85d54c60b5cdc07f4d7b234a") + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("boost@1.55.0:") depends_on("htslib@1.3.1:") diff --git a/var/spack/repos/builtin/packages/pblat/package.py b/var/spack/repos/builtin/packages/pblat/package.py index b62a96eb2a54e7..3c82805097c716 100644 --- a/var/spack/repos/builtin/packages/pblat/package.py +++ b/var/spack/repos/builtin/packages/pblat/package.py @@ -17,6 +17,8 @@ class Pblat(MakefilePackage): version("2.5.1", sha256="e85a4d752b8e159502d529f0f9e47579851a6b466b6c2f1f4d49f598642bc615") + depends_on("c", type="build") # generated + depends_on("openssl") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/pbmpi/package.py b/var/spack/repos/builtin/packages/pbmpi/package.py index f063f0cd843a4c..be59df98832008 100644 --- a/var/spack/repos/builtin/packages/pbmpi/package.py +++ b/var/spack/repos/builtin/packages/pbmpi/package.py @@ -21,6 +21,8 @@ class Pbmpi(MakefilePackage): version("1.8c", sha256="2a80ec4a98d92ace61c67ff9ba78249d45d03094b364959d490b1ad05797a279") version("partition", branch="partition") + depends_on("cxx", type="build") # generated + depends_on("mpi") depends_on("libfabric") diff --git a/var/spack/repos/builtin/packages/pciutils/package.py b/var/spack/repos/builtin/packages/pciutils/package.py index a2b8d2fdb3f07d..b066d797d71c5a 100644 --- a/var/spack/repos/builtin/packages/pciutils/package.py +++ b/var/spack/repos/builtin/packages/pciutils/package.py @@ -18,6 +18,8 @@ class Pciutils(MakefilePackage): version("3.6.4", sha256="551d0ac33f030868b7e95c29e58dc2b1882455dbc9c15c15adf7086e664131f1") version("3.6.3", sha256="7ab0fbb35cffa326eb852539260562bac14f3d27cda8c70bc2cf3211ed97c014") + depends_on("c", type="build") # generated + variant("lib", default=False, description="Install libraries with headers") def build(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/pcl/package.py b/var/spack/repos/builtin/packages/pcl/package.py index e6a720a17837cc..4cc74a437d5daf 100644 --- a/var/spack/repos/builtin/packages/pcl/package.py +++ b/var/spack/repos/builtin/packages/pcl/package.py @@ -23,6 +23,9 @@ class Pcl(CMakePackage): version("1.12.0", sha256="606a2d5c7af304791731d6b8ea79365bc8f2cd75908006484d71ecee01d9b51c") version("1.11.1", sha256="19d1a0bee2bc153de47c05da54fc6feb23393f306ab2dea2e25419654000336e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.5:", type="build") depends_on("cmake@3.10:", when="@1.12.1:", type="build") depends_on("eigen@3.1:") diff --git a/var/spack/repos/builtin/packages/pcma/package.py b/var/spack/repos/builtin/packages/pcma/package.py index ce9a459056b6b1..0b7fc617a06c8b 100644 --- a/var/spack/repos/builtin/packages/pcma/package.py +++ b/var/spack/repos/builtin/packages/pcma/package.py @@ -15,6 +15,8 @@ class Pcma(MakefilePackage): version("2.0", sha256="4b92d412126d393baa3ede501cafe9606ada9a66af6217d56befd6ec2e0c01ba") + depends_on("c", type="build") # generated + def edit(self, spec, prefix): makefile = FileFilter("makefile") makefile.filter("gcc", spack_cc) diff --git a/var/spack/repos/builtin/packages/pcre/package.py b/var/spack/repos/builtin/packages/pcre/package.py index 02d4ea0cd07878..4f7496f19c2bff 100644 --- a/var/spack/repos/builtin/packages/pcre/package.py +++ b/var/spack/repos/builtin/packages/pcre/package.py @@ -27,6 +27,9 @@ class Pcre(AutotoolsPackage, CMakePackage): version("8.39", sha256="b858099f82483031ee02092711689e7245586ada49e534a06e678b8ea9549e8b") version("8.38", sha256="b9e02d36e23024d6c02a2e5b25204b3a4fa6ade43e0a5f869f254f49535079df") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + maintainers("drkennetz") patch("intel.patch", when="@8.38") diff --git a/var/spack/repos/builtin/packages/pcre2/package.py b/var/spack/repos/builtin/packages/pcre2/package.py index 27af43f6000037..2e1f4c03f3be06 100644 --- a/var/spack/repos/builtin/packages/pcre2/package.py +++ b/var/spack/repos/builtin/packages/pcre2/package.py @@ -26,6 +26,8 @@ class Pcre2(AutotoolsPackage): version("10.31", sha256="e07d538704aa65e477b6a392b32ff9fc5edf75ab9a40ddfc876186c4ff4d68ac") version("10.20", sha256="332e287101c9e9567d1ed55391b338b32f1f72c5b5ee7cc81ef2274a53ad487a") + depends_on("c", type="build") # generated + variant("multibyte", default=True, description="Enable support for 16 and 32 bit characters.") variant("jit", default=False, description="enable Just-In-Time compiling support") diff --git a/var/spack/repos/builtin/packages/pcsclite/package.py b/var/spack/repos/builtin/packages/pcsclite/package.py index a531d14defd463..50a785c1e2648b 100644 --- a/var/spack/repos/builtin/packages/pcsclite/package.py +++ b/var/spack/repos/builtin/packages/pcsclite/package.py @@ -22,6 +22,8 @@ class Pcsclite(AutotoolsPackage): version("master", branch="master") version("1.9.8", sha256="502d80c557ecbee285eb99fe8703eeb667bcfe067577467b50efe3420d1b2289") + depends_on("c", type="build") # generated + # no libudev/systemd package currently in spack variant("libudev", default=False, description="Build with libudev") diff --git a/var/spack/repos/builtin/packages/pdal/package.py b/var/spack/repos/builtin/packages/pdal/package.py index 76f53662986f15..58c78abb7c36fd 100644 --- a/var/spack/repos/builtin/packages/pdal/package.py +++ b/var/spack/repos/builtin/packages/pdal/package.py @@ -26,6 +26,8 @@ class Pdal(CMakePackage): version("2.4.3", sha256="e1a910d593311e68b51f32d1f4f8fe4327b97ae7a8de209147b6111091b6f75b") version("2.3.0", sha256="8ae848e9b3fe5149a9277fe60e10b9858edb9a3cf1a40728f11712498e5da13a") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.13:", type="build") depends_on("gdal@3:") depends_on("gdal@3.4:", when="@2.6:") diff --git a/var/spack/repos/builtin/packages/pdc/package.py b/var/spack/repos/builtin/packages/pdc/package.py index 75ef7c1504ab13..1c09eb56f6358a 100644 --- a/var/spack/repos/builtin/packages/pdc/package.py +++ b/var/spack/repos/builtin/packages/pdc/package.py @@ -14,13 +14,14 @@ class Pdc(CMakePackage): metadata operations to find data objects.""" homepage = "https://pdc.readthedocs.io/en/latest/" - url = "https://github.com/hpc-io/pdc/archive/refs/tags/0.4.tar.gz" + url = "https://github.com/hpc-io/pdc/archive/refs/tags/0.5.tar.gz" git = "https://github.com/hpc-io/pdc.git" maintainers("houjun", "sbyna", "jeanbez") license("BSD-3-Clause-LBNL") + version("0.5", sha256="d8ee6ad31670882dec8a9a131cd491a7134953acf3d18abf288605f3cc517636") version("0.4", sha256="eb2c2b69e5cdbca3210b8d72a646c16a2aa004ca08792f28cc6290a9a3ad6c8a") version("0.3", sha256="14a3abd5e1e604f9527105709fca545bcdebe51abd2b89884db74d48a38b5443") version( @@ -37,6 +38,9 @@ class Pdc(CMakePackage): version("stable", branch="stable") version("develop", branch="develop") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + conflicts("%clang") depends_on("libfabric") diff --git a/var/spack/repos/builtin/packages/pdf2svg/package.py b/var/spack/repos/builtin/packages/pdf2svg/package.py index b7a74e0e96eedf..9f190a14ca11d8 100644 --- a/var/spack/repos/builtin/packages/pdf2svg/package.py +++ b/var/spack/repos/builtin/packages/pdf2svg/package.py @@ -17,6 +17,8 @@ class Pdf2svg(AutotoolsPackage): version("0.2.3", sha256="4fb186070b3e7d33a51821e3307dce57300a062570d028feccd4e628d50dea8a") version("0.2.2", sha256="e5f1d9b78821e44cd85379fb07f38a42f00bb2bde3743b95301ff8c0a5ae229a") + depends_on("c", type="build") # generated + depends_on("pkgconfig@0.9.0:", type="build") depends_on("cairo@1.2.6:") depends_on("poppler@0.5.4:+glib") diff --git a/var/spack/repos/builtin/packages/pdsh/package.py b/var/spack/repos/builtin/packages/pdsh/package.py index 58872d3a3a8344..77be9d6305cf21 100644 --- a/var/spack/repos/builtin/packages/pdsh/package.py +++ b/var/spack/repos/builtin/packages/pdsh/package.py @@ -18,6 +18,8 @@ class Pdsh(AutotoolsPackage): version("2.31", sha256="0ee066ce395703285cf4f6cf00b54b7097d12457a4b1c146bc6f33d8ba73caa7") + depends_on("c", type="build") # generated + variant("ssh", default=True, description="Build with ssh module") variant("static_modules", default=True, description="Build with static modules") diff --git a/var/spack/repos/builtin/packages/pdt/package.py b/var/spack/repos/builtin/packages/pdt/package.py index bb414c0bf5684a..41a0d02a9fce63 100644 --- a/var/spack/repos/builtin/packages/pdt/package.py +++ b/var/spack/repos/builtin/packages/pdt/package.py @@ -38,6 +38,8 @@ class Pdt(AutotoolsPackage): version("3.19", sha256="d57234077e2e999f2acf9860ea84369a4694b50cc17fa6728e5255dc5f4a2160") version("3.18.1", sha256="d06c2d1793fadebf169752511e5046d7e02cf3fead6135a35c34b1fee6d6d3b2") + depends_on("cxx", type="build") # generated + variant("pic", default=False, description="Builds with pic") patch("cray_configure.patch", when="%cce") diff --git a/var/spack/repos/builtin/packages/pegtl/package.py b/var/spack/repos/builtin/packages/pegtl/package.py index af038366f46bd2..f8a98604309552 100644 --- a/var/spack/repos/builtin/packages/pegtl/package.py +++ b/var/spack/repos/builtin/packages/pegtl/package.py @@ -27,6 +27,8 @@ class Pegtl(CMakePackage): version("2.1.4", sha256="d990dccc07b4d9ba548326d11c5c5e34fa88b34fe113cb5377da03dda29f23f2") version("2.0.0", sha256="5aae0505077e051cae4d855c38049cc6cf71103a6cc8d0ddef01a576e8a60cc0") + depends_on("cxx", type="build") # generated + # Ref: https://github.com/taocpp/PEGTL/blob/master/src/example/pegtl/json_classes.hpp patch("change_to_virtual_destructor.patch", when="@:2.4") diff --git a/var/spack/repos/builtin/packages/pennant/package.py b/var/spack/repos/builtin/packages/pennant/package.py index bfce36fc5968b8..eb5fd1b8d66f65 100644 --- a/var/spack/repos/builtin/packages/pennant/package.py +++ b/var/spack/repos/builtin/packages/pennant/package.py @@ -25,6 +25,8 @@ class Pennant(MakefilePackage): version("0.5", sha256="21ef5889731fad0075f9dab8ffa97af8fd8ff87f6a5fe6434916b6e28cf64e43") version("0.4", sha256="65b81b92ed6fdbe407310948dd76ffb48cca155ee05c1f990a649faf81b45bb0") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Build with MPI support") variant("openmp", default=True, description="Build with OpenMP support") variant("debug", default=False, description="Enable debug") diff --git a/var/spack/repos/builtin/packages/percept/package.py b/var/spack/repos/builtin/packages/percept/package.py index 2680fe33bda575..7bfea43e800feb 100644 --- a/var/spack/repos/builtin/packages/percept/package.py +++ b/var/spack/repos/builtin/packages/percept/package.py @@ -20,6 +20,8 @@ class Percept(CMakePackage): # here and the patch allows us to build the mesh_transfer exe and # creates a make install target so Spack can install Percept version("master", commit="363cdd0050443760d54162f140b2fb54ed9decf0") + + depends_on("cxx", type="build") # generated patch("cmakelists.patch") depends_on("googletest~shared") diff --git a/var/spack/repos/builtin/packages/percona-server/package.py b/var/spack/repos/builtin/packages/percona-server/package.py index 6a7203cd5efce7..bd7de28d111623 100644 --- a/var/spack/repos/builtin/packages/percona-server/package.py +++ b/var/spack/repos/builtin/packages/percona-server/package.py @@ -20,6 +20,9 @@ class PerconaServer(CMakePackage): version("8.0.19-10", sha256="f2f979bd7dfb4d62aef79b7c488070d5d599341a6acbb295400f1d68257cbd80") version("8.0.18-9", sha256="e79a8c1ae5f2271c0b344494a299a9bbbada88d3bce87449b7de274d17d1ccd0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost@1.70.0") # TODO: replace this with an explicit list of components of Boost, diff --git a/var/spack/repos/builtin/packages/perfstubs/package.py b/var/spack/repos/builtin/packages/perfstubs/package.py index 699521a631bbde..993e1567403a4c 100644 --- a/var/spack/repos/builtin/packages/perfstubs/package.py +++ b/var/spack/repos/builtin/packages/perfstubs/package.py @@ -24,6 +24,10 @@ class Perfstubs(CMakePackage): license("BSD-3-Clause") version("master", branch="master") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated variant("static", default=False, description="Build static executable support") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/perl-alien-build/package.py b/var/spack/repos/builtin/packages/perl-alien-build/package.py index 74799af883a283..15f41fc09cd930 100644 --- a/var/spack/repos/builtin/packages/perl-alien-build/package.py +++ b/var/spack/repos/builtin/packages/perl-alien-build/package.py @@ -19,6 +19,8 @@ class PerlAlienBuild(PerlPackage): version("2.78", sha256="9140671790a0696920b0a97acd812ab4d0b93ac69306d20679f027dd0c7caa27") version("1.86", sha256="f856a46aea72fe77daea5b1788b4ea0dc215f5704f5a35fa063171be8523e4e9") + depends_on("c", type="build") # generated + depends_on("perl-capture-tiny", type=("build", "run")) depends_on("perl-ffi-checklib", type=("build", "run")) depends_on("perl-file-which", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/perl-alien-svn/package.py b/var/spack/repos/builtin/packages/perl-alien-svn/package.py index 94b06b1bde9aa3..f75341d10c354b 100644 --- a/var/spack/repos/builtin/packages/perl-alien-svn/package.py +++ b/var/spack/repos/builtin/packages/perl-alien-svn/package.py @@ -22,6 +22,9 @@ class PerlAlienSvn(PerlPackage): version("1.7.3.0", sha256="02abbe17ad7db912001e6f1c5018cec08c3840e0c32700363a79274e144e74e5") version("1.6.12.1", sha256="a89d8eeff61e34aa7b3d35dee3e6752b12dfa5f0f04bf69d796846cf0391f53d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("perl-module-build", type="build") depends_on("apr@1.6.2", type="build") depends_on("apr-util", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/perl-bioperl/package.py b/var/spack/repos/builtin/packages/perl-bioperl/package.py index a354f2bd5232e8..ec75d5da36fb73 100644 --- a/var/spack/repos/builtin/packages/perl-bioperl/package.py +++ b/var/spack/repos/builtin/packages/perl-bioperl/package.py @@ -49,6 +49,8 @@ class PerlBioperl(PerlPackage): url="https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/BioPerl-1.007002.tar.gz", ) + depends_on("fortran", type="build") # generated + # According to cpandeps.grinnz.com Module-Build is both a build and run # time dependency for BioPerl depends_on("perl-module-build", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/perl-bit-vector/package.py b/var/spack/repos/builtin/packages/perl-bit-vector/package.py index 0fbf2f8307bef9..ccf995b0471545 100644 --- a/var/spack/repos/builtin/packages/perl-bit-vector/package.py +++ b/var/spack/repos/builtin/packages/perl-bit-vector/package.py @@ -16,4 +16,6 @@ class PerlBitVector(PerlPackage): version("7.4", sha256="3c6daa671fecfbc35f92a9385b563d65f50dfc6bdc8b4805f9ef46c0d035a926") + depends_on("c", type="build") # generated + depends_on("perl-carp-clan", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/perl-compress-raw-bzip2/package.py b/var/spack/repos/builtin/packages/perl-compress-raw-bzip2/package.py index 28f4fa170323f3..cde23c48244b9a 100644 --- a/var/spack/repos/builtin/packages/perl-compress-raw-bzip2/package.py +++ b/var/spack/repos/builtin/packages/perl-compress-raw-bzip2/package.py @@ -35,5 +35,7 @@ class PerlCompressRawBzip2(PerlPackage): version("2.083", sha256="8def391d67f974a8ff53151972c34615febbcf873a9a5fb1a5b2969cd407bddf") version("2.081", sha256="8692b5c9db91954408e24e805fbfda222879da80d89d9410791421e3e5bc3520") + depends_on("c", type="build") # generated + depends_on("bzip2") depends_on("perl-extutils-makemaker", type="build") diff --git a/var/spack/repos/builtin/packages/perl-compress-raw-zlib/package.py b/var/spack/repos/builtin/packages/perl-compress-raw-zlib/package.py index e943ed6b0fd6b3..e0dc1b20b029e0 100644 --- a/var/spack/repos/builtin/packages/perl-compress-raw-zlib/package.py +++ b/var/spack/repos/builtin/packages/perl-compress-raw-zlib/package.py @@ -40,5 +40,7 @@ class PerlCompressRawZlib(PerlPackage): version("2.083", sha256="5642998fe8c4a814326c10a97428335565525763761fe37f86e14a45a25c9e3e") version("2.081", sha256="e156de345bd224bbdabfcab0eeb3f678a3099a4e86c9d1b6771d880b55aa3a1b") + depends_on("c", type="build") # generated + depends_on("zlib-api") depends_on("perl-extutils-makemaker", type="build") diff --git a/var/spack/repos/builtin/packages/perl-config-general/package.py b/var/spack/repos/builtin/packages/perl-config-general/package.py index 3397394fb0817d..e7371fd1a22753 100644 --- a/var/spack/repos/builtin/packages/perl-config-general/package.py +++ b/var/spack/repos/builtin/packages/perl-config-general/package.py @@ -16,3 +16,5 @@ class PerlConfigGeneral(PerlPackage): version("2.65", sha256="4d6d5754be3a9f30906836f0cc10e554c8832e14e7a1341efb15b05d706fc58f") version("2.63", sha256="0a9bf977b8aabe76343e88095d2296c8a422410fd2a05a1901f2b20e2e1f6fad") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/perl-data-stag/package.py b/var/spack/repos/builtin/packages/perl-data-stag/package.py index 1a11a2c2bba5e0..fe5268466f824b 100644 --- a/var/spack/repos/builtin/packages/perl-data-stag/package.py +++ b/var/spack/repos/builtin/packages/perl-data-stag/package.py @@ -14,4 +14,6 @@ class PerlDataStag(PerlPackage): version("0.14", sha256="4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59") + depends_on("c", type="build") # generated + depends_on("perl-io-string", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/perl-db-file/package.py b/var/spack/repos/builtin/packages/perl-db-file/package.py index 6efe63ec0bd241..08725e63c3d94e 100644 --- a/var/spack/repos/builtin/packages/perl-db-file/package.py +++ b/var/spack/repos/builtin/packages/perl-db-file/package.py @@ -21,6 +21,8 @@ class PerlDbFile(PerlPackage): version("1.858", sha256="ceb7a2868bd71f87b31e8b7c38d6f8cc0a31fb0322a377ee448994f094d0a7f6") version("1.840", sha256="b7864707fad0f2d1488c748c4fa08f1fb8bcfd3da247c36909fd42f20bfab2c4") + depends_on("c", type="build") # generated + depends_on("perl-extutils-makemaker", type="build") depends_on("berkeley-db", type="build") diff --git a/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py b/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py index 7d0b6f15d03afc..9ede45677fb443 100644 --- a/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py +++ b/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py @@ -14,6 +14,17 @@ class PerlDbdMysql(PerlPackage): license("GPL-1.0-or-later OR Artistic-1.0-Perl") + version( + "5.005", + sha256="1558c203b3911e273d3f83249535b312165be2ca8edba6b6c210645d769d0541", + url="https://cpan.metacpan.org/authors/id/D/DV/DVEEDEN/DBD-mysql-5.005.tar.gz", + ) + version( + "4.052", + sha256="a83f57af7817787de0ef56fb15fdfaf4f1c952c8f32ff907153b66d2da78ff5b", + url="https://cpan.metacpan.org/authors/id/D/DV/DVEEDEN/DBD-mysql-4.052.tar.gz", + ) + version( "4.050", sha256="4f48541ff15a0a7405f76adc10f81627c33996fbf56c95c26c094444c0928d78", @@ -21,7 +32,21 @@ class PerlDbdMysql(PerlPackage): ) version("4.043", sha256="629f865e8317f52602b2f2efd2b688002903d2e4bbcba5427cb6188b043d6f99") + depends_on("c", type="build") # generated + depends_on("perl-devel-checklib", type="build", when="@4.050:") - depends_on("perl-test-deep", type=("build", "run")) - depends_on("perl-dbi", type=("build", "run")) - depends_on("mysql-client") + + with default_args(type=("build", "link", "run")): + # Does it's own version check and mariadb doesn't conform to it's + # strict checking. This could probably be patched in the future. + depends_on("mysql@4:", when="@4") + depends_on("mysql@8", when="@5") + + with default_args(type=("build", "run")): + depends_on("perl-test-deep") + depends_on("perl-dbi") + + def configure_args(self): + # Work around mysql_config providing incorrect linker args + mysql = self.spec["mysql-client"].prefix + return [f"--cflags=-I{mysql.include}", f"--libs=-L{mysql.lib} -lmysqlclient"] 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 5b755fb8c84bc4..05d00d17e02846 100644 --- a/var/spack/repos/builtin/packages/perl-dbd-oracle/package.py +++ b/var/spack/repos/builtin/packages/perl-dbd-oracle/package.py @@ -16,6 +16,8 @@ class PerlDbdOracle(PerlPackage): version("1.83", sha256="51fe9c158955fda0ca917a806863f0bc51068b533fbbc7423b3cc4ad595ed153") + depends_on("c", type="build") # generated + depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) depends_on("perl-dbi@1.623:", type=("build", "run", "test")) depends_on("perl-test-nowarnings", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/perl-dbd-pg/package.py b/var/spack/repos/builtin/packages/perl-dbd-pg/package.py index f7e97087153846..272e1fd6d588b0 100644 --- a/var/spack/repos/builtin/packages/perl-dbd-pg/package.py +++ b/var/spack/repos/builtin/packages/perl-dbd-pg/package.py @@ -19,5 +19,7 @@ class PerlDbdPg(PerlPackage): version("3.16.1", sha256="8e917a746dacb1edce5832d8911e5938cc4863aeac4a52820382e7d174e9c3b9") version("3.10.0", sha256="e103268a63e2828e3d43659bdba5f743446cbbe047a766f843112eedae105f80") + depends_on("c", type="build") # generated + depends_on("postgresql") depends_on("perl-dbi", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/perl-dbd-sqlite/package.py b/var/spack/repos/builtin/packages/perl-dbd-sqlite/package.py index d7fc41403a64ae..8d96305c7e9cd8 100644 --- a/var/spack/repos/builtin/packages/perl-dbd-sqlite/package.py +++ b/var/spack/repos/builtin/packages/perl-dbd-sqlite/package.py @@ -21,4 +21,6 @@ class PerlDbdSqlite(PerlPackage): version("1.57_01", sha256="fa7fb111fa8bfc257c3208f8980ac802a9cac4531ab98afc1988b88929672184") version("1.56", sha256="c5f831a67a94f9bb2fb3c44051f309fc7994b2725d1896c018ad5d4cd865e991") + depends_on("c", type="build") # generated + depends_on("perl-dbi", type=("build", "run")) 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 569788ad1e6c04..2847f52b52413d 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 @@ -16,4 +16,6 @@ class PerlEmailAddressXs(PerlPackage): version("1.05", sha256="1510b7f10d67201037cd50d22c9d6b26eeca55ededa4cdb46bbca27e59a4ea16") + depends_on("c", type="build") # generated + depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) diff --git a/var/spack/repos/builtin/packages/perl-fth/package.py b/var/spack/repos/builtin/packages/perl-fth/package.py index 4d40028a72335a..1fd728ec2a3fb4 100644 --- a/var/spack/repos/builtin/packages/perl-fth/package.py +++ b/var/spack/repos/builtin/packages/perl-fth/package.py @@ -40,6 +40,9 @@ class PerlFth(Package): version("0.518", sha256="7aed7c831270bb1935d4ccd090ef1360ec9446dd773c10350645985047f8879b") version("0.517", sha256="e24488a7edbfa764060f007693329d5ee3154e1ce49a627ec109c41a9d7abcbe") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "hevea", default=False, description="Use hevea when inputting LaTeX files (fth.pl -hevea)" ) 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 30628b8cf1192f..bf0a140804d90e 100644 --- a/var/spack/repos/builtin/packages/perl-gzip-faster/package.py +++ b/var/spack/repos/builtin/packages/perl-gzip-faster/package.py @@ -18,4 +18,6 @@ class PerlGzipFaster(PerlPackage): version("0.21", sha256="c65f41ca108e7e53ec34c30dbb1b5d614bf4b8100673646cf301d0caf82c7aa5") + depends_on("c", type="build") # generated + depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) diff --git a/var/spack/repos/builtin/packages/perl-html-parser/package.py b/var/spack/repos/builtin/packages/perl-html-parser/package.py index 5c0de3b5d1cec2..5acef59231e002 100644 --- a/var/spack/repos/builtin/packages/perl-html-parser/package.py +++ b/var/spack/repos/builtin/packages/perl-html-parser/package.py @@ -30,6 +30,8 @@ class PerlHtmlParser(PerlPackage): provides("perl-html-pullparser") provides("perl-html-tokeparser") + depends_on("c", type="build") # generated + depends_on("perl@5.8:", type=("build", "run", "test")) depends_on("perl-uri", type=("build", "run", "test")) depends_on("perl-uri-url", type="run") 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 33ee14b5ea266e..9bae76faa43530 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,3 +17,5 @@ class PerlHttpParserXs(PerlPackage): license("Artistic-1.0-Perl OR GPL-1.0-or-later") version("0.17", sha256="794e6833e326b10d24369f9cdbfc1667105ef6591e8f41e561a3d41a7027a809") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/perl-http-tiny/package.py b/var/spack/repos/builtin/packages/perl-http-tiny/package.py index e02fdc63bcceb6..043d2f0195b368 100644 --- a/var/spack/repos/builtin/packages/perl-http-tiny/package.py +++ b/var/spack/repos/builtin/packages/perl-http-tiny/package.py @@ -1,19 +1,23 @@ -# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# 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 PerlHttpTiny(PerlPackage): - """A small, simple, correct HTTP/1.1 client.""" # AUTO-CPAN2Spack + """HTTP::Tiny: A small, simple, correct HTTP/1.1 client perl module""" + + homepage = "https://github.com/Perl-Toolchain-Gang/HTTP-Tiny" + url = "https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/HTTP-Tiny-0.088.tar.gz" - homepage = "https://github.com/chansen/p5-http-tiny" # AUTO-CPAN2Spack - url = "https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/HTTP-Tiny-0.082.tar.gz" + maintainers("chissg", "gartung", "marcmengel", "teaguesterling", "vitodb") - maintainers("chissg", "gartung", "marcmengel", "vitodb") # AUTO-CPAN2Spack + # Stated: same as perl5 + license("Artistic-1.0-Perl OR GPL-1.0-or-later", checked_by="teaguesterling") + version("0.088", sha256="7ce6367e861883b6868d6dd86168af33524717d8cc94100c2abf9bd86a82b4d8") + version("0.086", sha256="c616e0ff9ec808a7a92f47edb7d017fc45ef0c2cddd21a9bab194096cb6b7b32") version("0.082", sha256="54e9e4a559a92cbb90e3f19c8a88ff067ec2f68fbe39bbb694ee70828cd5f4b8") depends_on("perl-http-cookiejar@0.1:", type="run") # AUTO-CPAN2Spack 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 f813318e8130ea..6d7fa433daa1fd 100644 --- a/var/spack/repos/builtin/packages/perl-ipc-sharelite/package.py +++ b/var/spack/repos/builtin/packages/perl-ipc-sharelite/package.py @@ -19,4 +19,5 @@ class PerlIpcSharelite(PerlPackage): version("0.17", sha256="14d406b91da96d6521d0d1a82d22a306274765226b86b0a56e7ffddcf96ae7bf") version("0.16", sha256="9acc120d954dfa7d02a90d319130791d93a62abbdbf1727f366d0714396f291f") + depends_on("c", type="build") # generated depends_on("perl-extutils-makemaker", type="build") diff --git a/var/spack/repos/builtin/packages/perl-json/package.py b/var/spack/repos/builtin/packages/perl-json/package.py index 1e13080ca98f85..31b788b746fdb4 100644 --- a/var/spack/repos/builtin/packages/perl-json/package.py +++ b/var/spack/repos/builtin/packages/perl-json/package.py @@ -17,7 +17,17 @@ class PerlJson(PerlPackage): version("4.10", sha256="df8b5143d9a7de99c47b55f1a170bd1f69f711935c186a6dc0ab56dd05758e35") version("4.09", sha256="6780a51f438c0932eec0534fc9cd2b1ad0d64817eda4add8ede5ec77d6d2c991") version("4.08", sha256="6b2a38eb6f92934840d142e31ce6683610b66477fad3ffab1111978ef26ca53f") + version("2.97001", sha256="e277d9385633574923f48c297e1b8acad3170c69fa590e31fa466040fc6f8f5a") + + variant( + "json-xs", + default=True, + description="""Makes the preferred backend JSON::XS available to avoid defaulting to the + slower JSON::PP""", + ) provides("perl-json-backend-pp") + depends_on("perl-extutils-makemaker", type="build") - depends_on("perl-json-xs@2.34:", type="run") + + depends_on("perl-json-xs@2.34:", when="+json-xs", type=("run")) diff --git a/var/spack/repos/builtin/packages/perl-math-cdf/package.py b/var/spack/repos/builtin/packages/perl-math-cdf/package.py index 29099c7abb9a38..0bf9b32112d3f1 100644 --- a/var/spack/repos/builtin/packages/perl-math-cdf/package.py +++ b/var/spack/repos/builtin/packages/perl-math-cdf/package.py @@ -14,3 +14,5 @@ class PerlMathCdf(PerlPackage): url = "https://cpan.metacpan.org/authors/id/C/CA/CALLAHAN/Math-CDF-0.1.tar.gz" version("0.1", sha256="7896bf250835ce47dcc813cb8cf9dc576c5455de42e822dcd7d8d3fef2125565") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/perl-math-cephes/package.py b/var/spack/repos/builtin/packages/perl-math-cephes/package.py index 69c350fffa1219..739771537aae64 100644 --- a/var/spack/repos/builtin/packages/perl-math-cephes/package.py +++ b/var/spack/repos/builtin/packages/perl-math-cephes/package.py @@ -25,3 +25,5 @@ class PerlMathCephes(PerlPackage): sha256="5d2cc55965505eee4fc8da870cb4754c0eeff144afb6254848d8c3b24b30a981", url="https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Math-Cephes-0.5304.tar.gz", ) + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/perl-moose/package.py b/var/spack/repos/builtin/packages/perl-moose/package.py index 9793f4c72c3e8d..a666d0d7dfdd17 100644 --- a/var/spack/repos/builtin/packages/perl-moose/package.py +++ b/var/spack/repos/builtin/packages/perl-moose/package.py @@ -55,6 +55,8 @@ class PerlMoose(PerlPackage): url="https://cpan.metacpan.org/authors/id/E/ET/ETHER/Moose-2.2006.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("perl-cpan-meta-check", type=("build", "run")) depends_on("perl-test-cleannamespaces", type=("build", "run")) depends_on("perl-devel-overloadinfo", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/perl-net-ssleay/package.py b/var/spack/repos/builtin/packages/perl-net-ssleay/package.py index 4096aae3b4d2f1..7ab75f1e8a2fc8 100644 --- a/var/spack/repos/builtin/packages/perl-net-ssleay/package.py +++ b/var/spack/repos/builtin/packages/perl-net-ssleay/package.py @@ -44,6 +44,8 @@ class PerlNetSsleay(PerlPackage): url="https://cpan.metacpan.org/authors/id/M/MI/MIKEM/Net-SSLeay-1.82.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("openssl") provides("perl-net-ssleay-handle") diff --git a/var/spack/repos/builtin/packages/perl-parse-recdescent/package.py b/var/spack/repos/builtin/packages/perl-parse-recdescent/package.py index 182df8f92cdeea..8e3388d55bd048 100644 --- a/var/spack/repos/builtin/packages/perl-parse-recdescent/package.py +++ b/var/spack/repos/builtin/packages/perl-parse-recdescent/package.py @@ -23,4 +23,6 @@ class PerlParseRecdescent(PerlPackage): url="https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967014.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("perl-module-build", type="build") 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 efc7faaa40b2f5..7b133d55a4e6fc 100644 --- a/var/spack/repos/builtin/packages/perl-proc-processtable/package.py +++ b/var/spack/repos/builtin/packages/perl-proc-processtable/package.py @@ -18,4 +18,6 @@ class PerlProcProcesstable(PerlPackage): version("0.636", sha256="944224ffb00fc1ef35069633770a0afda8623b5c7532d1e4ab48a9df394890fd") + depends_on("c", type="build") # generated + depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) 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 bc516251979593..082b71b1cff3ec 100644 --- a/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py +++ b/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py @@ -24,18 +24,18 @@ class PerlSerealDecoder(PerlPackage): provides("perl-sereal-decoder-constants") provides("perl-sereal-performance") - depends_on("perl@5.8:", type=("build", "link", "run", "test")) + depends_on("c", type="build") # generated - depends_on("perl-devel-checklib@1.16:", when="@5.004:", type=("build")) - depends_on("perl-extutils-parsexs@2.21:", when="@:5.001", type=("build")) - depends_on("perl-extutils-makemaker@7.0:", when="@:5.001", type=("build")) + depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) + + depends_on("perl-devel-checklib@1.16:", type=("build")) - depends_on("perl-test-longstring", type=("build", "test")) - depends_on("perl-test-differences", type=("build", "test")) - depends_on("perl-test-deep", type=("build", "test")) - depends_on("perl-test-warn", type=("build", "test")) - depends_on("perl-scalar-util", type=("build", "test")) depends_on("perl-data-dumper", type=("build", "test")) + depends_on("perl-scalar-util", type=("build", "test")) + depends_on("perl-test-deep", type=("build", "link", "test")) + depends_on("perl-test-differences", type=("build", "link", "test")) + depends_on("perl-test-longstring", type=("build", "link", "test")) + depends_on("perl-test-warn", type=("build", "link", "test")) depends_on("zstd", type=("build", "link", "run", "test")) def setup_build_environment(self, env): 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 36283b7d01972d..62d4a54dc678b2 100644 --- a/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py +++ b/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py @@ -22,6 +22,8 @@ class PerlSerealEncoder(PerlPackage): provides("perl-sereal-encoder-constants") + depends_on("c", type="build") # generated + depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) depends_on("perl-devel-checklib@1.16:", when="@5.004:", type=("build")) diff --git a/var/spack/repos/builtin/packages/perl-set-intervaltree/package.py b/var/spack/repos/builtin/packages/perl-set-intervaltree/package.py index aa788637b0a93e..fa45c04a00cf4b 100644 --- a/var/spack/repos/builtin/packages/perl-set-intervaltree/package.py +++ b/var/spack/repos/builtin/packages/perl-set-intervaltree/package.py @@ -15,4 +15,6 @@ class PerlSetIntervaltree(PerlPackage): version("0.10", sha256="e3bd9ccf0d074b5f879eef1ed88254983697bf83d02744fce62150ee46553ebc") + depends_on("cxx", type="build") # generated + depends_on("perl-extutils-makemaker", type="build") 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 aa25c0bf84dd4e..9d41cbc7880fcf 100644 --- a/var/spack/repos/builtin/packages/perl-string-approx/package.py +++ b/var/spack/repos/builtin/packages/perl-string-approx/package.py @@ -15,3 +15,5 @@ class PerlStringApprox(PerlPackage): maintainers("EbiArnie") version("3.28", sha256="43201e762d8699cb0ac2c0764a5454bdc2306c0771014d6c8fba821480631342") + + depends_on("c", type="build") # generated 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 dbe2eced521b28..7b7a544329c7de 100644 --- a/var/spack/repos/builtin/packages/perl-string-crc32/package.py +++ b/var/spack/repos/builtin/packages/perl-string-crc32/package.py @@ -17,3 +17,5 @@ class PerlStringCrc32(PerlPackage): license("CC0-1.0 OR SSLeay") version("2.100", sha256="9706093b2d068b6715d35b4c58f51558e37960083202129fbb00a57e19a74713") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/perl-tk/package.py b/var/spack/repos/builtin/packages/perl-tk/package.py index f8410200cd521b..146b7260b13f1e 100644 --- a/var/spack/repos/builtin/packages/perl-tk/package.py +++ b/var/spack/repos/builtin/packages/perl-tk/package.py @@ -18,6 +18,9 @@ class PerlTk(PerlPackage): version("804.035", sha256="4d2b80291ba6de34d8ec886a085a6dbd2b790b926035a087e99025614c5ffdd4") version("804.033", sha256="84756e9b07a2555c8eecf88e63d5cbbba9b1aa97b1e71a3d4aa524a7995a88ad") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("perl-extutils-makemaker", type="build") depends_on("libx11") depends_on("libxcb") 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 dce4b09c55b6ce..06f1dd0ed58def 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,3 +17,5 @@ class PerlXmlHashXs(PerlPackage): license("Artistic-1.0-Perl OR GPL-1.0-or-later") version("0.56", sha256="be4c60ded94c5ebe53a81ef74928dfbec9613986d2a6056dd253665c6ae9802f") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/perl-xml-libxml/package.py b/var/spack/repos/builtin/packages/perl-xml-libxml/package.py index afa747eea39b42..acc178660923a2 100644 --- a/var/spack/repos/builtin/packages/perl-xml-libxml/package.py +++ b/var/spack/repos/builtin/packages/perl-xml-libxml/package.py @@ -45,6 +45,8 @@ class PerlXmlLibxml(PerlPackage): url="https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0201.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("libxml2") depends_on("perl-xml-namespacesupport", type=("build", "run")) depends_on("perl-xml-sax", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/perl-xml-libxslt/package.py b/var/spack/repos/builtin/packages/perl-xml-libxslt/package.py index d1e83ce95f3ce8..c16a3c83f89c19 100644 --- a/var/spack/repos/builtin/packages/perl-xml-libxslt/package.py +++ b/var/spack/repos/builtin/packages/perl-xml-libxslt/package.py @@ -16,5 +16,7 @@ class PerlXmlLibxslt(PerlPackage): version("2.002001", sha256="df8927c4ff1949f62580d1c1e6f00f0cd56b53d3a957ee4b171b59bffa63b2c0") version("1.96", sha256="2a5e374edaa2e9f9d26b432265bfea9b4bb7a94c9fbfef9047b298fce844d473") + depends_on("c", type="build") # generated + depends_on("libxslt") depends_on("perl-xml-libxml") diff --git a/var/spack/repos/builtin/packages/perl-yaml-libyaml/package.py b/var/spack/repos/builtin/packages/perl-yaml-libyaml/package.py index faeb527f12eb88..e438f0a1c81f42 100644 --- a/var/spack/repos/builtin/packages/perl-yaml-libyaml/package.py +++ b/var/spack/repos/builtin/packages/perl-yaml-libyaml/package.py @@ -17,3 +17,5 @@ class PerlYamlLibyaml(PerlPackage): version("0.89", sha256="155ab83675345c50add03311acf9dd915955707f909a2abd8b17d7792859b2ec") version("0.84", sha256="225bcb39be2d5e3d02df7888d5f99fd8712f048ba539b09232ca1481e70bfd05") version("0.67", sha256="e65a22abc912a46a10abddf3b88d806757f44f164ab3167c8f0ff6aa30648187") + + depends_on("c", type="build") # generated 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 0b1e74eecd48b8..a58c078a9b44b0 100644 --- a/var/spack/repos/builtin/packages/perl-yaml-syck/package.py +++ b/var/spack/repos/builtin/packages/perl-yaml-syck/package.py @@ -18,4 +18,6 @@ class PerlYamlSyck(PerlPackage): version("1.34", sha256="cc9156ccaebda798ebfe2f31b619e806577f860ed1704262f17ffad3c6e34159") + depends_on("c", type="build") # generated + depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) diff --git a/var/spack/repos/builtin/packages/perl/package.py b/var/spack/repos/builtin/packages/perl/package.py index a2be2af61cbc74..741bfdf5544d76 100644 --- a/var/spack/repos/builtin/packages/perl/package.py +++ b/var/spack/repos/builtin/packages/perl/package.py @@ -186,6 +186,8 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package deprecated=True, ) + depends_on("c", type="build") # generated + extendable = True if sys.platform != "win32": diff --git a/var/spack/repos/builtin/packages/pestpp/package.py b/var/spack/repos/builtin/packages/pestpp/package.py index e99dba98de137b..f4b0c5a75adbd1 100644 --- a/var/spack/repos/builtin/packages/pestpp/package.py +++ b/var/spack/repos/builtin/packages/pestpp/package.py @@ -20,6 +20,10 @@ class Pestpp(CMakePackage): version("5.2.3", sha256="6b86a7db863a034e730480046a4b7b4a8dc7cc798658a5404a961be379c05dc3") version("5.0.5", sha256="b9695724758f69c1199371608b01419973bd1475b1788039a2fab6313f6ed67c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") depends_on("cmake@3.9:", type="build") diff --git a/var/spack/repos/builtin/packages/petaca/package.py b/var/spack/repos/builtin/packages/petaca/package.py index 188c6d432e4138..1dd72a24dd9edb 100644 --- a/var/spack/repos/builtin/packages/petaca/package.py +++ b/var/spack/repos/builtin/packages/petaca/package.py @@ -35,6 +35,9 @@ class Petaca(CMakePackage): version("22.03", sha256="e6559e928c7cca6017ef0582c204eee775f6bb3f927f1c224c515c2ad574cc32") version("21.03", commit="f17df95193ca1a3879687a59a91a123be25e3efa") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@3.3:", type="build") depends_on("yajl@2.0.1:") diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index e1c5b1530ea466..47641a0d807761 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -21,6 +21,7 @@ class Petsc(Package, CudaPackage, ROCmPackage): tags = ["e4s"] version("main", branch="main") + version("3.21.3", sha256="6d9ceb99d84d275250c614192dad45955d4a7610e12d8292a07dc49403556d26") version("3.21.2", sha256="a1ac62b6204bdf2f7f9b637abf45e6cff24d372d4d3d3702c50e157bdb56eb21") version("3.21.1", sha256="7ff8b692bceb7d7a8f51e2f45ccb20af00ba9395d7e1eee8816d46eb1c4c4b27") version("3.21.0", sha256="1e0c2f92514c72f80d4a4d0e6439a3aba0ceda7a0bcbc7ad9c44ce4cd8b14c28") @@ -90,6 +91,10 @@ class Petsc(Package, CudaPackage, ROCmPackage): version("3.11.1", sha256="cb627f99f7ce1540ebbbf338189f89a5f1ecf3ab3b5b0e357f9e46c209f1fb23") version("3.11.0", sha256="b3bed2a9263193c84138052a1b92d47299c3490dd24d1d0bf79fb884e71e678a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries") variant("mpi", default=True, description="Activates MPI support") variant("double", default=True, description="Switches between single and double precision") @@ -613,6 +618,10 @@ def configure_options(self): if "superlu-dist" in spec: if spec.satisfies("@3.10.3:3.15"): options.append("--with-cxx-dialect=C++11") + if spec["superlu-dist"].satisfies("+rocm"): + # Suppress HIP header warning message, otherwise the PETSc + # configuration fails: + options.append("CXXPPFLAGS=-DROCM_NO_WRAPPER_HEADER_WARNING") if "+mkl-pardiso" in spec: options.append("--with-mkl_pardiso-dir=%s" % spec["mkl"].prefix) diff --git a/var/spack/repos/builtin/packages/pexsi/package.py b/var/spack/repos/builtin/packages/pexsi/package.py index 9b7191ef00195d..b8ef54bc26fb44 100644 --- a/var/spack/repos/builtin/packages/pexsi/package.py +++ b/var/spack/repos/builtin/packages/pexsi/package.py @@ -38,6 +38,10 @@ class Pexsi(MakefilePackage, CMakePackage): version("0.10.2", sha256="8714c71b76542e096211b537a9cb1ffb2c28f53eea4f5a92f94cc1ca1e7b499f") version("0.9.0", sha256="e5efe0c129013392cdac3234e37f1f4fea641c139b1fbea47618b4b839d05029") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + patch("fujitsu-add-link-flags.patch", when="%fj") depends_on("parmetis") diff --git a/var/spack/repos/builtin/packages/pfapack/package.py b/var/spack/repos/builtin/packages/pfapack/package.py index a86549949c2f0f..bcc5a875942d89 100644 --- a/var/spack/repos/builtin/packages/pfapack/package.py +++ b/var/spack/repos/builtin/packages/pfapack/package.py @@ -19,6 +19,10 @@ class Pfapack(MakefilePackage): "2014-09-17", sha256="b68fc35dda23ee24c358641b1a92ef701c4ffa0b3f0b0808b24e68afeb58ef07" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + parallel = False depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/pfft/package.py b/var/spack/repos/builtin/packages/pfft/package.py index 4a9796067f8b94..f2545593b51e49 100644 --- a/var/spack/repos/builtin/packages/pfft/package.py +++ b/var/spack/repos/builtin/packages/pfft/package.py @@ -23,6 +23,9 @@ class Pfft(AutotoolsPackage): "1.0.8-alpha", sha256="6c43960ad72fcff7e49b87c604c5f471fb5890f1bd11ce750ab52f035e7c5317" ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("fftw+mpi+pfft_patches") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/pflask/package.py b/var/spack/repos/builtin/packages/pflask/package.py index f7831f61403bd5..392edadf6719de 100644 --- a/var/spack/repos/builtin/packages/pflask/package.py +++ b/var/spack/repos/builtin/packages/pflask/package.py @@ -16,3 +16,5 @@ class Pflask(CMakePackage): version("0.2", sha256="dabbd060d1c50174de5fffae9ec97dc1d41b22de898a8280166cba768c940ebd") version("0.1", sha256="3c41c670fd8c48b7b6a41d697b444df8bf95380937ba4f734b41af135d5c5816") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/pflogger/package.py b/var/spack/repos/builtin/packages/pflogger/package.py index 8b118cc3aa85df..1bd366066057b3 100644 --- a/var/spack/repos/builtin/packages/pflogger/package.py +++ b/var/spack/repos/builtin/packages/pflogger/package.py @@ -22,6 +22,7 @@ class Pflogger(CMakePackage): version("develop", branch="develop") version("main", branch="main") + version("1.15.0", sha256="454f05731a3ba50c7ae3ef9463b642c53248ae84ccb3b93455ef2ae2b6858235") version("1.14.0", sha256="63422493136f66f61d5148b7b1d278b1e5ca76bd37c578e45e4ae0e967351823") version("1.13.2", sha256="934e573134f7f1a22b14eb582ea38dd68eb9dccb10526bfabe51229efe106352") version("1.13.1", sha256="d2246d1bf3e5186045ae84c52656168856f693f743700f473cf3d1c99eecae02") @@ -37,6 +38,8 @@ class Pflogger(CMakePackage): version("1.8.0", sha256="28ce9ac8af374253b6dfd8f53f8fd271c787d432645ec9bc6a5a01601dc56e19") version("1.6.1", sha256="114a15daa7994ab7d4eea463c3a9b8fe7df3da7d07a0004b5c40cf155e374916") + depends_on("fortran", type="build") # generated + variant( "build_type", default="Release", diff --git a/var/spack/repos/builtin/packages/pflotran/package.py b/var/spack/repos/builtin/packages/pflotran/package.py index 71ff9d1b94c615..fea93a95ece1b3 100644 --- a/var/spack/repos/builtin/packages/pflotran/package.py +++ b/var/spack/repos/builtin/packages/pflotran/package.py @@ -28,6 +28,10 @@ class Pflotran(AutotoolsPackage): version("xsdk-0.4.0", commit="c851cbc94fc56a32cfdb0678f3c24b9936a5584e") version("xsdk-0.3.0", branch="release/xsdk-0.3.0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("rxn", default=False, description="Use inbuilt reaction code, useful with cray ftn") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/pfunit/package.py b/var/spack/repos/builtin/packages/pfunit/package.py index 008a5b26d04111..679788bffcfe56 100644 --- a/var/spack/repos/builtin/packages/pfunit/package.py +++ b/var/spack/repos/builtin/packages/pfunit/package.py @@ -77,6 +77,9 @@ class Pfunit(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=False, description="Enable MPI") variant( "use_comm_world", diff --git a/var/spack/repos/builtin/packages/pgplot/package.py b/var/spack/repos/builtin/packages/pgplot/package.py index 4821370345a7c8..f3204fc95fa00d 100644 --- a/var/spack/repos/builtin/packages/pgplot/package.py +++ b/var/spack/repos/builtin/packages/pgplot/package.py @@ -28,6 +28,9 @@ class Pgplot(MakefilePackage): sha256="a5799ff719a510d84d26df4ae7409ae61fe66477e3f1e8820422a9a4727a5be4", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # Replace hard-coded compilers and options by tokens, so that Spack can # edit the file more easily patch("g77_gcc.conf.patch") diff --git a/var/spack/repos/builtin/packages/phast/package.py b/var/spack/repos/builtin/packages/phast/package.py index 5626a79f6924fb..4e35bc6d1c923d 100644 --- a/var/spack/repos/builtin/packages/phast/package.py +++ b/var/spack/repos/builtin/packages/phast/package.py @@ -18,6 +18,8 @@ class Phast(MakefilePackage): version("1.6", sha256="8100f6582008c5de46d2de05cee038f0f1ca3a50147031da1bc5e8744883cbe4") version("1.4", sha256="287c77599c51256a3adbd62ed217cb6d6a547fcec2c29262e9d61fa32ed92b99") + depends_on("c", type="build") # generated + # phast cannot build with clapack using external blas depends_on("clapack~external-blas") diff --git a/var/spack/repos/builtin/packages/phasta/package.py b/var/spack/repos/builtin/packages/phasta/package.py index 6cf303420c2260..8ffb91f89bb93f 100644 --- a/var/spack/repos/builtin/packages/phasta/package.py +++ b/var/spack/repos/builtin/packages/phasta/package.py @@ -18,6 +18,10 @@ class Phasta(CMakePackage): version("develop", branch="master") version("0.0.1", commit="11f431f2d1a53a529dab4b0f079ab8aab7ca1109") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/phist/package.py b/var/spack/repos/builtin/packages/phist/package.py index d96c72a858eba6..34d704e3ce2cde 100644 --- a/var/spack/repos/builtin/packages/phist/package.py +++ b/var/spack/repos/builtin/packages/phist/package.py @@ -71,6 +71,10 @@ class Phist(CMakePackage): version("1.6.0", sha256="667a967b37d248242c275226c96efc447ef73a2b15f241c6a588d570d7fac07b") version("1.4.3", sha256="9cc1c7ba7f7a04e94f4497da14199e4631a0d02d0e4187f3e16f4c242dc777c1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( name="kernel_lib", default="builtin", diff --git a/var/spack/repos/builtin/packages/photos-f/package.py b/var/spack/repos/builtin/packages/photos-f/package.py index ce86f30fe22f65..3abeb512459893 100644 --- a/var/spack/repos/builtin/packages/photos-f/package.py +++ b/var/spack/repos/builtin/packages/photos-f/package.py @@ -20,6 +20,8 @@ class PhotosF(MakefilePackage): version("215.5", sha256="3e2b3f60ffe2d3a6a95cf2f156aa24b93e1fa3c439a85fa0ae780ca2f6e0dbb5") + depends_on("fortran", type="build") # generated + patch("photos-215.5-update-configure.patch", level=2) def do_stage(self, mirror_only=False): diff --git a/var/spack/repos/builtin/packages/photos/package.py b/var/spack/repos/builtin/packages/photos/package.py index ea07db9e107393..2ee8af60cf3887 100644 --- a/var/spack/repos/builtin/packages/photos/package.py +++ b/var/spack/repos/builtin/packages/photos/package.py @@ -20,6 +20,9 @@ class Photos(AutotoolsPackage): version("3.64", sha256="cb4096b4804289fc4d54a992caa566cbbd33f41f65f8906deb01200dc5163027") version("3.61", sha256="acd3bcb769ba2a3e263de399e9b89fd6296405c9cbc5045b83baba3e60db4b26") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("hepmc", default=True, description="Build with HepMC2 support") variant("hepmc3", default=False, description="Build with HepMC3 support") diff --git a/var/spack/repos/builtin/packages/photospline/package.py b/var/spack/repos/builtin/packages/photospline/package.py index 14534795420b4d..ecfbab83733d74 100644 --- a/var/spack/repos/builtin/packages/photospline/package.py +++ b/var/spack/repos/builtin/packages/photospline/package.py @@ -25,4 +25,7 @@ class Photospline(CMakePackage): version("2.0.3", sha256="7045a631c41489085037b05fac98fd9cad73dc4262b7eead143d09e5f8265dec") version("2.0.2", sha256="0a3368205a7971a6919483ad5b5f0fbebb74614ec1891c95bb6a4fc9d3b950d4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cfitsio") diff --git a/var/spack/repos/builtin/packages/php/package.py b/var/spack/repos/builtin/packages/php/package.py index 441fe3af7bb464..9abe26f281e89f 100644 --- a/var/spack/repos/builtin/packages/php/package.py +++ b/var/spack/repos/builtin/packages/php/package.py @@ -29,6 +29,9 @@ class Php(AutotoolsPackage): version("7.2.24", sha256="334c9915733f6a29e1462f64038b1b4b1b21cb18f4f5f980add86792b5550ab3") version("7.1.33", sha256="f80a795a09328a9441bae4a8a60fa0d6d43ec5adc98f5aa5f51d06f4522c07fe") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/phylobayesmpi/package.py b/var/spack/repos/builtin/packages/phylobayesmpi/package.py index 1ff3894d8b349d..8cd32e1c22f5b7 100644 --- a/var/spack/repos/builtin/packages/phylobayesmpi/package.py +++ b/var/spack/repos/builtin/packages/phylobayesmpi/package.py @@ -18,6 +18,8 @@ class Phylobayesmpi(MakefilePackage): version("1.9", sha256="567d8db995f23b2b0109c1e6088a7e5621e38fec91d6b2f27abd886b90ea31ce") version("1.8b", sha256="7ff017bf492c1d8b42bfff3ee8e998ba1c50f4e4b3d9d6125647b91738017324") + depends_on("cxx", type="build") # generated + depends_on("mpi") build_directory = "sources" diff --git a/var/spack/repos/builtin/packages/picsar/package.py b/var/spack/repos/builtin/packages/picsar/package.py index 522551fa1cb345..bfc36739152af2 100644 --- a/var/spack/repos/builtin/packages/picsar/package.py +++ b/var/spack/repos/builtin/packages/picsar/package.py @@ -18,6 +18,10 @@ class Picsar(MakefilePackage): version("develop", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("prod", default=True, description="Production mode (without FFTW)") variant( "prod_spectral", default=False, description="Production mode with spectral solver and FFTW" diff --git a/var/spack/repos/builtin/packages/picsarlite/package.py b/var/spack/repos/builtin/packages/picsarlite/package.py index 79e6fd58e2114b..98365c4f42620e 100644 --- a/var/spack/repos/builtin/packages/picsarlite/package.py +++ b/var/spack/repos/builtin/packages/picsarlite/package.py @@ -21,6 +21,9 @@ class Picsarlite(MakefilePackage): version("develop", branch="PICSARlite") version("0.1", tag="PICSARlite-0.1", commit="3c9cee9bdf32da0998f504bff7af31fcae2f0452") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("prod", default=True, description="Production mode (without FFTW)") variant( "prod_spectral", default=False, description="Production mode with spectral solver and FFTW" diff --git a/var/spack/repos/builtin/packages/pidx/package.py b/var/spack/repos/builtin/packages/pidx/package.py index b9f0fa4f9ce551..e16cb06af670bf 100644 --- a/var/spack/repos/builtin/packages/pidx/package.py +++ b/var/spack/repos/builtin/packages/pidx/package.py @@ -20,5 +20,8 @@ class Pidx(CMakePackage): version("1.0", commit="6afa1cf71d1c41263296dc049c8fabaf73c296da") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8.4:", type="build") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/pigz/package.py b/var/spack/repos/builtin/packages/pigz/package.py index 92b1084d53931e..bad604900e3494 100644 --- a/var/spack/repos/builtin/packages/pigz/package.py +++ b/var/spack/repos/builtin/packages/pigz/package.py @@ -21,6 +21,8 @@ class Pigz(MakefilePackage): version("2.4", sha256="e228e7d18b34c4ece8d596eb6eee97bde533c6beedbb728d07d3abe90b4b1b52") version("2.3.4", sha256="763f2fdb203aa0b7b640e63385e38e5dd4e5aaa041bc8e42aa96f2ef156b06e8") + depends_on("c", type="build") # generated + depends_on("zlib-api") def build(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/pika-algorithms/package.py b/var/spack/repos/builtin/packages/pika-algorithms/package.py index 3442ff8aba46b1..c639fc8d757104 100644 --- a/var/spack/repos/builtin/packages/pika-algorithms/package.py +++ b/var/spack/repos/builtin/packages/pika-algorithms/package.py @@ -24,6 +24,8 @@ class PikaAlgorithms(CMakePackage): version("0.1.0", sha256="64da008897dfa7373155595c46d2ce6b97a8a3cb5bea33ae7f2d1ff359f0d9b6") version("main", branch="main") + depends_on("cxx", type="build") # generated + generator("ninja") map_cxxstd = lambda cxxstd: "2a" if cxxstd == "20" else cxxstd diff --git a/var/spack/repos/builtin/packages/pika/package.py b/var/spack/repos/builtin/packages/pika/package.py index 250f19d8952dc3..34dbc1a2083d24 100644 --- a/var/spack/repos/builtin/packages/pika/package.py +++ b/var/spack/repos/builtin/packages/pika/package.py @@ -19,6 +19,7 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage): license("BSL-1.0") + version("0.26.0", sha256="bbec5472c71006c1f55e7946c8dc517dae76c41cacb36fa98195312c74a1bb9a") version("0.25.0", sha256="6646e12f88049116d84ce0caeedaa039a13caaa0431964caea4660b739767b2e") version("0.24.0", sha256="3b97c684107f892a633f598d94bcbd1e238d940e88e1c336f205e81b99326cc3") version("0.23.0", sha256="d1981e198ac4f8443770cebbeff7a132b8f6c1a42e32b0b06fea02cc9df99595") @@ -50,8 +51,13 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage): version("0.1.0", sha256="aa0ae2396cd264d821a73c4c7ecb118729bb3de042920c9248909d33755e7327") version("main", branch="main") + depends_on("cxx", type="build") # generated + generator("ninja") + variant("shared", default=True, description="Build shared libraries") + conflicts("~shared", when="@:0.25") + cxxstds = ("17", "20", "23") variant( "cxxstd", @@ -87,6 +93,7 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage): description="Enable support for sanitizers. " "Specific sanitizers must be explicitly enabled with -fsanitize=*.", ) + variant("valgrind", default=False, description="Enable support for valgrind") variant( "stdexec", default=False, @@ -137,6 +144,8 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage): depends_on("whip@0.1: +rocm", when="@0.9: +rocm") depends_on("whip@0.1: +cuda", when="@0.9: +cuda") + depends_on("valgrind", when="+valgrind") + with when("+rocm"): for val in ROCmPackage.amdgpu_targets: depends_on(f"whip@0.1: amdgpu_target={val}", when=f"@0.9: amdgpu_target={val}") @@ -187,6 +196,7 @@ def cmake_args(self): spec, args = self.spec, [] args += [ + self.define_from_variant("BUILD_SHARED_LIBS", "shared"), self.define("PIKA_WITH_CXX_STANDARD", spec.variants["cxxstd"].value), self.define_from_variant("PIKA_WITH_EXAMPLES", "examples"), self.define_from_variant("PIKA_WITH_MALLOC", "malloc"), @@ -196,6 +206,7 @@ def cmake_args(self): self.define_from_variant("PIKA_WITH_APEX", "apex"), self.define_from_variant("PIKA_WITH_TRACY", "tracy"), self.define_from_variant("PIKA_WITH_SANITIZERS", "sanitizers"), + self.define_from_variant("PIKA_WITH_VALGRIND", "valgrind"), self.define("PIKA_WITH_TESTS", self.run_tests), self.define_from_variant("PIKA_WITH_GENERIC_CONTEXT_COROUTINES", "generic_coroutines"), self.define("BOOST_ROOT", spec["boost"].prefix), diff --git a/var/spack/repos/builtin/packages/pilercr/package.py b/var/spack/repos/builtin/packages/pilercr/package.py index a25737b242119e..9a9189b853f349 100644 --- a/var/spack/repos/builtin/packages/pilercr/package.py +++ b/var/spack/repos/builtin/packages/pilercr/package.py @@ -15,6 +15,8 @@ class Pilercr(MakefilePackage): version("1.06", sha256="50175f7aa171674cda5ba255631f340f9cc7f80e8cc25135a4cb857147d91068") + depends_on("cxx", type="build") # generated + @property def build_targets(self): targets = [] diff --git a/var/spack/repos/builtin/packages/pindel/package.py b/var/spack/repos/builtin/packages/pindel/package.py index 484228f4986711..f43ae2c1224b93 100644 --- a/var/spack/repos/builtin/packages/pindel/package.py +++ b/var/spack/repos/builtin/packages/pindel/package.py @@ -22,6 +22,8 @@ class Pindel(MakefilePackage): version("0.2.5a7", sha256="0a270483dee9ef617d422eb61d3478334ee8f55e952d0a439529c2b21fcf8fb4") version("0.2.5", sha256="9908940d090eff23d940c3b6f2f6b3fc2bb1fd3b7a2d553cc81eed240a23fd9f") + depends_on("cxx", type="build") # generated + depends_on("htslib@1.7:") # GCC > 4.8 seems to dislike calling abs on an unsigned integer diff --git a/var/spack/repos/builtin/packages/pinentry/package.py b/var/spack/repos/builtin/packages/pinentry/package.py index c2d75e94134cad..81b166f3a32f2e 100644 --- a/var/spack/repos/builtin/packages/pinentry/package.py +++ b/var/spack/repos/builtin/packages/pinentry/package.py @@ -22,12 +22,16 @@ class Pinentry(AutotoolsPackage): license("GPL-2.0-or-later") + version("1.3.1", sha256="bc72ee27c7239007ab1896c3c2fae53b076e2c9bd2483dc2769a16902bce8c04") version("1.3.0", sha256="9b3cd5226e7597f2fded399a3bc659923351536559e9db0826981bca316494de") version("1.2.1", sha256="457a185e5a85238fb945a955dc6352ab962dc8b48720b62fc9fa48c7540a4067") version("1.2.0", sha256="10072045a3e043d0581f91cd5676fcac7ffee957a16636adedaa4f583a616470") version("1.1.1", sha256="cd12a064013ed18e2ee8475e669b9f58db1b225a0144debdb85a68cecddba57f") version("1.1.0", sha256="68076686fa724a290ea49cdf0d1c0c1500907d1b759a3bcbfbec0293e8f56570") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + supported_guis = [ "curses", "tty", @@ -52,6 +56,7 @@ class Pinentry(AutotoolsPackage): depends_on("libgpg-error@1.16:") depends_on("libassuan@2.1.0:") + depends_on("libassuan@:2", when="@:1.2") # Optional GUI dependencies depends_on("ncurses", when="gui=curses") diff --git a/var/spack/repos/builtin/packages/pinfo/package.py b/var/spack/repos/builtin/packages/pinfo/package.py index 39b66c9ee71f5e..62e5e06875d87e 100644 --- a/var/spack/repos/builtin/packages/pinfo/package.py +++ b/var/spack/repos/builtin/packages/pinfo/package.py @@ -16,6 +16,8 @@ class Pinfo(AutotoolsPackage): version("0.6.12", sha256="82af48ba23b8c26b1f4e67b45f718142eb0f760326b782f80c765801d3532077") version("0.6.11", sha256="fd26017ac9db179d709b49e450c3097e7d6f99cd94de7b5da824ec757c6992b2") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/piranha/package.py b/var/spack/repos/builtin/packages/piranha/package.py index 8ae15b3d82d947..19a5fd97632cbb 100644 --- a/var/spack/repos/builtin/packages/piranha/package.py +++ b/var/spack/repos/builtin/packages/piranha/package.py @@ -21,6 +21,8 @@ class Piranha(CMakePackage): version("develop", branch="master") version("0.5", sha256="34a89bda8208ff48cfb116efa7d53c09e8a9b3838af4bb96ba2e19e4930b3a58") + depends_on("cxx", type="build") # generated + variant("python", default=True, description="Build the Python bindings") # Build dependencies diff --git a/var/spack/repos/builtin/packages/pism/package.py b/var/spack/repos/builtin/packages/pism/package.py index 641e985ddb5f6d..85b45cec32ddc7 100644 --- a/var/spack/repos/builtin/packages/pism/package.py +++ b/var/spack/repos/builtin/packages/pism/package.py @@ -22,6 +22,10 @@ class Pism(CMakePackage): version("0.7.x", branch="stable0.7") version("icebin", branch="efischer/dev") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("extra", default=False, description="Build extra executables (testing/verification)") variant("shared", default=True, description="Build shared Pism libraries") variant("python", default=False, description="Build python bindings", when="@1.1:") diff --git a/var/spack/repos/builtin/packages/pixman/package.py b/var/spack/repos/builtin/packages/pixman/package.py index e64568f595dcd1..499b313c815aba 100644 --- a/var/spack/repos/builtin/packages/pixman/package.py +++ b/var/spack/repos/builtin/packages/pixman/package.py @@ -26,11 +26,15 @@ class Pixman(AutotoolsPackage): version("0.34.0", sha256="21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e") version("0.32.6", sha256="3dfed13b8060eadabf0a4945c7045b7793cc7e3e910e748a8bb0f0dc3e794904") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("flex", type="build") depends_on("bison@3:", type="build") depends_on("libpng") + variant("shared", default=True, description="Build shared library") + # As discussed here: # https://bugs.freedesktop.org/show_bug.cgi?id=104886 # __builtin_shuffle was removed in clang 5.0. @@ -60,10 +64,12 @@ def patch_config_h_for_intel(self): @property def libs(self): - return find_libraries("libpixman-1", self.prefix, shared=True, recursive=True) + return find_libraries( + "libpixman-1", self.prefix, shared=self.spec.satisfies("+shared"), recursive=True + ) def configure_args(self): - args = ["--enable-libpng", "--disable-gtk"] + args = ["--enable-libpng", "--disable-gtk", "--with-pic"] if sys.platform == "darwin": args += ["--disable-mmx", "--disable-silent-rules"] @@ -78,4 +84,6 @@ def configure_args(self): if self.spec.satisfies("%fj"): args.append("--disable-arm-a64-neon") + args.extend(self.enable_or_disable("shared")) + return args diff --git a/var/spack/repos/builtin/packages/pixz/package.py b/var/spack/repos/builtin/packages/pixz/package.py index 932128da273b4b..e4b91b99d98e3a 100644 --- a/var/spack/repos/builtin/packages/pixz/package.py +++ b/var/spack/repos/builtin/packages/pixz/package.py @@ -17,5 +17,7 @@ class Pixz(AutotoolsPackage): version("1.0.7", sha256="e5e32c6eb0bf112b98e74a5da8fb63b9f2cae71800f599d97ce540e150c8ddc5") version("1.0.6", sha256="02c50746b134fa1b1aae41fcc314d7c6f1919b3d48bcdea01bf11769f83f72e8") + depends_on("c", type="build") # generated + depends_on("xz") depends_on("libarchive") diff --git a/var/spack/repos/builtin/packages/pkg-config/package.py b/var/spack/repos/builtin/packages/pkg-config/package.py index 8888ffe559db78..d2f51bf11d0488 100644 --- a/var/spack/repos/builtin/packages/pkg-config/package.py +++ b/var/spack/repos/builtin/packages/pkg-config/package.py @@ -20,6 +20,8 @@ class PkgConfig(AutotoolsPackage): version("0.29.1", sha256="beb43c9e064555469bd4390dcfd8030b1536e0aa103f08d7abf7ae8cac0cb001") version("0.28", sha256="6b6eb31c6ec4421174578652c7e141fdaae2dabad1021f420d8713206ac1f845") + depends_on("c", type="build") # generated + provides("pkgconfig") variant("internal_glib", default=True, description="Builds with internal glib") diff --git a/var/spack/repos/builtin/packages/pkgconf/package.py b/var/spack/repos/builtin/packages/pkgconf/package.py index 3447a6bfd48c32..39f3b198e0d2d4 100644 --- a/var/spack/repos/builtin/packages/pkgconf/package.py +++ b/var/spack/repos/builtin/packages/pkgconf/package.py @@ -33,6 +33,8 @@ class Pkgconf(AutotoolsPackage): version("1.3.10", sha256="62577d265fa9415a57a77a59dede5526b7ece3ef59a750434b281b262f0c1da9") version("1.3.8", sha256="fc06f058e6905435481f649865ca51000192c91808f307b1053ca5e859cb1488") + depends_on("c", type="build") # generated + provides("pkgconfig") # https://github.com/spack/spack/issues/11704 diff --git a/var/spack/repos/builtin/packages/pktools/package.py b/var/spack/repos/builtin/packages/pktools/package.py index 59c2d1ef234f83..131911892e700b 100644 --- a/var/spack/repos/builtin/packages/pktools/package.py +++ b/var/spack/repos/builtin/packages/pktools/package.py @@ -19,6 +19,9 @@ class Pktools(CMakePackage): version("2.6.7.1", sha256="519b6a500ce3c5ef3793c1cda1f5377f13b7d7591b5ccc376b2bd1de4bd4f7e5") version("2.6.7", sha256="f566647e93037cc01cebfe17ea554d798177fe5081887c70223dcca817f4fe7f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("fann", default=True, description="Build with libfann to enable related programs") variant("liblas", default=False, description="Build with libLAS support") diff --git a/var/spack/repos/builtin/packages/planck-likelihood/package.py b/var/spack/repos/builtin/packages/planck-likelihood/package.py index 323d905bbf300f..30629a7ec3a74e 100644 --- a/var/spack/repos/builtin/packages/planck-likelihood/package.py +++ b/var/spack/repos/builtin/packages/planck-likelihood/package.py @@ -21,6 +21,9 @@ class PlanckLikelihood(Package): url="https://irsa.ipac.caltech.edu/data/Planck/release_2/software/COM_Likelihood_Code-v2.0.R2.00.tar.bz2", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("lensing-ext", default=False, description="Provide lensing-ext data") variant("plik-DS", default=False, description="Provide plik-DS data") variant("plik-HM-ext", default=False, description="Provide plik-HM-ext data") diff --git a/var/spack/repos/builtin/packages/plasma/package.py b/var/spack/repos/builtin/packages/plasma/package.py index 1ff83f62011ea6..85b0141fafddae 100644 --- a/var/spack/repos/builtin/packages/plasma/package.py +++ b/var/spack/repos/builtin/packages/plasma/package.py @@ -43,6 +43,9 @@ class Plasma(CMakePackage): url="https://github.com/icl-utk-edu/plasma/releases/download/17.01/plasma-17.01.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + build_system( conditional("makefile", when="@:17.1"), conditional("cmake", when="@18.9:"), diff --git a/var/spack/repos/builtin/packages/plink2/package.py b/var/spack/repos/builtin/packages/plink2/package.py index f1c2b439cf551c..498ef092b018cb 100644 --- a/var/spack/repos/builtin/packages/plink2/package.py +++ b/var/spack/repos/builtin/packages/plink2/package.py @@ -11,9 +11,20 @@ class Plink2(MakefilePackage): range of basic, large-scale analyses in a computationally efficient manner.""" homepage = "https://www.cog-genomics.org/plink/2.0/" - git = "https://github.com/chrchang/plink-ng.git" + url = "https://github.com/chrchang/plink-ng/archive/refs/tags/v2.00a5.11.tar.gz" + list_url = "https://github.com/chrchang/plink-ng/tags" - version("2.00a4.3", tag="v2.00a4.3", commit="59fca48f6f8135886ff68962fbe31ae0c6413228") + maintainers("teaguesterling") + + license("GPLv3", checked_by="teaguesterling") + # See: https://github.com/chrchang/plink-ng/blob/master/2.0/COPYING + + version("2.00a5.11", sha256="8b664baa0b603f374123c32818ea2f053272840ba60e998d06cb864f3a6f1c38") + version("2.00a5.10", sha256="53d845c6a04f8fc701e6f58f6431654e36cbf6b79bff25099862d169a8199a45") + version("2.00a4.3", sha256="3cd1d26ac6dd1c451b42440f479789aa19d2b57642c118aac530a5ff1b0b4ce6") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("zlib-api") depends_on("zlib@1.2.12:", when="^[virtuals=zlib-api] zlib") diff --git a/var/spack/repos/builtin/packages/ploticus/package.py b/var/spack/repos/builtin/packages/ploticus/package.py index c473a926dd2e1d..0f1ae59373d0c2 100644 --- a/var/spack/repos/builtin/packages/ploticus/package.py +++ b/var/spack/repos/builtin/packages/ploticus/package.py @@ -15,6 +15,8 @@ class Ploticus(MakefilePackage): version("2.42", sha256="3f29e4b9f405203a93efec900e5816d9e1b4381821881e241c08cab7dd66e0b0") + depends_on("c", type="build") # generated + depends_on("zlib-api") depends_on("libpng") diff --git a/var/spack/repos/builtin/packages/plplot/package.py b/var/spack/repos/builtin/packages/plplot/package.py index 1035a45d254590..dc3b4d948bf3d2 100644 --- a/var/spack/repos/builtin/packages/plplot/package.py +++ b/var/spack/repos/builtin/packages/plplot/package.py @@ -20,6 +20,10 @@ class Plplot(CMakePackage): version("5.12.0", sha256="8dc5da5ef80e4e19993d4c3ef2a84a24cc0e44a5dade83201fca7160a6d352ce") version("5.11.0", sha256="bfa8434e6e1e7139a5651203ec1256c8581e2fac3122f907f7d8d25ed3bd5f7e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("java", default=False, description="Enable Java binding") variant("lua", default=False, description="Enable Lua binding") variant("pango", default=False, description="Enable Pango") diff --git a/var/spack/repos/builtin/packages/plumed/package.py b/var/spack/repos/builtin/packages/plumed/package.py index df734349c11549..bf3b3099fd6320 100644 --- a/var/spack/repos/builtin/packages/plumed/package.py +++ b/var/spack/repos/builtin/packages/plumed/package.py @@ -113,6 +113,10 @@ class Plumed(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Variants. PLUMED by default builds a number of optional modules. # The ones listed here are not built by default for various reasons, # such as stability, lack of testing, or lack of demand. diff --git a/var/spack/repos/builtin/packages/ply/package.py b/var/spack/repos/builtin/packages/ply/package.py index fde3b9787fc1ef..19c74c75d80c5b 100644 --- a/var/spack/repos/builtin/packages/ply/package.py +++ b/var/spack/repos/builtin/packages/ply/package.py @@ -18,6 +18,8 @@ class Ply(AutotoolsPackage): version("2.1.1", commit="899afb0c35ba2191dd7aa21f13bc7fde2655c475") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/pmdk/package.py b/var/spack/repos/builtin/packages/pmdk/package.py index ab6728754fd2dd..033e833d7a0b65 100644 --- a/var/spack/repos/builtin/packages/pmdk/package.py +++ b/var/spack/repos/builtin/packages/pmdk/package.py @@ -31,6 +31,9 @@ class Pmdk(Package): version("1.6", sha256="3b99e6c30709326a94d2e73a9247a8dfb58d0a394c5b7714e5c3d8a3ad2e2e9f") version("1.5", sha256="6b069d7207febeb62440e89245e8b18fcdf40b6170d2ec2ef33c252ed16db2d4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("ndctl", default=False, description="Build components requiring ndctl") variant("doc", default=False, description="Build documentation") variant("experimental", default=False, description="Build experimental stuff") diff --git a/var/spack/repos/builtin/packages/pmemkv/package.py b/var/spack/repos/builtin/packages/pmemkv/package.py index 73d4cf99ab99b5..1c097540031486 100644 --- a/var/spack/repos/builtin/packages/pmemkv/package.py +++ b/var/spack/repos/builtin/packages/pmemkv/package.py @@ -23,6 +23,9 @@ class Pmemkv(CMakePackage): version("1.0.3", sha256="cae393a01ba69364271c5894046bf2c611f677ac88012f2473fadf6fcd20ff29") version("1.0.2", sha256="a0cbbb60c0342d6fd0b73d2cee1a1423c6a894b8d21daf669016809961fe23b8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libpmemobj-cpp@develop", when="@master") depends_on("libpmemobj-cpp@1.12:", when="@1.4:") depends_on("libpmemobj-cpp@1.11:", when="@1.3:") diff --git a/var/spack/repos/builtin/packages/pmerge/package.py b/var/spack/repos/builtin/packages/pmerge/package.py index 5262493d5437e6..ce51a38c7445d7 100644 --- a/var/spack/repos/builtin/packages/pmerge/package.py +++ b/var/spack/repos/builtin/packages/pmerge/package.py @@ -21,6 +21,8 @@ class Pmerge(AutotoolsPackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + depends_on("automake@1.14.0:1.14", type="build") depends_on("autoconf", type="build") depends_on("m4", type="build") diff --git a/var/spack/repos/builtin/packages/pmgr-collective/package.py b/var/spack/repos/builtin/packages/pmgr-collective/package.py index 2f8b0f1246f252..2de440b3c901ea 100644 --- a/var/spack/repos/builtin/packages/pmgr-collective/package.py +++ b/var/spack/repos/builtin/packages/pmgr-collective/package.py @@ -15,6 +15,8 @@ class PmgrCollective(Package): version("1.0", sha256="c8022d1128ce5e8f637166af6e55c13700e665550e468b8cdb1531441c6bb7f5") + depends_on("c", type="build") # generated + def install(self, spec, prefix): make('PREFIX="' + prefix + '"') make('PREFIX="' + prefix + '"', "install") diff --git a/var/spack/repos/builtin/packages/pmix/package.py b/var/spack/repos/builtin/packages/pmix/package.py index 99850782780912..6dd7947f88c122 100644 --- a/var/spack/repos/builtin/packages/pmix/package.py +++ b/var/spack/repos/builtin/packages/pmix/package.py @@ -2,6 +2,7 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) + import os import platform @@ -33,40 +34,127 @@ class Pmix(AutotoolsPackage): homepage = "https://pmix.org" url = "https://github.com/pmix/pmix/releases/download/v3.1.3/pmix-3.1.3.tar.bz2" git = "https://github.com/openpmix/openpmix.git" + maintainers("rhc54") license("BSD-3-Clause-Open-MPI") # Branches 4.2 & 5.0 will also need submodules version("master", branch="master", submodules=True) + version("5.0.2", sha256="28227ff2ba925da2c3fece44502f23a91446017de0f5a58f5cea9370c514b83c") version("5.0.1", sha256="d4371792d4ba4c791e1010100b4bf9a65500ababaf5ff25d681f938527a67d4a") version("5.0.0", sha256="92a85c4946346816c297ac244fbaf4f723bba87fb7e4424a057c2dabd569928d") + version("4.2.9", sha256="6b11f4fd5c9d7f8e55fc6ebdee9af04b839f44d06044e58cea38c87c168784b3") + version("4.2.8", sha256="09b442878e233f3d7f11168e129b32e5c8573c3ab6aaa9f86cf2d59c31a43dc9") + version("4.2.7", sha256="ac9cf58a0bf01bfacd51d342100234f04c740ec14257e4492d1dd0207ff2a917") version("4.2.6", sha256="10b0d5a7fca70272e9427c677557578ac452cea02aeb00e30dec2116d20c3cd0") version("4.2.5", sha256="a89c2c5dc69715a4df1e76fdc4318299386c184623a1d0d5eb1fb062e14b0d2b") version("4.2.4", sha256="c4699543f2278d3a78bdac72b4b2da9cd92d11d18478d66522b8991764b021c8") version("4.2.3", sha256="c3d9d6885ae39c15627a86dc4718e050baf604acda71b8b9e2ee3b12ad5c2d2a") version("4.2.2", sha256="935b2f492e4bc409017f1425a83366aa72a7039605ea187c9fac7bb1371cd73c") version("4.2.1", sha256="3c992fa0d653b56e0e409bbaec9de8fc1b82c948364dbb28545442315ed2a179") - version("4.1.2", sha256="670d3a02b39fb2126fe8084174cf03c484e027b5921b5c98a851108134e2597a") - version("4.1.1", sha256="0527a15d616637b95975d238bbc100b244894518fbba822cd8f46589ca61ccec") - version("4.1.0", sha256="145f05a6c621bfb3fc434776b615d7e6d53260cc9ba340a01f55b383e07c842e") - version("3.2.3", sha256="9b835f23c2f94a193c14012ee68b3657a61c568598cdd1212a3716b32d41a135") - version("3.2.2", sha256="7e7fafe2b338dab42a94002d99330a5bb0ebbdd06381ec65953a87c94db3dd23") - version("3.2.1", sha256="7e5db8ada5828cf85c12f70db6bfcf777d13e5c4c73b2206bb5e394d47066a2b") - version("3.1.6", sha256="3df0e0cb0cae67b59edba1d90f55d73467be8404874fe89056690739e039a840") - version("3.1.5", sha256="88934195174455df478b996313095df25b51d0caf5a5cce01b22f0ccdc6c5cf7") - version("3.1.3", sha256="118acb9c4e10c4e481406dcffdfa762f314af50db75336bf8460e53b56dc439d") - version("3.1.2", sha256="28aed0392d4ca2cdfbdd721e6210c94dadc9830677fea37a0abe9d592c00f9c3") - version("3.0.2", sha256="df68f35a3ed9517eeade80b13855cebad8fde2772b36a3f6be87559b6d430670") - version("3.0.1", sha256="b81055d2c0d61ef5a451b63debc39c820bcd530490e2e4dcb4cdbacb618c157c") - version("3.0.0", sha256="ee8f68107c24b706237a53333d832445315ae37de6773c5413d7fda415a6e2ee") - version("2.2.3", sha256="6fa5d45eb089e29101190c645e986342a24a03a4ea3a936db0b120aafa45b1f0") - version("2.2.2", sha256="cd951dbda623fadc5b32ae149d8cc41f9462eac4d718d089340911b1a7c20714") - version("2.1.4", sha256="eb72d292e76e200f02cf162a477eecea2559ef3ac2edf50ee95b3fe3983d033e") - version("2.1.3", sha256="281283133498e7e5999ed5c6557542c22408bc9eb51ecbcf7696160616782a41") - version("2.1.2", sha256="94bb9c801c51a6caa1b8cef2b85ecf67703a5dfa4d79262e6668c37c744bb643") - version("2.0.1", sha256="ba6e0f32936b1859741adb221e18b2c1ee7dc53a6b374b9f7831adf1692b15fd") - version("1.2.5", sha256="a2b02d489ee730c06ee40e7f9ffcebb6c35bcb4f95153fab7c4276a3add6ae31") + version( + "4.1.2", + sha256="670d3a02b39fb2126fe8084174cf03c484e027b5921b5c98a851108134e2597a", + deprecated=True, + ) + version( + "4.1.1", + sha256="0527a15d616637b95975d238bbc100b244894518fbba822cd8f46589ca61ccec", + deprecated=True, + ) + version( + "4.1.0", + sha256="145f05a6c621bfb3fc434776b615d7e6d53260cc9ba340a01f55b383e07c842e", + deprecated=True, + ) + version( + "3.2.3", + sha256="9b835f23c2f94a193c14012ee68b3657a61c568598cdd1212a3716b32d41a135", + deprecated=True, + ) + version( + "3.2.2", + sha256="7e7fafe2b338dab42a94002d99330a5bb0ebbdd06381ec65953a87c94db3dd23", + deprecated=True, + ) + version( + "3.2.1", + sha256="7e5db8ada5828cf85c12f70db6bfcf777d13e5c4c73b2206bb5e394d47066a2b", + deprecated=True, + ) + version( + "3.1.6", + sha256="3df0e0cb0cae67b59edba1d90f55d73467be8404874fe89056690739e039a840", + deprecated=True, + ) + version( + "3.1.5", + sha256="88934195174455df478b996313095df25b51d0caf5a5cce01b22f0ccdc6c5cf7", + deprecated=True, + ) + version( + "3.1.3", + sha256="118acb9c4e10c4e481406dcffdfa762f314af50db75336bf8460e53b56dc439d", + deprecated=True, + ) + version( + "3.1.2", + sha256="28aed0392d4ca2cdfbdd721e6210c94dadc9830677fea37a0abe9d592c00f9c3", + deprecated=True, + ) + version( + "3.0.2", + sha256="df68f35a3ed9517eeade80b13855cebad8fde2772b36a3f6be87559b6d430670", + deprecated=True, + ) + version( + "3.0.1", + sha256="b81055d2c0d61ef5a451b63debc39c820bcd530490e2e4dcb4cdbacb618c157c", + deprecated=True, + ) + version( + "3.0.0", + sha256="ee8f68107c24b706237a53333d832445315ae37de6773c5413d7fda415a6e2ee", + deprecated=True, + ) + version( + "2.2.3", + sha256="6fa5d45eb089e29101190c645e986342a24a03a4ea3a936db0b120aafa45b1f0", + deprecated=True, + ) + version( + "2.2.2", + sha256="cd951dbda623fadc5b32ae149d8cc41f9462eac4d718d089340911b1a7c20714", + deprecated=True, + ) + version( + "2.1.4", + sha256="eb72d292e76e200f02cf162a477eecea2559ef3ac2edf50ee95b3fe3983d033e", + deprecated=True, + ) + version( + "2.1.3", + sha256="281283133498e7e5999ed5c6557542c22408bc9eb51ecbcf7696160616782a41", + deprecated=True, + ) + version( + "2.1.2", + sha256="94bb9c801c51a6caa1b8cef2b85ecf67703a5dfa4d79262e6668c37c744bb643", + deprecated=True, + ) + version( + "2.0.1", + sha256="ba6e0f32936b1859741adb221e18b2c1ee7dc53a6b374b9f7831adf1692b15fd", + deprecated=True, + ) + version( + "1.2.5", + sha256="a2b02d489ee730c06ee40e7f9ffcebb6c35bcb4f95153fab7c4276a3add6ae31", + deprecated=True, + ) + + depends_on("c", type="build") # generated variant( "pmi_backwards_compatibility", @@ -78,10 +166,10 @@ class Pmix(AutotoolsPackage): "restful", default=False, when="@4:", - description="allow a PMIx server to request services from " "a system-level REST server", + description="Allow a PMIx server to request services from " "a system-level REST server", ) - variant("python", default=False, when="@4.1.2:", description="Enable python bindigs") + variant("python", default=False, when="@4.1.2:", description="Enable python bindings") variant("docs", default=False, description="Build manpages") diff --git a/var/spack/repos/builtin/packages/pmlib/package.py b/var/spack/repos/builtin/packages/pmlib/package.py index 2ff509ad0084f8..01fd746cf53dd0 100644 --- a/var/spack/repos/builtin/packages/pmlib/package.py +++ b/var/spack/repos/builtin/packages/pmlib/package.py @@ -21,6 +21,10 @@ class Pmlib(CMakePackage): version("master", branch="master") version("6.4.1", commit="0a35f5bec8c12e532e5a1bdac8c32c659fd3ee11") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Activate MPI support") variant("example", default=False, description="This option turns on compiling sample codes.") variant("fortran", default=False, description="This option tells a compiler to use a Fortran.") diff --git a/var/spack/repos/builtin/packages/pnfft/package.py b/var/spack/repos/builtin/packages/pnfft/package.py index e3d765f8cb2f4c..ae7530cabd2603 100644 --- a/var/spack/repos/builtin/packages/pnfft/package.py +++ b/var/spack/repos/builtin/packages/pnfft/package.py @@ -21,6 +21,9 @@ class Pnfft(AutotoolsPackage): "1.0.7-alpha", sha256="fda558ff57ee3119754363bb6e6739338680d2d6860fe7dc42009d85562bd67a" ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("pfft") depends_on("gsl") diff --git a/var/spack/repos/builtin/packages/pngquant/package.py b/var/spack/repos/builtin/packages/pngquant/package.py index 4d58346a98ba9b..1cbfd086586492 100644 --- a/var/spack/repos/builtin/packages/pngquant/package.py +++ b/var/spack/repos/builtin/packages/pngquant/package.py @@ -19,4 +19,6 @@ class Pngquant(AutotoolsPackage): version("2.12.5", sha256="3638936cf6270eeeaabcee42e10768d78e4dc07cac9310307835c1f58b140808") + depends_on("c", type="build") # generated + depends_on("libpng") diff --git a/var/spack/repos/builtin/packages/pngwriter/package.py b/var/spack/repos/builtin/packages/pngwriter/package.py index 84bb9b3c38a5a4..679eb138e49e61 100644 --- a/var/spack/repos/builtin/packages/pngwriter/package.py +++ b/var/spack/repos/builtin/packages/pngwriter/package.py @@ -28,6 +28,8 @@ class Pngwriter(CMakePackage): version("0.6.0", sha256="5107c6be0bfadf76ba4d01a553f7e060b5a7763ca7d9374ef3e7e59746b3911e") version("0.5.6", sha256="0c5f3c1fd6f2470e88951f4b8add64cf5f5a7e7038115dba69604139359b08f1") + depends_on("cxx", type="build") # generated + depends_on("libpng") depends_on("zlib-api") depends_on("freetype") diff --git a/var/spack/repos/builtin/packages/pnmpi/package.py b/var/spack/repos/builtin/packages/pnmpi/package.py index 331ca93767aeb5..c875fd9070a0df 100644 --- a/var/spack/repos/builtin/packages/pnmpi/package.py +++ b/var/spack/repos/builtin/packages/pnmpi/package.py @@ -17,6 +17,10 @@ class Pnmpi(CMakePackage): version("1.7", sha256="523228bdc220ae417d6812c0766bba698a240d71c69981cb0cb2b09a75ef4a9e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=False, description="Configure PnMPI with Fortran support") variant( "tests", default=False, description='Build test cases and enable "test" makefile target' diff --git a/var/spack/repos/builtin/packages/poamsa/package.py b/var/spack/repos/builtin/packages/poamsa/package.py index 1193865c68e669..244eece6331626 100644 --- a/var/spack/repos/builtin/packages/poamsa/package.py +++ b/var/spack/repos/builtin/packages/poamsa/package.py @@ -17,6 +17,8 @@ class Poamsa(MakefilePackage): version("2.0", sha256="d98d8251af558f442d909a6527694825ef6f79881b7636cad4925792559092c2") + depends_on("c", type="build") # generated + def url_for_version(self, version): url = "https://downloads.sourceforge.net/project/poamsa/poamsa/{0}/poaV{1}.tar.gz" return url.format(version.dotted, version.up_to(1)) diff --git a/var/spack/repos/builtin/packages/pocl/package.py b/var/spack/repos/builtin/packages/pocl/package.py index da8ad4e6a69318..7a139a624a6bf5 100644 --- a/var/spack/repos/builtin/packages/pocl/package.py +++ b/var/spack/repos/builtin/packages/pocl/package.py @@ -33,6 +33,9 @@ class Pocl(CMakePackage): version("1.1", sha256="1e8dd0693a88c84937754df947b202871a40545b1b0a97ebefa370b0281c3c53") version("1.0", sha256="94bd86a2f9847c03e6c3bf8dca12af3734f8b272ffeacbc3fa8fcca58844b1d4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + conflicts("@:1.5", when="target=a64fx", msg="a64fx is supported by pocl v1.6 and above.") # < 3.0 provided full OpenCL 1.2 support and some intermediate level of diff --git a/var/spack/repos/builtin/packages/podio/package.py b/var/spack/repos/builtin/packages/podio/package.py index 01a9bf11f1b9a3..b4b4749dbc8724 100644 --- a/var/spack/repos/builtin/packages/podio/package.py +++ b/var/spack/repos/builtin/packages/podio/package.py @@ -20,6 +20,8 @@ class Podio(CMakePackage): tags = ["hep", "key4hep"] version("master", branch="master") + version("1.0.1", sha256="915531a2bcf638011bb6cc19715bbc46d846ec8b985555a1afdcd6abc017e21b") + version("1.0", sha256="491f335e148708e387e90e955a6150e1fc2e01bf6b4980b65e257ab0619559a9") version("0.99", sha256="c823918a6ec1365d316e0a753feb9d492e28903141dd124a1be06efac7c1877a") version( "0.17.4", @@ -67,6 +69,8 @@ class Podio(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + variant( "cxxstd", default="17", @@ -95,6 +99,9 @@ class Podio(CMakePackage): conflicts("+rntuple", when="@:0.16", msg="rntuple support requires at least podio@0.17") + # See https://github.com/AIDASoft/podio/pull/599 that landed after 0.99 + extends("python", when="@1.0:") + def cmake_args(self): args = [ self.define_from_variant("ENABLE_SIO", "sio"), @@ -105,7 +112,10 @@ def cmake_args(self): return args def setup_run_environment(self, env): - env.prepend_path("PYTHONPATH", self.prefix.python) + if self.spec.satisfies("@:0.99"): + # After 0.99 podio installs its python bindings into a more standard place + env.prepend_path("PYTHONPATH", self.prefix.python) + env.prepend_path("LD_LIBRARY_PATH", self.spec["podio"].libs.directories[0]) if "+sio" in self.spec: # sio needs to be on LD_LIBRARY_PATH for ROOT to be able to @@ -116,7 +126,9 @@ def setup_run_environment(self, env): env.prepend_path("ROOT_INCLUDE_PATH", self.prefix.include) def setup_dependent_build_environment(self, env, dependent_spec): - env.prepend_path("PYTHONPATH", self.prefix.python) + if self.spec.satisfies("@:0.99"): + env.prepend_path("PYTHONPATH", self.prefix.python) + env.prepend_path("LD_LIBRARY_PATH", self.spec["podio"].libs.directories[0]) env.prepend_path("ROOT_INCLUDE_PATH", self.prefix.include) if self.spec.satisfies("+sio @0.17:"): diff --git a/var/spack/repos/builtin/packages/podman/package.py b/var/spack/repos/builtin/packages/podman/package.py index bbc739a3627657..1d39221de54a20 100644 --- a/var/spack/repos/builtin/packages/podman/package.py +++ b/var/spack/repos/builtin/packages/podman/package.py @@ -20,6 +20,8 @@ class Podman(Package): version("3.4.7", sha256="4af6606dd072fe946960680611ba65201be435b43edbfc5cc635b2a01a899e6e") version("3.4.2", sha256="b0c4f9a11eb500b1d440d5e51a6c0c632aa4ac458e2dc0362f50f999eb7fbf31") + depends_on("c", type="build") # generated + # See for the # respective issue and the suggested patch # issue was fixed as of 4.4.0 diff --git a/var/spack/repos/builtin/packages/poke/package.py b/var/spack/repos/builtin/packages/poke/package.py index f9e24428ea2676..a3dbde71a1de4d 100644 --- a/var/spack/repos/builtin/packages/poke/package.py +++ b/var/spack/repos/builtin/packages/poke/package.py @@ -21,6 +21,8 @@ class Poke(AutotoolsPackage, GNUMirrorPackage): version("3.0", sha256="79a9b2f33c9f8c327c499afadaeeabfeecf6ad4988924d2c6c6f317e50317add") version("1.0", sha256="de930b8700c0772b3c2cd0d0ca35f50fd3d77bdf82c6251eb516b49e8ca25b0a") + depends_on("c", type="build") # generated + depends_on("pkgconfig") depends_on("readline") depends_on("bdw-gc") diff --git a/var/spack/repos/builtin/packages/polymake/package.py b/var/spack/repos/builtin/packages/polymake/package.py index 8fe14258749b3f..c8933eace7291f 100644 --- a/var/spack/repos/builtin/packages/polymake/package.py +++ b/var/spack/repos/builtin/packages/polymake/package.py @@ -18,6 +18,10 @@ class Polymake(Package): version("3.0r2", sha256="e7c0f8e3a45ea288d2fb4ae781a1dcea913ef9c275fed401632cdb11a672d6dc") version("3.0r1", sha256="cdc223716b1cc3f4f3cc126089a438f9d12390caeed78291a87565717c7b504d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Note: Could also be built with nauty instead of bliss depends_on("bliss") diff --git a/var/spack/repos/builtin/packages/poorjit/package.py b/var/spack/repos/builtin/packages/poorjit/package.py index 4d19ddb1a7eee1..ac03c796765c23 100755 --- a/var/spack/repos/builtin/packages/poorjit/package.py +++ b/var/spack/repos/builtin/packages/poorjit/package.py @@ -19,6 +19,8 @@ class Poorjit(CMakePackage): version("0.0.2", sha256="d7d43ba3b343ac8a6b0fb4928d5882f64a8c13c6fccfc37e1a3f3cd581c2739a") + depends_on("cxx", type="build") # generated + depends_on("boost+filesystem") depends_on("zlib") depends_on("fmt") diff --git a/var/spack/repos/builtin/packages/poppler/package.py b/var/spack/repos/builtin/packages/poppler/package.py index b71c5b30ff54fc..a3b4d5efbdf5e0 100644 --- a/var/spack/repos/builtin/packages/poppler/package.py +++ b/var/spack/repos/builtin/packages/poppler/package.py @@ -29,6 +29,9 @@ class Poppler(CMakePackage): version("0.64.0", sha256="b21df92ca99f78067785cf2dc8e06deb04726b62389c0ee1f5d8b103c77f64b1") version("0.61.1", sha256="1266096343f5163c1a585124e9a6d44474e1345de5cdfe55dc7b47357bcfcda9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("boost", default=False, description="Enable Boost for Splash") variant("cms", default=False, description="Use color management system") variant("cpp", default=False, description="Compile poppler cpp wrapper") diff --git a/var/spack/repos/builtin/packages/popt/package.py b/var/spack/repos/builtin/packages/popt/package.py index 75cd3a348d4229..037a0edd3c2677 100644 --- a/var/spack/repos/builtin/packages/popt/package.py +++ b/var/spack/repos/builtin/packages/popt/package.py @@ -16,6 +16,8 @@ class Popt(AutotoolsPackage): version("1.16", sha256="e728ed296fe9f069a0e005003c3d6b2dde3d9cad453422a10d6558616d304cc8") + depends_on("c", type="build") # generated + depends_on("iconv") def patch(self): diff --git a/var/spack/repos/builtin/packages/portage/package.py b/var/spack/repos/builtin/packages/portage/package.py index f4108565580a26..971ee1388e0ad4 100644 --- a/var/spack/repos/builtin/packages/portage/package.py +++ b/var/spack/repos/builtin/packages/portage/package.py @@ -23,6 +23,8 @@ class Portage(CMakePackage): version("3.0.0", sha256="7a5a21ffbc35fa54a5136d937cfda6f836c7496ff2b5adf54deb4107501333da") version("master", branch="master", submodules=True) + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Support MPI") variant("tangram", default=False, description="Use Tangram interface reconstruction package") variant("jali", default=False, description="Include support for Jali mesh framework") diff --git a/var/spack/repos/builtin/packages/portcullis/package.py b/var/spack/repos/builtin/packages/portcullis/package.py index 7944a6ea355ca2..95df2d493ae665 100644 --- a/var/spack/repos/builtin/packages/portcullis/package.py +++ b/var/spack/repos/builtin/packages/portcullis/package.py @@ -18,6 +18,9 @@ class Portcullis(AutotoolsPackage): version("1.2.3", sha256="172452b5cef12a8dcc2c1c68527000743114136ee63a0dbe307ac4e2a816bc99") version("1.1.2", sha256="5c581a7f827ffeecfe68107b7fe27ed60108325fd2f86a79d93f61b328687749") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf@2.53:", type="build") depends_on("automake@1.11:", type="build") depends_on("libtool@2.4.2:", type="build") diff --git a/var/spack/repos/builtin/packages/ports-of-call/package.py b/var/spack/repos/builtin/packages/ports-of-call/package.py index 699f4007ccf2e4..d0ad83b84a4909 100644 --- a/var/spack/repos/builtin/packages/ports-of-call/package.py +++ b/var/spack/repos/builtin/packages/ports-of-call/package.py @@ -34,6 +34,8 @@ class PortsOfCall(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + variant( "portability_strategy", description="Portability strategy backend", diff --git a/var/spack/repos/builtin/packages/postgis/package.py b/var/spack/repos/builtin/packages/postgis/package.py index 5fe76b8889d2cc..5bc68169291e5b 100644 --- a/var/spack/repos/builtin/packages/postgis/package.py +++ b/var/spack/repos/builtin/packages/postgis/package.py @@ -22,6 +22,9 @@ class Postgis(AutotoolsPackage): version("3.0.0", sha256="c06fd2cd5cea0119106ffe17a7235d893c2bbe6f4b63c8617c767630973ba594") version("2.5.3", sha256="72e8269d40f981e22fb2b78d3ff292338e69a4f5166e481a77b015e1d34e559a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "gui", default=False, diff --git a/var/spack/repos/builtin/packages/postgresql/package.py b/var/spack/repos/builtin/packages/postgresql/package.py index ff19d6b8d668c7..1356f75fc7c90d 100644 --- a/var/spack/repos/builtin/packages/postgresql/package.py +++ b/var/spack/repos/builtin/packages/postgresql/package.py @@ -59,6 +59,9 @@ class Postgresql(AutotoolsPackage): variant("gssapi", default=False, description="Build with GSSAPI functionality.") variant("xml", default=False, description="Build with XML support.") + depends_on("c", type="build") + depends_on("cxx", when="~client_only", type="build") + depends_on("readline", when="lineedit=readline") depends_on("libedit", when="lineedit=libedit") depends_on("openssl") diff --git a/var/spack/repos/builtin/packages/povray/package.py b/var/spack/repos/builtin/packages/povray/package.py index d77bafd9d5cf9e..51a8832e2b6bf2 100644 --- a/var/spack/repos/builtin/packages/povray/package.py +++ b/var/spack/repos/builtin/packages/povray/package.py @@ -34,6 +34,9 @@ class Povray(AutotoolsPackage): version("3.7.0.8", sha256="53d11ebd2972fc452af168a00eb83aefb61387662c10784e81b63e44aa575de4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("boost", default=True, description="Build with boost support") variant("debug", default=False, description="Enable compiler debugging mode") variant( diff --git a/var/spack/repos/builtin/packages/powerapi/package.py b/var/spack/repos/builtin/packages/powerapi/package.py index 9943a94d5a3d39..02bc31c81eac34 100644 --- a/var/spack/repos/builtin/packages/powerapi/package.py +++ b/var/spack/repos/builtin/packages/powerapi/package.py @@ -16,6 +16,9 @@ class Powerapi(AutotoolsPackage): version("2020-01-30", commit="21f75b1469261d99e604f7ddc18f30513ebdd048") version("1.1.1", commit="93f66dfa29f014067823f2b790a1862e5841a11c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("hwloc", default=False, description="Build hwloc support") variant("debug", default=False, description="Enable debug support") variant("mpi", default=False, description="Enable MPI support") diff --git a/var/spack/repos/builtin/packages/ppl/package.py b/var/spack/repos/builtin/packages/ppl/package.py index c0c918b11c90f6..72cc2a26a63d2f 100644 --- a/var/spack/repos/builtin/packages/ppl/package.py +++ b/var/spack/repos/builtin/packages/ppl/package.py @@ -28,6 +28,9 @@ class Ppl(Package): version("1.2", sha256="6bc36dd4a87abc429d8f9c00c53e334e5041a9b0857cfc00dbad6ef14294aac8") version("1.1", sha256="46f073c0626234f0b1a479356c0022fe5dc3c9cf10df1a246c9cde81f7cf284d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("gmp") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py b/var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py index 17000ee5ba5064..1ce03db9af11c7 100644 --- a/var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py +++ b/var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py @@ -18,6 +18,8 @@ class PpopenApplAmrFdm(MakefilePackage): version("master", branch="APPL/FDM_AMR") + depends_on("fortran", type="build") # generated + depends_on("mpi") parallel = False diff --git a/var/spack/repos/builtin/packages/ppopen-appl-bem-at/package.py b/var/spack/repos/builtin/packages/ppopen-appl-bem-at/package.py index 5fae5b5269dc24..ebeac298347541 100644 --- a/var/spack/repos/builtin/packages/ppopen-appl-bem-at/package.py +++ b/var/spack/repos/builtin/packages/ppopen-appl-bem-at/package.py @@ -17,6 +17,8 @@ class PpopenApplBemAt(MakefilePackage): git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git" version("master", branch="ATA/BEM") + + depends_on("fortran", type="build") # generated # In OAT_bem-bb-fw-dense-0.1.0.f90 the 2 variables are defined. # But ame variables are already defined in include file DAT.h. # This patch is deleted the variables definitions diff --git a/var/spack/repos/builtin/packages/ppopen-appl-bem/package.py b/var/spack/repos/builtin/packages/ppopen-appl-bem/package.py index 20e2d01f6c6dda..6d26c656c6127b 100644 --- a/var/spack/repos/builtin/packages/ppopen-appl-bem/package.py +++ b/var/spack/repos/builtin/packages/ppopen-appl-bem/package.py @@ -26,6 +26,8 @@ class PpopenApplBem(MakefilePackage): version("master", branch="APPL/BEM") + depends_on("fortran", type="build") # generated + depends_on("mpi") parallel = False diff --git a/var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py b/var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py index afe2c21e92ff1c..235f3c308d187f 100644 --- a/var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py +++ b/var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py @@ -22,6 +22,8 @@ class PpopenApplDemUtil(MakefilePackage): version("master", branch="APPL/DEM") + depends_on("fortran", type="build") # generated + depends_on("mpi") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py b/var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py index a61f9c9de897f3..2c35211ecb7a45 100644 --- a/var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py +++ b/var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py @@ -14,6 +14,8 @@ class PpopenApplFdmAt(MakefilePackage): version("master", branch="ATA/FDM") + depends_on("fortran", type="build") # generated + depends_on("mpi") # depends_on('ppopen-appl-fdm', type='build') diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py b/var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py index c9aa471a1d56dc..7199b196882620 100644 --- a/var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py +++ b/var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py @@ -19,6 +19,10 @@ class PpopenApplFdm(MakefilePackage): version("master", branch="APPL/FDM") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # remove unused variable definition patch("unused.patch") # remove iargc external definition diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fem/package.py b/var/spack/repos/builtin/packages/ppopen-appl-fem/package.py index 2286b3f5cc50b7..a1036df34794d8 100644 --- a/var/spack/repos/builtin/packages/ppopen-appl-fem/package.py +++ b/var/spack/repos/builtin/packages/ppopen-appl-fem/package.py @@ -21,6 +21,9 @@ class PpopenApplFem(MakefilePackage): version("master", branch="APPL/FEM") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("metis") diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fvm/package.py b/var/spack/repos/builtin/packages/ppopen-appl-fvm/package.py index 903254e683d556..9637d6b265c880 100644 --- a/var/spack/repos/builtin/packages/ppopen-appl-fvm/package.py +++ b/var/spack/repos/builtin/packages/ppopen-appl-fvm/package.py @@ -32,6 +32,8 @@ class PpopenApplFvm(MakefilePackage): version("master", branch="APPL/FVM") + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("metis@:4") diff --git a/var/spack/repos/builtin/packages/ppopen-at/package.py b/var/spack/repos/builtin/packages/ppopen-at/package.py index 685d3ba3766630..cce600e0ef490d 100644 --- a/var/spack/repos/builtin/packages/ppopen-at/package.py +++ b/var/spack/repos/builtin/packages/ppopen-at/package.py @@ -17,6 +17,10 @@ class PpopenAt(MakefilePackage): version("master", branch="AT") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + def edit(self, spec, prefix): makefile_in = FileFilter("Makefile.in") makefile_in.filter("gcc", spack_cxx) diff --git a/var/spack/repos/builtin/packages/ppopen-math-mp/package.py b/var/spack/repos/builtin/packages/ppopen-math-mp/package.py index 5f7e964d12e4f4..dbe294a81588de 100644 --- a/var/spack/repos/builtin/packages/ppopen-math-mp/package.py +++ b/var/spack/repos/builtin/packages/ppopen-math-mp/package.py @@ -29,6 +29,8 @@ class PpopenMathMp(MakefilePackage): version("master", branch="MATH/MP") + depends_on("fortran", type="build") # generated + depends_on("mpi") build_directory = "src" diff --git a/var/spack/repos/builtin/packages/ppopen-math-vis/package.py b/var/spack/repos/builtin/packages/ppopen-math-vis/package.py index c9ff21b6660b0e..eb32035682de04 100644 --- a/var/spack/repos/builtin/packages/ppopen-math-vis/package.py +++ b/var/spack/repos/builtin/packages/ppopen-math-vis/package.py @@ -26,6 +26,9 @@ class PpopenMathVis(MakefilePackage): version("master", branch="MATH/VIS") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/prank/package.py b/var/spack/repos/builtin/packages/prank/package.py index a04576cb487994..2a1c8376679671 100644 --- a/var/spack/repos/builtin/packages/prank/package.py +++ b/var/spack/repos/builtin/packages/prank/package.py @@ -14,6 +14,8 @@ class Prank(Package): version("170427", sha256="623eb5e9b5cb0be1f49c3bf715e5fabceb1059b21168437264bdcd5c587a8859") + depends_on("cxx", type="build") # generated + depends_on("mafft") depends_on("exonerate") depends_on("bpp-suite") # for bppancestor diff --git a/var/spack/repos/builtin/packages/precice/package.py b/var/spack/repos/builtin/packages/precice/package.py index 6426fa51f31cb0..2c1db9878fd8d5 100644 --- a/var/spack/repos/builtin/packages/precice/package.py +++ b/var/spack/repos/builtin/packages/precice/package.py @@ -23,6 +23,7 @@ class Precice(CMakePackage): license("LGPL-3.0-or-later") version("develop", branch="develop") + version("3.1.2", sha256="e06d5e183f584c51812dcddf958210d1195bea38fa2df13be72303dcb06c869b") version("3.1.1", sha256="fe759293942ebc9cb2e6127f356a8c795ab7383c1b074595994ebc92466e478d") version("3.1.0", sha256="11e7d3d4055ee30852c0e83692ca7563acaa095bd223ebdbd5c8c851b3646d37") version("3.0.0", sha256="efe6cf505d9305af89c6da1fdba246199a75a1c63a6a22103773ed95341879ba") @@ -46,6 +47,10 @@ class Precice(CMakePackage): version("1.4.0", sha256="3499bfc0941fb9f004d5e32eb63d64f93e17b4057fab3ada1cde40c8311bd466") version("1.3.0", sha256="610322ba1b03df8e8f7d060d57a6a5afeabd5db4e8c4a638d04ba4060a3aec96") version("1.2.0", sha256="0784ecd002092949835151b90393beb6e9e7a3e9bd78ffd40d18302d6da4b05b") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated # Skip version 1.1.1 entirely, the cmake was lacking install. variant("mpi", default=True, description="Enable MPI support") diff --git a/var/spack/repos/builtin/packages/predixy/package.py b/var/spack/repos/builtin/packages/predixy/package.py index 834cdf2b52d798..6a9bb0a605ece1 100644 --- a/var/spack/repos/builtin/packages/predixy/package.py +++ b/var/spack/repos/builtin/packages/predixy/package.py @@ -20,6 +20,8 @@ class Predixy(MakefilePackage): version("1.0.4", sha256="30a7dd44ce507a7a2f8a570c59c9133df239a7f8bad14ef1b97df92b2ee96d40") version("1.0.3", sha256="d815d0ffcd33b16bfee76fe5523bdd47cf9acca0419eaa284d5ccda4cf62b828") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(self.prefix.bin) install("src/predixy", self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/premake-core/package.py b/var/spack/repos/builtin/packages/premake-core/package.py index 6bd9c53ba9b33b..c072adba3caf46 100644 --- a/var/spack/repos/builtin/packages/premake-core/package.py +++ b/var/spack/repos/builtin/packages/premake-core/package.py @@ -28,6 +28,9 @@ class PremakeCore(MakefilePackage): "5.0.0-alpha13", sha256="bfe983e24686c50cada935f74adad2aefe6581649734b2ab8c1aaa2de4d473c6" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def build(self, spec, prefix): make("-f", "Bootstrap.mak", self.architecture.platform.name) diff --git a/var/spack/repos/builtin/packages/preseq/package.py b/var/spack/repos/builtin/packages/preseq/package.py index 60a6dd20bd6157..811e262cf96900 100644 --- a/var/spack/repos/builtin/packages/preseq/package.py +++ b/var/spack/repos/builtin/packages/preseq/package.py @@ -21,6 +21,9 @@ class Preseq(MakefilePackage): version("2.0.3", sha256="747ddd4227515a96a45fcff0709f26130386bff3458c829c7bc1f3306b4f3d91") version("2.0.2", sha256="1d7ea249bf4e5826e09697256643e6a2473bc302cd455f31d4eb34c23c10b97c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("samtools") depends_on("gsl") diff --git a/var/spack/repos/builtin/packages/price/package.py b/var/spack/repos/builtin/packages/price/package.py index 80941a12800fbb..248a3bd74439c1 100644 --- a/var/spack/repos/builtin/packages/price/package.py +++ b/var/spack/repos/builtin/packages/price/package.py @@ -15,6 +15,8 @@ class Price(MakefilePackage): version("140408", sha256="12276b2b15f4e020a772944a19fd2aaf089d3437cbc71e7486fa8db95014843f") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("PriceTI", prefix.bin) diff --git a/var/spack/repos/builtin/packages/primer3/package.py b/var/spack/repos/builtin/packages/primer3/package.py index 8bee8d75294a98..c763db1555ae73 100644 --- a/var/spack/repos/builtin/packages/primer3/package.py +++ b/var/spack/repos/builtin/packages/primer3/package.py @@ -21,6 +21,10 @@ class Primer3(MakefilePackage): version("2.5.0", sha256="7581e2fa3228ef0ee1ffa427b2aa0a18fc635d561208327471daf59d1b804da0") version("2.3.7", sha256="f7ac3e64dc89b7c80882bf0f52c2c0a58572f5fdafd178680d4a7ae91b6c465b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + build_directory = "src" # Prior to May 15, 2018, the code contained invalid pointer/int diff --git a/var/spack/repos/builtin/packages/prism/package.py b/var/spack/repos/builtin/packages/prism/package.py index 080e387c9b26b8..ffa2b155f2e400 100644 --- a/var/spack/repos/builtin/packages/prism/package.py +++ b/var/spack/repos/builtin/packages/prism/package.py @@ -20,6 +20,9 @@ class Prism(MakefilePackage): version("4.7", sha256="16186047ba49efc6532de6e9c3993c8c73841a7c76c99758d6ee769e72092d6d") version("4.5", sha256="1cb7a77538b5c997d98a8c209030c46f9e8f021f7a8332e5eb2fd3b4a23936fd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + build_directory = "prism" depends_on("java@9:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/prng/package.py b/var/spack/repos/builtin/packages/prng/package.py index b3d039283f69f2..5bba9faa042df6 100644 --- a/var/spack/repos/builtin/packages/prng/package.py +++ b/var/spack/repos/builtin/packages/prng/package.py @@ -16,6 +16,8 @@ class Prng(AutotoolsPackage): version("3.0.2", sha256="8299182b97c24b7891d74590a8a8438641a6c681ce34d6c3f7bc98a0649da48b") + depends_on("c", type="build") # generated + depends_on("automake", type="build") depends_on("autoconf", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/probconsrna/package.py b/var/spack/repos/builtin/packages/probconsrna/package.py index 6353022a160fb0..c0231f5e47ae06 100644 --- a/var/spack/repos/builtin/packages/probconsrna/package.py +++ b/var/spack/repos/builtin/packages/probconsrna/package.py @@ -15,6 +15,8 @@ class Probconsrna(Package): version("2005-6-7", sha256="7fe4494bd423db1d5f33f5ece2c70f9f66a0d9112e28d3eaa7dfdfe7fa66eba8") + depends_on("cxx", type="build") # generated + def install(self, build, prefix): mkdirp(prefix.bin) install("compare", prefix.bin) diff --git a/var/spack/repos/builtin/packages/procenv/package.py b/var/spack/repos/builtin/packages/procenv/package.py index b4be9e38627669..6df01c967def7c 100644 --- a/var/spack/repos/builtin/packages/procenv/package.py +++ b/var/spack/repos/builtin/packages/procenv/package.py @@ -20,6 +20,8 @@ class Procenv(AutotoolsPackage): version("0.60", sha256="fac0438bf08ed73b10ace78d85acb83cf81ade5ecf866762c2c6e92e41dbde43") version("0.51", sha256="b831c14729e06a285cc13eba095817ce3b6d0ddf484b1264951b03ee4fe25bc9") + depends_on("c", type="build") # generated + # https://github.com/jamesodhunt/procenv/pull/16 patch("7cafed1316ddb16fe0689d54ba10c05dd2edd347.patch", when="@:0.51") diff --git a/var/spack/repos/builtin/packages/process-in-process/package.py b/var/spack/repos/builtin/packages/process-in-process/package.py index 283fd52064091a..e2775ea78fc1b3 100644 --- a/var/spack/repos/builtin/packages/process-in-process/package.py +++ b/var/spack/repos/builtin/packages/process-in-process/package.py @@ -31,6 +31,8 @@ class ProcessInProcess(Package): # PiP version 3 is experimental and unstable yet version("3", branch="pip-3", deprecated=True) + depends_on("c", type="build") # generated + conflicts("%gcc@:3", when="os=centos7") conflicts("%gcc@5:", when="os=centos7") conflicts("%gcc@:3", when="os=rhel7") diff --git a/var/spack/repos/builtin/packages/procps-ng/package.py b/var/spack/repos/builtin/packages/procps-ng/package.py index e66376242f7a91..e66eb53b17b429 100644 --- a/var/spack/repos/builtin/packages/procps-ng/package.py +++ b/var/spack/repos/builtin/packages/procps-ng/package.py @@ -16,5 +16,7 @@ class ProcpsNg(AutotoolsPackage): version("3.3.16", sha256="925eacd65dedcf9c98eb94e8978bbfb63f5de37294cc1047d81462ed477a20af") + depends_on("c", type="build") # generated + def setup_run_environment(self, env): env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/procps/package.py b/var/spack/repos/builtin/packages/procps/package.py index 642aea70b1050e..55ee0c554be9fe 100644 --- a/var/spack/repos/builtin/packages/procps/package.py +++ b/var/spack/repos/builtin/packages/procps/package.py @@ -29,6 +29,8 @@ class Procps(AutotoolsPackage): version("3.3.15", sha256="14dfa751517dd844efa9f492e3ad8071f908a269c6aea643b9a1759235fa2053") version("3.3.14", sha256="1ff716e7bde6b3841b8519831690b10b644ed344490369c55e410edc8db2fe18") + depends_on("c", type="build") # generated + variant("nls", default=True, description="Enable Native Language Support.") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/prod-util/package.py b/var/spack/repos/builtin/packages/prod-util/package.py index 57c1be1cb1b0fa..45781b303c11ac 100644 --- a/var/spack/repos/builtin/packages/prod-util/package.py +++ b/var/spack/repos/builtin/packages/prod-util/package.py @@ -27,6 +27,9 @@ class ProdUtil(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("w3nco", when="@1") depends_on("w3emc", when="@2:") diff --git a/var/spack/repos/builtin/packages/prodigal/package.py b/var/spack/repos/builtin/packages/prodigal/package.py index 1c670bd973077f..6d7693d10b6cac 100644 --- a/var/spack/repos/builtin/packages/prodigal/package.py +++ b/var/spack/repos/builtin/packages/prodigal/package.py @@ -17,6 +17,8 @@ class Prodigal(MakefilePackage): version("2.6.3", sha256="89094ad4bff5a8a8732d899f31cec350f5a4c27bcbdd12663f87c9d1f0ec599f") + depends_on("c", type="build") # generated + def install(self, spec, prefix): make("INSTALLDIR={0}".format(self.prefix), "install") diff --git a/var/spack/repos/builtin/packages/professor/package.py b/var/spack/repos/builtin/packages/professor/package.py index b021c7e9571345..7848bfcafb3d21 100644 --- a/var/spack/repos/builtin/packages/professor/package.py +++ b/var/spack/repos/builtin/packages/professor/package.py @@ -17,6 +17,8 @@ class Professor(Package): version("2.3.3", sha256="60c5ba00894c809e2c31018bccf22935a9e1f51c0184468efbdd5d27b211009f") + depends_on("cxx", type="build") # generated + variant( "interactive", default=True, diff --git a/var/spack/repos/builtin/packages/profugusmc/package.py b/var/spack/repos/builtin/packages/profugusmc/package.py index 18cc276502e44a..6347665a1a71a2 100644 --- a/var/spack/repos/builtin/packages/profugusmc/package.py +++ b/var/spack/repos/builtin/packages/profugusmc/package.py @@ -17,6 +17,10 @@ class Profugusmc(CMakePackage, CudaPackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI") variant("cuda", default=False, description="Enable CUDA") diff --git a/var/spack/repos/builtin/packages/proj/package.py b/var/spack/repos/builtin/packages/proj/package.py index 0c85eb04b0573b..d9ed3ef11d8403 100644 --- a/var/spack/repos/builtin/packages/proj/package.py +++ b/var/spack/repos/builtin/packages/proj/package.py @@ -25,6 +25,10 @@ class Proj(CMakePackage, AutotoolsPackage): license("MIT") + version("9.4.1", sha256="ffe20170ee2b952207adf8a195e2141eab12cda181e49fdeb54425d98c7171d7") + version("9.4.0", sha256="3643b19b1622fe6b2e3113bdb623969f5117984b39f173b4e3fb19a8833bd216") + version("9.3.1", sha256="b0f919cb9e1f42f803a3e616c2b63a78e4d81ecfaed80978d570d3a5e29d10bc") + version("9.3.0", sha256="91a3695a004ea28db0448a34460bed4cc3b130e5c7d74339ec999efdab0e547d") version("9.2.1", sha256="15ebf4afa8744b9e6fccb5d571fc9f338dc3adcf99907d9e62d1af815d4971a1") version("9.2.0", sha256="dea816f5aa732ae6b2ee3977b9bdb28b1d848cf56a1aad8faf6708b89f0ed50e") version("9.1.1", sha256="003cd4010e52bb5eb8f7de1c143753aa830c8902b6ed01209f294846e40e6d39") @@ -41,7 +45,11 @@ class Proj(CMakePackage, AutotoolsPackage): version("7.2.0", sha256="2957798e5fe295ff96a2af1889d0428e486363d210889422f76dd744f7885763") version("7.1.0", sha256="876151e2279346f6bdbc63bd59790b48733496a957bccd5e51b640fdd26eaa8d") version("7.0.1", sha256="a7026d39c9c80d51565cfc4b33d22631c11e491004e19020b3ff5a0791e1779f") - version("7.0.0", sha256="ee0e14c1bd2f9429b1a28999240304c0342ed739ebaea3d4ff44c585b1097be8") + version( + "7.0.0", + sha256="ee0e14c1bd2f9429b1a28999240304c0342ed739ebaea3d4ff44c585b1097be8", + deprecated=True, + ) version("6.3.2", sha256="cb776a70f40c35579ae4ba04fb4a388c1d1ce025a1df6171350dc19f25b80311") version("6.3.1", sha256="6de0112778438dcae30fcc6942dee472ce31399b9e5a2b67e8642529868c86f8") version("6.2.0", sha256="b300c0f872f632ad7f8eb60725edbf14f0f8f52db740a3ab23e7b94f1cd22a50") @@ -52,12 +60,27 @@ class Proj(CMakePackage, AutotoolsPackage): version("5.0.1", sha256="a792f78897482ed2c4e2af4e8a1a02e294c64e32b591a635c5294cb9d49fdc8c") version("4.9.2", sha256="60bf9ad1ed1c18158e652dfff97865ba6fb2b67f1511bc8dceae4b3c7e657796") version("4.9.1", sha256="fca0388f3f8bc5a1a803d2f6ff30017532367992b30cf144f2d39be88f36c319") - version("4.8.0", sha256="2db2dbf0fece8d9880679154e0d6d1ce7c694dd8e08b4d091028093d87a9d1b5") - version("4.7.0", sha256="fc5440002a496532bfaf423c28bdfaf9e26cc96c84ccefcdefde911efbd98986") - version("4.6.1", sha256="76d174edd4fdb4c49c1c0ed8308a469216c01e7177a4510b1b303ef3c5f97b47") + version( + "4.8.0", + sha256="2db2dbf0fece8d9880679154e0d6d1ce7c694dd8e08b4d091028093d87a9d1b5", + deprecated=True, + ) + version( + "4.7.0", + sha256="fc5440002a496532bfaf423c28bdfaf9e26cc96c84ccefcdefde911efbd98986", + deprecated=True, + ) + version( + "4.6.1", + sha256="76d174edd4fdb4c49c1c0ed8308a469216c01e7177a4510b1b303ef3c5f97b47", + deprecated=True, + ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated - variant("tiff", default=True, description="Enable TIFF support") - variant("curl", default=True, description="Enable curl support") + variant("tiff", default=True, when="@7:", description="Enable TIFF support") + variant("curl", default=True, when="@7:", description="Enable curl support") variant("shared", default=True, description="Enable shared libraries") variant("pic", default=False, description="Enable position-independent code (PIC)") @@ -89,13 +112,14 @@ class Proj(CMakePackage, AutotoolsPackage): # https://proj.org/install.html#build-requirements with when("build_system=cmake"): - # CMake 3.19 refactored the FindTiff module interface, update older proj's - # to be compatible with this "new" interface - # patch replaces the TIFF_LIBRARY variable (no longer used) with TIFF_LIBRARIES - patch("proj-8.1-cmake-3.29-new-tiff-interface.patch", when="+tiff @8:9.1.0 ^cmake@3.19:") + # https://github.com/OSGeo/PROJ/pull/3374 + patch("proj-8-tiff.patch", when="@8:9.1") + patch("proj-7-tiff.patch", when="@7") + # https://github.com/spack/spack/pull/41065 patch("proj.cmakelists.5.0.patch", when="@5.0") patch("proj.cmakelists.5.1.patch", when="@5.1:5.2") - conflicts("cmake@3.19:", when="@:7") + + depends_on("cmake@3.16:", when="@9.4:", type="build") depends_on("cmake@3.9:", when="@6:", type="build") depends_on("cmake@3.5:", when="@5", type="build") depends_on("cmake@2.6:", when="@:4", type="build") @@ -137,6 +161,8 @@ def cmake_args(self): self.define_from_variant("ENABLE_TIFF", "tiff"), self.define_from_variant("ENABLE_CURL", "curl"), self.define_from_variant(shared_arg, "shared"), + # projsync needs curl + self.define_from_variant("BUILD_PROJSYNC", "curl"), 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/proj/proj-7-tiff.patch b/var/spack/repos/builtin/packages/proj/proj-7-tiff.patch new file mode 100644 index 00000000000000..d6597a3e933675 --- /dev/null +++ b/var/spack/repos/builtin/packages/proj/proj-7-tiff.patch @@ -0,0 +1,19 @@ +--- a/src/lib_proj.cmake 2024-06-12 13:29:53 ++++ b/src/lib_proj.cmake 2024-06-12 13:30:27 +@@ -406,8 +406,14 @@ + + if(TIFF_ENABLED) + target_compile_definitions(${PROJ_CORE_TARGET} PRIVATE -DTIFF_ENABLED) +- target_include_directories(${PROJ_CORE_TARGET} PRIVATE ${TIFF_INCLUDE_DIR}) +- target_link_libraries(${PROJ_CORE_TARGET} ${TIFF_LIBRARY}) ++ if( CMAKE_VERSION VERSION_LESS 3.11 AND CMAKE_CROSSCOMPILING ) ++ # Hack needed for ubuntu:18.04 mingw64 cross compiling to avoid ++ # -isystem to be emitted (similar to https://discourse.cmake.org/t/use-of-isystem/1574) ++ target_include_directories(proj PRIVATE ${TIFF_INCLUDE_DIRS}) ++ target_link_libraries(proj ${TIFF_LIBRARIES}) ++ else() ++ target_link_libraries(proj TIFF::TIFF) ++ endif() + endif() + + if(CURL_ENABLED) diff --git a/var/spack/repos/builtin/packages/proj/proj-8-tiff.patch b/var/spack/repos/builtin/packages/proj/proj-8-tiff.patch new file mode 100644 index 00000000000000..e223d860c96b26 --- /dev/null +++ b/var/spack/repos/builtin/packages/proj/proj-8-tiff.patch @@ -0,0 +1,19 @@ +--- a/src/lib_proj.cmake 2024-06-12 13:07:41 ++++ b/src/lib_proj.cmake 2024-06-12 13:08:16 +@@ -404,8 +404,14 @@ + + if(TIFF_ENABLED) + target_compile_definitions(proj PRIVATE -DTIFF_ENABLED) +- target_include_directories(proj PRIVATE ${TIFF_INCLUDE_DIR}) +- target_link_libraries(proj PRIVATE ${TIFF_LIBRARY}) ++ if( CMAKE_VERSION VERSION_LESS 3.11 AND CMAKE_CROSSCOMPILING ) ++ # Hack needed for ubuntu:18.04 mingw64 cross compiling to avoid ++ # -isystem to be emitted (similar to https://discourse.cmake.org/t/use-of-isystem/1574) ++ target_include_directories(proj PRIVATE ${TIFF_INCLUDE_DIRS}) ++ target_link_libraries(proj PRIVATE ${TIFF_LIBRARIES}) ++ else() ++ target_link_libraries(proj PRIVATE TIFF::TIFF) ++ endif() + endif() + + if(CURL_ENABLED) diff --git a/var/spack/repos/builtin/packages/proj/proj-8.1-cmake-3.29-new-tiff-interface.patch b/var/spack/repos/builtin/packages/proj/proj-8.1-cmake-3.29-new-tiff-interface.patch deleted file mode 100644 index d278029aedf991..00000000000000 --- a/var/spack/repos/builtin/packages/proj/proj-8.1-cmake-3.29-new-tiff-interface.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake -index f2de1c10..a5697608 100644 ---- a/src/lib_proj.cmake -+++ b/src/lib_proj.cmake -@@ -405,7 +405,7 @@ endif() - if(TIFF_ENABLED) - target_compile_definitions(proj PRIVATE -DTIFF_ENABLED) - target_include_directories(proj PRIVATE ${TIFF_INCLUDE_DIR}) -- target_link_libraries(proj PRIVATE ${TIFF_LIBRARY}) -+ target_link_libraries(proj PRIVATE ${TIFF_LIBRARIES}) - endif() - - if(CURL_ENABLED) diff --git a/var/spack/repos/builtin/packages/prometheus/package.py b/var/spack/repos/builtin/packages/prometheus/package.py index 7b0f0fdb53f970..3e6c8baab10b03 100644 --- a/var/spack/repos/builtin/packages/prometheus/package.py +++ b/var/spack/repos/builtin/packages/prometheus/package.py @@ -21,6 +21,8 @@ class Prometheus(MakefilePackage): version("2.17.1", sha256="d0b53411ea0295c608634ca7ef1d43fa0f5559e7ad50705bf4d64d052e33ddaf") version("2.17.0", sha256="b5e508f1c747aaf50dd90a48e5e2a3117fec2e9702d0b1c7f97408b87a073009") + depends_on("c", type="build") # generated + depends_on("go", type="build") depends_on("node-js@11.10.1:", type="build") depends_on("yarn", type="build") diff --git a/var/spack/repos/builtin/packages/prophecy4f/package.py b/var/spack/repos/builtin/packages/prophecy4f/package.py index 4e9ce114ed09ce..be8ac6ed48af41 100644 --- a/var/spack/repos/builtin/packages/prophecy4f/package.py +++ b/var/spack/repos/builtin/packages/prophecy4f/package.py @@ -19,6 +19,9 @@ class Prophecy4f(MakefilePackage): version("3.0.2", sha256="01e6ad4d7e913082c1dcabd589173f5d962086dd7860c710f14a0528d8d80eb7") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("collier") @property diff --git a/var/spack/repos/builtin/packages/protobuf-c/package.py b/var/spack/repos/builtin/packages/protobuf-c/package.py index 86f590b52589f7..953026c6fe4186 100644 --- a/var/spack/repos/builtin/packages/protobuf-c/package.py +++ b/var/spack/repos/builtin/packages/protobuf-c/package.py @@ -22,5 +22,8 @@ class ProtobufC(AutotoolsPackage): version("1.4.1", sha256="4cc4facd508172f3e0a4d3a8736225d472418aee35b4ad053384b137b220339f") version("1.3.2", sha256="53f251f14c597bdb087aecf0b63630f434d73f5a10fc1ac545073597535b9e74") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("protobuf@:3.21.12") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/protobuf/package.py b/var/spack/repos/builtin/packages/protobuf/package.py index b4f17b123ab524..686243790e69e9 100644 --- a/var/spack/repos/builtin/packages/protobuf/package.py +++ b/var/spack/repos/builtin/packages/protobuf/package.py @@ -81,6 +81,9 @@ class Protobuf(CMakePackage): version("3.1.0", sha256="fb2a314f4be897491bb2446697be693d489af645cb0e165a85e7e64e07eb134d") version("3.0.2", sha256="a0a265bcc9d4e98c87416e59c33afc37cede9fb277292523739417e449b18c1e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Enables the build of shared libraries") variant( "build_type", diff --git a/var/spack/repos/builtin/packages/proxymngr/package.py b/var/spack/repos/builtin/packages/proxymngr/package.py index 30c8f5e73f1b81..cc1ec5d46c8ca2 100644 --- a/var/spack/repos/builtin/packages/proxymngr/package.py +++ b/var/spack/repos/builtin/packages/proxymngr/package.py @@ -17,6 +17,9 @@ class Proxymngr(AutotoolsPackage, XorgPackage): version("1.0.4", sha256="d40f2d15985ee8e8ef5320a85c0b1899a7bc95974a65137ae886e499bced86f4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libice") depends_on("libxt") depends_on("lbxproxy") diff --git a/var/spack/repos/builtin/packages/prrte/package.py b/var/spack/repos/builtin/packages/prrte/package.py index e233a5102df0b6..c882188f0f78b3 100644 --- a/var/spack/repos/builtin/packages/prrte/package.py +++ b/var/spack/repos/builtin/packages/prrte/package.py @@ -26,6 +26,8 @@ class Prrte(AutotoolsPackage): version("develop", branch="master") version("1.0.0", sha256="a9b3715e059c10ed091bd6e3a0d8896f7752e43ee731abcc95fb962e67132a2d") + depends_on("c", type="build") # generated + depends_on("pmix") depends_on("libevent") depends_on("hwloc") diff --git a/var/spack/repos/builtin/packages/pruners-ninja/package.py b/var/spack/repos/builtin/packages/pruners-ninja/package.py index 931eac995110be..f91ca34dc94f8e 100644 --- a/var/spack/repos/builtin/packages/pruners-ninja/package.py +++ b/var/spack/repos/builtin/packages/pruners-ninja/package.py @@ -20,6 +20,9 @@ class PrunersNinja(AutotoolsPackage): version("1.0.1", sha256="53df5c019054b60c68e63d3e249127f1d5f267a70539c8809fb42a8ddbfcb29b") version("1.0.0", sha256="f25c189783b57801f298dfff8770f42733a43f926668aceff4abd287b6e3a4d1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("mpi") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/ps-lite/package.py b/var/spack/repos/builtin/packages/ps-lite/package.py index 84360da87822ad..cdc2a111099bbf 100644 --- a/var/spack/repos/builtin/packages/ps-lite/package.py +++ b/var/spack/repos/builtin/packages/ps-lite/package.py @@ -18,6 +18,8 @@ class PsLite(CMakePackage): version("master", branch="master") version("20170328", commit="acdb698fa3bb80929ef83bb37c705f025e119b82") + depends_on("cxx", type="build") # generated + depends_on("protobuf@3:") depends_on("libzmq") diff --git a/var/spack/repos/builtin/packages/psalg/package.py b/var/spack/repos/builtin/packages/psalg/package.py index 295f38b21ab277..be4bfc751182d8 100644 --- a/var/spack/repos/builtin/packages/psalg/package.py +++ b/var/spack/repos/builtin/packages/psalg/package.py @@ -16,6 +16,9 @@ class Psalg(CMakePackage): version("3.3.37", sha256="127a5ae44c9272039708bd877849a3af354ce881fde093a2fc6fe0550b698b72") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("xtcdata") depends_on("rapidjson") depends_on("curl") diff --git a/var/spack/repos/builtin/packages/pscmc/package.py b/var/spack/repos/builtin/packages/pscmc/package.py index 03b08534d770eb..0e8b321630551d 100644 --- a/var/spack/repos/builtin/packages/pscmc/package.py +++ b/var/spack/repos/builtin/packages/pscmc/package.py @@ -23,6 +23,8 @@ class Pscmc(MakefilePackage): version("master", branch="master") + depends_on("c", type="build") # generated + def setup_run_environment(self, env): env.set("SCMC_COMPILE_ROOT", self.prefix.source) env.set("SCMC_ROOT", join_path(self.prefix.source, "runtime_passes")) diff --git a/var/spack/repos/builtin/packages/psi4/package.py b/var/spack/repos/builtin/packages/psi4/package.py index 497adbf65a20f2..b1ff4187fd262b 100644 --- a/var/spack/repos/builtin/packages/psi4/package.py +++ b/var/spack/repos/builtin/packages/psi4/package.py @@ -20,6 +20,8 @@ class Psi4(CMakePackage): version("1.3.2", sha256="ed76c67803b6420f35f57a6dd31c47108b9145b8c9fced5c94cdc179f6b5fbf3") + depends_on("cxx", type="build") # generated + variant( "build_type", default="Release", diff --git a/var/spack/repos/builtin/packages/psipred/package.py b/var/spack/repos/builtin/packages/psipred/package.py index e8f83999da111d..86fefdc6792154 100644 --- a/var/spack/repos/builtin/packages/psipred/package.py +++ b/var/spack/repos/builtin/packages/psipred/package.py @@ -19,6 +19,8 @@ class Psipred(MakefilePackage): version("4.02", sha256="b4009b6a5f8b76c6d60ac91c4a743512d844864cf015c492fb6d1dc0d092c467") + depends_on("c", type="build") # generated + variant("blast-plus", default=False, description="Use blast-plus in place of blast-legacy") depends_on("blast-legacy", type="run", when="~blast-plus") diff --git a/var/spack/repos/builtin/packages/pslib/package.py b/var/spack/repos/builtin/packages/pslib/package.py index 99031d78e792e8..a720e6a8246725 100644 --- a/var/spack/repos/builtin/packages/pslib/package.py +++ b/var/spack/repos/builtin/packages/pslib/package.py @@ -16,5 +16,7 @@ class Pslib(AutotoolsPackage): version("0.4.5", sha256="7a33928982b281660206bb3749a4a563e3ac987eea64f41696f212df345212be") + depends_on("c", type="build") # generated + depends_on("jpeg") depends_on("libpng") diff --git a/var/spack/repos/builtin/packages/psm/package.py b/var/spack/repos/builtin/packages/psm/package.py index 5946f552d1c85a..992ff39fa5fc37 100644 --- a/var/spack/repos/builtin/packages/psm/package.py +++ b/var/spack/repos/builtin/packages/psm/package.py @@ -22,6 +22,8 @@ class Psm(MakefilePackage): ) version("2017-04-28", commit="604758e76dc31e68d1de736ccf5ddf16cb22355b") + depends_on("c", type="build") # generated + conflicts("%gcc@6:", when="@3.3") depends_on("uuid") diff --git a/var/spack/repos/builtin/packages/psmc/package.py b/var/spack/repos/builtin/packages/psmc/package.py index 2398433563c52b..2ab456639f6d23 100644 --- a/var/spack/repos/builtin/packages/psmc/package.py +++ b/var/spack/repos/builtin/packages/psmc/package.py @@ -17,6 +17,8 @@ class Psmc(MakefilePackage): version("2016-1-21", commit="e5f7df5d00bb75ec603ae0beff62c0d7e37640b9") + depends_on("c", type="build") # generated + depends_on("zlib-api", type="link") def setup_run_environment(self, env): diff --git a/var/spack/repos/builtin/packages/psrcat/package.py b/var/spack/repos/builtin/packages/psrcat/package.py index df8cb88bd4e339..087f7410da63f3 100644 --- a/var/spack/repos/builtin/packages/psrcat/package.py +++ b/var/spack/repos/builtin/packages/psrcat/package.py @@ -16,6 +16,8 @@ class Psrcat(MakefilePackage): version("1.68", sha256="fbe4710c9122e4f93dbca54cf42cc2906f948f76885b241d1da2f8caecfbc657") + depends_on("c", type="build") # generated + def build(self, spec, prefix): makeit = which("./makeit") makeit() diff --git a/var/spack/repos/builtin/packages/psrchive/package.py b/var/spack/repos/builtin/packages/psrchive/package.py index f96a70cbd51f41..f97f318fa72e15 100644 --- a/var/spack/repos/builtin/packages/psrchive/package.py +++ b/var/spack/repos/builtin/packages/psrchive/package.py @@ -29,6 +29,10 @@ class Psrchive(AutotoolsPackage): # as of Nov 23 2022 version("2020-10-17", commit="ca12b4a279f3d4adcca223508116d9d270df8cc6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Compile with MPI") variant("mkl", default=False, description="Compile with MKL") variant("armadillo", default=False, description="Compile with armadillo") diff --git a/var/spack/repos/builtin/packages/psrdada/package.py b/var/spack/repos/builtin/packages/psrdada/package.py index d06e2760dddd75..e2d3d62e70a579 100644 --- a/var/spack/repos/builtin/packages/psrdada/package.py +++ b/var/spack/repos/builtin/packages/psrdada/package.py @@ -16,6 +16,8 @@ class Psrdada(AutotoolsPackage, CudaPackage): version("master", branch="master", preferred=True) + depends_on("c", type="build") # generated + conflicts("~cuda", msg="You must specify +cuda") conflicts("cuda@11.8") conflicts("cuda_arch=none", msg="You must specify the CUDA architecture") diff --git a/var/spack/repos/builtin/packages/pstreams/package.py b/var/spack/repos/builtin/packages/pstreams/package.py index 2fc2bdaa901188..204c83cf7473f5 100644 --- a/var/spack/repos/builtin/packages/pstreams/package.py +++ b/var/spack/repos/builtin/packages/pstreams/package.py @@ -18,6 +18,8 @@ class Pstreams(Package): version("1.0.3", sha256="e9ca807bc6046840deae63207183f9ac516e67187d035429772a5fc7bd3e8fc8") version("1.0.1", sha256="a5f1f2e014392cd0e2cdb508a429e11afe64140db05b7f0a83d7534faa1a9226") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.include) install("pstream.h", prefix.include) diff --git a/var/spack/repos/builtin/packages/pthreadpool/package.py b/var/spack/repos/builtin/packages/pthreadpool/package.py index 64f190e4d0aa07..3a60f89d0835be 100644 --- a/var/spack/repos/builtin/packages/pthreadpool/package.py +++ b/var/spack/repos/builtin/packages/pthreadpool/package.py @@ -23,6 +23,9 @@ class Pthreadpool(CMakePackage): version("2018-10-08", commit="13da0b4c21d17f94150713366420baaf1b5a46f4") # py-torch@1.0:1.4 version("2018-02-25", commit="2b06b31f6a315162348e1f3c24325eedaf6cc559") # py-torch@:0.4 + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + generator("ninja") depends_on("cmake@3.5:", type="build") depends_on("python", type="build") diff --git a/var/spack/repos/builtin/packages/pugixml/package.py b/var/spack/repos/builtin/packages/pugixml/package.py index 07d0cdfab81932..dab9c1aa8a28ff 100644 --- a/var/spack/repos/builtin/packages/pugixml/package.py +++ b/var/spack/repos/builtin/packages/pugixml/package.py @@ -22,6 +22,8 @@ class Pugixml(CMakePackage): version("1.10", sha256="55f399fbb470942410d348584dc953bcaec926415d3462f471ef350f29b5870a") version("1.8.1", sha256="929c4657c207260f8cc28e5b788b7499dffdba60d83d59f55ea33d873d729cd4") + depends_on("cxx", type="build") # generated + variant("pic", default=True, description="Build position-independent code") variant("shared", default=True, description="Build shared libraries") diff --git a/var/spack/repos/builtin/packages/pulseaudio/package.py b/var/spack/repos/builtin/packages/pulseaudio/package.py index a8056319fcc28e..bacf9bb733edb6 100644 --- a/var/spack/repos/builtin/packages/pulseaudio/package.py +++ b/var/spack/repos/builtin/packages/pulseaudio/package.py @@ -24,6 +24,9 @@ class Pulseaudio(AutotoolsPackage): version("13.0", sha256="961b23ca1acfd28f2bc87414c27bb40e12436efcf2158d29721b1e89f3f28057") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("alsa", default=False, description="alsa support") variant("fftw", default=False, description="FFTW support") variant("gconf", default=False, description="Gconf support") diff --git a/var/spack/repos/builtin/packages/pumi/package.py b/var/spack/repos/builtin/packages/pumi/package.py index f06b0078336178..a2ce76b27ce621 100644 --- a/var/spack/repos/builtin/packages/pumi/package.py +++ b/var/spack/repos/builtin/packages/pumi/package.py @@ -45,6 +45,10 @@ class Pumi(CMakePackage): version("2.2.0", commit="8c7e6f13943893b2bc1ece15003e4869a0e9634f") # tag 2.2.0 version("2.1.0", commit="840fbf6ec49a63aeaa3945f11ddb224f6055ac9f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("int64", default=False, description="Enable 64bit mesh entity ids") variant("shared", default=False, description="Build shared libraries") variant("zoltan", default=False, description="Enable Zoltan Features") @@ -65,6 +69,10 @@ class Pumi(CMakePackage): "Disable the check for testing new versions.", ) + depends_on("cxx", type="build") + depends_on("c", type="build") + depends_on("fortran", type="build", when="+fortran") + depends_on("mpi") depends_on("cmake@3:", type="build") depends_on("zoltan", when="+zoltan") @@ -111,25 +119,34 @@ def cmake_args(self): args.append("-DSIM_DISCRETE=ON") return args - def test(self): - if self.spec.version <= Version("2.2.6"): - return - exe = "uniform" - options = ["../testdata/pipe.dmg", "../testdata/pipe.smb", "pipe_unif.smb"] - expected = "mesh pipe_unif.smb written" - description = "testing pumi uniform mesh refinement" - self.run_test(exe, options, expected, purpose=description, work_dir=self.prefix.bin) - - mpiexec = Executable(join_path(self.spec["mpi"].prefix.bin, "mpiexec")).command - mpiopt = ["-n", "2"] - exe = ["split"] - options = ["../testdata/pipe.dmg", "../testdata/pipe.smb", "pipe_2_.smb", "2"] - expected = "mesh pipe_2_.smb written" - description = "testing pumi mesh partitioning" - self.run_test( - mpiexec, - mpiopt + exe + options, - expected, - purpose=description, - work_dir=self.prefix.bin, - ) + def test_partition(self): + """Testing pumi mesh partitioning""" + if self.spec.satisfies("@:2.2.6"): + raise SkipTest("Package must be installed as version @2.2.7 or later") + + options = [ + "-n", + "2", + join_path(self.prefix.bin, "split"), + join_path(self.prefix.share.testdata, "pipe.dmg"), + join_path(self.prefix.share.testdata, "pipe.smb"), + "pipe_2_.smb", + "2", + ] + exe = which(self.spec["mpi"].prefix.bin.mpiexec) + out = exe(*options, output=str.split, error=str.split) + assert "mesh pipe_2_.smb written" in out + + def test_refine(self): + """Testing pumi uniform mesh refinement""" + if self.spec.satisfies("@:2.2.6"): + raise SkipTest("Package must be installed as version @2.2.7 or later") + + options = [ + join_path(self.prefix.share.testdata, "pipe.dmg"), + join_path(self.prefix.share.testdata, "pipe.smb"), + "pipe_unif.smb", + ] + exe = which(self.prefix.bin.uniform) + out = exe(*options, output=str.split, error=str.split) + assert "mesh pipe_unif.smb written" in out diff --git a/var/spack/repos/builtin/packages/pv/package.py b/var/spack/repos/builtin/packages/pv/package.py index 81dcbf63a3808e..9168d2177dc4cc 100644 --- a/var/spack/repos/builtin/packages/pv/package.py +++ b/var/spack/repos/builtin/packages/pv/package.py @@ -20,3 +20,5 @@ class Pv(AutotoolsPackage): version("1.8.5", sha256="d22948d06be06a5be37336318de540a2215be10ab0163f8cd23a20149647b780") version("1.6.20", sha256="b5f1ee79a370c5287e092b6e8f1084f026521fe0aecf25c44b9460b870319a9e") version("1.6.6", sha256="94defb4183ae07c44219ba298d43c4991d6e203c29f74393d72ecad3b090508a") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/pvm/package.py b/var/spack/repos/builtin/packages/pvm/package.py index 0000c87e810ff0..d546b4ce9c1bd8 100644 --- a/var/spack/repos/builtin/packages/pvm/package.py +++ b/var/spack/repos/builtin/packages/pvm/package.py @@ -18,6 +18,9 @@ class Pvm(MakefilePackage): version("3.4.6", sha256="482665e9bc975d826bcdacf1df1d42e43deda9585a2c430fd3b7b7ed08eada44") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("m4", type="build") depends_on("libtirpc", type="link") diff --git a/var/spack/repos/builtin/packages/pwgen/package.py b/var/spack/repos/builtin/packages/pwgen/package.py index dde641f0693699..fd402bba2f2899 100644 --- a/var/spack/repos/builtin/packages/pwgen/package.py +++ b/var/spack/repos/builtin/packages/pwgen/package.py @@ -19,4 +19,6 @@ class Pwgen(AutotoolsPackage): version("2.08", sha256="dab03dd30ad5a58e578c5581241a6e87e184a18eb2c3b2e0fffa8a9cf105c97b") + depends_on("c", type="build") # generated + depends_on("coreutils", type="build") diff --git a/var/spack/repos/builtin/packages/pxz/package.py b/var/spack/repos/builtin/packages/pxz/package.py index 8d49db024c85df..60af37c6faa39d 100644 --- a/var/spack/repos/builtin/packages/pxz/package.py +++ b/var/spack/repos/builtin/packages/pxz/package.py @@ -19,6 +19,8 @@ class Pxz(MakefilePackage): sha256="df69f91103db6c20f0b523bb7f026d86ee662c49fe714647ed63f918cd39767a", ) + depends_on("c", type="build") # generated + depends_on("xz") conflicts("platform=darwin", msg="Pxz runs only on Linux.") diff --git a/var/spack/repos/builtin/packages/py-4suite-xml/package.py b/var/spack/repos/builtin/packages/py-4suite-xml/package.py index ffb1a78e43ab61..474c4ed2ac4187 100644 --- a/var/spack/repos/builtin/packages/py-4suite-xml/package.py +++ b/var/spack/repos/builtin/packages/py-4suite-xml/package.py @@ -15,6 +15,8 @@ class Py4suiteXml(PythonPackage): version("1.0.2", sha256="f0c24132eb2567e64b33568abff29a780a2f0236154074d0b8f5262ce89d8c03") + depends_on("c", type="build") # generated + depends_on("python@2.2.1:", type=("build", "run")) # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-accimage/package.py b/var/spack/repos/builtin/packages/py-accimage/package.py index 46f226676a3521..da85b97d062e78 100644 --- a/var/spack/repos/builtin/packages/py-accimage/package.py +++ b/var/spack/repos/builtin/packages/py-accimage/package.py @@ -20,6 +20,8 @@ class PyAccimage(PythonPackage): version("0.1.1", sha256="573c56866a42683c7cf25185620fe82ec2ce78468e0621c29fac8f4134a785f5") + depends_on("c", type="build") # generated + depends_on("python", type=("build", "link", "run")) # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-adios/package.py b/var/spack/repos/builtin/packages/py-adios/package.py index be61bec7719cbc..173e6df7e02d0f 100644 --- a/var/spack/repos/builtin/packages/py-adios/package.py +++ b/var/spack/repos/builtin/packages/py-adios/package.py @@ -20,6 +20,10 @@ class PyAdios(PythonPackage): version("develop", branch="master") version("1.13.1", sha256="b1c6949918f5e69f701cabfe5987c0b286793f1057d4690f04747852544e157b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") for v in ["1.13.1", "develop"]: diff --git a/var/spack/repos/builtin/packages/py-aiohttp/package.py b/var/spack/repos/builtin/packages/py-aiohttp/package.py index 28fe3f58a33eb6..da787028e38103 100644 --- a/var/spack/repos/builtin/packages/py-aiohttp/package.py +++ b/var/spack/repos/builtin/packages/py-aiohttp/package.py @@ -18,12 +18,18 @@ class PyAiohttp(PythonPackage): license("Apache-2.0") + version("3.9.5", sha256="edea7d15772ceeb29db4aff55e482d4bcfb6ae160ce144f2682de02f6d693551") + version("3.9.4", sha256="6ff71ede6d9a5a58cfb7b6fffc83ab5d4a63138276c771ac91ceaaddf5459644") + version("3.9.0", sha256="09f23292d29135025e19e8ff4f0a68df078fe4ee013bca0105b2e803989de92d") version("3.8.4", sha256="bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c") version("3.8.1", sha256="fc5471e1a54de15ef71c1bc6ebe80d4dc681ea600e68bfd1cbce40427f0b7578") version("3.8.0", sha256="d3b19d8d183bcfd68b25beebab8dc3308282fe2ca3d6ea3cb4cd101b3c279f8d") version("3.7.4", sha256="5d84ecc73141d0a0d61ece0742bb7ff5751b0657dab8405f899d3ceb104cc7de") version("3.6.2", sha256="259ab809ff0727d0e834ac5e8a283dc5e3e0ecc30c4d80b3cd17a4139ce1f326") + depends_on("c", type="build") # generated + + depends_on("python@3.8:", when="@3.9:") depends_on("py-setuptools@46.4:", type="build") depends_on("py-attrs@17.3.0:", type=("build", "run")) @@ -31,8 +37,8 @@ class PyAiohttp(PythonPackage): depends_on("py-charset-normalizer@2", when="@3.8.0:3.8.3", type=("build", "run")) depends_on("py-multidict@4.5:6", when="@3.6.3:", type=("build", "run")) depends_on("py-multidict@4.5:4", when="@:3.6.2", type=("build", "run")) - depends_on("py-async-timeout@4", when="@3.8.0:", type=("build", "run")) - depends_on("py-async-timeout@3", when="@:3.7.4", type=("build", "run")) + depends_on("py-async-timeout@4", when="@3.8.0 ^python@:3.10", type=("build", "run")) + depends_on("py-async-timeout@3", when="@:3.7.4 ^python@:3.10", type=("build", "run")) depends_on("py-asynctest@0.13.0", when="@3.8.0: ^python@:3.7", type=("build", "run")) depends_on("py-yarl@1", type=("build", "run")) depends_on("py-typing-extensions@3.7.4:", when="@3.8: ^python@:3.7", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-amici/package.py b/var/spack/repos/builtin/packages/py-amici/package.py index 7b6bac8e88daf0..731734daa599b1 100644 --- a/var/spack/repos/builtin/packages/py-amici/package.py +++ b/var/spack/repos/builtin/packages/py-amici/package.py @@ -15,6 +15,9 @@ class PyAmici(PythonPackage): version("0.16.0", sha256="1a2d6633ec34241d8d8b496d18d4318482cffe125e9ddf3ca6cac5d36d235f38") version("0.11.28", sha256="a8ddda70d8ebdc40600b4ad2ea02eb26e765ca0e594b957f61866b8c84255d5b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("boost", default=True, description="Enable boost support") variant("hdf5", default=True, description="Enable HDF5 support") diff --git a/var/spack/repos/builtin/packages/py-amplpy/package.py b/var/spack/repos/builtin/packages/py-amplpy/package.py index cc9d0c069b6e0f..77f0f3fa823a08 100644 --- a/var/spack/repos/builtin/packages/py-amplpy/package.py +++ b/var/spack/repos/builtin/packages/py-amplpy/package.py @@ -22,6 +22,8 @@ class PyAmplpy(PythonPackage): version("0.8.6", sha256="ad0945d69f75e7762802bb54849009717fbcf226a6da6f37b539d9534bdcf68d") + depends_on("cxx", type="build") # generated + depends_on("py-future@0.15.0:", type=("build", "run")) depends_on("py-ampltools@0.4.5:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-amrex/package.py b/var/spack/repos/builtin/packages/py-amrex/package.py index dd6164a887d592..b5dfe578e26d7e 100644 --- a/var/spack/repos/builtin/packages/py-amrex/package.py +++ b/var/spack/repos/builtin/packages/py-amrex/package.py @@ -21,6 +21,8 @@ class PyAmrex(PythonPackage, CudaPackage, ROCmPackage): version("24.04", sha256="ab85695bb9644b702d0fc84e77205d264d27ba94999cab912c8a3212a7eb77fc") version("24.03", sha256="bf85b4ad35b623278cbaae2c07e22138545dec0732d15c4ab7c53be76a7f2315") + depends_on("cxx", type="build") # generated + for v in ["24.04", "24.03"]: depends_on("amrex@{0}".format(v), when="@{0}".format(v), type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/py-angel/package.py b/var/spack/repos/builtin/packages/py-angel/package.py index c1e5da3b2a80d3..4f0babecf5c920 100644 --- a/var/spack/repos/builtin/packages/py-angel/package.py +++ b/var/spack/repos/builtin/packages/py-angel/package.py @@ -16,6 +16,8 @@ class PyAngel(PythonPackage): version("3.0", sha256="a0319553055d3dfc84a4f732ed246c180c23ee9c397810c96acd7940721ae57d") + depends_on("cxx", type="build") # generated + depends_on("python@3.7:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-annoy/package.py b/var/spack/repos/builtin/packages/py-annoy/package.py index 6d65d9ae8cf775..00abc22c0efd8a 100644 --- a/var/spack/repos/builtin/packages/py-annoy/package.py +++ b/var/spack/repos/builtin/packages/py-annoy/package.py @@ -19,5 +19,7 @@ class PyAnnoy(PythonPackage): version("1.17.1", sha256="bf177dbeafb81f63b2ac1e1246b1f26a2acc82e73ba46638734d29d8258122da") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-nose@1:", type="build") diff --git a/var/spack/repos/builtin/packages/py-anuga/package.py b/var/spack/repos/builtin/packages/py-anuga/package.py index bae0e394e88927..97e83db416f160 100644 --- a/var/spack/repos/builtin/packages/py-anuga/package.py +++ b/var/spack/repos/builtin/packages/py-anuga/package.py @@ -20,6 +20,10 @@ class PyAnuga(PythonPackage): # The git main branch of the repo is now python3-only version("main", branch="main") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Non-versioned dependencies for Anuga main and future versions based on python@3.5: depends_on("python@3.5:", type=("build", "run"), when="@2.2:") depends_on("gdal+geos+python", type=("build", "run"), when="@2.2:") diff --git a/var/spack/repos/builtin/packages/py-argon2-cffi-bindings/package.py b/var/spack/repos/builtin/packages/py-argon2-cffi-bindings/package.py index fe684841fa0564..e65da55147752a 100644 --- a/var/spack/repos/builtin/packages/py-argon2-cffi-bindings/package.py +++ b/var/spack/repos/builtin/packages/py-argon2-cffi-bindings/package.py @@ -16,6 +16,8 @@ class PyArgon2CffiBindings(PythonPackage): version("21.2.0", sha256="bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3") + depends_on("c", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools@45:", type="build") depends_on("py-setuptools-scm@6.2:", type="build") diff --git a/var/spack/repos/builtin/packages/py-arm-pyart/package.py b/var/spack/repos/builtin/packages/py-arm-pyart/package.py index 433e7298fe6db7..3ed8511fb49e63 100644 --- a/var/spack/repos/builtin/packages/py-arm-pyart/package.py +++ b/var/spack/repos/builtin/packages/py-arm-pyart/package.py @@ -22,6 +22,8 @@ class PyArmPyart(PythonPackage): version("1.12.7", sha256="b7b23ecef270c60b017d94603941f0c117de072a10125c5f58c0685d801f9161") + depends_on("c", type="build") # generated + variant("cartopy", description="Plot grids on maps", default=False) variant("cylp", description="Linear programming solver", default=False) variant("gdal", description="Output GeoTIFFs from grid objects", default=False) @@ -39,6 +41,8 @@ class PyArmPyart(PythonPackage): depends_on("py-cython", type="build") depends_on("py-numpy", type=("build", "run")) + # https://github.com/ARM-DOE/pyart/issues/1550 + depends_on("py-numpy@:1", when="@:1.18.1", type=("build", "run")) depends_on("py-scipy", type=("build", "run")) depends_on("py-netcdf4", type=("build", "run")) depends_on("py-matplotlib", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-astropy-healpix/package.py b/var/spack/repos/builtin/packages/py-astropy-healpix/package.py index 35a01f483c544e..68791eed29fe9c 100644 --- a/var/spack/repos/builtin/packages/py-astropy-healpix/package.py +++ b/var/spack/repos/builtin/packages/py-astropy-healpix/package.py @@ -21,7 +21,11 @@ class PyAstropyHealpix(PythonPackage): version("0.5", sha256="5ae15da796a840f221fb83e25de791e827b6921bc21a365d99bc1a59c7c0cdad") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type=("build", "run")) depends_on("python@3.6:", type=("build", "run")) depends_on("py-astropy@2.0:", type=("build", "run")) depends_on("py-numpy@1.11:", type=("build", "run")) + # https://github.com/astropy/astropy-healpix/pull/214 + depends_on("py-numpy@:1", when="@:1.0.2", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-astropy-helpers/package.py b/var/spack/repos/builtin/packages/py-astropy-helpers/package.py index bb88d9e98d8ccf..00b2d6a7a2af83 100644 --- a/var/spack/repos/builtin/packages/py-astropy-helpers/package.py +++ b/var/spack/repos/builtin/packages/py-astropy-helpers/package.py @@ -19,5 +19,7 @@ class PyAstropyHelpers(PythonPackage): version("4.0.1", sha256="88602971c3b63d6aaa6074d013f995d1e234acb3d517d70d7fcebd30cdaf5c89") + depends_on("c", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools@30.3:", type="build") diff --git a/var/spack/repos/builtin/packages/py-astropy/package.py b/var/spack/repos/builtin/packages/py-astropy/package.py index df43cf9e3de3f5..b60afb07f285bc 100644 --- a/var/spack/repos/builtin/packages/py-astropy/package.py +++ b/var/spack/repos/builtin/packages/py-astropy/package.py @@ -29,6 +29,8 @@ class PyAstropy(PythonPackage): version("1.1.2", sha256="6f0d84cd7dfb304bb437dda666406a1d42208c16204043bc920308ff8ffdfad1") version("1.1.post1", sha256="64427ec132620aeb038e4d8df94d6c30df4cc8b1c42a6d8c5b09907a31566a21") + depends_on("c", type="build") # generated + variant("all", default=False, when="@3.2:", description="Enable all functionality") # Required dependencies @@ -51,6 +53,8 @@ class PyAstropy(PythonPackage): depends_on("py-numpy@1.9:", when="@2.0:", type=("build", "run")) depends_on("py-numpy@1.7:", when="@1.2:", type=("build", "run")) depends_on("py-numpy", type=("build", "run")) + # https://github.com/astropy/astropy/issues/16200 + depends_on("py-numpy@:1", when="@:6.0") depends_on("py-packaging@19.0:", when="@5.1:", type=("build", "run")) depends_on("py-pyyaml@3.13:", when="@5.1:", type=("build", "run")) depends_on("py-pyerfa@2.0:", when="@5.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-asyncio/package.py b/var/spack/repos/builtin/packages/py-asyncio/package.py index 6ccaabf25b8c7d..df4549681ba491 100644 --- a/var/spack/repos/builtin/packages/py-asyncio/package.py +++ b/var/spack/repos/builtin/packages/py-asyncio/package.py @@ -21,5 +21,7 @@ class PyAsyncio(PythonPackage): version("3.4.2", sha256="ba28d351c579875e2a1cb1989e310285d3eb76c5bb749694b6ddd3901f8d39de") version("3.4.1", sha256="51cdfbd4964ef8286cbef7d88f9b7abcc8b710ecec0a0794aa354f94ef703126") + depends_on("c", type="build") # generated + depends_on("python@3.3:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-atropos/package.py b/var/spack/repos/builtin/packages/py-atropos/package.py index ac4c4717b365c3..80f38b89ce6179 100644 --- a/var/spack/repos/builtin/packages/py-atropos/package.py +++ b/var/spack/repos/builtin/packages/py-atropos/package.py @@ -18,6 +18,8 @@ class PyAtropos(PythonPackage): version("1.1.22", sha256="05e40cb9337421479c692e1154b962fbf811d7939b72c197a024929b7ae88b78") + depends_on("c", type="build") # generated + depends_on("python@3.3:", type=("build", "run")) depends_on("py-setuptools", type=("build", "run")) depends_on("py-cython@0.25.2:", type="build") diff --git a/var/spack/repos/builtin/packages/py-ats/package.py b/var/spack/repos/builtin/packages/py-ats/package.py index bceb259e2489b1..a37ac3069080d4 100644 --- a/var/spack/repos/builtin/packages/py-ats/package.py +++ b/var/spack/repos/builtin/packages/py-ats/package.py @@ -23,6 +23,9 @@ class PyAts(PythonPackage): version("7.0.100", tag="7.0.100", commit="202c18d11b8f1c14f1a3361a6e45c9e4f83a3fa1") version("7.0.5", tag="7.0.5", commit="86b0b18b96b179f97008393170f5e5bc95118867") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # TODO: Add flux variant when Flux functionality works in ATS depends_on("python@3.8:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-auditwheel/package.py b/var/spack/repos/builtin/packages/py-auditwheel/package.py index 66b216c3c00925..85fc947c1eac23 100644 --- a/var/spack/repos/builtin/packages/py-auditwheel/package.py +++ b/var/spack/repos/builtin/packages/py-auditwheel/package.py @@ -18,6 +18,10 @@ class PyAuditwheel(PythonPackage): version("5.1.2", sha256="3ee5830014931ea84af5cd065c637b6614efa03d9b88bd8fbfc924e7ed01d6ba") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools@45:", type="build") depends_on("py-setuptools-scm@6.2:", type="build") diff --git a/var/spack/repos/builtin/packages/py-awkward-cpp/package.py b/var/spack/repos/builtin/packages/py-awkward-cpp/package.py index 1f6402633be390..ba43f7a3375a79 100644 --- a/var/spack/repos/builtin/packages/py-awkward-cpp/package.py +++ b/var/spack/repos/builtin/packages/py-awkward-cpp/package.py @@ -30,6 +30,8 @@ class PyAwkwardCpp(PythonPackage): version("3", sha256="6070557762bd95d3642ad9c585609db51f899a1e79ce4f41568835efd7d6e066") version("2", sha256="5e63f43e3135f76db81e0924a74ecf4870f585c11a9f432568b377c04028868c") + depends_on("cxx", type="build") # generated + depends_on("python@3.7:", type=("build", "run")) depends_on("py-scikit-build-core@0.2.0:+pyproject", when="@11:", type="build") depends_on("py-pybind11", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/py-awscrt/package.py b/var/spack/repos/builtin/packages/py-awscrt/package.py index 8a7baadd3bf69c..972477c77539eb 100644 --- a/var/spack/repos/builtin/packages/py-awscrt/package.py +++ b/var/spack/repos/builtin/packages/py-awscrt/package.py @@ -21,6 +21,9 @@ class PyAwscrt(PythonPackage): version("0.19.18", sha256="350b6efd8ebee082ea3f3e52c59a3c3ec594cdaf01db8b4853dceb9fec90c89d") version("0.16.16", sha256="13075df2c1d7942fe22327b6483274517ee0f6ae765c4e6b6ae9ef5b4c43a827") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type=("build")) depends_on("openssl", type=("build"), when="platform=linux") depends_on("py-setuptools", type=("build")) diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py index 5e16d385184efb..9fccff50ac2df2 100644 --- a/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py +++ b/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py @@ -13,6 +13,8 @@ class PyAzureMgmtStorage(PythonPackage): homepage = "https://github.com/Azure/azure-sdk-for-python" pypi = "azure-mgmt-storage/azure-mgmt-storage-11.1.0.zip" + version("21.0.0", sha256="6eb13eeecf89195b2b5f47be0679e3f27888efd7bd2132eec7ebcbce75cb1377") + version("20.1.0", sha256="214f3fde8c91e27d53f2e654a28d15003ad3f6f15c8438a8205f0c88a48d9451") version("11.1.0", sha256="ef23587c1b6dc0866ebf0e91e83ba05d7f7e4fea7951b704781b9cd9f5f27f1c") version("11.0.0", sha256="f9791c2a84eee0a55bbf757632a2a4d1e102db958e75422d5e0e7306041129b8") diff --git a/var/spack/repos/builtin/packages/py-babel/package.py b/var/spack/repos/builtin/packages/py-babel/package.py index f4a449296b8702..dc47d0a611a656 100644 --- a/var/spack/repos/builtin/packages/py-babel/package.py +++ b/var/spack/repos/builtin/packages/py-babel/package.py @@ -12,11 +12,12 @@ class PyBabel(PythonPackage): emphasis on web-based applications.""" homepage = "https://babel.pocoo.org/en/latest/" - pypi = "Babel/Babel-2.7.0.tar.gz" + pypi = "Babel/babel-2.15.0.tar.gz" git = "https://github.com/python-babel/babel" license("BSD-3-Clause") + version("2.15.0", sha256="8daf0e265d05768bc6c7a314cf1321e9a123afc328cc635c18622a2f30a04413") version("2.12.1", sha256="cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455") version("2.12.0", sha256="468e6cd1e2b571a1663110fc737e3a7d9069d038e0c9c4a7f158caeeafe4089c") version("2.11.0", sha256="5ef4b3226b0180dedded4229651c8b0e1a3a6a2837d45a073272f313e4cf97f6") @@ -30,3 +31,10 @@ class PyBabel(PythonPackage): depends_on("py-setuptools", type=("build", "run")) depends_on("py-pytz@2015.7:", when="@2.12: ^python@:3.8", type=("build", "run")) depends_on("py-pytz@2015.7:", when="@:2.10", type=("build", "run")) + + def url_for_version(self, version): + url = "https://files.pythonhosted.org/packages/source/B/Babel/{}-{}.tar.gz" + name = "Babel" + if version >= Version("2.15"): + name = name.lower() + return url.format(name, version) diff --git a/var/spack/repos/builtin/packages/py-backports-lzma/package.py b/var/spack/repos/builtin/packages/py-backports-lzma/package.py index d0fd466db745ef..5539e26a851598 100644 --- a/var/spack/repos/builtin/packages/py-backports-lzma/package.py +++ b/var/spack/repos/builtin/packages/py-backports-lzma/package.py @@ -26,5 +26,7 @@ class PyBackportsLzma(PythonPackage): version("0.0.6", sha256="8e70936641398a6814d70f6eae6399be2ae514578d38b7f9b15c277438bbd853") version("0.0.4", sha256="7c973edbd50c1467fed2247117e128a924d25404394a57e30d5b6c52cfcd342d") + depends_on("c", type="build") # generated + depends_on("python@2.6:3.0,3.4:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-backports-zoneinfo/package.py b/var/spack/repos/builtin/packages/py-backports-zoneinfo/package.py index 546c9e993bb114..cebdb80ab4ce68 100644 --- a/var/spack/repos/builtin/packages/py-backports-zoneinfo/package.py +++ b/var/spack/repos/builtin/packages/py-backports-zoneinfo/package.py @@ -16,4 +16,6 @@ class PyBackportsZoneinfo(PythonPackage): version("0.2.1", sha256="fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2") + depends_on("c", type="build") # generated + depends_on("py-setuptools@40.8.0:", type="build") diff --git a/var/spack/repos/builtin/packages/py-basemap/package.py b/var/spack/repos/builtin/packages/py-basemap/package.py index b5b4bae220a64e..424d696e460c86 100644 --- a/var/spack/repos/builtin/packages/py-basemap/package.py +++ b/var/spack/repos/builtin/packages/py-basemap/package.py @@ -17,6 +17,9 @@ class PyBasemap(PythonPackage): version("1.2.1", sha256="3fb30424f18cd4ffd505e30fd9c810ae81b999bb92f950c76553e1abc081faa7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Per Github issue #3813, setuptools is required at runtime in order # to make mpl_toolkits a namespace package that can span multiple # directories (i.e., matplotlib and basemap) diff --git a/var/spack/repos/builtin/packages/py-bcolz/package.py b/var/spack/repos/builtin/packages/py-bcolz/package.py index 9bfbd7839bef94..208f2ff90ab377 100644 --- a/var/spack/repos/builtin/packages/py-bcolz/package.py +++ b/var/spack/repos/builtin/packages/py-bcolz/package.py @@ -20,6 +20,9 @@ class PyBcolz(PythonPackage): version("1.2.1", sha256="c017d09bb0cb5bbb07f2ae223a3f3638285be3b574cb328e91525b2880300bd1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@2.7:2.8,3.5:", type=("build", "run")) depends_on("py-numpy@1.7:", type=("build", "run")) depends_on("py-setuptools@18.1:", type="build") diff --git a/var/spack/repos/builtin/packages/py-bcrypt/package.py b/var/spack/repos/builtin/packages/py-bcrypt/package.py index d2021ea9e066d6..ca94d6cc162b93 100644 --- a/var/spack/repos/builtin/packages/py-bcrypt/package.py +++ b/var/spack/repos/builtin/packages/py-bcrypt/package.py @@ -19,6 +19,8 @@ class PyBcrypt(PythonPackage): version("3.1.6", sha256="169d3e6edbf8717e8856748b72fb02abe8ce8e0b65d733b1509ae9942e77f2a9") version("3.1.4", sha256="ca122a2cdcdffb0fd04f9dfe3493766f298bef02dea2f190f35ea6fdee222b96") + depends_on("c", type="build") # generated + depends_on("python@3.6:", when="@3.2:", type="build") depends_on("python@2.7:2,3.4:", when="@3.1.6:", type="build") depends_on("py-setuptools@40.8:", when="@3.1.7:", type="build") diff --git a/var/spack/repos/builtin/packages/py-beancount/package.py b/var/spack/repos/builtin/packages/py-beancount/package.py index 5dc615f2ac7711..67bf3e4e2b6b57 100644 --- a/var/spack/repos/builtin/packages/py-beancount/package.py +++ b/var/spack/repos/builtin/packages/py-beancount/package.py @@ -19,6 +19,8 @@ class PyBeancount(PythonPackage): version("2.3.3", sha256="d9a29839ea867d1dda7af1f4bf5d3959aa7c1574cd4a0bc86f69ee64c555c71c") + depends_on("c", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type=("build")) diff --git a/var/spack/repos/builtin/packages/py-bigdft/package.py b/var/spack/repos/builtin/packages/py-bigdft/package.py index cae97858e1d599..2251438053ed6e 100644 --- a/var/spack/repos/builtin/packages/py-bigdft/package.py +++ b/var/spack/repos/builtin/packages/py-bigdft/package.py @@ -19,6 +19,10 @@ class PyBigdft(PythonPackage): version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41") version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("python@3.0:", type=("build", "run")) depends_on("py-numpy") depends_on("py-setuptools") diff --git a/var/spack/repos/builtin/packages/py-bigfloat/package.py b/var/spack/repos/builtin/packages/py-bigfloat/package.py index 1044b752920734..83c35e24ae9554 100644 --- a/var/spack/repos/builtin/packages/py-bigfloat/package.py +++ b/var/spack/repos/builtin/packages/py-bigfloat/package.py @@ -16,6 +16,8 @@ class PyBigfloat(PythonPackage): version("0.4.0", sha256="58b96bde872aca5989d13d82eba3acf2aa1b94e22117dd72a16ba5911b0c0cb8") + depends_on("c", type="build") # generated + depends_on("python@2.7:2.8,3.5:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-six", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-billiard/package.py b/var/spack/repos/builtin/packages/py-billiard/package.py index 8d893290fe5429..1dad47a3c444d4 100644 --- a/var/spack/repos/builtin/packages/py-billiard/package.py +++ b/var/spack/repos/builtin/packages/py-billiard/package.py @@ -20,4 +20,6 @@ class PyBilliard(PythonPackage): version("3.6.0.0", sha256="756bf323f250db8bf88462cd042c992ba60d8f5e07fc5636c24ba7d6f4261d84") version("3.5.0.5", sha256="42d9a227401ac4fba892918bba0a0c409def5435c4b483267ebfe821afaaba0e") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-biopython/package.py b/var/spack/repos/builtin/packages/py-biopython/package.py index fa3cdeefcc031b..822321ba889c06 100644 --- a/var/spack/repos/builtin/packages/py-biopython/package.py +++ b/var/spack/repos/builtin/packages/py-biopython/package.py @@ -27,10 +27,14 @@ class PyBiopython(PythonPackage): version("1.70", sha256="4a7c5298f03d1a45523f32bae1fffcff323ea9dce007fb1241af092f5ab2e45b") version("1.65", sha256="6d591523ba4d07a505978f6e1d7fac57e335d6d62fb5b0bcb8c40bdde5c8998e") - depends_on("python@2.6:2.7,3.3:", type=("build", "run"), when="@1.63:1.68") - depends_on("python@2.7,3.3:", type=("build", "run"), when="@1.69") - depends_on("python@2.7,3.4:", type=("build", "run"), when="@1.70:1.74") - depends_on("python@2.7,3.5:", type=("build", "run"), when="@1.75:1.76") + depends_on("c", type="build") # generated + + depends_on("python@2.6:2.7,3.3:3.9", type=("build", "run"), when="@1.63:1.68") + depends_on("python@2.7,3.3:3.9", type=("build", "run"), when="@1.69") + depends_on("python@2.7,3.4:3.9", type=("build", "run"), when="@1.70:1.74") + depends_on("python@2.7,3.5:3.9", type=("build", "run"), when="@1.75:1.76") depends_on("python@3.6:", type=("build", "run"), when="@1.77:") depends_on("py-numpy", type=("build", "run")) + # https://github.com/biopython/biopython/issues/4676 + depends_on("py-numpy@:1", when="@:1.83", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-bitarray/package.py b/var/spack/repos/builtin/packages/py-bitarray/package.py index 47ae50a3dcb8b4..0724fb3b49f252 100644 --- a/var/spack/repos/builtin/packages/py-bitarray/package.py +++ b/var/spack/repos/builtin/packages/py-bitarray/package.py @@ -16,4 +16,6 @@ class PyBitarray(PythonPackage): version("2.6.0", sha256="56d3f16dd807b1c56732a244ce071c135ee973d3edc9929418c1b24c5439a0fd") version("0.8.1", sha256="7da501356e48a83c61f479393681c1bc4b94e5a34ace7e08cb29e7dd9290ab18") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-bitshuffle/package.py b/var/spack/repos/builtin/packages/py-bitshuffle/package.py index b41636ab2d4fc0..357d9bbabefa66 100644 --- a/var/spack/repos/builtin/packages/py-bitshuffle/package.py +++ b/var/spack/repos/builtin/packages/py-bitshuffle/package.py @@ -17,6 +17,8 @@ class PyBitshuffle(PythonPackage): version("0.4.2", sha256="df7d7dc0add8a37f0c5f4704475db60a3c843171a49aa4e3301d1d7e827b2536") + depends_on("c", type="build") # generated + depends_on("py-cython@0.19:", type="build") depends_on("py-setuptools@0.7:", type="build") depends_on("py-numpy@1.6.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-bitstruct/package.py b/var/spack/repos/builtin/packages/py-bitstruct/package.py index d009d50c4e6b57..d510b7c766a6d0 100644 --- a/var/spack/repos/builtin/packages/py-bitstruct/package.py +++ b/var/spack/repos/builtin/packages/py-bitstruct/package.py @@ -20,4 +20,6 @@ class PyBitstruct(PythonPackage): version("8.17.0", sha256="eb94b40e4218a23aa8f90406b836a9e6ed83e48b8d112ce3f96408463bd1b874") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-blis/package.py b/var/spack/repos/builtin/packages/py-blis/package.py index e2a158a11e054d..46108428b26ac3 100644 --- a/var/spack/repos/builtin/packages/py-blis/package.py +++ b/var/spack/repos/builtin/packages/py-blis/package.py @@ -20,6 +20,8 @@ class PyBlis(PythonPackage): version("0.7.9", sha256="29ef4c25007785a90ffc2f0ab3d3bd3b75cd2d7856a9a482b7d0dac8d511a09d") version("0.4.1", sha256="d69257d317e86f34a7f230a2fd1f021fd2a1b944137f40d8cdbb23bd334cd0c4") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-cython@0.25:", when="@0.7.9:", type="build") depends_on("py-numpy@1.15:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-blosc/package.py b/var/spack/repos/builtin/packages/py-blosc/package.py index f4d44037a9b738..ddd2f55732d292 100644 --- a/var/spack/repos/builtin/packages/py-blosc/package.py +++ b/var/spack/repos/builtin/packages/py-blosc/package.py @@ -17,6 +17,9 @@ class PyBlosc(PythonPackage): version("1.9.1", sha256="ffc884439a12409aa4e8945e21dc920d6bc21807357c51d24c7f0a27ae4f79b9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-scikit-build", type="build") diff --git a/var/spack/repos/builtin/packages/py-blosc2/package.py b/var/spack/repos/builtin/packages/py-blosc2/package.py index ce21ee8f75010c..cd592a6559107c 100644 --- a/var/spack/repos/builtin/packages/py-blosc2/package.py +++ b/var/spack/repos/builtin/packages/py-blosc2/package.py @@ -17,6 +17,8 @@ class PyBlosc2(PythonPackage): version("2.2.8", sha256="59065aac5e9b01b0e9f3825d8e7f69f64b59bbfab148a47c54e4115f62a97474") version("2.0.0", sha256="f19b0b3674f6c825b490f00d8264b0c540c2cdc11ec7e81178d38b83c57790a1") + depends_on("c", type="build") # generated + depends_on("python@3.9:3", when="@2.2:", type=("build", "link", "run")) depends_on("python@3.8:3", when="@2.0", type=("build", "link", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-bokeh/package.py b/var/spack/repos/builtin/packages/py-bokeh/package.py index 8f79fb16c921c2..1384201b2dbe76 100644 --- a/var/spack/repos/builtin/packages/py-bokeh/package.py +++ b/var/spack/repos/builtin/packages/py-bokeh/package.py @@ -46,6 +46,8 @@ class PyBokeh(PythonPackage): depends_on("py-numpy@1.7.1:", type=("build", "run")) depends_on("py-numpy@1.11.3:", type=("build", "run"), when="@2.3.3:") depends_on("py-numpy@1.16:", type=("build", "run"), when="@3.1:") + # https://github.com/bokeh/bokeh/issues/13835 + depends_on("py-numpy@:1", when="@:3.4.0", type=("build", "run")) depends_on("py-packaging@16.8:", type=("build", "run"), when="@1.3.4:") diff --git a/var/spack/repos/builtin/packages/py-boost-histogram/package.py b/var/spack/repos/builtin/packages/py-boost-histogram/package.py index bd743760411a8e..4dff0fc12efb96 100644 --- a/var/spack/repos/builtin/packages/py-boost-histogram/package.py +++ b/var/spack/repos/builtin/packages/py-boost-histogram/package.py @@ -18,8 +18,12 @@ class PyBoostHistogram(PythonPackage): version("1.3.1", sha256="31cd396656f3a37834e07d304cdb84d9906bc2172626a3d92fe577d08bcf410f") version("1.2.1", sha256="a27842b2f1cfecc509382da2b25b03056354696482b38ec3c0220af0fc9b7579") + depends_on("cxx", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools@45:", type="build") depends_on("py-setuptools-scm@4.1.2:+toml", type="build") depends_on("py-numpy@1.13.3:", type=("build", "run")) + # https://github.com/numpy/numpy/issues/26191#issuecomment-2179127999 + depends_on("py-numpy@:1", when="@:1.4.0", type=("build", "run")) depends_on("py-typing-extensions", when="^python@:3.7", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-bottleneck/package.py b/var/spack/repos/builtin/packages/py-bottleneck/package.py index 334975f9e19413..82599607ff3702 100644 --- a/var/spack/repos/builtin/packages/py-bottleneck/package.py +++ b/var/spack/repos/builtin/packages/py-bottleneck/package.py @@ -22,6 +22,10 @@ class PyBottleneck(PythonPackage): version("1.2.1", sha256="6efcde5f830aed64feafca0359b51db0e184c72af8ba6675b4a99f263922eb36") version("1.0.0", sha256="8d9b7ad4fadf9648acc924a6ee522c7cb5b474e75faaad9d90dfd55e2805b495") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-versioneer", when="@1.3.3:", type="build") depends_on("py-numpy", type=("build", "run")) + # https://github.com/pydata/bottleneck/issues/453 + depends_on("py-numpy@:1", when="@:1.3", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-breathe/package.py b/var/spack/repos/builtin/packages/py-breathe/package.py index 8bc1fc6db7910f..2b1b515fdd3c42 100644 --- a/var/spack/repos/builtin/packages/py-breathe/package.py +++ b/var/spack/repos/builtin/packages/py-breathe/package.py @@ -30,6 +30,9 @@ class PyBreathe(PythonPackage): version("4.7.1", sha256="afb1ab0084b25d3670fa8f5cf2eeaee6fe61bfc77876e3816b140eacd4949875") version("4.7.0", sha256="5629c67f5adb41f39375d36c5f0d60d34b1230be268125e535205d77f69211e4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("python@3.5:", type=("build", "run"), when="@4.21:4.32") diff --git a/var/spack/repos/builtin/packages/py-brian/package.py b/var/spack/repos/builtin/packages/py-brian/package.py index 4b7888e3f5f7ee..32bf478f930ef4 100644 --- a/var/spack/repos/builtin/packages/py-brian/package.py +++ b/var/spack/repos/builtin/packages/py-brian/package.py @@ -14,6 +14,9 @@ class PyBrian(PythonPackage): version("1.4.3", sha256="c881dcfcd1a21990f9cb3cca76cdd868111cfd9e227ef5c1b13bb372d2efeaa4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") depends_on("py-matplotlib@0.90.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-brian2/package.py b/var/spack/repos/builtin/packages/py-brian2/package.py index 911377cd8a36bf..b57f9f17951861 100644 --- a/var/spack/repos/builtin/packages/py-brian2/package.py +++ b/var/spack/repos/builtin/packages/py-brian2/package.py @@ -21,6 +21,9 @@ class PyBrian2(PythonPackage): version("2.0.1", sha256="195d8ced0d20e9069917776948f92aa70b7457bbc6b5222b8199654402ee1153") version("2.0rc3", sha256="05f347f5fa6b25d1ce5ec152a2407bbce033599eb6664f32f5331946eb3c7d66") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@2.7:", type=("build", "run")) depends_on("python@3.6:", type=("build", "run"), when="@2.4:") depends_on("python@3.7:", type=("build", "run"), when="@2.5:") diff --git a/var/spack/repos/builtin/packages/py-brotli/package.py b/var/spack/repos/builtin/packages/py-brotli/package.py index eece9c58daf1cc..49c91d980f6494 100644 --- a/var/spack/repos/builtin/packages/py-brotli/package.py +++ b/var/spack/repos/builtin/packages/py-brotli/package.py @@ -16,4 +16,6 @@ class PyBrotli(PythonPackage): version("1.1.0", sha256="81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-brotlipy/package.py b/var/spack/repos/builtin/packages/py-brotlipy/package.py index 8cb3c407b3ad25..d526fb37c1377a 100644 --- a/var/spack/repos/builtin/packages/py-brotlipy/package.py +++ b/var/spack/repos/builtin/packages/py-brotlipy/package.py @@ -16,6 +16,8 @@ class PyBrotlipy(PythonPackage): version("0.7.0", sha256="36def0b859beaf21910157b4c33eb3b06d8ce459c942102f16988cca6ea164df") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-cffi@1.0.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-bsddb3/package.py b/var/spack/repos/builtin/packages/py-bsddb3/package.py index 97db040831b86f..d13d3e149ebb5a 100644 --- a/var/spack/repos/builtin/packages/py-bsddb3/package.py +++ b/var/spack/repos/builtin/packages/py-bsddb3/package.py @@ -18,6 +18,8 @@ class PyBsddb3(PythonPackage): version("6.2.5", sha256="784bf40ad935258507594a89b32ea11f362cde120751c8b96de163955ced7db8") + depends_on("c", type="build") # generated + depends_on("python@2.6:") depends_on("py-setuptools", type="build") depends_on("berkeley-db") diff --git a/var/spack/repos/builtin/packages/py-bx-python/package.py b/var/spack/repos/builtin/packages/py-bx-python/package.py index e37f48f4f77824..a96821f349302c 100644 --- a/var/spack/repos/builtin/packages/py-bx-python/package.py +++ b/var/spack/repos/builtin/packages/py-bx-python/package.py @@ -18,6 +18,8 @@ class PyBxPython(PythonPackage): version("0.9.0", sha256="fe545c44d2ea74b239d41e9090618aaf6a859d1a1f64b4a21b133cb602dfdb49") version("0.8.8", sha256="ad0808ab19c007e8beebadc31827e0d7560ac0e935f1100fb8cc93607400bb47") + depends_on("c", type="build") # generated + # See https://pypi.org/project/bx-python/(version)/#files for which Python versions # work with which releases. depends_on("python@3.7:3.11", when="@=0.9.0", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-carputils/package.py b/var/spack/repos/builtin/packages/py-carputils/package.py index 8e6ecf335dfc6f..695e63bee1d8c6 100644 --- a/var/spack/repos/builtin/packages/py-carputils/package.py +++ b/var/spack/repos/builtin/packages/py-carputils/package.py @@ -29,6 +29,8 @@ class PyCarputils(PythonPackage): version("oc8.1", commit="a4210fcb0fe17226a1744ee9629f85b629decba3") version("oc7.0", commit="4c04db61744f2fb7665594d7c810699c5c55c77c") + depends_on("c", type="build") # generated + depends_on("git", type=("build", "run")) depends_on("py-numpy@1.14.5:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-cartopy/package.py b/var/spack/repos/builtin/packages/py-cartopy/package.py index 941996aa09a76c..a31c1c50194fab 100644 --- a/var/spack/repos/builtin/packages/py-cartopy/package.py +++ b/var/spack/repos/builtin/packages/py-cartopy/package.py @@ -32,6 +32,8 @@ class PyCartopy(PythonPackage): version("0.17.0", sha256="424bd9e9ddef6e48cbdee694ce589ec431be8591f15b6cb93cb2b333a29b2c61") version("0.16.0", sha256="f23dffa101f43dd91e866a49ebb5f5048be2a24ab8a921a5c07edabde746d9a4") + depends_on("cxx", type="build") # generated + variant("epsg", default=False, when="@:0.19", description="Add support for epsg.io") variant( "ows", @@ -62,12 +64,13 @@ class PyCartopy(PythonPackage): depends_on("py-setuptools-scm", when="@0.19:") with default_args(type=("build", "link", "run")): - depends_on("py-numpy@1.21:", when="@0.23:") - depends_on("py-numpy@1.21:1", when="@0.22") - depends_on("py-numpy@1.18:1", when="@0.20:21") - depends_on("py-numpy@1.13.3:1", when="@0.19") - depends_on("py-numpy@1.10:1", when="@0.17:0.18") - depends_on("py-numpy@1.6:1", when="@0.16") + depends_on("py-numpy@1.21:", when="@0.22:") + depends_on("py-numpy@1.18:", when="@0.20:21") + depends_on("py-numpy@1.13.3:", when="@0.19") + depends_on("py-numpy@1.10:", when="@0.17:0.18") + depends_on("py-numpy@1.6:", when="@0.16") + # https://github.com/SciTools/cartopy/issues/2339 + depends_on("py-numpy@:1", when="@:0.22") with default_args(type=("build", "run")): depends_on("py-matplotlib@3.5:", when="@0.23:") diff --git a/var/spack/repos/builtin/packages/py-casadi/package.py b/var/spack/repos/builtin/packages/py-casadi/package.py index f4f47b771c8dd1..0239dd4acae334 100644 --- a/var/spack/repos/builtin/packages/py-casadi/package.py +++ b/var/spack/repos/builtin/packages/py-casadi/package.py @@ -16,5 +16,9 @@ class PyCasadi(PythonPackage): version("3.6.4", sha256="affdca1a99c14580992cdf34d247754b7d851080b712c2922ad2e92442eeaa35") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-cf-units/package.py b/var/spack/repos/builtin/packages/py-cf-units/package.py index 8638fb94804643..d303c66f0b839f 100644 --- a/var/spack/repos/builtin/packages/py-cf-units/package.py +++ b/var/spack/repos/builtin/packages/py-cf-units/package.py @@ -21,6 +21,8 @@ class PyCfUnits(PythonPackage): version("2.1.4", sha256="25f81ad994af30713ee8f5ef18ffddd83c6ec1ac308e1bd89d45de9d2e0f1c31") version("2.1.1", sha256="fa0ef8efd84546e61088aa23e76ebbaf7043167dc3a7f35f34549c234b543530") + depends_on("c", type="build") # generated + depends_on("python@3:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-six", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-cffi/package.py b/var/spack/repos/builtin/packages/py-cffi/package.py index 5e840d3c9edce3..932fcaaa1659a8 100644 --- a/var/spack/repos/builtin/packages/py-cffi/package.py +++ b/var/spack/repos/builtin/packages/py-cffi/package.py @@ -26,6 +26,8 @@ class PyCffi(PythonPackage): version("1.10.0", sha256="b3b02911eb1f6ada203b0763ba924234629b51586f72a21faacc638269f4ced5") version("1.1.2", sha256="390970b602708c91ddc73953bb6929e56291c18a4d80f360afa00fad8b6f3339") + depends_on("c", type="build") # generated + # ./spack-src/cffi/ffiplatform.py has _hack_at_distutils which imports # setuptools before distutils, but only on Windows. This could be made # unconditional to support Python 3.12 diff --git a/var/spack/repos/builtin/packages/py-chainer/package.py b/var/spack/repos/builtin/packages/py-chainer/package.py index a1ab6819a13684..f284f2a054e330 100644 --- a/var/spack/repos/builtin/packages/py-chainer/package.py +++ b/var/spack/repos/builtin/packages/py-chainer/package.py @@ -31,6 +31,8 @@ class PyChainer(PythonPackage): version("7.2.0", sha256="6e2fba648cc5b8a5421e494385b76fe5ec154f1028a1c5908557f5d16c04f0b3") version("6.7.0", sha256="87cb3378a35e7c5c695028ec91d58dc062356bc91412384ea939d71374610389") + depends_on("cxx", type="build") # generated + variant("mn", default=False, description="run with ChainerMN") depends_on("python@3.5.1:", when="@7:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-cheetah3/package.py b/var/spack/repos/builtin/packages/py-cheetah3/package.py index 373ae463f41781..2c387534fe64ac 100644 --- a/var/spack/repos/builtin/packages/py-cheetah3/package.py +++ b/var/spack/repos/builtin/packages/py-cheetah3/package.py @@ -15,5 +15,7 @@ class PyCheetah3(PythonPackage): version("3.2.6", sha256="f1c2b693cdcac2ded2823d363f8459ae785261e61c128d68464c8781dba0466b") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-markdown@2.0.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-chemfiles/package.py b/var/spack/repos/builtin/packages/py-chemfiles/package.py index cb983d0850e367..ee03273c34e27d 100644 --- a/var/spack/repos/builtin/packages/py-chemfiles/package.py +++ b/var/spack/repos/builtin/packages/py-chemfiles/package.py @@ -18,6 +18,9 @@ class PyChemfiles(PythonPackage): version("0.10.3", sha256="4bbb8b116492a57dbf6ddb4c84aad0133cd782e0cc0e53e4b957f2d93e6806ea") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("chemfiles@0.10.3+shared", when="@0.10.3") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-cig-pythia/package.py b/var/spack/repos/builtin/packages/py-cig-pythia/package.py index 07a77f84c7523b..7058481de61505 100644 --- a/var/spack/repos/builtin/packages/py-cig-pythia/package.py +++ b/var/spack/repos/builtin/packages/py-cig-pythia/package.py @@ -25,6 +25,9 @@ class PyCigPythia(AutotoolsPackage, PythonExtension): version("1.1.0", sha256="d8e941d2d0fa4772c3c0cb3d1d9b6acbb5fa01ef346dc0706a8da541a8f97731") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Build with MPI support.") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/py-codepy/package.py b/var/spack/repos/builtin/packages/py-codepy/package.py index 342c3ce52a05db..542ebb2ed6accd 100644 --- a/var/spack/repos/builtin/packages/py-codepy/package.py +++ b/var/spack/repos/builtin/packages/py-codepy/package.py @@ -21,6 +21,8 @@ class PyCodepy(PythonPackage): version("2019.1", sha256="384f22c37fe987c0ca71951690c3c2fd14dacdeddbeb0fde4fd01cd84859c94e") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-pytools@2015.1.2:", type=("build", "run")) depends_on("py-numpy@1.6:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-configspace/package.py b/var/spack/repos/builtin/packages/py-configspace/package.py index e02780b25c7b18..64dfd9d4472c6e 100644 --- a/var/spack/repos/builtin/packages/py-configspace/package.py +++ b/var/spack/repos/builtin/packages/py-configspace/package.py @@ -17,10 +17,20 @@ class PyConfigspace(PythonPackage): license("BSD-3-Clause") + version("0.7.1", sha256="57b5b8e28ed6ee14ecf6206fdca43ca698ef63bc1531f081d482b26acf4edf1a") + version("0.6.1", sha256="b0a9487c7997481a041feee46f2c8fc9fb9787e1ff553250838d62624dfb0d5a") + version("0.6.0", sha256="9b6c95d8839fcab220372673214b3129b45dcd8b1179829eb2c65746cacb72a9") + version("0.5.0", sha256="c8b61fe119829c29c47fc8719bb5f5740ae3034c793040f7bff67dbc9eb9c754") + version("0.4.21", sha256="09c5ee343f2850865609cc91f2ab27da0a6182f7f196354f9550f6da578ea827") version("0.4.20", sha256="2e4ca06f5a6a61e5322a73dd7545468c79f2a3e8385cab92fdada317af41d9e9") + depends_on("c", type="build") # generated + depends_on("python@3.7:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) depends_on("py-cython", type="build") depends_on("py-pyparsing", type=("build", "run")) + depends_on("py-scipy", when="@0.4.21:") + depends_on("py-typing-extensions", when="@0.6.0:") + depends_on("py-more-itertools", when="@0.6.1:") diff --git a/var/spack/repos/builtin/packages/py-contourpy/package.py b/var/spack/repos/builtin/packages/py-contourpy/package.py index 9d13c9957aa25c..963e3e1255fb69 100644 --- a/var/spack/repos/builtin/packages/py-contourpy/package.py +++ b/var/spack/repos/builtin/packages/py-contourpy/package.py @@ -17,10 +17,14 @@ class PyContourpy(PythonPackage): version("1.0.7", sha256="d8165a088d31798b59e91117d1f5fc3df8168d8b48c4acc10fc0df0d0bdbcc5e") version("1.0.5", sha256="896631cd40222aef3697e4e51177d14c3709fda49d30983269d584f034acc8a4") + depends_on("cxx", type="build") # generated + depends_on("python@3.8:", when="@1.0.7:", type=("build", "link", "run")) depends_on("python@3.7:", type=("build", "link", "run")) depends_on("py-pybind11@2.6:", type=("build", "link")) depends_on("py-setuptools@42:", type="build") depends_on("py-numpy@1.16:", type=("build", "run")) + # https://github.com/numpy/numpy/issues/26191 + depends_on("py-numpy@:1", when="@:1.2.0", type=("build", "run")) depends_on("py-build", when="@:1.0.5", type="build") diff --git a/var/spack/repos/builtin/packages/py-correctionlib/package.py b/var/spack/repos/builtin/packages/py-correctionlib/package.py index 72ce278608a691..8757d244b07219 100644 --- a/var/spack/repos/builtin/packages/py-correctionlib/package.py +++ b/var/spack/repos/builtin/packages/py-correctionlib/package.py @@ -17,6 +17,8 @@ class PyCorrectionlib(PythonPackage): version("2.1.0", sha256="edf79644dc1d9d94f12b4b45366331e5da3f1e21d4cbcd3bb8b0d4b1421b0c44") version("2.0.0", sha256="e4d240cbdb2633a8955ddcd02d5b9bfb33d7e1a33554d6f7957f2dec56988a67") + depends_on("cxx", type="build") # generated + variant( "convert", default=False, diff --git a/var/spack/repos/builtin/packages/py-coverage/package.py b/var/spack/repos/builtin/packages/py-coverage/package.py index 19d7d28d83a348..4a3995bf019c6c 100644 --- a/var/spack/repos/builtin/packages/py-coverage/package.py +++ b/var/spack/repos/builtin/packages/py-coverage/package.py @@ -26,6 +26,8 @@ class PyCoverage(PythonPackage): version("4.3.4", sha256="eaaefe0f6aa33de5a65f48dd0040d7fe08cac9ac6c35a56d0a7db109c3e733df") version("4.0a6", sha256="85c7f3efceb3724ab066a3fcccc05b9b89afcaefa5b669a7e2222d31eac4728d") + depends_on("c", type="build") # generated + variant("toml", default=False, description="Enable pyproject.toml support") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-crcmod/package.py b/var/spack/repos/builtin/packages/py-crcmod/package.py index 77b755b1929773..fa32304829978e 100644 --- a/var/spack/repos/builtin/packages/py-crcmod/package.py +++ b/var/spack/repos/builtin/packages/py-crcmod/package.py @@ -18,5 +18,7 @@ class PyCrcmod(PythonPackage): version("1.7", sha256="dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e") version("1.6", sha256="56d27d035ea029c6ed96779ca042c0136d39d106e3c30baa6422738c7d86aaa5") + depends_on("c", type="build") # generated + depends_on("python@2.4:2.7,3.1:", type=("build", "run")) depends_on("py-setuptools@40.0.0:", type="build") diff --git a/var/spack/repos/builtin/packages/py-cryptography/package.py b/var/spack/repos/builtin/packages/py-cryptography/package.py index ebac2a34c08d18..2c68cae2590bc9 100644 --- a/var/spack/repos/builtin/packages/py-cryptography/package.py +++ b/var/spack/repos/builtin/packages/py-cryptography/package.py @@ -15,6 +15,8 @@ class PyCryptography(PythonPackage): license("Apache-2.0") + version("42.0.8", sha256="8d09d05439ce7baa8e9e95b07ec5b6c886f548deb7e0f69ef25f64b3bce842f2") + version("41.0.7", sha256="13f93ce9bea8016c253b34afc6bd6a75993e5c40672ed5405a9c832f0d4a00bc") version("41.0.3", sha256="6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34") version("40.0.2", sha256="c33c0d32b8594fa647d2e01dbccc303478e16fdd7cf98652d5b3ed11aa5e5c99") version("39.0.2", sha256="bc5b871e977c8ee5a1bbc42fa8d19bcc08baf0c51cbf1586b0e87a2694dde42f") @@ -41,6 +43,7 @@ class PyCryptography(PythonPackage): depends_on("py-setuptools@40.6:", when="@2.7:36", type="build") depends_on("py-setuptools@18.5:", when="@2.2:2.6", type="build") depends_on("py-setuptools@11.3:", when="@:2.1", type="build") + depends_on("py-setuptools-rust@1.7.0:", when="@42:", type=("build", "run")) depends_on("py-setuptools-rust@0.11.4:", when="@3.4.2:", type="build") depends_on("py-setuptools-rust@0.11.4:", when="@3.4:3.4.1", type=("build", "run")) depends_on("rust@1.56:", when="@41:", type="build") diff --git a/var/spack/repos/builtin/packages/py-cudf/package.py b/var/spack/repos/builtin/packages/py-cudf/package.py index 0bf97fbfed0b91..36bc72bdc34dc0 100644 --- a/var/spack/repos/builtin/packages/py-cudf/package.py +++ b/var/spack/repos/builtin/packages/py-cudf/package.py @@ -20,6 +20,8 @@ class PyCudf(PythonPackage): version("0.15.0", sha256="2570636b72cce4c52f71e36307f51f630e2f9ea94a1abc018d40ce919ba990e4") + depends_on("cxx", type="build") # generated + build_directory = "python/cudf" depends_on("cmake@3.14:", type="build") diff --git a/var/spack/repos/builtin/packages/py-cuml/package.py b/var/spack/repos/builtin/packages/py-cuml/package.py index 4ad9862b893875..a3afb09999b1e0 100644 --- a/var/spack/repos/builtin/packages/py-cuml/package.py +++ b/var/spack/repos/builtin/packages/py-cuml/package.py @@ -18,6 +18,8 @@ class PyCuml(PythonPackage): version("0.15.0", sha256="5c9c656ae4eaa94a426e07d7385fd5ea0e5dc7abff806af2941aee10d4ca99c7") + depends_on("cxx", type="build") # generated + depends_on("python@3.7:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-cupy/package.py b/var/spack/repos/builtin/packages/py-cupy/package.py index 70cf880a22c53e..8865cb68060b32 100644 --- a/var/spack/repos/builtin/packages/py-cupy/package.py +++ b/var/spack/repos/builtin/packages/py-cupy/package.py @@ -27,6 +27,8 @@ class PyCupy(PythonPackage, CudaPackage, ROCmPackage): version("11.3.0", sha256="d057cc2f73ecca06fae8b9c270d9e14116203abfd211a704810cc50a453b4c9e") version("11.2.0", sha256="c33361f117a347a63f6996ea97446d17f1c038f1a1f533e502464235076923e2") + depends_on("cxx", type="build") # generated + variant("all", default=False, description="Enable optional py-scipy, optuna, and cython") depends_on("python@3.7:", when="@:11", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-cvxopt/package.py b/var/spack/repos/builtin/packages/py-cvxopt/package.py index 2fcf1433e6b5f5..30b62012450b44 100644 --- a/var/spack/repos/builtin/packages/py-cvxopt/package.py +++ b/var/spack/repos/builtin/packages/py-cvxopt/package.py @@ -17,6 +17,8 @@ class PyCvxopt(PythonPackage): version("1.2.5", sha256="94ec8c36bd6628a11de9014346692daeeef99b3b7bae28cef30c7490bbcb2d72") + depends_on("c", type="build") # generated + variant( "gsl", default=False, diff --git a/var/spack/repos/builtin/packages/py-cvxpy/package.py b/var/spack/repos/builtin/packages/py-cvxpy/package.py index 828982503dd57a..fcf3856aced39a 100644 --- a/var/spack/repos/builtin/packages/py-cvxpy/package.py +++ b/var/spack/repos/builtin/packages/py-cvxpy/package.py @@ -18,6 +18,8 @@ class PyCvxpy(PythonPackage): version("1.1.13", sha256="a9c781e74ad76097b47b86456cb3a943898f7ec9ac8f47bcefc922051cdc4a04") version("1.0.25", sha256="8535529ddb807067b0d59661dce1d9a6ddb2a218398a38ea7772328ad8a6ea13") + depends_on("cxx", type="build") # generated + # Dependency versions based on README.md in python packages depends_on("python@3.4:", type=("build", "run"), when="@1.1:") depends_on("python@3.6:", type=("build", "run"), when="@1.1.13:") diff --git a/var/spack/repos/builtin/packages/py-cx-oracle/package.py b/var/spack/repos/builtin/packages/py-cx-oracle/package.py index 34c6b76002bccd..c93c005b575d82 100644 --- a/var/spack/repos/builtin/packages/py-cx-oracle/package.py +++ b/var/spack/repos/builtin/packages/py-cx-oracle/package.py @@ -14,6 +14,8 @@ class PyCxOracle(PythonPackage): version("8.3.0", sha256="3b2d215af4441463c97ea469b9cc307460739f89fdfa8ea222ea3518f1a424d9") + depends_on("c", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("oracle-instant-client", type="run") depends_on("py-setuptools@40.6.0:", type="build") diff --git a/var/spack/repos/builtin/packages/py-cylp/package.py b/var/spack/repos/builtin/packages/py-cylp/package.py index ac9301f0ddcaa9..90b0254768439e 100644 --- a/var/spack/repos/builtin/packages/py-cylp/package.py +++ b/var/spack/repos/builtin/packages/py-cylp/package.py @@ -21,6 +21,8 @@ class PyCylp(PythonPackage): version("0.91.5", sha256="d68ab1dde125be60abf45c8fd9edd24ab880c8144ad881718ddfa01ff6674c77") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-cython@:2", type="build") diff --git a/var/spack/repos/builtin/packages/py-cyordereddict/package.py b/var/spack/repos/builtin/packages/py-cyordereddict/package.py index debfa13e6a49f1..11be0d688eeaa3 100644 --- a/var/spack/repos/builtin/packages/py-cyordereddict/package.py +++ b/var/spack/repos/builtin/packages/py-cyordereddict/package.py @@ -18,4 +18,6 @@ class PyCyordereddict(PythonPackage): version("1.0.0", sha256="d9b2c31796999770801a9a49403b8cb49510ecb64e5d1e9d4763ed44f2d5a76e") version("0.2.2", sha256="f8387caaffba695d704311842291ede696080a5ed306f07f1825de126fb7f1ec") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-cython-bbox/package.py b/var/spack/repos/builtin/packages/py-cython-bbox/package.py index 9320d12e3cbcc0..58978a14081977 100644 --- a/var/spack/repos/builtin/packages/py-cython-bbox/package.py +++ b/var/spack/repos/builtin/packages/py-cython-bbox/package.py @@ -19,6 +19,8 @@ class PyCythonBbox(PythonPackage): pypi = "cython-bbox/cython_bbox-0.1.3.tar.gz" version("0.1.3", sha256="82e2d887534ecc10d3507489a05b11259f3baacd29eee37e6d8c97e1ffb16554") + + depends_on("c", type="build") # generated depends_on("py-setuptools", type="build") depends_on("py-cython", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-cython/package.py b/var/spack/repos/builtin/packages/py-cython/package.py index 0f005fc73a852c..182a3286a25e54 100644 --- a/var/spack/repos/builtin/packages/py-cython/package.py +++ b/var/spack/repos/builtin/packages/py-cython/package.py @@ -48,6 +48,9 @@ class PyCython(PythonPackage): version("0.23.5", sha256="0ae5a5451a190e03ee36922c4189ca2c88d1df40a89b4f224bc842d388a0d1b6") version("0.23.4", sha256="fec42fecee35d6cc02887f1eef4e4952c97402ed2800bfe41bbd9ed1a0730d8e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # https://github.com/cython/cython/issues/5751 (distutils not yet dropped) depends_on("python@:3.11", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/py-cyvcf2/package.py b/var/spack/repos/builtin/packages/py-cyvcf2/package.py index f00894b9e50c8b..d8954dc6c3d74e 100644 --- a/var/spack/repos/builtin/packages/py-cyvcf2/package.py +++ b/var/spack/repos/builtin/packages/py-cyvcf2/package.py @@ -16,6 +16,8 @@ class PyCyvcf2(PythonPackage): version("0.11.7", sha256="a4b6229b89a0a1043684c65cbdd702c366a8800dc3591fb44c4b5a08640cbeec") + depends_on("c", type="build") # generated + depends_on("python@2.7:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-d2to1/package.py b/var/spack/repos/builtin/packages/py-d2to1/package.py index c8e89103b0c682..6931eef27e30da 100644 --- a/var/spack/repos/builtin/packages/py-d2to1/package.py +++ b/var/spack/repos/builtin/packages/py-d2to1/package.py @@ -19,4 +19,6 @@ class PyD2to1(PythonPackage): ) version("0.2.12", sha256="04ab9f3ac255d367ecda1eb59379e5031816740c3a3eda95d0dba9f6bb3b7ca4") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-dace/package.py b/var/spack/repos/builtin/packages/py-dace/package.py index bfa8bf0d80efbe..2eae218cde2c56 100644 --- a/var/spack/repos/builtin/packages/py-dace/package.py +++ b/var/spack/repos/builtin/packages/py-dace/package.py @@ -21,6 +21,8 @@ class PyDace(PythonPackage): version("master", branch="master", submodules=True) version("0.15.1", sha256="69bfdbbd5c7177f2926a874f5fa82fcdef61fc532c022b4bc12e1e9218724093") + depends_on("cxx", type="build") # generated + variant( "counters", description="Optional requirements that enable performance counter collection.", diff --git a/var/spack/repos/builtin/packages/py-dadi/package.py b/var/spack/repos/builtin/packages/py-dadi/package.py index e059fb9411e1b5..906db1628f203e 100644 --- a/var/spack/repos/builtin/packages/py-dadi/package.py +++ b/var/spack/repos/builtin/packages/py-dadi/package.py @@ -21,6 +21,8 @@ class PyDadi(PythonPackage): version("2020-12-02", commit="047bac0db5245009d9c724e91a851149c34c9de0") version("2.1.0", sha256="97a15aa7ef501850cad4cff66b11b66ecb65d5d68acbf2ff713585c81c3a1038") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type=("build")) depends_on("python@3:", type=("build", "run")) depends_on("py-scipy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-damask/package.py b/var/spack/repos/builtin/packages/py-damask/package.py index c56773e98b4500..1f8106b15d5cb8 100644 --- a/var/spack/repos/builtin/packages/py-damask/package.py +++ b/var/spack/repos/builtin/packages/py-damask/package.py @@ -36,6 +36,9 @@ class PyDamask(PythonPackage): "3.0.0-alpha4", sha256="0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493" ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("py-pandas@0.24:", type=("build", "run"), when="@3.0.0-alpha8:") depends_on("py-numpy@1.17:", type=("build", "run"), when="@3.0.0-alpha8:") depends_on("py-scipy@1.2:", type=("build", "run"), when="@3.0.0-alpha8:") diff --git a/var/spack/repos/builtin/packages/py-darshan/package.py b/var/spack/repos/builtin/packages/py-darshan/package.py index 2f5d9c4ffe5626..b6124eb9cb5412 100644 --- a/var/spack/repos/builtin/packages/py-darshan/package.py +++ b/var/spack/repos/builtin/packages/py-darshan/package.py @@ -21,6 +21,8 @@ class PyDarshan(PythonPackage): version("3.4.1.0", sha256="41a033ebac6fcd0ca05b8ccf07e11191286dee923ec334b876a7ec8e8a6add84") version("3.4.0.1", sha256="0142fc7c0b12a9e5c22358aa26cca7083d28af42aeea7dfcc5698c56b6aee6b7") + depends_on("c", type="build") # generated + depends_on("python@3.7:", type=("build", "run")) depends_on("py-setuptools@:63", when="@:3.4.4", type="build") depends_on("py-setuptools@64:", when="@3.4.5:", type="build") diff --git a/var/spack/repos/builtin/packages/py-dask/package.py b/var/spack/repos/builtin/packages/py-dask/package.py index 5980a9efe4368e..87403780981414 100644 --- a/var/spack/repos/builtin/packages/py-dask/package.py +++ b/var/spack/repos/builtin/packages/py-dask/package.py @@ -63,6 +63,8 @@ class PyDask(PythonPackage): depends_on("py-numpy@1.16.0:", type=("build", "run"), when="@2021.3.1: +array") depends_on("py-numpy@1.18.0:", type=("build", "run"), when="@2022.10.2: +array") depends_on("py-numpy@1.21.0:", type=("build", "run"), when="@2023.4.0: +array") + # https://github.com/dask/dask/issues/11066 + depends_on("py-numpy@:1", when="@:2024.5.0+array", type=("build", "run")) # The dependency on py-toolz is non-optional starting version 2021.3.1 depends_on("py-toolz@0.8.2:", type=("build", "run"), when="@:2021.3.0 +array") @@ -82,6 +84,8 @@ class PyDask(PythonPackage): depends_on("py-numpy@1.16.0:", type=("build", "run"), when="@2021.3.1: +dataframe") depends_on("py-numpy@1.18.0:", type=("build", "run"), when="@2022.10.2: +dataframe") depends_on("py-numpy@1.21.0:", type=("build", "run"), when="@2023.4.0: +dataframe") + # https://github.com/dask/dask/issues/11066 + depends_on("py-numpy@:1", when="@:2024.5.0+dataframe", type=("build", "run")) depends_on("py-pandas@0.25.0:", type=("build", "run"), when="@2020.12.0: +dataframe") depends_on("py-pandas@1.0:", type=("build", "run"), when="@2022.10.2: +dataframe") depends_on("py-pandas@1.3:", type=("build", "run"), when="@2023.4.0: +dataframe") diff --git a/var/spack/repos/builtin/packages/py-datasets/package.py b/var/spack/repos/builtin/packages/py-datasets/package.py index a85a40531c3a7a..03ecf1c792cc15 100644 --- a/var/spack/repos/builtin/packages/py-datasets/package.py +++ b/var/spack/repos/builtin/packages/py-datasets/package.py @@ -18,30 +18,46 @@ class PyDatasets(PythonPackage): license("Apache-2.0") + version("2.20.0", sha256="3c4dbcd27e0f642b9d41d20ff2efa721a5e04b32b2ca4009e0fc9139e324553f") version("2.8.0", sha256="a843b69593914071f921fc1086fde939f30a63415a34cdda5db3c0acdd58aff2") version("1.8.0", sha256="d57c32bb29e453ee7f3eb0bbca3660ab4dd2d0e4648efcfa987432624cab29d3") - depends_on("python@3.6:", type=("build", "run")) - depends_on("py-setuptools", type="build") - depends_on("py-numpy@1.17:", type=("build", "run")) - depends_on("py-pyarrow@1:3+parquet", type=("build", "run"), when="@:1.8.0") - depends_on("py-pyarrow@6:+parquet", type=("build", "run"), when="@2.8.0:") - depends_on("py-dill@:0.3.6", type=("build", "run")) - depends_on("py-pandas", type=("build", "run")) - depends_on("py-requests@2.19:", type=("build", "run")) - depends_on("py-tqdm@4.27:4.49", type=("build", "run"), when="@:1.8.0") - depends_on("py-tqdm@4.62.1:", type=("build", "run"), when="@2.8.0:") - depends_on("py-xxhash", type=("build", "run")) - depends_on("py-multiprocess", type=("build", "run")) - depends_on("py-importlib-metadata", when="^python@:3.7", type=("build", "run")) - depends_on("py-huggingface-hub@:0.0", type=("build", "run"), when="@:1.8.0") - depends_on("py-huggingface-hub@0.2:0", type=("build", "run"), when="@2.8.0:") - depends_on("py-packaging", type=("build", "run")) - depends_on("py-aiohttp", type=("build", "run"), when="@2.8.0:") - depends_on("py-responses@:0.18", type=("build", "run"), when="@2.8.0:") - depends_on("py-pyyaml@5.1:", type=("build", "run"), when="@2.8.0:") - - with when("@:1.8.0"): - depends_on("py-fsspec", type=("build", "run"), when="^python@3.8:") - depends_on("py-fsspec@:0.8.0", type=("build", "run"), when="^python@:3.7") - depends_on("py-fsspec@2021.11.1:+http", type=("build", "run"), when="@2.8.0:") + with default_args(type="build"): + depends_on("py-setuptools") + + with default_args(type=("build", "run")): + depends_on("python@3.6:") + depends_on("py-numpy@1.17:") + depends_on("py-pandas") + depends_on("py-requests@2.19:") + depends_on("py-xxhash") + depends_on("py-multiprocess") + depends_on("py-packaging") + with when("@:1.8.0"): + depends_on("py-dill@:0.3.6") + depends_on("py-fsspec", when="^python@3.8:") + depends_on("py-fsspec@:0.8.0", when="^python@:3.7") + depends_on("py-huggingface-hub@:0.0") + depends_on("py-importlib-metadata", when="^python@:3.7") + depends_on("py-pyarrow@1:3+parquet") + depends_on("py-tqdm@4.27:4.49", when="@:1.8.0") + with when("@2.8.0:"): + depends_on("py-aiohttp") + depends_on("py-pyyaml@5.1:") + depends_on("python@3.7:") + with when("@2.8.0"): + depends_on("py-dill@:0.3.6") + depends_on("py-fsspec@2021.11.1:+http") + depends_on("py-huggingface-hub@0.2:0") + depends_on("py-pyarrow@6:+parquet") + depends_on("py-responses@:0.18") + depends_on("py-tqdm@4.62.1:") + with when("@2.20.0:"): + depends_on("py-filelock") + depends_on("py-dill@0.3.0:0.3.8") # temporary upper bound + depends_on("py-fsspec@2023.1.0:2024.5.0+http") + depends_on("py-huggingface-hub@0.21.2:") + depends_on("py-pyarrow@15:+parquet") + depends_on("py-requests@2.32.2:") + depends_on("py-tqdm@4.66.3:") + depends_on("python@3.8:") diff --git a/var/spack/repos/builtin/packages/py-datrie/package.py b/var/spack/repos/builtin/packages/py-datrie/package.py index 9bb763aed512c3..559ad594d8dbc3 100644 --- a/var/spack/repos/builtin/packages/py-datrie/package.py +++ b/var/spack/repos/builtin/packages/py-datrie/package.py @@ -16,6 +16,8 @@ class PyDatrie(PythonPackage): version("0.8.2", sha256="525b08f638d5cf6115df6ccd818e5a01298cd230b2dac91c8ff2e6499d18765d") + depends_on("c", type="build") # generated + depends_on("python@2.7:2.8,3.4:", type=("build", "run")) depends_on("py-setuptools@40.8:", type=("build")) depends_on("py-cython@0.28:", type="build") diff --git a/var/spack/repos/builtin/packages/py-deap/package.py b/var/spack/repos/builtin/packages/py-deap/package.py index cc4085cc65ff06..22589fcb86024c 100644 --- a/var/spack/repos/builtin/packages/py-deap/package.py +++ b/var/spack/repos/builtin/packages/py-deap/package.py @@ -17,6 +17,9 @@ class PyDeap(PythonPackage): version("1.3.3", sha256="8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31") version("1.3.1", sha256="11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") # uses 2to3 depends_on("py-setuptools@:57", type="build", when="@1.3.1") diff --git a/var/spack/repos/builtin/packages/py-deepspeed/package.py b/var/spack/repos/builtin/packages/py-deepspeed/package.py index 75816b0a2c8832..5b4321f24815d9 100644 --- a/var/spack/repos/builtin/packages/py-deepspeed/package.py +++ b/var/spack/repos/builtin/packages/py-deepspeed/package.py @@ -21,6 +21,8 @@ class PyDeepspeed(PythonPackage): version("0.10.0", sha256="afb06a97fde2a33d0cbd60a8357a70087c037b9f647ca48377728330c35eff3e") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-hjson", type=("build", "run")) depends_on("ninja", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py b/var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py index ac13c36108982f..c8b7c62907d8fd 100644 --- a/var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py +++ b/var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py @@ -16,5 +16,7 @@ class PyDeeptoolsintervals(PythonPackage): version("0.1.9", sha256="7d94c36fd2b6f10d8b99e536d2672e8228971f1fc810497d33527bba2c40d4f6") + depends_on("c", type="build") # generated + depends_on("python@2.7:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-devlib/package.py b/var/spack/repos/builtin/packages/py-devlib/package.py index 941590e0e1e195..8b88231ba7a2a4 100644 --- a/var/spack/repos/builtin/packages/py-devlib/package.py +++ b/var/spack/repos/builtin/packages/py-devlib/package.py @@ -23,6 +23,8 @@ class PyDevlib(PythonPackage): version("0.0.3", sha256="29ec5f1de481783ab0b9efc111dfeb67c890187d56fca8592b25ee756ff32902") version("0.0.2", sha256="972f33be16a06572a19b67d909ee0ed6cb6f21f9a9da3c43fd0ff5851421051d") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-python-dateutil", type=("build", "run")) depends_on("py-pexpect@3.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-dgl/package.py b/var/spack/repos/builtin/packages/py-dgl/package.py index 10c6cc2e3e3aa6..f16980179eba06 100644 --- a/var/spack/repos/builtin/packages/py-dgl/package.py +++ b/var/spack/repos/builtin/packages/py-dgl/package.py @@ -34,6 +34,10 @@ class PyDgl(CMakePackage, PythonExtension, CudaPackage): "0.4.2", tag="0.4.2", commit="55e056fbae8f25f3da4aab0a0d864d72c2a445ff", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("cuda", default=True, description="Build with CUDA") variant("openmp", default=True, description="Build with OpenMP") variant( diff --git a/var/spack/repos/builtin/packages/py-dipy/package.py b/var/spack/repos/builtin/packages/py-dipy/package.py index dfc95a71b76f46..23d5d4ff32f244 100644 --- a/var/spack/repos/builtin/packages/py-dipy/package.py +++ b/var/spack/repos/builtin/packages/py-dipy/package.py @@ -22,6 +22,8 @@ class PyDipy(PythonPackage): version("1.7.0", sha256="59bb647128aae7793215c813bb8ea35dae260ac9f0d938c724064f0af5a05cc3") version("1.4.1", sha256="b4bf830feae751f3f985d54cb71031fc35cea612838320f1f74246692b8a3cc0") + depends_on("c", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("python@:3.9", type=("build", "run"), when="@:1.4") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-distance/package.py b/var/spack/repos/builtin/packages/py-distance/package.py index 214471881bb0ae..447a0c9abe9559 100644 --- a/var/spack/repos/builtin/packages/py-distance/package.py +++ b/var/spack/repos/builtin/packages/py-distance/package.py @@ -19,4 +19,6 @@ class PyDistance(PythonPackage): version("0.1.3", sha256="60807584f5b6003f5c521aa73f39f51f631de3be5cccc5a1d67166fcbf0d4551") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-distlib/package.py b/var/spack/repos/builtin/packages/py-distlib/package.py index 664f6621aa36a8..91bb8bbbbdad84 100644 --- a/var/spack/repos/builtin/packages/py-distlib/package.py +++ b/var/spack/repos/builtin/packages/py-distlib/package.py @@ -19,6 +19,8 @@ class PyDistlib(PythonPackage): version("0.3.4", sha256="e4b58818180336dc9c529bfb9a0b58728ffc09ad92027a3f30b7cd91e3458579") version("0.3.3", sha256="d982d0751ff6eaaab5e2ec8e691d949ee80eddf01a62eaa96ddb11531fe16b05") + depends_on("c", type="build") # generated + # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") depends_on("py-setuptools@44:", when="@0.3.6:", type="build") diff --git a/var/spack/repos/builtin/packages/py-dlio-profiler-py/package.py b/var/spack/repos/builtin/packages/py-dlio-profiler-py/package.py index e36698c24c871f..0bb2d7a86c1cfe 100644 --- a/var/spack/repos/builtin/packages/py-dlio-profiler-py/package.py +++ b/var/spack/repos/builtin/packages/py-dlio-profiler-py/package.py @@ -23,6 +23,9 @@ class PyDlioProfilerPy(PythonPackage): version("0.0.2", tag="v0.0.2", commit="b72144abf1499e03d1db87ef51e780633e9e9533") version("0.0.1", tag="v0.0.1", commit="28affe716211315dd6936ddc8e25ce6c43cdf491") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cpp-logger@0.0.1", when="@:0.0.1") depends_on("cpp-logger@0.0.2", when="@0.0.2") depends_on("cpp-logger@0.0.3", when="@0.0.3:") diff --git a/var/spack/repos/builtin/packages/py-dm-tree/package.py b/var/spack/repos/builtin/packages/py-dm-tree/package.py index bd2d7e4eb3f130..f00909fe73881a 100644 --- a/var/spack/repos/builtin/packages/py-dm-tree/package.py +++ b/var/spack/repos/builtin/packages/py-dm-tree/package.py @@ -26,6 +26,8 @@ class PyDmTree(PythonPackage): version("0.1.6", sha256="6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a") version("0.1.5", sha256="a951d2239111dfcc468071bc8ff792c7b1e3192cab5a3c94d33a8b2bda3127fa") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("cmake", when="@0.1.7:", type="build") depends_on("bazel@:5", when="@:0.1.6", type="build") diff --git a/var/spack/repos/builtin/packages/py-doit/package.py b/var/spack/repos/builtin/packages/py-doit/package.py index fdd111efcde30c..43b6d0fe6174e6 100644 --- a/var/spack/repos/builtin/packages/py-doit/package.py +++ b/var/spack/repos/builtin/packages/py-doit/package.py @@ -16,6 +16,8 @@ class PyDoit(PythonPackage): version("0.36.0", sha256="71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc") + depends_on("c", type="build") # generated + depends_on("python@3.8:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-cloudpickle", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-dulwich/package.py b/var/spack/repos/builtin/packages/py-dulwich/package.py index 928e7d5eff0209..6e9c5027a16baa 100644 --- a/var/spack/repos/builtin/packages/py-dulwich/package.py +++ b/var/spack/repos/builtin/packages/py-dulwich/package.py @@ -24,6 +24,8 @@ class PyDulwich(PythonPackage): version("0.20.15", sha256="fb1773373ec2af896031f8312af6962a1b8b0176a2de3fb3d84a84ec04498888") version("0.20.14", sha256="21d6ee82708f7c67ce3fdcaf1f1407e524f7f4f7411a410a972faa2176baec0d") + depends_on("c", type="build") # generated + depends_on("py-setuptools@61.2:", when="@0.21.6", type="build") depends_on("py-setuptools", type="build") depends_on("py-certifi", when="@:0.20.44", 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 index 7ed64c30883385..5257a909e5f08e 100644 --- a/var/spack/repos/builtin/packages/py-ecmwflibs/package.py +++ b/var/spack/repos/builtin/packages/py-ecmwflibs/package.py @@ -18,6 +18,9 @@ class PyEcmwflibs(PythonPackage): version("0.6.1", sha256="9f2153d1b4a07038b975b7d6bb89bbf9e88d6bc4e2ef4d4e067e58a2fb5270d3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-findlibs", type=("build", "run")) depends_on("eccodes") diff --git a/var/spack/repos/builtin/packages/py-ecos/package.py b/var/spack/repos/builtin/packages/py-ecos/package.py index d1e44f9ff1eb7a..3eca689c11f051 100644 --- a/var/spack/repos/builtin/packages/py-ecos/package.py +++ b/var/spack/repos/builtin/packages/py-ecos/package.py @@ -22,6 +22,8 @@ class PyEcos(PythonPackage): "2.0.7.post1", sha256="83e90f42b3f32e2a93f255c3cfad2da78dbd859119e93844c45d2fca20bdc758" ) + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy@1.6:", type=("build", "run")) depends_on("py-scipy@0.9:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-editables/package.py b/var/spack/repos/builtin/packages/py-editables/package.py index 990b2db11fd668..8cc8f18bd9711d 100644 --- a/var/spack/repos/builtin/packages/py-editables/package.py +++ b/var/spack/repos/builtin/packages/py-editables/package.py @@ -12,7 +12,10 @@ class PyEditables(PythonPackage): homepage = "https://github.com/pfmoore/editables" pypi = "editables/editables-0.3.tar.gz" + version("0.5", sha256="309627d9b5c4adc0e668d8c6fa7bac1ba7c8c5d415c2d27f60f081f8e80d1de2") + version("0.4", sha256="dc322c42e7ccaf19600874035a4573898d88aadd07e177c239298135b75da772") version("0.3", sha256="167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a") depends_on("python@3.7:", type=("build", "run")) - depends_on("py-setuptools@42:", type="build") + depends_on("py-setuptools@42:", type="build", when="@:0.3") + depends_on("py-flit-core@3.3:", type="build", when="@0.4:") diff --git a/var/spack/repos/builtin/packages/py-editdistance/package.py b/var/spack/repos/builtin/packages/py-editdistance/package.py index ca627c31612796..7c717519c83c7a 100644 --- a/var/spack/repos/builtin/packages/py-editdistance/package.py +++ b/var/spack/repos/builtin/packages/py-editdistance/package.py @@ -22,6 +22,8 @@ class PyEditdistance(PythonPackage): version("0.6.2", tag="v0.6.2", commit="3f5a5b0299f36662349df0917352a42c620e3dd4") version("0.4", sha256="c765db6f8817d38922e4a50be4b9ab338b2c539377b6fcf0bca11dea72eeb8c1") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-cython", when="@0.6.2:", type="build") depends_on("python@3.6:", when="@0.6.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-edlib/package.py b/var/spack/repos/builtin/packages/py-edlib/package.py index f9f070eb7870f7..c4cf4feaaad92a 100644 --- a/var/spack/repos/builtin/packages/py-edlib/package.py +++ b/var/spack/repos/builtin/packages/py-edlib/package.py @@ -18,4 +18,6 @@ class PyEdlib(PythonPackage): version("1.3.9", sha256="64c3dfab3ebe3e759565a0cc71eb4df23cf3ce1713fd558af3c473dddc2a3766") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-efel/package.py b/var/spack/repos/builtin/packages/py-efel/package.py index 2a1282c38912d2..26fa4ce358c3ac 100644 --- a/var/spack/repos/builtin/packages/py-efel/package.py +++ b/var/spack/repos/builtin/packages/py-efel/package.py @@ -22,5 +22,7 @@ class PyEfel(PythonPackage): version("5.2.0", sha256="ed2c5efe22a4c703a4d9e47775b939009e1456713ac896898ebabf177c60b1dc") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy@1.6:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-elephant/package.py b/var/spack/repos/builtin/packages/py-elephant/package.py index 2b8a0abfc101f7..9190398cfc4468 100644 --- a/var/spack/repos/builtin/packages/py-elephant/package.py +++ b/var/spack/repos/builtin/packages/py-elephant/package.py @@ -33,6 +33,8 @@ class PyElephant(PythonPackage): version("0.4.1", sha256="86b21a44cbacdc09a6ba6f51738dcd5b42ecd553d73acb29f71a0be7c82eac81") version("0.3.0", sha256="747251ccfb5820bdead6391411b5faf205b4ddf3ababaefe865f50b16540cfef") + depends_on("cxx", type="build") # generated + variant("docs", default=False, description="Install documentation dependencies") variant( "extras", default=False, description="Build with extras for GPFA, ASSET", when="@0.6.4:" diff --git a/var/spack/repos/builtin/packages/py-ephem/package.py b/var/spack/repos/builtin/packages/py-ephem/package.py index 74025e66cbaf24..659d344c3c2704 100644 --- a/var/spack/repos/builtin/packages/py-ephem/package.py +++ b/var/spack/repos/builtin/packages/py-ephem/package.py @@ -17,5 +17,7 @@ class PyEphem(PythonPackage): version("3.7.7.1", sha256="d9d05d85c0d38a79169acaef25964ac9df2d808f0d833354545b9ef681ff584d") + depends_on("c", type="build") # generated + # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-eprosima-fastdds/package.py b/var/spack/repos/builtin/packages/py-eprosima-fastdds/package.py index 1d65cd5f6c97b3..ec965a1a25aaf3 100644 --- a/var/spack/repos/builtin/packages/py-eprosima-fastdds/package.py +++ b/var/spack/repos/builtin/packages/py-eprosima-fastdds/package.py @@ -21,6 +21,8 @@ class PyEprosimaFastdds(CMakePackage, PythonExtension): version("1.2.2", sha256="78c53739a66544b8c91d0016560c267e11bd7fdaf727b3bfbffd44ae65c93c62") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.15:", type="build") extends("python") depends_on("py-pytest", type="test") diff --git a/var/spack/repos/builtin/packages/py-espresso/package.py b/var/spack/repos/builtin/packages/py-espresso/package.py index c189bb45405f3a..ffa05d3a10ef86 100644 --- a/var/spack/repos/builtin/packages/py-espresso/package.py +++ b/var/spack/repos/builtin/packages/py-espresso/package.py @@ -31,6 +31,8 @@ class PyEspresso(CMakePackage): version("4.0.1", sha256="17b7268eeba652a77f861bc534cdd05d206e7641d203a9dd5029b44bd422304b") version("4.0.0", sha256="8e128847447eebd843de24be9b4ad14aa19c028ae48879a5a4535a9683836e6b") + depends_on("cxx", type="build") # generated + # espressomd/espresso#2244 merge upstream patch("2244.patch", when="@4.0.0") diff --git a/var/spack/repos/builtin/packages/py-espressopp/package.py b/var/spack/repos/builtin/packages/py-espressopp/package.py index ecb9512620cb3e..e52ffe7084e0ce 100644 --- a/var/spack/repos/builtin/packages/py-espressopp/package.py +++ b/var/spack/repos/builtin/packages/py-espressopp/package.py @@ -23,6 +23,9 @@ class PyEspressopp(CMakePackage): version("master", branch="master") version("3.0.0", sha256="63518e768a98179ad5ef3be96eabaa4d38063b34962e2278db7d59ed2bb8a32e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("ug", default=False, description="Build user guide") variant("pdf", default=False, description="Build user guide in pdf format") variant("dg", default=False, description="Build developer guide") diff --git a/var/spack/repos/builtin/packages/py-ete3/package.py b/var/spack/repos/builtin/packages/py-ete3/package.py index 85b2f3a4edbf5f..a2dade451bace9 100644 --- a/var/spack/repos/builtin/packages/py-ete3/package.py +++ b/var/spack/repos/builtin/packages/py-ete3/package.py @@ -23,6 +23,8 @@ class PyEte3(PythonPackage): version("3.1.3", sha256="06a3b7fa8ed90187b076a8dbbe5b1b62acee94201d3c6e822f55f449601ef6f2") version("3.1.2", sha256="4fc987b8c529889d6608fab1101f1455cb5cbd42722788de6aea9c7d0a8e59e9") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-exarl/package.py b/var/spack/repos/builtin/packages/py-exarl/package.py index a4fde23a02cef4..9a3db4675f797f 100644 --- a/var/spack/repos/builtin/packages/py-exarl/package.py +++ b/var/spack/repos/builtin/packages/py-exarl/package.py @@ -23,6 +23,8 @@ class PyExarl(PythonPackage): version("update-spack", branch="update-spack") version("0.1.0", tag="v0.1.0", commit="5f5b99884a92f86ea9f637524eca6f4393b9635f") + depends_on("c", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("git-lfs", type=("build")) depends_on("py-setuptools", type=("build")) diff --git a/var/spack/repos/builtin/packages/py-exodus-bundler/package.py b/var/spack/repos/builtin/packages/py-exodus-bundler/package.py index cbb4fb6d430671..8ac56eb41ba96d 100644 --- a/var/spack/repos/builtin/packages/py-exodus-bundler/package.py +++ b/var/spack/repos/builtin/packages/py-exodus-bundler/package.py @@ -17,6 +17,8 @@ class PyExodusBundler(PythonPackage): version("2.0.2", sha256="4e896a2034b94cf7b4fb33d86a68e29a7d3b08e57541e444db34dddc6ac1ef68") + depends_on("c", type="build") # generated + depends_on("musl", type="run", when="%apple-clang") depends_on("musl", type="run", when="%clang") depends_on("musl", type="run", when="%gcc") diff --git a/var/spack/repos/builtin/packages/py-extension-helpers/package.py b/var/spack/repos/builtin/packages/py-extension-helpers/package.py index 298d78a8b259fa..4005310244be20 100644 --- a/var/spack/repos/builtin/packages/py-extension-helpers/package.py +++ b/var/spack/repos/builtin/packages/py-extension-helpers/package.py @@ -20,5 +20,7 @@ class PyExtensionHelpers(PythonPackage): version("0.1", sha256="ac8a6fe91c6d98986a51a9f08ca0c7945f8fd70d95b662ced4040ae5eb973882") + depends_on("c", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools@30.3:", type="build") diff --git a/var/spack/repos/builtin/packages/py-f90wrap/package.py b/var/spack/repos/builtin/packages/py-f90wrap/package.py index 705cddc2e8c879..096defc24dd75f 100644 --- a/var/spack/repos/builtin/packages/py-f90wrap/package.py +++ b/var/spack/repos/builtin/packages/py-f90wrap/package.py @@ -19,6 +19,9 @@ class PyF90wrap(PythonPackage): version("0.2.6", sha256="e0748eb5e288be7f47829a272fc230373469fb40afccddf91e9973c56da43dd4") version("0.2.3", sha256="5577ea92934c5aad378df21fb0805b5fb433d6f2b8b9c1bf1a9ec1e3bf842cff") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # TODO errors with python 3.6 due to UnicodeDecodeError depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-fallocate/package.py b/var/spack/repos/builtin/packages/py-fallocate/package.py index ad9927e94f886b..6946b25f6ecbb5 100644 --- a/var/spack/repos/builtin/packages/py-fallocate/package.py +++ b/var/spack/repos/builtin/packages/py-fallocate/package.py @@ -16,5 +16,7 @@ class PyFallocate(PythonPackage): version("1.6.4", sha256="85ebeb2786761fbe80d88c52590a610bd3425fc89e188c208a3f261a5bd6acb3") + depends_on("c", type="build") # generated + # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-fastcache/package.py b/var/spack/repos/builtin/packages/py-fastcache/package.py index 0137184e1a734d..f0fa37406863a7 100644 --- a/var/spack/repos/builtin/packages/py-fastcache/package.py +++ b/var/spack/repos/builtin/packages/py-fastcache/package.py @@ -16,4 +16,6 @@ class PyFastcache(PythonPackage): version("1.1.0", sha256="6de1b16e70335b7bde266707eb401a3aaec220fb66c5d13b02abf0eab8be782b") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-fastcluster/package.py b/var/spack/repos/builtin/packages/py-fastcluster/package.py index 0eb63dc1a1b98c..ce605e2e250d61 100644 --- a/var/spack/repos/builtin/packages/py-fastcluster/package.py +++ b/var/spack/repos/builtin/packages/py-fastcluster/package.py @@ -16,5 +16,7 @@ class PyFastcluster(PythonPackage): version("1.1.26", sha256="a202f44a3b06f5cf9cdba3c67d6c523288922d6e6a1cdf737292f93759aa82f7") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy@1.9:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-fastdtw/package.py b/var/spack/repos/builtin/packages/py-fastdtw/package.py index a7dd56cd65eba7..6341b00db3e8a3 100644 --- a/var/spack/repos/builtin/packages/py-fastdtw/package.py +++ b/var/spack/repos/builtin/packages/py-fastdtw/package.py @@ -21,6 +21,8 @@ class PyFastdtw(PythonPackage): version("0.3.4", sha256="2350fa6ec36bcad186eaf81f46eff35181baf04e324f522de8aeb43d0243f64f") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-fastfold/package.py b/var/spack/repos/builtin/packages/py-fastfold/package.py index 6d741ead6c8c6f..4a49c573df7443 100644 --- a/var/spack/repos/builtin/packages/py-fastfold/package.py +++ b/var/spack/repos/builtin/packages/py-fastfold/package.py @@ -17,6 +17,8 @@ class PyFastfold(PythonPackage): version("0.2.0", sha256="6760dbae9809b8b26219c9477489d34325807be504098901d0375fbdc3103f88") + depends_on("cxx", type="build") # generated + # From README: depends_on("python@3.8:", type=("build", "run")) # Req Relaxed (was @3.8:3.9) depends_on("cuda@11.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-fastpath/package.py b/var/spack/repos/builtin/packages/py-fastpath/package.py index a94b8d545fbc9c..44d97624d41e0c 100644 --- a/var/spack/repos/builtin/packages/py-fastpath/package.py +++ b/var/spack/repos/builtin/packages/py-fastpath/package.py @@ -19,5 +19,7 @@ class PyFastpath(PythonPackage): version("1.9", sha256="3372d306a3c4e4e764b3995946132333726a229e9002879b9112779dd442b31a") + depends_on("c", type="build") # generated + depends_on("python@3.5.3:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-fastremap/package.py b/var/spack/repos/builtin/packages/py-fastremap/package.py index 71103a1375531d..4e3d1bb68344b4 100644 --- a/var/spack/repos/builtin/packages/py-fastremap/package.py +++ b/var/spack/repos/builtin/packages/py-fastremap/package.py @@ -17,6 +17,8 @@ class PyFastremap(PythonPackage): version("1.14.1", sha256="067d42d6cb3b1b0789889efd1d7fae58006c82ada4a8446d40e9e838b358ee7c") + depends_on("cxx", type="build") # generated + depends_on("python@3.7:3", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-fastrlock/package.py b/var/spack/repos/builtin/packages/py-fastrlock/package.py index e45bc5f3a75cbd..02081e1d506805 100644 --- a/var/spack/repos/builtin/packages/py-fastrlock/package.py +++ b/var/spack/repos/builtin/packages/py-fastrlock/package.py @@ -18,6 +18,8 @@ class PyFastrlock(PythonPackage): version("0.8.1", sha256="8a5f2f00021c4ac72e4dab910dc1863c0e008a2e7fb5c843933ae9bcfc3d0802") version("0.5", sha256="9ae1a31f6e069b5f0f28ba63c594d0c952065de0a375f7b491d21ebaccc5166f") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-cython", type="build") # in newer pip versions --install-option does not exist diff --git a/var/spack/repos/builtin/packages/py-faststructure/package.py b/var/spack/repos/builtin/packages/py-faststructure/package.py index 256dc429cbf171..b9b90c490ad036 100644 --- a/var/spack/repos/builtin/packages/py-faststructure/package.py +++ b/var/spack/repos/builtin/packages/py-faststructure/package.py @@ -17,6 +17,8 @@ class PyFaststructure(PythonPackage): version("1.0", sha256="f1bfb24bb5ecd108bc3a90145fad232012165c1e60608003f1c87d200f867b81") + depends_on("c", type="build") # generated + # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-fenics-basix/package.py b/var/spack/repos/builtin/packages/py-fenics-basix/package.py index 190272a55b266b..02f42c149a8076 100644 --- a/var/spack/repos/builtin/packages/py-fenics-basix/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-basix/package.py @@ -21,6 +21,8 @@ class PyFenicsBasix(PythonPackage): version("0.7.0", sha256="9bee81b396ee452eec8d9735f278cb44cb6994c6bc30aec8ed9bb4b12d83fa7f") version("0.6.0", sha256="687ae53153c98facac4080dcdc7081701db1dcea8c5e7ae3feb72aec17f83304") + depends_on("cxx", type="build") # generated + depends_on("fenics-basix@main", type=("build", "run"), when="@main") depends_on("fenics-basix@0.8.0", type=("build", "run"), when="@0.8.0") depends_on("fenics-basix@0.7.0", type=("build", "run"), when="@0.7.0") diff --git a/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py index 236c0bf028d42b..97ce274173cd5d 100644 --- a/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py @@ -22,6 +22,8 @@ class PyFenicsDolfinx(PythonPackage): version("0.7.2", sha256="7d9ce1338ce66580593b376327f23ac464a4ce89ef63c105efc1a38e5eae5c0b") version("0.6.0", sha256="eb8ac2bb2f032b0d393977993e1ab6b4101a84d54023a67206e3eac1a8d79b80") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.19:", type="build") depends_on("hdf5", type="build") depends_on("pkgconfig", type="build") @@ -58,7 +60,8 @@ class PyFenicsDolfinx(PythonPackage): depends_on("py-petsc4py", type=("build", "run")) depends_on("py-cffi", type=("build", "run")) - depends_on("py-nanobind@1.8:", when="@0.8:", type="build") + depends_on("py-nanobind@2:", when="@0.9:", type="build") + depends_on("py-nanobind@1.8:1.9", when="@0.8", type="build") depends_on("py-scikit-build-core+pyproject@0.5:", when="@0.8:", type="build") depends_on("py-pybind11@2.7.0:", when="@:0.7", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-fenics-ffc/package.py b/var/spack/repos/builtin/packages/py-fenics-ffc/package.py index b5ddb2755808a0..f77114e9e2aa49 100644 --- a/var/spack/repos/builtin/packages/py-fenics-ffc/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-ffc/package.py @@ -28,6 +28,8 @@ class PyFenicsFfc(PythonPackage): ) version("2016.2.0", sha256="097c284780447ea7bb47d4d51956648a1efb2cb9047eb1382944421dde351ecb") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type=("build", "run")) depends_on("py-numpy", 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 index 22fad38792189d..692f5f71de1c61 100644 --- a/var/spack/repos/builtin/packages/py-flash-attn/package.py +++ b/var/spack/repos/builtin/packages/py-flash-attn/package.py @@ -11,17 +11,32 @@ class PyFlashAttn(PythonPackage): This package provides the official implementation of FlashAttention. """ - pypi = "flash-attn/flash_attn-2.5.4.tar.gz" + homepage = "https://github.com/Dao-AILab/flash-attention.git" + pypi = "flash-attn/flash_attn-0.0.0.tar.gz" + git = "https://github.com/Dao-AILab/flash-attention.git" maintainers("aurianer") license("BSD") + version("main", branch="main") + version( + "2.5.9.post1", sha256="a92db1683a5b141a0f4371d251ae9f73e9aef629b3a58a50d0ef430266c68782" + ) + version("2.5.8", sha256="2e5b2bcff6d5cff40d494af91ecd1eb3c5b4520a6ce7a0a8b1f9c1ed129fb402") + version("2.5.7", sha256="7c079aef4e77c4e9a71a3cd88662362e0fe82f658db0b2dbff6f279de2a387a8") + version("2.5.6", sha256="d25801aa060877cad997939bd7130faf620fdbeda947c3ffde5865906d430c36") version("2.5.5", sha256="751cee17711d006fe7341cdd78584af86a6239afcfe43b9ed11c84db93126267") version("2.5.4", sha256="d83bb427b517b07e9db655f6e5166eb2607dccf4d6ca3229e3a3528c206b0175") version("2.4.2", sha256="eb822a8c4219b610e9d734cbc8cd9ee4547f27433815a2b90dc1462766feefc1") - depends_on("py-setuptools", type="build") + depends_on("cxx", type="build") # generated + + with default_args(type="build"): + depends_on("py-ninja") + depends_on("py-packaging") + depends_on("py-psutil") + depends_on("py-setuptools") with default_args(type=("build", "run")): depends_on("py-torch+cuda") @@ -32,6 +47,4 @@ class PyFlashAttn(PythonPackage): with default_args(type=("build", "link", "run")): depends_on("py-pybind11") - depends_on("py-psutil", type="build") - depends_on("python@3.7:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-flatbuffers/package.py b/var/spack/repos/builtin/packages/py-flatbuffers/package.py index d91f04e672a9de..3b2d6249bd05a1 100644 --- a/var/spack/repos/builtin/packages/py-flatbuffers/package.py +++ b/var/spack/repos/builtin/packages/py-flatbuffers/package.py @@ -20,6 +20,7 @@ class PyFlatbuffers(PythonPackage): license("Apache-2.0") + version("24.3.25", sha256="de2ec5b203f21441716617f38443e0a8ebf3d25bf0d9c0bb0ce68fa00ad546a4") version("23.5.26", sha256="9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89") version("2.0.7", sha256="0ae7d69c5b82bf41962ca5fde9cc43033bc9501311d975fd5a25e8a7d29c1245") version("2.0", sha256="12158ab0272375eab8db2d663ae97370c33f152b27801fa6024e1d6105fd4dd2") diff --git a/var/spack/repos/builtin/packages/py-flawfinder/package.py b/var/spack/repos/builtin/packages/py-flawfinder/package.py index 56a6a80e3cb02b..1d4d0d768b1317 100644 --- a/var/spack/repos/builtin/packages/py-flawfinder/package.py +++ b/var/spack/repos/builtin/packages/py-flawfinder/package.py @@ -16,5 +16,8 @@ class PyFlawfinder(PythonPackage, SourceforgePackage): version("2.0.19", sha256="fe550981d370abfa0a29671346cc0b038229a9bd90b239eab0f01f12212df618") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@2.7:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-flye/package.py b/var/spack/repos/builtin/packages/py-flye/package.py index 8ec6ca4c9f46ff..83529bae78c6d2 100644 --- a/var/spack/repos/builtin/packages/py-flye/package.py +++ b/var/spack/repos/builtin/packages/py-flye/package.py @@ -23,6 +23,9 @@ class PyFlye(PythonPackage): version("2.7.1", sha256="0e826261c81537a7fa8fd37dc583edd75535eee0f30429d6bdb55f37b5722dbb") version("2.6", sha256="5bdc44b84712794fa4264eed690d8c65c0d72f495c7bbf2cd15b634254809131") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # https://github.com/fenderglass/Flye/blob/flye/docs/INSTALL.md depends_on("python@2.7:2.8,3.5:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-ford/package.py b/var/spack/repos/builtin/packages/py-ford/package.py index 0bab66112a3636..43455c69cf860b 100644 --- a/var/spack/repos/builtin/packages/py-ford/package.py +++ b/var/spack/repos/builtin/packages/py-ford/package.py @@ -20,6 +20,8 @@ class PyFord(PythonPackage): version("6.1.12", sha256="101191e1aa33cfe780ea5b2d66d02c7281b9b314e82bb138d76809a49c08506a") version("6.1.11", sha256="feb9a88040e717e84c632e4b023904ab36a463fc9a8ff80c8c7f86454e5d8043") + depends_on("fortran", type="build") # generated + depends_on("py-wheel@0.29:", type="build") depends_on("py-setuptools@48:", type="build") diff --git a/var/spack/repos/builtin/packages/py-fortls/package.py b/var/spack/repos/builtin/packages/py-fortls/package.py index 47e9aafed33af3..ccb5133bfb4bdd 100644 --- a/var/spack/repos/builtin/packages/py-fortls/package.py +++ b/var/spack/repos/builtin/packages/py-fortls/package.py @@ -16,12 +16,17 @@ class PyFortls(PythonPackage): license("MIT") + version("3.1.0", sha256="e38f9f6af548f78151d54bdbb9884166f8d717f8e147ab1e2dbf06b985df2c6d") version("2.13.0", sha256="23c5013e8dd8e1d65bf07be610d0827bc48aa7331a7a7ce13612d4c646d0db31") + depends_on("fortran", type="build") # generated + depends_on("py-setuptools@45:", type="build") + depends_on("py-setuptools@61:", when="@3:", type="build") depends_on("py-packaging", type=("build", "run")) depends_on("py-setuptools-scm@6.2:+toml", type="build") - depends_on("py-setuptools-scm-git-archive", type="build") + depends_on("py-setuptools-scm@7:+toml", when="@3:", type="build") + depends_on("py-setuptools-scm-git-archive", when="@:2", type="build") depends_on("py-json5", type=("build", "run")) depends_on("py-importlib-metadata", type=("build", "run"), when="^python@:3.7") diff --git a/var/spack/repos/builtin/packages/py-fortran-language-server/package.py b/var/spack/repos/builtin/packages/py-fortran-language-server/package.py index 7187cea8db8258..3e872f85abcad4 100644 --- a/var/spack/repos/builtin/packages/py-fortran-language-server/package.py +++ b/var/spack/repos/builtin/packages/py-fortran-language-server/package.py @@ -20,5 +20,7 @@ class PyFortranLanguageServer(PythonPackage): version("1.12.0", sha256="5cda6341b1d2365cce3d80ba40043346c5dcbd0b35f636bfa57cb34df789ff17") version("1.11.1", sha256="8f03782dd992d6652a3f2d349115fdad3aa3464fee3fafbbc4f8ecf780166e3c") + depends_on("fortran", type="build") # generated + depends_on("python@2.7:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-fparser/package.py b/var/spack/repos/builtin/packages/py-fparser/package.py index 7ac6bca213b987..c211c83a5bb83c 100644 --- a/var/spack/repos/builtin/packages/py-fparser/package.py +++ b/var/spack/repos/builtin/packages/py-fparser/package.py @@ -35,6 +35,8 @@ class PyFparser(PythonPackage): version("0.0.6", sha256="bf8a419cb528df1bfc24ddd26d63f2ebea6f1e103f1a259d8d3a6c9b1cd53012") version("0.0.5", sha256="f3b5b0ac56fd22abed558c0fb0ba4f28edb8de7ef24cfda8ca8996562215822f") + depends_on("fortran", type="build") # generated + # Dependencies for latest version depends_on("py-setuptools@61:", type="build", when="@0.1.4:") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-frozendict/package.py b/var/spack/repos/builtin/packages/py-frozendict/package.py index d526db84acb68b..0083d1b9b64b25 100644 --- a/var/spack/repos/builtin/packages/py-frozendict/package.py +++ b/var/spack/repos/builtin/packages/py-frozendict/package.py @@ -18,6 +18,8 @@ class PyFrozendict(PythonPackage): version("2.3.4", sha256="15b4b18346259392b0d27598f240e9390fafbff882137a9c48a1e0104fb17f78") version("1.2", sha256="774179f22db2ef8a106e9c38d4d1f8503864603db08de2e33be5b778230f6e45") + depends_on("c", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-frozenlist/package.py b/var/spack/repos/builtin/packages/py-frozenlist/package.py index 619c8981fb911f..b98a509c7043ed 100644 --- a/var/spack/repos/builtin/packages/py-frozenlist/package.py +++ b/var/spack/repos/builtin/packages/py-frozenlist/package.py @@ -19,6 +19,8 @@ class PyFrozenlist(PythonPackage): version("1.3.0", sha256="ce6f2ba0edb7b0c1d8976565298ad2deba6f8064d2bebb6ffce2ca896eb35b0b") version("1.2.0", sha256="68201be60ac56aff972dc18085800b6ee07973c49103a8aba669dee3d71079de") + depends_on("c", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("python@3.7:", when="@1.3.1:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-fsspec/package.py b/var/spack/repos/builtin/packages/py-fsspec/package.py index 0b46a7c951c71b..1e5bc5bad39821 100644 --- a/var/spack/repos/builtin/packages/py-fsspec/package.py +++ b/var/spack/repos/builtin/packages/py-fsspec/package.py @@ -17,6 +17,8 @@ class PyFsspec(PythonPackage): # Requires pytest skip_modules = ["fsspec.tests"] + version("2024.5.0", sha256="1d021b0b0f933e3b3029ed808eb400c08ba101ca2de4b3483fbc9ca23fcee94a") + version("2024.3.1", sha256="f39780e282d7d117ffb42bb96992f8a90795e4d0fb0f661a70ca39fe9c43ded9") version("2024.2.0", sha256="b6ad1a679f760dda52b1168c859d01b7b80648ea6f7f7c7f5a8a91dc3f3ecb84") version("2023.10.0", sha256="330c66757591df346ad3091a53bd907e15348c2ba17d63fd54f5c39c4457d2a5") version("2023.1.0", sha256="fbae7f20ff801eb5f7d0bedf81f25c787c0dfac5e982d98fa3884a9cde2b5411") @@ -30,6 +32,8 @@ class PyFsspec(PythonPackage): variant("http", default=False, description="HTTPFileSystem support", when="@0.8.1:") - depends_on("py-setuptools", type="build") + depends_on("py-setuptools", type="build", when="@:2024.4") + depends_on("py-hatchling", type="build", when="@2024.5:") + depends_on("py-hatch-vcs", type="build", when="@2024.5:") 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-genders/package.py b/var/spack/repos/builtin/packages/py-genders/package.py index b548d374b1700c..dbaf2d715b4f7d 100644 --- a/var/spack/repos/builtin/packages/py-genders/package.py +++ b/var/spack/repos/builtin/packages/py-genders/package.py @@ -21,6 +21,9 @@ class PyGenders(Package): sha256="0ff292825a29201106239c4d47d9ce4c6bda3f51c78c0463eb2634ecc337b774", url="https://github.com/chaos/genders/releases/download/genders-1-22-1/genders-1.22.tar.gz", ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated extends("python") # FIXME: Missing a dependency on genders diff --git a/var/spack/repos/builtin/packages/py-genshi/package.py b/var/spack/repos/builtin/packages/py-genshi/package.py index 66c8de0fd05816..fba512eca04e0c 100644 --- a/var/spack/repos/builtin/packages/py-genshi/package.py +++ b/var/spack/repos/builtin/packages/py-genshi/package.py @@ -15,6 +15,8 @@ class PyGenshi(PythonPackage): version("0.7.7", sha256="c100520862cd69085d10ee1a87e91289e7f59f6b3d9bd622bf58b2804e6b9aab") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type=("build", "run")) depends_on("py-six", type=("build", "run", "test")) diff --git a/var/spack/repos/builtin/packages/py-gensim/package.py b/var/spack/repos/builtin/packages/py-gensim/package.py index c5ac143f0e59bc..c4d412425712f0 100644 --- a/var/spack/repos/builtin/packages/py-gensim/package.py +++ b/var/spack/repos/builtin/packages/py-gensim/package.py @@ -23,6 +23,9 @@ class PyGensim(PythonPackage): version("3.8.1", sha256="33277fc0a8d7b0c7ce70fcc74bb82ad39f944c009b334856c6e86bf552b1dfdc") version("3.8.0", sha256="ec5de7ff2bfa8692fa96a846bb5aae52f267fc322fbbe303c1f042d258af5766") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@2.7:2.8,3.5:", type=("build", "run")) depends_on("python@3.8:", type=("build", "run"), when="@4.3.1:") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-geopmdpy/package.py b/var/spack/repos/builtin/packages/py-geopmdpy/package.py index e49f50aca17a8e..0aa9483603a1e8 100644 --- a/var/spack/repos/builtin/packages/py-geopmdpy/package.py +++ b/var/spack/repos/builtin/packages/py-geopmdpy/package.py @@ -21,6 +21,10 @@ class PyGeopmdpy(PythonPackage): version("develop", branch="dev") version("3.0.1", sha256="32ba1948de58815ee055470dcdea64593d1113a6cad70ce00ab0286c127f8234") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("py-dasbus@1.6.0:", type=("build", "run")) depends_on("py-cffi@1.14.5:", type="run") depends_on("py-psutil@5.8.0:", type="run") diff --git a/var/spack/repos/builtin/packages/py-gevent/package.py b/var/spack/repos/builtin/packages/py-gevent/package.py index 85b6d5ff209303..fb42471f8a108a 100644 --- a/var/spack/repos/builtin/packages/py-gevent/package.py +++ b/var/spack/repos/builtin/packages/py-gevent/package.py @@ -20,6 +20,8 @@ class PyGevent(PythonPackage): version("21.8.0", sha256="43e93e1a4738c922a2416baf33f0afb0a20b22d3dba886720bc037cd02a98575") version("1.5.0", sha256="b2814258e3b3fb32786bb73af271ad31f51e1ac01f33b37426b66cb8491b4c29") + depends_on("c", type="build") # generated + depends_on("python@3.8:", when="@23.7.0:", type=("build", "run")) depends_on("python@:3.10", when="@:21.12", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-gimmik/package.py b/var/spack/repos/builtin/packages/py-gimmik/package.py index 2d14aca41e3640..4c9617994d7d1b 100644 --- a/var/spack/repos/builtin/packages/py-gimmik/package.py +++ b/var/spack/repos/builtin/packages/py-gimmik/package.py @@ -19,6 +19,7 @@ class PyGimmik(PythonPackage): license("BSD-3-Clause") + version("3.2.1", sha256="048644bd71497eb07e144f2c22fdee49ba23e1cde5fb954c3c30c4e3ea23687a") version("3.0", sha256="45c2da7acff3201b7796ba731e4be7f3b4f39469ff1f1bc0ddf4f19c4a6af010") version("2.3", sha256="c019c85316bcf0d5e84de9b7d10127355dfe8037c0e37f1880a9819ce92b74e1") version("2.2", sha256="9144640f94aab92f9c5dfcaf16885a79428ab97337cf503a4b2dddeb870f3cf0") diff --git a/var/spack/repos/builtin/packages/py-glmnet-python/package.py b/var/spack/repos/builtin/packages/py-glmnet-python/package.py new file mode 100644 index 00000000000000..8b6e5cbfe59146 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-glmnet-python/package.py @@ -0,0 +1,29 @@ +# 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 PyGlmnetPython(PythonPackage): + """This is a python version of the popular glmnet library (beta release). + Glmnet fits the entire lasso or elastic-net regularization path for linear + regression, logistic and multinomial regression models, poisson regression + and the cox model.""" + + # Not to be confused with py-glmnet + + homepage = "https://github.com/johnlees/glmnet_python/" + # Not availible on PyPI. Note that this is a fork of + # https://github.com/bbalasub1/glmnet_python, as required for py-pyseer + url = "https://github.com/johnlees/glmnet_python/archive/v1.0.2.zip" + + version("1.0.2", sha256="cc80020dcebc5366dcc061aec59318efac69d23578066326d925bfc27a23cb27") + + depends_on("py-setuptools", type="build") + depends_on("py-joblib@0.10.3:", type=("build", "run")) + # Not in setup.py, but imported and used: + depends_on("py-numpy", type=("build", "run")) + depends_on("py-scipy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-glmnet/package.py b/var/spack/repos/builtin/packages/py-glmnet/package.py index f4f11ce6112eb1..ed41241b827eea 100644 --- a/var/spack/repos/builtin/packages/py-glmnet/package.py +++ b/var/spack/repos/builtin/packages/py-glmnet/package.py @@ -19,6 +19,8 @@ class PyGlmnet(PythonPackage): version("2.2.1", sha256="3222bca2e901b3f60c2dc22df7aeba6bb9c7b6451b44cbbe1b91084b66f14481") + depends_on("fortran", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type=("build")) diff --git a/var/spack/repos/builtin/packages/py-globus-cli/package.py b/var/spack/repos/builtin/packages/py-globus-cli/package.py new file mode 100644 index 00000000000000..c945eddabaaba9 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-globus-cli/package.py @@ -0,0 +1,28 @@ +# 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 PyGlobusCli(PythonPackage): + """Globus CLI is a standalone application that can be installed on the user's machine + and is used to access the Globus service. The CLI provides an interface to Globus + services from the shell, and is suited to both interactive and simple scripting use cases.""" + + homepage = "https://docs.globus.org/cli" + git = "https://github.com/globus/globus-cli.git" + url = "https://github.com/globus/globus-cli/archive/refs/tags/3.16.0.zip" + + maintainers("climbfuji") + + version("3.16.0", sha256="0ef721060870d9346505e52b9bf30c7bed6ae136cc08762deb2f8893bd25d8c5") + + depends_on("python@3.7:", type=("build", "run")) + depends_on("py-setuptools", type="build") + depends_on("py-globus-sdk@3.25.0", type=("build", "run")) + depends_on("py-click@8", type=("build", "run")) + depends_on("py-jmespath@1.0.1", type=("build", "run")) + depends_on("py-packaging@17:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-globus-sdk/package.py b/var/spack/repos/builtin/packages/py-globus-sdk/package.py index 63479391f8e0c6..33458b22d81bb5 100644 --- a/var/spack/repos/builtin/packages/py-globus-sdk/package.py +++ b/var/spack/repos/builtin/packages/py-globus-sdk/package.py @@ -15,10 +15,11 @@ class PyGlobusSdk(PythonPackage): homepage = "https://github.com/globus/globus-sdk-python" pypi = "globus-sdk/globus-sdk-3.0.2.tar.gz" - maintainers("hategan") + maintainers("hategan", "climbfuji") license("Apache-2.0") + version("3.25.0", sha256="d9be275d4ec18054db04732f75649c4227800c79b31fbcfb3f4f31eccfa5f4f7") version("3.10.1", sha256="c20fec55fc7e099f4d0c8224a36e194604577539445c5985cb465b23779baee8") version("3.10.0", sha256="7a7e7cd5cfbc40c6dc75bdb92b050c4191f992b5f7081cd08895bf119fd97bbf") version("3.9.0", sha256="456f707b25a8c502607134f1d699b5970ef1aa9d17877474db73fc6d87c711e9") @@ -32,3 +33,4 @@ class PyGlobusSdk(PythonPackage): depends_on("py-pyjwt@2.0.0:2+crypto", type=("build", "run")) depends_on("py-cryptography@3.3.1:3.3,3.4.1:", when="@3.7:", type=("build", "run")) depends_on("py-cryptography@2:3.3,3.4.1:3.6", when="@:3.0", type=("build", "run")) + depends_on("py-typing-extensions@4:", when="@3.25:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-gmxapi/package.py b/var/spack/repos/builtin/packages/py-gmxapi/package.py index 48044dc0de00e3..27f3f7bf935f10 100644 --- a/var/spack/repos/builtin/packages/py-gmxapi/package.py +++ b/var/spack/repos/builtin/packages/py-gmxapi/package.py @@ -26,6 +26,8 @@ class PyGmxapi(PythonPackage): version("0.4.1", sha256="cc7a2e509ab8a59c187d388dcfd21ea78b785c3b355149b1818085f34dbda62a") version("0.4.0", sha256="7fd58e6a4b1391043379e8ba55555ebeba255c5b394f5df9d676e6a5571d7eba") + depends_on("cxx", type="build") # generated + depends_on("gromacs@2022.1:~mdrun_only+shared") depends_on("mpi") depends_on("cmake@3.16:", type="build") diff --git a/var/spack/repos/builtin/packages/py-google-crc32c/package.py b/var/spack/repos/builtin/packages/py-google-crc32c/package.py index a083dd9cbc3965..2926fce25a53ac 100644 --- a/var/spack/repos/builtin/packages/py-google-crc32c/package.py +++ b/var/spack/repos/builtin/packages/py-google-crc32c/package.py @@ -19,6 +19,8 @@ class PyGoogleCrc32c(PythonPackage): version("1.3.0", sha256="276de6273eb074a35bc598f8efbc00c7869c5cf2e29c90748fccc8c898c244df") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("google-crc32c", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-gosam/package.py b/var/spack/repos/builtin/packages/py-gosam/package.py index 22e8f70f15938b..fc6eff141da774 100644 --- a/var/spack/repos/builtin/packages/py-gosam/package.py +++ b/var/spack/repos/builtin/packages/py-gosam/package.py @@ -26,6 +26,10 @@ class PyGosam(Package): sha256="4a2b9160d51e3532025b9579a4d17d0e0f8a755b8481aeb8271c1f58eb97ab01", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("form", type="run") depends_on("qgraf", type="run") depends_on("gosam-contrib", type="link") diff --git a/var/spack/repos/builtin/packages/py-gpaw/package.py b/var/spack/repos/builtin/packages/py-gpaw/package.py index 6e4181afbdd486..c8e3c0a8e26b6c 100644 --- a/var/spack/repos/builtin/packages/py-gpaw/package.py +++ b/var/spack/repos/builtin/packages/py-gpaw/package.py @@ -22,6 +22,8 @@ class PyGpaw(PythonPackage): version("19.8.1", sha256="79dee367d695d68409c4d69edcbad5c8679137d6715da403f6c2500cb2178c2a") version("1.3.0", sha256="cf601c69ac496421e36111682bcc1d23da2dba2aabc96be51accf73dea30655c") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Build with MPI support") variant("scalapack", default=True, description="Build with ScaLAPACK support") variant("fftw", default=True, description="Build with FFTW support") diff --git a/var/spack/repos/builtin/packages/py-gpy/package.py b/var/spack/repos/builtin/packages/py-gpy/package.py index 172b79277ddaec..b2e8abf38dc381 100644 --- a/var/spack/repos/builtin/packages/py-gpy/package.py +++ b/var/spack/repos/builtin/packages/py-gpy/package.py @@ -19,6 +19,8 @@ class PyGpy(PythonPackage): version("1.9.9", sha256="04faf0c24eacc4dea60727c50a48a07ddf9b5751a3b73c382105e2a31657c7ed") version("0.8.8", sha256="e135d928cf170e2ec7fb058a035b5a7e334dc6b84d0bfb981556782528341988") + depends_on("c", type="build") # generated + variant("plotting", default=False, description="Enable plotting") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-grapheme/package.py b/var/spack/repos/builtin/packages/py-grapheme/package.py index 2670c50dc58d61..02e67b05756ec9 100644 --- a/var/spack/repos/builtin/packages/py-grapheme/package.py +++ b/var/spack/repos/builtin/packages/py-grapheme/package.py @@ -20,4 +20,6 @@ class PyGrapheme(PythonPackage): version("0.6.0", sha256="44c2b9f21bbe77cfb05835fec230bd435954275267fea1858013b102f8603cca") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-greenlet/package.py b/var/spack/repos/builtin/packages/py-greenlet/package.py index 920fa2f4907946..4b08225f4ee89a 100644 --- a/var/spack/repos/builtin/packages/py-greenlet/package.py +++ b/var/spack/repos/builtin/packages/py-greenlet/package.py @@ -29,5 +29,8 @@ class PyGreenlet(PythonPackage): version("0.4.17", sha256="41d8835c69a78de718e466dd0e6bfd4b46125f21a67c3ff6d76d8d8059868d6b") version("0.4.13", sha256="0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python", type=("build", "link", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-griddataformats/package.py b/var/spack/repos/builtin/packages/py-griddataformats/package.py index d91e53a05edbbd..d6a807cbf6137a 100644 --- a/var/spack/repos/builtin/packages/py-griddataformats/package.py +++ b/var/spack/repos/builtin/packages/py-griddataformats/package.py @@ -19,10 +19,13 @@ class PyGriddataformats(PythonPackage): license("LGPL-3.0-only") + version("1.0.2", sha256="b93cf7f36fce33dbc428026f26dba560d5c7ba2387caca495bad920f90094502") version("1.0.1", sha256="ad2c9ab7d672a6d8c426de7d083eee4f3e2b0bd59391675d30683c768ab83cc4") depends_on("py-setuptools", type="build") - depends_on("python@3.8:", type=("build", "run")) - depends_on("py-numpy@1.19:", type=("build", "run")) + depends_on("python@3.8:3.11", when="@1.0.1", type=("build", "run")) + depends_on("python@3.9:3.12", when="@1.0.2:", type=("build", "run")) + depends_on("py-numpy@1.19:", when="@1.0.1", type=("build", "run")) + depends_on("py-numpy@1.21:", when="@1.0.2:", type=("build", "run")) depends_on("py-scipy", type=("build", "run")) depends_on("py-mrcfile", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-grpcio-tools/package.py b/var/spack/repos/builtin/packages/py-grpcio-tools/package.py index b488fb67f9ca00..55069ba1c55b52 100644 --- a/var/spack/repos/builtin/packages/py-grpcio-tools/package.py +++ b/var/spack/repos/builtin/packages/py-grpcio-tools/package.py @@ -19,6 +19,9 @@ class PyGrpcioTools(PythonPackage): version("1.42.0", sha256="d0a0daa82eb2c2fb8e12b82a458d1b7c5516fe1135551da92b1a02e2cba93422") version("1.39.0", sha256="39dfe7415bc0d3860fdb8dd90607594b046b88b57dbe64284efa4820f951c805") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-protobuf@3.12.0:3", when="@1.48.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-grpcio/package.py b/var/spack/repos/builtin/packages/py-grpcio/package.py index ea9de2e55b71df..cb91e24a214f9a 100644 --- a/var/spack/repos/builtin/packages/py-grpcio/package.py +++ b/var/spack/repos/builtin/packages/py-grpcio/package.py @@ -58,6 +58,9 @@ class PyGrpcio(PythonPackage): # Released 6ish years ago and does not install for python 3.8 with gcc11 ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") with default_args(type=("build", "run")): depends_on("py-coverage@4:") diff --git a/var/spack/repos/builtin/packages/py-gsd/package.py b/var/spack/repos/builtin/packages/py-gsd/package.py index a87b2c93a6a675..85eaa50c5b23eb 100644 --- a/var/spack/repos/builtin/packages/py-gsd/package.py +++ b/var/spack/repos/builtin/packages/py-gsd/package.py @@ -15,13 +15,14 @@ class PyGsd(PythonPackage): trajectory output with a script. Read a GSD trajectory with a visualization tool to explore the behavior of the simulation.""" - homepage = "https://gsd.readthedocs.io/en/stable/#" + homepage = "https://gsd.readthedocs.io/en/stable/" pypi = "gsd/gsd-1.9.3.tar.gz" maintainers("RMeli") license("BSD-2-Clause") + version("3.2.1", sha256="cf05148e23f169a00c073eb7d8151e8b521e0f962ce460b55d812cae5be326aa") version("3.2.0", sha256="cf3c8419ec66085b2b9853577058861d9e738bfe397b0170ead821b866ab49b9") version("3.1.1", sha256="6802b79d7f078536faf5a96ac300518613dd285cf3bc21ed81e1f2d0f7155bf5") version("3.1.0", sha256="35a70419c6a519825afd9d5e47a570d98cec7273c39f43e2ab0aa3e7166ad198") @@ -29,6 +30,8 @@ class PyGsd(PythonPackage): version("2.8.0", sha256="f2b031a26a7a5bee5f3940dc2f36c5a5b6670307b297c526adf2e26c1f5b46ae") version("1.9.3", sha256="c6b37344e69020f69fda2b8d97f894cb41fd720840abeda682edd680d1cff838") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-setuptools@42:", type="build", when="@2.8.0:") depends_on("py-setuptools@64:", type="build", when="@3.0.1:") diff --git a/var/spack/repos/builtin/packages/py-h5py/package.py b/var/spack/repos/builtin/packages/py-h5py/package.py index 59acad200fd4c9..43220375073ff9 100644 --- a/var/spack/repos/builtin/packages/py-h5py/package.py +++ b/var/spack/repos/builtin/packages/py-h5py/package.py @@ -40,6 +40,8 @@ class PyH5py(PythonPackage): version("2.5.0", sha256="9833df8a679e108b561670b245bcf9f3a827b10ccb3a5fa1341523852cfac2f6") version("2.4.0", sha256="faaeadf4b8ca14c054b7568842e0d12690de7d5d68af4ecce5d7b8fc104d8e60") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Build with MPI support") # Python versions @@ -47,23 +49,24 @@ class PyH5py(PythonPackage): # Build dependencies # h5py@3.11 can build with cython@3.x - depends_on("py-cython@0.29.31:", type="build", when="@3.11:") - depends_on("py-cython@0.29.31:0", type="build", when="@3.9:") + depends_on("py-cython@0.29.31:3", type="build", when="@3.11:") + depends_on("py-cython@0.29.31:0", type="build", when="@3.9:3.10") 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:") + depends_on("py-cython@0.29:0", type=("build"), when="@3.0:3.10") depends_on("py-cython@0.23:0", type="build", when="@:2") depends_on("py-pkgconfig", type="build") depends_on("py-setuptools@61:", type="build", when="@3.8.0:") depends_on("py-setuptools", type="build") # Build and runtime dependencies - depends_on("py-numpy@1.17.3:", type=("build", "run"), when="@3.11:") - depends_on("py-numpy@1.17.3:1", type=("build", "run"), when="@3.9:3.10") - depends_on("py-numpy@1.19.3:1", type=("build", "run"), when="@3:3.5 ^python@3.9.0:") - depends_on("py-numpy@1.17.5:1", type=("build", "run"), when="@3:3.5 ^python@3.8.0:3.8") - depends_on("py-numpy@1.14.5:1", type=("build", "run"), when="@3:") - depends_on("py-numpy@1.7:1", type=("build", "run"), when="@:2") + 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") + # https://github.com/h5py/h5py/issues/2353 + depends_on("py-numpy@:1", when="@:3.10", type=("build", "run")) # Link dependencies (py-h5py v2 cannot build against HDF5 1.12 regardless # of API setting) diff --git a/var/spack/repos/builtin/packages/py-hatchet/package.py b/var/spack/repos/builtin/packages/py-hatchet/package.py index 1a3a69b543ad44..d9ce43e8068fcf 100644 --- a/var/spack/repos/builtin/packages/py-hatchet/package.py +++ b/var/spack/repos/builtin/packages/py-hatchet/package.py @@ -24,6 +24,8 @@ class PyHatchet(PythonPackage): version("1.0.1", sha256="e5a4b455ab6bfbccbce3260673d9af8d1e4b21e19a2b6d0b6c1e1d7727613b7a") version("1.0.0", sha256="efd218bc9152abde0a8006489a2c432742f00283a114c1eeb6d25abc10f5862d") + depends_on("c", type="build") # generated + # https://github.com/hatchet/hatchet/issues/428 depends_on("python@2.7:3.8", when="@:1.3.0", type=("build", "run")) depends_on("python@2.7:", when="@1.3.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-healpy/package.py b/var/spack/repos/builtin/packages/py-healpy/package.py index eb7931bf2504ab..19fe0f5367f066 100644 --- a/var/spack/repos/builtin/packages/py-healpy/package.py +++ b/var/spack/repos/builtin/packages/py-healpy/package.py @@ -18,6 +18,10 @@ class PyHealpy(PythonPackage): version("1.13.0", sha256="d0ae02791c2404002a09c643e9e50bc58e3d258f702c736dc1f39ce1e6526f73") version("1.7.4", sha256="3cca7ed7786ffcca70e2f39f58844667ffb8521180ac890d4da651b459f51442") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("py-setuptools@3.2:", type="build") depends_on("py-pkgconfig", type="build") depends_on("py-numpy@1.13:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-heat/package.py b/var/spack/repos/builtin/packages/py-heat/package.py index 90e5bcaf4ce15b..f14a4c02099177 100644 --- a/var/spack/repos/builtin/packages/py-heat/package.py +++ b/var/spack/repos/builtin/packages/py-heat/package.py @@ -18,6 +18,9 @@ class PyHeat(PythonPackage): license("MIT") + version("1.4.1", sha256="ecd871717c372a6983f643c0178dda44bc017d6b32b9258dbf3775af95f580ce") + version("1.4.0", sha256="6836fa10f9ce62ea61cf1bdc3283d7ad0c305836cc5a08c4edfd30695708e788") + version("1.3.1", sha256="8997ddc56a1d3078b44a1e2933adc0a7fbf678bd19bade3ae015bc0e13d40d3b") version("1.3.0", sha256="fa247539a559881ffe574a70227d3c72551e7c4a9fb29b0945578d6a840d1c87") variant("docutils", default=False, description="Use the py-docutils package") @@ -32,15 +35,26 @@ class PyHeat(PythonPackage): description="Use py-scikit-learn and py-matplotlib for the example tests", ) - depends_on("python@3.8:", type=("build", "run")) - depends_on("py-numpy@1.20:", type=("build", "run")) - depends_on("py-torch@1.8:2.0.1", type=("build", "run")) - depends_on("py-scipy@0.14:", type=("build", "run")) - depends_on("pil@6:", type=("build", "run")) - depends_on("py-torchvision@0.8:", type=("build", "run")) - depends_on("py-mpi4py@3:", type=("build", "run")) depends_on("py-setuptools", type="build") + with when("@1.3"): + depends_on("python@3.8:3.10", type=("build", "run")) + depends_on("py-mpi4py@3:", type=("build", "run")) + depends_on("py-numpy@1.20:1", type=("build", "run")) + depends_on("py-torch@1.8:2.0.1", type=("build", "run")) + depends_on("py-scipy@0.14:", type=("build", "run")) + depends_on("pil@6:", type=("build", "run")) + depends_on("py-torchvision@0.8:", type=("build", "run")) + + with when("@1.4"): + depends_on("python@3.8:3.11", type=("build", "run")) + depends_on("py-mpi4py@3:", type=("build", "run")) + depends_on("py-numpy@1.22:1", type=("build", "run")) + depends_on("py-torch@1.11:2.2.2", type=("build", "run")) + depends_on("py-scipy@1.10:", type=("build", "run")) + depends_on("pil@6:", type=("build", "run")) + depends_on("py-torchvision@0.12:", type=("build", "run")) + depends_on("py-docutils@0.16:", when="+docutils", type=("build", "link", "run")) depends_on("py-h5py@2.8.0:", when="+hdf5", type=("build", "link", "run")) depends_on("py-netcdf4@1.5.6:", when="+netcdf", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/py-hepdata-lib/package.py b/var/spack/repos/builtin/packages/py-hepdata-lib/package.py index d1b9fe2c4a889e..9512559ad2fd50 100644 --- a/var/spack/repos/builtin/packages/py-hepdata-lib/package.py +++ b/var/spack/repos/builtin/packages/py-hepdata-lib/package.py @@ -19,6 +19,8 @@ class PyHepdataLib(PythonPackage): version("0.10.1", sha256="71c635963883c51e7be18e03d80bfe42c5de350852b01010e3e45cbd1bff7a81") version("0.9.0", sha256="c9238e45c603d7c061ed670cf197ff03ad9d370ab50419b6916fda2cd86d6150") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("root+python", type=("build", "run")) depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-hiredis/package.py b/var/spack/repos/builtin/packages/py-hiredis/package.py index 03379ae6777f6a..0b783b1ce0fd43 100644 --- a/var/spack/repos/builtin/packages/py-hiredis/package.py +++ b/var/spack/repos/builtin/packages/py-hiredis/package.py @@ -18,5 +18,7 @@ class PyHiredis(PythonPackage): version("1.1.0", sha256="996021ef33e0f50b97ff2d6b5f422a0fe5577de21a8873b58a779a5ddd1c3132") + depends_on("c", type="build") # generated + depends_on("python@2.7:2.8,3.4:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-hmmlearn/package.py b/var/spack/repos/builtin/packages/py-hmmlearn/package.py index cbb457b6e7f735..6eca677529464b 100644 --- a/var/spack/repos/builtin/packages/py-hmmlearn/package.py +++ b/var/spack/repos/builtin/packages/py-hmmlearn/package.py @@ -19,6 +19,8 @@ class PyHmmlearn(PythonPackage): version("0.3.0", sha256="d13a91ea3695df881465e3d36132d7eef4e84d483f4ba538a4b46e24b5ea100f") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-setuptools-scm@3.3:", type="build") depends_on("py-pybind11@2.6:", type="build") diff --git a/var/spack/repos/builtin/packages/py-horovod/package.py b/var/spack/repos/builtin/packages/py-horovod/package.py index 56effd1982ec36..61d85736c01876 100644 --- a/var/spack/repos/builtin/packages/py-horovod/package.py +++ b/var/spack/repos/builtin/packages/py-horovod/package.py @@ -125,6 +125,10 @@ class PyHorovod(PythonPackage, CudaPackage): "0.16.2", tag="v0.16.2", commit="217774652eeccfcd60aa6e268dfd6b766d71b768", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # https://github.com/horovod/horovod/blob/master/docs/install.rst variant( "frameworks", diff --git a/var/spack/repos/builtin/packages/py-htseq/package.py b/var/spack/repos/builtin/packages/py-htseq/package.py index 8b90b775640b5c..0a524e543ae970 100644 --- a/var/spack/repos/builtin/packages/py-htseq/package.py +++ b/var/spack/repos/builtin/packages/py-htseq/package.py @@ -19,6 +19,9 @@ class PyHtseq(PythonPackage): version("0.11.2", sha256="65c4c13968506c7df92e97124df96fdd041c4476c12a548d67350ba8b436bcfc") version("0.9.1", sha256="af5bba775e3fb45ed4cde64c691ebef36b0bf7a86efd35c884ad0734c27ad485") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("qa", default=True, description="Quality assessment") variant("mtx", default=True, description="BigWig manipulation", when="@2:") variant("mtx", default=True, description="mtx output files", when="@2:") diff --git a/var/spack/repos/builtin/packages/py-httpstan/package.py b/var/spack/repos/builtin/packages/py-httpstan/package.py index efa08de8110fc7..f4ecbbe8d5fac9 100644 --- a/var/spack/repos/builtin/packages/py-httpstan/package.py +++ b/var/spack/repos/builtin/packages/py-httpstan/package.py @@ -20,6 +20,8 @@ class PyHttpstan(PythonPackage): version("4.7.2", sha256="94f6631d969cbd91d136194b074d02642d8c9e2a05674877a39059be87c5bf7b") version("4.6.1", sha256="703e5e04e60651e0004574bb9695827d759fd13eb0d6bd67f827c1bfa0a1fd31") + depends_on("cxx", type="build") # generated + depends_on("python@3.8:3", type=("build", "run"), when="@4.7:") depends_on("python@3.7:3", type=("build", "run"), when="@:4.6") depends_on("py-setuptools@41.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-httptools/package.py b/var/spack/repos/builtin/packages/py-httptools/package.py index d4708c117bdc99..cfba153d5210c2 100644 --- a/var/spack/repos/builtin/packages/py-httptools/package.py +++ b/var/spack/repos/builtin/packages/py-httptools/package.py @@ -17,5 +17,7 @@ class PyHttptools(PythonPackage): version("0.5.0", sha256="295874861c173f9101960bba332429bb77ed4dcd8cdf5cee9922eb00e4f6bc09") version("0.1.1", sha256="41b573cf33f64a8f8f3400d0a7faf48e1888582b6f6e02b82b9bd4f0bf7497ce") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-cython@0.29.24:0.29", type="build") diff --git a/var/spack/repos/builtin/packages/py-huggingface-hub/package.py b/var/spack/repos/builtin/packages/py-huggingface-hub/package.py index d9ee1717de2b6a..f0766e409fe272 100644 --- a/var/spack/repos/builtin/packages/py-huggingface-hub/package.py +++ b/var/spack/repos/builtin/packages/py-huggingface-hub/package.py @@ -16,6 +16,7 @@ class PyHuggingfaceHub(PythonPackage): license("Apache-2.0") + version("0.23.4", sha256="35d99016433900e44ae7efe1c209164a5a81dbbcd53a52f99c281dcd7ce22431") version("0.19.4", sha256="176a4fc355a851c17550e7619488f383189727eab209534d7cef2114dae77b22") version("0.14.1", sha256="9ab899af8e10922eac65e290d60ab956882ab0bf643e3d990b1394b6b47b7fbc") version("0.10.1", sha256="5c188d5b16bec4b78449f8681f9975ff9d321c16046cc29bcf0d7e464ff29276") diff --git a/var/spack/repos/builtin/packages/py-humanize/package.py b/var/spack/repos/builtin/packages/py-humanize/package.py index d9efe5ef12cd9f..f12a12996cb836 100644 --- a/var/spack/repos/builtin/packages/py-humanize/package.py +++ b/var/spack/repos/builtin/packages/py-humanize/package.py @@ -18,12 +18,19 @@ class PyHumanize(PythonPackage): license("MIT") + version("4.9.0", sha256="582a265c931c683a7e9b8ed9559089dea7edcf6cc95be39a3cbc2c5d5ac2bcfa") + version("4.8.0", sha256="9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8") version("4.6.0", sha256="5f1f22bc65911eb1a6ffe7659bd6598e33dcfeeb904eb16ee1e705a09bf75916") version("4.4.0", sha256="efb2584565cc86b7ea87a977a15066de34cdedaf341b11c851cfcfd2b964779c") version("4.0.0", sha256="ee1f872fdfc7d2ef4a28d4f80ddde9f96d36955b5d6b0dac4bdeb99502bddb00") + version("3.14.0", sha256="60dd8c952b1df1ad83f0903844dec50a34ba7a04eea22a6b14204ffb62dbb0a4") version("3.12.0", sha256="5ec1a66e230a3e31fb3f184aab9436ea13d4e37c168e0ffc345ae5bb57e58be6") + version("2.6.0", sha256="8ee358ea6c23de896b9d1925ebe6a8504bb2ba7e98d5ccf4d07ab7f3b28f3819") + version("1.1.0", sha256="ad83016fae2453a7486f5be5dba8e19883020c77f6c12c63702f3b6c15ae3c5e") + version("1.0.0", sha256="38ace9b66bcaeb7f8186b9dbf0b3448e00148e5b4fbaf726f96c789e52c3e741") version("0.5.1", sha256="a43f57115831ac7c70de098e6ac46ac13be00d69abbf60bdcac251344785bb19") + depends_on("python@3.8:", when="@4.6:") depends_on("py-hatch-vcs", when="@4.6:", type=("build", "run")) depends_on("py-hatchling", when="@4.6:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-hypothesis/package.py b/var/spack/repos/builtin/packages/py-hypothesis/package.py index e06e14ff8435a9..cbec4e5c5208a5 100644 --- a/var/spack/repos/builtin/packages/py-hypothesis/package.py +++ b/var/spack/repos/builtin/packages/py-hypothesis/package.py @@ -40,6 +40,8 @@ class PyHypothesis(PythonPackage): depends_on("py-pytz@2014.1:", type="run", when="+django") depends_on("py-numpy@1.17.3:", type="run", when="@6.96: +numpy") depends_on("py-numpy@1.9.0:", type="run", when="+numpy") + # https://github.com/HypothesisWorks/hypothesis/issues/3950 + depends_on("py-numpy@:1", when="@:6.100.1+numpy", type="run") depends_on("py-pandas@1.1:", type="run", when="@6.96: +pandas") depends_on("py-pandas@0.25:", type="run", when="+pandas") diff --git a/var/spack/repos/builtin/packages/py-igraph/package.py b/var/spack/repos/builtin/packages/py-igraph/package.py index 7d3b4b32266949..5468e008c5d89b 100644 --- a/var/spack/repos/builtin/packages/py-igraph/package.py +++ b/var/spack/repos/builtin/packages/py-igraph/package.py @@ -17,6 +17,10 @@ class PyIgraph(PythonPackage): version("0.10.6", sha256="76f7aad294514412f835366a7d9a9c1e7a34c3e6ef0a6c3a1a835234323228e8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("matplotlib", default=False, description="Enable plotting with Matplotlib") depends_on("cmake", type="build") diff --git a/var/spack/repos/builtin/packages/py-ilmbase/package.py b/var/spack/repos/builtin/packages/py-ilmbase/package.py index 7b55335768f406..16c8cd3679b418 100644 --- a/var/spack/repos/builtin/packages/py-ilmbase/package.py +++ b/var/spack/repos/builtin/packages/py-ilmbase/package.py @@ -14,6 +14,8 @@ class PyIlmbase(AutotoolsPackage): version("2.3.0", sha256="9c898bb16e7bc916c82bebdf32c343c0f2878fc3eacbafa49937e78f2079a425") + depends_on("cxx", type="build") # generated + depends_on("ilmbase") depends_on("boost+python") depends_on("py-numpy") diff --git a/var/spack/repos/builtin/packages/py-imagecodecs/package.py b/var/spack/repos/builtin/packages/py-imagecodecs/package.py index bd425abe9b8b37..b6f1bb6c19dcfc 100644 --- a/var/spack/repos/builtin/packages/py-imagecodecs/package.py +++ b/var/spack/repos/builtin/packages/py-imagecodecs/package.py @@ -20,8 +20,13 @@ class PyImagecodecs(PythonPackage): version("2022.2.22", sha256="062bef6b003290a8163abed2744b406854238208dfdd41cf7165253c6e01c0bd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@3.8:", type=("build", "run")) depends_on("py-numpy@1.19.2:", type=("build", "run")) + # https://github.com/cgohlke/imagecodecs/issues/100 + depends_on("py-numpy@:1", when="@:2024.6.0", type=("build", "run")) depends_on("py-setuptools@18.0:", type="build") depends_on("py-cython@0.29.27:", type="build") depends_on("py-bitshuffle@0.3.5:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-imageio/package.py b/var/spack/repos/builtin/packages/py-imageio/package.py index 950bb872643c2e..c204ef6c61d730 100644 --- a/var/spack/repos/builtin/packages/py-imageio/package.py +++ b/var/spack/repos/builtin/packages/py-imageio/package.py @@ -35,6 +35,8 @@ class PyImageio(PythonPackage): depends_on("py-numpy", type=("build", "run")) depends_on("py-numpy@1.20:", when="@2.16", type=("build", "run")) + # https://github.com/imageio/imageio/issues/1077 + depends_on("py-numpy@:1", when="@:2.34.1", type=("build", "run")) depends_on("pil@8.3.2:", when="@2.10:", type=("build", "run")) depends_on("pil", type=("build", "run")) depends_on("ffmpeg", type="run") diff --git a/var/spack/repos/builtin/packages/py-iminuit/package.py b/var/spack/repos/builtin/packages/py-iminuit/package.py index b22065c74e8022..b66aaa0938580e 100644 --- a/var/spack/repos/builtin/packages/py-iminuit/package.py +++ b/var/spack/repos/builtin/packages/py-iminuit/package.py @@ -17,9 +17,13 @@ class PyIminuit(PythonPackage): version("1.3.6", sha256="d79a197f305d4708a0e3e52b0a6748c1a6997360d2fbdfd09c022995a6963b5e") version("1.2", sha256="7651105fc3f186cfb5742f075ffebcc5088bf7797d8ed124c00977eebe0d1c64") + depends_on("cxx", type="build") # generated + # Required dependencies depends_on("python@3.6:", type=("build", "run"), when="@2.6.1:") depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run"), when="@1.3:1.3.6") depends_on("py-numpy@1.11.3:", type=("build", "run"), when="@1.3.7:") + # https://github.com/numpy/numpy/issues/26191#issuecomment-2179127999 + depends_on("py-numpy@:1", when="@:2.25", type=("build", "run")) depends_on("cmake", type="build", when="@2.8.4") diff --git a/var/spack/repos/builtin/packages/py-immutables/package.py b/var/spack/repos/builtin/packages/py-immutables/package.py index 22ddcdc7413db2..e2b53d484c8170 100644 --- a/var/spack/repos/builtin/packages/py-immutables/package.py +++ b/var/spack/repos/builtin/packages/py-immutables/package.py @@ -21,6 +21,8 @@ class PyImmutables(PythonPackage): version("0.16", sha256="d67e86859598eed0d926562da33325dac7767b7b1eff84e232c22abea19f4360") version("0.14", sha256="a0a1cc238b678455145bae291d8426f732f5255537ed6a5b7645949704c70a78") + depends_on("c", type="build") # generated + depends_on("python@3.5:", type=("build", "run")) depends_on("python@3.6:", type=("build", "run"), when="@0.16:") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-intbitset/package.py b/var/spack/repos/builtin/packages/py-intbitset/package.py index 01a55114bc043e..93c72606f01032 100644 --- a/var/spack/repos/builtin/packages/py-intbitset/package.py +++ b/var/spack/repos/builtin/packages/py-intbitset/package.py @@ -20,4 +20,6 @@ class PyIntbitset(PythonPackage): version("3.0.1", sha256="f1e6d03c6729922a223c51849df65b9e916e625aefb911784e7f9acd4c207d53") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-ipykernel/package.py b/var/spack/repos/builtin/packages/py-ipykernel/package.py index 80490e66f06505..b272f2faca49b0 100644 --- a/var/spack/repos/builtin/packages/py-ipykernel/package.py +++ b/var/spack/repos/builtin/packages/py-ipykernel/package.py @@ -15,6 +15,13 @@ class PyIpykernel(PythonPackage): license("BSD-3-Clause") + version("6.29.4", sha256="3d44070060f9475ac2092b760123fadf105d2e2493c24848b6691a7c4f42af5c") + version("6.28.0", sha256="69c11403d26de69df02225916f916b37ea4b9af417da0a8c827f84328d88e5f3") + version("6.27.1", sha256="7d5d594b6690654b4d299edba5e872dc17bb7396a8d0609c97cb7b8a1c605de6") + version("6.26.0", sha256="553856658eb8430bbe9653ea041a41bff63e9606fc4628873fc92a6cf3abd404") + version("6.25.2", sha256="f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b") + version("6.24.0", sha256="29cea0a716b1176d002a61d0b0c851f34536495bc4ef7dd0222c88b41b816123") + version("6.23.3", sha256="dd4e18116357f36a1e459b3768412371bee764c51844cbf25c4ed1eb9cae4a54") version("6.23.1", sha256="1aba0ae8453e15e9bc6b24e497ef6840114afcdb832ae597f32137fa19d42a6f") version("6.22.0", sha256="302558b81f1bc22dc259fb2a0c5c7cf2f4c0bdb21b50484348f7bafe7fb71421") version("6.16.0", sha256="7fe42c0d58435e971dc15fd42189f20d66bf35f3056bda4f6554271bc1fa3d0d") @@ -70,6 +77,7 @@ class PyIpykernel(PythonPackage): depends_on("py-matplotlib-inline@0.1:", when="@6.11:", type=("build", "run")) depends_on("py-matplotlib-inline@0.1.0:0.1", when="@6:6.10", type=("build", "run")) depends_on("py-appnope", when="@5.1.3: platform=darwin", type=("build", "run")) + depends_on("py-pyzmq@24:", when="@6.28:", type=("build", "run")) depends_on("py-pyzmq@20:", when="@6.22:", type=("build", "run")) depends_on("py-pyzmq@17:", when="@6.15:", type=("build", "run")) depends_on("py-psutil", when="@6.9.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-ipython/package.py b/var/spack/repos/builtin/packages/py-ipython/package.py index 418c93bc6b2797..9e81bf2ba03550 100644 --- a/var/spack/repos/builtin/packages/py-ipython/package.py +++ b/var/spack/repos/builtin/packages/py-ipython/package.py @@ -22,6 +22,17 @@ class PyIpython(PythonPackage): license("BSD-3-Clause") + version("8.25.0", sha256="c6ed726a140b6e725b911528f80439c534fac915246af3efc39440a6b0f9d716") + version("8.24.0", sha256="010db3f8a728a578bb641fdd06c063b9fb8e96a9464c63aec6310fbcb5e80501") + version("8.23.0", sha256="7468edaf4f6de3e1b912e57f66c241e6fd3c7099f2ec2136e239e142e800274d") + version("8.22.2", sha256="2dcaad9049f9056f1fef63514f176c7d41f930daa78d05b82a176202818f2c14") + version("8.21.0", sha256="48fbc236fbe0e138b88773fa0437751f14c3645fb483f1d4c5dee58b37e5ce73") + version("8.20.0", sha256="2f21bd3fc1d51550c89ee3944ae04bbc7bc79e129ea0937da6e6c68bfdbf117a") + version("8.19.0", sha256="ac4da4ecf0042fb4e0ce57c60430c2db3c719fa8bdf92f8631d6bd8a5785d1f0") + version("8.18.1", sha256="ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27") + version("8.17.2", sha256="126bb57e1895594bb0d91ea3090bbd39384f6fe87c3d57fd558d0670f50339bb") + version("8.16.1", sha256="ad52f58fca8f9f848e256c629eff888efc0528c12fe0f8ec14f33205f23ef938") + version("8.15.0", sha256="2baeb5be6949eeebf532150f81746f8333e2ccce02de1c7eedde3f23ed5e9f1e") version("8.14.0", sha256="1d197b907b6ba441b692c48cf2a3a2de280dc0ac91a3405b39349a50272ca0a1") version("8.11.0", sha256="735cede4099dbc903ee540307b9171fbfef4aa75cfcacc5a273b2cda2f02be04") version("8.5.0", sha256="097bdf5cd87576fd066179c9f7f208004f7a6864ee1b20f37d346c0bcb099f84") @@ -38,15 +49,15 @@ class PyIpython(PythonPackage): version("5.1.0", sha256="7ef4694e1345913182126b219aaa4a0047e191af414256da6772cf249571b961") depends_on("python@3.9:", when="@8.13.1:", type=("build", "run")) - depends_on("python@3.8:", when="@8:", type=("build", "run")) + depends_on("python@3.8: +sqlite3", when="@8:", type=("build", "run")) + depends_on("py-setuptools@61.2:", when="@8.22:", type="build") depends_on("py-setuptools@51:", when="@8:", type="build") depends_on("py-setuptools@18.5:", when="@:7", type="run") depends_on("py-setuptools", type="build") - depends_on("py-appnope", when="platform=darwin", type=("build", "run")) - depends_on("py-backcall", when="@7.3.0:", type=("build", "run")) depends_on("py-colorama", when="platform=windows", type=("build", "run")) depends_on("py-decorator", type=("build", "run")) + depends_on("py-exceptiongroup", when="@8.15: ^python@:3.10", type=("build", "run")) depends_on("py-jedi@0.16:", when="@7.18,7.20:", type=("build", "run")) depends_on("py-jedi@0.10:", when="@7.5:7.17,7.19", type=("build", "run")) depends_on("py-matplotlib-inline", when="@7.23:", type=("build", "run")) @@ -54,7 +65,7 @@ class PyIpython(PythonPackage): depends_on("py-pexpect@4.4:", when="@7.18: platform=darwin", type=("build", "run")) depends_on("py-pexpect", when="platform=linux", type=("build", "run")) depends_on("py-pexpect", when="platform=darwin", type=("build", "run")) - depends_on("py-pickleshare", type=("build", "run")) + depends_on("py-prompt-toolkit@3.0.41:3.0", when="@8.18.1:", type=("build", "run")) depends_on("py-prompt-toolkit@3.0.30:3.0.36,3.0.38:3.0", when="@8.11:", type=("build", "run")) depends_on("py-prompt-toolkit@3.0.2:3.0", when="@8.5:", type=("build", "run")) depends_on("py-prompt-toolkit@2.0.0:2,3.0.2:3.0", when="@7.26:", type=("build", "run")) @@ -66,11 +77,17 @@ class PyIpython(PythonPackage): depends_on("py-pygments@2.4:", when="@8.1:", type=("build", "run")) depends_on("py-pygments", type=("build", "run")) depends_on("py-stack-data", when="@8:", type=("build", "run")) + depends_on("py-traitlets@5.13:", when="@8.22.1:", type=("build", "run")) depends_on("py-traitlets@5:", when="@8:", type=("build", "run")) depends_on("py-traitlets@4.2:", type=("build", "run")) depends_on("py-traitlets", type=("build", "run")) + depends_on("py-typing-extensions@4.6:", when="@8.24: ^python@:3.11", type=("build", "run")) + depends_on("py-typing-extensions", when="@8.23: ^python@:3.11", type=("build", "run")) depends_on("py-typing-extensions", when="@8.12: ^python@:3.9", type=("build", "run")) # Historical dependencies + depends_on("py-appnope", when="@:8.17 platform=darwin", type=("build", "run")) + depends_on("py-backcall", when="@7.3.0:8.16", type=("build", "run")) depends_on("py-black", when="@8.0", type=("build", "run")) + depends_on("py-pickleshare", when="@:8.16", type=("build", "run")) depends_on("py-simplegeneric@0.8:", when="@:7.0.0", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-isal/package.py b/var/spack/repos/builtin/packages/py-isal/package.py index 1a8bbcb444f7b0..0d8ecf16595c25 100644 --- a/var/spack/repos/builtin/packages/py-isal/package.py +++ b/var/spack/repos/builtin/packages/py-isal/package.py @@ -19,6 +19,8 @@ class PyIsal(PythonPackage): version("1.1.0", sha256="1364f4e3255a57d51c01422ab3ae785a43c076d516ebf49f6a25adecf8232105") version("1.0.0", sha256="a30369de6852109eef8ca1bdd46d7e4b5c4517846a25acfc707cbb19db66ac80") + depends_on("c", type="build") # generated + depends_on("python@3.7:", type=("build", "run")) depends_on("py-setuptools@51:", type="build") depends_on("libisal") diff --git a/var/spack/repos/builtin/packages/py-janus/package.py b/var/spack/repos/builtin/packages/py-janus/package.py new file mode 100644 index 00000000000000..62f2771111f2fe --- /dev/null +++ b/var/spack/repos/builtin/packages/py-janus/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 PyJanus(PythonPackage): + """Thread-safe asyncio-aware queue for Python""" + + homepage = "https://github.com/aio-libs/janus" + pypi = "janus/janus-1.0.0.tar.gz" + + maintainers("teaguesterling") + + license("APACHE-2.0", checked_by="teaguesterling") + + version("1.0.0", sha256="df976f2cdcfb034b147a2d51edfc34ff6bfb12d4e2643d3ad0e10de058cb1612") + version("0.7.0", sha256="f10dcf5776e8d49cc30ec86d5eb7268eeec39abaa24fe0332ee8fb8fa3611845") + + depends_on("python@3.7:", type=("build", "run")) + depends_on("py-setuptools@51:", type="build") + depends_on("py-wheel@0.36:", type="build") diff --git a/var/spack/repos/builtin/packages/py-jarowinkler/package.py b/var/spack/repos/builtin/packages/py-jarowinkler/package.py index 1ae633e44e139d..8974c1dc581a61 100644 --- a/var/spack/repos/builtin/packages/py-jarowinkler/package.py +++ b/var/spack/repos/builtin/packages/py-jarowinkler/package.py @@ -18,6 +18,8 @@ class PyJarowinkler(PythonPackage): version("1.2.3", sha256="af28ea284cfbd1b21b29ff94b759f20e94e4f7c06f424b0b4702e701c2a21668") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools@42:", type="build") depends_on("py-scikit-build@0.15.0", type="build") depends_on("py-rapidfuzz-capi@1.0.5", type="build") diff --git a/var/spack/repos/builtin/packages/py-jax/package.py b/var/spack/repos/builtin/packages/py-jax/package.py index 4b6136242da5d9..e97c0966ba374e 100644 --- a/var/spack/repos/builtin/packages/py-jax/package.py +++ b/var/spack/repos/builtin/packages/py-jax/package.py @@ -24,6 +24,8 @@ class PyJax(PythonPackage): license("Apache-2.0") maintainers("adamjstewart", "jonas-eschle") + version("0.4.30", sha256="94d74b5b2db0d80672b61d83f1f63ebf99d2ab7398ec12b2ca0c9d1e97afe577") + version("0.4.29", sha256="12904571eaefddcdc8c3b8d4936482b783d5a216e99ef5adcd3522fdfb4fc186") version("0.4.28", sha256="dcf0a44aff2e1713f0a2b369281cd5b79d8c18fc1018905c4125897cb06b37e9") version("0.4.27", sha256="f3d7f19bdc0a17ccdb305086099a5a90c704f904d4272a70debe06ae6552998c") version("0.4.26", sha256="2cce025d0a279ec630d550524749bc8efe25d2ff47240d2a7d4cfbc5090c5383") @@ -56,12 +58,15 @@ class PyJax(PythonPackage): with default_args(type=("build", "run")): # setup.py depends_on("python@3.9:", when="@0.4.14:") + depends_on("py-ml-dtypes@0.4:", when="@0.4.29") depends_on("py-ml-dtypes@0.2:", when="@0.4.14:") depends_on("py-ml-dtypes@0.1:", when="@0.4.9:") depends_on("py-ml-dtypes@0.0.3:", when="@0.4.7:") depends_on("py-numpy@1.22:", when="@0.4.14:") depends_on("py-numpy@1.21:", when="@0.4.7:") depends_on("py-numpy@1.20:", when="@0.3:") + # https://github.com/google/jax/issues/19246 + depends_on("py-numpy@:1", when="@:0.4.25") depends_on("py-opt-einsum") depends_on("py-scipy@1.9:", when="@0.4.19:") depends_on("py-scipy@1.7:", when="@0.4.7:") @@ -71,6 +76,8 @@ class PyJax(PythonPackage): # jax/_src/lib/__init__.py # https://github.com/google/jax/commit/8be057de1f50756fe7522f7e98b2f30fad56f7e4 for v in [ + "0.4.30", + "0.4.29", "0.4.28", "0.4.27", "0.4.26", diff --git a/var/spack/repos/builtin/packages/py-jaxlib/package.py b/var/spack/repos/builtin/packages/py-jaxlib/package.py index 7c19784bf9b20a..aac511a8723ef6 100644 --- a/var/spack/repos/builtin/packages/py-jaxlib/package.py +++ b/var/spack/repos/builtin/packages/py-jaxlib/package.py @@ -18,8 +18,10 @@ class PyJaxlib(PythonPackage, CudaPackage): buildtmp = "" license("Apache-2.0") - maintainers("adamjstewart") + maintainers("adamjstewart", "jonas-eschle") + version("0.4.30", sha256="0ef9635c734d9bbb44fcc87df4f1c3ccce1cfcfd243572c80d36fcdf826fe1e6") + version("0.4.29", sha256="3a8005f4f62d35a5aad7e3dbd596890b47c81cc6e34fcfe3dcb93b3ca7cb1246") version("0.4.28", sha256="4dd11577d4ba5a095fbc35258ddd4e4c020829ed6e6afd498c9e38ccbcdfe20b") version("0.4.27", sha256="c2c82cd9ad3b395d5cbc0affa26a2938e52677a69ca8f0b9ef9922a52cac4f0c") version("0.4.26", sha256="ddc14da1eaa34f23430d40ad9b9585088575cac439a2fa1c6833a247e1b221fd") @@ -37,18 +39,21 @@ class PyJaxlib(PythonPackage, CudaPackage): version("0.4.4", sha256="881f402c7983b56b185e182d5315dd64c9f5320be96213d0415996ece1826806") version("0.4.3", sha256="2104735dc22be2b105e5517bd5bc6ae97f40e8e9e54928cac1585c6112a3d910") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cuda", default=True, description="Build with CUDA enabled") variant("nccl", default=True, description="Build with NCCL enabled", when="+cuda") # docs/installation.md - # jaxlib/setup.py with when("+cuda"): depends_on("cuda@12.1:", when="@0.4.26:") depends_on("cuda@11.8:", when="@0.4.11:") depends_on("cuda@11.4:", when="@0.4.0:0.4.7") - depends_on("cudnn@8.9:8", when="@0.4.26:") - depends_on("cudnn@8.8:", when="@0.4.11:") - depends_on("cudnn@8.2:", when="@0.4:0.4.7") + depends_on("cudnn@9", when="@0.4.29:") + depends_on("cudnn@8.9:8", when="@0.4.26:0.4.28") + depends_on("cudnn@8.8:8", when="@0.4.11:0.4.25") + depends_on("cudnn@8.2:8", when="@0.4:0.4.7") with when("+nccl"): depends_on("nccl@2.18:", when="@0.4.26:") @@ -80,6 +85,9 @@ class PyJaxlib(PythonPackage, CudaPackage): depends_on("py-numpy@1.22:", when="@0.4.14:") depends_on("py-numpy@1.21:", when="@0.4.7:") depends_on("py-numpy@1.20:", when="@0.3:") + # https://github.com/google/jax/issues/19246 + depends_on("py-numpy@:1", when="@:0.4.25") + depends_on("py-ml-dtypes@0.4:", when="@0.4.29") depends_on("py-ml-dtypes@0.2:", when="@0.4.14:") depends_on("py-ml-dtypes@0.1:", when="@0.4.9:") depends_on("py-ml-dtypes@0.0.3:", when="@0.4.7:") diff --git a/var/spack/repos/builtin/packages/py-jcb/package.py b/var/spack/repos/builtin/packages/py-jcb/package.py new file mode 100644 index 00000000000000..a13c134b3c57ce --- /dev/null +++ b/var/spack/repos/builtin/packages/py-jcb/package.py @@ -0,0 +1,39 @@ +# 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 PyJcb(PythonPackage): + """ + JEDI Configuration Builder + """ + + homepage = "https://github.com/NOAA-EMC/jcb" + git = "https://github.com/NOAA-EMC/jcb" + + maintainers("danholdaway", "CoryMartin-NOAA", "AlexanderRichert-NOAA") + + license("GPL-3.0-only", checked_by="AlexanderRichert-NOAA") + + version("develop", branch="develop", commit="16399323e36df6f17bfd4740a2330ca7fae31537") + + depends_on("python@3.6:", type=("build", "run")) + depends_on("py-setuptools", type="build") + + depends_on("py-pyyaml@6:", type=("build", "run")) + depends_on("py-jinja2@3.1.2:", type=("build", "run")) + depends_on("py-click@8:", type=("build", "run")) + + depends_on("py-pytest@7:", type="test") + + @run_after("install") + @on_package_attributes(run_tests=True) + def check(self): + env["PYTHONPATH"] = ":".join( + (join_path(self.build_directory, "build/lib"), env["PYTHONPATH"]) + ) + pytest = which(join_path(self.spec["py-pytest"].prefix.bin, "pytest")) + pytest("-v", self.build_directory) diff --git a/var/spack/repos/builtin/packages/py-jedi/package.py b/var/spack/repos/builtin/packages/py-jedi/package.py index 4ac1c9574c4824..7074588beef056 100644 --- a/var/spack/repos/builtin/packages/py-jedi/package.py +++ b/var/spack/repos/builtin/packages/py-jedi/package.py @@ -39,6 +39,8 @@ class PyJedi(PythonPackage): ) version("0.9.0", sha256="3b4c19fba31bdead9ab7350fb9fa7c914c59b0a807dcdd5c00a05feb85491d31") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type=("build", "run")) depends_on("py-parso@0.8", when="@0.18.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-jellyfish/package.py b/var/spack/repos/builtin/packages/py-jellyfish/package.py index d0ccd6ba3958a6..85e916c21f4274 100644 --- a/var/spack/repos/builtin/packages/py-jellyfish/package.py +++ b/var/spack/repos/builtin/packages/py-jellyfish/package.py @@ -17,4 +17,6 @@ class PyJellyfish(PythonPackage): version("0.6.1", sha256="5104e45a2b804b48a46a92a5e6d6e86830fe60ae83b1da32c867402c8f4c2094") version("0.5.6", sha256="887a9a49d0caee913a883c3e7eb185f6260ebe2137562365be422d1316bd39c9") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-jproperties/package.py b/var/spack/repos/builtin/packages/py-jproperties/package.py new file mode 100644 index 00000000000000..df024a6ed604f1 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-jproperties/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 PyJproperties(PythonPackage): + """Java Property file parser and writer for Python""" + + homepage = "https://github.com/Tblue/python-jproperties" + pypi = "jproperties/jproperties-2.1.1.tar.gz" + + maintainers("teaguesterling") + + license("BSD", checked_by="teaguesterling") + + version("2.1.1", sha256="40b71124e8d257e8954899a91cd2d5c0f72e0f67f1b72048a5ba264567604f29") + version("2.1.0", sha256="504d7b8d3b2f5f0f52c22c1f72bd50576dca17b01b4cd00d4359c6b0607a59ce") + version("2.0.0", sha256="b6709652f5c602e5271f519cf14cb9bf5d5a101df06e6c1d300123477a239588") + version("1.0.1", sha256="327e14082653a4f2212ff81a96fbf141382f727f421e8afc933bf56ff7c010f4") + + depends_on("py-setuptools", type="build") + with default_args(type=("build", "run")): + depends_on("python@2.7,3:") + depends_on("py-six@1.10:1", when="@2.0.0") + depends_on("py-six@1.12:1", when="@2.1.0") + depends_on("py-six@1.13:1", when="@2.1.1") + depends_on("py-setuptools-scm@3.3:3", when="@2.1.1") diff --git a/var/spack/repos/builtin/packages/py-jpype1/package.py b/var/spack/repos/builtin/packages/py-jpype1/package.py index 8c2f32f41a9bb3..aa12e7c9dec065 100644 --- a/var/spack/repos/builtin/packages/py-jpype1/package.py +++ b/var/spack/repos/builtin/packages/py-jpype1/package.py @@ -18,6 +18,9 @@ class PyJpype1(PythonPackage): version("0.6.1", sha256="0d366228b7b37b0266184161cc7ea1ce58f60199f6ec9451985149ea873774be") version("0.6.0", sha256="f5d783520cb4c30595c3bc509065e30fc292ec7cfb57045141eae77c518bcdb0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("numpy", default=False, description="Build numpy extensions") depends_on("python@2.6:") diff --git a/var/spack/repos/builtin/packages/py-junit2html/package.py b/var/spack/repos/builtin/packages/py-junit2html/package.py new file mode 100644 index 00000000000000..d6965674b8f4f1 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-junit2html/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 PyJunit2html(PythonPackage): + """ + Simple self-contained python tool to produce a single html file from a single junit xml file. + """ + + homepage = "https://gitlab.com/inorton/junit2html" + + url = "https://gitlab.com/inorton/junit2html/-/archive/v31.0.2/junit2html-v31.0.2.tar.gz" + + maintainers("LydDeb") + + version("31.0.2", sha256="8d90ae83163dde6bf0bde9c3e8d21c0ab0796de7c5f33917cfdbb9d319212213") + + depends_on("py-setuptools", type=("build")) + depends_on("py-jinja2@3.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-jupytext/package.py b/var/spack/repos/builtin/packages/py-jupytext/package.py index 742310fd4ec782..b7556f3648f9a2 100644 --- a/var/spack/repos/builtin/packages/py-jupytext/package.py +++ b/var/spack/repos/builtin/packages/py-jupytext/package.py @@ -23,6 +23,8 @@ class PyJupytext(PythonPackage): version("1.13.6", sha256="c6c25918ddb6403d0d8504e08d35f6efc447baf0dbeb6a28b73adf39e866a0c4") version("1.13.0", sha256="fb220af65d2bd32d01c779b0e935c4c2b71e3f5f2f01bf1bab10d5f23fe121d4") + depends_on("cxx", type="build") # generated + depends_on("python@3.8:", type=("build", "run"), when="@1.16:") depends_on("python@3.6:3", type=("build", "run"), when="@:1.14") diff --git a/var/spack/repos/builtin/packages/py-keras/package.py b/var/spack/repos/builtin/packages/py-keras/package.py index 6a6497806d9d4f..e2456f9e66a4db 100644 --- a/var/spack/repos/builtin/packages/py-keras/package.py +++ b/var/spack/repos/builtin/packages/py-keras/package.py @@ -22,6 +22,8 @@ class PyKeras(PythonPackage): maintainers("adamjstewart") license("Apache-2.0") + version("3.4.1", sha256="34cd9aeaa008914715149234c215657ca758e1b473bd2aab2e211ac967d1f8fe") + version("3.4.0", sha256="c4b05b150b1c4df27b4a17efd137b2d5e20f385f146fd48636791d675e75059d") version("3.3.3", sha256="f2fdffc8434fd77045cf8fb21816dbaa2308d5f76974ca924b2f60b40433b1a0") version("3.3.2", sha256="e7e2ccba2dfe2cf10b82e3c75ea971b82a4c62560dc562c43b33f7790127c92f") version("3.3.1", sha256="03531beb01b108b867683762ceaacd0f28efc40cb92eee3c8c988b80cf718bbe") @@ -77,12 +79,15 @@ class PyKeras(PythonPackage): depends_on("python@3.8:", when="@2.12:") depends_on("py-absl-py", when="@2.6:") depends_on("py-numpy") + # https://github.com/keras-team/keras/issues/19691 + depends_on("py-numpy@:1") depends_on("py-rich", when="@3:") depends_on("py-namex@0.0.8:", when="@3.3.3:") depends_on("py-namex", when="@3:") depends_on("py-h5py") depends_on("py-optree", when="@3.1:") depends_on("py-ml-dtypes", when="@3.0.5:") + depends_on("py-packaging", when="@3.4:") # requirements-common.txt depends_on("py-scipy") diff --git a/var/spack/repos/builtin/packages/py-kerberos/package.py b/var/spack/repos/builtin/packages/py-kerberos/package.py index f6f62be68179cc..537c969e06f72d 100644 --- a/var/spack/repos/builtin/packages/py-kerberos/package.py +++ b/var/spack/repos/builtin/packages/py-kerberos/package.py @@ -20,6 +20,8 @@ class PyKerberos(PythonPackage): version("1.3.0", sha256="f039b7dd4746df56f6102097b3dc250fe0078be75130b9dc4211a85a3b1ec6a4") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("keyutils", when="platform=linux") depends_on("krb5@1.3.0:") diff --git a/var/spack/repos/builtin/packages/py-kiwisolver/package.py b/var/spack/repos/builtin/packages/py-kiwisolver/package.py index 3447cf310f6f01..703af1eef1a868 100644 --- a/var/spack/repos/builtin/packages/py-kiwisolver/package.py +++ b/var/spack/repos/builtin/packages/py-kiwisolver/package.py @@ -21,6 +21,8 @@ class PyKiwisolver(PythonPackage): version("1.1.0", sha256="53eaed412477c836e1b9522c19858a8557d6e595077830146182225613b11a75") version("1.0.1", sha256="ce3be5d520b4d2c3e5eeb4cd2ef62b9b9ab8ac6b6fedbaa0e39cdb6f50644278") + depends_on("cxx", type="build") # generated + depends_on("python@2.7:2.8,3.4:", type=("build", "run")) depends_on("python@3.6:", type=("build", "run"), when="@1.2.0:") depends_on("python@3.7:", type=("build", "run"), when="@1.3.2:") diff --git a/var/spack/repos/builtin/packages/py-kornia/package.py b/var/spack/repos/builtin/packages/py-kornia/package.py index 3fc1c0de7e54ff..4789984a2ecd78 100644 --- a/var/spack/repos/builtin/packages/py-kornia/package.py +++ b/var/spack/repos/builtin/packages/py-kornia/package.py @@ -23,6 +23,7 @@ class PyKornia(PythonPackage): "adamjstewart", ) + version("0.7.3", sha256="0eb861ea5d7e6c3891ae699a8b7103a5783af0a7c41888ca482420dd3d055306") version("0.7.2", sha256="f834ccd51188d071ed286a6727471c94344ea2a718903cc6f0e56a92f9c66ac5") version("0.7.1", sha256="65b54a50f70c1f88240b557fda3fdcc1ab866982a5d062e52213130f5a48465c") version("0.7.0", sha256="72cba6a0965a15caf10a664647654412effb7c0b9afcf40e458bc005f976ffac") diff --git a/var/spack/repos/builtin/packages/py-lap/package.py b/var/spack/repos/builtin/packages/py-lap/package.py index 61202d4f97b734..b68ba7ef7247d3 100644 --- a/var/spack/repos/builtin/packages/py-lap/package.py +++ b/var/spack/repos/builtin/packages/py-lap/package.py @@ -18,6 +18,8 @@ class PyLap(PythonPackage): license("BSD-2-Clause") version("0.4.0", sha256="c4dad9976f0e9f276d8a676a6d03632c3cb7ab7c80142e3b27303d49f0ed0e3b") + + depends_on("cxx", type="build") # generated depends_on("py-setuptools", type="build") depends_on("py-cython@0.21:", type="build") depends_on("py-numpy@1.10.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-laspy/package.py b/var/spack/repos/builtin/packages/py-laspy/package.py index babd8bf528fd89..1e90f03aaa58cb 100644 --- a/var/spack/repos/builtin/packages/py-laspy/package.py +++ b/var/spack/repos/builtin/packages/py-laspy/package.py @@ -21,3 +21,5 @@ class PyLaspy(PythonPackage): depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) + # https://github.com/laspy/laspy/pull/313 + depends_on("py-numpy@:1", when="@:2.5.3", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py b/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py index 89cbbfb72602d9..c8b247ad92a98a 100644 --- a/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py +++ b/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py @@ -20,6 +20,8 @@ class PyLazyObjectProxy(PythonPackage): version("1.4.3", sha256="f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0") version("1.3.1", sha256="eb91be369f945f10d3a49f5f9be8b3d0b93a4c2be8f8a5b83b0571b8123e0a7a") + depends_on("c", type="build") # generated + depends_on("python@2.7:2.8,3.4:", type=("build", "run")) depends_on("python@2.7:2.8,3.6:", type=("build", "run"), when="@1.6.0:") depends_on("python@3.6:", type=("build", "run"), when="@1.7.0:") diff --git a/var/spack/repos/builtin/packages/py-libensemble/package.py b/var/spack/repos/builtin/packages/py-libensemble/package.py index 5b553912aea278..2d5994001dc254 100644 --- a/var/spack/repos/builtin/packages/py-libensemble/package.py +++ b/var/spack/repos/builtin/packages/py-libensemble/package.py @@ -48,6 +48,9 @@ class PyLibensemble(PythonPackage): version("0.2.0", sha256="ecac7275d4d0f4a5e497e5c9ef2cd998da82b2c020a0fb87546eeea262f495ff") version("0.1.0", sha256="0b27c59ae80f7af8b1bee92fcf2eb6c9a8fd3494bf2eb6b3ea17a7c03d3726bb") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Install with MPI") # Optional communications method # The following variants are for optional built-in generators diff --git a/var/spack/repos/builtin/packages/py-libsonata/package.py b/var/spack/repos/builtin/packages/py-libsonata/package.py index d8ef9b9b8393e2..36937e902d8ec8 100644 --- a/var/spack/repos/builtin/packages/py-libsonata/package.py +++ b/var/spack/repos/builtin/packages/py-libsonata/package.py @@ -18,6 +18,8 @@ class PyLibsonata(PythonPackage): version("master", branch="master") version("0.1.25", sha256="b332efa718123ee265263e1583a5998eaa945a13b8a22903873764cf1d8173fa") + depends_on("cxx", type="build") # generated + depends_on("catch2@2.13:", type="test") depends_on("cmake@3.16:", type="build") depends_on("fmt@7.1:") diff --git a/var/spack/repos/builtin/packages/py-lightgbm/package.py b/var/spack/repos/builtin/packages/py-lightgbm/package.py index 0596e07ecc68b5..cb4a17d8ee5a0c 100644 --- a/var/spack/repos/builtin/packages/py-lightgbm/package.py +++ b/var/spack/repos/builtin/packages/py-lightgbm/package.py @@ -17,6 +17,8 @@ class PyLightgbm(PythonPackage): version("3.1.1", sha256="babece2e3613e97748a67ed45387bb0e984bdb1f4126e39f010fbfe7503c7b20") + depends_on("cxx", type="build") # generated + variant("mpi", default=False, description="Build with mpi support") depends_on("py-setuptools", type="build") @@ -24,6 +26,9 @@ class PyLightgbm(PythonPackage): depends_on("py-pip@:23.0", when="+mpi", type="build") depends_on("py-wheel", type=("build", "run")) depends_on("py-numpy", type=("build", "run")) + # https://github.com/microsoft/LightGBM/issues/6454 + # https://github.com/microsoft/LightGBM/pull/6439 + depends_on("py-numpy@:1", when="@:4.3", type=("build", "run")) depends_on("py-scipy", type=("build", "run")) depends_on("py-scikit-learn@:0.21,0.22.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-lightly/package.py b/var/spack/repos/builtin/packages/py-lightly/package.py index be9259fa78fd71..5a34d6cfa6b4d5 100644 --- a/var/spack/repos/builtin/packages/py-lightly/package.py +++ b/var/spack/repos/builtin/packages/py-lightly/package.py @@ -49,6 +49,8 @@ class PyLightly(PythonPackage): depends_on("py-hydra-core@1:", type=("build", "run")) depends_on("py-lightly-utils@0.0", type=("build", "run")) depends_on("py-numpy@1.18.1:", type=("build", "run")) + # https://github.com/lightly-ai/lightly/issues/1558 + depends_on("py-numpy@:1", type=("build", "run")) depends_on("py-python-dateutil@2.5.3:", type=("build", "run")) depends_on("py-requests@2.23:", type=("build", "run")) depends_on("py-six@1.10:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-lightning/package.py b/var/spack/repos/builtin/packages/py-lightning/package.py index cee444adfbf7f7..791ab781b6b06f 100644 --- a/var/spack/repos/builtin/packages/py-lightning/package.py +++ b/var/spack/repos/builtin/packages/py-lightning/package.py @@ -17,6 +17,9 @@ class PyLightning(PythonPackage): license("Apache-2.0") + version("2.3.0", sha256="4bb4d6e3650d2d5f544ad60853a22efc4e164aa71b9596d13f0454b29df05130") + version("2.2.5", sha256="a6c31a2052fc30fee34aec7e31ea2a117a005d049c3593fc9cfb867a34f962bf") + version("2.2.4", sha256="4cc3fb3edf04fcd63c0ecf75087d2fa06163759fc8c1fc500b16404ac1854f77") version("2.2.3", sha256="9f208d57ad9c1ae40918136dbef673f02d8e9ab519d33237a6e74984bcd73d96") version("2.2.2", sha256="799e933bf51f3f10516b3f1acf3650e4bc063682eb5b5dc9dcbd1ebd38e03e3a") version("2.2.1", sha256="b3e46d596b32cafd1fb9b21fdba1b1767df97b1af5cc702693d1c51df60b19aa") @@ -36,77 +39,88 @@ class PyLightning(PythonPackage): version("2.0.2", sha256="fa32d671850a5be2d961c6705c927f6f48d1cf9696f61f7d865244142e684430") version("2.0.1", sha256="abf4f9e10b0d97348336038db79f4efc75daa2f3f81876822273023294d6ef3e") version("2.0.0", sha256="dfe158aa91ac139d8bdfccc7cdb627072e0052076ae9c0459c8fa12a028dbe6c") - version("1.9.5", sha256="4a6ee1bf338f7677f04d339b84dd0c9c0fa407c3dacea366a111dc86476d4dec") + version( + "1.9.5", + sha256="4a6ee1bf338f7677f04d339b84dd0c9c0fa407c3dacea366a111dc86476d4dec", + deprecated=True, + ) - # src/lightning/__setup__.py - depends_on("python@3.8:", when="@2:", type=("build", "run")) depends_on("py-setuptools", type="build") - # src/lightning.egg-info/requires.txt - depends_on("py-pyyaml@5.4:7", type=("build", "run")) - depends_on("py-fsspec@2022.5:2024+http", when="@2.1.3:", type=("build", "run")) - depends_on("py-fsspec@2021.6.1:2024+http", when="@2.1.0:2.1.2", type=("build", "run")) - depends_on("py-fsspec@2022.5:2024+http", when="@2.0.5:2.0", type=("build", "run")) - depends_on("py-fsspec@2022.5:2023+http", when="@:2.0.4", type=("build", "run")) - depends_on("py-lightning-utilities@0.8:1", when="@2.1:", type=("build", "run")) - depends_on("py-lightning-utilities@0.7:1", when="@2.0", type=("build", "run")) - depends_on("py-lightning-utilities@0.6.0.post0:1", when="@:1", type=("build", "run")) - depends_on("py-numpy@1.17.2:2", type=("build", "run")) - depends_on("py-packaging@20:24", when="@2.1:", type=("build", "run")) - depends_on("py-packaging@17.1:24", when="@:2.0", type=("build", "run")) - depends_on("py-torch@1.13:3", when="@2.2:", type=("build", "run")) - depends_on("py-torch@1.12:3", when="@2.1", type=("build", "run")) - depends_on("py-torch@1.11:3", when="@2.0", type=("build", "run")) - depends_on("py-torch@1.10:3", when="@:1", type=("build", "run")) - depends_on("py-torchmetrics@0.7:2", when="@2.0.9:", type=("build", "run")) - depends_on("py-torchmetrics@0.7:1", when="@:2.0.8", type=("build", "run")) - depends_on("py-tqdm@4.57:5", type=("build", "run")) - depends_on("py-typing-extensions@4.4:5", when="@2.2:", type=("build", "run")) - depends_on("py-typing-extensions@4:5", type=("build", "run")) + with default_args(type=("build", "run")): + # src/lightning/__setup__.py + depends_on("python@3.8:", when="@2:") - # Only an alias, not actually used by the library - # depends_on("py-pytorch-lightning", when="@2:", type=("build", "run")) + # src/lightning.egg-info/requires.txt + depends_on("py-pyyaml@5.4:7") + depends_on("py-fsspec@2022.5:2025+http", when="@2.3:") + depends_on("py-fsspec@2022.5:2024+http", when="@2.1.3:2.2") + depends_on("py-fsspec@2021.6.1:2024+http", when="@2.1.0:2.1.2") + depends_on("py-fsspec@2022.5:2024+http", when="@2.0.5:2.0") + depends_on("py-fsspec@2022.5:2023+http", when="@:2.0.4") + depends_on("py-lightning-utilities@0.8:1", when="@2.1:") + depends_on("py-lightning-utilities@0.7:1", when="@2.0") + depends_on("py-lightning-utilities@0.6.0.post0:1", when="@:1") + depends_on("py-numpy@1.17.2:2") + depends_on("py-packaging@20:24", when="@2.1:") + depends_on("py-packaging@17.1:24", when="@:2.0") + depends_on("py-torch@2:3", when="@2.3:") + depends_on("py-torch@1.13:3", when="@2.2:") + depends_on("py-torch@1.12:3", when="@2.1") + depends_on("py-torch@1.11:3", when="@2.0") + depends_on("py-torch@1.10:3", when="@:1") + depends_on("py-torchmetrics@0.7:2", when="@2.0.9:") + depends_on("py-torchmetrics@0.7:1", when="@:2.0.8") + depends_on("py-tqdm@4.57:5") + depends_on("py-typing-extensions@4.4:5", when="@2.2:") + depends_on("py-typing-extensions@4:5") - # Historical requirements - with when("@:2.0"): - depends_on("py-jinja2@:4", type=("build", "run")) - depends_on("py-arrow@1.2:2", type=("build", "run")) - depends_on("py-backoff@2.2.1:3", when="@2.0.5:", type=("build", "run")) - depends_on("py-beautifulsoup4@4.8:5", type=("build", "run")) - depends_on("py-click@:9", type=("build", "run")) - depends_on("py-croniter@1.3:1.4", when="@2.0.5:", type=("build", "run")) - depends_on("py-croniter@1.3", when="@:2.0.4", type=("build", "run")) - depends_on("py-dateutils@:1", type=("build", "run")) - depends_on("py-deepdiff@5.7:7", type=("build", "run")) - depends_on("py-fastapi@0.92:1", when="@2.0.4:", type=("build", "run")) - depends_on("py-fastapi@0.69:0.88", when="@2.0.3", type=("build", "run")) - depends_on("py-fastapi@:0.88", when="@:2.0.2", type=("build", "run")) - depends_on("py-inquirer@2.10:4", type=("build", "run")) - depends_on("py-lightning-cloud@0.5.38:", when="@2.0.9:", type=("build", "run")) - depends_on("py-lightning-cloud@0.5.37:", when="@2.0.5:", type=("build", "run")) - depends_on("py-lightning-cloud@0.5.34:", when="@2.0.3:", type=("build", "run")) - depends_on("py-lightning-cloud@0.5.31:", when="@2:", type=("build", "run")) - depends_on("py-lightning-cloud@0.5.27:", when="@:1", type=("build", "run")) - depends_on("py-psutil@:6", type=("build", "run")) - depends_on("py-pydantic@1.7.4:2.1", when="@2.0.7:", type=("build", "run")) - depends_on("py-pydantic@1.7.4:2.0", when="@2.0.6", type=("build", "run")) - depends_on("py-pydantic@1.7.4:1", when="@2.0.5", type=("build", "run")) - depends_on("py-pydantic@1.7.4:3", when="@2.0.3:2.0.4", type=("build", "run")) - depends_on("py-pydantic@:2", when="@:2.0.2", type=("build", "run")) - depends_on("py-python-multipart@0.0.5:1", type=("build", "run")) - depends_on("py-requests@:3", type=("build", "run")) - depends_on("py-rich@12.3:14", when="@2:", type=("build", "run")) - depends_on("py-rich@:14", when="@:1", type=("build", "run")) - depends_on("py-starlette", when="@2.0.3:", type=("build", "run")) - depends_on("py-starlette@:1", when="@:2.0.2", type=("build", "run")) - depends_on("py-starsessions@1.2.1:1", type=("build", "run")) - depends_on("py-traitlets@5.3:6", type=("build", "run")) - depends_on("py-urllib3@:3", when="@2.0.4:", type=("build", "run")) - depends_on("py-urllib3@:2", when="@:2.0.3", type=("build", "run")) - depends_on("py-uvicorn@:1", type=("build", "run")) - depends_on("py-websocket-client@:2", type=("build", "run")) - depends_on("py-websockets@:12", when="@2.0.5:", type=("build", "run")) - depends_on("py-websockets@:11", when="@:2.0.4", type=("build", "run")) + # Only an alias, not actually used by the library + # depends_on("py-pytorch-lightning", when="@2:") + + # Historical requirements + # https://github.com/Lightning-AI/pytorch-lightning/pull/20081 + depends_on("py-setuptools", when="@:2.3") + + with when("@:2.0"): + depends_on("py-jinja2@:4") + depends_on("py-arrow@1.2:2") + depends_on("py-backoff@2.2.1:3", when="@2.0.5:") + depends_on("py-beautifulsoup4@4.8:5") + depends_on("py-click@:9") + depends_on("py-croniter@1.3:1.4", when="@2.0.5:") + depends_on("py-croniter@1.3", when="@:2.0.4") + depends_on("py-dateutils@:1") + depends_on("py-deepdiff@5.7:7") + depends_on("py-fastapi@0.92:1", when="@2.0.4:") + depends_on("py-fastapi@0.69:0.88", when="@2.0.3") + depends_on("py-fastapi@:0.88", when="@:2.0.2") + depends_on("py-inquirer@2.10:4") + depends_on("py-lightning-cloud@0.5.38:", when="@2.0.9:") + depends_on("py-lightning-cloud@0.5.37:", when="@2.0.5:") + depends_on("py-lightning-cloud@0.5.34:", when="@2.0.3:") + depends_on("py-lightning-cloud@0.5.31:", when="@2:") + depends_on("py-lightning-cloud@0.5.27:", when="@:1") + depends_on("py-psutil@:6") + depends_on("py-pydantic@1.7.4:2.1", when="@2.0.7:") + depends_on("py-pydantic@1.7.4:2.0", when="@2.0.6") + depends_on("py-pydantic@1.7.4:1", when="@2.0.5") + depends_on("py-pydantic@1.7.4:3", when="@2.0.3:2.0.4") + depends_on("py-pydantic@:2", when="@:2.0.2") + depends_on("py-python-multipart@0.0.5:1") + depends_on("py-requests@:3") + depends_on("py-rich@12.3:14", when="@2:") + depends_on("py-rich@:14", when="@:1") + depends_on("py-starlette", when="@2.0.3:") + depends_on("py-starlette@:1", when="@:2.0.2") + depends_on("py-starsessions@1.2.1:1") + depends_on("py-traitlets@5.3:6") + depends_on("py-urllib3@:3", when="@2.0.4:") + depends_on("py-urllib3@:2", when="@:2.0.3") + depends_on("py-uvicorn@:1") + depends_on("py-websocket-client@:2") + depends_on("py-websockets@:12", when="@2.0.5:") + depends_on("py-websockets@:11", when="@:2.0.4") # https://github.com/Lightning-AI/lightning/issues/18858 conflicts("^py-torch~distributed", when="@2.1.0") diff --git a/var/spack/repos/builtin/packages/py-ligo-segments/package.py b/var/spack/repos/builtin/packages/py-ligo-segments/package.py index 0182330d79ad76..491c7468a4ec57 100644 --- a/var/spack/repos/builtin/packages/py-ligo-segments/package.py +++ b/var/spack/repos/builtin/packages/py-ligo-segments/package.py @@ -15,5 +15,7 @@ class PyLigoSegments(PythonPackage): version("1.2.0", sha256="5edbcb88cae007c4e154a61cb2c9d0a6d6d4016c1ecaf0a59a667a267bd20e7a") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-six", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-line-profiler/package.py b/var/spack/repos/builtin/packages/py-line-profiler/package.py index 58f2aef1514571..4001fef2e0fa50 100644 --- a/var/spack/repos/builtin/packages/py-line-profiler/package.py +++ b/var/spack/repos/builtin/packages/py-line-profiler/package.py @@ -21,6 +21,8 @@ class PyLineProfiler(PythonPackage): version("2.1.2", sha256="efa66e9e3045aa7cb1dd4bf0106e07dec9f80bc781a993fbaf8162a36c20af5c") version("2.0", sha256="739f8ad0e4bcd0cb82e99afc09e00a0351234f6b3f0b1f7f0090a8a2fbbf8381") + depends_on("c", type="build") # generated + # see pyproject.toml depends_on("python@2.5:", type=("build", "run")) depends_on("python@:3.10", type=("build", "run"), when="@:3") diff --git a/var/spack/repos/builtin/packages/py-llnl-sina/package.py b/var/spack/repos/builtin/packages/py-llnl-sina/package.py index d55adb4510cb73..4670788828baf5 100644 --- a/var/spack/repos/builtin/packages/py-llnl-sina/package.py +++ b/var/spack/repos/builtin/packages/py-llnl-sina/package.py @@ -31,6 +31,8 @@ class PyLlnlSina(PythonPackage): version("1.11.0", tag="v1.11.0", commit="f3e9bb3a122cfae2a9fd82c3c5613cff939d3aa1") version("1.10.0", tag="v1.10.0", commit="9c3c0acca5f0d4ac02470571688f00ab0bd61a30") + depends_on("cxx", type="build") # generated + # let's remove dependency on orjson patch("no_orjson.patch") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-llvmlite/package.py b/var/spack/repos/builtin/packages/py-llvmlite/package.py index 73e8f568435f33..758e942337694b 100644 --- a/var/spack/repos/builtin/packages/py-llvmlite/package.py +++ b/var/spack/repos/builtin/packages/py-llvmlite/package.py @@ -28,6 +28,8 @@ class PyLlvmlite(PythonPackage): version("0.33.0", sha256="9c8aae96f7fba10d9ac864b443d1e8c7ee4765c31569a2b201b3d0b67d8fc596") version("0.31.0", sha256="22ab2b9d7ec79fab66ac8b3d2133347de86addc2e2df1b3793e523ac84baa3c8") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("python@3.8:3.11", when="@0.40:", type=("build", "run")) depends_on("python@:3.10", when="@0.38:0.39", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-lmdb/package.py b/var/spack/repos/builtin/packages/py-lmdb/package.py index 9a953753e38915..2707bda7f5e9e9 100644 --- a/var/spack/repos/builtin/packages/py-lmdb/package.py +++ b/var/spack/repos/builtin/packages/py-lmdb/package.py @@ -18,6 +18,8 @@ class PyLmdb(PythonPackage): version("1.3.0", sha256="60a11efc21aaf009d06518996360eed346f6000bfc9de05114374230879f992e") version("1.1.1", sha256="165cd1669b29b16c2d5cc8902b90fede15a7ee475c54d466f1444877a3f511ac") + depends_on("c", type="build") # generated + depends_on("python@2.7:2,3.4:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("lmdb") diff --git a/var/spack/repos/builtin/packages/py-lru-dict/package.py b/var/spack/repos/builtin/packages/py-lru-dict/package.py index d5d88abb93a3a6..2153da2db5c271 100644 --- a/var/spack/repos/builtin/packages/py-lru-dict/package.py +++ b/var/spack/repos/builtin/packages/py-lru-dict/package.py @@ -17,5 +17,7 @@ class PyLruDict(PythonPackage): version("1.1.6", sha256="365457660e3d05b76f1aba3e0f7fedbfcd6528e97c5115a351ddd0db488354cc") + depends_on("c", type="build") # generated + depends_on("python@2.7:", type=("build", "run")) depends_on("py-setuptools", type=("build")) diff --git a/var/spack/repos/builtin/packages/py-lscsoft-glue/package.py b/var/spack/repos/builtin/packages/py-lscsoft-glue/package.py index d35d5544325fde..42f55fb5a2061a 100644 --- a/var/spack/repos/builtin/packages/py-lscsoft-glue/package.py +++ b/var/spack/repos/builtin/packages/py-lscsoft-glue/package.py @@ -18,6 +18,8 @@ class PyLscsoftGlue(PythonPackage): version("2.0.0", sha256="9bdfaebe4c921d83d1e3d1ca24379a644665e9d7530e7070665f387767c66923") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-six", type=("build", "run")) depends_on("py-pyopenssl", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-lws/package.py b/var/spack/repos/builtin/packages/py-lws/package.py index 783fc91e008f81..25e778e6afbc99 100644 --- a/var/spack/repos/builtin/packages/py-lws/package.py +++ b/var/spack/repos/builtin/packages/py-lws/package.py @@ -17,6 +17,8 @@ class PyLws(PythonPackage): version("1.2.6", sha256="ac94834832aadfcd53fcf4a77e1d95155063b39adbce14c733f8345bdac76e87") + depends_on("cxx", type="build") # generated + depends_on("python@3:", type=("build", "run")) depends_on("py-cython", type="build") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-lxml/package.py b/var/spack/repos/builtin/packages/py-lxml/package.py index 7b6c31b08fa7cb..dacbaeed4793f5 100644 --- a/var/spack/repos/builtin/packages/py-lxml/package.py +++ b/var/spack/repos/builtin/packages/py-lxml/package.py @@ -31,6 +31,8 @@ class PyLxml(PythonPackage): version("3.7.3", sha256="aa502d78a51ee7d127b4824ff96500f0181d3c7826e6ee7b800d068be79361c7") version("2.3", sha256="eea1b8d29532739c1383cb4794c5eacd6176f0972b59e8d29348335b87ff2e66") + depends_on("c", type="build") # generated + variant("html5", default=False, description="Enable html5lib backend") variant("htmlsoup", default=False, description="Enable BeautifulSoup4 backend") variant("cssselect", default=False, description="Enable cssselect module") diff --git a/var/spack/repos/builtin/packages/py-lz4/package.py b/var/spack/repos/builtin/packages/py-lz4/package.py index f3b889859dc223..79a7caea39b96b 100644 --- a/var/spack/repos/builtin/packages/py-lz4/package.py +++ b/var/spack/repos/builtin/packages/py-lz4/package.py @@ -18,6 +18,8 @@ class PyLz4(PythonPackage): version("3.1.3", sha256="081ef0a3b5941cb03127f314229a1c78bd70c9c220bb3f4dd80033e707feaa18") version("3.1.0", sha256="debe75513db3eb9e5cdcd82a329ff38374b6316ab65b848b571e0404746c1e05") + depends_on("c", type="build") # generated + depends_on("python@3.5:", type=("build", "run")) depends_on("python@3.7:", when="@4.0.2:", type=("build", "run")) depends_on("py-setuptools@45:", when="@4.0.2:", type="build") diff --git a/var/spack/repos/builtin/packages/py-macs2/package.py b/var/spack/repos/builtin/packages/py-macs2/package.py index ffddbafe0eb250..d76360b04e81ae 100644 --- a/var/spack/repos/builtin/packages/py-macs2/package.py +++ b/var/spack/repos/builtin/packages/py-macs2/package.py @@ -21,6 +21,8 @@ class PyMacs2(PythonPackage): version("2.2.7.1", sha256="ad2ca69bdd02a8942a68aae23133289b5c16ba382bcbe20c39fabf3948929de5") version("2.2.4", sha256="b131aadc8f5fd94bec35308b821e1f7585def788d2e7c756fc8cac402ffee25b") + depends_on("c", type="build") # generated + # patch to correctly identify python-3.10 as greater than required version patch( "https://github.com/macs3-project/MACS/pull/497.patch?full_index=1", diff --git a/var/spack/repos/builtin/packages/py-macs3/package.py b/var/spack/repos/builtin/packages/py-macs3/package.py index 0c547d66d56ac5..cdc6091851472f 100644 --- a/var/spack/repos/builtin/packages/py-macs3/package.py +++ b/var/spack/repos/builtin/packages/py-macs3/package.py @@ -18,6 +18,8 @@ class PyMacs3(PythonPackage): version("3.0.0b3", sha256="caa794d4cfcd7368447eae15878505315dac44c21546e8fecebb3561e9cee362") + depends_on("c", type="build") # generated + depends_on("python@3.9:", type=("build", "run")) depends_on("py-setuptools@60.0:", type="build") diff --git a/var/spack/repos/builtin/packages/py-mahotas/package.py b/var/spack/repos/builtin/packages/py-mahotas/package.py index 0a8badbe14c132..ff8406b5bb9c90 100644 --- a/var/spack/repos/builtin/packages/py-mahotas/package.py +++ b/var/spack/repos/builtin/packages/py-mahotas/package.py @@ -18,5 +18,7 @@ class PyMahotas(PythonPackage): version("1.4.13", sha256="a78dfe15045a20a0d9e01538b80f874580cd3525ae3eaa2c83ced51eb455879c") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-mapbox-earcut/package.py b/var/spack/repos/builtin/packages/py-mapbox-earcut/package.py index 4b529cd9c5ec88..f07e5f22fc9410 100644 --- a/var/spack/repos/builtin/packages/py-mapbox-earcut/package.py +++ b/var/spack/repos/builtin/packages/py-mapbox-earcut/package.py @@ -18,6 +18,8 @@ class PyMapboxEarcut(PythonPackage): version("1.0.1", sha256="9f155e429a22e27387cfd7a6372c3a3865aafa609ad725e2c4465257f154a438") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools@42:", type="build") depends_on("py-pybind11@2.6:2", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-mariadb/package.py b/var/spack/repos/builtin/packages/py-mariadb/package.py index 1082fd0f42e774..a16727820379aa 100644 --- a/var/spack/repos/builtin/packages/py-mariadb/package.py +++ b/var/spack/repos/builtin/packages/py-mariadb/package.py @@ -22,6 +22,8 @@ class PyMariadb(PythonPackage): url="https://www.pypi.org/packages/source/m/mariadb/mariadb-1.0.10.zip", ) + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-packaging", type=("build", "run")) depends_on("mariadb-c-client", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-markupsafe/package.py b/var/spack/repos/builtin/packages/py-markupsafe/package.py index c345723feb78c5..8a8ed24df9b2ba 100644 --- a/var/spack/repos/builtin/packages/py-markupsafe/package.py +++ b/var/spack/repos/builtin/packages/py-markupsafe/package.py @@ -30,4 +30,6 @@ class PyMarkupsafe(PythonPackage): version("0.20", sha256="f6cf3bd233f9ea6147b21c7c02cac24e5363570ce4fd6be11dab9f499ed6a7d8") version("0.19", sha256="62fcc5d641df8b5ad271ebbd6b77a19cd92eceba1e1a990de4e96c867789f037") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py index 62d5b9ed92b5cb..7d64014779038d 100644 --- a/var/spack/repos/builtin/packages/py-matplotlib/package.py +++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py @@ -26,6 +26,7 @@ class PyMatplotlib(PythonPackage): license("Apache-2.0") maintainers("adamjstewart", "rgommers") + version("3.9.1", sha256="de06b19b8db95dd33d0dc17c926c7c9ebed9f572074b6fac4f65068a6814d010") version("3.9.0", sha256="e6d29ea6c19e34b30fb7d88b7081f869a03014f66fe06d62cc77d5a6ea88ed7a") version("3.8.4", sha256="8aac397d5e9ec158960e31c381c5ffc52ddd52bd9a47717e2a694038167dffea") version("3.8.3", sha256="7b416239e9ae38be54b028abbf9048aff5054a9aba5416bef0bd17f9162ce161") @@ -67,6 +68,9 @@ class PyMatplotlib(PythonPackage): version("3.0.1", sha256="70f8782c50ac2c7617aad0fa5ba59fc49f690a851d6afc0178813c49767644dd") version("3.0.0", sha256="b4e2333c98a7c2c1ff6eb930cd2b57d4b818de5437c5048802096b32f66e65f9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # https://matplotlib.org/stable/users/explain/figure/backends.html # matplotlib 3.9+: lib/matplotlib/backends/registry.py # matplotlib 3.8-: lib/matplotlib/rcsetup.py @@ -142,14 +146,15 @@ class PyMatplotlib(PythonPackage): depends_on("py-kiwisolver@1.3.1:", when="@3.8.1:", type=("build", "run")) depends_on("py-kiwisolver@1.0.1:", type=("build", "run")) depends_on("py-numpy@1.23:", when="@3.9:", type=("build", "link", "run")) - depends_on("py-numpy@1.21:", when="@3.8.4", type=("build", "link", "run")) - depends_on("py-numpy@1.21:1", when="@3.8.0:3.8.3", type=("build", "link", "run")) - depends_on("py-numpy@1.20:1", when="@3.7", type=("build", "link", "run")) - depends_on("py-numpy@1.19:1", when="@3.6", type=("build", "link", "run")) - depends_on("py-numpy@1.17:1", when="@3.5", type=("build", "link", "run")) - depends_on("py-numpy@1.16:1", when="@3.4", type=("build", "link", "run")) - depends_on("py-numpy@1.15:1", when="@3.3", type=("build", "link", "run")) - depends_on("py-numpy@1.11:1", when="@:3.2", type=("build", "run")) + depends_on("py-numpy@1.21:", when="@3.8", type=("build", "link", "run")) + depends_on("py-numpy@1.20:", when="@3.7", type=("build", "link", "run")) + depends_on("py-numpy@1.19:", when="@3.6", type=("build", "link", "run")) + depends_on("py-numpy@1.17:", when="@3.5", type=("build", "link", "run")) + depends_on("py-numpy@1.16:", when="@3.4", type=("build", "link", "run")) + depends_on("py-numpy@1.15:", when="@3.3", type=("build", "link", "run")) + depends_on("py-numpy@1.11:", when="@:3.2", type=("build", "link", "run")) + # https://github.com/matplotlib/matplotlib/issues/26778 + depends_on("py-numpy@:1", when="@:3.8.3", type=("build", "link", "run")) depends_on("py-packaging@20:", when="@3.6:", type=("build", "run")) depends_on("py-packaging", when="@3.5:", type=("build", "run")) depends_on("pil@8:", when="@3.8.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-maturin/package.py b/var/spack/repos/builtin/packages/py-maturin/package.py index 783077ba0b2215..ab2858ec7d97e9 100644 --- a/var/spack/repos/builtin/packages/py-maturin/package.py +++ b/var/spack/repos/builtin/packages/py-maturin/package.py @@ -14,16 +14,33 @@ class PyMaturin(PythonPackage): homepage = "https://github.com/pyo3/maturin" pypi = "maturin/maturin-0.13.7.tar.gz" + maintainers("teaguesterling") + license("Apache-2.0") + version("1.6.0", sha256="b955025c24c8babc808db49e0ff90db8b4b1320dcc16b14eb26132841737230d") version("1.5.1", sha256="3dd834ece80edb866af18cbd4635e0ecac40139c726428d5f1849ae154b26dca") version("1.4.0", sha256="ed12e1768094a7adeafc3a74ebdb8dc2201fa64c4e7e31f14cfc70378bf93790") version("1.1.0", sha256="4650aeaa8debd004b55aae7afb75248cbd4d61cd7da2dcf4ead8b22b58cecae0") version("0.14.17", sha256="fb4e3311e8ce707843235fbe8748a05a3ae166c3efd6d2aa335b53dfc2bd3b88") version("0.13.7", sha256="c0a77aa0c57f945649ca711c806203a1b6888ad49c2b8b85196ffdcf0421db77") - depends_on("py-setuptools", type="build") - depends_on("py-wheel@0.36.2:", type="build") - depends_on("py-setuptools-rust@1.4:", type="build") - depends_on("py-tomli@1.1:", when="^python@:3.10", type=("build", "run")) - depends_on("rust", type=("build", "run")) + with default_args(type="build"): + depends_on("py-setuptools") + depends_on("py-wheel@0.36.2:") + depends_on("py-setuptools-rust@1.4:") + + with default_args(type=("build", "run")): + depends_on("py-tomli@1.1:", when="^python@:3.10") + for rust, maturin in [ + ("1.70", "1.5.0"), + ("1.64", "1.0.0"), + ("1.62", "0.14.3"), + ("1.59", "0.13.3"), + ]: + depends_on(f"rust@{rust}:", when=f"@{maturin}:") + + # May be an accidental dependency, remove in the future + # https://git.alpinelinux.org/aports/commit/?id=7ad298b467403b96a6b97d050170e367f147a75f + # https://patchwork.yoctoproject.org/project/oe-core/patch/8803dc101b641c948805cab9e5784c38f43b0e51.1702791173.git.tim.orling@konsulko.com/ + depends_on("bzip2", when="platform=darwin") diff --git a/var/spack/repos/builtin/packages/py-mayavi/package.py b/var/spack/repos/builtin/packages/py-mayavi/package.py index 31e6c2bd43d81a..5f91cb917e0319 100644 --- a/var/spack/repos/builtin/packages/py-mayavi/package.py +++ b/var/spack/repos/builtin/packages/py-mayavi/package.py @@ -22,6 +22,9 @@ class PyMayavi(PythonPackage): url="https://files.pythonhosted.org/packages/source/m/mayavi/mayavi-4.7.1.tar.bz2", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-apptools", type=("build", "run")) depends_on("py-envisage", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-mdanalysis/package.py b/var/spack/repos/builtin/packages/py-mdanalysis/package.py index 69f5a0c85304ef..56edcbb7648a43 100644 --- a/var/spack/repos/builtin/packages/py-mdanalysis/package.py +++ b/var/spack/repos/builtin/packages/py-mdanalysis/package.py @@ -27,6 +27,9 @@ class PyMdanalysis(PythonPackage): version("2.4.3", sha256="c4fbdc414e4fdda69052fff2a6e412180fe6fa90a42c24793beee04123648c92") version("2.4.2", sha256="ae2ee5627391e73f74eaa3c547af3ec6ab8b040d27dedffe3a7ece8e0cd27636") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "analysis", default=True, @@ -42,9 +45,11 @@ class PyMdanalysis(PythonPackage): depends_on("py-cython@0.28:", type="build") # MDAnalysis required dependencies (install_requires) - depends_on("py-numpy@1.22.3:1", when="@2.6.0:", type=("build", "run")) + depends_on("py-numpy@1.22.3:", when="@2.6.0:", type=("build", "run")) depends_on("py-numpy@1.21.0:", when="@2.5.0:", type=("build", "run")) depends_on("py-numpy@1.20.0:", type=("build", "run")) + # https://github.com/MDAnalysis/mdanalysis/pull/4482 + depends_on("py-numpy@:1", type=("build", "run")) depends_on("py-griddataformats@0.4.0:", type=("build", "run")) depends_on("py-mmtf-python@1.0.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-meldmd/package.py b/var/spack/repos/builtin/packages/py-meldmd/package.py index d831c2d05617a8..2f8538154795af 100644 --- a/var/spack/repos/builtin/packages/py-meldmd/package.py +++ b/var/spack/repos/builtin/packages/py-meldmd/package.py @@ -20,6 +20,8 @@ class PyMeldmd(CMakePackage, PythonExtension, CudaPackage): version("0.6.1", sha256="aae8e5bfbdacc1e6de61768a3298314c51575cda477a511e98dc11f5730fd918") version("0.4.20", sha256="8c8d2b713f8dc0ecc137d19945b3957e12063c8dda569696e47c8820eeac6c92") + depends_on("cxx", type="build") # generated + extends("python") depends_on("python@3.6:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-melissa-core/package.py b/var/spack/repos/builtin/packages/py-melissa-core/package.py index 78358c4401dc00..f6b6b3c9c46421 100644 --- a/var/spack/repos/builtin/packages/py-melissa-core/package.py +++ b/var/spack/repos/builtin/packages/py-melissa-core/package.py @@ -23,6 +23,9 @@ class PyMelissaCore(PythonPackage): version("joss", tag="JOSS_v2", commit="20bbe68c1a7b73aa2ea3ad35681c332c7a5fc516") version("sc23", tag="SC23", commit="8bb5b6817d4abe4eaa5893552d711150e53535f3") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # define variants for the deep learning server (torch, tf) variant( "torch", default=False, description="Install Deep Learning requirements with Pytorch only" diff --git a/var/spack/repos/builtin/packages/py-memray/package.py b/var/spack/repos/builtin/packages/py-memray/package.py index c8f752729323ba..e5c6bbba0c8c6d 100644 --- a/var/spack/repos/builtin/packages/py-memray/package.py +++ b/var/spack/repos/builtin/packages/py-memray/package.py @@ -16,6 +16,9 @@ class PyMemray(PythonPackage): version("1.1.0", sha256="876e46e0cd42394be48b33f81314bc946f4eb023b04bf1def084c25ccf1d2bb6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@3.7:", type=("build", "link", "run")) depends_on("py-setuptools", type="build") depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-merlin/package.py b/var/spack/repos/builtin/packages/py-merlin/package.py index 344b31ae575513..74a5cc70904b67 100644 --- a/var/spack/repos/builtin/packages/py-merlin/package.py +++ b/var/spack/repos/builtin/packages/py-merlin/package.py @@ -20,6 +20,8 @@ class PyMerlin(PythonPackage): version("master", branch="master") version("1.10.3", sha256="6edaf17b502db090cef0bc53ae0118c55f77d7a16f43c7a235e0dd1770decadb") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type=("build", "run")) depends_on("py-cached-property", type=("build", "run")) depends_on("py-celery@5.0.3:+redis+sqlalchemy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-meshpy/package.py b/var/spack/repos/builtin/packages/py-meshpy/package.py index 8e1832b114d14b..8d171f36f56c0c 100644 --- a/var/spack/repos/builtin/packages/py-meshpy/package.py +++ b/var/spack/repos/builtin/packages/py-meshpy/package.py @@ -19,6 +19,8 @@ class PyMeshpy(PythonPackage): version("2022.1.3", sha256="a7158e31ece25fa6c6cebce9fd1e968157d661dc8769fb30ceba69c351478475") + depends_on("cxx", type="build") # generated + depends_on("python@3.6:3", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-pybind11", type="build") diff --git a/var/spack/repos/builtin/packages/py-meson-python/package.py b/var/spack/repos/builtin/packages/py-meson-python/package.py index c225cad54176a4..d9df736858955f 100644 --- a/var/spack/repos/builtin/packages/py-meson-python/package.py +++ b/var/spack/repos/builtin/packages/py-meson-python/package.py @@ -17,6 +17,7 @@ class PyMesonPython(PythonPackage): license("MIT") + version("0.16.0", sha256="9068c17e36c89d6c7ff709fffb2a8a9925e8cd0b02629728e5ceaf2ec505cb5f") version("0.15.0", sha256="fddb73eecd49e89c1c41c87937cd89c2d0b65a1c63ba28238681d4bd9484d26f") version("0.13.1", sha256="63b3170001425c42fa4cfedadb9051cbd28925ff8eed7c40d36ba0099e3c7618") version("0.12.0", sha256="8cb159a8093a2e73cfa897f8092ec93b74e3842f94dff7fde381c6fe0e0b064d") @@ -25,12 +26,19 @@ class PyMesonPython(PythonPackage): version("0.9.0", sha256="6aa5a09ff5cce1c5308938ebbf3eab5529413c8677055ace1ac8c83d8a07b29d") version("0.8.1", sha256="442f1fa4cf5db50eea61170a6059c10fafd70977f5dbdf3441c106cd23b05e4c") version("0.8.0", sha256="b5c8a2727e6f6feaffc1db513244c9bdb5d0f689b45e24f4529b649b7710daf7") - version("0.7.0", sha256="9fcfa350f44ca80dd4f5f9c3d251725434acf9a07d9618f382e6cc4629dcbe84") + version( + "0.7.0", + sha256="9fcfa350f44ca80dd4f5f9c3d251725434acf9a07d9618f382e6cc4629dcbe84", + deprecated=True, + ) + + depends_on("c", type="build") # generated depends_on("py-colorama", when="platform=windows", type=("build", "run")) depends_on("meson@0.63.3:", when="@0.11:", type=("build", "run")) depends_on("meson@0.63:", when="@0.9:0.10", type=("build", "run")) depends_on("meson@0.62:", type=("build", "run")) + depends_on("py-packaging@19:", when="@0.16:", type=("build", "run")) depends_on("py-pyproject-metadata@0.7.1:", when="@0.13:", type=("build", "run")) depends_on("py-pyproject-metadata@0.6.1:", when="@0.12:", type=("build", "run")) depends_on("py-pyproject-metadata@0.5:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-metomi-rose/package.py b/var/spack/repos/builtin/packages/py-metomi-rose/package.py index d6a6ae2caceb13..c9d35f1185108b 100644 --- a/var/spack/repos/builtin/packages/py-metomi-rose/package.py +++ b/var/spack/repos/builtin/packages/py-metomi-rose/package.py @@ -18,6 +18,8 @@ class PyMetomiRose(PythonPackage): version("2.1.0", sha256="1b60135a434fe4325d364a57e8f5e81e90f39b373b9d68733458c1adc2513c05") + depends_on("fortran", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-aiofiles", type=("build", "run")) depends_on("py-jinja2@2.10.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-metpy/package.py b/var/spack/repos/builtin/packages/py-metpy/package.py index f6bd28c139c8b6..3be38a414c857b 100644 --- a/var/spack/repos/builtin/packages/py-metpy/package.py +++ b/var/spack/repos/builtin/packages/py-metpy/package.py @@ -30,7 +30,8 @@ class PyMetpy(PythonPackage): depends_on("py-matplotlib@2.1.0:", type=("build", "run")) depends_on("py-numpy@1.16.0:", type=("build", "run")) depends_on("py-pandas@0.24.0:", type=("build", "run")) - depends_on("py-pint@0.10.1:", type=("build", "run")) + # Unable to Find "pint.unit" -- Module Not Found Error with py-pint@0.20: + depends_on("py-pint@0.10.1:0.19", type=("build", "run")) depends_on("py-pooch@0.1:", type=("build", "run")) depends_on("py-pyproj@2.3.0:", type=("build", "run")) depends_on("py-scipy@1.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-mikado/package.py b/var/spack/repos/builtin/packages/py-mikado/package.py index 0a0b8e3e397730..60a383fe1dcb57 100644 --- a/var/spack/repos/builtin/packages/py-mikado/package.py +++ b/var/spack/repos/builtin/packages/py-mikado/package.py @@ -16,6 +16,8 @@ class PyMikado(PythonPackage): version("1.2.4", sha256="c0485dba3b7c285599809e058c83f33b5efa9522d20d9f980423410604207f61") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-wheel@0.28.0:", type="build") depends_on("py-pyyaml", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-minkowskiengine/package.py b/var/spack/repos/builtin/packages/py-minkowskiengine/package.py index 41fa2afc87f241..6ae752d6fe970b 100644 --- a/var/spack/repos/builtin/packages/py-minkowskiengine/package.py +++ b/var/spack/repos/builtin/packages/py-minkowskiengine/package.py @@ -17,6 +17,8 @@ class PyMinkowskiengine(PythonPackage, CudaPackage): version("0.5.4", sha256="b1879c00d0b0b1d30ba622cce239886a7e3c78ee9da1064cdfe2f64c2ab15f94") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-pybind11", type="link") # in newer pip versions --install-option does not exist diff --git a/var/spack/repos/builtin/packages/py-misopy/package.py b/var/spack/repos/builtin/packages/py-misopy/package.py index 61d42fff953495..12f2433c6b06bf 100644 --- a/var/spack/repos/builtin/packages/py-misopy/package.py +++ b/var/spack/repos/builtin/packages/py-misopy/package.py @@ -17,6 +17,8 @@ class PyMisopy(PythonPackage): version("0.5.4", sha256="377a28b0c254b1920ffdc2d89cf96c3a21cadf1cf148ee6d6ef7a88ada067dfc") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("python@2.6:", type=("build", "run")) depends_on("py-numpy@1.5.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-ml-dtypes/package.py b/var/spack/repos/builtin/packages/py-ml-dtypes/package.py index 5e3f85ab7b63a0..eed59d4fbccea6 100644 --- a/var/spack/repos/builtin/packages/py-ml-dtypes/package.py +++ b/var/spack/repos/builtin/packages/py-ml-dtypes/package.py @@ -17,11 +17,18 @@ class PyMlDtypes(PythonPackage): license("Apache-2.0") + version("0.4.0", tag="v0.4.0", commit="9fc7e6773acb66fa496ed8d476a008a489a4da49") version("0.3.1", tag="v0.3.1", commit="bbeedd470ecac727c42e97648c0f27bfc312af30") version("0.2.0", tag="v0.2.0", commit="5b9fc9ad978757654843f4a8d899715dbea30e88") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("python@3.9:", when="@0.3:", type=("build", "link", "run")) depends_on("py-numpy@1.21:", type=("build", "link", "run")) + # https://github.com/jax-ml/ml_dtypes/pull/143 + depends_on("py-numpy@:1", when="@:0.3", type=("build", "link", "run")) # Build dependencies are overconstrained, older versions work just fine - depends_on("py-pybind11", type=("build", "link")) + depends_on("py-pybind11", when="@:0.3.1", type=("build", "link")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-mmcv/package.py b/var/spack/repos/builtin/packages/py-mmcv/package.py index 015c8ded2a66fa..1d62e15c550745 100644 --- a/var/spack/repos/builtin/packages/py-mmcv/package.py +++ b/var/spack/repos/builtin/packages/py-mmcv/package.py @@ -18,6 +18,8 @@ class PyMmcv(PythonPackage): version("0.5.1", sha256="7c5ad30d9b61e44019e81ef46c406aa85dd08b5d0ba12ddd5cdc9c445835a55e") + depends_on("cxx", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-addict", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-mne/package.py b/var/spack/repos/builtin/packages/py-mne/package.py index bf1224a5ca07fb..53edb8c9a5e31d 100644 --- a/var/spack/repos/builtin/packages/py-mne/package.py +++ b/var/spack/repos/builtin/packages/py-mne/package.py @@ -41,6 +41,7 @@ class PyMne(PythonPackage): depends_on("py-numpy@1.18.1:", when="@1:", type=("build", "run")) # * depends_on("py-numpy@1.15.4:", when="@0.23:", type=("build", "run")) depends_on("py-numpy@1.11.3:", type=("build", "run")) + depends_on("py-numpy@:1", when="@:1.6", type=("build", "run")) depends_on("py-scipy@1.7.1:", when="@1.6.1:", type=("build", "run")) depends_on("py-scipy@1.6.3:", when="@1.4:", type=("build", "run")) depends_on("py-scipy@1.4.1:", when="@1:", type=("build", "run")) # * diff --git a/var/spack/repos/builtin/packages/py-modin/package.py b/var/spack/repos/builtin/packages/py-modin/package.py index db594d0051f58f..b353982e1e0bd3 100644 --- a/var/spack/repos/builtin/packages/py-modin/package.py +++ b/var/spack/repos/builtin/packages/py-modin/package.py @@ -30,6 +30,8 @@ class PyModin(PythonPackage): depends_on("py-pandas@1.1.5", when="^python@:3.7", type=("build", "run")) depends_on("py-packaging", type=("build", "run")) depends_on("py-numpy@1.18.5:", type=("build", "run")) + # https://github.com/modin-project/modin/issues/7310 + depends_on("py-numpy@:1", when="@:0.30", type=("build", "run")) depends_on("py-fsspec", type=("build", "run")) depends_on("py-psutil", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-morphio/package.py b/var/spack/repos/builtin/packages/py-morphio/package.py index 908a1188ffa9a2..15f269967fb8da 100644 --- a/var/spack/repos/builtin/packages/py-morphio/package.py +++ b/var/spack/repos/builtin/packages/py-morphio/package.py @@ -25,6 +25,8 @@ class PyMorphio(PythonPackage): version("3.3.7", sha256="7cb6676fcbaa2ac154742ca8aed3fcb03bb4643852e36e368858580133b61732") version("3.3.6", sha256="0f2e55470d92a3d89f2141ae905ee104fd16257b93dafb90682d90171de2f4e6") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools@24.2:", type="build") depends_on("py-setuptools-scm", type="build") diff --git a/var/spack/repos/builtin/packages/py-mpi4py/package.py b/var/spack/repos/builtin/packages/py-mpi4py/package.py index 76e4891780a8e5..3045af9f5312e1 100644 --- a/var/spack/repos/builtin/packages/py-mpi4py/package.py +++ b/var/spack/repos/builtin/packages/py-mpi4py/package.py @@ -19,6 +19,7 @@ class PyMpi4py(PythonPackage): license("BSD-2-Clause") version("master", branch="master") + version("3.1.6", sha256="c8fa625e0f92b082ef955bfb52f19fa6691d29273d7d71135d295aa143dee6cb") version("3.1.5", sha256="a706e76db9255135c2fb5d1ef54cb4f7b0e4ad9e33cbada7de27626205f2a153") version("3.1.4", sha256="17858f2ebc623220d0120d1fa8d428d033dde749c4bc35b33d81a66ad7f93480") version("3.1.3", sha256="f1e9fae1079f43eafdd9f817cdb3fd30d709edc093b5d5dada57a461b2db3008") @@ -31,8 +32,13 @@ class PyMpi4py(PythonPackage): version("2.0.0", sha256="6543a05851a7aa1e6d165e673d422ba24e45c41e4221f0993fe1e5924a00cb81") version("1.3.1", sha256="e7bd2044aaac5a6ea87a87b2ecc73b310bb6efe5026031e33067ea3c2efc3507") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("py-setuptools@40.9:", type="build") - depends_on("py-cython@0.27:2", type="build") + depends_on("py-cython@0.27:2", when="@:3.1.6", type="build") + depends_on("py-cython@0.27:3", when="@master", type="build") depends_on("mpi") def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/py-mpmath/package.py b/var/spack/repos/builtin/packages/py-mpmath/package.py index f38a363292181d..9a10d0fb17bc11 100644 --- a/var/spack/repos/builtin/packages/py-mpmath/package.py +++ b/var/spack/repos/builtin/packages/py-mpmath/package.py @@ -14,10 +14,12 @@ class PyMpmath(PythonPackage): license("BSD-3-Clause") + version("1.3.0", sha256="7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f") version("1.2.1", sha256="79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a") version("1.1.0", sha256="fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6") version("1.0.0", sha256="04d14803b6875fe6d69e6dccea87d5ae5599802e4b1df7997bddd2024001050c") version("0.19", sha256="68ddf6426dcda445323467d89892d2cffbbd1ae0b31ac1241b1b671749d63222") + depends_on("py-setuptools", type="build") depends_on("py-setuptools@36.7.0:", type="build", when="@1.2.0:") - depends_on("py-setuptools-scm@1.7.0:", type="build", when="@1.2.0:") + depends_on("py-setuptools-scm@1.7.0:", type="build", when="@1.2.0:1.2") diff --git a/var/spack/repos/builtin/packages/py-msgpack/package.py b/var/spack/repos/builtin/packages/py-msgpack/package.py index 44e6e84ec0db68..961e8d0a451c5e 100644 --- a/var/spack/repos/builtin/packages/py-msgpack/package.py +++ b/var/spack/repos/builtin/packages/py-msgpack/package.py @@ -26,6 +26,8 @@ class PyMsgpack(PythonPackage): version("0.6.1", sha256="734e1abc6f14671f28acd5266de336ae6d8de522fe1c8d0b7146365ad1fe6b0f") version("0.6.0", sha256="4478a5f68142414084cd43af8f21cef9619ad08bb3c242ea505330dade6ca9ea") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-setuptools@35.0.2:", when="@1.0.4:", type="build") depends_on("py-cython@0.29.30:0.29", when="@1.0.4:", type="build") diff --git a/var/spack/repos/builtin/packages/py-multidict/package.py b/var/spack/repos/builtin/packages/py-multidict/package.py index f37228dc1965e2..152becac958447 100644 --- a/var/spack/repos/builtin/packages/py-multidict/package.py +++ b/var/spack/repos/builtin/packages/py-multidict/package.py @@ -21,6 +21,8 @@ class PyMultidict(PythonPackage): version("5.1.0", sha256="25b4e5f22d3a37ddf3effc0710ba692cfc792c2b9edfb9c05aefe823256e84d5") version("4.7.6", sha256="fbb77a75e529021e7c4a8d4e823d88ef4d23674a202be4f5addffc72cbb91430") + depends_on("c", type="build") # generated + depends_on("py-setuptools@40:", type="build") # Historical dependencies diff --git a/var/spack/repos/builtin/packages/py-multiecho/package.py b/var/spack/repos/builtin/packages/py-multiecho/package.py index f1b5e7e8e16a6e..f9619d0abaa317 100644 --- a/var/spack/repos/builtin/packages/py-multiecho/package.py +++ b/var/spack/repos/builtin/packages/py-multiecho/package.py @@ -14,11 +14,16 @@ class PyMultiecho(PythonPackage): license("MIT") + version("0.29", sha256="df4860fe4478c162f976bdc4bdd2dc1c51ba2c33cb23658ac7218cf1597c4f0a") version("0.28", sha256="d0459bd03398547116d8e989b2d2b7922af0ae7ae77e233794dd7253a2abced3") - depends_on("python@3.6:3.9", type=("build", "run")) + depends_on("py-setuptools@62.2.0:", type="build", when="@0.29:") depends_on("py-setuptools", type="build") + depends_on("py-argparse-manpage+setuptools", type="build", when="@0.29:") depends_on("py-coloredlogs", type=("build", "run")) depends_on("py-numpy", type=("build", "run")) depends_on("py-nibabel", type=("build", "run")) + + # Historical dependencies + depends_on("python@3.6:3.9", type=("build", "run"), when="@0.28") diff --git a/var/spack/repos/builtin/packages/py-multiqc/package.py b/var/spack/repos/builtin/packages/py-multiqc/package.py index 7ac74a5e3cdafe..eb4d18e969907a 100644 --- a/var/spack/repos/builtin/packages/py-multiqc/package.py +++ b/var/spack/repos/builtin/packages/py-multiqc/package.py @@ -14,28 +14,45 @@ class PyMultiqc(PythonPackage): homepage = "https://multiqc.info" pypi = "multiqc/multiqc-1.0.tar.gz" - license("GPL-3.0-only") + license("GPL-3.0-only", checked_by="A_N_Other") + version("1.21", sha256="63bc87e251dbf788dcc8a45e58482ea09b26d05957bf50c77c684d5f0972a495") version("1.15", sha256="ce5359a12226cf4ce372c6fdad142cfe2ae7501ffa97ac7aab544ced4db5ea3c") version("1.14", sha256="dcbba405f0c9521ed2bbd7e8f7a9200643047311c9619878b81d167300149362") version("1.13", sha256="0564fb0f894e6ca0822a0f860941b3ed2c33dce407395ac0c2103775d45cbfa0") + # dependency defintions move from setup.py to pyproject.toml as of @1.21: + + # build deps depends_on("py-setuptools", type="build") - depends_on("py-matplotlib@2.1.1:", type=("build", "run")) - depends_on("py-networkx@2.5.1:", type=("build", "run")) - depends_on("py-numpy", type=("build", "run")) + + # current run deps depends_on("py-click", type=("build", "run")) - depends_on("py-coloredlogs", type=("build", "run")) - depends_on("py-future@0.14.1:", type=("build", "run")) + depends_on("py-humanize", type=("build", "run"), when="@1.18:") + depends_on("py-importlib-metadata", type=("build", "run"), when="@1.16:") depends_on("py-jinja2@3.0.0:", type=("build", "run"), when="@1.14:") depends_on("py-jinja2@2.9:", type=("build", "run"), when="@:1.13") - depends_on("py-lzstring", type=("build", "run")) - depends_on("py-markdown", type=("build", "run")) + depends_on("py-kaleido", type=("build", "run"), when="@1.20:") + depends_on("py-markdown", type=("build", "run"), when="@1.3:") + depends_on("py-matplotlib@2.1.1:", type=("build", "run"), when="@1.13:") + depends_on("py-numpy", type=("build", "run")) + depends_on("py-packaging", type=("build", "run"), when="@1.16:") + depends_on("py-requests", type=("build", "run"), when="@1.3:") + depends_on("py-pillow@10:", type=("build", "run"), when="@1.20:") + depends_on("py-plotly@5.18:", type=("build", "run"), when="@1.21:") + depends_on("py-plotly", type=("build", "run"), when="@1.20") + depends_on("py-pyyaml@4:", type=("build", "run"), when="@1.13:") depends_on("py-pyyaml", type=("build", "run")) - depends_on("py-pyyaml@4:", type=("build", "run")) - depends_on("py-requests", type=("build", "run")) - depends_on("py-rich@10:", type=("build", "run")) - depends_on("py-rich-click", type=("build", "run")) - depends_on("py-simplejson", type=("build", "run")) - depends_on("py-spectra@0.0.10:", type=("build", "run")) - depends_on("py-spectra", type=("build", "run")) + depends_on("py-pyaml-env", type=("build", "run"), when="@1.18:") + depends_on("py-rich@10:", type=("build", "run"), when="@1.13:") + depends_on("py-rich-click", type=("build", "run"), when="@1.13:") + depends_on("py-coloredlogs", type=("build", "run"), when="@1.13:") + depends_on("py-spectra@0.0.10:", type=("build", "run"), when="@1.4:") + depends_on("py-spectra", type=("build", "run"), when="@1.18:") + + # retired run deps + depends_on("py-future@0.14.1:", type=("build", "run"), when="@1.13:1.19") + depends_on("py-lzstring", type=("build", "run"), when="@:1.16") + depends_on("py-networkx@2.5.1:", type=("build", "run"), when="@1.13:1.20") + depends_on("py-networkx@:1", type=("build", "run"), when="@1.3") + depends_on("py-simplejson", type=("build", "run"), when="@:1.15") diff --git a/var/spack/repos/builtin/packages/py-murmurhash/package.py b/var/spack/repos/builtin/packages/py-murmurhash/package.py index ecd8d65d1ea7af..fb4e74b0d6149e 100644 --- a/var/spack/repos/builtin/packages/py-murmurhash/package.py +++ b/var/spack/repos/builtin/packages/py-murmurhash/package.py @@ -17,5 +17,7 @@ class PyMurmurhash(PythonPackage): version("1.0.2", sha256="c7a646f6b07b033642b4f52ae2e45efd8b80780b3b90e8092a0cec935fbf81e2") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-wheel@0.32.0:0.32", type="build") diff --git a/var/spack/repos/builtin/packages/py-mx/package.py b/var/spack/repos/builtin/packages/py-mx/package.py index f247ea1b0ddc67..684903fadba57a 100644 --- a/var/spack/repos/builtin/packages/py-mx/package.py +++ b/var/spack/repos/builtin/packages/py-mx/package.py @@ -21,5 +21,7 @@ class PyMx(PythonPackage): version("3.2.8", sha256="0da55233e45bc3f88870e62e60a79c2c86bad4098b8128343fd7be877f44a3c0") + depends_on("c", type="build") # generated + # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-mxfold2/package.py b/var/spack/repos/builtin/packages/py-mxfold2/package.py index 92df3ac7f2aa17..184247aef8c1fb 100644 --- a/var/spack/repos/builtin/packages/py-mxfold2/package.py +++ b/var/spack/repos/builtin/packages/py-mxfold2/package.py @@ -19,6 +19,8 @@ class PyMxfold2(PythonPackage): version("0.1.1", sha256="9f39c6ff4138212d1ad2639005f5c05ffb4df0f7e22f5e7ad49466a05aa047e5") + depends_on("cxx", type="build") # generated + depends_on("python@3.7:", type=("build", "run")) depends_on("py-torch@1.7:~valgrind", type=("build", "run")) depends_on("py-torchvision", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-myhdl/package.py b/var/spack/repos/builtin/packages/py-myhdl/package.py index 0b669e65294774..e0066613682f7e 100644 --- a/var/spack/repos/builtin/packages/py-myhdl/package.py +++ b/var/spack/repos/builtin/packages/py-myhdl/package.py @@ -17,5 +17,7 @@ class PyMyhdl(PythonPackage): version("0.9.0", sha256="52d12a5fe2cda22558806272af3c2b519b6f7095292b8e6c8ad255fb604507a5") + depends_on("c", type="build") # generated + depends_on("python@2.6:2.8,3.4:") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-mypy/package.py b/var/spack/repos/builtin/packages/py-mypy/package.py index 3c7164f651a355..7a6f438f7236bf 100644 --- a/var/spack/repos/builtin/packages/py-mypy/package.py +++ b/var/spack/repos/builtin/packages/py-mypy/package.py @@ -53,6 +53,9 @@ class PyMypy(PythonPackage): version("0.740", sha256="48c8bc99380575deb39f5d3400ebb6a8a1cb5cc669bbba4d3bb30f904e0a0e7d") version("0.670", sha256="e80fd6af34614a0e898a57f14296d0dacb584648f0339c2e000ddbf0f4cc2f8d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # pyproject.toml depends_on("py-setuptools@40.6.2:", when="@0.790:", type="build") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-mysql-connector-python/package.py b/var/spack/repos/builtin/packages/py-mysql-connector-python/package.py index 81f152e53b16cf..926d45d551c885 100644 --- a/var/spack/repos/builtin/packages/py-mysql-connector-python/package.py +++ b/var/spack/repos/builtin/packages/py-mysql-connector-python/package.py @@ -20,5 +20,8 @@ class PyMysqlConnectorPython(PythonPackage): version("8.0.13", sha256="d4c0834c583cdb90c0aeae90b1917d58355a4bf9b0266c16fd58874a5607f9d4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type=("build", "run")) depends_on("py-protobuf@3.0.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-mysqlclient/package.py b/var/spack/repos/builtin/packages/py-mysqlclient/package.py index c864f5a32ba63d..220be7e7d7fff0 100644 --- a/var/spack/repos/builtin/packages/py-mysqlclient/package.py +++ b/var/spack/repos/builtin/packages/py-mysqlclient/package.py @@ -22,5 +22,7 @@ class PyMysqlclient(PythonPackage): version("1.4.4", sha256="9c737cc55a5dc8dd3583a942d5a9b21be58d16f00f5fefca4e575e7d9682e98c") version("1.3.13", sha256="ff8ee1be84215e6c30a746b728c41eb0701a46ca76e343af445b35ce6250644f") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("mysql") diff --git a/var/spack/repos/builtin/packages/py-mysqldb1/package.py b/var/spack/repos/builtin/packages/py-mysqldb1/package.py index 8a332fa90f84b5..355aa30d9eaf3e 100644 --- a/var/spack/repos/builtin/packages/py-mysqldb1/package.py +++ b/var/spack/repos/builtin/packages/py-mysqldb1/package.py @@ -18,5 +18,7 @@ class PyMysqldb1(PythonPackage): url="https://github.com/farcepest/MySQLdb1/archive/MySQLdb-1.2.5.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("mysql@:6") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-nanobind/package.py b/var/spack/repos/builtin/packages/py-nanobind/package.py index 6fb598acdcaabb..5ea6ca685eb448 100644 --- a/var/spack/repos/builtin/packages/py-nanobind/package.py +++ b/var/spack/repos/builtin/packages/py-nanobind/package.py @@ -23,6 +23,9 @@ class PyNanobind(PythonPackage): license("BSD-3-Clause") version("master", branch="master", submodules=True) + version( + "2.0.0", tag="v2.0.0", commit="8d7f1ee0621c17fa370b704b2100ffa0243d5bfb", submodules=True + ) version( "1.9.2", tag="v1.9.2", commit="80a30c8efb093b14f0e744bc7f6a9ef34beb3f7f", submodules=True ) @@ -51,9 +54,12 @@ class PyNanobind(PythonPackage): "1.2.0", tag="v1.2.0", commit="ec9350b805d2fe568f65746fd69225eedc5e37ae", submodules=True ) + depends_on("cxx", type="build") # generated + depends_on("python@3.8:", type=("build", "run")) depends_on("py-setuptools@42:", type="build") depends_on("py-scikit-build", type="build") + depends_on("py-typing-extensions", when="@2:", type="build") depends_on("cmake@3.17:", type="build") depends_on("ninja", type="build") diff --git a/var/spack/repos/builtin/packages/py-neobolt/package.py b/var/spack/repos/builtin/packages/py-neobolt/package.py index 6cf9fd00b5533d..7cc399be5a77da 100644 --- a/var/spack/repos/builtin/packages/py-neobolt/package.py +++ b/var/spack/repos/builtin/packages/py-neobolt/package.py @@ -14,5 +14,7 @@ class PyNeobolt(PythonPackage): version("1.7.16", sha256="ca4e87679fe3ed39aec23638658e02dbdc6bbc3289a04e826f332e05ab32275d") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("python@2.7:2.8,3.4:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-nest-asyncio/package.py b/var/spack/repos/builtin/packages/py-nest-asyncio/package.py index 9cf65d6e334168..6bba7b02caf0dc 100644 --- a/var/spack/repos/builtin/packages/py-nest-asyncio/package.py +++ b/var/spack/repos/builtin/packages/py-nest-asyncio/package.py @@ -15,6 +15,9 @@ class PyNestAsyncio(PythonPackage): license("BSD-2-Clause") + version("1.6.0", sha256="6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe") + version("1.5.9", sha256="d1e1144e9c6e3e6392e0fcf5211cb1c8374b5648a98f1ebe48e5336006b41907") + version("1.5.8", sha256="25aa2ca0d2a5b5531956b9e273b45cf664cae2b145101d73b86b199978d48fdb") version("1.5.6", sha256="d267cc1ff794403f7df692964d1d2a3fa9418ffea2a3f6859a439ff482fef290") version("1.5.5", sha256="e442291cd942698be619823a17a86a5759eabe1f8613084790de189fe9e16d65") version("1.5.4", sha256="f969f6013a16fadb4adcf09d11a68a4f617c6049d7af7ac2c676110169a63abd") diff --git a/var/spack/repos/builtin/packages/py-netcdf4/package.py b/var/spack/repos/builtin/packages/py-netcdf4/package.py index b681279038fdd6..e36ed870ea0073 100644 --- a/var/spack/repos/builtin/packages/py-netcdf4/package.py +++ b/var/spack/repos/builtin/packages/py-netcdf4/package.py @@ -35,6 +35,8 @@ class PyNetcdf4(PythonPackage): 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")) + # https://github.com/Unidata/netcdf4-python/pull/1317 + depends_on("py-numpy@:1", when="@:1.6", 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") @@ -48,6 +50,13 @@ class PyNetcdf4(PythonPackage): # following patch disables the usage of pkg-config at all. patch("disable_pkgconf.patch") + # https://github.com/Unidata/netcdf4-python/pull/1322 + patch( + "https://github.com/Unidata/netcdf4-python/commit/49dcd0b5bd25824c254770c0d41445133fc13a46.patch?full_index=1", + sha256="71eefe1d3065ad050fb72eb61d916ae1374a3fafd96ddaee6499cda952d992c4", + when="@1.6: %gcc@14:", + ) + def flag_handler(self, name, flags): if name == "cflags": if self.spec.satisfies("%oneapi"): diff --git a/var/spack/repos/builtin/packages/py-netifaces/package.py b/var/spack/repos/builtin/packages/py-netifaces/package.py index 5cf1394c7bb0b2..fb8096d1e2afb2 100644 --- a/var/spack/repos/builtin/packages/py-netifaces/package.py +++ b/var/spack/repos/builtin/packages/py-netifaces/package.py @@ -18,4 +18,6 @@ class PyNetifaces(PythonPackage): version("0.10.5", sha256="59d8ad52dd3116fcb6635e175751b250dc783fb011adba539558bd764e5d628b") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-netket/package.py b/var/spack/repos/builtin/packages/py-netket/package.py index 6e6ba6a37c2eb5..a8322db54fc821 100644 --- a/var/spack/repos/builtin/packages/py-netket/package.py +++ b/var/spack/repos/builtin/packages/py-netket/package.py @@ -26,6 +26,8 @@ class PyNetket(PythonPackage): version("1.0.3", sha256="b8e54d7ad8b379b740def640d748c6560943aed473755389fc5cf1020b9007de") version("1.0.2", sha256="229c906e92a432bbbd0ff0527874f41318f8fc480d12a33c8184f30960ae628b") + depends_on("cxx", type="build") # generated + # build only deps depends_on("py-setuptools", type="build") depends_on("cmake@3.12:", type="build") diff --git a/var/spack/repos/builtin/packages/py-networkit/package.py b/var/spack/repos/builtin/packages/py-networkit/package.py index 283ba61173980c..4f360c448495ee 100644 --- a/var/spack/repos/builtin/packages/py-networkit/package.py +++ b/var/spack/repos/builtin/packages/py-networkit/package.py @@ -31,6 +31,8 @@ class PyNetworkit(PythonPackage): version("7.0", sha256="eea4b5e565d6990b674e1c7f4d598be9377d57b61d0d82883ecc39edabaf3631") version("6.1", sha256="f7fcb50dec66a8253f85c10ff9314100de013c7578d531c81d3f71bc6cf8f093") + depends_on("cxx", type="build") # generated + # Required dependencies depends_on("cmake", type="build") depends_on("libnetworkit@9.0", type=("build", "link"), when="@9.0") diff --git a/var/spack/repos/builtin/packages/py-networkx/package.py b/var/spack/repos/builtin/packages/py-networkx/package.py index 09d123e0a36c3b..c8bf1ac0f93147 100644 --- a/var/spack/repos/builtin/packages/py-networkx/package.py +++ b/var/spack/repos/builtin/packages/py-networkx/package.py @@ -50,6 +50,8 @@ class PyNetworkx(PythonPackage): # From requirements/default.txt depends_on("py-numpy@1.20:", when="@3:", type=("build", "run")) depends_on("py-numpy@1.19:", when="@2.8.6:", type=("build", "run")) + # https://github.com/networkx/networkx/pull/7390 + depends_on("py-numpy@:1", when="@:3.2", type=("build", "run")) depends_on("py-scipy@1.8:", when="@2.8.6:", type=("build", "run")) depends_on("py-matplotlib@3.4:", when="@2.8.6:", type=("build", "run")) depends_on("py-pandas@1.3:", when="@2.8.6:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-nodeenv/package.py b/var/spack/repos/builtin/packages/py-nodeenv/package.py index ef8028d21f7b3b..6fddf220e42358 100644 --- a/var/spack/repos/builtin/packages/py-nodeenv/package.py +++ b/var/spack/repos/builtin/packages/py-nodeenv/package.py @@ -16,5 +16,6 @@ class PyNodeenv(PythonPackage): version("1.7.0", sha256="e0e7f7dfb85fc5394c6fe1e8fa98131a2473e04311a45afb6508f7cf1836fa2b") version("1.3.3", sha256="ad8259494cf1c9034539f6cced78a1da4840a4b157e23640bc4a0c0546b0cb7a") + depends_on("python +ssl", when="@1.5:", type=("build", "run")) depends_on("py-setuptools", when="@1.7:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-nuitka/package.py b/var/spack/repos/builtin/packages/py-nuitka/package.py index bcfbc1d8942ed7..c51300eafd9102 100644 --- a/var/spack/repos/builtin/packages/py-nuitka/package.py +++ b/var/spack/repos/builtin/packages/py-nuitka/package.py @@ -20,5 +20,8 @@ class PyNuitka(PythonPackage): version("2.2.1", sha256="7bf67e80f94c93017fbaacfe1e277b92422d234a3c849a1555e43848f5fb27a1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-ordered-set", type="build") diff --git a/var/spack/repos/builtin/packages/py-numba/package.py b/var/spack/repos/builtin/packages/py-numba/package.py index 2b5b29bba384ea..edab57b2c30980 100644 --- a/var/spack/repos/builtin/packages/py-numba/package.py +++ b/var/spack/repos/builtin/packages/py-numba/package.py @@ -28,6 +28,9 @@ class PyNumba(PythonPackage): version("0.50.1", sha256="89e81b51b880f9b18c82b7095beaccc6856fcf84ba29c4f0ced42e4e5748a3a7") version("0.48.0", sha256="9d21bc77e67006b5723052840c88cc59248e079a907cc68f1a1a264e1eaba017") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("tbb", default=False, description="Build with Intel Threading Building Blocks") depends_on("python@3.8:3.11", when="@0.57:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-numcodecs/package.py b/var/spack/repos/builtin/packages/py-numcodecs/package.py index 5414661794c0a9..b81a9b4e4a4c60 100644 --- a/var/spack/repos/builtin/packages/py-numcodecs/package.py +++ b/var/spack/repos/builtin/packages/py-numcodecs/package.py @@ -27,6 +27,8 @@ class PyNumcodecs(PythonPackage): version("0.7.3", sha256="022b12ad83eb623ec53f154859d49f6ec43b15c36052fa864eaf2d9ee786dd85") version("0.6.4", sha256="ef4843d5db4d074e607e9b85156835c10d006afc10e175bda62ff5412fca6e4d") + depends_on("c", type="build") # generated + variant("msgpack", default=False, description="Codec to encode data as msgpacked bytes.") depends_on("python@3.8:", when="@0.11:", type=("build", "link", "run")) @@ -37,6 +39,8 @@ class PyNumcodecs(PythonPackage): depends_on("py-setuptools-scm@1.5.5: +toml", type="build") depends_on("py-cython", type="build") depends_on("py-numpy@1.7:", type=("build", "run")) + # https://github.com/zarr-developers/numcodecs/issues/521 + depends_on("py-numpy@:1", when="@:0.12.0", type=("build", "run")) depends_on("py-py-cpuinfo", when="@0.11:", type="build") depends_on("py-entrypoints", when="@0.10.1:0.11", type=("build", "run")) depends_on("py-msgpack", type=("build", "run"), when="+msgpack") diff --git a/var/spack/repos/builtin/packages/py-numexpr/package.py b/var/spack/repos/builtin/packages/py-numexpr/package.py index 0449f4b20f4da1..adb2f75115b62e 100644 --- a/var/spack/repos/builtin/packages/py-numexpr/package.py +++ b/var/spack/repos/builtin/packages/py-numexpr/package.py @@ -27,13 +27,18 @@ class PyNumexpr(PythonPackage): version("2.5", sha256="4ca111a9a27c9513c2e2f5b70c0a84ea69081d7d8e4512d4c3f26a485292de0d") version("2.4.6", sha256="2681faf55a3f19ba4424cc3d6f0a10610ebd49f029f8453f0ba64dd5c0fe4e0f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@3.7:", when="@2.8.3:", type=("build", "run")) depends_on("python@3.9:", when="@2.8.7:", type=("build", "run")) depends_on("py-setuptools", type="build") - depends_on("py-numpy@1.13.3:", type=("build", "run"), when="@2.8.3:") + depends_on("py-numpy@1.13.3:1.25", type=("build", "run"), when="@2.8.3:") # https://github.com/pydata/numexpr/issues/397 depends_on("py-numpy@1.7:1.22", type=("build", "run"), when="@:2.7") + # https://github.com/pydata/numexpr/pull/478 + depends_on("py-numpy@:1", when="@:2.9", type=("build", "run")) # Historical dependencies depends_on("py-packaging", type=("build", "run"), when="@2.8.3") diff --git a/var/spack/repos/builtin/packages/py-numexpr3/package.py b/var/spack/repos/builtin/packages/py-numexpr3/package.py index 5162eca2a3d6d7..478ec2c5cb77f3 100644 --- a/var/spack/repos/builtin/packages/py-numexpr3/package.py +++ b/var/spack/repos/builtin/packages/py-numexpr3/package.py @@ -24,6 +24,9 @@ class PyNumexpr3(PythonPackage): license("BSD-3-Clause") version("3.0.1a1", sha256="de06f1b4206704b5bc19ea09b5c94350b97c211c26bc866f275252a8461b87e6") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated # TODO: Add CMake build system for better control of passing flags related # to CPU ISA. diff --git a/var/spack/repos/builtin/packages/py-numpy-quaternion/package.py b/var/spack/repos/builtin/packages/py-numpy-quaternion/package.py index fffb983756b84c..e7e7e1a60a3c59 100644 --- a/var/spack/repos/builtin/packages/py-numpy-quaternion/package.py +++ b/var/spack/repos/builtin/packages/py-numpy-quaternion/package.py @@ -26,6 +26,8 @@ class PyNumpyQuaternion(PythonPackage): sha256="b0dc670b2adc8ff2fb8d6105a48769873f68d6ccbe20af6a19e899b1e8d48aaf", ) + depends_on("c", type="build") # generated + variant("scipy", default=True, description="Build with scipy support") variant("numba", default=True, description="Build with numba support") diff --git a/var/spack/repos/builtin/packages/py-numpy-stl/package.py b/var/spack/repos/builtin/packages/py-numpy-stl/package.py index 827b52416214d2..559fa83fd47726 100644 --- a/var/spack/repos/builtin/packages/py-numpy-stl/package.py +++ b/var/spack/repos/builtin/packages/py-numpy-stl/package.py @@ -17,6 +17,8 @@ class PyNumpyStl(PythonPackage): version("3.0.0", sha256="578b78eacb0529ac9aba2f17dcc363d58c7c3c5708710c18f8c1e9965f2e81ac") version("2.10.1", sha256="f6b529b8a8112dfe456d4f7697c7aee0aca62be5a873879306afe4b26fca963c") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-numpy/package.py b/var/spack/repos/builtin/packages/py-numpy/package.py index 5b2a030319038f..a7e247c6be1c2d 100644 --- a/var/spack/repos/builtin/packages/py-numpy/package.py +++ b/var/spack/repos/builtin/packages/py-numpy/package.py @@ -22,6 +22,7 @@ class PyNumpy(PythonPackage): license("BSD-3-Clause") version("main", branch="main") + version("2.0.0", sha256="cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864") version("1.26.4", sha256="2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010") version("1.26.3", sha256="697df43e2b6310ecc9d95f05d5ef20eacc09c7c4ecc9da3f235d39e71b7da1e4") version("1.26.2", sha256="f65738447676ab5777f11e6bbbdb8ce11b785e105f690bc45966574816b6d3ea") @@ -73,45 +74,56 @@ class PyNumpy(PythonPackage): version("1.17.4", sha256="f58913e9227400f1395c7b800503ebfdb0772f1c33ff8cb4d6451c06cabdf316") version("1.17.3", sha256="a0678793096205a4d784bd99f32803ba8100f639cf3b932dc63b21621390ea7e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Based on PyPI wheel availability - depends_on("python@3.9:3.12", when="@1.26:", type=("build", "link", "run")) - depends_on("python@3.9:3.11", when="@1.25", type=("build", "link", "run")) - depends_on("python@3.8:3.11", when="@1.23.2:1.24", type=("build", "link", "run")) - depends_on("python@3.8:3.10", when="@1.22:1.23.1", type=("build", "link", "run")) - depends_on("python@:3.10", when="@1.21.2:1.21", type=("build", "link", "run")) - depends_on("python@:3.9", when="@1.19.3:1.21.1", type=("build", "link", "run")) - depends_on("python@:3.8", when="@1.17.3:1.19.2", type=("build", "link", "run")) - - # Required to use --config-settings - depends_on("py-pip@23.1:", when="@1.26:", type="build") - - # Build dependencies (do not include upper bound unless known issues) - depends_on("py-cython@0.29.34:", when="@1.26:", type="build") - depends_on("py-cython@0.29.34:2", when="@1.25", type="build") - depends_on("py-cython@0.29.30:2", when="@1.22.4:1.24", type="build") - depends_on("py-cython@0.29.24:2", when="@1.21.2:1.22.3", type="build") - depends_on("py-cython@0.29.21:2", when="@1.19.1:1.21.1", type="build") - depends_on("py-cython@0.29.14:2", when="@1.18.1:1.19.0", type="build") - depends_on("py-cython@0.29.13:2", when="@1.18.0", type="build") - depends_on("py-meson-python@0.15:", when="@1.26.4:", type="build") + with default_args(type=("build", "link", "run")): + depends_on("python@3.9:3.12", when="@1.26:") + depends_on("python@3.9:3.11", when="@1.25") + depends_on("python@3.8:3.11", when="@1.23.2:1.24") + depends_on("python@3.8:3.10", when="@1.22:1.23.1") + depends_on("python@:3.10", when="@1.21.2:1.21") + depends_on("python@:3.9", when="@1.19.3:1.21.1") + depends_on("python@:3.8", when="@1.17.3:1.19.2") + + with default_args(type="build"): + # Required to use --config-settings + depends_on("py-pip@23.1:", when="@1.26:") + + # Build dependencies (do not include upper bound unless known issues) + depends_on("py-cython@3.0.6:", when="@2:") + depends_on("py-cython@0.29.34:", when="@1.26:") + depends_on("py-cython@0.29.34:2", when="@1.25") + depends_on("py-cython@0.29.30:2", when="@1.22.4:1.24") + depends_on("py-cython@0.29.24:2", when="@1.21.2:1.22.3") + depends_on("py-cython@0.29.21:2", when="@1.19.1:1.21.1") + depends_on("py-cython@0.29.14:2", when="@1.18.1:1.19.0") + depends_on("py-cython@0.29.13:2", when="@1.18.0") + depends_on("py-meson-python@0.15:", when="@1.26.4:") depends_on("blas") depends_on("lapack") # test_requirements.txt - depends_on("py-pytest", type="test") - depends_on("py-hypothesis", when="@1.19:", type="test") - depends_on("py-typing-extensions@4.2:", when="@1.23:", type="test") + with default_args(type="test"): + depends_on("py-pytest") + depends_on("py-hypothesis", when="@1.19:") + depends_on("py-typing-extensions@4.2:", when="@1.23:") # Historical dependencies - depends_on("py-pyproject-metadata@0.7.1:", when="@1.26.0:1.26.3", type="build") - depends_on("py-tomli@1:", when="@1.26.0:1.26.3 ^python@:3.10", type="build") - depends_on("py-setuptools@60:", when="@1.26.0:1.26.3 ^python@3.12:", type="build") - depends_on("py-setuptools@:63", when="@:1.25", type=("build", "run")) - depends_on("py-setuptools@:59", when="@:1.22.1", type=("build", "run")) - depends_on("py-colorama", when="@1.26.0:1.26.3 platform=windows", type="build") - depends_on("ninja@1.8.2:", when="@1.26.0:1.26.3", type="build") - depends_on("pkgconfig", when="@1.26.0:1.26.3", type="build") + with default_args(type="build"): + depends_on("py-pyproject-metadata@0.7.1:", when="@1.26.0:1.26.3") + depends_on("py-tomli@1:", when="@1.26.0:1.26.3 ^python@:3.10") + depends_on("py-setuptools@60:", when="@1.26.0:1.26.3 ^python@3.12:") + depends_on("py-colorama", when="@1.26.0:1.26.3 platform=windows") + depends_on("ninja@1.8.2:", when="@1.26.0:1.26.3") + depends_on("pkgconfig", when="@1.26.0:1.26.3") + + with default_args(type=("build", "run")): + depends_on("py-setuptools@:63", when="@:1.25") + depends_on("py-setuptools@:59", when="@:1.22.1") # Add Fujitsu Fortran compiler patch("add_fj_compiler.patch", when="@1.19.3:1.19.5%fj") @@ -167,6 +179,8 @@ class PyNumpy(PythonPackage): # See https://github.com/numpy/numpy/issues/22011 conflicts("%intel", when="@1.23.0:1.23.3") conflicts("%oneapi", when="@1.23.0:1.23.3") + # https://github.com/spack/spack/pull/44735 + conflicts("%oneapi", when="@2:") @property def archive_files(self): diff --git a/var/spack/repos/builtin/packages/py-obspy/package.py b/var/spack/repos/builtin/packages/py-obspy/package.py index 318f9f8da8d5bf..956b80e830dabc 100644 --- a/var/spack/repos/builtin/packages/py-obspy/package.py +++ b/var/spack/repos/builtin/packages/py-obspy/package.py @@ -20,6 +20,9 @@ class PyObspy(PythonPackage): version("1.4.1", sha256="9cf37b0ce03de43d80398703c006bfddbd709f32e8460a9404b27df998d3f747") version("1.4.0", sha256="336a6e1d9a485732b08173cb5dc1dd720a8e53f3b54c180a62bb8ceaa5fe5c06") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("python@3.8:3", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-okada-wrapper/package.py b/var/spack/repos/builtin/packages/py-okada-wrapper/package.py index 54f524516bc9b2..5d404f4677e698 100644 --- a/var/spack/repos/builtin/packages/py-okada-wrapper/package.py +++ b/var/spack/repos/builtin/packages/py-okada-wrapper/package.py @@ -20,6 +20,8 @@ class PyOkadaWrapper(PythonPackage): "18.12.07.3", sha256="ee296ad6e347c8df400f6f3d1badc371925add8d1af33854634c2fe1a2b2c855" ) + depends_on("fortran", type="build") # generated + # https://github.com/tbenthompson/okada_wrapper/issues/8 depends_on("python@3:3.11", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-onnx/package.py b/var/spack/repos/builtin/packages/py-onnx/package.py index 023228b4ef27a5..63f3869b94a305 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.16.1", sha256="8299193f0f2a3849bfc069641aa8e4f93696602da8d165632af8ee48ec7556b6") version("1.16.0", sha256="237c6987c6c59d9f44b6136f5819af79574f8d96a760a1fa843bede11f3822f7") version("1.15.0", sha256="b18461a7d38f286618ca2a6e78062a2a9c634ce498e631e708a8041b00094825") version("1.14.1", sha256="70903afe163643bd71195c78cedcc3f4fa05a2af651fd950ef3acbb15175b2d1") @@ -34,6 +35,8 @@ class PyOnnx(PythonPackage): version("1.6.0", sha256="3b88c3fe521151651a0403c4d131cb2e0311bd28b753ef692020a432a81ce345") version("1.5.0", sha256="1a584a4ef62a6db178c257fffb06a9d8e61b41c0a80bfd8bcd8a253d72c4b0b4") + depends_on("cxx", type="build") # generated + # CMakeLists.txt depends_on("cmake@3.1:", type="build") depends_on("py-pybind11@2.2:", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/py-onnxruntime/package.py b/var/spack/repos/builtin/packages/py-onnxruntime/package.py index ef20293fa0772a..aa633a4a393613 100644 --- a/var/spack/repos/builtin/packages/py-onnxruntime/package.py +++ b/var/spack/repos/builtin/packages/py-onnxruntime/package.py @@ -26,6 +26,9 @@ class PyOnnxruntime(CMakePackage, PythonExtension): version("1.10.0", tag="v1.10.0", commit="0d9030e79888d1d5828730b254fedc53c7b640c1") version("1.7.2", tag="v1.7.2", commit="5bc92dff16b0ddd5063b717fb8522ca2ad023cb0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cuda", default=False, description="Build with CUDA support") # cmake/CMakeLists.txt diff --git a/var/spack/repos/builtin/packages/py-openmc/package.py b/var/spack/repos/builtin/packages/py-openmc/package.py index 1ace8bc018cb56..3272eae617ac91 100644 --- a/var/spack/repos/builtin/packages/py-openmc/package.py +++ b/var/spack/repos/builtin/packages/py-openmc/package.py @@ -17,12 +17,14 @@ class PyOpenmc(PythonPackage): programming model.""" homepage = "https://docs.openmc.org/" - url = "https://github.com/openmc-dev/openmc/tarball/v0.13.3" + url = "https://github.com/openmc-dev/openmc/tarball/v0.15.0" git = "https://github.com/openmc-dev/openmc.git" maintainers("paulromano") version("develop", branch="develop") version("master", branch="master") + version("0.15.0", commit="55b52b7ef3c9415ce045712132bf31c2a013d8c8", submodules=True) + version("0.14.0", commit="fa2330103de61a864c958d1a7250f11e5dd91468", submodules=True) version("0.13.3", commit="27cb0dc97960fe6d750eb5a93584a9a0ca532ac8", submodules=True) version("0.13.2", commit="030f73a8690ed19e91806e46c8caf338d252e74a", submodules=True) version("0.13.1", commit="33bc948f4b855c037975f16d16091fe4ecd12de3", submodules=True) @@ -32,12 +34,17 @@ class PyOpenmc(PythonPackage): version("0.12.0", commit="93d6165ecb455fc57242cd03a3f0805089c0e0b9", submodules=True) version("0.11.0", sha256="19a9d8e9c3b581e9060fbd96d30f1098312d217cb5c925eb6372a5786d9175af") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=False, description="Enable MPI support") # keep py-openmc and openmc at the same version for ver in [ "develop", "master", + "0.15.0", + "0.14.0", "0.13.3", "0.13.2", "0.13.1", @@ -55,7 +62,8 @@ class PyOpenmc(PythonPackage): ) depends_on("git", type="build") - depends_on("python@3.7:", type=("build", "run"), when="@0.13.2:") + depends_on("python@3.10:", type=("build", "run"), when="@0.15.0:") + depends_on("python@3.7:", type=("build", "run"), when="@0.13.2:0.14.0") depends_on("python@3.6:", type=("build", "run"), when="@0.13.0:0.13.1") depends_on("python@3.5:", type=("build", "run"), when="@:0.12") depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-openmesh/package.py b/var/spack/repos/builtin/packages/py-openmesh/package.py index 3dcd44e89020f4..09fc0273c3deff 100644 --- a/var/spack/repos/builtin/packages/py-openmesh/package.py +++ b/var/spack/repos/builtin/packages/py-openmesh/package.py @@ -18,6 +18,9 @@ class PyOpenmesh(PythonPackage): version("1.2.1", sha256="6fd3fa41a68148e4a7523f562426aa9758bf65ccc6642abcf79c37bae9c6af3c") version("1.1.3", sha256="c1d24abc85b7b518fe619639f89750bf19ed3b8938fed4dd739a72f1e6f8b0f6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-setuptools-scm", type="build") depends_on("cmake@3.1:", when="@1.1.3 platform=windows", type="build") diff --git a/var/spack/repos/builtin/packages/py-openslide-python/package.py b/var/spack/repos/builtin/packages/py-openslide-python/package.py index 16806c586ff933..12e29e4f24bb78 100644 --- a/var/spack/repos/builtin/packages/py-openslide-python/package.py +++ b/var/spack/repos/builtin/packages/py-openslide-python/package.py @@ -17,6 +17,8 @@ class PyOpenslidePython(PythonPackage): version("1.1.2", sha256="83e064ab4a29658e7ddf86bf1d3e54d2508cc19ece35d55b55519c826e45d83f") version("1.1.1", sha256="33c390fe43e3d7d443fafdd66969392d3e9efd2ecd5d4af73c3dbac374485ed5") + depends_on("c", type="build") # generated + depends_on("openslide@3.4.0:") depends_on("python@2.6:2.8,3.3:", type=("build", "run")) # https://github.com/openslide/openslide-python/pull/76 diff --git a/var/spack/repos/builtin/packages/py-opentuner/package.py b/var/spack/repos/builtin/packages/py-opentuner/package.py index 1547f1f152ed03..dcf344929e43a4 100644 --- a/var/spack/repos/builtin/packages/py-opentuner/package.py +++ b/var/spack/repos/builtin/packages/py-opentuner/package.py @@ -19,6 +19,8 @@ class PyOpentuner(PythonPackage): version("0.8.7", commit="070c5cef6d933eb760a2f9cd5cd08c95f27aee75") version("0.8.2", commit="8e720a2094e7964d7a1225e58aca40b0e78bff7d") + depends_on("cxx", type="build") # generated + depends_on("python@3:", type=("build", "run"), when="@0.8.1:") depends_on("py-fn-py@0.2.12:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-optree/package.py b/var/spack/repos/builtin/packages/py-optree/package.py index 14d0dd462db4c1..96e10b8fff50a7 100644 --- a/var/spack/repos/builtin/packages/py-optree/package.py +++ b/var/spack/repos/builtin/packages/py-optree/package.py @@ -16,6 +16,8 @@ class PyOptree(PythonPackage): version("0.10.0", sha256="dc7e8880f997365083191784d141c790833877af71aec8825c7f2b7f7f43c98e") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.11:", type="build") depends_on("python", type=("build", "link", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-or-tools/package.py b/var/spack/repos/builtin/packages/py-or-tools/package.py index a9debf9a3b33f9..2e917b5a7cf2e8 100644 --- a/var/spack/repos/builtin/packages/py-or-tools/package.py +++ b/var/spack/repos/builtin/packages/py-or-tools/package.py @@ -19,6 +19,8 @@ class PyOrTools(CMakePackage): version("7.8", sha256="d93a9502b18af51902abd130ff5f23768fcf47e266e6d1f34b3586387aa2de68") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.14:", type="build") depends_on("py-pip", type="build") depends_on("py-wheel", type="build") diff --git a/var/spack/repos/builtin/packages/py-oracledb/package.py b/var/spack/repos/builtin/packages/py-oracledb/package.py index f53f97fd3834ee..3e50ac8da0c8d6 100644 --- a/var/spack/repos/builtin/packages/py-oracledb/package.py +++ b/var/spack/repos/builtin/packages/py-oracledb/package.py @@ -18,6 +18,8 @@ class PyOracledb(PythonPackage): version("1.2.2", sha256="dd9f63084e44642b484a46b2fcfb4fc921f39facf494a1bab00628fa6409f4fc") + depends_on("c", type="build") # generated + depends_on("py-setuptools@40.6.0:", type="build") depends_on("py-cryptography@3.2.1:", type=("build", "run")) depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-orjson/package.py b/var/spack/repos/builtin/packages/py-orjson/package.py index 4bddb15e5099ea..b3e966897e29b2 100644 --- a/var/spack/repos/builtin/packages/py-orjson/package.py +++ b/var/spack/repos/builtin/packages/py-orjson/package.py @@ -14,6 +14,19 @@ class PyOrjson(PythonPackage): license("Apache-2.0") + version("3.10.3", sha256="2b166507acae7ba2f7c315dcf185a9111ad5e992ac81f2d507aac39193c2c818") + version("3.9.15", sha256="95cae920959d772f30ab36d3b25f83bb0f3be671e986c72ce22f8fa700dae061") + version("3.8.14", sha256="5ea93fd3ef7be7386f2516d728c877156de1559cda09453fc7dd7b696d0439b3") version("3.8.7", sha256="8460c8810652dba59c38c80d27c325b5092d189308d8d4f3e688dbd8d4f3b2dc") - depends_on("py-maturin@0.13:0.14", type="build") + depends_on("c", type="build") # generated + + with default_args(type="build"): + with when("@3.8"): + depends_on("rust@1.60:") + depends_on("python@3.7:") + depends_on("py-maturin@0.13:0.14") + with when("@03.9:"): + depends_on("rust@1.72:") + depends_on("python@3.8:") + depends_on("py-maturin@1") diff --git a/var/spack/repos/builtin/packages/py-osqp/package.py b/var/spack/repos/builtin/packages/py-osqp/package.py index e23c1a9cbe7a4d..3c8f5fe8116e19 100644 --- a/var/spack/repos/builtin/packages/py-osqp/package.py +++ b/var/spack/repos/builtin/packages/py-osqp/package.py @@ -22,6 +22,8 @@ class PyOsqp(PythonPackage): ) version("0.6.1", sha256="47b17996526d6ecdf35cfaead6e3e05d34bc2ad48bcb743153cefe555ecc0e8c") + depends_on("c", type="build") # generated + depends_on("cmake", type="build") depends_on("py-setuptools", type="build") depends_on("py-setuptools@40.8.0:", when="@0.6.2.post8:", type="build") diff --git a/var/spack/repos/builtin/packages/py-pandas/package.py b/var/spack/repos/builtin/packages/py-pandas/package.py index 86ff7723cd6bcc..ae9d8dc1bd1951 100644 --- a/var/spack/repos/builtin/packages/py-pandas/package.py +++ b/var/spack/repos/builtin/packages/py-pandas/package.py @@ -68,6 +68,8 @@ class PyPandas(PythonPackage): version("0.25.3", sha256="52da74df8a9c9a103af0a72c9d5fdc8e0183a90884278db7f386b5692a2220a4") version("0.25.2", sha256="ca91a19d1f0a280874a24dca44aadce42da7f3a7edb7e9ab7c7baad8febee2be") + depends_on("c", type="build") # generated + variant("performance", default=True, description="Build recommended performance dependencies") variant("excel", when="@1.4:", default=False, description="Build with support for Excel") @@ -93,16 +95,17 @@ class PyPandas(PythonPackage): depends_on("py-cython@0.29.13:2", when="@1.0", type="build") depends_on("py-versioneer+toml", when="@2:", type="build") - depends_on("py-numpy@1.22.4:", when="@2.2.2:", type=("build", "run")) - depends_on("py-numpy@1.22.4:1", when="@2.1:2.2.1", type=("build", "run")) - depends_on("py-numpy@1.20.3:1", when="@1.5:2.0", type=("build", "run")) - depends_on("py-numpy@1.18.5:1", when="@1.4", type=("build", "run")) - depends_on("py-numpy@1.17.3:1", when="@1.3", type=("build", "run")) - depends_on("py-numpy@1.16.5:1", when="@1.2", type=("build", "run")) - depends_on("py-numpy@1.15.4:1", when="@1.1", type=("build", "run")) - depends_on("py-numpy@1.13.3:1", when="@1.0", type=("build", "run")) + depends_on("py-numpy@1.22.4:", when="@2.1:", type=("build", "run")) + depends_on("py-numpy@1.20.3:", when="@1.5:", type=("build", "run")) + depends_on("py-numpy@1.18.5:", when="@1.4", type=("build", "run")) + depends_on("py-numpy@1.17.3:", when="@1.3", type=("build", "run")) + depends_on("py-numpy@1.16.5:", when="@1.2", type=("build", "run")) + depends_on("py-numpy@1.15.4:", when="@1.1", type=("build", "run")) + depends_on("py-numpy@1.13.3:", when="@1.0", type=("build", "run")) # 'NUMPY_IMPORT_ARRAY_RETVAL' was removed in numpy@1.19 depends_on("py-numpy@1.13.3:1.18", when="@0.25", type=("build", "run")) + # https://github.com/pandas-dev/pandas/issues/55519 + depends_on("py-numpy@:1", when="@:2.2.1", type=("build", "run")) depends_on("py-python-dateutil@2.8.2:", when="@2:", type=("build", "run")) depends_on("py-python-dateutil@2.8.1:", when="@1.4:", type=("build", "run")) depends_on("py-python-dateutil@2.7.3:", when="@1.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-parmed/package.py b/var/spack/repos/builtin/packages/py-parmed/package.py index d7d281012fefd5..755d097f9932c2 100644 --- a/var/spack/repos/builtin/packages/py-parmed/package.py +++ b/var/spack/repos/builtin/packages/py-parmed/package.py @@ -19,5 +19,7 @@ class PyParmed(PythonPackage): version("3.4.3", sha256="90afb155e3ffe69230a002922b28968464126d4450059f0bd97ceca679c6627c") + depends_on("cxx", type="build") # generated + depends_on("python@2.7:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-parsl/package.py b/var/spack/repos/builtin/packages/py-parsl/package.py index edc2b4b0554901..2e128a25e90f3a 100644 --- a/var/spack/repos/builtin/packages/py-parsl/package.py +++ b/var/spack/repos/builtin/packages/py-parsl/package.py @@ -24,6 +24,8 @@ class PyParsl(PythonPackage): version("1.2.0", sha256="342c74ee39fa210d74b8adfb455f0a9c20d9f059ec5bd9d60c5bdc9929abcdcc") version("1.1.0", sha256="6a623d3550329f028775950d23a2cafcb0f82b199f15940180410604aa5d102c") + depends_on("c", type="build") # generated + variant("monitoring", default=False, description="enable live monitoring") # See https://parsl.readthedocs.io/en/stable/userguide/monitoring.html diff --git a/var/spack/repos/builtin/packages/py-partd/package.py b/var/spack/repos/builtin/packages/py-partd/package.py index 13fdca33dba3f3..19a507574cdf37 100644 --- a/var/spack/repos/builtin/packages/py-partd/package.py +++ b/var/spack/repos/builtin/packages/py-partd/package.py @@ -12,8 +12,10 @@ class PyPartd(PythonPackage): homepage = "https://github.com/dask/partd/" pypi = "partd/partd-0.3.8.tar.gz" - license("BSD-3-Clause") + license("BSD-3-Clause", checked_by="wdconinc") + version("1.4.2", sha256="d022c33afbdc8405c226621b015e8067888173d85f7f5ecebb3cafed9a20f02c") + version("1.4.1", sha256="56c25dd49e6fea5727e731203c466c6e092f308d8f0024e199d02f6aa2167f67") version("1.4.0", sha256="aa0ff35dbbcc807ae374db56332f4c1b39b46f67bf2975f5151e0b4186aed0d5") version("1.1.0", sha256="6e258bf0810701407ad1410d63d1a15cfd7b773fd9efe555dac6bb82cc8832b0") version("0.3.10", sha256="33722a228ebcd1fa6f44b1631bdd4cff056376f89eb826d7d880b35b637bcfba") @@ -21,6 +23,9 @@ class PyPartd(PythonPackage): depends_on("python@3.5:", type=("build", "run"), when="@1.1.0:") depends_on("python@3.7:", type=("build", "run"), when="@1.4.0:") + depends_on("python@3.9:", type=("build", "run"), when="@1.4.2:") depends_on("py-setuptools", type="build") + depends_on("py-setuptools@61.2:", type="build", when="@1.4.2:") + depends_on("py-versioneer@0.29 +toml", type="build", when="@1.4.2:") depends_on("py-locket", type=("build", "run")) depends_on("py-toolz", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pbr/package.py b/var/spack/repos/builtin/packages/py-pbr/package.py index 41621f4a025e49..e5bac4262e7b1b 100644 --- a/var/spack/repos/builtin/packages/py-pbr/package.py +++ b/var/spack/repos/builtin/packages/py-pbr/package.py @@ -24,5 +24,7 @@ class PyPbr(PythonPackage): version("1.10.0", sha256="186428c270309e6fdfe2d5ab0949ab21ae5f7dea831eab96701b86bd666af39c") version("1.8.1", sha256="e2127626a91e6c885db89668976db31020f0af2da728924b56480fc7ccf09649") + depends_on("c", type="build") # generated + depends_on("python@2.6:", type=("build", "run")) depends_on("py-setuptools", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pdm-pep517/package.py b/var/spack/repos/builtin/packages/py-pdm-pep517/package.py index 488972ed509b20..59f4a6fff54a95 100644 --- a/var/spack/repos/builtin/packages/py-pdm-pep517/package.py +++ b/var/spack/repos/builtin/packages/py-pdm-pep517/package.py @@ -17,4 +17,6 @@ class PyPdmPep517(PythonPackage): version("1.0.4", sha256="392f8c2b47c6ec20550cb8e19e24b9dbd27373413f067b56ecd75f9767f93015") + depends_on("c", type="build") # generated + depends_on("python@3.7:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-peachpy/package.py b/var/spack/repos/builtin/packages/py-peachpy/package.py index c2026641b628ae..ea98e2ce6a9c96 100644 --- a/var/spack/repos/builtin/packages/py-peachpy/package.py +++ b/var/spack/repos/builtin/packages/py-peachpy/package.py @@ -16,6 +16,9 @@ class PyPeachpy(PythonPackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-opcodes@0.3.13:", type="build") depends_on("py-six", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pennylane-lightning-kokkos/package.py b/var/spack/repos/builtin/packages/py-pennylane-lightning-kokkos/package.py index 959482d141a678..9f5b20a915facb 100644 --- a/var/spack/repos/builtin/packages/py-pennylane-lightning-kokkos/package.py +++ b/var/spack/repos/builtin/packages/py-pennylane-lightning-kokkos/package.py @@ -28,6 +28,8 @@ class PyPennylaneLightningKokkos(CMakePackage, PythonExtension, CudaPackage, ROC version("0.30.0", sha256="7c8f0e0431f8052993cd8033a316f53590c7bf5419445d0725e214b93cbc661b") version("0.29.1", sha256="f51ba7718defc7bb5064f690f381e04b2ec58cb09f22a171ae5f410860716e30") + depends_on("cxx", type="build") # generated + depends_on("kokkos@:3.7.2", when="@:0.30", type=("run", "build")) depends_on("kokkos@4:4.1", when="@0.31", type=("run", "build")) depends_on("kokkos@4:4.2", when="@0.32:", type=("run", "build")) diff --git a/var/spack/repos/builtin/packages/py-pennylane-lightning/package.py b/var/spack/repos/builtin/packages/py-pennylane-lightning/package.py index e594e9fa681862..fb8d29715c73e8 100644 --- a/var/spack/repos/builtin/packages/py-pennylane-lightning/package.py +++ b/var/spack/repos/builtin/packages/py-pennylane-lightning/package.py @@ -29,6 +29,8 @@ class PyPennylaneLightning(CMakePackage, PythonExtension): version("0.30.0", sha256="0f4032409d20d00991b5d14fe0b2b928baca4a13c5a1b16eab91f61f9273e58d") version("0.29.0", sha256="da9912f0286d1a54051cc19cf8bdbdcd732795636274c95f376db72a88e52d85") + depends_on("cxx", type="build") # generated + variant("blas", default=True, description="Build with BLAS support") variant( "dispatcher", diff --git a/var/spack/repos/builtin/packages/py-petsc4py/package.py b/var/spack/repos/builtin/packages/py-petsc4py/package.py index 19223ee4d0ca6c..8e33851c83c16e 100644 --- a/var/spack/repos/builtin/packages/py-petsc4py/package.py +++ b/var/spack/repos/builtin/packages/py-petsc4py/package.py @@ -20,6 +20,7 @@ class PyPetsc4py(PythonPackage): license("BSD-2-Clause") version("main", branch="main") + version("3.21.3", sha256="1c3664d5b527354171077c89c4b1fef3df4a41be7196d12bca74b2759c7e2648") version("3.21.2", sha256="6ce1e1a45407da300c6869d0d9abe17b5b077424aa4895713642dda0bb19ab4e") version("3.21.1", sha256="ea8c6afb16541167d39f87d5fcad98c32d856fe8a2173504ef2a31c16647d53d") version("3.21.0", sha256="b2000a3f8ef60920e1f82fa4772372d7941bc737bcc421a234a2507097a44d00") @@ -69,10 +70,14 @@ class PyPetsc4py(PythonPackage): version("3.12.0", sha256="4c94a1dbbf244b249436b266ac5fa4e67080d205420805deab5ec162b979df8d") version("3.11.0", sha256="ec114b303aadaee032c248a02021e940e43c6437647af0322d95354e6f2c06ad") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Activates MPI support") patch("ldshared.patch", when="@:3.18") + depends_on("py-cython@3:", when="@3.20:", type="build") depends_on("py-cython@0.29.32:", when="^python@3.11:", type="build") depends_on("py-cython@0.24:", type="build") depends_on("python@2.6:2.8,3.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pexpect/package.py b/var/spack/repos/builtin/packages/py-pexpect/package.py index 5a6346338ab527..8507059bace6cf 100644 --- a/var/spack/repos/builtin/packages/py-pexpect/package.py +++ b/var/spack/repos/builtin/packages/py-pexpect/package.py @@ -17,6 +17,8 @@ class PyPexpect(PythonPackage): version("4.2.1", sha256="3d132465a75b57aa818341c6521392a06cc660feb3988d7f1074f39bd23c9a92") version("3.3", sha256="dfea618d43e83cfff21504f18f98019ba520f330e4142e5185ef7c73527de5ba") + depends_on("c", type="build") # generated + # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") depends_on("py-ptyprocess", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-phanotate/package.py b/var/spack/repos/builtin/packages/py-phanotate/package.py index 3f88711942b9ab..3dfa74297cdb8c 100644 --- a/var/spack/repos/builtin/packages/py-phanotate/package.py +++ b/var/spack/repos/builtin/packages/py-phanotate/package.py @@ -21,6 +21,8 @@ class PyPhanotate(PythonPackage): version("1.5.0", sha256="589e441d2369e5550aef98b8d99fd079d130363bf881a70ac862fc7a8e0d2c88") + depends_on("c", type="build") # generated + depends_on("python@3.5.3:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-fastpath@1.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-phonopy/package.py b/var/spack/repos/builtin/packages/py-phonopy/package.py index a92e563e6102d9..770bc90c6777a9 100644 --- a/var/spack/repos/builtin/packages/py-phonopy/package.py +++ b/var/spack/repos/builtin/packages/py-phonopy/package.py @@ -17,6 +17,8 @@ class PyPhonopy(PythonPackage): version("1.10.0", sha256="6b7c540bbbb033203c45b8472696db02a3a55913a0e5eb23de4dc9a3bee473f7") + depends_on("c", type="build") # generated + # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-photutils/package.py b/var/spack/repos/builtin/packages/py-photutils/package.py index c0b56c9ba434bb..455ebd3ec1d201 100644 --- a/var/spack/repos/builtin/packages/py-photutils/package.py +++ b/var/spack/repos/builtin/packages/py-photutils/package.py @@ -19,6 +19,8 @@ class PyPhotutils(PythonPackage): version("1.5.0", sha256="014f7aa5a571401094d5cf9ffb57803b48869233feb80476ce377ecb91113689") + depends_on("c", type="build") # generated + maintainers("meyersbs") # From setup.cfg diff --git a/var/spack/repos/builtin/packages/py-phydms/package.py b/var/spack/repos/builtin/packages/py-phydms/package.py index bd8e1826cc3640..3fafdb822a16a8 100644 --- a/var/spack/repos/builtin/packages/py-phydms/package.py +++ b/var/spack/repos/builtin/packages/py-phydms/package.py @@ -20,6 +20,8 @@ class PyPhydms(PythonPackage): version("2.4.1", sha256="04eb50bdb07907214050d19214d9bc8cf2002e24ca30fbe6e0f23f013d584d5c") + depends_on("c", type="build") # generated + depends_on("python@3.5:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pickle5/package.py b/var/spack/repos/builtin/packages/py-pickle5/package.py index e5b6372aa7a929..f2c03dc1081ff0 100644 --- a/var/spack/repos/builtin/packages/py-pickle5/package.py +++ b/var/spack/repos/builtin/packages/py-pickle5/package.py @@ -18,5 +18,7 @@ class PyPickle5(PythonPackage): version("0.0.11", sha256="7e013be68ba7dde1de5a8dbcc241f201dab1126e326715916ce4a26c27919ffc") + depends_on("c", type="build") # generated + depends_on("python@3.5:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pillow-simd/package.py b/var/spack/repos/builtin/packages/py-pillow-simd/package.py index 13c1c1430c3c47..e3d71e68d65c81 100644 --- a/var/spack/repos/builtin/packages/py-pillow-simd/package.py +++ b/var/spack/repos/builtin/packages/py-pillow-simd/package.py @@ -26,6 +26,8 @@ class PyPillowSimd(PyPillowBase): "6.2.2.post1", sha256="d29b673ac80091797f1e8334458be307e4ac4ab871b0e495cfe56cb7b1d7704e" ) + depends_on("c", type="build") # generated + for ver in ["6.2.2.post1", "7.0.0.post3", "9.0.0.post1"]: provides("pil@" + ver, when="@" + ver) diff --git a/var/spack/repos/builtin/packages/py-pillow/package.py b/var/spack/repos/builtin/packages/py-pillow/package.py index 59968f0551b705..7eff0630dba655 100644 --- a/var/spack/repos/builtin/packages/py-pillow/package.py +++ b/var/spack/repos/builtin/packages/py-pillow/package.py @@ -42,7 +42,8 @@ class PyPillowBase(PythonPackage): # Required dependencies # https://pillow.readthedocs.io/en/stable/installation/python-support.html with default_args(type=("build", "link", "run")): - depends_on("python@3.8:3.12", when="@10.1:") + depends_on("python@3.8:3.13", when="@10.4:") + depends_on("python@3.8:3.12", when="@10.1:10.3") depends_on("python@3.8:3.11", when="@10.0") depends_on("python@3.7:3.11", when="@9.3:9.5") depends_on("python@3.7:3.10", when="@9.0:9.2") @@ -113,6 +114,7 @@ class PyPillow(PyPillowBase): homepage = "https://python-pillow.org/" pypi = "pillow/pillow-10.2.0.tar.gz" + version("10.4.0", sha256="166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06") version("10.3.0", sha256="9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d") version("10.2.0", sha256="e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e") version("10.1.0", sha256="e6bf8de6c36ed96c86ea3b6e1d5273c53f46ef518a062464cd7ef5dd2cf92e38") @@ -133,7 +135,10 @@ class PyPillow(PyPillowBase): version("6.2.2", sha256="db9ff0c251ed066d367f53b64827cc9e18ccea001b986d08c265e53625dab950") version("6.2.1", sha256="bf4e972a88f8841d8fdc6db1a75e0f8d763e66e3754b03006cbc3854d89f1cb1") + depends_on("c", type="build") # generated + for ver in [ + "10.4.0", "10.3.0", "10.2.0", "10.1.0", diff --git a/var/spack/repos/builtin/packages/py-pint/package.py b/var/spack/repos/builtin/packages/py-pint/package.py index cbd8f48575fbdc..3d5aa155912a49 100644 --- a/var/spack/repos/builtin/packages/py-pint/package.py +++ b/var/spack/repos/builtin/packages/py-pint/package.py @@ -21,6 +21,7 @@ class PyPint(PythonPackage): version("0.22", sha256="2d139f6abbcf3016cad7d3cec05707fe908ac4f99cf59aedfd6ee667b7a64433") version("0.21.1", sha256="5d5b6b518d0c5a7ab03a776175db500f1ed1523ee75fb7fafe38af8149431c8d") version("0.20.1", sha256="387cf04078dc7dfe4a708033baad54ab61d82ab06c4ee3d4922b1e45d5626067") + version("0.19.2", sha256="e1d4989ff510b378dad64f91711e7bdabe5ca78d75b06a18569ac454678c4baf") version("0.18", sha256="8c4bce884c269051feb7abc69dbfd18403c0c764abc83da132e8a7222f8ba801") version("0.17", sha256="f4d0caa713239e6847a7c6eefe2427358566451fe56497d533f21fb590a3f313") version("0.11", sha256="308f1070500e102f83b6adfca6db53debfce2ffc5d3cbe3f6c367da359b5cf4d") diff --git a/var/spack/repos/builtin/packages/py-pivy/package.py b/var/spack/repos/builtin/packages/py-pivy/package.py index 1df73c9419fbfa..95c5ab871b49d1 100644 --- a/var/spack/repos/builtin/packages/py-pivy/package.py +++ b/var/spack/repos/builtin/packages/py-pivy/package.py @@ -16,6 +16,8 @@ class PyPivy(PythonPackage): version("0.6.8", sha256="c443dd7dd724b0bfa06427478b9d24d31e0c3b5138ac5741a2917a443b28f346") + depends_on("cxx", type="build") # generated + depends_on("coin3d") depends_on("py-setuptools", type="build") depends_on("cmake@3.18:", type="build") 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 83454d9ee74a0f..9e82b28a786332 100644 --- a/var/spack/repos/builtin/packages/py-poetry-core/package.py +++ b/var/spack/repos/builtin/packages/py-poetry-core/package.py @@ -22,6 +22,8 @@ class PyPoetryCore(PythonPackage): version("1.0.8", sha256="951fc7c1f8d710a94cb49019ee3742125039fc659675912ea614ac2aa405b118") version("1.0.7", sha256="98c11c755a16ef6c5673c22ca94a3802a7df4746a0853a70b6fae8b9f5cac206") + depends_on("c", type="build") # generated + depends_on("python@3.8:3", when="@1.7.0:", type=("build", "run")) depends_on("python@3.7:3", when="@1.1.0:", type=("build", "run")) depends_on("python@:3", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-poetry/package.py b/var/spack/repos/builtin/packages/py-poetry/package.py index 68b2ae95e47715..0191c806bb2542 100644 --- a/var/spack/repos/builtin/packages/py-poetry/package.py +++ b/var/spack/repos/builtin/packages/py-poetry/package.py @@ -20,6 +20,8 @@ class PyPoetry(PythonPackage): version("1.1.13", sha256="b905ed610085f568aa61574e0e09260c02bff9eae12ff672af39e9f399357ac4") version("1.1.12", sha256="5c66e2357fe37b552462a88b7d31bfa2ed8e84172208becd666933c776252567") + depends_on("c", type="build") # generated + depends_on("python@3.8:3", when="@1.6.0:", type=("build", "run")) depends_on("python@3.7:3", when="@1.2.0:", type=("build", "run")) depends_on("python@2.7,3.5:3", type=("build", "run")) @@ -71,7 +73,7 @@ class PyPoetry(PythonPackage): depends_on("py-virtualenv@20.4.3:20.4.4,20.4.7:", when="@1.2", type=("build", "run")) depends_on("py-virtualenv@20.0.26:20", when="@:1.1", type=("build", "run")) depends_on("py-xattr@0.10", when="platform=darwin @1.6.1", type=("build", "run")) - depends_on("py-xattr@0.9.7:0.9", when="platform=darwin @1.2:") + depends_on("py-xattr@0.9.7:0.9", when="platform=darwin @1.2") depends_on("py-urllib3@1.26.0:1", when="@1.2") depends_on("py-dulwich@0.21.2:0.21", when="@1.6.1", type=("build", "run")) depends_on("py-dulwich@0.20.46:0.20", when="@1.2.1") diff --git a/var/spack/repos/builtin/packages/py-pomegranate/package.py b/var/spack/repos/builtin/packages/py-pomegranate/package.py index 00055adcd24ad7..0a5af32a44616e 100644 --- a/var/spack/repos/builtin/packages/py-pomegranate/package.py +++ b/var/spack/repos/builtin/packages/py-pomegranate/package.py @@ -16,6 +16,8 @@ class PyPomegranate(PythonPackage): version("0.12.0", sha256="8b00c88f7cf9cad8d38ea00ea5274821376fefb217a1128afe6b1fcac54c975a") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-cython@0.22.1:", type="build") depends_on("py-numpy@1.8.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pot/package.py b/var/spack/repos/builtin/packages/py-pot/package.py index 4f7c63b602c2fa..5468559b7a7a97 100644 --- a/var/spack/repos/builtin/packages/py-pot/package.py +++ b/var/spack/repos/builtin/packages/py-pot/package.py @@ -20,6 +20,8 @@ class PyPot(PythonPackage): version("0.7.0", sha256="d4ac2bc8791f049a3166820d51e218d6c299885449b735eafef8d18c76d4ad06") + depends_on("cxx", type="build") # generated + # Avoid that CC and CXX are overridden with g++ in setup.py. patch("175.patch", when="@0.7.0") diff --git a/var/spack/repos/builtin/packages/py-projectq/package.py b/var/spack/repos/builtin/packages/py-projectq/package.py index eac6aec7f09bbf..488e540cd66b97 100644 --- a/var/spack/repos/builtin/packages/py-projectq/package.py +++ b/var/spack/repos/builtin/packages/py-projectq/package.py @@ -25,6 +25,8 @@ class PyProjectq(PythonPackage): version("develop", branch="develop") version("0.3.6", commit="fa484fe037a3a1772127bbd00fe4628ddba34611") + depends_on("cxx", type="build") # generated + # Dependencies depends_on("py-setuptools", type=("build")) depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py b/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py index 70146e632ac177..e0f2933f60d45f 100644 --- a/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py +++ b/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py @@ -18,6 +18,7 @@ class PyPromptToolkit(PythonPackage): license("BSD-3-Clause") + version("3.0.43", sha256="3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d") version("3.0.38", sha256="23ac5d50538a9a38c8bde05fecb47d0b403ecd0662857a86f886f798563d5b9b") version("3.0.31", sha256="9ada952c9d1787f52ff6d5f3484d0b4df8952787c087edf6a1f7c2cb1ea88148") version("3.0.29", sha256="bd640f60e8cecd74f0dc249713d433ace2ddc62b65ee07f96d358e0b152b6ea7") diff --git a/var/spack/repos/builtin/packages/py-protobuf/package.py b/var/spack/repos/builtin/packages/py-protobuf/package.py index 68a8a4122c4bca..d372dc8804157b 100644 --- a/var/spack/repos/builtin/packages/py-protobuf/package.py +++ b/var/spack/repos/builtin/packages/py-protobuf/package.py @@ -62,6 +62,8 @@ class PyProtobuf(PythonPackage): version("3.3.0", sha256="1cbcee2c45773f57cb6de7ee0eceb97f92b9b69c0178305509b162c0160c1f04") version("3.0.0", sha256="ecc40bc30f1183b418fe0ec0c90bc3b53fa1707c4205ee278c6b90479e5b6ff5") + depends_on("c", type="build") # generated + variant("cpp", default=False, when="@:4.21", description="Enable the cpp implementation") depends_on("python", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/py-psalg/package.py b/var/spack/repos/builtin/packages/py-psalg/package.py index 9302655371795f..98a464a2c6f787 100644 --- a/var/spack/repos/builtin/packages/py-psalg/package.py +++ b/var/spack/repos/builtin/packages/py-psalg/package.py @@ -16,6 +16,9 @@ class PyPsalg(PythonPackage): version("3.3.37", sha256="127a5ae44c9272039708bd877849a3af354ce881fde093a2fc6fe0550b698b72") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("psalg") diff --git a/var/spack/repos/builtin/packages/py-psana/package.py b/var/spack/repos/builtin/packages/py-psana/package.py index a35d1e08a38203..b9f2e4a9e97bca 100644 --- a/var/spack/repos/builtin/packages/py-psana/package.py +++ b/var/spack/repos/builtin/packages/py-psana/package.py @@ -17,6 +17,9 @@ class PyPsana(PythonPackage): version("3.3.37", sha256="127a5ae44c9272039708bd877849a3af354ce881fde093a2fc6fe0550b698b72") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch("setup.patch") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-psutil/package.py b/var/spack/repos/builtin/packages/py-psutil/package.py index 4441e530034f11..78f0e9802b6556 100644 --- a/var/spack/repos/builtin/packages/py-psutil/package.py +++ b/var/spack/repos/builtin/packages/py-psutil/package.py @@ -27,6 +27,8 @@ class PyPsutil(PythonPackage): version("5.4.5", sha256="ebe293be36bb24b95cdefc5131635496e88b17fabbcf1e4bc9b5c01f5e489cfe") version("5.0.1", sha256="9d8b7f8353a2b2eb6eb7271d42ec99d0d264a9338a37be46424d56b4e473b39e") + depends_on("c", type="build") # generated + # pyproject.toml depends_on("py-setuptools@43:", when="@5.9.4:", type="build") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-psyclone/package.py b/var/spack/repos/builtin/packages/py-psyclone/package.py index ce5b26621f7e00..a2a41482d4b4ea 100644 --- a/var/spack/repos/builtin/packages/py-psyclone/package.py +++ b/var/spack/repos/builtin/packages/py-psyclone/package.py @@ -34,6 +34,8 @@ class PyPsyclone(PythonPackage): version("2.0.0", sha256="94766ffda760404af99f85d70341376192e4a1b8e16e7ae5df980038898a9c41") version("1.5.1", sha256="f053ad7316623b2a4002afc79607abda3b22306645e86f2312d9f3fe56d312dc") + depends_on("fortran", type="build") # generated + # Current dependencies depends_on("py-setuptools", type="build") depends_on("py-pyparsing", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-psycopg2/package.py b/var/spack/repos/builtin/packages/py-psycopg2/package.py index cc6e805592912e..ca4d21ca8ac0f1 100644 --- a/var/spack/repos/builtin/packages/py-psycopg2/package.py +++ b/var/spack/repos/builtin/packages/py-psycopg2/package.py @@ -16,6 +16,8 @@ class PyPsycopg2(PythonPackage): version("2.9.1", sha256="de5303a6f1d0a7a34b9d40e4d3bef684ccc44a49bbe3eb85e3c0bffb4a131b7c") version("2.8.6", sha256="fb23f6c71107c37fd667cb4ea363ddeb936b348bbd6449278eb92c189699f543") + depends_on("c", type="build") # generated + # https://www.psycopg.org/docs/install.html#prerequisites # https://github.com/psycopg/psycopg2/blob/master/doc/src/install.rst # https://www.psycopg.org/docs/news.html#news diff --git a/var/spack/repos/builtin/packages/py-py-spy/package.py b/var/spack/repos/builtin/packages/py-py-spy/package.py index c150d6e9476bc4..a13c6d4e09a44c 100644 --- a/var/spack/repos/builtin/packages/py-py-spy/package.py +++ b/var/spack/repos/builtin/packages/py-py-spy/package.py @@ -17,6 +17,8 @@ class PyPySpy(Package): version("0.3.8", sha256="9dbfd0ea79ef31a2966891e86cf6238ed3831938cf562e71848e07b7009cf57d") version("0.3.3", sha256="41454d3d9132da45c72f7574faaff65f40c757720293a277ffa5ec5a4b44f902") + depends_on("c", type="build") # generated + # TODO: uses cargo to download and build dozens of dependencies. # Need to figure out how to manage these with Spack once we have a # CargoPackage base class. diff --git a/var/spack/repos/builtin/packages/py-py2bit/package.py b/var/spack/repos/builtin/packages/py-py2bit/package.py index ea15abb9e10417..08ad9f8ebc6a50 100644 --- a/var/spack/repos/builtin/packages/py-py2bit/package.py +++ b/var/spack/repos/builtin/packages/py-py2bit/package.py @@ -15,4 +15,6 @@ class PyPy2bit(PythonPackage): version("0.2.1", sha256="34f7ac22be0eb4b5493063826bcc2016a78eb216bb7130890b50f3572926aeb1") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyaml-env/package.py b/var/spack/repos/builtin/packages/py-pyaml-env/package.py new file mode 100644 index 00000000000000..298fc9f778397e --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pyaml-env/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 PyPyamlEnv(PythonPackage): + """Provides yaml file parsing with environment variable resolution""" + + homepage = "https://github.com/mkaranasou/pyaml_env" + pypi = "pyaml_env/pyaml_env-1.2.1.tar.gz" + + license("MIT", checked_by="A_N_Other") + + version("1.2.1", sha256="6d5dc98c8c82df743a132c196e79963050c9feb05b0a6f25f3ad77771d3d95b0") + + depends_on("py-setuptools", type="build") + depends_on("py-pyyaml@5:7", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pyarrow/package.py b/var/spack/repos/builtin/packages/py-pyarrow/package.py index af23fd4d4cc675..3d6bf8acded8a1 100644 --- a/var/spack/repos/builtin/packages/py-pyarrow/package.py +++ b/var/spack/repos/builtin/packages/py-pyarrow/package.py @@ -37,6 +37,8 @@ class PyPyarrow(PythonPackage, CudaPackage): version("0.11.0", sha256="07a6fd71c5d7440f2c42383dd2c5daa12d7f0a012f1e88288ed08a247032aead") version("0.9.0", sha256="7db8ce2f0eff5a00d6da918ce9f9cfec265e13f8a119b4adb1595e5b19fd6242") + depends_on("cxx", type="build") # generated + variant("parquet", default=False, description="Build with Parquet support") variant("orc", default=False, description="Build with orc support") variant("dataset", default=False, description="Build with Dataset support") @@ -64,8 +66,10 @@ class PyPyarrow(PythonPackage, CudaPackage): depends_on("py-numpy@1.16.6:", type=("build", "run"), when="@3:") # Prior to python 3.9 numpy must be >=0.14,<1.25 - depends_on("py-numpy@0.14:1.24", when="^python@:3.8") - depends_on("py-numpy@1.25:", when="^python@3.9:") + depends_on("py-numpy@0.14:1.24", when="^python@:3.8", type=("build", "run")) + depends_on("py-numpy@1.25:", when="^python@3.9:", type=("build", "run")) + # https://github.com/apache/arrow/issues/39532 + depends_on("py-numpy@:1", when="@:15", type=("build", "run")) arrow_versions = ( "@0.9.0", diff --git a/var/spack/repos/builtin/packages/py-pybedtools/package.py b/var/spack/repos/builtin/packages/py-pybedtools/package.py index 28a5a69dc07936..b0690d4d30e288 100644 --- a/var/spack/repos/builtin/packages/py-pybedtools/package.py +++ b/var/spack/repos/builtin/packages/py-pybedtools/package.py @@ -26,6 +26,8 @@ class PyPybedtools(PythonPackage): version("0.7.4", sha256="15cfae9e8a207ded403ad9fa2e77f09d14c2fe377d1bc5f8b063647e2d0554e0") version("0.6.9", sha256="56915b3e2200c6fb56260a36f839e66ce27d7dd3ef55fba278c3931b786fbfd1") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools@0.6c5:", type="build") depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-pybigwig/package.py b/var/spack/repos/builtin/packages/py-pybigwig/package.py index 814fa8d37fefee..cab48156ac11c3 100644 --- a/var/spack/repos/builtin/packages/py-pybigwig/package.py +++ b/var/spack/repos/builtin/packages/py-pybigwig/package.py @@ -16,6 +16,8 @@ class PyPybigwig(PythonPackage): version("0.3.12", sha256="e01991790ece496bf6d3f00778dcfb136dd9ca0fd28acc1b3fb43051ad9b8403") version("0.3.4", sha256="8c97a19218023190041c0e426f1544f7a4944a7bb4568faca1d85f1975af9ee2") + depends_on("c", type="build") # generated + variant("numpy", default=True, description="Enable support for numpy integers and vectors") patch("python3_curl.patch", when="@:0.3.12 ^python@3:") diff --git a/var/spack/repos/builtin/packages/py-pybind11/package.py b/var/spack/repos/builtin/packages/py-pybind11/package.py index f7c298309b6967..46db4dc9d1cfb7 100644 --- a/var/spack/repos/builtin/packages/py-pybind11/package.py +++ b/var/spack/repos/builtin/packages/py-pybind11/package.py @@ -53,6 +53,8 @@ class PyPybind11(CMakePackage, PythonExtension): version("2.1.1", sha256="f2c6874f1ea5b4ad4ffffe352413f7d2cd1a49f9050940805c2a082348621540") version("2.1.0", sha256="2860f2b8d0c9f65f0698289a161385f59d099b7ead1bf64e8993c486f2b93ee0") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools@42:", type="build") depends_on("py-pytest", type="test") depends_on("py-pip", type="build") diff --git a/var/spack/repos/builtin/packages/py-pybrain/package.py b/var/spack/repos/builtin/packages/py-pybrain/package.py index 17d34438a0e995..0fc1558d43f742 100644 --- a/var/spack/repos/builtin/packages/py-pybrain/package.py +++ b/var/spack/repos/builtin/packages/py-pybrain/package.py @@ -18,5 +18,7 @@ class PyPybrain(PythonPackage): version("0.3.3.post", commit="dcdf32ba1805490cefbc0bdeb227260d304fdb42") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-scipy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pycairo/package.py b/var/spack/repos/builtin/packages/py-pycairo/package.py index c9eccce8077566..1f8d0e61066485 100644 --- a/var/spack/repos/builtin/packages/py-pycairo/package.py +++ b/var/spack/repos/builtin/packages/py-pycairo/package.py @@ -20,6 +20,8 @@ class PyPycairo(PythonPackage): version("1.24.0", sha256="1444d52f1bb4cc79a4a0c0fe2ccec4bd78ff885ab01ebe1c0f637d8392bcafb6") version("1.20.0", sha256="5695a10cb7f9ae0d01f665b56602a845b0a8cb17e2123bfece10c2e58552468c") + depends_on("c", type="build") # generated + depends_on("python@3.8:", when="@1.23:", type=("build", "run")) depends_on("python@3.6:3", when="@1.20:1.22", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pycares/package.py b/var/spack/repos/builtin/packages/py-pycares/package.py index e8dba26fb7d74b..c13e54cdeff154 100644 --- a/var/spack/repos/builtin/packages/py-pycares/package.py +++ b/var/spack/repos/builtin/packages/py-pycares/package.py @@ -18,6 +18,8 @@ class PyPycares(PythonPackage): version("3.0.0", sha256="28dc2bd59cf20399a6af4383cc8f57970cfca8b808ca05d6493812862ef0ca9c") + depends_on("c", type="build") # generated + depends_on("python@2.6:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-cffi", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pycifrw/package.py b/var/spack/repos/builtin/packages/py-pycifrw/package.py index 9d9474cf7b7a6c..37d6c4c37a3925 100644 --- a/var/spack/repos/builtin/packages/py-pycifrw/package.py +++ b/var/spack/repos/builtin/packages/py-pycifrw/package.py @@ -17,4 +17,6 @@ class PyPycifrw(PythonPackage): version("4.4.1", sha256="cef7662f475e0eb78a55c2d55774d474e888c96b0539e5f08550afa902cdc4e1") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pycocotools/package.py b/var/spack/repos/builtin/packages/py-pycocotools/package.py index a751e5e935e42f..46117215faec02 100644 --- a/var/spack/repos/builtin/packages/py-pycocotools/package.py +++ b/var/spack/repos/builtin/packages/py-pycocotools/package.py @@ -15,6 +15,9 @@ class PyPycocotools(PythonPackage): version("2.0.6", sha256="7fe089b05cc18e806dcf3bd764708d86dab922a100f3734eb77fb77a70a1d18c") version("2.0.2", sha256="24717a12799b4471c2e54aa210d642e6cd4028826a1d49fcc2b0e3497e041f1a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python", type=("build", "link", "run")) depends_on("py-cython@0.27.3:", when="@2.0.4:", type="build") depends_on("py-cython@0.27.3:", when="@:2.0.3", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pycompadre/package.py b/var/spack/repos/builtin/packages/py-pycompadre/package.py index b749b164c58e61..559cb5f0e70147 100644 --- a/var/spack/repos/builtin/packages/py-pycompadre/package.py +++ b/var/spack/repos/builtin/packages/py-pycompadre/package.py @@ -22,6 +22,10 @@ class PyPycompadre(PythonPackage): version("master", branch="master", preferred=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("trilinos", default=False, description="Use Kokkos from Trilinos") variant( "debug", diff --git a/var/spack/repos/builtin/packages/py-pycortex/package.py b/var/spack/repos/builtin/packages/py-pycortex/package.py index 9817e95d5de6c2..261af67f219003 100644 --- a/var/spack/repos/builtin/packages/py-pycortex/package.py +++ b/var/spack/repos/builtin/packages/py-pycortex/package.py @@ -20,6 +20,8 @@ class PyPycortex(PythonPackage): version("1.2.2", sha256="ac46ed6a1dc727c3126c2b5d7916fc0ac21a6510c32a5edcd3b8cfb7b2128414") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-cython", type="build") depends_on("py-future", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pycparser/package.py b/var/spack/repos/builtin/packages/py-pycparser/package.py index e5f085dee1b069..3626a5f75528c2 100644 --- a/var/spack/repos/builtin/packages/py-pycparser/package.py +++ b/var/spack/repos/builtin/packages/py-pycparser/package.py @@ -21,5 +21,7 @@ class PyPycparser(PythonPackage): version("2.17", sha256="0aac31e917c24cb3357f5a4d5566f2cc91a19ca41862f6c3c22dc60a629673b6") version("2.13", sha256="b399599a8a0e386bfcbc5e01a38d79dd6e926781f9e358cd5512f41ab7d20eb7") + depends_on("c", type="build") # generated + depends_on("python@2.7:2.8,3.4:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pycrypto/package.py b/var/spack/repos/builtin/packages/py-pycrypto/package.py index acfd315a041660..a047548c0806a7 100644 --- a/var/spack/repos/builtin/packages/py-pycrypto/package.py +++ b/var/spack/repos/builtin/packages/py-pycrypto/package.py @@ -14,5 +14,7 @@ class PyPycrypto(PythonPackage): version("2.6.1", sha256="f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c") + depends_on("c", type="build") # generated + # depends_on('py-setuptools', type='build') depends_on("gmp") diff --git a/var/spack/repos/builtin/packages/py-pycryptodome/package.py b/var/spack/repos/builtin/packages/py-pycryptodome/package.py index 73298b196d199d..f3b013985a52f2 100644 --- a/var/spack/repos/builtin/packages/py-pycryptodome/package.py +++ b/var/spack/repos/builtin/packages/py-pycryptodome/package.py @@ -15,4 +15,6 @@ class PyPycryptodome(PythonPackage): version("3.16.0", sha256="0e45d2d852a66ecfb904f090c3f87dc0dfb89a499570abad8590f10d9cffb350") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pycuda/package.py b/var/spack/repos/builtin/packages/py-pycuda/package.py index 3cb89290b84d74..2115934ea60830 100644 --- a/var/spack/repos/builtin/packages/py-pycuda/package.py +++ b/var/spack/repos/builtin/packages/py-pycuda/package.py @@ -22,6 +22,8 @@ class PyPycuda(PythonPackage): version("2019.1.2", sha256="ada56ce98a41f9f95fe18809f38afbae473a5c62d346cfa126a2d5477f24cc8a") version("2016.1.2", sha256="a7dbdac7e2f0c0d2ad98f5f281d5a9d29d6673b3c20210e261b96e9a2d0b6e37") + depends_on("cxx", type="build") # generated + @run_before("install") def configure(self): pyver = self.spec["python"].version.up_to(2).joined diff --git a/var/spack/repos/builtin/packages/py-pycurl/package.py b/var/spack/repos/builtin/packages/py-pycurl/package.py index 79a95c85735425..2a2e0993132f55 100644 --- a/var/spack/repos/builtin/packages/py-pycurl/package.py +++ b/var/spack/repos/builtin/packages/py-pycurl/package.py @@ -19,6 +19,8 @@ class PyPycurl(PythonPackage): version("7.44.1", sha256="5bcef4d988b74b99653602101e17d8401338d596b9234d263c728a0c3df003e8") version("7.43.0", sha256="aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c") + depends_on("c", type="build") # generated + depends_on("python@2.6:", type=("build", "run")) depends_on("python@3.5:", when="@7.44.1:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyeda/package.py b/var/spack/repos/builtin/packages/py-pyeda/package.py index 83f9bc1a6f63e1..01627e5c18157b 100644 --- a/var/spack/repos/builtin/packages/py-pyeda/package.py +++ b/var/spack/repos/builtin/packages/py-pyeda/package.py @@ -16,5 +16,7 @@ class PyPyeda(PythonPackage): version("0.28.0", sha256="07185f458d5d0b2ba5058da8b95dad6ab7684ceaf41237a25bcd3f005490f59d") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("python@3.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pyelftools/package.py b/var/spack/repos/builtin/packages/py-pyelftools/package.py index 5699b1b14ecd8f..bbaf9d8b44889e 100644 --- a/var/spack/repos/builtin/packages/py-pyelftools/package.py +++ b/var/spack/repos/builtin/packages/py-pyelftools/package.py @@ -23,4 +23,7 @@ class PyPyelftools(PythonPackage): version("0.24", sha256="e9dd97d685a5b96b88a988dabadb88e5a539b64cd7d7927fac9a7368dc4c459c") version("0.23", sha256="fc57aadd096e8f9b9b03f1a9578f673ee645e1513a5ff0192ef439e77eab21de") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyerfa/package.py b/var/spack/repos/builtin/packages/py-pyerfa/package.py index d061b06a2a8d80..719fd60d75a4fd 100644 --- a/var/spack/repos/builtin/packages/py-pyerfa/package.py +++ b/var/spack/repos/builtin/packages/py-pyerfa/package.py @@ -25,6 +25,8 @@ class PyPyerfa(PythonPackage): version("2.0.1.1", sha256="dbac74ef8d3d3b0f22ef0ad3bbbdb30b2a9e10570b1fa5a98be34c7be36c9a6b") version("2.0.0.1", sha256="2fd4637ffe2c1e6ede7482c13f583ba7c73119d78bef90175448ce506a0ede30") + depends_on("c", type="build") # generated + # From setup.cfg depends_on("python@3.7:", type=("build", "run")) depends_on("py-numpy@1.25:2", when="@2.0.1.1", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pyfits/package.py b/var/spack/repos/builtin/packages/py-pyfits/package.py index 8abe148fdb72df..cc21bd31a92890 100644 --- a/var/spack/repos/builtin/packages/py-pyfits/package.py +++ b/var/spack/repos/builtin/packages/py-pyfits/package.py @@ -15,5 +15,7 @@ class PyPyfits(PythonPackage): version("3.5", sha256="fd32596ee09170a70ddc87d0dfc5503d860ef6b68abcff486d7aa6993dff6162") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pyfr/package.py b/var/spack/repos/builtin/packages/py-pyfr/package.py index 48c328be64184e..482a64854e936d 100644 --- a/var/spack/repos/builtin/packages/py-pyfr/package.py +++ b/var/spack/repos/builtin/packages/py-pyfr/package.py @@ -24,46 +24,56 @@ class PyPyfr(PythonPackage, CudaPackage, ROCmPackage): version("master", branch="master") # pypi releases + version( + "2.0.3", + sha256="1fd2ca377596ab541d929d2c7b2d27e376e21b5dd6c4c0e7653bbb53864dee61", + preferred=True, + ) + version("2.0.2", sha256="2c6bf460ffec446a933451792c09d3cd85d6703f14636d99810d61823b8d92c7") version("1.15.0", sha256="6a634b9d32447f45d3c24c9de0ed620a0a0a781be7cc5e57b1c1bf44a4650d8d") version("1.14.0", sha256="ebf40ce0896cce9ac802e03fd9430b5be30ea837c31224531a6d5fd68f820766") version("1.13.0", sha256="ac6ecec738d4e23799ab8c50dea9bdbd7d37bc971bd33f22720c5a230b8e7b2f") - variant("metis", default=True, description="Metis for mesh partitioning") - variant("scotch", default=False, description="Scotch for mesh partitioning") + variant("metis", default=False, when="@:1.15.0", description="Metis for mesh partitioning") + variant("scotch", default=True, description="Scotch for mesh partitioning") variant("cuda", default=False, description="CUDA backend support") variant("hip", default=False, description="HIP backend support") variant("libxsmm", default=True, description="LIBXSMM for OpenMP backend") - variant("scipy", default=True, description="Scipy acceleration for point sampling") # Required dependencies - depends_on("python@3.9:", type=("build", "run")) - depends_on("py-setuptools", type="build") + depends_on("python@3.9:", when="@:1.15.0", type=("build", "run")) + depends_on("python@3.10:", when="@2.0.2:", type=("build", "run")) + depends_on("py-setuptools", type=("build", "run")) depends_on("py-gimmik@2.3:2", when="@:1.14.0", type=("build", "run")) - depends_on("py-gimmik@3", when="@1.15.0:", type=("build", "run")) + depends_on("py-gimmik@3", when="@1.15.0", type=("build", "run")) + depends_on("py-gimmik@3.2.1:", when="@2.0.2:", type=("build", "run")) depends_on("py-h5py@2.10:", type=("build", "run")) depends_on("py-mako@1.0.0:", type=("build", "run")) depends_on("py-mpi4py@3.1.0:", type=("build", "run")) - depends_on("py-numpy@1.20:", type=("build", "run")) + depends_on("py-numpy@1.20:", when="@:1.15.0", type=("build", "run")) + depends_on("py-numpy@1.26.4:", when="@2.0.2:", type=("build", "run")) depends_on("py-platformdirs@2.2.0:", type=("build", "run")) depends_on("py-pytools@2016.2.1:", type=("build", "run")) + depends_on("py-rtree@1.0.1:", when="@2.0.2:", type=("build", "run")) # Optional dependencies - depends_on("py-scipy", when="+scipy", type=("build", "run")) - depends_on("metis@5.0:", when="+metis", type=("run")) + depends_on("metis@5.0.0:5.1.0", when="@:1.15.0 +metis", type=("run")) depends_on("scotch@7.0.1: +link_error_lib", when="+scotch", type=("run")) depends_on("cuda@8.0: +allow-unsupported-compilers", when="@:1.14.0 +cuda", type=("run")) depends_on("cuda@11.4.0: +allow-unsupported-compilers", when="@1.15.0: +cuda", type=("run")) - depends_on("rocblas@5.2.0:", when="+hip", type=("run")) + depends_on("rocblas@5.2.0:", when="@:1.15.0 +hip", type=("run")) + depends_on("rocblas@6.0.0:", when="@2.0.2: +hip", type=("run")) depends_on("libxsmm@1.18:+shared blas=0", when="+libxsmm", type=("run")) - # Conflicts for compilers not supporting OpenMP 5.1+ from v1.15.0: - conflicts("%gcc@:11", when="@1.15.0: +libxsmm", msg="OpenMP 5.1+ supported compiler required!") - - # Explicitly add dependencies to PYFR_LIBRARY_PATH environment variable + # Explicitly add dependencies to environment variables def setup_run_environment(self, env): - deps = ["metis", "scotch", "libxsmm", "cuda", "hip", "rocblas"] + deps = ["metis", "scotch", "libxsmm", "hip", "rocblas"] pyfr_library_path = [] for dep in deps: if "+{}".format(dep) in self.spec: pyfr_library_path.extend(self.spec[dep].libs.directories) env.set("PYFR_LIBRARY_PATH", ":".join(pyfr_library_path)) + + # LD_LIBRARY_PATH needed for cuda + if "+cuda" in self.spec: + env.prepend_path("LD_LIBRARY_PATH", self.spec["cuda"].libs.directories[0]) diff --git a/var/spack/repos/builtin/packages/py-pygdal/package.py b/var/spack/repos/builtin/packages/py-pygdal/package.py index 2e995e8bbeaf8d..50fef6a1ce401d 100644 --- a/var/spack/repos/builtin/packages/py-pygdal/package.py +++ b/var/spack/repos/builtin/packages/py-pygdal/package.py @@ -30,6 +30,9 @@ class PyPygdal(PythonPackage): version("2.4.1.6", sha256="5d1af98ad09f59e34e3b332cf20630b532b33c7120295aaaabbccebf58a11aa4") version("2.4.0.6", sha256="728d11f3ecae0cd3493cd27dab599a0b6184f5504cc172d49400d88ea2b24a9c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@3.6:", when="@3.3:", type="build") depends_on("py-setuptools", type="build") depends_on("py-numpy@1.0.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pygeos/package.py b/var/spack/repos/builtin/packages/py-pygeos/package.py index 773d42c94d67f9..2b4a843dbdfc88 100644 --- a/var/spack/repos/builtin/packages/py-pygeos/package.py +++ b/var/spack/repos/builtin/packages/py-pygeos/package.py @@ -25,6 +25,8 @@ class PyPygeos(PythonPackage): version("0.9", sha256="c0584b20e95f80ee57277a6eb1e5d7f86600f8b1ef3c627d238e243afdcc0cc7") version("0.8", sha256="45b7e1aaa5fc9ff53565ef089fb75c53c419ace8cee18385ec1d7c1515c17cbc") + depends_on("c", type="build") # generated + depends_on("python", type=("build", "link", "run")) depends_on("py-cython@0.29:0", when="@0.14:", type="build") depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-pygit2/package.py b/var/spack/repos/builtin/packages/py-pygit2/package.py index f5cf5c4e3fffca..0ce4e292d887bf 100644 --- a/var/spack/repos/builtin/packages/py-pygit2/package.py +++ b/var/spack/repos/builtin/packages/py-pygit2/package.py @@ -20,6 +20,8 @@ class PyPygit2(PythonPackage): version("1.4.0", sha256="cbeb38ab1df9b5d8896548a11e63aae8a064763ab5f1eabe4475e6b8a78ee1c8") version("1.3.0", sha256="0be93f6a8d7cbf0cc79ae2f0afb1993fc055fc0018c27e2bd01ba143e51d4452") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") # https://www.pygit2.org/install.html#version-numbers depends_on("libgit2@1.6", when="@1.12") diff --git a/var/spack/repos/builtin/packages/py-pygments/package.py b/var/spack/repos/builtin/packages/py-pygments/package.py index 97daebd9818a60..2c1df43ff5a0a7 100644 --- a/var/spack/repos/builtin/packages/py-pygments/package.py +++ b/var/spack/repos/builtin/packages/py-pygments/package.py @@ -10,11 +10,12 @@ class PyPygments(PythonPackage): """Pygments is a syntax highlighting package written in Python.""" homepage = "https://pygments.org/" - pypi = "Pygments/Pygments-2.4.2.tar.gz" + pypi = "Pygments/pygments-2.18.0.tar.gz" git = "https://github.com/pygments/pygments.git" license("BSD-2-Clause") + version("2.18.0", sha256="786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199") version("2.16.1", sha256="1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29") version("2.16.0", sha256="4f6df32f21dca07a54a0a130bda9a25d2241e9e0a206841d061c85a60cc96145") version("2.15.1", sha256="8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c") @@ -30,6 +31,13 @@ class PyPygments(PythonPackage): version("2.0.1", sha256="5e039e1d40d232981ed58914b6d1ac2e453a7e83ddea22ef9f3eeadd01de45cb") version("2.0.2", sha256="7320919084e6dac8f4540638a46447a3bd730fca172afc17d2c03eed22cf4f51") - depends_on("python@3.7:", when="@2.15:", type=("build", "run")) - depends_on("py-setuptools@61:", when="@2.15:", type=("build", "run")) - depends_on("py-setuptools", type=("build", "run")) + depends_on("py-hatchling", when="@2.17:", type="build") + depends_on("py-setuptools@61:", when="@2.15:2.16", type=("build", "run")) + depends_on("py-setuptools", when="@:2.14", type=("build", "run")) + + def url_for_version(self, version): + url = "https://files.pythonhosted.org/packages/source/P/Pygments/{}-{}.tar.gz" + name = "Pygments" + if version >= Version("2.17"): + name = name.lower() + return url.format(name, version) diff --git a/var/spack/repos/builtin/packages/py-pygobject/package.py b/var/spack/repos/builtin/packages/py-pygobject/package.py index cb926dcd9f54f7..a853bf860dbcd7 100644 --- a/var/spack/repos/builtin/packages/py-pygobject/package.py +++ b/var/spack/repos/builtin/packages/py-pygobject/package.py @@ -31,6 +31,8 @@ class PyPygobject(PythonPackage): deprecated=True, ) + depends_on("c", type="build") # generated + extends("python") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pygpu/package.py b/var/spack/repos/builtin/packages/py-pygpu/package.py index f0457335956f04..3a92491d5b05ca 100644 --- a/var/spack/repos/builtin/packages/py-pygpu/package.py +++ b/var/spack/repos/builtin/packages/py-pygpu/package.py @@ -22,6 +22,8 @@ class PyPygpu(PythonPackage): version("0.6.1", sha256="b2466311e0e3bacdf7a586bba0263f6d232bf9f8d785e91ddb447653741e6ea5") version("0.6.0", sha256="a58a0624e894475a4955aaea25e82261c69b4d22c8f15ec07041a4ba176d35af") + depends_on("c", type="build") # generated + depends_on("python", type=("build", "link", "run")) depends_on("libgpuarray@0.7.6", when="@0.7.6") depends_on("libgpuarray@0.7.5", when="@0.7.5") diff --git a/var/spack/repos/builtin/packages/py-pyhdf/package.py b/var/spack/repos/builtin/packages/py-pyhdf/package.py new file mode 100644 index 00000000000000..e1059e20971e20 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pyhdf/package.py @@ -0,0 +1,49 @@ +# 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 PyPyhdf(PythonPackage): + """pyhdf is a python wrapper around the NCSA HDF version 4 library. + The SD (Scientific Dataset), VS (Vdata) and V (Vgroup) APIs are + currently implemented. NetCDF files can also be read and modified.""" + + homepage = "https://github.com/fhs/pyhdf" + pypi = "pyhdf/pyhdf-0.10.4.tar.gz" + git = "https://github.com/fhs/pyhdf.git" + + maintainers("climbfuji") + + license("MIT") + + version("master", branch="master") + version("0.10.4", sha256="ea09b2bdafc9be0f7f43d72ff122d8efbde61881f4da3a659b33be5e29215f93") + + depends_on("c", type="build") # generated + + # Python versions + depends_on("py-setuptools", type="build") + + # Dependencies + depends_on("zlib-api", type=("build", "run")) + depends_on("hdf@4.2", type=("build", "run")) + depends_on("py-numpy", type=("build", "run")) + depends_on("jpeg", type=("build", "run")) + + def setup_build_environment(self, env): + inc_dirs = [] + lib_dirs = [] + # Strip -I and -L from spec include_flags / search_flags + inc_dirs.append(self.spec["zlib-api"].headers.include_flags.lstrip("-I")) + inc_dirs.append(self.spec["hdf"].headers.include_flags.lstrip("-I")) + inc_dirs.append(self.spec["jpeg"].headers.include_flags.lstrip("-I")) + lib_dirs.append(self.spec["zlib-api"].libs.search_flags.lstrip("-L")) + lib_dirs.append(self.spec["hdf"].libs.search_flags.lstrip("-L")) + lib_dirs.append(self.spec["jpeg"].libs.search_flags.lstrip("-L")) + env.set("INCLUDE_DIRS", ":".join(inc_dirs)) + env.set("LIBRARY_DIRS", ":".join(lib_dirs)) + if self.spec["hdf"].satisfies("@:4.1"): + env.set("NO_COMPRESS", "1") diff --git a/var/spack/repos/builtin/packages/py-pyheadtail/package.py b/var/spack/repos/builtin/packages/py-pyheadtail/package.py index a64d591b242656..35ed6f6c320d26 100644 --- a/var/spack/repos/builtin/packages/py-pyheadtail/package.py +++ b/var/spack/repos/builtin/packages/py-pyheadtail/package.py @@ -17,6 +17,9 @@ class PyPyheadtail(PythonPackage): version("1.14.1", sha256="bf90ac7e8764176c55e82c363cad7ab43543863b6ef482760ced23b78e917bb4") version("1.13.1", sha256="29c742573a918126b5a9c21806ee0ec6a34ec642a0e6ad200f6d4551bf1bb310") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("python", type=("build", "run")) depends_on("python@3:", when="@1.13.5:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyhull/package.py b/var/spack/repos/builtin/packages/py-pyhull/package.py index 3db784d4d89047..307416ddf58ac3 100644 --- a/var/spack/repos/builtin/packages/py-pyhull/package.py +++ b/var/spack/repos/builtin/packages/py-pyhull/package.py @@ -21,6 +21,8 @@ class PyPyhull(PythonPackage): version("2015.2.1", sha256="d2ff0aa3298b548287587609a24f4e2aae7f7b8b1df152a90cd313260abc3a24") + depends_on("c", type="build") # generated + # From setup.py: depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py b/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py index 83bbdedd5bf89e..c10fea144f875c 100644 --- a/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py +++ b/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py @@ -16,4 +16,6 @@ class PyPyinstrumentCext(PythonPackage): version("0.2.2", sha256="f29e25f71d74c0415ca9310e5567fff0f5d29f4240a09a885abf8b0eed71cc5b") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyinstrument/package.py b/var/spack/repos/builtin/packages/py-pyinstrument/package.py index 39a2048a4e86f7..6c2a128fbb31f1 100644 --- a/var/spack/repos/builtin/packages/py-pyinstrument/package.py +++ b/var/spack/repos/builtin/packages/py-pyinstrument/package.py @@ -19,6 +19,8 @@ class PyPyinstrument(PythonPackage): version("3.1.3", sha256="353c7000a6563b16c0be0c6a04104d42b3154c5cd7c1979ab66efa5fdc5f5571") version("3.1.0", sha256="10c1fed4996a72c3e1e2bac1940334756894dbd116df3cc3b2d9743f2ae43016") + depends_on("c", type="build") # generated + variant("jupyter", default=False, description="Support Jupyter/IPython magic", when="@4.1:") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pykerberos/package.py b/var/spack/repos/builtin/packages/py-pykerberos/package.py index 729216c85c0cec..a3be907887c0c5 100644 --- a/var/spack/repos/builtin/packages/py-pykerberos/package.py +++ b/var/spack/repos/builtin/packages/py-pykerberos/package.py @@ -16,6 +16,8 @@ class PyPykerberos(PythonPackage): version("1.2.4", sha256="9d701ebd8fc596c99d3155d5ba45813bd5908d26ef83ba0add250edb622abed4") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("krb5", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/py-pykokkos-base/package.py b/var/spack/repos/builtin/packages/py-pykokkos-base/package.py index 6bf307a58eee00..2428793eb4012b 100644 --- a/var/spack/repos/builtin/packages/py-pykokkos-base/package.py +++ b/var/spack/repos/builtin/packages/py-pykokkos-base/package.py @@ -21,6 +21,8 @@ class PyPykokkosBase(CMakePackage, PythonExtension): version("0.0.4", commit="2efe1220d0128d3f2d371c9ed5234c4978d73a77", submodules=False) version("0.0.3", commit="4fe4421ac624ba2efe1eee265153e690622a18a5", submodules=False) + depends_on("cxx", type="build") # generated + variant( "layouts", default=True, description="Build Kokkos View/DynRankView with layout variants" ) diff --git a/var/spack/repos/builtin/packages/py-pylikwid/package.py b/var/spack/repos/builtin/packages/py-pylikwid/package.py index b76aa855fa758a..58cb767071b764 100644 --- a/var/spack/repos/builtin/packages/py-pylikwid/package.py +++ b/var/spack/repos/builtin/packages/py-pylikwid/package.py @@ -22,6 +22,8 @@ class PyPylikwid(PythonPackage): version("0.4.0", sha256="f7894a6d7ebcea7da133ef639599a314f850f55cd6c5ffdd630bb879bd2aa0b8") + depends_on("c", type="build") # generated + variant("cuda", default=False, description="with Nvidia GPU profiling support") # pip silently replaces distutils with setuptools diff --git a/var/spack/repos/builtin/packages/py-pylith/package.py b/var/spack/repos/builtin/packages/py-pylith/package.py index 3ce7c217a7cca0..401a5e5eff6930 100644 --- a/var/spack/repos/builtin/packages/py-pylith/package.py +++ b/var/spack/repos/builtin/packages/py-pylith/package.py @@ -18,6 +18,8 @@ class PyPylith(AutotoolsPackage, PythonExtension): version("4.0.0", sha256="31e0131683292ee2e62f2c818cc2777f026104ae73d7a8368975dd6560292689") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools") depends_on("py-cig-pythia") depends_on("spatialdata") diff --git a/var/spack/repos/builtin/packages/py-pymol/package.py b/var/spack/repos/builtin/packages/py-pymol/package.py index a4ab0b522d8491..1889677b20512e 100644 --- a/var/spack/repos/builtin/packages/py-pymol/package.py +++ b/var/spack/repos/builtin/packages/py-pymol/package.py @@ -19,6 +19,9 @@ class PyPymol(PythonPackage): version("2.4.0", sha256="5ede4ce2e8f53713c5ee64f5905b2d29bf01e4391da7e536ce8909d6b9116581") version("2.3.0", sha256="62aa21fafd1db805c876f89466e47513809f8198395e1f00a5f5cc40d6f40ed0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python+tkinter@2.7:", type=("build", "link", "run"), when="@2.3.0:2.4.0") depends_on("python+tkinter@3.6:", type=("build", "link", "run"), when="@2.5.0:") # in newer pip versions --install-option does not exist diff --git a/var/spack/repos/builtin/packages/py-pymongo/package.py b/var/spack/repos/builtin/packages/py-pymongo/package.py index 7c7469e628f576..234b6119672d8c 100644 --- a/var/spack/repos/builtin/packages/py-pymongo/package.py +++ b/var/spack/repos/builtin/packages/py-pymongo/package.py @@ -25,6 +25,8 @@ class PyPymongo(PythonPackage): version("3.6.0", sha256="c6de26d1e171cdc449745b82f1addbc873d105b8e7335097da991c0fc664a4a8") version("3.3.0", sha256="3d45302fc2622fabf34356ba274c69df41285bac71bbd229f1587283b851b91e") + depends_on("c", type="build") # generated + depends_on("python@2.7:2.8,3.4:", type=("build", "run")) depends_on("python@3.7:", when="@4.2.0:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pymoo/package.py b/var/spack/repos/builtin/packages/py-pymoo/package.py index 023f81d859b25e..51bed567428187 100644 --- a/var/spack/repos/builtin/packages/py-pymoo/package.py +++ b/var/spack/repos/builtin/packages/py-pymoo/package.py @@ -22,6 +22,8 @@ class PyPymoo(PythonPackage): version("0.5.0", sha256="2fbca1716f6b45e430197ce4ce2210070fd3b6b9ec6b17bb25d98486115272c2") version("0.4.2", sha256="6ec382a7d29c8775088eec7f245a30fd384b42c40f230018dea0e3bcd9aabdf1") + depends_on("cxx", type="build") # generated + depends_on("python@3.4:", type=("build", "run")) depends_on("py-autograd", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pynacl/package.py b/var/spack/repos/builtin/packages/py-pynacl/package.py index 8c564b421c77a2..2e2a0c632a9ef5 100644 --- a/var/spack/repos/builtin/packages/py-pynacl/package.py +++ b/var/spack/repos/builtin/packages/py-pynacl/package.py @@ -16,6 +16,8 @@ class PyPynacl(PythonPackage): version("1.5.0", sha256="8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba") version("1.4.0", sha256="54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505") + depends_on("c", type="build") # generated + depends_on("python@2.7:2.8,3.4:", type=("build", "run")) depends_on("python@3.6:", type=("build", "run"), when="@1.5.0:") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pynio/package.py b/var/spack/repos/builtin/packages/py-pynio/package.py index 59ea20288f45c0..a7e4b5f1a3f648 100644 --- a/var/spack/repos/builtin/packages/py-pynio/package.py +++ b/var/spack/repos/builtin/packages/py-pynio/package.py @@ -18,6 +18,9 @@ class PyPynio(PythonPackage): version("1.5.4", sha256="e5bb57d902740d25e4781a9f89e888149f55f2ffe60f9a5ad71069f017c89e1a") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("hdf5", default=False, description="Include HDF5 support") variant("gdal", default=False, description="Include GDAL support") diff --git a/var/spack/repos/builtin/packages/py-pynn/package.py b/var/spack/repos/builtin/packages/py-pynn/package.py index 8b7e40fed7e749..67949ae15ef9e7 100644 --- a/var/spack/repos/builtin/packages/py-pynn/package.py +++ b/var/spack/repos/builtin/packages/py-pynn/package.py @@ -24,6 +24,8 @@ class PyPynn(PythonPackage): version("0.8.1", sha256="ce94246284588414d1570c1d5d697805f781384e771816727c830b01ee30fe39") version("0.7.5", sha256="15f75f422f3b71c6129ecef23f29d8baeb3ed6502e7a321b8a2596c78ef7e03c") + depends_on("cxx", type="build") # generated + depends_on("python@2.6:2.8,3.3:", type=("build", "run")) depends_on("python@3.7:", type=("build", "run"), when="@0.10.0:") diff --git a/var/spack/repos/builtin/packages/py-pynvtx/package.py b/var/spack/repos/builtin/packages/py-pynvtx/package.py index 86065133e703c4..15c25c30ad8256 100644 --- a/var/spack/repos/builtin/packages/py-pynvtx/package.py +++ b/var/spack/repos/builtin/packages/py-pynvtx/package.py @@ -22,5 +22,7 @@ class PyPynvtx(PythonPackage): version("0.3.3", sha256="8877b2d90bbf9d279d517a80a8f35a0a0a8179ebabf0729e806798a84bee6c72") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools@40.8:", type="build") depends_on("py-pybind11", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/py-pyodbc/package.py b/var/spack/repos/builtin/packages/py-pyodbc/package.py index 05cc05cf01b7e6..ad2e8d9c5be5a8 100644 --- a/var/spack/repos/builtin/packages/py-pyodbc/package.py +++ b/var/spack/repos/builtin/packages/py-pyodbc/package.py @@ -18,6 +18,8 @@ class PyPyodbc(PythonPackage): version("4.0.26", sha256="e52700b5d24a846483b5ab80acd9153f8e593999c9184ffea11596288fb33de3") + depends_on("cxx", type="build") # generated + depends_on("python@2.7:2.8,3.4:", type=("build", "link", "run")) depends_on("py-setuptools", type="build") depends_on("unixodbc") diff --git a/var/spack/repos/builtin/packages/py-pyomo/package.py b/var/spack/repos/builtin/packages/py-pyomo/package.py index af69d289d7d488..212a50eb0b5d5e 100644 --- a/var/spack/repos/builtin/packages/py-pyomo/package.py +++ b/var/spack/repos/builtin/packages/py-pyomo/package.py @@ -46,6 +46,9 @@ class PyPyomo(PythonPackage): version("5.6.7", sha256="fc97cc9d5a55c5185358ba65c1f9530c9af17e67a9aae7b36c3414f159030ae0") version("5.6.6", sha256="813e14a604b9d3ac63bdd0880c07f5f4e1b8f0a8a10345f1b42bee762219c001") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cython", default=False, description="Enable cythonization of Pyomo.") variant("tests", default=False, description="Install testing dependencies.", when="@6.1:") variant( diff --git a/var/spack/repos/builtin/packages/py-pyopencl/package.py b/var/spack/repos/builtin/packages/py-pyopencl/package.py index 48cf56912e1001..5e2c6ed30f686a 100644 --- a/var/spack/repos/builtin/packages/py-pyopencl/package.py +++ b/var/spack/repos/builtin/packages/py-pyopencl/package.py @@ -19,6 +19,8 @@ class PyPyopencl(PythonPackage): version("2020.2.2", sha256="31fcc79fb6862998e98d91a624c0bd4f0ab4c5d418d199912d4d312c64e437ec") + depends_on("cxx", type="build") # generated + depends_on("ocl-icd", type=("build", "link", "run")) depends_on("opencl", type=("build", "link", "run")) depends_on("python@3.6:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pyopengl/package.py b/var/spack/repos/builtin/packages/py-pyopengl/package.py new file mode 100644 index 00000000000000..64f4913dc2812c --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pyopengl/package.py @@ -0,0 +1,68 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +import sys + +from spack.package import * + + +class PyPyopengl(PythonPackage): + """PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs.""" + + homepage = "http://pyopengl.sourceforge.net" + pypi = "pyopengl/PyOpenGL-3.1.6.tar.gz" + + version("3.1.6", sha256="8ea6c8773927eda7405bffc6f5bb93be81569a7b05c8cac50cd94e969dce5e27") + + variant("glu", default=True, description="Enable OpenGL Utility (GLU) binding.") + variant("glut", default=True, description="Enable OpenGL Utility Toolkit (GLUT) binding.") + + conflicts("osmesa", when="^glx") + + depends_on("py-setuptools", type="build") + # actually installing PyOpenGL itself just requires python + # but tests (and possibly dependent packages) need OpenGL libraries + depends_on("gl", type="link") + depends_on("glu", when="+glu", type="link") + depends_on("freeglut+shared", when="+glut", type="link") + + def setup_run_environment(self, env): + # PyOpenGL uses ctypes.cdll (or similar), which searches LD_LIBRARY_PATH + lib_dirs = self.spec["gl"].libs.directories + if "^glx" in self.spec: + lib_dirs.extend(self.spec["glx"].libs.directories) + env.set("PYOPENGL_PLATFORM", "glx") + if "^osmesa" in self.spec: + lib_dirs.extend(self.spec["osmesa"].libs.directories) + env.set("PYOPENGL_PLATFORM", "osmesa") + if "+glu" in self.spec: + lib_dirs.extend(self.spec["glu"].libs.directories) + if "+glut" in self.spec: + lib_dirs.extend(self.spec["freeglut"].libs.directories) + libs = ":".join(lib_dirs) + if sys.platform == "darwin": + env.prepend_path("DYLD_FALLBACK_LIBRARY_PATH", libs) + else: + env.prepend_path("LD_LIBRARY_PATH", libs) + + def setup_dependent_build_environment_(self, env, dependent_spec): + self.setup_run_environment(env) + + # only test import available module + @property + def import_modules(self): + modules = ["OpenGL", "OpenGL.GL"] + if "gl=glx" in self.spec: + modules.append("OpenGL.GLX") + if "gl=osmesa" in self.spec: + modules.append("OpenGL.osmesa") + if "+glu" in self.spec: + modules.append("OpenGL.GLU") + if "+glut" in self.spec: + modules.append("OpenGL.GLUT") + if "^python+tkinter" in self.spec: + modules.append("OpenGL.Tk") + + return modules diff --git a/var/spack/repos/builtin/packages/py-pypar/package.py b/var/spack/repos/builtin/packages/py-pypar/package.py index 49d9d4fba555d9..804b25c862d7fd 100644 --- a/var/spack/repos/builtin/packages/py-pypar/package.py +++ b/var/spack/repos/builtin/packages/py-pypar/package.py @@ -18,6 +18,8 @@ class PyPypar(PythonPackage): version("2.1.5_108", sha256="6076c47d32d48424a07c7b7b29ac16e12cc4b2d28b681b895f94fa76cd82fa12") + depends_on("c", type="build") # generated + depends_on("mpi") # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyprecice/package.py b/var/spack/repos/builtin/packages/py-pyprecice/package.py index 19b81e062801b6..dba3a938f79410 100644 --- a/var/spack/repos/builtin/packages/py-pyprecice/package.py +++ b/var/spack/repos/builtin/packages/py-pyprecice/package.py @@ -37,6 +37,8 @@ class PyPyprecice(PythonPackage): version("2.0.0.2", sha256="5f055d809d65ec2e81f4d001812a250f50418de59990b47d6bcb12b88da5f5d7") version("2.0.0.1", sha256="96eafdf421ec61ad6fcf0ab1d3cf210831a815272984c470b2aea57d4d0c9e0e") + depends_on("cxx", type="build") # generated + for ver in [ "develop", "2.5.0", diff --git a/var/spack/repos/builtin/packages/py-pyqt4/package.py b/var/spack/repos/builtin/packages/py-pyqt4/package.py index 00e27c994e3bd5..1c28fd8b243576 100644 --- a/var/spack/repos/builtin/packages/py-pyqt4/package.py +++ b/var/spack/repos/builtin/packages/py-pyqt4/package.py @@ -19,6 +19,8 @@ class PyPyqt4(SIPPackage): version("4.12.3", sha256="a00f5abef240a7b5852b7924fa5fdf5174569525dc076cd368a566619e56d472") + depends_on("cxx", type="build") # generated + # API files can be installed regardless if QScintilla is installed or not variant("qsci_api", default=False, description="Install PyQt API file for QScintilla") diff --git a/var/spack/repos/builtin/packages/py-pyqt5-sip/package.py b/var/spack/repos/builtin/packages/py-pyqt5-sip/package.py index d7e1098cab5147..c6612970b3c132 100644 --- a/var/spack/repos/builtin/packages/py-pyqt5-sip/package.py +++ b/var/spack/repos/builtin/packages/py-pyqt5-sip/package.py @@ -18,6 +18,9 @@ class PyPyqt5Sip(PythonPackage): version("12.12.1", sha256="8fdc6e0148abd12d977a1d3828e7b79aae958e83c6cb5adae614916d888a6b10") version("12.9.0", sha256="d3e4489d7c2b0ece9d203ae66e573939f7f60d4d29e089c9f11daa17cfeaae32") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools@30.3:", type="build") patch( diff --git a/var/spack/repos/builtin/packages/py-pyqt5/package.py b/var/spack/repos/builtin/packages/py-pyqt5/package.py index 1f74582a44b271..4f1c904396f75d 100644 --- a/var/spack/repos/builtin/packages/py-pyqt5/package.py +++ b/var/spack/repos/builtin/packages/py-pyqt5/package.py @@ -19,6 +19,8 @@ class PyPyqt5(SIPPackage): version("5.15.9", sha256="dc41e8401a90dc3e2b692b411bd5492ab559ae27a27424eed4bd3915564ec4c0") + depends_on("cxx", type="build") # generated + # pyproject.toml depends_on("py-sip@6.6.2:6", type="build") depends_on("py-pyqt-builder@1.14.1:1", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyqt6-sip/package.py b/var/spack/repos/builtin/packages/py-pyqt6-sip/package.py index 36a42e13170e50..5b853be73f43d9 100644 --- a/var/spack/repos/builtin/packages/py-pyqt6-sip/package.py +++ b/var/spack/repos/builtin/packages/py-pyqt6-sip/package.py @@ -14,6 +14,10 @@ class PyPyqt6Sip(PythonPackage): license("GPL-2.0-or-later") + version("13.6.0", sha256="2486e1588071943d4f6657ba09096dc9fffd2322ad2c30041e78ea3f037b5778") version("13.5.1", sha256="d1e9141752966669576d04b37ba0b122abbc41cc9c35493751028d7d91c4dd49") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools@30.3:", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyqt6/package.py b/var/spack/repos/builtin/packages/py-pyqt6/package.py index 6e6de0ead7c89a..ac4701048709f4 100644 --- a/var/spack/repos/builtin/packages/py-pyqt6/package.py +++ b/var/spack/repos/builtin/packages/py-pyqt6/package.py @@ -15,15 +15,22 @@ class PyPyqt6(SIPPackage): license("GPL-3.0-or-later") + version("6.7.0", sha256="3d31b2c59dc378ee26e16586d9469842483588142fc377280aad22aaf2fa6235") + version("6.6.1", sha256="9f158aa29d205142c56f0f35d07784b8df0be28378d20a97bcda8bd64ffd0379") version("6.5.2", sha256="1487ee7350f9ffb66d60ab4176519252c2b371762cbe8f8340fd951f63801280") version("6.5.1", sha256="e166a0568c27bcc8db00271a5043936226690b6a4a74ce0a5caeb408040a97c3") + depends_on("cxx", type="build") # generated + # pyproject.toml - depends_on("py-sip@6.5:6", type="build") + depends_on("python@3.8:", type=("build", "run"), when="@6.7:") + depends_on("py-sip@6.8:6", type="build", when="@6.7:") + depends_on("py-sip@6.5:6", type="build", when="@:6.6") depends_on("py-pyqt-builder@1.15:1", type="build") # PKG-INFO - depends_on("py-pyqt6-sip@13.4:13", type=("build", "run")) + depends_on("py-pyqt6-sip@13.6:13", type=("build", "run"), when="@5.3:") + depends_on("py-pyqt6-sip@13.4:13", type=("build", "run"), when="@:5.2") # README depends_on("qt-base@6") diff --git a/var/spack/repos/builtin/packages/py-pyrevolve/package.py b/var/spack/repos/builtin/packages/py-pyrevolve/package.py index 12c053a1577f9c..c72a3f22646fca 100644 --- a/var/spack/repos/builtin/packages/py-pyrevolve/package.py +++ b/var/spack/repos/builtin/packages/py-pyrevolve/package.py @@ -19,6 +19,8 @@ class PyPyrevolve(PythonPackage): version("2.2", sha256="b49aea5cd6c520ac5fcd1d25fa23fe2c5502741d2965f3eee10be067e7b0efb4") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-contexttimer", type=("build", "run")) depends_on("py-cython@0.17:", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyrfr/package.py b/var/spack/repos/builtin/packages/py-pyrfr/package.py index 7d1c1e992a64d4..c4840f84091f45 100644 --- a/var/spack/repos/builtin/packages/py-pyrfr/package.py +++ b/var/spack/repos/builtin/packages/py-pyrfr/package.py @@ -17,6 +17,8 @@ class PyPyrfr(PythonPackage): version("0.8.2", sha256="c18a6e8f0bd971c1ea449b6dd0997a6ec1fe9a031883400bdcc95fa5ddd65975") + depends_on("cxx", type="build") # generated + depends_on("python@3:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("swig") diff --git a/var/spack/repos/builtin/packages/py-pyro-ppl/package.py b/var/spack/repos/builtin/packages/py-pyro-ppl/package.py index 9ba34d0ecab521..68441e21e925f8 100644 --- a/var/spack/repos/builtin/packages/py-pyro-ppl/package.py +++ b/var/spack/repos/builtin/packages/py-pyro-ppl/package.py @@ -20,6 +20,8 @@ class PyPyroPpl(PythonPackage): version("1.8.1", sha256="d7c049eb2e7485a612b4dd99c24c309cc860c7cbc6b1973387034f5436d1c8d6") version("1.8.0", sha256="68e4ea30f219227dd88e55de2550d3f8c20a20adbdb67ad1e13b50868bb2ac0c") + depends_on("cxx", type="build") # generated + depends_on("python@3.7:", when="@1.8.1:", type=("build", "run")) depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyrocko/package.py b/var/spack/repos/builtin/packages/py-pyrocko/package.py index e93dbdf753b33b..4b9ad7292ec7b1 100644 --- a/var/spack/repos/builtin/packages/py-pyrocko/package.py +++ b/var/spack/repos/builtin/packages/py-pyrocko/package.py @@ -20,6 +20,8 @@ class PyPyrocko(PythonPackage): version("2024.1.10", sha256="4fb2c72d0b036ce3c70bfd066e1ce4946eb93d9190d202e9fc689c1f29e4845f") version("2023.6.29", sha256="779a234592bfcfa1c96939fee53d0dfc5cadf111432a2679f08166cfd8bcae41") + depends_on("c", type="build") # generated + depends_on("python@3.7:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyrsistent/package.py b/var/spack/repos/builtin/packages/py-pyrsistent/package.py index 9ef98a0f4dc5da..fc85e14944bb8b 100644 --- a/var/spack/repos/builtin/packages/py-pyrsistent/package.py +++ b/var/spack/repos/builtin/packages/py-pyrsistent/package.py @@ -22,6 +22,8 @@ class PyPyrsistent(PythonPackage): version("0.16.0", sha256="28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3") version("0.15.7", sha256="cdc7b5e3ed77bed61270a47d35434a30617b9becdf2478af76ad2c6ade307280") + depends_on("c", type="build") # generated + depends_on("python", type=("build", "link", "run")) depends_on("py-setuptools@42:", when="@0.18.0:", type="build") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pysam/package.py b/var/spack/repos/builtin/packages/py-pysam/package.py index 42993ca040a23e..7e83b7f0bfd00e 100644 --- a/var/spack/repos/builtin/packages/py-pysam/package.py +++ b/var/spack/repos/builtin/packages/py-pysam/package.py @@ -24,6 +24,8 @@ class PyPysam(PythonPackage): version("0.14.1", sha256="2e86f5228429d08975c8adb9030296699012a8deba8ba26cbfc09b374f792c97") version("0.7.7", sha256="c9f3018482eec99ee199dda3fdef2aa7424dde6574672a4c0d209a10985755cc") + depends_on("c", type="build") # generated + depends_on("py-setuptools@59.0:", when="@0.21:", type="build") depends_on("py-setuptools", type="build") depends_on("py-cython@0.29.30:2", when="@0.21:", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyscf/package.py b/var/spack/repos/builtin/packages/py-pyscf/package.py index 2262c825c30ca3..4a12b557265e14 100644 --- a/var/spack/repos/builtin/packages/py-pyscf/package.py +++ b/var/spack/repos/builtin/packages/py-pyscf/package.py @@ -18,6 +18,9 @@ class PyPyscf(PythonPackage): license("Apache-2.0") + version("2.6.2", sha256="744c89a8e4d38c4b5562f75fa68f9d079faeb23602d255fba0eb6d1bac97bca2") + version("2.6.1", sha256="faeaeeb0c07fec5018937655511709a9c2445e3d7c421c0fa1ae5d889e4ab455") + version("2.6.0", sha256="08ff920fedd4b257273d235fb4492535147c1e3154de5ab02b5446de93e200d8") version("2.5.0", sha256="9596603c914fb3fba853607e96366fa541012faffd59a4ea052f0122dcea5343") version("2.4.0", sha256="af0597c481851b5448e7055c3160aef28dc12a1e0b35dda8279555c0780c0d45") version("2.3.0", sha256="71781de62c25924fd4e93ffeb0451ec0d0b3646fe426c75023f4f519f0f35d85") @@ -29,6 +32,8 @@ class PyPyscf(PythonPackage): version("1.7.5", sha256="52856b39f0ada2f6340757caa65dc5c1d9a3cdfceea2a6615ad8af92664a6c69") version("1.7.3", sha256="62a26146a222140395b276ea33182f87809a21989ddcf78e2dcb8e35ebc57af2") + depends_on("c", type="build") # generated + # dependencies depends_on("cmake@3.10:", type="build", when="@2.1:") depends_on("cmake@2.8:", type="build") @@ -37,6 +42,7 @@ class PyPyscf(PythonPackage): depends_on("py-setuptools", type="build") depends_on("py-numpy@1.8.0:", type=("build", "run")) depends_on("py-numpy@1.13.0:", type=("build", "run"), when="@2:") + depends_on("py-numpy@1", type=("build", "run"), when="@:2.6.0") conflicts("^py-numpy@1.16:1.17", when="@2:") depends_on("py-scipy@0.12:1.10", type=("build", "run"), when="@:2.0") depends_on("py-scipy@0.19:1.10", type=("build", "run"), when="@2.1:2.2") diff --git a/var/spack/repos/builtin/packages/py-pyscipopt/package.py b/var/spack/repos/builtin/packages/py-pyscipopt/package.py index a7a23dd147757a..ac333be5ad3d85 100644 --- a/var/spack/repos/builtin/packages/py-pyscipopt/package.py +++ b/var/spack/repos/builtin/packages/py-pyscipopt/package.py @@ -16,6 +16,8 @@ class PyPyscipopt(PythonPackage): version("3.4.0", sha256="8da4db57b21010e0d5a863292dd455c88dd71ecec12a8439171c213a8092f88a") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-cython", type="build") depends_on("py-wheel", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyseer/package.py b/var/spack/repos/builtin/packages/py-pyseer/package.py new file mode 100644 index 00000000000000..53c7c7fc0c76da --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pyseer/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 PyPyseer(PythonPackage): + """Sequence Elements Enrichment Analysis (SEER), python implementation""" + + homepage = "https://pyseer.readthedocs.io/en/master/" + + # Not availible on PyPI + url = "https://github.com/mgalardini/pyseer/releases/download/1.3.11/pyseer-1.3.11.tar.gz" + + version("1.3.11", sha256="384313a3a14b92f873eaad53f77a319d90b584b9253785a7ca1dfc7d9220c91e") + + depends_on("py-setuptools", type="build") + depends_on("py-numpy", type=("build", "run")) + depends_on("py-scipy", type=("build", "run")) + depends_on("py-pandas", type=("build", "run")) + depends_on("py-statsmodels@0.10.0:", type=("build", "run")) + depends_on("py-scikit-learn", type=("build", "run")) + depends_on("py-pysam", type=("build", "run")) + depends_on("py-dendropy", type=("build", "run")) + depends_on("py-matplotlib", type=("build", "run")) + depends_on("py-pybedtools", type=("build", "run")) + depends_on("py-tqdm", type=("build", "run")) + depends_on("py-glmnet-python@1.0.2", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pyside/package.py b/var/spack/repos/builtin/packages/py-pyside/package.py index 16e95b4f7197b6..bb33a8d495b5b5 100644 --- a/var/spack/repos/builtin/packages/py-pyside/package.py +++ b/var/spack/repos/builtin/packages/py-pyside/package.py @@ -28,6 +28,8 @@ class PyPyside(PythonPackage): version("1.2.2", sha256="53129fd85e133ef630144c0598d25c451eab72019cdcb1012f2aec773a3f25be") + depends_on("cxx", type="build") # generated + # to prevent error: 'PyTypeObject' {aka 'struct _typeobject'} has no member # named 'tp_print' depends_on("python@:3.8", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pyside2/package.py b/var/spack/repos/builtin/packages/py-pyside2/package.py index a1bbd619aef878..062da2bcea2556 100644 --- a/var/spack/repos/builtin/packages/py-pyside2/package.py +++ b/var/spack/repos/builtin/packages/py-pyside2/package.py @@ -44,6 +44,8 @@ class PyPyside2(PythonPackage): "5.12.5", tag="v5.12.5", commit="af0953e0d261ab9b1fc498d63e8d790a329dd285", submodules=True ) + depends_on("cxx", type="build") # generated + variant( "doc", default=False, diff --git a/var/spack/repos/builtin/packages/py-pysimdjson/package.py b/var/spack/repos/builtin/packages/py-pysimdjson/package.py index 48685e6dc9fcd1..d046150ddb52bf 100644 --- a/var/spack/repos/builtin/packages/py-pysimdjson/package.py +++ b/var/spack/repos/builtin/packages/py-pysimdjson/package.py @@ -21,6 +21,8 @@ class PyPysimdjson(PythonPackage): version("4.0.3", sha256="61900992d7f992b073a8c5f93cafa4af9bfd3209624baa775699b0fdd6f67517") version("3.2.0", sha256="643baa0941752367761dbc091bf552bf4ca196cf67bf41ef89c90c2db2ec1477") + depends_on("cxx", type="build") # generated + depends_on("python@3.6:", type=("build", "run"), when="@4.0.3:") depends_on("python@3.5:", type=("build", "run"), when="@:4.0.2") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyspoa/package.py b/var/spack/repos/builtin/packages/py-pyspoa/package.py index 8a8d218743c094..dc309fd3b920f8 100644 --- a/var/spack/repos/builtin/packages/py-pyspoa/package.py +++ b/var/spack/repos/builtin/packages/py-pyspoa/package.py @@ -17,6 +17,9 @@ class PyPyspoa(PythonPackage): version("0.0.8", sha256="8299d18066b498a6ef294c5a33a99266ded06eeb022f67488d2caecba974b0a4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") - depends_on("cmake@3.18.4", type="build") + depends_on("cmake@3:", type="build") depends_on("py-pybind11@2.4:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pysqlite3/package.py b/var/spack/repos/builtin/packages/py-pysqlite3/package.py index c7d57dd2e35d41..efab982077db6e 100644 --- a/var/spack/repos/builtin/packages/py-pysqlite3/package.py +++ b/var/spack/repos/builtin/packages/py-pysqlite3/package.py @@ -17,6 +17,8 @@ class PyPysqlite3(PythonPackage): version("0.4.7", sha256="0352864898aa406beb762f4a620594c950a9a4430caab679bce574065698c8ac") version("0.4.6", sha256="7ec4d4c477fa96609c1517afbc33bf02747588e528e79c695de95907cea7bf30") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("sqlite", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/py-pytest-cpp/package.py b/var/spack/repos/builtin/packages/py-pytest-cpp/package.py index a277ffc310caed..5503cfbbd530c5 100644 --- a/var/spack/repos/builtin/packages/py-pytest-cpp/package.py +++ b/var/spack/repos/builtin/packages/py-pytest-cpp/package.py @@ -18,6 +18,8 @@ class PyPytestCpp(PythonPackage): version("1.5.0", sha256="efb7eaac30f9f61515be181d04b70d80d60ce8871426f726ef1844e2db4f3353") version("1.4.0", sha256="aa3a04fe7906e50094d1a9b8d38bc10eb59d0a8330a11a0f7a660405228b48ca") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-setuptools-scm", type="build") depends_on("py-pytest@:5.3,5.4.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-python-crfsuite/package.py b/var/spack/repos/builtin/packages/py-python-crfsuite/package.py index 6c8fd4fd69ac18..f61a582959321c 100644 --- a/var/spack/repos/builtin/packages/py-python-crfsuite/package.py +++ b/var/spack/repos/builtin/packages/py-python-crfsuite/package.py @@ -16,5 +16,8 @@ class PyPythonCrfsuite(PythonPackage): version("0.9.7", sha256="3b4538d2ce5007e4e42005818247bf43ade89ef08a66d158462e2f7c5d63cee7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-python-fmask/package.py b/var/spack/repos/builtin/packages/py-python-fmask/package.py index 2184768325b2ca..d475e3641468fd 100644 --- a/var/spack/repos/builtin/packages/py-python-fmask/package.py +++ b/var/spack/repos/builtin/packages/py-python-fmask/package.py @@ -24,6 +24,8 @@ class PyPythonFmask(PythonPackage): version("0.5.5", sha256="8257227d2527ea5fbd229f726d06d05986914beafd090acef05772a27dbbf062") version("0.5.4", sha256="ed20776f6b63615f664da89a9e3951c79437b66c2bf88fe19a93c2cc7dc40c82") + depends_on("c", type="build") # generated + # Note: Dependencies are listed here: https://github.com/ubarsc/python-fmask/blob/master/doc/source/index.rst#introduction # pip silently replaces distutils with setuptools diff --git a/var/spack/repos/builtin/packages/py-python-javabridge/package.py b/var/spack/repos/builtin/packages/py-python-javabridge/package.py index 172ceb9eb5ef55..debdad7c59a180 100644 --- a/var/spack/repos/builtin/packages/py-python-javabridge/package.py +++ b/var/spack/repos/builtin/packages/py-python-javabridge/package.py @@ -15,6 +15,8 @@ class PyPythonJavabridge(PythonPackage): version("4.0.3", sha256="3fee0c235efcfe866f95695fdc0b6289eab2371043b32ff4ca6feff098de59c5") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-cython@0.29.16:", type="build") depends_on("py-numpy@1.20.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-python-json-logger/package.py b/var/spack/repos/builtin/packages/py-python-json-logger/package.py index e5ce437c83c225..424c9c6c637200 100644 --- a/var/spack/repos/builtin/packages/py-python-json-logger/package.py +++ b/var/spack/repos/builtin/packages/py-python-json-logger/package.py @@ -15,6 +15,7 @@ class PyPythonJsonLogger(PythonPackage): license("BSD-2-Clause") version("2.0.7", sha256="23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c") + version("2.0.2", sha256="202a4f29901a4b8002a6d1b958407eeb2dd1d83c18b18b816f5b64476dde9096") version("0.1.11", sha256="b7a31162f2a01965a5efb94453ce69230ed208468b0bbc7fdfc56e6d8df2e281") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-python-ldap/package.py b/var/spack/repos/builtin/packages/py-python-ldap/package.py index a5e675e069f396..3d1126d469697b 100644 --- a/var/spack/repos/builtin/packages/py-python-ldap/package.py +++ b/var/spack/repos/builtin/packages/py-python-ldap/package.py @@ -22,6 +22,8 @@ class PyPythonLdap(PythonPackage): version("3.2.0", sha256="7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e") version("3.0.0", sha256="86746b912a2cd37a54b06c694f021b0c8556d4caeab75ef50435ada152e2fbe1") + depends_on("c", type="build") # generated + # See https://github.com/python-ldap/python-ldap/issues/432 depends_on("openldap+client_only @:2.4", type=("build", "link", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-python-levenshtein/package.py b/var/spack/repos/builtin/packages/py-python-levenshtein/package.py index db5641154d863c..d834a0ec44a10f 100644 --- a/var/spack/repos/builtin/packages/py-python-levenshtein/package.py +++ b/var/spack/repos/builtin/packages/py-python-levenshtein/package.py @@ -17,4 +17,6 @@ class PyPythonLevenshtein(PythonPackage): version("0.12.0", sha256="033a11de5e3d19ea25c9302d11224e1a1898fe5abd23c61c7c360c25195e3eb1") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-python-libsbml/package.py b/var/spack/repos/builtin/packages/py-python-libsbml/package.py index 44ccf7db162904..4678079a97a46d 100644 --- a/var/spack/repos/builtin/packages/py-python-libsbml/package.py +++ b/var/spack/repos/builtin/packages/py-python-libsbml/package.py @@ -19,6 +19,9 @@ class PyPythonLibsbml(PythonPackage): "5.19.5", tag="v5.19.5", commit="6081d9e1b0aa2b3ff4198b39680b726094c47e85", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("swig", type="build") diff --git a/var/spack/repos/builtin/packages/py-python-lzo/package.py b/var/spack/repos/builtin/packages/py-python-lzo/package.py index 4b0c83fa670e34..482c74ad12e6c6 100644 --- a/var/spack/repos/builtin/packages/py-python-lzo/package.py +++ b/var/spack/repos/builtin/packages/py-python-lzo/package.py @@ -18,6 +18,8 @@ class PyPythonLzo(PythonPackage): version("1.15", sha256="a57aaa00c5c3a0515dd9f7426ba2cf601767dc19dc023d8b99d4a13b0a327b49") version("1.12", sha256="97a8e46825e8f1abd84c2a3372bc09adae9745a5be5d3af2692cd850dac35345") + depends_on("c", type="build") # generated + depends_on("py-setuptools@42:", when="@1.13:", type="build") depends_on("py-setuptools", type="build") depends_on("lzo") diff --git a/var/spack/repos/builtin/packages/py-python-mapnik/package.py b/var/spack/repos/builtin/packages/py-python-mapnik/package.py index 199f20295bae34..fb042f45f95377 100644 --- a/var/spack/repos/builtin/packages/py-python-mapnik/package.py +++ b/var/spack/repos/builtin/packages/py-python-mapnik/package.py @@ -20,6 +20,8 @@ class PyPythonMapnik(PythonPackage): version("3.0.16", sha256="643117752fa09668a1e26a360d13cd137329ae2013eb14ad92ab72fbc479fc70") version("3.0.13", sha256="ced684745e778c0cac0edba89c09c6f9b9f1db18fc12744ed4710a88b78a3389") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("mapnik", type=("build", "link", "run")) depends_on("boost +python+thread") diff --git a/var/spack/repos/builtin/packages/py-python-ptrace/package.py b/var/spack/repos/builtin/packages/py-python-ptrace/package.py index 5f9260bb27fcb3..94273241f6570d 100644 --- a/var/spack/repos/builtin/packages/py-python-ptrace/package.py +++ b/var/spack/repos/builtin/packages/py-python-ptrace/package.py @@ -16,4 +16,6 @@ class PyPythonPtrace(PythonPackage): version("0.9.8", sha256="1e3bc6223f626aaacde8a7979732691c11b13012e702fee9ae16c87f71633eaa") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-python-rapidjson/package.py b/var/spack/repos/builtin/packages/py-python-rapidjson/package.py index 0925652e6032e3..ed6c3f3de16224 100644 --- a/var/spack/repos/builtin/packages/py-python-rapidjson/package.py +++ b/var/spack/repos/builtin/packages/py-python-rapidjson/package.py @@ -20,6 +20,8 @@ class PyPythonRapidjson(PythonPackage): version("1.5", sha256="04323e63cf57f7ed927fd9bcb1861ef5ecb0d4d7213f2755969d4a1ac3c2de6f") version("0.9.1", sha256="ad80bd7e4bb15d9705227630037a433e2e2a7982b54b51de2ebabdd1611394a1") + depends_on("cxx", type="build") # generated + depends_on("python@3.4:", type=("build", "run")) depends_on("python@3.6:", type=("build", "run"), when="@1.5:") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pythran/package.py b/var/spack/repos/builtin/packages/py-pythran/package.py index 608d076600085d..11828a77c3eef4 100644 --- a/var/spack/repos/builtin/packages/py-pythran/package.py +++ b/var/spack/repos/builtin/packages/py-pythran/package.py @@ -38,9 +38,11 @@ class PyPythran(PythonPackage): version("0.9.4", sha256="ec9c91f5331454263b064027292556a184a9f55a50f8615e09b08f57a4909855") version("0.9.3", sha256="217427a8225a331fdc8f3efe57871aed775cdf2c6e847a0a83df0aaae4b02493") + depends_on("cxx", type="build") # generated + # https://github.com/serge-sans-paille/pythran/pull/2196 - depends_on("py-setuptools@62:", when="@0.15:", type="build") - depends_on("py-setuptools", type="build") + depends_on("py-setuptools@62:", when="@0.15:", type=("build", "run")) + depends_on("py-setuptools", type=("build", "run")) depends_on("py-ply@3.4:", type=("build", "run")) depends_on("py-gast@0.5", when="@0.15:", type=("build", "run")) # upper bound due to https://github.com/scipy/scipy/issues/18390 @@ -50,6 +52,8 @@ class PyPythran(PythonPackage): depends_on("py-gast@0.3:", when="@0.9.4:0.9.5", type=("build", "run")) depends_on("py-gast", when="@:0.9.3", type=("build", "run")) depends_on("py-numpy", type=("build", "run")) + # https://github.com/serge-sans-paille/pythran/issues/2189 + depends_on("py-numpy@:1", when="@:0.15", type=("build", "run")) depends_on("py-beniget@0.4", when="@0.9.12:", type=("build", "run")) depends_on("py-beniget@0.3", when="@0.9.7:0.9.11", type=("build", "run")) depends_on("py-beniget@0.2.1:0.2", when="@0.9.6", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pytng/package.py b/var/spack/repos/builtin/packages/py-pytng/package.py index d499861c064691..6a1f605db674ad 100644 --- a/var/spack/repos/builtin/packages/py-pytng/package.py +++ b/var/spack/repos/builtin/packages/py-pytng/package.py @@ -20,6 +20,9 @@ class PyPytng(PythonPackage): version("0.3.0", sha256="f563f9ea260ca8c8e17b3bcf9458bae35aedd5c58e1c5ac4dfff77a1e036506e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@3.8:", type=("build", "run")) depends_on("py-cython@0.28:2", type="build") diff --git a/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py b/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py index de9c0bcb190748..133f882e378592 100644 --- a/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py +++ b/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py @@ -16,6 +16,7 @@ class PyPytorchLightning(PythonPackage): license("Apache-2.0") + version("2.0.7", sha256="4e6bc1e1f7b0c69016ea2fe0616b18fa62bd3d8661c7ff02c11d317746cfc5f5") version("2.0.0", sha256="632dec9af8036f726904e691c505d7650658ef0f4054a062c9e6a940ca09dfd8") version("1.9.4", sha256="188a7f4468acf23512e7f4903253d86fc7929a49f0c09d699872e364162001e8") version("1.9.3", sha256="479164caea190d49ee2a218eef7e001888be56db912b417639b047e8f9ca8a07") @@ -51,7 +52,8 @@ class PyPytorchLightning(PythonPackage): # src/pytorch_lightning/__setup__.py depends_on("python@3.8:", when="@2:", type=("build", "run")) - depends_on("py-setuptools", type="build") + # https://github.com/Lightning-AI/pytorch-lightning/pull/20081 + depends_on("py-setuptools", type=("build", "run")) # requirements/pytorch/base.txt depends_on("py-numpy@1.17.2:", when="@1.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pyuwsgi/package.py b/var/spack/repos/builtin/packages/py-pyuwsgi/package.py index 17ddbb007534bf..d5f059604bf705 100644 --- a/var/spack/repos/builtin/packages/py-pyuwsgi/package.py +++ b/var/spack/repos/builtin/packages/py-pyuwsgi/package.py @@ -17,4 +17,7 @@ class PyPyuwsgi(PythonPackage): version("2.0.21", sha256="211e8877f5191e347ba905232d04ab30e05ce31ba7a6dac4bfcb48de9845bb52") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyvista/package.py b/var/spack/repos/builtin/packages/py-pyvista/package.py index a8bd256f0db3ab..6ff66b6f69ea05 100644 --- a/var/spack/repos/builtin/packages/py-pyvista/package.py +++ b/var/spack/repos/builtin/packages/py-pyvista/package.py @@ -26,6 +26,8 @@ class PyPyvista(PythonPackage): depends_on("py-setuptools", type="build") depends_on("py-matplotlib@3.0.1:", when="@0.39:", type=("build", "run")) depends_on("py-numpy", type=("build", "run")) + # https://github.com/pyvista/pyvista/releases/tag/v0.44.0 + depends_on("py-numpy@:1", when="@:0.43", type=("build", "run")) depends_on("pil", type=("build", "run")) depends_on("py-pooch", when="@0.37:", type=("build", "run")) depends_on("py-scooby@0.5.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pywavelets/package.py b/var/spack/repos/builtin/packages/py-pywavelets/package.py index 88fb7879391185..bcbd942707435b 100644 --- a/var/spack/repos/builtin/packages/py-pywavelets/package.py +++ b/var/spack/repos/builtin/packages/py-pywavelets/package.py @@ -20,6 +20,8 @@ class PyPywavelets(PythonPackage): version("1.1.1", sha256="1a64b40f6acb4ffbaccce0545d7fc641744f95351f62e4c6aaa40549326008c9") version("0.5.2", sha256="ce36e2f0648ea1781490b09515363f1f64446b0eac524603e5db5e180113bed9") + depends_on("c", type="build") # generated + depends_on("python@3.8:", when="@1.4.1:", type=("build", "run")) depends_on("python@3.5:", when="@1.1.1:", type=("build", "run")) depends_on("py-setuptools@:64", type="build") @@ -29,3 +31,5 @@ class PyPywavelets(PythonPackage): depends_on("py-numpy@1.17.3:", when="@1.2:", type=("build", "run")) depends_on("py-numpy@1.13.3:", when="@1.1.1:", type=("build", "run")) depends_on("py-numpy@1.9.1:", type=("build", "run")) + # https://github.com/PyWavelets/pywt/pull/731 + depends_on("py-numpy@:1", when="@:1.5", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pywcs/package.py b/var/spack/repos/builtin/packages/py-pywcs/package.py index 8b4ca6624aef0a..a6c1c39bce9209 100644 --- a/var/spack/repos/builtin/packages/py-pywcs/package.py +++ b/var/spack/repos/builtin/packages/py-pywcs/package.py @@ -15,6 +15,9 @@ class PyPywcs(PythonPackage): version("1.12.1", sha256="efd4e0ea190e3a2521ebcde583452e126acdeac85cc8a9c78c8a96f10805b5e1") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("python@2.6:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-d2to1@0.2.3:", type="build") diff --git a/var/spack/repos/builtin/packages/py-pywin32/package.py b/var/spack/repos/builtin/packages/py-pywin32/package.py index da6f0d74399c42..c00666169979e2 100644 --- a/var/spack/repos/builtin/packages/py-pywin32/package.py +++ b/var/spack/repos/builtin/packages/py-pywin32/package.py @@ -16,4 +16,6 @@ class PyPywin32(PythonPackage): version("306", sha256="16e5ad3efbbf997080f67c3010bd4eb0067d499bbade9be1b240b7e85325c167") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyworld/package.py b/var/spack/repos/builtin/packages/py-pyworld/package.py index 5f6f6562523bf0..e8b20d7acf9533 100644 --- a/var/spack/repos/builtin/packages/py-pyworld/package.py +++ b/var/spack/repos/builtin/packages/py-pyworld/package.py @@ -19,6 +19,8 @@ class PyPyworld(PythonPackage): version("0.3.0", sha256="e19b5d8445e0c4fc45ded71863aeaaf2680064b4626b0e7c90f72e9ace9f6b5b") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy@:1.19", type=("build", "run")) depends_on("py-cython@0.24.0:", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyyaml/package.py b/var/spack/repos/builtin/packages/py-pyyaml/package.py index 048b3e7d9f6686..1e995439a2dbaf 100644 --- a/var/spack/repos/builtin/packages/py-pyyaml/package.py +++ b/var/spack/repos/builtin/packages/py-pyyaml/package.py @@ -15,6 +15,7 @@ class PyPyyaml(PythonPackage): license("MIT") + version("6.0.1", sha256="bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43") version("6.0", sha256="68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2") version("5.4.1", sha256="607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e") version("5.3.1", sha256="b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d") diff --git a/var/spack/repos/builtin/packages/py-pyzmq/package.py b/var/spack/repos/builtin/packages/py-pyzmq/package.py index 63956fb6e99b1b..660c658e9039d6 100644 --- a/var/spack/repos/builtin/packages/py-pyzmq/package.py +++ b/var/spack/repos/builtin/packages/py-pyzmq/package.py @@ -33,6 +33,9 @@ class PyPyzmq(PythonPackage): version("16.0.2", sha256="0322543fff5ab6f87d11a8a099c4c07dd8a1719040084b6ce9162bcdf5c45c9d") version("14.7.0", sha256="77994f80360488e7153e64e5959dc5471531d1648e3a4bff14a714d074a38cc2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@2.6:2.7,3.2:3.8", type=("build", "run"), when="@:14") # pyproject.toml diff --git a/var/spack/repos/builtin/packages/py-qdldl/package.py b/var/spack/repos/builtin/packages/py-qdldl/package.py index acd5cc9b99816b..3609976d89a8aa 100644 --- a/var/spack/repos/builtin/packages/py-qdldl/package.py +++ b/var/spack/repos/builtin/packages/py-qdldl/package.py @@ -21,6 +21,9 @@ class PyQdldl(PythonPackage): "0.1.5.post3", sha256="69c092f6e1fc23fb779a80a62e6fcdfe2eba05c925860248c4d6754f4736938f" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools@18.0:", type="build") depends_on("py-pybind11", type="build") depends_on("py-numpy@1.7:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-qiskit-aer/package.py b/var/spack/repos/builtin/packages/py-qiskit-aer/package.py index 5bbab816731edb..2c1a2b4011551c 100644 --- a/var/spack/repos/builtin/packages/py-qiskit-aer/package.py +++ b/var/spack/repos/builtin/packages/py-qiskit-aer/package.py @@ -19,6 +19,8 @@ class PyQiskitAer(PythonPackage, CudaPackage): version("0.11.1", sha256="ff136a086d0473346e5f5309ae34cc78b103dcd8a898344c6e5f86de91af41a1") version("0.9.1", sha256="3bf5f615aaae7cc5f816c39a4e9108aabaed0cc894fb6f841e48ffd56574e7eb") + depends_on("cxx", type="build") # generated + depends_on("python@3.6:", type=("build", "run"), when="@0.9.1") depends_on("python@3.7:", type=("build", "run"), when="@0.11.1") depends_on("py-setuptools@40.1.0:", type="build") diff --git a/var/spack/repos/builtin/packages/py-qiskit-nature/package.py b/var/spack/repos/builtin/packages/py-qiskit-nature/package.py index 566edca7d4fae1..be640acc06aced 100644 --- a/var/spack/repos/builtin/packages/py-qiskit-nature/package.py +++ b/var/spack/repos/builtin/packages/py-qiskit-nature/package.py @@ -19,6 +19,8 @@ class PyQiskitNature(PythonPackage): version("0.2.2", sha256="ce3558d4acf2511111cc398361146af36391d67e5a9fe9c4bd0f727cb56022bf") + depends_on("fortran", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools@40.1.0:", type="build") diff --git a/var/spack/repos/builtin/packages/py-qmtest/package.py b/var/spack/repos/builtin/packages/py-qmtest/package.py index 01bad9ce4c5792..d938ef1fc1a784 100644 --- a/var/spack/repos/builtin/packages/py-qmtest/package.py +++ b/var/spack/repos/builtin/packages/py-qmtest/package.py @@ -18,6 +18,9 @@ class PyQmtest(PythonPackage): version("2.4.1", sha256="098f705aea9c8f7f5b6b5fe131974cee33b50cad3e13977e39708f306ce9ac91") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Patch to fix python 3.10 and above compatibility patch("wininst.patch", when="@2.4.1^python@3.10:") diff --git a/var/spack/repos/builtin/packages/py-quantum-blackbird/package.py b/var/spack/repos/builtin/packages/py-quantum-blackbird/package.py index adf5ab6dbdcdf9..d4d1baa6790b36 100644 --- a/var/spack/repos/builtin/packages/py-quantum-blackbird/package.py +++ b/var/spack/repos/builtin/packages/py-quantum-blackbird/package.py @@ -20,6 +20,8 @@ class PyQuantumBlackbird(PythonPackage): version("0.5.0", sha256="065c73bf5263ce8f9b72dcd2b434f3bfbb471f0a6907c97a617ec0c8bde01db3") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy@1.16:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-quast/package.py b/var/spack/repos/builtin/packages/py-quast/package.py index 46032d7dd1fcf9..c6ddc7f9fd1272 100644 --- a/var/spack/repos/builtin/packages/py-quast/package.py +++ b/var/spack/repos/builtin/packages/py-quast/package.py @@ -23,6 +23,9 @@ class PyQuast(PythonPackage): version("4.6.1", sha256="7ace5bebebe9d2a70ad45e5339f998bd651c1c6b9025f7a3b51f44c87ea5bae0") version("4.6.0", sha256="3a7ee7a2abfeb0541b299b67f263ba95f9743f8809ddf5dfaca9c3c8f9b6a215") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost@1.56.0") # TODO: replace this with an explicit list of components of Boost, diff --git a/var/spack/repos/builtin/packages/py-qutip/package.py b/var/spack/repos/builtin/packages/py-qutip/package.py index 2b3237341d3d85..fce20b2198612e 100644 --- a/var/spack/repos/builtin/packages/py-qutip/package.py +++ b/var/spack/repos/builtin/packages/py-qutip/package.py @@ -18,9 +18,13 @@ class PyQutip(PythonPackage): version("4.7.1", sha256="9a87178e68b145c2145b526caa943ccc8400a111325ced45bd17f9b893663af2") version("4.7.0", sha256="a9dde64457991ef1c5a7d4186b5348a16a71480a610f1c0902e4d656ddc12e31") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-packaging", type=("build", "run")) depends_on("py-cython@0.29.20:", type="build") depends_on("py-numpy@1.16.6:", type=("build", "run")) + # https://github.com/qutip/qutip/pull/2421 + depends_on("py-numpy@:1", type=("build", "run")) depends_on("py-scipy@1.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-radical-gtod/package.py b/var/spack/repos/builtin/packages/py-radical-gtod/package.py index 5c6679f63be8d9..1b5ec630078482 100644 --- a/var/spack/repos/builtin/packages/py-radical-gtod/package.py +++ b/var/spack/repos/builtin/packages/py-radical-gtod/package.py @@ -45,6 +45,8 @@ class PyRadicalGtod(PythonPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("py-radical-utils", type=("build", "run"), when="@1.13:") depends_on("python@3.6:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-rapidfuzz/package.py b/var/spack/repos/builtin/packages/py-rapidfuzz/package.py index 37c7925f8d8871..189c3e448476f6 100644 --- a/var/spack/repos/builtin/packages/py-rapidfuzz/package.py +++ b/var/spack/repos/builtin/packages/py-rapidfuzz/package.py @@ -18,6 +18,8 @@ class PyRapidfuzz(PythonPackage): version("2.2.0", sha256="acb8839aac452ec61a419fdc8799e8a6e6cd21bed53d04678cdda6fba1247e2f") version("1.8.2", sha256="d6efbb2b6b18b3a67d7bdfbcd9bb72732f55736852bbef823bdf210f9e0c6c90") + depends_on("cxx", type="build") # generated + depends_on("python", type=("build", "link", "run")) depends_on("py-setuptools@42:", when="@2:", type="build") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-rasterio/package.py b/var/spack/repos/builtin/packages/py-rasterio/package.py index cf4ed73c450e34..b5beaae8f2f9d2 100644 --- a/var/spack/repos/builtin/packages/py-rasterio/package.py +++ b/var/spack/repos/builtin/packages/py-rasterio/package.py @@ -55,10 +55,11 @@ class PyRasterio(PythonPackage): depends_on("py-click@4:7", when="@:1.2.3", type=("build", "run")) depends_on("py-cligj@0.5:", type=("build", "run")) depends_on("py-importlib-metadata", when="@1.3.10: ^python@:3.9", type=("build", "run")) - depends_on("py-numpy@1.18:", when="@1.3.10:", type=("build", "link", "run")) - depends_on("py-numpy@1.18:1", when="@1.3.0:1.3.9", type=("build", "link", "run")) - depends_on("py-numpy@1.15:1", when="@1.2:", type=("build", "link", "run")) + depends_on("py-numpy@1.18:", when="@1.3:", type=("build", "link", "run")) + depends_on("py-numpy@1.15:", when="@1.2:", type=("build", "link", "run")) depends_on("py-numpy", type=("build", "link", "run")) + # https://github.com/rasterio/rasterio/issues/3024 + depends_on("py-numpy@:1", when="@:1.3.9", type=("build", "link", "run")) depends_on("py-snuggs@1.4.1:", type=("build", "run")) depends_on("py-click-plugins", type=("build", "run")) depends_on("py-setuptools", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-ray/package.py b/var/spack/repos/builtin/packages/py-ray/package.py index b434096c4388d6..c79a391c4946e4 100644 --- a/var/spack/repos/builtin/packages/py-ray/package.py +++ b/var/spack/repos/builtin/packages/py-ray/package.py @@ -18,6 +18,9 @@ class PyRay(PythonPackage): version("2.0.1", sha256="b8b2f0a99d2ac4c001ff11c78b4521b217e2a02df95fb6270fd621412143f28b") version("0.8.7", sha256="2df328f1bcd3eeb4fa33119142ea0d669396f4ab2a3e78db90178757aa61534b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("default", default=False, description="Install default extras", when="@2.0.1") depends_on("python@3.6:3.10", when="@2.0.1", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-regex/package.py b/var/spack/repos/builtin/packages/py-regex/package.py index 57d7619b240f44..7f5d2c99e37677 100644 --- a/var/spack/repos/builtin/packages/py-regex/package.py +++ b/var/spack/repos/builtin/packages/py-regex/package.py @@ -29,5 +29,7 @@ class PyRegex(PythonPackage): "2017.07.11", sha256="dbda8bdc31a1c85445f1a1b29d04abda46e5c690f8f933a9cc3a85a358969616" ) + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("python@3.6:", when="@2022.8.17:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-reproject/package.py b/var/spack/repos/builtin/packages/py-reproject/package.py index b4595518ce7b8d..30b2e6aeb87d6e 100644 --- a/var/spack/repos/builtin/packages/py-reproject/package.py +++ b/var/spack/repos/builtin/packages/py-reproject/package.py @@ -26,6 +26,8 @@ class PyReproject(PythonPackage): version("0.7.1", sha256="95c0fa49e6b4e36455b91fa09ad1b71b230c990ad91d948af67ea3509a1a4ccb") + depends_on("c", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-setuptools-scm", type="build") diff --git a/var/spack/repos/builtin/packages/py-requests/package.py b/var/spack/repos/builtin/packages/py-requests/package.py index 4b88746a5358c8..6cad175f44b384 100644 --- a/var/spack/repos/builtin/packages/py-requests/package.py +++ b/var/spack/repos/builtin/packages/py-requests/package.py @@ -15,6 +15,7 @@ class PyRequests(PythonPackage): license("Apache-2.0") + version("2.32.2", sha256="dd951ff5ecf3e3b3aa26b40703ba77495dab41da839ae72ef3c8e5d8e2433289") version("2.31.0", sha256="942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1") version("2.28.2", sha256="98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf") version("2.28.1", sha256="7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983") diff --git a/var/spack/repos/builtin/packages/py-rich/package.py b/var/spack/repos/builtin/packages/py-rich/package.py index 51ef332d7f19bb..fe40bdf31e3977 100644 --- a/var/spack/repos/builtin/packages/py-rich/package.py +++ b/var/spack/repos/builtin/packages/py-rich/package.py @@ -16,7 +16,9 @@ class PyRich(PythonPackage): license("MIT") + version("13.7.1", sha256="9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432") version("13.4.2", sha256="d653d6bccede5844304c605d5aac802c7cf9621efd700b46c7ec2b51ea914898") + version("12.6.0", sha256="ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0") version("12.5.1", sha256="63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca") version("10.14.0", sha256="8bfe4546d56b4131298d3a9e571a0742de342f1593770bd0d4707299f772a0af") version("10.9.0", sha256="ba285f1c519519490034284e6a9d2e6e3f16dc7690f2de3d9140737d81304d22") diff --git a/var/spack/repos/builtin/packages/py-rios/package.py b/var/spack/repos/builtin/packages/py-rios/package.py index a91712e25e586a..7b2830201e92c7 100644 --- a/var/spack/repos/builtin/packages/py-rios/package.py +++ b/var/spack/repos/builtin/packages/py-rios/package.py @@ -17,8 +17,13 @@ class PyRios(PythonPackage): homepage = "https://www.rioshome.org/en/latest/" url = "https://github.com/ubarsc/rios/releases/download/rios-1.4.16/rios-1.4.16.tar.gz" + maintainers("neilflood", "gillins") + license("GPL-3.0-only") + version("2.0.2", sha256="c5949f581fd6657e3257c69b382971ce5831a403a2edc8971b61197bdc78e5a4") + version("2.0.1", sha256="8b8bcbf11a45af46d25b95d9d4a402ec0466ed117b3464f4226a6a466d9687b5") + version("1.4.17", sha256="81007af2d0bcf2a3bf064dc2445087f8b2264c941fa66441b2b1b503168e677d") version("1.4.16", sha256="2f553d85ff4ff26bfda2a8c6bd3d9dcce5ace847f7d9bd2f072c8943f3758ded") version("1.4.15", sha256="71670508dbffcd8f5d24fbb25e6a2b7e1d23b5e899ddc78c90d403bd65981cf4") version("1.4.14", sha256="ea22fde3fe70004aa1ad46bd36fad58f3346e9c161ca44ac913518a6e4fcad82") @@ -27,10 +32,28 @@ class PyRios(PythonPackage): version("1.4.11", sha256="b7ae5311f987b32f1afe1fabc16f25586de8d15c17a69405d1950aeada7b748e") version("1.4.10", sha256="6324acccc6018f9e06c40370bc366dc459890e8c09d26e0ebd245f6fd46dad71") - variant("parallel", default=True, description="Enables the parallel processing module") + # https://github.com/ubarsc/rios/pull/90 + conflicts("^py-numpy@2:", when="@:2.0.1") + + # In 1.4.x, parallel processing was an extra add-on + variant( + "parallel", + default=True, + when="@1.4.16:1.4", + description="Enables the 1.4.x parallel processing module (deprecated)", + ) + # In 2.x, there is substantial concurrency always built-in, but using it + # across multiple machines requires an extra dependency. + variant( + "multimachine", + default=False, + when="@2:", + description="Enable compute worker kinds that run across multiple machines", + ) # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) depends_on("gdal+python", type=("build", "run")) - depends_on("py-cloudpickle", type=("build", "run"), when="@1.4.16:+parallel") + depends_on("py-cloudpickle", type="run", when="@1.4.16:1.4+parallel") + depends_on("py-cloudpickle", type="run", when="@2:+multimachine") diff --git a/var/spack/repos/builtin/packages/py-river/package.py b/var/spack/repos/builtin/packages/py-river/package.py index 02550c3dd32a37..26eac0748ed8a0 100644 --- a/var/spack/repos/builtin/packages/py-river/package.py +++ b/var/spack/repos/builtin/packages/py-river/package.py @@ -18,6 +18,8 @@ class PyRiver(PythonPackage): version("0.13.0", sha256="9d068b7a9db32302fbd581af81315681dfe61774a5d777fb3d5982d3c3061340") + depends_on("c", type="build") # generated + # pyproject.toml depends_on("py-cython", type="build") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-rmm/package.py b/var/spack/repos/builtin/packages/py-rmm/package.py index f5f7df552d9070..f5ed07409f2418 100644 --- a/var/spack/repos/builtin/packages/py-rmm/package.py +++ b/var/spack/repos/builtin/packages/py-rmm/package.py @@ -18,6 +18,8 @@ class PyRmm(PythonPackage): version("0.15.0", sha256="599f97b95d169a90d11296814763f7e151a8a1e060ba10bc6c8f4684a5cd7972") + depends_on("cxx", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-rtree/package.py b/var/spack/repos/builtin/packages/py-rtree/package.py index 51f0a1420a40cf..cff9e27399817e 100644 --- a/var/spack/repos/builtin/packages/py-rtree/package.py +++ b/var/spack/repos/builtin/packages/py-rtree/package.py @@ -10,12 +10,13 @@ class PyRtree(PythonPackage): """R-Tree spatial index for Python GIS.""" homepage = "https://github.com/Toblerity/rtree" - pypi = "Rtree/Rtree-0.8.3.tar.gz" + pypi = "Rtree/rtree-1.3.0.tar.gz" maintainers("adamjstewart", "hobu") license("MIT") + version("1.3.0", sha256="b36e9dd2dc60ffe3d02e367242d2c26f7281b00e1aaf0c39590442edaaadd916") version("1.2.0", sha256="f5145f7852bf7f95c126fb16bf1a4c2ca9300ae151b07f8a0f7083ea47912675") version("1.1.0", sha256="6f8ee504dde5d005b25b08aaf5be0b3404af3ad5fece6e1ddcde35908a798a95") version("1.0.1", sha256="222121699c303a64065d849bf7038b1ecabc37b65c7fa340bedb38ef0e805429") @@ -30,6 +31,13 @@ class PyRtree(PythonPackage): depends_on("py-typing-extensions@3.7:", when="@1: ^python@:3.7", type=("build", "run")) depends_on("libspatialindex@1.8.5:") + def url_for_version(self, version): + url = "https://files.pythonhosted.org/packages/source/R/Rtree/{}-{}.tar.gz" + name = "Rtree" + if version >= Version("1.3.0"): + name = name.lower() + return url.format(name, version) + def setup_build_environment(self, env): env.set("SPATIALINDEX_C_LIBRARY", self.spec["libspatialindex"].libs[0]) diff --git a/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py b/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py index b29f6a1441a09d..6d1916affa7d94 100644 --- a/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py +++ b/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py @@ -21,4 +21,6 @@ class PyRuamelOrdereddict(PythonPackage): version("0.4.14", sha256="281051d26eb2b18ef3d920e1e260716a52bd058a6b1a2f324102fc6a15cb8d4a") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py b/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py index c9fc6572a0790f..0989481157965c 100644 --- a/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py +++ b/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py @@ -19,6 +19,8 @@ class PyRuamelYamlClib(PythonPackage): version("0.2.7", sha256="1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497") version("0.2.0", sha256="b66832ea8077d9b3f6e311c4a53d06273db5dc2db6e8a908550f3c14d67e718c") + depends_on("c", type="build") # generated + depends_on("python", type=("build", "link", "run")) # to prevent legacy-install-failure depends_on("python@:3.9", when="@0.2.0", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/py-safetensors/package.py b/var/spack/repos/builtin/packages/py-safetensors/package.py index 70df04ceccd773..f0f11247c55c2a 100644 --- a/var/spack/repos/builtin/packages/py-safetensors/package.py +++ b/var/spack/repos/builtin/packages/py-safetensors/package.py @@ -12,7 +12,9 @@ class PySafetensors(PythonPackage): homepage = "https://github.com/huggingface/safetensors" pypi = "safetensors/safetensors-0.3.1.tar.gz" + version("0.4.3", sha256="2f85fc50c4e07a21e95c24e07460fe6f7e2859d0ce88092838352b798ce711c2") version("0.3.1", sha256="571da56ff8d0bec8ae54923b621cda98d36dcef10feb36fd492c4d0c2cd0e869") depends_on("py-setuptools", type="build") depends_on("py-setuptools-rust", type="build") + depends_on("py-maturin", type="build", when="@0.4.3") diff --git a/var/spack/repos/builtin/packages/py-scandir/package.py b/var/spack/repos/builtin/packages/py-scandir/package.py index fe1b75317bb043..df09535c75f94b 100644 --- a/var/spack/repos/builtin/packages/py-scandir/package.py +++ b/var/spack/repos/builtin/packages/py-scandir/package.py @@ -18,4 +18,6 @@ class PyScandir(PythonPackage): version("1.9.0", sha256="44975e209c4827fc18a3486f257154d34ec6eaec0f90fef0cca1caa482db7064") version("1.6", sha256="e0278a2d4bc6c0569aedbe66bf26c8ab5b2b08378b3289de49257f23ac624338") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type=("build")) diff --git a/var/spack/repos/builtin/packages/py-scientificpython/package.py b/var/spack/repos/builtin/packages/py-scientificpython/package.py index 14e3de34e34bbe..c5bbdea26e617f 100644 --- a/var/spack/repos/builtin/packages/py-scientificpython/package.py +++ b/var/spack/repos/builtin/packages/py-scientificpython/package.py @@ -19,6 +19,8 @@ class PyScientificpython(PythonPackage): version("2.8.1", sha256="d9ef354736410bbb2e8be33cb7433cf62114307a44e3a96baaa793b58b4b518b") + depends_on("c", type="build") # generated + # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-scikit-build-core/package.py b/var/spack/repos/builtin/packages/py-scikit-build-core/package.py index fbe3ed171299e4..d80b5a92d67c81 100644 --- a/var/spack/repos/builtin/packages/py-scikit-build-core/package.py +++ b/var/spack/repos/builtin/packages/py-scikit-build-core/package.py @@ -19,10 +19,17 @@ class PyScikitBuildCore(PythonPackage): license("Apache-2.0") + version("0.9.5", sha256="2a4cb119cc968fe87ae05582979657cc0e7be45655798446eabbe490e61ce072") + version("0.8.2", sha256="50ec24b9568c9aa6e27233deeb2978932bc79856212b30575cbfa4049655c436") + version("0.7.1", sha256="565f33e15f5aa4514248c508ce3ce40fb6f406f8c3983e891561757b1c9f78ab") version("0.6.1", sha256="392254a4ca7235c27a4be98cc24cd708f563171961ce37cff66120ebfda20b7a") version("0.6.0", sha256="1bea5ed83610b367f3446badd996f2356690548188d6d38e5b93152df311a7ae") version("0.2.0", sha256="d2a76d9447a412038dc5e25dd259b03c25278661a0c7c3da766bb971c1a9acd2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("pyproject", default=False, description="Enable pyproject.toml support") depends_on("python@3.7:", type=("build", "run")) @@ -32,29 +39,44 @@ class PyScikitBuildCore(PythonPackage): depends_on("py-hatch-vcs", type="build") # Dependencies + depends_on("py-exceptiongroup@1:", when="@0.9: ^python@:3.10", type=("build", "run")) depends_on("py-exceptiongroup", when="^python@:3.10", type=("build", "run")) + depends_on("py-importlib-metadata@1:", when="@0.9: ^python@:3.7") depends_on("py-importlib-metadata", when="@0.3.0: ^python@:3.7") depends_on("py-importlib-resources@1.3:", when="^python@:3.8", type=("build", "run")) + depends_on("py-packaging@21.3:", type=("build", "run"), when="@0.9:") depends_on("py-packaging@20.9:", type=("build", "run")) + depends_on("py-pathspec@0.10.1:", type=("build", "run"), when="@0.9:") + depends_on("py-tomli@1.2.2:", when="@0.9: ^python@:3.10", type=("build", "run")) depends_on("py-tomli@1.1:", when="^python@:3.10", type=("build", "run")) - depends_on("py-typing-extensions@3.10:", when="^python@:3.7", type=("build", "run")) + depends_on("py-typing-extensions@3.10:", when="@0.8: ^python@:3.8", type=("build", "run")) + depends_on("py-typing-extensions@3.10:", when="@:0.7 ^python@:3.7", type=("build", "run")) depends_on("cmake@3.15:", type=("build", "run")) # Optional dependencies - depends_on("py-pyproject-metadata@0.5:", when="+pyproject", type=("build", "run")) - depends_on("py-pathspec@0.10.1:", when="+pyproject", type=("build", "run")) + depends_on("py-pyproject-metadata@0.5:", when="@:0.8 +pyproject", type=("build", "run")) + depends_on("py-pathspec@0.10.1:", when="@:0.8 +pyproject", type=("build", "run")) # Test dependencies - depends_on("py-build +virtualenv", type="test") + depends_on("py-build@0.8:", when="@0.9:", type="test") + depends_on("py-build +virtualenv", when="@:0.8", type="test") depends_on("py-cattrs@22.2:", type="test") depends_on("py-importlib-metadata", when="^python@:3.7", type="test") - depends_on("py-pathspec@0.10.1:", type="test") + depends_on("py-pybind11@2.12:", when="@0.9:", type="test") + depends_on("py-pathspec@0.10.1:", when="@:0.8", type="test") + depends_on("py-pybind11@2.12:", when="@0.9:", type="test") depends_on("py-pybind11", type="test") - depends_on("py-pyproject-metadata@0.5:", type="test") + depends_on("py-pyproject-metadata@0.5:", when="@:0.8", type="test") depends_on("py-pytest@7:", type="test") depends_on("py-pytest-subprocess@1.5:", type="test") + depends_on("py-setuptools@43:", when="@0.9: ^python@:3.8", type="test") + depends_on("py-setuptools@45:", when="@0.9: ^python@3.9", type="test") + depends_on("py-setuptools@49:", when="@0.9: ^python@3.10:3.11", type="test") + depends_on("py-setuptools@66.1:", when="@0.9: ^python@3.12:", type="test") + depends_on("py-virtualenv@20.0.28:", when="@0.9:", type="test") depends_on("py-setuptools", type="test") depends_on("py-virtualenv", when="@0.6:", type="test") + depends_on("py-wheel@0.40:", when="@0.9:", type="test") depends_on("py-wheel", type="test") @run_after("install") diff --git a/var/spack/repos/builtin/packages/py-scikit-build/package.py b/var/spack/repos/builtin/packages/py-scikit-build/package.py index e1396d17e9f402..1965141616ef9e 100644 --- a/var/spack/repos/builtin/packages/py-scikit-build/package.py +++ b/var/spack/repos/builtin/packages/py-scikit-build/package.py @@ -28,6 +28,9 @@ class PyScikitBuild(PythonPackage): version("0.11.1", sha256="da40dfd69b2456fad1349a894b90180b43712152b8a85d2a00f4ae2ce8ac9a5c") version("0.10.0", sha256="7342017cc82dd6178e3b19377389b8a8d1f8b429d9cdb315cfb1094e34a0f526") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("py-hatchling", when="@0.17:", type="build") depends_on("py-hatch-fancy-pypi-readme", when="@0.17:", type="build") depends_on("py-hatch-vcs", when="@0.17:", type="build") diff --git a/var/spack/repos/builtin/packages/py-scikit-fmm/package.py b/var/spack/repos/builtin/packages/py-scikit-fmm/package.py index e97e8d4489ec11..d412207954d051 100644 --- a/var/spack/repos/builtin/packages/py-scikit-fmm/package.py +++ b/var/spack/repos/builtin/packages/py-scikit-fmm/package.py @@ -20,5 +20,7 @@ class PyScikitFmm(PythonPackage): version("master", branch="master") version("2019.1.30", sha256="eb64b6d8e30b8df8f8636d5fc4fd7ca6a9b05938ccd62518c80c1d9e823069dd") + depends_on("cxx", type="build") # generated + depends_on("py-numpy@1.0.2:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-scikit-image/package.py b/var/spack/repos/builtin/packages/py-scikit-image/package.py index 33645e257547dc..9f78e611bc32a5 100644 --- a/var/spack/repos/builtin/packages/py-scikit-image/package.py +++ b/var/spack/repos/builtin/packages/py-scikit-image/package.py @@ -24,6 +24,7 @@ class PyScikitImage(PythonPackage): "skimage.future.graph", ] + version("0.24.0", sha256="5d16efe95da8edbeb363e0c4157b99becbd650a60b77f6e3af5768b66cf007ab") version("0.23.2", sha256="c9da4b2c3117e3e30364a3d14496ee5c72b09eb1a4ab1292b302416faa360590") version("0.23.1", sha256="4ff756161821568ed56523f1c4ab9094962ba79e817a9a8e818d9f51d223d669") version("0.23.0", sha256="f412b79c6cdf4371a7332cfc769bd62440a7e1375e8e7da171d67965d0156d48") @@ -37,6 +38,9 @@ class PyScikitImage(PythonPackage): version("0.14.2", sha256="1afd0b84eefd77afd1071c5c1c402553d67be2d7db8950b32d6f773f25850c1f") version("0.12.3", sha256="82da192f0e524701e89c5379c79200bc6dc21373f48bf7778a864c583897d7c7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Get dependencies for: # # @0.20: from pyproject.toml @@ -45,7 +49,7 @@ class PyScikitImage(PythonPackage): # @:0.13 from requirements.txt, DEPENDS.txt with default_args(type=("build", "run")): - depends_on("python@3.10:", when="@0.23:") + depends_on("python@3.10:", when="@0.23") depends_on("python@3.9:", when="@0.22:") with default_args(type=("build", "link", "run")): @@ -58,6 +62,8 @@ class PyScikitImage(PythonPackage): depends_on("py-numpy@1.14.1:", when="@0.16") depends_on("py-numpy@1.11:", when="@0.13:0.15") depends_on("py-numpy@1.7.2:", when="@:0.12") + # https://github.com/scikit-image/scikit-image/issues/7282 + depends_on("py-numpy@:1", when="@:0.23.0") with default_args(type=("build", "run")): depends_on("py-scipy@1.9:", when="@0.23:") @@ -99,6 +105,7 @@ class PyScikitImage(PythonPackage): depends_on("py-setuptools@:59.4", when="@0.19.1:0.19") depends_on("py-setuptools@51:", when="@0.18:") depends_on("py-setuptools") + depends_on("ninja", when="@0.20:") depends_on("py-cython@3.0.4:", when="@0.23:") depends_on("py-cython@0.29.32:", when="@0.21:") depends_on("py-cython@0.29.24:", when="@0.20:") diff --git a/var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py b/var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py index 1e445a3b6ee57c..d6935fb7801d08 100644 --- a/var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py +++ b/var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py @@ -21,6 +21,8 @@ class PyScikitLearnExtra(PythonPackage): version("0.2.0", sha256="3b1bb5fedde47920eb4b3fa0a0c18f80cc7359d9d0496720178788c6153b8019") + depends_on("cxx", type="build") # generated + # For upperbound see https://github.com/scikit-learn-contrib/scikit-learn-extra/issues/164 depends_on("python@3.6:3.10", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-scikit-learn/package.py b/var/spack/repos/builtin/packages/py-scikit-learn/package.py index f54513e8d7986c..fcbcee75e02322 100644 --- a/var/spack/repos/builtin/packages/py-scikit-learn/package.py +++ b/var/spack/repos/builtin/packages/py-scikit-learn/package.py @@ -19,6 +19,7 @@ class PyScikitLearn(PythonPackage): version("main", branch="main") version("master", branch="main", deprecated=True) + version("1.5.1", sha256="0ea5d40c0e3951df445721927448755d3fe1d80833b0b7308ebff5d2a45e6414") version("1.5.0", sha256="789e3db01c750ed6d496fa2db7d50637857b451e57bcae863bff707c1247bef7") version("1.4.2", sha256="daa1c471d95bad080c6e44b4946c9390a4842adc3082572c20e4f8884e39e959") version("1.4.0", sha256="d4373c984eba20e393216edd51a3e3eede56cbe93d4247516d205643c3b93121") @@ -47,6 +48,9 @@ class PyScikitLearn(PythonPackage): version("0.22.1", sha256="51ee25330fc244107588545c70e2f3570cfc4017cff09eed69d6e1d82a212b7d") version("0.22", sha256="314abf60c073c48a1e95feaae9f3ca47a2139bd77cebb5b877c23a45c9e03012") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Based on PyPI wheel availability with default_args(type=("build", "link", "run")): depends_on("python@3.9:3.12", when="@1.4:") @@ -58,6 +62,7 @@ class PyScikitLearn(PythonPackage): depends_on("python@:3.8", when="@0.22:0.23") with default_args(type="build"): + depends_on("py-meson-python@0.16:", when="@1.5.1:") depends_on("py-meson-python@0.15:", when="@1.5:") depends_on("py-cython@3.0.10:", when="@1.5:") depends_on("py-cython@3.0.8:", when="@1.4.2:") @@ -67,12 +72,13 @@ class PyScikitLearn(PythonPackage): depends_on("py-cython@0.28.5:2", when="@0.21:1.0.1") with default_args(type=("build", "link", "run")): - depends_on("py-numpy@1.19.5:", when="@1.4.2:") - depends_on("py-numpy@1.19.5:1", when="@1.4.0:1.4.1") - depends_on("py-numpy@1.17.3:1", when="@1.1:1.3") - depends_on("py-numpy@1.14.6:1", when="@1.0") - depends_on("py-numpy@1.13.3:1", when="@0.23:0.24") - depends_on("py-numpy@1.11.0:1", when="@0.21:0.22") + depends_on("py-numpy@1.19.5:", when="@1.4:") + depends_on("py-numpy@1.17.3:", when="@1.1:1.3") + depends_on("py-numpy@1.14.6:", when="@1.0") + depends_on("py-numpy@1.13.3:", when="@0.23:0.24") + depends_on("py-numpy@1.11.0:", when="@0.21:0.22") + # https://github.com/scikit-learn/scikit-learn/issues/27075 + depends_on("py-numpy@:1", when="@:1.4.1") with default_args(type=("build", "run")): depends_on("py-scipy@1.6:", when="@1.4:") diff --git a/var/spack/repos/builtin/packages/py-scikit-sparse/package.py b/var/spack/repos/builtin/packages/py-scikit-sparse/package.py index a348d9407328c1..a96abf60f0f513 100644 --- a/var/spack/repos/builtin/packages/py-scikit-sparse/package.py +++ b/var/spack/repos/builtin/packages/py-scikit-sparse/package.py @@ -28,6 +28,8 @@ class PyScikitSparse(PythonPackage): depends_on("py-cython@0.22:", when="@0.4.12", type="build") depends_on("py-cython@0.22:0.29", when="@:0.4.11", type="build") depends_on("py-numpy@1.13.3:", type=("build", "link", "run")) + # https://github.com/scikit-sparse/scikit-sparse/issues/120 + depends_on("py-numpy@:1", type=("build", "link", "run")) depends_on("py-scipy@0.19:", type="run") depends_on("suite-sparse", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/py-scikits-odes/package.py b/var/spack/repos/builtin/packages/py-scikits-odes/package.py index 73643d80318050..725af79875ab6a 100644 --- a/var/spack/repos/builtin/packages/py-scikits-odes/package.py +++ b/var/spack/repos/builtin/packages/py-scikits-odes/package.py @@ -21,6 +21,9 @@ class PyScikitsOdes(PythonPackage): version("2.7.0", sha256="a71e19e1485893754ae8c050668232fcc694f17b83602e75fbebf7bf9f975e1e") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("py-setuptools@:64.0.0", type="build") # Upstream incorrectly only lists py-numpy only as a build dependency even diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py index e9ad53b84847eb..3eab9ceda47039 100644 --- a/var/spack/repos/builtin/packages/py-scipy/package.py +++ b/var/spack/repos/builtin/packages/py-scipy/package.py @@ -18,6 +18,7 @@ class PyScipy(PythonPackage): license("BSD-3-Clause") version("main", branch="main") + version("1.14.0", sha256="b5923f48cb840380f9854339176ef21763118a7300a88203ccd0bdd26e58527b") version("1.13.1", sha256="095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c") version("1.13.0", sha256="58569af537ea29d3f78e5abd18398459f195546bb3be23d16677fb26616cc11e") version("1.12.0", sha256="4bf5abab8a36d20193c698b0f1fc282c1d083c94723902c447e5d2f1780936a3") @@ -52,9 +53,14 @@ class PyScipy(PythonPackage): version("1.3.3", sha256="64bf4e8ae0db2d42b58477817f648d81e77f0b381d0ea4427385bba3f959380a") version("1.3.2", sha256="a03939b431994289f39373c57bbe452974a7da724ae7f9620a1beee575434da4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Based on wheel availability on PyPI with default_args(type=("build", "link", "run")): - depends_on("python@3.9:3.12", when="@1.11.2:") + depends_on("python@3.10:3.12", when="@1.14:") + depends_on("python@3.9:3.12", when="@1.11.2:1.13") depends_on("python@3.8:3.11", when="@1.9.2:1.11.1") depends_on("python@3.8:3.10", when="@1.8:1.9.1") depends_on("python@:3.10", when="@1.7.2:1.7") @@ -92,7 +98,8 @@ class PyScipy(PythonPackage): # Run dependencies with default_args(type=("build", "link", "run")): - depends_on("py-numpy@1.22.4:2.2", when="@1.13:") + depends_on("py-numpy@1.23.5:2.2", when="@1.14:") + depends_on("py-numpy@1.22.4:2.2", when="@1.13") depends_on("py-numpy@1.22.4:1.28", when="@1.12") depends_on("py-numpy@1.21.6:1.27", when="@1.11") depends_on("py-numpy@1.19.5:1.26", when="@1.10") diff --git a/var/spack/repos/builtin/packages/py-scs/package.py b/var/spack/repos/builtin/packages/py-scs/package.py index e5f2f5e4facda9..4970a55504aa94 100644 --- a/var/spack/repos/builtin/packages/py-scs/package.py +++ b/var/spack/repos/builtin/packages/py-scs/package.py @@ -20,6 +20,8 @@ class PyScs(PythonPackage, CudaPackage): version("3.2.2", sha256="7206a2ad27ca031d693d65cbcbcfc661498f3983838079a66579bcc784b25293") version("2.1.1-2", sha256="f816cfe3d4b4cff3ac2b8b96588c5960ddd2a3dc946bda6b09db04e7bc6577f2") + depends_on("c", type="build") # generated + variant( "float32", default=False, diff --git a/var/spack/repos/builtin/packages/py-seaborn/package.py b/var/spack/repos/builtin/packages/py-seaborn/package.py index 62226eaf7b7e77..49333345d4ed6d 100644 --- a/var/spack/repos/builtin/packages/py-seaborn/package.py +++ b/var/spack/repos/builtin/packages/py-seaborn/package.py @@ -39,6 +39,8 @@ class PySeaborn(PythonPackage): depends_on("py-numpy@1.15:", when="@0.11:", type=("build", "run")) depends_on("py-numpy@1.9.3:", when="@0.9:", type=("build", "run")) depends_on("py-numpy", type=("build", "run")) + # https://github.com/mwaskom/seaborn/pull/3683 + depends_on("py-numpy@:1", when="@:0.13.1", type=("build", "run")) depends_on("py-pandas@0.25:", when="@0.12:", type=("build", "run")) depends_on("py-pandas@0.23:", when="@0.11:", type=("build", "run")) depends_on("py-pandas@0.22:", when="@0.10:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-sentencepiece/package.py b/var/spack/repos/builtin/packages/py-sentencepiece/package.py index f955d19ccd49bc..2a1fdff88f5a27 100644 --- a/var/spack/repos/builtin/packages/py-sentencepiece/package.py +++ b/var/spack/repos/builtin/packages/py-sentencepiece/package.py @@ -22,6 +22,8 @@ class PySentencepiece(PythonPackage): version("0.1.91", sha256="acbc7ea12713cd2a8d64892f8d2033c7fd2bb4faecab39452496120ace9a4b1b") version("0.1.85", sha256="dd4956287a1b6af3cbdbbd499b7227a859a4e3f41c9882de5e6bdd929e219ae6") + depends_on("cxx", type="build") # generated + depends_on("sentencepiece") depends_on("sentencepiece@0.1.85", when="@0.1.85") depends_on("sentencepiece@0.1.91", when="@0.1.91") diff --git a/var/spack/repos/builtin/packages/py-setproctitle/package.py b/var/spack/repos/builtin/packages/py-setproctitle/package.py index 5d5ffa01d14bda..369d0c58d78ecb 100644 --- a/var/spack/repos/builtin/packages/py-setproctitle/package.py +++ b/var/spack/repos/builtin/packages/py-setproctitle/package.py @@ -17,4 +17,6 @@ class PySetproctitle(PythonPackage): version("1.1.10", sha256="6283b7a58477dd8478fbb9e76defb37968ee4ba47b05ec1c053cb39638bd7398") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-setuptools-rust/package.py b/var/spack/repos/builtin/packages/py-setuptools-rust/package.py index 9be074f7141c4c..f058014ddcf1f5 100644 --- a/var/spack/repos/builtin/packages/py-setuptools-rust/package.py +++ b/var/spack/repos/builtin/packages/py-setuptools-rust/package.py @@ -14,6 +14,9 @@ class PySetuptoolsRust(PythonPackage): license("MIT") + version("1.9.0", sha256="704df0948f2e4cc60c2596ad6e840ea679f4f43e58ed4ad0c1857807240eab96") + version("1.8.1", sha256="94b1dd5d5308b3138d5b933c3a2b55e6d6927d1a22632e509fcea9ddd0f7e486") + version("1.7.0", sha256="c7100999948235a38ae7e555fe199aa66c253dc384b125f5d85473bf81eae3a3") version("1.6.0", sha256="c86e734deac330597998bfbc08da45187e6b27837e23bd91eadb320732392262") version("1.5.1", sha256="0e05e456645d59429cb1021370aede73c0760e9360bbfdaaefb5bced530eb9d7") version("1.4.1", sha256="18ff850831f58ee21d5783825c99fad632da21e47645e9427fd7dec048029e76") @@ -23,12 +26,14 @@ class PySetuptoolsRust(PythonPackage): depends_on("py-setuptools@62.4:", when="@1.4.0:", type=("build", "run")) depends_on("py-setuptools@46.1:", type=("build", "run")) depends_on("py-setuptools", type=("build", "run")) + depends_on("py-setuptools-scm", when="@1.7.0:", type=("build", "run")) depends_on("py-semantic-version@2.8.2:2", when="@1.2.0:", type=("build", "run")) depends_on("py-semantic-version@2.6.0:", type=("build", "run")) - depends_on("py-typing-extensions@3.7.4.3:", when="@1.2.0:", type=("build", "run")) + depends_on("py-tomli@1.2.1:", when="^python@:3.10", type=("build", "run")) depends_on("rust", type="run") # Historical dependencies + depends_on("py-typing-extensions@3.7.4.3:", when="@1.2.0:1.7.0", type=("build", "run")) depends_on("py-setuptools-scm+toml@6.3.2:", when="@1.2.0:1.4.1", type="build") depends_on("py-setuptools-scm+toml@3.4.3:", when="@:1.1", type="build") depends_on("py-toml@0.9.0:", type=("build", "run"), when="@0.12.1") diff --git a/var/spack/repos/builtin/packages/py-sfepy/package.py b/var/spack/repos/builtin/packages/py-sfepy/package.py index 93d2812d70ed16..da0ced6e3a9e5d 100644 --- a/var/spack/repos/builtin/packages/py-sfepy/package.py +++ b/var/spack/repos/builtin/packages/py-sfepy/package.py @@ -21,6 +21,8 @@ class PySfepy(PythonPackage): version("2021.3", sha256="b2a760b0f3277ac223ff25821a4156b48d06b3769e6a9a3bd0bffef5a43cbe17") + depends_on("c", type="build") # generated + variant("petsc", default=False, description="Enable PETSc support") variant("slepc", default=False, description="Enable SLEPc support") variant("pyamg", default=False, description="Enable PyAMG support") diff --git a/var/spack/repos/builtin/packages/py-shap/package.py b/var/spack/repos/builtin/packages/py-shap/package.py index 6c6bf451103f47..859a6640f4d22a 100644 --- a/var/spack/repos/builtin/packages/py-shap/package.py +++ b/var/spack/repos/builtin/packages/py-shap/package.py @@ -17,6 +17,8 @@ class PyShap(PythonPackage): version("0.41.0", sha256="a49ea4d65aadbc845a695fa3d7ea0bdfc8c928b8e213b0feedf5868ade4b3ca5") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-shapely/package.py b/var/spack/repos/builtin/packages/py-shapely/package.py index e5869cca797d36..33c75a934e2844 100644 --- a/var/spack/repos/builtin/packages/py-shapely/package.py +++ b/var/spack/repos/builtin/packages/py-shapely/package.py @@ -21,6 +21,7 @@ class PyShapely(PythonPackage): license("BSD-3-Clause") version("main", branch="main") + version("2.0.5", sha256="bff2366bc786bfa6cb353d6b47d0443c570c32776612e527ee47b6df63fcfe32") version("2.0.4", sha256="5dc736127fac70009b8d309a0eeb74f3e08979e530cf7017f2f507ef62e6cfb8") version("2.0.3", sha256="4d65d0aa7910af71efa72fd6447e02a8e5dd44da81a983de9d736d6e6ccbe674") version("2.0.2", sha256="1713cc04c171baffc5b259ba8531c58acc2a301707b7f021d88a15ed090649e7") @@ -36,6 +37,8 @@ class PyShapely(PythonPackage): version("1.7.0", sha256="e21a9fe1a416463ff11ae037766fe410526c95700b9e545372475d2361cc951e") version("1.6.4", sha256="b10bc4199cfefcf1c0e5d932eac89369550320ca4bdf40559328d85f1ca4f655") + depends_on("c", type="build") # generated + # pyproject.toml depends_on("py-cython", when="@2.0.2:", type="build") depends_on("py-cython@0.29:0", when="@2.0.0:2.0.1", type="build") @@ -43,6 +46,7 @@ class PyShapely(PythonPackage): depends_on("py-setuptools@61:", when="@2:", type="build") depends_on("py-setuptools@:63", when="@:1", type="build") depends_on("py-numpy@1.14:2", when="@2.0.4:", type=("build", "link", "run")) + # https://github.com/shapely/shapely/issues/1972 depends_on("py-numpy@1.14:1", when="@2.0.0:2.0.3", type=("build", "link", "run")) depends_on("py-numpy@:1", when="@1", type=("build", "link", "run")) depends_on("py-pytest", type="test") diff --git a/var/spack/repos/builtin/packages/py-shiboken/package.py b/var/spack/repos/builtin/packages/py-shiboken/package.py index d8faeac4b76648..0899a10a353624 100644 --- a/var/spack/repos/builtin/packages/py-shiboken/package.py +++ b/var/spack/repos/builtin/packages/py-shiboken/package.py @@ -16,6 +16,8 @@ class PyShiboken(PythonPackage): version("1.2.2", sha256="0baee03c6244ab56e42e4200d0cb5e234682b11cc296ed0a192fe457d054972f") + depends_on("cxx", type="build") # generated + depends_on("cmake@2.6:", type="build") # to prevent error: 'PyTypeObject' {aka 'struct _typeobject'} has no member diff --git a/var/spack/repos/builtin/packages/py-shroud/package.py b/var/spack/repos/builtin/packages/py-shroud/package.py index 1a6c64d9627f75..ca5b7a838c5c97 100644 --- a/var/spack/repos/builtin/packages/py-shroud/package.py +++ b/var/spack/repos/builtin/packages/py-shroud/package.py @@ -24,5 +24,9 @@ class PyShroud(PythonPackage): version("0.9.0", tag="v0.9.0", commit="94aa2831290d10b604df16cb87ee17aa722fb998") version("0.8.0", tag="v0.8.0", commit="b58ac35f41514428d08849a578c45ad444bfddc9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("py-setuptools", type=("build", "run")) depends_on("py-pyyaml@4.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-simplejson/package.py b/var/spack/repos/builtin/packages/py-simplejson/package.py index dcac15ee93f8bf..63b35bae3e994a 100644 --- a/var/spack/repos/builtin/packages/py-simplejson/package.py +++ b/var/spack/repos/builtin/packages/py-simplejson/package.py @@ -31,4 +31,6 @@ class PySimplejson(PythonPackage): version("3.8.0", sha256="217e4797da3a9a4a9fbe6722e0db98070b8443a88212d7acdbd241a7668141d9") version("3.3.0", sha256="7a8a6bd82e111976aeb06138316ab10847adf612925072eaff8512228bcf9a1f") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-simpletraj/package.py b/var/spack/repos/builtin/packages/py-simpletraj/package.py index 8a9310196ad613..a3b5430203032a 100644 --- a/var/spack/repos/builtin/packages/py-simpletraj/package.py +++ b/var/spack/repos/builtin/packages/py-simpletraj/package.py @@ -17,6 +17,8 @@ class PySimpletraj(PythonPackage): # Versions version("0.5", sha256="860ccba82e7a6085ef1cbff74eb2db53df65fd58edabae3c45b8c45a219b8a3b") + depends_on("c", type="build") # generated + # Dependencies depends_on("py-setuptools", type="build") depends_on("python@3.8:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-sip/package.py b/var/spack/repos/builtin/packages/py-sip/package.py index 966f8766fbcd68..703fce900c1ff9 100644 --- a/var/spack/repos/builtin/packages/py-sip/package.py +++ b/var/spack/repos/builtin/packages/py-sip/package.py @@ -16,6 +16,7 @@ class PySip(PythonPackage): license("GPL-2.0-or-later") + version("6.8.5", sha256="5dddd5966e9875d89ecde9d3e6ac63225f9972e4d25c09e20fa22f1819409c70") version("6.7.9", sha256="35d51fc10f599d3696abb50f29d068ad04763df7b77808c76b74597660f99b17") version("6.6.2", sha256="0e3efac1c5dfd8e525ae57140927df26993e13f58b89d1577c314f4105bfd90d") version("6.4.0", sha256="42ec368520b8da4a0987218510b1b520b4981e4405086c1be384733affc2bcb0") @@ -28,6 +29,8 @@ class PySip(PythonPackage): version("4.19.15", sha256="02bff1ac89253e12cdf1406ad39f841d0e264b0d96a7de13dfe9e29740df2053") version("4.19.13", sha256="92193fcf990503bf29f03e290efc4ee1812d556efc18acf5c8b88c090177a630") + depends_on("c", type="build") # generated + variant( "module", default="sip", @@ -37,14 +40,16 @@ class PySip(PythonPackage): multi=False, ) - depends_on("py-ply", when="@6.6:", type=("build", "run")) + depends_on("py-ply", type=("build", "run"), when="@6.6:") with when("@5:"): depends_on("python", type=("build", "link", "run")) depends_on("py-packaging", type=("build", "run")) - depends_on("py-setuptools@30.3:", type=("build", "run")) - depends_on("py-tomli", when="@6.7: ^python@:3.10", type=("build", "run")) - depends_on("py-toml", when="@:6.6", type=("build", "run")) + depends_on("py-setuptools@64:", type=("build", "run"), when="@6.8.4:") + depends_on("py-setuptools@30.3:", type=("build", "run"), when="@:6.8.3") + depends_on("py-setuptools-scm@8:", type="build", when="@6.8.4:") + depends_on("py-tomli", type=("build", "run"), when="@6.7: ^python@:3.10") + depends_on("py-toml", type=("build", "run"), when="@:6.6") with when("@:4"): # Requires distutils diff --git a/var/spack/repos/builtin/packages/py-smartredis/package.py b/var/spack/repos/builtin/packages/py-smartredis/package.py index f45b38572c4c88..b1a6186499e29f 100644 --- a/var/spack/repos/builtin/packages/py-smartredis/package.py +++ b/var/spack/repos/builtin/packages/py-smartredis/package.py @@ -20,6 +20,9 @@ class PySmartredis(PythonPackage): version("0.4.1", sha256="fff16ed1eb09648ac3c3f845373beb37f3ffe7414d8745ae36af9daf585f8c5b") version("0.4.0", sha256="d12779aa8bb038e837c25eac41b178aab9e16b729d50ee360b5af8f813d9f1dd") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("python@3.7:3.10", type=("build", "run")) depends_on("py-setuptools@42:", type=("build",)) diff --git a/var/spack/repos/builtin/packages/py-sncosmo/package.py b/var/spack/repos/builtin/packages/py-sncosmo/package.py index 802be084b43807..7dfe7ce2f8112c 100644 --- a/var/spack/repos/builtin/packages/py-sncosmo/package.py +++ b/var/spack/repos/builtin/packages/py-sncosmo/package.py @@ -17,6 +17,8 @@ class PySncosmo(PythonPackage): version("1.2.0", sha256="f3969eec5b25f60c70418dbd64765a2b4735bb53c210c61d0aab68916daea588") + depends_on("c", type="build") # generated + # Required dependencies depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-sonlib/package.py b/var/spack/repos/builtin/packages/py-sonlib/package.py index 73c2457b61f1f1..1095819687ab4c 100644 --- a/var/spack/repos/builtin/packages/py-sonlib/package.py +++ b/var/spack/repos/builtin/packages/py-sonlib/package.py @@ -27,4 +27,7 @@ class PySonlib(PythonPackage): version("devel", branch="master") version("20200401", commit="7ebe2ede05a6ee366d93a7a993db69a99943a68f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-spacy/package.py b/var/spack/repos/builtin/packages/py-spacy/package.py index d0c4badc8ba53c..cf4620953b4961 100644 --- a/var/spack/repos/builtin/packages/py-spacy/package.py +++ b/var/spack/repos/builtin/packages/py-spacy/package.py @@ -20,6 +20,8 @@ class PySpacy(PythonPackage): version("2.3.2", sha256="818de26e0e383f64ccbe3db185574920de05923d8deac8bbb12113b9e33cee1f") version("2.2.4", sha256="f0f3a67c5841e6e35d62c98f40ebb3d132587d3aba4f4dccac5056c4e90ff5b9") + depends_on("cxx", type="build") # generated + depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@2.2.4:2.2") depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@2.3.0:") depends_on("py-cython@0.25:", type="build") diff --git a/var/spack/repos/builtin/packages/py-spdlog/package.py b/var/spack/repos/builtin/packages/py-spdlog/package.py index ec4282228631b8..79204b0381d8a9 100644 --- a/var/spack/repos/builtin/packages/py-spdlog/package.py +++ b/var/spack/repos/builtin/packages/py-spdlog/package.py @@ -24,6 +24,8 @@ class PySpdlog(PythonPackage): version("master", branch="master", submodules=True) version("2.0.0", sha256="b8d3732839850da414a47e91547ee1246f0690cb83f43f11a1fbaec40b7b968c") + depends_on("cxx", type="build") # generated + depends_on("py-pybind11@2.2:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-pytest-runner", type="build") diff --git a/var/spack/repos/builtin/packages/py-spglib/package.py b/var/spack/repos/builtin/packages/py-spglib/package.py index eb65819c927b18..dda1f57ecadbf5 100644 --- a/var/spack/repos/builtin/packages/py-spglib/package.py +++ b/var/spack/repos/builtin/packages/py-spglib/package.py @@ -20,5 +20,9 @@ class PySpglib(PythonPackage): version("1.16.1", sha256="9fd2fefbd83993b135877a69c498d8ddcf20a9980562b65b800cfb4cdadad003") version("1.9.9.18", sha256="cbbb8383320b500dc6100b83d5e914a26a97ef8fc97c82d8921b10220e4126cd") + depends_on("c", type="build") # generated + depends_on("py-setuptools@18.0:", type="build") depends_on("py-numpy", type=("build", "run")) + # https://github.com/spglib/spglib/issues/407 + depends_on("py-numpy@:1", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-sphinx-immaterial/package.py b/var/spack/repos/builtin/packages/py-sphinx-immaterial/package.py index a198b6ada8d040..be4781dd11f840 100644 --- a/var/spack/repos/builtin/packages/py-sphinx-immaterial/package.py +++ b/var/spack/repos/builtin/packages/py-sphinx-immaterial/package.py @@ -16,6 +16,8 @@ class PySphinxImmaterial(PythonPackage): version("0.11.2", sha256="a1c8387ca8b4da282949e474647d06f3b2f7d12fe54e9e662b962771012bf257") + depends_on("cxx", type="build") # generated + depends_on("python@3.8:", type=("build", "run")) depends_on("py-setuptools@42:", type="build") depends_on("py-setuptools-scm@6.3.2:", type="build") diff --git a/var/spack/repos/builtin/packages/py-sphinx/package.py b/var/spack/repos/builtin/packages/py-sphinx/package.py index dfdb82fd755c3b..450f56fa2221fa 100644 --- a/var/spack/repos/builtin/packages/py-sphinx/package.py +++ b/var/spack/repos/builtin/packages/py-sphinx/package.py @@ -16,6 +16,14 @@ class PySphinx(PythonPackage): license("BSD-2-Clause") + version("7.4.5", sha256="a4abe5385bf856df094c1e6cadf24a2351b12057be3670b99a12c05a01d209f5") + version("7.4.4", sha256="43c911f997a4530b6cffd4ff8d5516591f6c60d178591f4406f0dd02282e3f64") + version("7.4.3", sha256="bd846bcb09fd2b6e94ce3e1ad50f4618bccf03cc7c17d0f3fa87393c0bd9178b") + version("7.4.2", sha256="946f1a6fa317b02f76deee78392ba712badc01cccd231b5995d933ae3365a151") + version("7.4.1", sha256="09539a16d74d1850b123cdd0752b9d24f3adc025ff887d611d1010348cd3648c") + version("7.4.0", sha256="8385520a28dc129ebf8b5fccfa1beb71215fd4455c6d10fa418e08c3c7a2ff9c") + version("7.3.7", sha256="a4a7db75ed37531c05002d56ed6948d4c42f473a36f46e1382b0bd76ca9627bc") + version("7.3.6", sha256="fc9f3d13fed5c9a0e677d368090e209899ce5d0081eb552b657e2923e57517f0") version("7.3.5", sha256="30d03bbaa53b77d38863fd6b95cc4edb4a84a1512787b3b0c12fb3b4fb25d9e9") version("7.3.4", sha256="614826a7cf76f0a4525875c3ed55e2c3618f906897cb7ad53511c5fedcbb35aa") version("7.3.3", sha256="1918ba7a7c52f88b5a41ab7e8c55828235994968cfaeb5d10532711e1264087f") @@ -101,14 +109,17 @@ class PySphinx(PythonPackage): depends_on("py-sphinxcontrib-serializinghtml@1.1.5:", when="@4.1.1:") depends_on("py-sphinxcontrib-serializinghtml", when="@2:") depends_on("py-sphinxcontrib-qthelp", when="@2:") + depends_on("py-jinja2@3.1:", when="@7.4:") depends_on("py-jinja2@3:", when="@5.2:") depends_on("py-jinja2@2.3:2", when="@:4.0.1") depends_on("py-jinja2@2.3:") + depends_on("py-pygments@2.17:", when="@7.4:") depends_on("py-pygments@2.14:", when="@7.2:") depends_on("py-pygments@2.13:", when="@6.0.1:") depends_on("py-pygments@2.12:", when="@5.2:") depends_on("py-pygments@2:") - depends_on("py-docutils@0.18.1:0.21", when="@7.3:") + depends_on("py-docutils@0.20:0.21", when="@7.4:") + depends_on("py-docutils@0.18.1:0.21", when="@7.3") depends_on("py-docutils@0.18.1:0.20", when="@7.0.1:7.2") depends_on("py-docutils@0.18.1:0.19", when="@6.2:7.0.0") depends_on("py-docutils@0.18:0.19", when="@6.0:6.1") @@ -116,22 +127,28 @@ class PySphinx(PythonPackage): depends_on("py-docutils@0.14:0.18", when="@5.0") depends_on("py-docutils@0.14:0.17", when="@4") depends_on("py-docutils@0.12:0.16", when="@:3") + depends_on("py-snowballstemmer@2.2:", when="@7.4:") depends_on("py-snowballstemmer@2:", when="@5.2:") depends_on("py-snowballstemmer@1.1:") + depends_on("py-babel@2.13:", when="@7.4:") depends_on("py-babel@2.9:", when="@5.2:") depends_on("py-babel@1.3:") depends_on("py-alabaster@0.7.14:0.7", when="@7.3:") depends_on("py-alabaster@0.7") depends_on("py-imagesize@1.3:", when="@5.2:") depends_on("py-imagesize", when="@1.4:") + depends_on("py-requests@2.30:", when="@7.4:") depends_on("py-requests@2.25:", when="@6:") depends_on("py-requests@2.5:", when="@2:") depends_on("py-requests@2.4:", when="@1.5.2:") + depends_on("py-packaging@23:", when="@7.4:") depends_on("py-packaging@21:", when="@5.2:") depends_on("py-packaging", when="@1.7:") + depends_on("py-importlib-metadata@6:", when="@7.4: ^python@:3.9") depends_on("py-importlib-metadata@4.8:", when="@5.2: ^python@:3.9") depends_on("py-importlib-metadata@4.4:", when="@4.4: ^python@:3.9") depends_on("py-tomli@2:", when="@7.3.1: ^python@:3.10") + depends_on("py-colorama@0.4.6:", when="@7.4: platform=windows") depends_on("py-colorama@0.4.5:", when="@5.2: platform=windows") depends_on("py-colorama@0.3.5:", when="platform=windows") diff --git a/var/spack/repos/builtin/packages/py-srsly/package.py b/var/spack/repos/builtin/packages/py-srsly/package.py index d545991b31fb6c..2163eea77442d9 100644 --- a/var/spack/repos/builtin/packages/py-srsly/package.py +++ b/var/spack/repos/builtin/packages/py-srsly/package.py @@ -20,6 +20,9 @@ class PySrsly(PythonPackage): version("2.0.0", sha256="785b00e00406120dbef4ca82925051e6b60fe870c5f84f0d22b3632d574eb870") version("1.0.2", sha256="59258b81d567df207f8a0a33c4b5fa232afccf1d927c8ce3ba5395bfd64c0ed8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@3.6:", when="@2:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-wheel", when="@2:", type="build") diff --git a/var/spack/repos/builtin/packages/py-statsmodels/package.py b/var/spack/repos/builtin/packages/py-statsmodels/package.py index d4ea3153fc2223..b9d4d55600028d 100644 --- a/var/spack/repos/builtin/packages/py-statsmodels/package.py +++ b/var/spack/repos/builtin/packages/py-statsmodels/package.py @@ -28,6 +28,9 @@ class PyStatsmodels(PythonPackage): version("0.10.2", sha256="9cd2194c6642a8754e85f9a6e6912cdf996bebf6ff715d3cc67f65dadfd37cc9") version("0.10.1", sha256="320659a80f916c2edf9dfbe83512d9004bb562b72eedb7d9374562038697fa10") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("python@3.8:", when="@0.14:", type=("build", "link", "run")) depends_on("python", type=("build", "link", "run")) @@ -51,6 +54,8 @@ class PyStatsmodels(PythonPackage): depends_on("py-numpy@1.17:", when="@0.13:", type=("build", "link", "run")) depends_on("py-numpy@1.15:", when="@0.12.1:", type=("build", "link", "run")) depends_on("py-numpy@1.11:", when="@0.10.1:", type=("build", "link", "run")) + # https://github.com/statsmodels/statsmodels/issues/9194 + depends_on("py-numpy@:1", when="@:0.14.1", type=("build", "link", "run")) depends_on("py-scipy@1.4:", when="@0.13.5:", type=("build", "run")) conflicts("^py-scipy@1.9.2") depends_on("py-scipy@1.3:", when="@0.13:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-storm/package.py b/var/spack/repos/builtin/packages/py-storm/package.py index 1f344b74ace03a..60458f92ebdb89 100644 --- a/var/spack/repos/builtin/packages/py-storm/package.py +++ b/var/spack/repos/builtin/packages/py-storm/package.py @@ -21,6 +21,8 @@ class PyStorm(PythonPackage): url="https://files.pythonhosted.org/packages/source/s/storm/storm-0.23.tar.bz2", ) + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-six", type=("build", "run")) depends_on("py-zope-interface@4:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-stratify/package.py b/var/spack/repos/builtin/packages/py-stratify/package.py index 05fbe674c8eea1..690cb190e1df7c 100644 --- a/var/spack/repos/builtin/packages/py-stratify/package.py +++ b/var/spack/repos/builtin/packages/py-stratify/package.py @@ -19,6 +19,8 @@ class PyStratify(PythonPackage): version("0.1", sha256="5426f3b66e45e1010952d426e5a7be42cd45fe65f1cd73a98fee1eb7c110c6ee") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) depends_on("py-cython", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-stsci-distutils/package.py b/var/spack/repos/builtin/packages/py-stsci-distutils/package.py index a8d3eab8fa1aec..da2fb77f426e13 100644 --- a/var/spack/repos/builtin/packages/py-stsci-distutils/package.py +++ b/var/spack/repos/builtin/packages/py-stsci-distutils/package.py @@ -15,5 +15,7 @@ class PyStsciDistutils(PythonPackage): version("0.3.8", sha256="a52f3ec3b392a9cecd98d143b678c27346cbfa8f34c34698821d7e167907edce") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-d2to1", type="build") diff --git a/var/spack/repos/builtin/packages/py-symengine/package.py b/var/spack/repos/builtin/packages/py-symengine/package.py index 771264075042e4..074b2264add0c7 100644 --- a/var/spack/repos/builtin/packages/py-symengine/package.py +++ b/var/spack/repos/builtin/packages/py-symengine/package.py @@ -25,6 +25,8 @@ class PySymengine(PythonPackage): ) version("0.2.0", sha256="78a14aea7aad5e7cbfb5cabe141581f9bba30e3c319690e5db8ad99fdf2d8885") + depends_on("cxx", type="build") # generated + # Build dependencies depends_on("python@2.7:2.8,3.3:", type=("build", "run"), when="@0.2.0") depends_on("python@3.6:3", type=("build", "run"), when="@0.8.1:") diff --git a/var/spack/repos/builtin/packages/py-systemd-python/package.py b/var/spack/repos/builtin/packages/py-systemd-python/package.py index b1f01c0dc1e2b3..4130a852e58fbb 100644 --- a/var/spack/repos/builtin/packages/py-systemd-python/package.py +++ b/var/spack/repos/builtin/packages/py-systemd-python/package.py @@ -17,6 +17,8 @@ class PySystemdPython(PythonPackage): version("235", sha256="4e57f39797fd5d9e2d22b8806a252d7c0106c936039d1e71c8c6b8008e695c0a") version("234", sha256="fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7") + depends_on("c", type="build") # generated + # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/py-tables/package.py b/var/spack/repos/builtin/packages/py-tables/package.py index 262e7e4b82f3b2..e2242acf8cc348 100644 --- a/var/spack/repos/builtin/packages/py-tables/package.py +++ b/var/spack/repos/builtin/packages/py-tables/package.py @@ -27,6 +27,9 @@ class PyTables(PythonPackage): version("3.3.0", sha256="8383ccf02e041a5d55494a09fc5514140b4653055a2732c981b5fd0f7408822c") version("3.2.2", sha256="3564b351a71ec1737b503b001eb7ceae1f65d5d6e3ffe1ea75aafba10f37fa84") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("zlib", default=True, description="Support for zlib compression") variant("bzip2", default=False, description="Support for bzip2 compression") variant("lzo", default=False, description="Support for lzo compression") @@ -45,6 +48,8 @@ class PyTables(PythonPackage): # requirements.txt depends_on("py-numpy@1.19:", when="@3.8:", type=("build", "run")) depends_on("py-numpy@1.9.3:", type=("build", "run")) + # https://github.com/PyTables/PyTables/issues/1083 + depends_on("py-numpy@:1", type=("build", "run")) depends_on("py-numexpr@2.6.2:", type=("build", "run")) depends_on("py-packaging", when="@3.7:", type=("build", "run")) depends_on("py-py-cpuinfo", when="@3.8:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-tabulate/package.py b/var/spack/repos/builtin/packages/py-tabulate/package.py index 07ed086d6401a6..d27fdb52bdc27c 100644 --- a/var/spack/repos/builtin/packages/py-tabulate/package.py +++ b/var/spack/repos/builtin/packages/py-tabulate/package.py @@ -9,11 +9,13 @@ class PyTabulate(PythonPackage): """Pretty-print tabular data""" - homepage = "https://bitbucket.org/astanin/python-tabulate" - pypi = "tabulate/tabulate-0.8.6.tar.gz" + homepage = "https://github.com/astanin/python-tabulate" + pypi = "tabulate/tabulate-0.9.0.tar.gz" license("MIT") + version("0.9.0", sha256="0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c") + version("0.8.10", sha256="6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519") version("0.8.9", sha256="eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7") version("0.8.7", sha256="db2723a20d04bcda8522165c73eea7c300eda74e0ce852d9022e0159d7895007") version("0.8.6", sha256="5470cc6687a091c7042cee89b2946d9235fe9f6d49c193a4ae2ac7bf386737c8") diff --git a/var/spack/repos/builtin/packages/py-tensorboard/package.py b/var/spack/repos/builtin/packages/py-tensorboard/package.py index b77439185c86d8..83f3f1a464c6ed 100644 --- a/var/spack/repos/builtin/packages/py-tensorboard/package.py +++ b/var/spack/repos/builtin/packages/py-tensorboard/package.py @@ -21,6 +21,7 @@ class PyTensorboard(PythonPackage): license("Apache-2.0") + version("2.17.0", sha256="859a499a9b1fb68a058858964486627100b71fcb21646861c61d31846a6478fb") version("2.16.2", sha256="9f2b4e7dad86667615c0e5cd072f1ea8403fc032a299f0072d6f74855775cc45") version("2.16.1", sha256="928b62567911a8eeb2ebeb7482a9e4599b35f6713a6f2c56655259c18a139569") version("2.16.0", sha256="263b909a2009cb3a79daa6abe64c1785cc317c25a54e4db2fecb6429ffc54c58") @@ -50,32 +51,39 @@ class PyTensorboard(PythonPackage): 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:") - depends_on("py-absl-py@0.4:", type=("build", "run")) - 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-markdown@2.6.8:", type=("build", "run")) - depends_on("py-numpy@1.12.0:", type=("build", "run")) - 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-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-werkzeug@1.0.1:", type=("build", "run"), when="@2.9:") - depends_on("py-werkzeug@0.11.15:", type=("build", "run")) + with default_args(type=("build", "run")): + depends_on("python@3.9:", when="@2.14:") + depends_on("python@3.8:", when="@2.12:") + depends_on("py-absl-py@0.4:") + depends_on("py-grpcio@1.48.2:", when="@2.12:") + depends_on("py-grpcio@1.24.3:", when="@2.3:") + depends_on("py-grpcio@1.23.3:", when="@2.2") + depends_on("py-markdown@2.6.8:") + depends_on("py-numpy@1.12.0:") + # https://github.com/tensorflow/tensorboard/pull/6871 + depends_on("py-numpy@:1") + # https://github.com/tensorflow/tensorboard/pull/5138 + depends_on("py-numpy@:1.23", when="@:2.5") + depends_on("py-protobuf@3.19.6:4", when="@2.17:") + depends_on("py-protobuf@3.19.6:", when="@2.15.2:2.16") + depends_on("py-protobuf@3.19.6:4.23", when="@2.12:2.15.1") + depends_on("py-protobuf@3.9.2:3", when="@2.11") + depends_on("py-protobuf@3.9.2:3.19", when="@2.9:2.10") + depends_on("py-protobuf@3.6.0:3.19", when="@:2.8") + depends_on("py-setuptools@41.0.0:") + depends_on("py-six@1.10.0:", when="@:2.4,2.14:") + depends_on("py-tensorboard-data-server@0.7", when="@2.12:") + depends_on("py-tensorboard-data-server@0.6", when="@2.5:2.11") + depends_on("py-werkzeug@1.0.1:", when="@2.9:") + depends_on("py-werkzeug@0.11.15:") - # 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") + # Historical dependencies + depends_on("py-google-auth@1.6.3:2", when="@2.7:2.15") + depends_on("py-google-auth@1.6.3:1", when="@:2.6") + depends_on("py-google-auth-oauthlib@0.5:1", when="@2.15") + depends_on("py-google-auth-oauthlib@0.5:1.0", when="@2.12.1:2.14") + depends_on("py-google-auth-oauthlib@0.4.1:0.4", when="@:2.12.0") + depends_on("py-requests@2.21.0:2", when="@:2.15") + depends_on("py-tensorboard-plugin-wit@1.6.0:", when="@:2.13") + + conflicts("^py-protobuf@4.24.0") diff --git a/var/spack/repos/builtin/packages/py-tensorflow-estimator/package.py b/var/spack/repos/builtin/packages/py-tensorflow-estimator/package.py index eba0f1dbe98481..02ed47516997f3 100644 --- a/var/spack/repos/builtin/packages/py-tensorflow-estimator/package.py +++ b/var/spack/repos/builtin/packages/py-tensorflow-estimator/package.py @@ -9,8 +9,9 @@ class PyTensorflowEstimator(Package): - """TensorFlow Estimator is a high-level TensorFlow API that greatly - simplifies machine learning programming.""" + """TensorFlow Estimator is a high-level API that encapsulates + model training, evaluation, prediction, and exporting. + """ homepage = "https://github.com/tensorflow/estimator" url = "https://github.com/tensorflow/estimator/archive/v2.2.0.tar.gz" @@ -28,39 +29,41 @@ class PyTensorflowEstimator(Package): version("2.8.0", sha256="58a2c3562ca6491c257e9a4d9bd8825667883257edcdb452181efa691c586b17") version("2.7.0", sha256="e5164e802638d3cf110ecc17912be9d514a9d3354ec48e77200b9403dcc15965") version("2.6.0", sha256="947705c60c50da0b4a8ceec1bc058aaf6bf567a7efdcd50d5173ebf6bafcf30f") - version("2.5.0", sha256="66661f30ea05d57377c45267ca770935fb8c54f85b7901f0a7deb91766fe9f45") version("2.4.0", sha256="e6ea12014c3d8c89a81ace95f8f8b7c39ffcd3e4e4626709e4aee0010eefd962") version("2.3.0", sha256="75403e7de7e8ec30ec0781ede56ed84cbe5e90daad64a9c242cd489c8fe63a17") version("2.2.0", sha256="2d68cb6e6442e7dcbfa2e092aa25bdcb0eda420536a829b85d732854a4c85d46") extends("python") - # tensorflow_estimator/tools/pip_package/setup.py - depends_on("python@3.7:", when="@2.9:", type=("build", "run")) - - for ver in ["2.14", "2.13", "2.12", "2.11", "2.10", "2.9", "2.8", "2.7", "2.6"]: - depends_on("py-keras@" + ver, when="@" + ver, type=("build", "run")) - - for ver in [ - "2.14", - "2.13", - "2.12", - "2.11", - "2.10", - "2.9", - "2.8", - "2.7", - "2.6", - "2.5", - "2.4", - "2.3", - "2.2", - ]: - depends_on("py-tensorflow@" + ver, when="@" + ver, type=("build", "run")) - - depends_on("bazel@0.19.0:", type="build") - depends_on("py-pip", type="build") - depends_on("py-wheel", type="build") + with default_args(type="build"): + depends_on("bazel@0.19.0:") + depends_on("py-pip") + depends_on("py-wheel") + + # See expect_*_installed in tensorflow_estimator/python/estimator/BUILD + with default_args(type=("build", "run")): + depends_on("py-absl-py") + depends_on("py-h5py") + depends_on("py-numpy") + depends_on("py-pandas") + depends_on("py-six") + for ver in [ + "2.14", + "2.13", + "2.12", + "2.11", + "2.10", + "2.9", + "2.8", + "2.7", + "2.6", + "2.4", + "2.3", + "2.2", + ]: + depends_on(f"py-tensorboard@{ver}", when=f"@{ver}") + depends_on(f"py-tensorflow@{ver}", when=f"@{ver}") + depends_on(f"py-keras@{ver}", when=f"@{ver}") def install(self, spec, prefix): self.tmp_path = tempfile.mkdtemp(prefix="spack") diff --git a/var/spack/repos/builtin/packages/py-tensorflow/Find_ROCm_Components_Individiually.2.16.patch b/var/spack/repos/builtin/packages/py-tensorflow/Find_ROCm_Components_Individiually.2.16.patch deleted file mode 100644 index aab9b09c531c2c..00000000000000 --- a/var/spack/repos/builtin/packages/py-tensorflow/Find_ROCm_Components_Individiually.2.16.patch +++ /dev/null @@ -1,364 +0,0 @@ -diff --git a/third_party/gpus/find_rocm_config.py b/third_party/gpus/find_rocm_config.py -index cd64efe6..e38495e2 100644 ---- a/third_party/gpus/find_rocm_config.py -+++ b/third_party/gpus/find_rocm_config.py -@@ -70,9 +70,10 @@ def _get_header_version(path, name): - def _find_rocm_config(rocm_install_path): - - def rocm_version_numbers(path): -+ rocm_core_path = os.environ.get('ROCM_CORE_PATH') - possible_version_files = [ -- "include/rocm-core/rocm_version.h", # ROCm 5.2 -- "include/rocm_version.h", # ROCm 5.1 and prior -+ rocm_core_path + "/include/rocm-core/rocm_version.h", -+ rocm_core_path + "/include/rocm_version.h", # ROCm 5.1 and prior - ] - version_file = None - for f in possible_version_files: -@@ -101,9 +102,10 @@ def _find_rocm_config(rocm_install_path): - def _find_hipruntime_config(rocm_install_path): - - def hipruntime_version_number(path): -+ hip_path = os.environ.get('HIP_PATH') - possible_version_files = [ -- "include/hip/hip_version.h", # ROCm 5.2 -- "hip/include/hip/hip_version.h", # ROCm 5.1 and prior -+ hip_path + "/include/hip/hip_version.h", -+ hip_path + "/hip/include/hip/hip_version.h", # ROCm 5.1 and prior - ] - version_file = None - for f in possible_version_files: -@@ -133,7 +135,9 @@ def _find_hipruntime_config(rocm_install_path): - def _find_miopen_config(rocm_install_path): - - def miopen_version_numbers(path): -+ miopen_path = os.environ.get('MIOPEN_PATH') - possible_version_files = [ -+ miopen_path + "/include/miopen/version.h", - "include/miopen/version.h", # ROCm 5.2 and prior - "miopen/include/miopen/version.h", # ROCm 5.1 and prior - ] -@@ -164,7 +168,9 @@ def _find_miopen_config(rocm_install_path): - def _find_rocblas_config(rocm_install_path): - - def rocblas_version_numbers(path): -+ rocblas_path = os.environ.get('ROCBLAS_PATH') - possible_version_files = [ -+ rocblas_path + "/include/rocblas/internal/rocblas-version.h", - "include/rocblas/internal/rocblas-version.h", # ROCm 5.2 - "rocblas/include/internal/rocblas-version.h", # ROCm 5.1 and prior - ] -@@ -196,7 +202,9 @@ def _find_rocblas_config(rocm_install_path): - def _find_rocrand_config(rocm_install_path): - - def rocrand_version_number(path): -+ rocrand_path = os.environ.get('ROCRAND_PATH') - possible_version_files = [ -+ rocrand_path + "/include/rocrand/rocrand_version.h", - "include/rocrand/rocrand_version.h", # ROCm 5.1 - "rocrand/include/rocrand_version.h", # ROCm 5.0 and prior - ] -@@ -222,7 +230,9 @@ def _find_rocrand_config(rocm_install_path): - def _find_rocfft_config(rocm_install_path): - - def rocfft_version_numbers(path): -+ rocfft_path = os.environ.get('ROCFFT_PATH') - possible_version_files = [ -+ rocfft_path + "/include/rocfft/rocfft-version.h", - "include/rocfft/rocfft-version.h", # ROCm 5.2 - "rocfft/include/rocfft-version.h", # ROCm 5.1 and prior - ] -@@ -253,7 +263,9 @@ def _find_rocfft_config(rocm_install_path): - def _find_hipfft_config(rocm_install_path): - - def hipfft_version_numbers(path): -+ hipfft_path = os.environ.get('HIPFFT_PATH') - possible_version_files = [ -+ hipfft_path + "/include/hipfft/hipfft-version.h", - "include/hipfft/hipfft-version.h", # ROCm 5.2 - "hipfft/include/hipfft-version.h", # ROCm 5.1 and prior - ] -@@ -284,7 +296,9 @@ def _find_hipfft_config(rocm_install_path): - def _find_roctracer_config(rocm_install_path): - - def roctracer_version_numbers(path): -+ roctracer_path = os.environ.get('ROCTRACER_PATH') - possible_version_files = [ -+ roctracer_path + "/include/roctracer/roctracer.h", - "include/roctracer/roctracer.h", # ROCm 5.2 - "roctracer/include/roctracer.h", # ROCm 5.1 and prior - ] -@@ -316,7 +330,9 @@ def _find_roctracer_config(rocm_install_path): - def _find_hipsparse_config(rocm_install_path): - - def hipsparse_version_numbers(path): -+ hipsparse_path = os.environ.get('HIPSPARSE_PATH') - possible_version_files = [ -+ hipsparse_path + "/include/hipsparse/hipsparse-version.h", - "include/hipsparse/hipsparse-version.h", # ROCm 5.2 - "hipsparse/include/hipsparse-version.h", # ROCm 5.1 and prior - ] -@@ -346,7 +362,9 @@ def _find_hipsparse_config(rocm_install_path): - def _find_hipsolver_config(rocm_install_path): - - def hipsolver_version_numbers(path): -+ hipsolver_path = os.environ.get('HIPSOLVER_PATH') - possible_version_files = [ -+ hipsolver_path + "/include/hipsolver/internal/hipsolver-version.h", - "include/hipsolver/internal/hipsolver-version.h", # ROCm 5.2 - "hipsolver/include/internal/hipsolver-version.h", # ROCm 5.1 - "hipsolver/include/hipsolver-version.h", # ROCm 5.0 and prior -@@ -378,7 +396,9 @@ def _find_hipsolver_config(rocm_install_path): - def _find_rocsolver_config(rocm_install_path): - - def rocsolver_version_numbers(path): -+ rocsolver_path = os.environ.get('ROCSOLVER_PATH') - possible_version_files = [ -+ rocsolver_path + "/include/rocsolver/rocsolver-version.h", - "include/rocsolver/rocsolver-version.h", # ROCm 5.2 - "rocsolver/include/rocsolver-version.h", # ROCm 5.1 and prior - ] -diff --git a/third_party/gpus/rocm_configure.bzl b/third_party/gpus/rocm_configure.bzl -index 6eb17486..3e9a68d3 100644 ---- a/third_party/gpus/rocm_configure.bzl -+++ b/third_party/gpus/rocm_configure.bzl -@@ -30,7 +30,6 @@ load( - "which", - ) - -- - _GCC_HOST_COMPILER_PATH = "GCC_HOST_COMPILER_PATH" - _GCC_HOST_COMPILER_PREFIX = "GCC_HOST_COMPILER_PREFIX" - _ROCM_TOOLKIT_PATH = "ROCM_PATH" -@@ -184,17 +183,23 @@ def _rocm_include_path(repository_ctx, rocm_config, bash_bin): - """ - inc_dirs = [] - -+ hsa_path = get_host_environ(repository_ctx, "HSA_ROCR_DEV_PATH") -+ hip_path = get_host_environ(repository_ctx, "HIP_PATH") -+ rocprim_path = get_host_environ(repository_ctx, "ROCPRIM_PATH") -+ rocsolver_path = get_host_environ(repository_ctx, "ROCSOLVER_PATH") -+ rocblas_path = get_host_environ(repository_ctx, "ROCBLAS_PATH") -+ llvm_path = get_host_environ(repository_ctx, "LLVM_PATH") - # Add HSA headers (needs to match $HSA_PATH) -- inc_dirs.append(rocm_config.rocm_toolkit_path + "/hsa/include") -+ inc_dirs.append(hsa_path + "/include/hsa") - - # Add HIP headers (needs to match $HIP_PATH) - inc_dirs.append(rocm_config.rocm_toolkit_path + "/hip/include") - if int(rocm_config.rocm_version_number) >= 50200: - inc_dirs.append(rocm_config.rocm_toolkit_path + "/include") -- inc_dirs.append(rocm_config.rocm_toolkit_path + "/include/hip") -- inc_dirs.append(rocm_config.rocm_toolkit_path + "/include/rocprim") -- inc_dirs.append(rocm_config.rocm_toolkit_path + "/include/rocsolver") -- inc_dirs.append(rocm_config.rocm_toolkit_path + "/include/rocblas") -+ inc_dirs.append(hip_path + "/include/hip") -+ inc_dirs.append(rocprim_path + "/include/rocprim") -+ inc_dirs.append(rocsolver_path + "/include/rocsolver") -+ inc_dirs.append(rocblas_path + "/include/rocblas") - - # Add HIP-Clang headers (realpath relative to compiler binary) - rocm_toolkit_path = realpath(repository_ctx, rocm_config.rocm_toolkit_path, bash_bin) -@@ -203,7 +208,7 @@ def _rocm_include_path(repository_ctx, rocm_config, bash_bin): - inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/14.0.0/include") - inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/15.0.0/include") - inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/16.0.0/include") -- inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/17.0.0/include") -+ inc_dirs.append(llvm_path + "/lib/clang/17.0.0/include/") - inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/17/include") - inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/18/include") - inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/19/include") -@@ -230,7 +235,8 @@ def _amdgpu_targets(repository_ctx, rocm_toolkit_path, bash_bin): - """Returns a list of strings representing AMDGPU targets.""" - amdgpu_targets_str = get_host_environ(repository_ctx, _TF_ROCM_AMDGPU_TARGETS) - if not amdgpu_targets_str: -- cmd = "%s/bin/rocm_agent_enumerator" % rocm_toolkit_path -+ rocminfo_path = get_host_environ(repository_ctx, "ROCMINFO_PATH") -+ cmd = rocminfo_path + "/bin/rocm_agent_enumerator" - result = execute(repository_ctx, [bash_bin, "-c", cmd]) - targets = [target for target in result.stdout.strip().split("\n") if target != "gfx000"] - targets = {x: None for x in targets} -@@ -351,23 +357,33 @@ def _find_libs(repository_ctx, rocm_config, hipfft_or_rocfft, miopen_path, rccl_ - Returns: - Map of library names to structs of filename and path - """ -+ hip_path = get_host_environ(repository_ctx, "HIP_PATH") -+ rocblas_path = get_host_environ(repository_ctx, "ROCBLAS_PATH") -+ hipfft_path = get_host_environ(repository_ctx, "HIPFFT_PATH") -+ hiprand_path = get_host_environ(repository_ctx, "HIPRAND_PATH") -+ hipsparse_path = get_host_environ(repository_ctx, "HIPSPARSE_PATH") -+ roctracer_path = get_host_environ(repository_ctx, "ROCTRACER_PATH") -+ rocsolver_path = get_host_environ(repository_ctx, "ROCSOLVER_PATH") -+ hipsolver_path = get_host_environ(repository_ctx, "HIPSOLVER_PATH") -+ hipblas_path = get_host_environ(repository_ctx, "HIPBLAS_PATH") -+ - libs_paths = [ - (name, _rocm_lib_paths(repository_ctx, name, path)) - for name, path in [ -- ("amdhip64", rocm_config.rocm_toolkit_path), -- ("rocblas", rocm_config.rocm_toolkit_path), -- (hipfft_or_rocfft, rocm_config.rocm_toolkit_path), -- ("hiprand", rocm_config.rocm_toolkit_path), -- ("MIOpen", miopen_path), -+ ("amdhip64", hip_path + "/lib"), -+ ("rocblas", rocblas_path), -+ (hipfft_or_rocfft, hipfft_path), -+ ("hiprand", hiprand_path), -+ ("MIOpen", miopen_path), - ("rccl", rccl_path), -- ("hipsparse", rocm_config.rocm_toolkit_path), -- ("roctracer64", rocm_config.rocm_toolkit_path), -- ("rocsolver", rocm_config.rocm_toolkit_path), -+ ("hipsparse", hipsparse_path), -+ ("roctracer64", roctracer_path + "/lib"), -+ ("rocsolver", rocsolver_path), - ] - ] - if int(rocm_config.rocm_version_number) >= 40500: -- libs_paths.append(("hipsolver", _rocm_lib_paths(repository_ctx, "hipsolver", rocm_config.rocm_toolkit_path))) -- libs_paths.append(("hipblas", _rocm_lib_paths(repository_ctx, "hipblas", rocm_config.rocm_toolkit_path))) -+ libs_paths.append(("hipsolver", _rocm_lib_paths(repository_ctx, "hipsolver", hipsolver_path))) -+ libs_paths.append(("hipblas", _rocm_lib_paths(repository_ctx, "hipblas", hipblas_path))) - - # hipblaslt may be absent even in versions of ROCm where it exists - # (it is not installed by default in some containers). Autodetect. -@@ -560,12 +576,13 @@ def _create_local_rocm_repository(repository_ctx): - hipfft_or_rocfft = "rocfft" if rocm_version_number < 40100 else "hipfft" - - # For ROCm 5.2 and above, find MIOpen and RCCL in the main rocm lib path -- miopen_path = rocm_config.rocm_toolkit_path + "/miopen" if rocm_version_number < 50200 else rocm_config.rocm_toolkit_path -- rccl_path = rocm_config.rocm_toolkit_path + "/rccl" if rocm_version_number < 50200 else rocm_config.rocm_toolkit_path -+ miopen_path = get_host_environ(repository_ctx, "MIOPEN_PATH") + "/miopen" -+ rccl_path = get_host_environ(repository_ctx, "RCCL_PATH") + "/rccl" - - # Copy header and library files to execroot. - # rocm_toolkit_path - rocm_toolkit_path = rocm_config.rocm_toolkit_path -+ rocblas_path = get_host_environ(repository_ctx, "ROCBLAS_PATH") - copy_rules = [ - make_copy_dir_rule( - repository_ctx, -@@ -578,6 +595,53 @@ def _create_local_rocm_repository(repository_ctx): - # explicitly copy (into the local_config_rocm repo) the $ROCM_PATH/hiprand/include and - # $ROCM_PATH/rocrand/include dirs, only once the softlink to them in $ROCM_PATH/include - # dir has been removed. This removal will happen in a near-future ROCm release. -+ rocm_parts = [ -+ "rocblas", -+ "rocprim", -+ "hipfft", -+ "hipsparse", -+ "rocsolver", -+ "hipsolver", -+ "hipblas", -+ "rccl", -+ "miopen", -+ "roctracer", -+ ] -+ rocm_includes = "" -+ -+ for part in rocm_parts: -+ part_cap = part.upper().replace("-","_") -+ part_path = get_host_environ(repository_ctx, part_cap + "_PATH") -+ rocm_includes = rocm_includes + '":' + part + '-include",\n' -+ rocm_includes = rocm_includes + '":' + part + '-include-second",\n' -+ copy_rules.append( -+ make_copy_dir_rule( -+ repository_ctx, -+ name = part + "-include", -+ src_dir = part_path + "/include/" + part, -+ out_dir = "rocm/include", -+ ), -+ ) -+ copy_rules.append( -+ make_copy_dir_rule( -+ repository_ctx, -+ name = part + "-include-second", -+ src_dir = part_path + "/include/" + part, -+ out_dir = "rocm/include/" + part, -+ ), -+ ) -+ hipcub_path = get_host_environ(repository_ctx, "HIPCUB_PATH") -+ copy_rules.append( -+ make_copy_dir_rule( -+ repository_ctx, -+ name = "hipcub-include", -+ src_dir = hipcub_path + "/include/hipcub/", -+ out_dir = "rocm/include/hipcub/", -+ ) -+ ) -+ rocm_includes = rocm_includes + '":hipcub-include",\n' -+ -+ hiprand_path = get_host_environ(repository_ctx, "HIPRAND_PATH") - hiprand_include = "" - hiprand_include_softlink = rocm_config.rocm_toolkit_path + "/include/hiprand" - softlink_exists = files_exist(repository_ctx, [hiprand_include_softlink], bash_bin) -@@ -587,11 +651,12 @@ def _create_local_rocm_repository(repository_ctx): - make_copy_dir_rule( - repository_ctx, - name = "hiprand-include", -- src_dir = rocm_toolkit_path + "/hiprand/include", -+ src_dir = hiprand_path + "/include/hiprand", - out_dir = "rocm/include/hiprand", - ), - ) - -+ rocrand_path = get_host_environ(repository_ctx, "ROCRAND_PATH") - rocrand_include = "" - rocrand_include_softlink = rocm_config.rocm_toolkit_path + "/include/rocrand" - softlink_exists = files_exist(repository_ctx, [rocrand_include_softlink], bash_bin) -@@ -601,11 +666,10 @@ def _create_local_rocm_repository(repository_ctx): - make_copy_dir_rule( - repository_ctx, - name = "rocrand-include", -- src_dir = rocm_toolkit_path + "/rocrand/include", -+ src_dir = rocrand_path + "/include/rocrand", - out_dir = "rocm/include/rocrand", - ), - ) -- - rocm_libs = _find_libs(repository_ctx, rocm_config, hipfft_or_rocfft, miopen_path, rccl_path, bash_bin) - rocm_lib_srcs = [] - rocm_lib_outs = [] -@@ -620,7 +684,8 @@ def _create_local_rocm_repository(repository_ctx): - outs = rocm_lib_outs, - )) - -- clang_offload_bundler_path = rocm_toolkit_path + "/llvm/bin/clang-offload-bundler" -+ llvm_amdgpu_path = get_host_environ(repository_ctx, "LLVM_PATH") -+ clang_offload_bundler_path = llvm_amdgpu_path + "/bin/clang-offload-bundler" - - # copy files mentioned in third_party/gpus/rocm/BUILD - copy_rules.append(make_copy_files_rule( -@@ -665,9 +730,7 @@ def _create_local_rocm_repository(repository_ctx): - "%{roctracer_lib}": rocm_libs["roctracer64"].file_name, - "%{rocsolver_lib}": rocm_libs["rocsolver"].file_name, - "%{copy_rules}": "\n".join(copy_rules), -- "%{rocm_headers}": ('":rocm-include",\n' + -- hiprand_include + -- rocrand_include), -+ "%{rocm_headers}": ('":rocm-include",\n' + rocrand_include + hiprand_include + rocm_includes), - } - if rocm_libs["hipblaslt"] != None: - repository_dict["%{hipblaslt_lib}"] = rocm_libs["hipblaslt"].file_name -@@ -735,16 +798,18 @@ def _create_local_rocm_repository(repository_ctx): - tpl_paths["crosstool:hipcc_cc_toolchain_config.bzl"], - ) - -+ hip_path = get_host_environ(repository_ctx, "HIP_PATH") -+ hsa_rocr_dev_path = get_host_environ(repository_ctx, "HSA_ROCR_DEV_PATH") - repository_ctx.template( - "crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc", - tpl_paths["crosstool:clang/bin/crosstool_wrapper_driver_rocm"], - { - "%{cpu_compiler}": str(cc), -- "%{hipcc_path}": rocm_config.rocm_toolkit_path + "/bin/hipcc", -+ "%{hipcc_path}": hip_path + "/bin/hipcc", - "%{hipcc_env}": _hipcc_env(repository_ctx), -- "%{rocr_runtime_path}": rocm_config.rocm_toolkit_path + "/lib", -+ "%{rocr_runtime_path}": hsa_rocr_dev_path + "/lib", - "%{rocr_runtime_library}": "hsa-runtime64", -- "%{hip_runtime_path}": rocm_config.rocm_toolkit_path + "/lib", -+ "%{hip_runtime_path}": hip_path + "/lib", - "%{hip_runtime_library}": "amdhip64", - "%{crosstool_verbose}": _crosstool_verbose(repository_ctx), - "%{gcc_host_compiler_path}": str(cc), diff --git a/var/spack/repos/builtin/packages/py-tensorflow/Find_ROCm_Components_Individiually.patch b/var/spack/repos/builtin/packages/py-tensorflow/Find_ROCm_Components_Individiually.patch deleted file mode 100644 index 58ac82b42935fc..00000000000000 --- a/var/spack/repos/builtin/packages/py-tensorflow/Find_ROCm_Components_Individiually.patch +++ /dev/null @@ -1,388 +0,0 @@ -diff --git a/tensorflow/tsl/platform/default/rocm_rocdl_path.cc b/tensorflow/tsl/platform/default/rocm_rocdl_path.cc -index dfd9721b..88215316 100644 ---- a/tensorflow/tsl/platform/default/rocm_rocdl_path.cc -+++ b/tensorflow/tsl/platform/default/rocm_rocdl_path.cc -@@ -40,6 +40,9 @@ string RocmRoot() { - #endif - } - --string RocdlRoot() { return io::JoinPath(RocmRoot(), "amdgcn/bitcode"); } -+string RocdlRoot() { -+ const char* llvm_path_env = std::getenv("LLVM_PATH"); -+ return io::JoinPath(llvm_path_env, "amdgcn/bitcode"); -+} - - } // namespace tsl -diff --git a/third_party/gpus/find_rocm_config.py b/third_party/gpus/find_rocm_config.py -index cd64efe6..e38495e2 100644 ---- a/third_party/gpus/find_rocm_config.py -+++ b/third_party/gpus/find_rocm_config.py -@@ -70,9 +70,10 @@ def _get_header_version(path, name): - def _find_rocm_config(rocm_install_path): - - def rocm_version_numbers(path): -+ rocm_core_path = os.environ.get('ROCM_CORE_PATH') - possible_version_files = [ -- "include/rocm-core/rocm_version.h", # ROCm 5.2 -- "include/rocm_version.h", # ROCm 5.1 and prior -+ rocm_core_path + "/include/rocm-core/rocm_version.h", -+ rocm_core_path + "/include/rocm_version.h", # ROCm 5.1 and prior - ] - version_file = None - for f in possible_version_files: -@@ -101,9 +102,10 @@ def _find_rocm_config(rocm_install_path): - def _find_hipruntime_config(rocm_install_path): - - def hipruntime_version_number(path): -+ hip_path = os.environ.get('HIP_PATH') - possible_version_files = [ -- "include/hip/hip_version.h", # ROCm 5.2 -- "hip/include/hip/hip_version.h", # ROCm 5.1 and prior -+ hip_path + "/include/hip/hip_version.h", -+ hip_path + "/hip/include/hip/hip_version.h", # ROCm 5.1 and prior - ] - version_file = None - for f in possible_version_files: -@@ -133,7 +135,9 @@ def _find_hipruntime_config(rocm_install_path): - def _find_miopen_config(rocm_install_path): - - def miopen_version_numbers(path): -+ miopen_path = os.environ.get('MIOPEN_PATH') - possible_version_files = [ -+ miopen_path + "/include/miopen/version.h", - "include/miopen/version.h", # ROCm 5.2 and prior - "miopen/include/miopen/version.h", # ROCm 5.1 and prior - ] -@@ -164,7 +168,9 @@ def _find_miopen_config(rocm_install_path): - def _find_rocblas_config(rocm_install_path): - - def rocblas_version_numbers(path): -+ rocblas_path = os.environ.get('ROCBLAS_PATH') - possible_version_files = [ -+ rocblas_path + "/include/rocblas/internal/rocblas-version.h", - "include/rocblas/internal/rocblas-version.h", # ROCm 5.2 - "rocblas/include/internal/rocblas-version.h", # ROCm 5.1 and prior - ] -@@ -196,7 +202,9 @@ def _find_rocblas_config(rocm_install_path): - def _find_rocrand_config(rocm_install_path): - - def rocrand_version_number(path): -+ rocrand_path = os.environ.get('ROCRAND_PATH') - possible_version_files = [ -+ rocrand_path + "/include/rocrand/rocrand_version.h", - "include/rocrand/rocrand_version.h", # ROCm 5.1 - "rocrand/include/rocrand_version.h", # ROCm 5.0 and prior - ] -@@ -222,7 +230,9 @@ def _find_rocrand_config(rocm_install_path): - def _find_rocfft_config(rocm_install_path): - - def rocfft_version_numbers(path): -+ rocfft_path = os.environ.get('ROCFFT_PATH') - possible_version_files = [ -+ rocfft_path + "/include/rocfft/rocfft-version.h", - "include/rocfft/rocfft-version.h", # ROCm 5.2 - "rocfft/include/rocfft-version.h", # ROCm 5.1 and prior - ] -@@ -253,7 +263,9 @@ def _find_rocfft_config(rocm_install_path): - def _find_hipfft_config(rocm_install_path): - - def hipfft_version_numbers(path): -+ hipfft_path = os.environ.get('HIPFFT_PATH') - possible_version_files = [ -+ hipfft_path + "/include/hipfft/hipfft-version.h", - "include/hipfft/hipfft-version.h", # ROCm 5.2 - "hipfft/include/hipfft-version.h", # ROCm 5.1 and prior - ] -@@ -284,7 +296,9 @@ def _find_hipfft_config(rocm_install_path): - def _find_roctracer_config(rocm_install_path): - - def roctracer_version_numbers(path): -+ roctracer_path = os.environ.get('ROCTRACER_PATH') - possible_version_files = [ -+ roctracer_path + "/include/roctracer/roctracer.h", - "include/roctracer/roctracer.h", # ROCm 5.2 - "roctracer/include/roctracer.h", # ROCm 5.1 and prior - ] -@@ -316,7 +330,9 @@ def _find_roctracer_config(rocm_install_path): - def _find_hipsparse_config(rocm_install_path): - - def hipsparse_version_numbers(path): -+ hipsparse_path = os.environ.get('HIPSPARSE_PATH') - possible_version_files = [ -+ hipsparse_path + "/include/hipsparse/hipsparse-version.h", - "include/hipsparse/hipsparse-version.h", # ROCm 5.2 - "hipsparse/include/hipsparse-version.h", # ROCm 5.1 and prior - ] -@@ -346,7 +362,9 @@ def _find_hipsparse_config(rocm_install_path): - def _find_hipsolver_config(rocm_install_path): - - def hipsolver_version_numbers(path): -+ hipsolver_path = os.environ.get('HIPSOLVER_PATH') - possible_version_files = [ -+ hipsolver_path + "/include/hipsolver/internal/hipsolver-version.h", - "include/hipsolver/internal/hipsolver-version.h", # ROCm 5.2 - "hipsolver/include/internal/hipsolver-version.h", # ROCm 5.1 - "hipsolver/include/hipsolver-version.h", # ROCm 5.0 and prior -@@ -378,7 +396,9 @@ def _find_hipsolver_config(rocm_install_path): - def _find_rocsolver_config(rocm_install_path): - - def rocsolver_version_numbers(path): -+ rocsolver_path = os.environ.get('ROCSOLVER_PATH') - possible_version_files = [ -+ rocsolver_path + "/include/rocsolver/rocsolver-version.h", - "include/rocsolver/rocsolver-version.h", # ROCm 5.2 - "rocsolver/include/rocsolver-version.h", # ROCm 5.1 and prior - ] -diff --git a/third_party/gpus/find_rocm_config.py.gz.base64 b/third_party/gpus/find_rocm_config.py.gz.base64 -index fee67ec5..6e437b26 100644 ---- a/third_party/gpus/find_rocm_config.py.gz.base64 -+++ b/third_party/gpus/find_rocm_config.py.gz.base64 -@@ -1 +1 @@ --eJztW21v2zgS/q5fQSgoam9dJSlugUMOOcCbZlHftUlhZ7tYtIVB27TNrSz6SCppUPS/7wxJyRIt2YqjvX6JgTa2NPNwOC8Ph7Z4RC7E+l7yxVKTVyevTsjNkpEblighf43FHemneimkikg/jskQxRQZMsXkLZtFwVFwRN7yKYizGUmTGZNEg35/Tafwx93pkQ9MKi4S8io6IR0UCN2tsPsvQLgXKVnRe5IITVLFAIIrMucxI+zrlK014QmZitU65jSZMnLH9dIM40DADPKHgxATTUGagvwaPs2LcoRqYzC+llqvz46P7+7uImqMjYRcHMdWUB2/HVxcXo0uX4LBRuW3JGZKEcn+l3IJU53cE7oGe6Z0AlbG9I4ISehCMrinBdp7J7nmyaJHlJjrOyoZoMy40pJPUl1yVmYdzLkoAO6iCQn7IzIYheSX/mgw6gHG74ObN9e/3ZDf+8Nh/+pmcDki10NycX31enAzuL6CT7+S/tUf5L+Dq9c9wsBVMAz7upZoPxjJ0Y0mdGTEWMmAubAGqTWb8jmfwrySRUoXjCzELZMJTIesmVxxhcFUYN4MUGK+4ppqc2VrUjjMeauvIAzD95InmIbXFysYfiKpvEdjyJJRHH8GIZpqITkzNpJbm32QUgIMRMeaWd4rzVZREGDCq6nkkGeKUQm5oIwr6uAxMVUZpQcRR69pFcDFFabAjGl0VWJczGVmhAFaW/tRfyqSOV+k0jgQ9ZSeiVRHxqo1xUQXGThmiIsNptlSinSxxCRhyS2XIlmxRJNbKrlJyg7Y/278vn/zphsFgzkUF9yL+cwbkju39Ox0rB8yA405TEoTasl0Kk3YCVwCB03FjJX9p+kXZueVxeC+YDEUDd7K7aq0OyrixUJ8scGwvrfxzGJiA2GqfUnl7CXaM4MYaqj7QKWTYh7MpViRCVXOqY4YNrbl9kYEfLUxEdwDrBTkgsZNUJbHYq2PpZiuQhRJkf4o2KIh7nOaxjifOGUBZmsQQM0JCeET2TuhsnfAC+4dZFIQBNOYQp1emBBdopc7l4YCIVTds4CA9QrFYBQyXjA9dsON0ZQxTq1jxGysimYWlYwwJJWmcVxQAltfZ1lrPZ2F3IVtRZySTR3UjHCCMJ6PSM5r7QNxPidh7uMQQyhU5LIBLakG3Mh8LGh/BvmjOnljomQ0NkNvCXU3rtq6V3QYLj5Ccc3GrozHSbqaMNlZ0T+F7BHwGP4Btemy6P/TE3iRn4gRIy/wM35CafhkxIvD2CTPxuigFT2S0BXLwjN08QA2X4PBQOkABOomYODFiyJHudBg9cTIQ3Cfi0isWYYcyhBWiATKBpj9PEz1/OU/w671/wptAx9KFpm3HRke2YHIM0VedD7NXnRD8sxY1zP4XaMHkTXyFoXYMgAcczFaAGWtO6ddd9N5CbimY+S6AbqOcqjSYgU8z0YOv3035WZXtU/J8wgmB8gd4yPywsGWXyExfQUugMgz4AXTWXz7DuvmpyTMIEw61ENwoEM7F8sIyIJgN1sw9C4UDY3DbhZLMHZmM95ybUXineFUUdjcKmeV6jgRHBvyTnHgxVzGst45+ZibGvJkGqczZgodWFDad5lGtIQwQ4mYAv45elWtVyN9mi1YQhq9z+b/oi1gypVImLmOuTZHF1dbnSdF4aJfrH8KnuXnPMsTSKrsNvsKLZLqbCF0z/JpecZtieaCEyCGL1nWYkyLohnedjoWUiQ0XsqWdjMg4tg+A9wA+Zrll5dY1Q7qmgogji/OK1mhqNBzNPrhcjiC5m/8rv+f62Fo3WZZ5gCMwVWOsXYs8FAMIOaLNw7DFXkFU+JcKy4j61QVRQV7ZyuPLTNQ/ObcHFYghGcHkDngfQ+8VcKOVir2JV/LNNF8xRqUfEHYs+DAugdA/Le/4FGwmdJT3e+s+zeD92RoY/g3lP8RbMJhmSms5dDg2sb7K246oc3MlkT0PBiTVV6P3C0F2G27T4sFSJ2CiCUJaEOwGXlBSnew9LtODXoNyfit3SJmDYwlFdsavpzSeJpCLwjWMQkcoLjZnUPzL0zTbHHuKKy6UHe4XAoDNkkVNiwKu/A1hfnDvhK6f0gH3KeqhzLg1tweToBbTihz12mpiTO4GKitoi8SUG2RAw3VE0Blh1okoK0xSzS04tjeNaAgJ/i4vqPEQRbxuMQm7rVhIo9UchCnvAvriZkaMdPzd4Nr8F2ZlEzfnDNT3jUXwbvdh5YdDPT+8uqxleejHNZ8eCiPbT9qqqO6ASnVXJEBKlHCs0KwHt2OlMb2dx+TmKpmGxAj2d4eBOGOcXMkExpnF17ubU42mhapIcITH+zsVJzz2u1SHkgVEKlf3vZHLWxTyjAH71RKMC1sVioLqHa/UihMb8tSgdMuYZRH9xlDQiU1Ywwj2c7mxaEde6h+lZd4wih4ADWKJ0/0sIceZOE3kt30sJMPytnQuBSH/avXWSmWi7AM6GqnkKJe7VSkJLTaNbm6t88uD+UXynyum9UJCra3sAKa+9NoNUXxsvbTEnpgjYDvfugK6qWS0Xz4AuqjoObD108PxWg+bvmsqpLa1XNTex4BbKO0vnZuxva//WvGCE6wJUawaO7PfkZw4mXtJ0Y4hBGs734oI1gTPtiL7w7jgzLGYWxQwnj/SC6oqY9qLihVnffV29/NBaWx/e5ASzoFhzVqEJxsez2CBdy829khOOEt9Sc2eGB/YN32ozfZN8P+xeWwhW22D1TYaB9tsjZ/3kow+5v4kt4yQl01Z75w7XuRVk4e0yzUVExtv1CqRq9lqMRqvWsoWeA3Dgp/AWn4q6GTba99sICbd42aCKe0BfPUShzYSlj3/ehuwlrx6IaiDHNwT1GCaaGtqCmd2s6iVJZec1GJ1Xp/UbLAJw0R3zbqMDayLZKGAdx8PZ9fasYembb3Jf8+lNNdKPuUn74E3OKgjRcfTDxtko6x4PGkU4I5nHSKMG2QTnXp1ZNOsax90qnCap90ihb4+5rGrLORbW9f4yo+f9foG1CPJvYpP7Uq+/Y5BzJGm6wBsRpdv/3Qyj7HBzr4B0UPqIWfFB/EHX5xetuc/wN3+BY47th6Etp/kp2SGZ/iaQI80CHmthKNIQnDIyhuPjyZi31HDSpONQR5tnslVUVeewrg+Sg/LLI5HmKerMn3vwY8f7xmewwbK6bwfAhE6Pvm40f7wKoWIv7CtZEOP2cPwpZOJWQaUbqeUc064wYPm3drtJo8tVqnu+9Rszq9vQ+m7FDc/fv0DsWd3867LCkFwiuVz+Tf5+QfJ6cnJy5Nqp25d5ga8/Z9Ybgjfvu+Pmg+uZ/3TG7f6r9jfvtVC0RiIBx9rCisj6Y0tbw/y1fdL+y+l53GSIgSUrNZZ5tqIqCylep08+XSHGvrhM/UGXmm8PRKZ4Nk7HfHTQv1j6e63PKo7lVkj8NFeLiTdcJPyeVweD08g1L+lBTOkigtOwDYzdWAGDQeewkCiMV4jMdVxmNyfk7C8RjnOB4bNrbTDf4CEAHDYg== -\ No newline at end of file -+eJztW21v2zgS/q5fQSgoKl8cJSlugUMOOcCbpqjv2iSws10smsKQbdrmVhZ9pJQ0KPrfb4akZIqW5NfbfkmA1rY083A4L4+GknhErvjiWbDpLCVvzt6ckfsZJfc0kVy8i/kT6WTpjAsZkk4ckx6KSdKjkopHOg69I++IfGAjEKdjkiVjKkgK+p1FNIIPc6ZNPlEhGU/Im/CMBCjgm1N+65+A8MwzMo+eScJTkkkKEEySCYspod9GdJESlpARny9iFiUjSp5YOlPDGBAwg/xhIPgwjUA6AvkF/JrYciRKlcH4N0vTxcXp6dPTUxgpY0MupqexFpSnH7pX1zf96xMwWKn8lsRUSiLofzMmYKrDZxItwJ5RNAQr4+iJcEGiqaBwLuVo75NgKUumbSL5JH2KBAWUMZOpYMMsLTkrtw7mbAuAu6KE+J0+6fZ98mun3+23AeP37v3729/uye+dXq9zc9+97pPbHrm6vXnbve/e3sCvd6Rz8wf5T/fmbZtQcBUMQ78tBNoPRjJ0owod6VNaMmDCtUFyQUdswkYwr2SaRVNKpvyRigSmQxZUzJnEYEowbwwoMZuzNErVkZVJ4TCXB/3zfN+/EyzBNLy9msPwQxGJZzSGzGiE448hRKOUC0aVjeRRZx+kFAcD0bFqls8ypfPQ8zDh5UgwyDNJIwG5IJUr6uAxMWUZpQ0RR6+l0oODc0yBMU3RVYlyMRO5EQpooe1H/RFPJmyaCeVA1JPpmGdpqKxaRJjoPAfHDDGxwTSbCZ5NZ5gkNHlkgidzmqTkMRJMJWUA9n8c3HXu37dCrzuB4oJzMRs7QzLjlraejvZDbqAyhwqhQi1omgkVdgKHwEEjPqZl/6XRV6rnlcfg2bIYigZPFXZV2h3aeDHnX3UwtO91PPOY6ECoap9FYnyC9owhhinUvSezoZ0HE8HnZBhJ41RDDEvbCntDAr5amgjuAVbyCkHlJijLU75ITwUfzX0UyZD+IrAlhbhPoizG+cQZ9TBbPQ9qjgsIH8+/cZl/A14w3yCTPM8bxRHU6ZUK0TV6ObhWFAihal14BKyXKAajkMGUpgMz3ABNGeDUAiWmY2WbaSspYUiqNIpjSwlsfZtnrfZ0HnITtjkxSjp1UDPECcJ4LiK5rLUPxNmE+IWPfQwhl6HJBrSkGnAp89nS/gLyR3XyykRBo1gNvSLUWrpq5ZztMLz4cMlSOjBlPEiy+ZCKYB79yUWbgMfwA9RGM9v/52fwR/5GlBg5xt/4C6XhlxK3h9FJno8RoBVtkkRzmoenZ+IBbL4Ag4HSAQjUVcDAi1c2R5nQYPXEyENwnvGQL2iO7AsfrhAJlA0w+6WfpZOTf/gt7f852gY+FDRUXwPhH+mByCtJjoOH8XHLJ6+UdW2F31J6EFklr1GILgPAUQfDKVDWIjhvmZPGS8A1gZJreei6iEGV2hXwOh/Z//5DlZu+qj0kr0OYHCAHykfk2MCW/3yi+gq8ACLPgBdUZ/H9B1w3HxI/h1DpUA/BgA71XDQjIAuC3XRK0btQNFHst/JYgrFjnfGaaysS7wKnisLqVDmrZGBEikIYcUFXqyCEnAleq0q4uu1dq3J4rX0L2SoZsGmBrLnyknwuJugAHwNZsGQUZ2OqCOMET53a1oUzv72ptq2D5anI45fwPL/8caGQvqj/bRvBxBueUHUcM3eCAaueTZFi1kG39P/kLM/2SZ51kKL5afoNGi4ZrCC0LoqJOsatiBaCQ6CZr3kNYIbYojneanJbCecrL+WNghoQcXTXAm6A7C+ytdIjLVVAxNDNZSWp2Aptw8Kfrnt96B0HHzv/vu352k+apHbA6N4UGAtDIttiQCJfvTcYhiMqiBbnWnEYSauqpirI3yvyGOMBit9NNPwKBP9ih2sB4P3wnIuMHq3EFTO2EFmSsjndgDEsYccCK3VBqI4w3nfvtqSKAswucziI/yrZoaSAgg1KL/TQRA8+RIv0dLg3owaLUJpZ4giW+nAxszoGaKN1e/8Nl7bQzOYXXnQ1po0p0DZ5mnEwVPe4GguQAktEcwk0O9jyHJPSGWSIllGDjkZQ9qgXonmbpLlHN6AnoygeZdBxgnVUAFVIpu4BwBKDq9Zc4zxFcG2H9MaLMldgw0xiWySx119EMH9YvcIaA+KPq2G5LVGuzG17nlxxQpnizkutosLFQK1wg81TtVwAbFXPE5V9sM1TK2OW2GrOsIncgKmMYEN3YyRqmOpj9/bu+mZLsrIhbb7Sx0+r6Mqvl7HY6Y3DTkrTaGwE8EJvTd0PRht8VyY51fEXTFf0+zZ4q7VtKZu02rOaXZTd+h4HZd/Op6biqnufUh3brFKJ4l9Ywdq7EyqN7a6bhnEkN1s6Kcnm1ZMSqV87/fqh099+5bQEdVY+eOIUF4YiieL8wEkj6WyiZdPQEmGpqZE2RHjhocZVmHHe1t1WffZsT1F5Yu6/MivD7Lw4K8EcYH1WWbi1SzSLEJxVWgXOYYmqPLrLVAIqaTOmUpL167Vcop6oep2bt9sT1RLUISo8cerYVctPdcI2qZRoSSk4ADWKZy9stIaNhPUQa8fbQrbVOvk2rnyVd6byyzVfBjSlalWEU6oVFQCrlJrSWLtEKQ/l1uVkkm5WlijY3D+gRH1Vvnt3v31RFpBOTcJx87G2Y6gWrW0TULys/dIb7FiN4LsDFOMWvYCTpUpz+1bARUHN7TsBB0Vp7tcIVBVgbR+wLGuHW1ZRDt4FLMd2b91uRjZGsIFsjET9bdvtycaGdG7eIiXoj2ayqRWtJhsjXtZ+IZtdyEb77q8lGz3mJ33w425UU8bYjWhKGHd70kxN6VXTTKmgnXut/2+aKY3t9jSpiEbgsI3aGiPb3NkYofrm5r7Xubrubd/f2MBOi6NPLb/VNjhVgrXtjRFeUX/hm7XPlwpfHe7p0paUs0y0/e92uEDW/Y6jZWYWLwpyql/mmEWPlESGL3I/mGWNTVxn+3Q6NTVZ2+yU6t3pdyqxDt7ylCxwux6JD9U2fF5tZJt7HyNU3/707zq9/ravuTjAThOkTy2/rW2FmhRqGyKjtALz0hZtTFOFz34aTRUW7N0clWF27o9KMAdokWqKtLZLKhGA0yhVYh28VypZ4NITjx836paWsmvoSQs10NPth09bd0sOsEtP6tTyuU5xaD1PbaJZT1i5tvNcaR3KeRPKOuWXG8HVtKd89lNpT1mwP+2VYHanPRvmELRXXfz1tGcTi0t7VViHpz3bAneVuDHvLWWbV4nNvAe1uxPvOcDOKtEwR/Ft7e3wJoXaVaPDT+uUX9qyytXjT+anZQLuv3p0gXZ+Wu4AHeB5+VYs5dKAs3j8C1jKtcCw1MrGCHdjS0TGbISbi3B/F5/o0lOGJBR3pJn5sGTC1+08qtjk5BXp7dRQFU1WZ3zhpNf9Yu/YcreYel2tuKugwIt31lbH0LGiEreLQYR+LH9+1i+gp5zHX5m+fe9/yV9sL21SyjXCbDGOUhoMNth70qrR2uQt9Drdde+E1umtfdurQbH55YsGxcYHNiZLSoFwSuUL+dcl+fvZ+dmZSZNqZ64dpsa8dTd6G+K37qbM5pP7Zc3k1vUZDfNbr2oRiYIw9DGP4IKoSjMVzxfFZfYrfW7nm7MSIrlI6ThYpZoQqGwug1ZxfVS7XAP/lbwgryRuZguWSMp+s/vcqn/c5Gmuh/JZhnp3bIh7vWngPyTXvd5t7wJK+SGxtpbJVAQA2CrUgBhS3AXneRCLwQB3rw0G5PKS+IMBznEwUGysp+v9DwcFMAM= -\ No newline at end of file -diff --git a/third_party/gpus/rocm_configure.bzl b/third_party/gpus/rocm_configure.bzl -index 30760f4f..336c1e96 100644 ---- a/third_party/gpus/rocm_configure.bzl -+++ b/third_party/gpus/rocm_configure.bzl -@@ -29,7 +29,6 @@ load( - "which", - ) - -- - _GCC_HOST_COMPILER_PATH = "GCC_HOST_COMPILER_PATH" - _GCC_HOST_COMPILER_PREFIX = "GCC_HOST_COMPILER_PREFIX" - _ROCM_TOOLKIT_PATH = "ROCM_PATH" -@@ -175,17 +174,23 @@ def _rocm_include_path(repository_ctx, rocm_config, bash_bin): - """ - inc_dirs = [] - -+ hsa_path = get_host_environ(repository_ctx, "HSA_ROCR_DEV_PATH") -+ hip_path = get_host_environ(repository_ctx, "HIP_PATH") -+ rocprim_path = get_host_environ(repository_ctx, "ROCPRIM_PATH") -+ rocsolver_path = get_host_environ(repository_ctx, "ROCSOLVER_PATH") -+ rocblas_path = get_host_environ(repository_ctx, "ROCBLAS_PATH") -+ llvm_path = get_host_environ(repository_ctx, "LLVM_PATH") - # Add HSA headers (needs to match $HSA_PATH) -- inc_dirs.append(rocm_config.rocm_toolkit_path + "/hsa/include") -+ inc_dirs.append(hsa_path + "/include/hsa") - - # Add HIP headers (needs to match $HIP_PATH) - inc_dirs.append(rocm_config.rocm_toolkit_path + "/hip/include") - if int(rocm_config.rocm_version_number) >= 50200: - inc_dirs.append(rocm_config.rocm_toolkit_path + "/include") -- inc_dirs.append(rocm_config.rocm_toolkit_path + "/include/hip") -- inc_dirs.append(rocm_config.rocm_toolkit_path + "/include/rocprim") -- inc_dirs.append(rocm_config.rocm_toolkit_path + "/include/rocsolver") -- inc_dirs.append(rocm_config.rocm_toolkit_path + "/include/rocblas") -+ inc_dirs.append(hip_path + "/include/hip") -+ inc_dirs.append(rocprim_path + "/include/rocprim") -+ inc_dirs.append(rocsolver_path + "/include/rocsolver") -+ inc_dirs.append(rocblas_path + "/include/rocblas") - - # Add HIP-Clang headers (realpath relative to compiler binary) - rocm_toolkit_path = realpath(repository_ctx, rocm_config.rocm_toolkit_path, bash_bin) -@@ -198,7 +203,7 @@ def _rocm_include_path(repository_ctx, rocm_config, bash_bin): - inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/14.0.0/include") - inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/15.0.0/include") - inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/16.0.0/include") -- inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/17.0.0/include") -+ inc_dirs.append(llvm_path + "/lib/clang/17.0.0/include/") - inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/17/include") - inc_dirs.append(rocm_toolkit_path + "/llvm/lib/clang/18/include") - -@@ -224,7 +229,8 @@ def _amdgpu_targets(repository_ctx, rocm_toolkit_path, bash_bin): - """Returns a list of strings representing AMDGPU targets.""" - amdgpu_targets_str = get_host_environ(repository_ctx, _TF_ROCM_AMDGPU_TARGETS) - if not amdgpu_targets_str: -- cmd = "%s/bin/rocm_agent_enumerator" % rocm_toolkit_path -+ rocminfo_path = get_host_environ(repository_ctx, "ROCMINFO_PATH") -+ cmd = rocminfo_path + "/bin/rocm_agent_enumerator" - result = execute(repository_ctx, [bash_bin, "-c", cmd]) - targets = [target for target in result.stdout.strip().split("\n") if target != "gfx000"] - targets = {x: None for x in targets} -@@ -345,23 +351,33 @@ def _find_libs(repository_ctx, rocm_config, hipfft_or_rocfft, miopen_path, rccl_ - Returns: - Map of library names to structs of filename and path - """ -+ hip_path = get_host_environ(repository_ctx, "HIP_PATH") -+ rocblas_path = get_host_environ(repository_ctx, "ROCBLAS_PATH") -+ hipfft_path = get_host_environ(repository_ctx, "HIPFFT_PATH") -+ hiprand_path = get_host_environ(repository_ctx, "HIPRAND_PATH") -+ hipsparse_path = get_host_environ(repository_ctx, "HIPSPARSE_PATH") -+ roctracer_path = get_host_environ(repository_ctx, "ROCTRACER_PATH") -+ rocsolver_path = get_host_environ(repository_ctx, "ROCSOLVER_PATH") -+ hipsolver_path = get_host_environ(repository_ctx, "HIPSOLVER_PATH") -+ hipblas_path = get_host_environ(repository_ctx, "HIPBLAS_PATH") -+ - libs_paths = [ - (name, _rocm_lib_paths(repository_ctx, name, path)) - for name, path in [ -- ("amdhip64", rocm_config.rocm_toolkit_path), -- ("rocblas", rocm_config.rocm_toolkit_path), -- (hipfft_or_rocfft, rocm_config.rocm_toolkit_path), -- ("hiprand", rocm_config.rocm_toolkit_path), -- ("MIOpen", miopen_path), -+ ("amdhip64", hip_path + "/lib"), -+ ("rocblas", rocblas_path), -+ (hipfft_or_rocfft, hipfft_path), -+ ("hiprand", hiprand_path), -+ ("MIOpen", miopen_path), - ("rccl", rccl_path), -- ("hipsparse", rocm_config.rocm_toolkit_path), -- ("roctracer64", rocm_config.rocm_toolkit_path), -- ("rocsolver", rocm_config.rocm_toolkit_path), -+ ("hipsparse", hipsparse_path), -+ ("roctracer64", roctracer_path + "/lib"), -+ ("rocsolver", rocsolver_path), - ] - ] - if int(rocm_config.rocm_version_number) >= 40500: -- libs_paths.append(("hipsolver", _rocm_lib_paths(repository_ctx, "hipsolver", rocm_config.rocm_toolkit_path))) -- libs_paths.append(("hipblas", _rocm_lib_paths(repository_ctx, "hipblas", rocm_config.rocm_toolkit_path))) -+ libs_paths.append(("hipsolver", _rocm_lib_paths(repository_ctx, "hipsolver", hipsolver_path))) -+ libs_paths.append(("hipblas", _rocm_lib_paths(repository_ctx, "hipblas", hipblas_path))) - - # hipblaslt may be absent even in versions of ROCm where it exists - # (it is not installed by default in some containers). Autodetect. -@@ -578,12 +594,13 @@ def _create_local_rocm_repository(repository_ctx): - hipfft_or_rocfft = "rocfft" if rocm_version_number < 40100 else "hipfft" - - # For ROCm 5.2 and above, find MIOpen and RCCL in the main rocm lib path -- miopen_path = rocm_config.rocm_toolkit_path + "/miopen" if rocm_version_number < 50200 else rocm_config.rocm_toolkit_path -- rccl_path = rocm_config.rocm_toolkit_path + "/rccl" if rocm_version_number < 50200 else rocm_config.rocm_toolkit_path -+ miopen_path = get_host_environ(repository_ctx, "MIOPEN_PATH") + "/miopen" -+ rccl_path = get_host_environ(repository_ctx, "RCCL_PATH") + "/rccl" - - # Copy header and library files to execroot. - # rocm_toolkit_path - rocm_toolkit_path = rocm_config.rocm_toolkit_path -+ rocblas_path = get_host_environ(repository_ctx, "ROCBLAS_PATH") - copy_rules = [ - make_copy_dir_rule( - repository_ctx, -@@ -597,6 +614,53 @@ def _create_local_rocm_repository(repository_ctx): - # explicitly copy (into the local_config_rocm repo) the $ROCM_PATH/hiprand/include and - # $ROCM_PATH/rocrand/include dirs, only once the softlink to them in $ROCM_PATH/include - # dir has been removed. This removal will happen in a near-future ROCm release. -+ rocm_parts = [ -+ "rocblas", -+ "rocprim", -+ "hipfft", -+ "hipsparse", -+ "rocsolver", -+ "hipsolver", -+ "hipblas", -+ "rccl", -+ "miopen", -+ "roctracer", -+ ] -+ rocm_includes = "" -+ -+ for part in rocm_parts: -+ part_cap = part.upper().replace("-","_") -+ part_path = get_host_environ(repository_ctx, part_cap + "_PATH") -+ rocm_includes = rocm_includes + '":' + part + '-include",\n' -+ rocm_includes = rocm_includes + '":' + part + '-include-second",\n' -+ copy_rules.append( -+ make_copy_dir_rule( -+ repository_ctx, -+ name = part + "-include", -+ src_dir = part_path + "/include/" + part, -+ out_dir = "rocm/include", -+ ), -+ ) -+ copy_rules.append( -+ make_copy_dir_rule( -+ repository_ctx, -+ name = part + "-include-second", -+ src_dir = part_path + "/include/" + part, -+ out_dir = "rocm/include/" + part, -+ ), -+ ) -+ hipcub_path = get_host_environ(repository_ctx, "HIPCUB_PATH") -+ copy_rules.append( -+ make_copy_dir_rule( -+ repository_ctx, -+ name = "hipcub-include", -+ src_dir = hipcub_path + "/include/hipcub/", -+ out_dir = "rocm/include/hipcub/", -+ ) -+ ) -+ rocm_includes = rocm_includes + '":hipcub-include",\n' -+ -+ hiprand_path = get_host_environ(repository_ctx, "HIPRAND_PATH") - hiprand_include = "" - hiprand_include_softlink = rocm_config.rocm_toolkit_path + "/include/hiprand" - softlink_exists = files_exist(repository_ctx, [hiprand_include_softlink], bash_bin) -@@ -606,11 +670,12 @@ def _create_local_rocm_repository(repository_ctx): - make_copy_dir_rule( - repository_ctx, - name = "hiprand-include", -- src_dir = rocm_toolkit_path + "/hiprand/include", -+ src_dir = hiprand_path + "/include/hiprand", - out_dir = "rocm/include/hiprand", - ), - ) - -+ rocrand_path = get_host_environ(repository_ctx, "ROCRAND_PATH") - rocrand_include = "" - rocrand_include_softlink = rocm_config.rocm_toolkit_path + "/include/rocrand" - softlink_exists = files_exist(repository_ctx, [rocrand_include_softlink], bash_bin) -@@ -620,11 +685,10 @@ def _create_local_rocm_repository(repository_ctx): - make_copy_dir_rule( - repository_ctx, - name = "rocrand-include", -- src_dir = rocm_toolkit_path + "/rocrand/include", -+ src_dir = rocrand_path + "/include/rocrand", - out_dir = "rocm/include/rocrand", - ), - ) -- - rocm_libs = _find_libs(repository_ctx, rocm_config, hipfft_or_rocfft, miopen_path, rccl_path, bash_bin) - rocm_lib_srcs = [] - rocm_lib_outs = [] -@@ -639,7 +703,8 @@ def _create_local_rocm_repository(repository_ctx): - outs = rocm_lib_outs, - )) - -- clang_offload_bundler_path = rocm_toolkit_path + "/llvm/bin/clang-offload-bundler" -+ llvm_amdgpu_path = get_host_environ(repository_ctx, "LLVM_PATH") -+ clang_offload_bundler_path = llvm_amdgpu_path + "/bin/clang-offload-bundler" - - # copy files mentioned in third_party/gpus/rocm/BUILD - copy_rules.append(make_copy_files_rule( -@@ -683,9 +748,7 @@ def _create_local_rocm_repository(repository_ctx): - "%{roctracer_lib}": rocm_libs["roctracer64"].file_name, - "%{rocsolver_lib}": rocm_libs["rocsolver"].file_name, - "%{copy_rules}": "\n".join(copy_rules), -- "%{rocm_headers}": ('":rocm-include",\n' + -- hiprand_include + -- rocrand_include), -+ "%{rocm_headers}": ('":rocm-include",\n' + rocrand_include + hiprand_include + rocm_includes), - } - if rocm_libs["hipblaslt"] != None: - repository_dict["%{hipblaslt_lib}"] = rocm_libs["hipblaslt"].file_name -@@ -749,16 +812,18 @@ def _create_local_rocm_repository(repository_ctx): - tpl_paths["crosstool:hipcc_cc_toolchain_config.bzl"], - ) - -+ hip_path = get_host_environ(repository_ctx, "HIP_PATH") -+ hsa_rocr_dev_path = get_host_environ(repository_ctx, "HSA_ROCR_DEV_PATH") - repository_ctx.template( - "crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc", - tpl_paths["crosstool:clang/bin/crosstool_wrapper_driver_rocm"], - { - "%{cpu_compiler}": str(cc), -- "%{hipcc_path}": rocm_config.rocm_toolkit_path + "/bin/hipcc", -+ "%{hipcc_path}": hip_path + "/bin/hipcc", - "%{hipcc_env}": _hipcc_env(repository_ctx), -- "%{rocr_runtime_path}": rocm_config.rocm_toolkit_path + "/lib", -+ "%{rocr_runtime_path}": hsa_rocr_dev_path + "/lib", - "%{rocr_runtime_library}": "hsa-runtime64", -- "%{hip_runtime_path}": rocm_config.rocm_toolkit_path + "/lib", -+ "%{hip_runtime_path}": hip_path + "/lib", - "%{hip_runtime_library}": "amdhip64", - "%{crosstool_verbose}": _crosstool_verbose(repository_ctx), - "%{gcc_host_compiler_path}": str(cc), diff --git a/var/spack/repos/builtin/packages/py-tensorflow/package.py b/var/spack/repos/builtin/packages/py-tensorflow/package.py index 80844e9bc45ec2..93a34134d03409 100644 --- a/var/spack/repos/builtin/packages/py-tensorflow/package.py +++ b/var/spack/repos/builtin/packages/py-tensorflow/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os import sys import tempfile @@ -44,11 +45,13 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): license("Apache-2.0") + version("2.17.0", sha256="9cc4d5773b8ee910079baaecb4086d0c28939f024dd74b33fc5e64779b6533dc") + version("2.16.2", sha256="023849bf253080cb1e4f09386f5eb900492da2288274086ed6cfecd6d99da9eb") version("2.16.1", sha256="c729e56efc945c6df08efe5c9f5b8b89329c7c91b8f40ad2bb3e13900bd4876d") version( - "2.16-rocm-enhanced", - git="https://github.com/ROCm/tensorflow-upstream.git", - branch="r2.16-rocm-enhanced", + "2.16.1-rocm-enhanced", + sha256="6765e85675734b8fe17bca3c0669aec2f9ee97699b413780bcf3c6f00661ce72", + url="https://github.com/ROCm/tensorflow-upstream/archive/refs/tags/r2.16-rocm-enhanced.tar.gz", ) version("2.15.1", sha256="f36416d831f06fe866e149c7cd752da410a11178b01ff5620e9f265511ed57cf") version("2.15.0", sha256="9cec5acb0ecf2d47b16891f8bc5bc6fbfdffe1700bdadc0d9ebe27ea34f0c220") @@ -117,6 +120,9 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): version("2.2.1", sha256="e6a28e64236d729e598dbeaa02152219e67d0ac94d6ed22438606026a02e0f88") version("2.2.0", sha256="69cd836f87b8c53506c4f706f655d423270f5a563b76dc1cfa60fbc3184185a3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mkl", default=False, description="Build with MKL support") variant("jemalloc", default=False, description="Build with jemalloc as malloc support") variant("gcp", default=False, description="Build with Google Cloud Platform support") @@ -157,144 +163,144 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): extends("python") - # Python support based on wheel availability - 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.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 - depends_on("bazel@4.2.2:5.99.0", type="build", when="@2.9") - depends_on("bazel@4.2.1:4.99.0", type="build", when="@2.8") - depends_on("bazel@3.7.2:4.99.0", type="build", when="@2.7") - depends_on("bazel@3.7.2:3.99.0", type="build", when="@2.5:2.6") - depends_on("bazel@3.1.0:3.99.0", type="build", when="@2.3:2.4") - depends_on("bazel@2.0.0", type="build", when="@2.2") - - depends_on("swig", type="build") - depends_on("py-pip", type="build") - depends_on("py-wheel", type="build") - - # Listed under REQUIRED_PACKAGES in tensorflow/tools/pip_package/setup.py - depends_on("py-absl-py@1:", type=("build", "run"), when="@2.9:") - depends_on("py-absl-py@0.4:", type=("build", "run"), when="@2.7:2.8") - depends_on("py-absl-py@0.10:0", type=("build", "run"), when="@2.4:2.6") - depends_on("py-absl-py@0.7:", type=("build", "run"), when="@:2.3") - depends_on("py-astunparse@1.6:", type=("build", "run"), when="@2.7:") - depends_on("py-astunparse@1.6.3:1.6", type=("build", "run"), when="@2.4:2.6") - depends_on("py-astunparse@1.6.3", type=("build", "run"), when="@2.2:2.3") - depends_on("py-flatbuffers@23.5.26:", type=("build", "run"), when="@2.14:") - depends_on("py-flatbuffers@23.1.21:", type=("build", "run"), when="@2.13") - depends_on("py-flatbuffers@2:", type=("build", "run"), when="@2.10:2.12") - depends_on("py-flatbuffers@1.12:1", type=("build", "run"), when="@2.9") - depends_on("py-flatbuffers@1.12:", type=("build", "run"), when="@2.8") - depends_on("py-flatbuffers@1.12:2", type=("build", "run"), when="@2.7") - depends_on("py-flatbuffers@1.12", type=("build", "run"), when="@2.4:2.6") - depends_on("py-gast@0.2.1:0.4,0.5.3:", type=("build", "run"), when="@2.14:") - depends_on("py-gast@0.2.1:0.4.0", type=("build", "run"), when="@2.9:2.13") - depends_on("py-gast@0.2.1:", type=("build", "run"), when="@2.8") - depends_on("py-gast@0.2.1:0.4", type=("build", "run"), when="@2.7") - depends_on("py-gast@0.4.0", type=("build", "run"), when="@2.5:2.6") - depends_on("py-gast@0.3.3", type=("build", "run"), when="@2.2:2.4") - depends_on("py-gast@0.2.2", type=("build", "run"), when="@:2.1") - depends_on("py-google-pasta@0.1.1:", type=("build", "run"), when="@2.7:") - 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@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") - # propagate the mpi variant setting for h5py/hdf5 to avoid unexpected crashes - depends_on("py-h5py+mpi", type=("build", "run"), when="@2.1.3:+mpi") - depends_on("py-h5py~mpi", type=("build", "run"), when="@2.1.3:~mpi") - depends_on("hdf5+mpi", type="build", when="@2.1.3:+mpi") - 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.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") - depends_on("py-numpy@1.20:", type=("build", "run"), when="@2.8:2.11") - depends_on("py-numpy@1.14.5:", type=("build", "run"), when="@2.7") - depends_on("py-numpy@1.19.2:1.19", type=("build", "run"), when="@2.4:2.6") - # https://github.com/tensorflow/tensorflow/issues/40688 - depends_on("py-numpy@1.16.0:1.18", type=("build", "run"), when="@:2.3") - depends_on("py-opt-einsum@2.3.2:", type=("build", "run"), when="@:2.3,2.7:") - depends_on("py-opt-einsum@3.3", type=("build", "run"), when="@2.4:2.6") - depends_on("py-packaging", type=("build", "run"), when="@2.9:") - depends_on("py-protobuf@3.20.3:4.20,4.21.6:4", type=("build", "run"), when="@2.12:") - depends_on("py-protobuf@3.9.2:", type=("build", "run"), when="@2.3:2.11") - depends_on("py-protobuf@3.8.0:", type=("build", "run"), when="@:2.2") - # https://github.com/protocolbuffers/protobuf/issues/10051 - # https://github.com/tensorflow/tensorflow/issues/56266 - 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") - depends_on("py-termcolor@1.1:", type=("build", "run"), when="@:2.3,2.7:") - depends_on("py-termcolor@1.1", type=("build", "run"), when="@2.4:2.6") - 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:", 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") - - # TODO: add packages for these dependencies - # depends_on('py-tensorflow-io-gcs-filesystem@0.23.1:', type=('build', 'run'), when='@2.8:') - # depends_on('py-tensorflow-io-gcs-filesystem@0.21:', type=('build', 'run'), when='@2.7') - - if sys.byteorder == "little": - # Only builds correctly on little-endian machines - depends_on("py-grpcio@1.24.3:1", type=("build", "run"), when="@2.7:") - depends_on("py-grpcio@1.37.0:1", type=("build", "run"), when="@2.6") - depends_on("py-grpcio@1.34", type=("build", "run"), when="@2.5") - 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, 17): - depends_on( - "py-tensorboard@2.{}".format(minor_ver), - type=("build", "run"), - when="@2.{}".format(minor_ver), - ) - # TODO: is this still true? We now install tensorboard from wheel for all versions - # depends_on('py-tensorboard', when='@:2.4') # circular dep - # depends_on('py-tensorflow-estimator') # circular dep - # depends_on('py-keras') # circular dep - - # 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") - - # No longer a dependency in latest versions - depends_on("py-jax@0.3.15:", type=("build", "run"), when="@2.12") - depends_on("py-keras-preprocessing@1.1.1:", type=("build", "run"), when="@2.7:2.10") - depends_on("py-keras-preprocessing@1.1.2:1.1", type=("build", "run"), when="@2.4:2.6") - depends_on("py-keras-preprocessing@1.1.1:1.1", type=("build", "run"), when="@2.3") - depends_on("py-keras-preprocessing@1.1:", type=("build", "run"), when="@2.2") - depends_on("py-scipy@1.4.1", type=("build", "run"), when="@2.2.0,2.3.0") - depends_on("py-wheel@0.32:0", type=("build", "run"), when="@2.7") - depends_on("py-wheel@0.35:0", type=("build", "run"), when="@2.4:2.6") - depends_on("py-wheel@0.26:", type=("build", "run"), when="@:2.3") + with default_args(type="build"): + # See .bazelversion + depends_on("bazel@6.5.0", when="@2.16:") + depends_on("bazel@6.1.0", when="@2.14:2.15") + depends_on("bazel@5.3.0", when="@2.11:2.13") + depends_on("bazel@5.1.1", when="@2.10") + # See _TF_MIN_BAZEL_VERSION and _TF_MAX_BAZEL_VERSION in configure.py + depends_on("bazel@4.2.2:5.99.0", when="@2.9") + depends_on("bazel@4.2.1:4.99.0", when="@2.8") + depends_on("bazel@3.7.2:4.99.0", when="@2.7") + depends_on("bazel@3.7.2:3.99.0", when="@2.5:2.6") + depends_on("bazel@3.1.0:3.99.0", when="@2.3:2.4") + depends_on("bazel@2.0.0", when="@2.2") + + # tensorflow/tools/pip_package/build_pip_package.sh + depends_on("patchelf", when="@2.13: platform=linux") + # https://github.com/tensorflow/tensorflow/issues/60179#issuecomment-1491238631 + depends_on("coreutils", when="@2.13: platform=darwin") + + depends_on("swig") + depends_on("py-pip") + depends_on("py-wheel") + + with default_args(type=("build", "run")): + # Python support based on wheel availability + depends_on("python@3.9:3.12", when="@2.16:") + depends_on("python@3.9:3.11", when="@2.14:2.15") + depends_on("python@3.8:3.11", when="@2.12:2.13") + depends_on("python@:3.10", when="@2.8:2.11") + depends_on("python@:3.9", when="@2.5:2.7") + depends_on("python@:3.8", when="@2.2:2.4") + + # Listed under REQUIRED_PACKAGES in tensorflow/tools/pip_package/setup.py + depends_on("py-absl-py@1:", when="@2.9:") + depends_on("py-absl-py@0.4:", when="@2.7:2.8") + depends_on("py-absl-py@0.10:0", when="@2.4:2.6") + depends_on("py-absl-py@0.7:", when="@:2.3") + depends_on("py-astunparse@1.6:", when="@2.7:") + depends_on("py-astunparse@1.6.3:1.6", when="@2.4:2.6") + depends_on("py-astunparse@1.6.3", when="@2.2:2.3") + depends_on("py-flatbuffers@24.3.25:", when="@2.17:") + depends_on("py-flatbuffers@23.5.26:", when="@2.14:") + depends_on("py-flatbuffers@23.1.21:", when="@2.13") + depends_on("py-flatbuffers@2:", when="@2.10:2.12") + depends_on("py-flatbuffers@1.12:1", when="@2.9") + depends_on("py-flatbuffers@1.12:", when="@2.8") + depends_on("py-flatbuffers@1.12:2", when="@2.7") + depends_on("py-flatbuffers@1.12", when="@2.4:2.6") + depends_on("py-gast@0.2.1:0.4,0.5.3:", when="@2.14:") + depends_on("py-gast@0.2.1:0.4.0", when="@2.9:2.13") + depends_on("py-gast@0.2.1:", when="@2.8") + depends_on("py-gast@0.2.1:0.4", when="@2.7") + depends_on("py-gast@0.4.0", when="@2.5:2.6") + depends_on("py-gast@0.3.3", when="@2.2:2.4") + depends_on("py-gast@0.2.2", when="@:2.1") + depends_on("py-google-pasta@0.1.1:", when="@2.7:") + depends_on("py-google-pasta@0.2:0", when="@2.4:2.6") + depends_on("py-google-pasta@0.1.8:", when="@2.2:2.3") + depends_on("py-google-pasta@0.1.6:", when="@:2.1") + depends_on("py-h5py@3.10:", when="@2.16:") + depends_on("py-h5py@2.9:", when="@2.7:2.15") + depends_on("py-h5py@3.1", when="@2.5:2.6") + depends_on("py-h5py@2.10", when="@2.2:2.4") + depends_on("py-h5py@:2.10.0", when="@2.1.3:2.1") + # propagate the mpi variant setting for h5py/hdf5 to avoid unexpected crashes + depends_on("py-h5py+mpi", when="@2.1.3:+mpi") + depends_on("py-h5py~mpi", when="@2.1.3:~mpi") + depends_on("hdf5+mpi", when="@2.1.3:+mpi") + depends_on("hdf5~mpi", when="@2.1.3:~mpi") + depends_on("py-libclang@13:", when="@2.9:") + depends_on("py-libclang@9.0.1:", when="@2.7:2.8") + depends_on("py-ml-dtypes@0.3.1:0.4", when="@2.17:") + depends_on("py-ml-dtypes@0.3.1:0.3", when="@2.15.1:2.16") + depends_on("py-ml-dtypes@0.2", when="@2.15.0") + depends_on("py-ml-dtypes@0.2.0", when="@2.14") + depends_on("py-numpy@1.23.5:", when="@2.14:") + depends_on("py-numpy@1.22:1.24.3", when="@2.13:") + depends_on("py-numpy@1.22:1.23", when="@2.12") + depends_on("py-numpy@1.20:", when="@2.8:2.11") + depends_on("py-numpy@1.14.5:", when="@2.7") + depends_on("py-numpy@1.19.2:1.19", when="@2.4:2.6") + # https://github.com/tensorflow/tensorflow/issues/40688 + depends_on("py-numpy@1.16.0:1.18", when="@:2.3") + # https://github.com/tensorflow/tensorflow/issues/67291 + depends_on("py-numpy@:1") + depends_on("py-opt-einsum@2.3.2:", when="@:2.3,2.7:") + depends_on("py-opt-einsum@3.3", when="@2.4:2.6") + depends_on("py-packaging", when="@2.9:") + depends_on("py-protobuf@3.20.3:4.20,4.21.6:4", when="@2.12:") + depends_on("py-protobuf@3.9.2:", when="@2.3:2.11") + depends_on("py-protobuf@3.8.0:", when="@:2.2") + # https://github.com/protocolbuffers/protobuf/issues/10051 + # https://github.com/tensorflow/tensorflow/issues/56266 + depends_on("py-protobuf@:3.19", when="@:2.11") + depends_on("py-requests@2.21:2", when="@2.16:") + depends_on("py-requests") + depends_on("py-setuptools") + depends_on("py-six@1.12:", when="@:2.3,2.7:") + depends_on("py-six@1.15", when="@2.4:2.6") + depends_on("py-termcolor@1.1:", when="@:2.3,2.7:") + depends_on("py-termcolor@1.1", when="@2.4:2.6") + depends_on("py-typing-extensions@3.6.6:", when="@2.7:2.12,2.14:") + depends_on("py-typing-extensions@3.6.6:4.5", when="@2.13") + depends_on("py-typing-extensions@3.7.4:3.7", when="@2.4:2.6") + depends_on("py-wrapt@1.11:", when="@2.7:2.11,2.13,2.16:") + depends_on("py-wrapt@1.11:1.14", when="@2.12,2.14:2.15") + depends_on("py-wrapt@1.12.1:1.12", when="@2.4:2.6") + depends_on("py-wrapt@1.11.1:", when="@:2.3") + + # TODO: add packages for these dependencies + # depends_on('py-tensorflow-io-gcs-filesystem@0.23.1:', when='@2.8:') + # depends_on('py-tensorflow-io-gcs-filesystem@0.21:', when='@2.7') + + if sys.byteorder == "little": + # Only builds correctly on little-endian machines + depends_on("py-grpcio@1.24.3:1", when="@2.7:") + depends_on("py-grpcio@1.37.0:1", when="@2.6") + depends_on("py-grpcio@1.34", when="@2.5") + depends_on("py-grpcio@1.32", when="@2.4") + depends_on("py-grpcio@1.8.6:", when="@:2.3") + + for minor_ver in range(2, 18): + depends_on("py-tensorboard@2.{}".format(minor_ver), when="@2.{}".format(minor_ver)) + + # TODO: support circular run-time dependencies + # depends_on('py-tensorflow-estimator') + # depends_on('py-keras') + + # Historical dependencies + depends_on("py-jax@0.3.15:", when="@2.12") + depends_on("py-keras-preprocessing@1.1.1:", when="@2.7:2.10") + depends_on("py-keras-preprocessing@1.1.2:1.1", when="@2.4:2.6") + depends_on("py-keras-preprocessing@1.1.1:1.1", when="@2.3") + depends_on("py-keras-preprocessing@1.1:", when="@2.2") + depends_on("py-scipy@1.4.1", when="@2.2.0,2.3.0") + depends_on("py-wheel@0.32:0", when="@2.7") + depends_on("py-wheel@0.35:0", when="@2.4:2.6") + depends_on("py-wheel@0.26:", when="@:2.3") # TODO: add packages for some of these dependencies depends_on("mkl", when="+mkl") @@ -314,12 +320,12 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): 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@8.9:8", when="@2.15:") + depends_on("cudnn@8.7:8", when="@2.14:") + depends_on("cudnn@8.6:8", when="@2.12:") + depends_on("cudnn@8.1:8", when="@2.5:") + depends_on("cudnn@8.0:8", when="@2.4:") + depends_on("cudnn@7.6:8", when="@2.1:") depends_on("cudnn@:7", when="@:2.2") # depends_on('tensorrt', when='+tensorrt') @@ -374,13 +380,17 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): conflicts("target=aarch64:", when="@:2.2") conflicts( "~rocm", - when="@2.7.4-rocm-enhanced,2.11.0-rocm-enhanced,2.14-rocm-enhanced,2.16-rocm-enhanced", + when="@2.7.4-rocm-enhanced,2.11.0-rocm-enhanced,2.14-rocm-enhanced,2.16.1-rocm-enhanced", ) - conflicts("+rocm", when="@:2.7.4-a,2.7.4.0:2.11.0-a,2.11.0.0:2.14-a,2.14-z:2.16-a,2.16-z:") + conflicts("+rocm", when="@:2.7.4-a,2.7.4.0:2.11.0-a,2.11.0.0:2.14-a,2.14-z:2.16.1-a,2.16.1-z:") # wheel 0.40 upgrades vendored packaging, trips over tensorflow-io-gcs-filesystem identifier conflicts("^py-wheel@0.40:", when="@2.11:2.13") + # Must be matching versions of py-protobuf and protobuf + conflicts("^py-protobuf~cpp") # https://www.tensorflow.org/install/source#tested_build_configurations + # https://github.com/tensorflow/tensorflow/issues/70199 + conflicts("%gcc", when="@2.17:") conflicts("%gcc@:9.3.0", when="@2.9:") conflicts("%gcc@:7.3.0") @@ -423,10 +433,28 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): # and https://github.com/abseil/abseil-cpp/issues/1665 patch("absl_neon.patch", when="@2.16.1: target=aarch64:") - patch("Find_ROCm_Components_Individiually.2.16.patch", when="@2.16-rocm-enhanced +rocm") - patch("Find_ROCm_Components_Individiually.patch", when="@2.14-rocm-enhanced +rocm") - patch("set_jit_trueLT_false.patch", when="@2.14-rocm-enhanced: +rocm") - + # reverting change otherwise the c467913 commit patch won't apply + patch( + "https://github.com/ROCm/tensorflow-upstream/commit/fd6b0a4356c66f5f30cedbc62b24f18d9e32806f.patch?full_index=1", + sha256="43f1519dfc618b4fb568f760d559c063234248fa12c47a35c1cf3b7114756424", + when="@2.16.1-rocm-enhanced +rocm", + reverse=True, + ) + patch( + "https://github.com/ROCm/tensorflow-upstream/commit/c467913bf4411ce2681391f37a9adf6031d23c2c.patch?full_index=1", + sha256="82554a84d19d99180a6bec274c6106dd217361e809b446e2e4bc4b6b979bdf7a", + when="@2.16.1-rocm-enhanced +rocm", + ) + patch( + "https://github.com/ROCm/tensorflow-upstream/commit/f4f4e8698b90755b0b5ea2d9da1933b0b988b111.patch?full_index=1", + sha256="a4c0fd62a0af3ba113c8933fa531dd17fa6667e507202a144715cd87fbdaf476", + when="@2.16.1-rocm-enhanced: +rocm", + ) + patch( + "https://github.com/ROCm/tensorflow-upstream/commit/8b7fcccb2914078737689347540cb79ace579bbb.patch?full_index=1", + sha256="75a61a79ce3aae51fda920f677f4dc045374b20e25628626eb37ca19c3a3b4c4", + when="@2.16.1-rocm-enhanced +rocm", + ) phases = ["configure", "build", "install"] def patch(self): @@ -742,10 +770,17 @@ def post_configure_fixes(self): with open(".tf_configure.bazelrc", mode="a") as f: f.write('build --action_env LD_LIBRARY_PATH="' + slibs + '"') - if spec.satisfies("@2.16-rocm-enhanced +rocm"): - filter_file( - "/usr/lib/llvm-17/bin/clang", spec["llvm-amdgpu"].prefix.bin.clang, ".bazelrc" - ) + if spec.satisfies("@2.16.1-rocm-enhanced +rocm"): + if os.path.exists(spec["llvm-amdgpu"].prefix.bin.clang): + filter_file( + "/usr/lib/llvm-17/bin/clang", spec["llvm-amdgpu"].prefix.bin.clang, ".bazelrc" + ) + else: + filter_file( + "/usr/lib/llvm-17/bin/clang", + spec["llvm-amdgpu"].prefix.llvm.bin.clang, + ".bazelrc", + ) filter_file("build:opt --copt=-march=native", "", ".tf_configure.bazelrc") filter_file("build:opt --host_copt=-march=native", "", ".tf_configure.bazelrc") @@ -813,12 +848,20 @@ def build(self, spec, prefix): if "~nccl" in spec: args.append("--config=nonccl") - if "+numa" in spec: - args.append("--config=numa") + # https://github.com/tensorflow/tensorflow/issues/63080 + if self.spec.satisfies("@2.14:"): + args.append(f"--define=with_numa_support={'+numa' in spec}") + else: + if "+numa" in spec: + args.append("--config=numa") args.append("--config=v2") - args.append("//tensorflow/tools/pip_package:build_pip_package") + # https://github.com/tensorflow/tensorflow/issues/63298 + if self.spec.satisfies("@2.17:"): + args.append("//tensorflow/tools/pip_package:wheel") + else: + args.append("//tensorflow/tools/pip_package:build_pip_package") bazel(*args) diff --git a/var/spack/repos/builtin/packages/py-tensorflow/set_jit_trueLT_false.patch b/var/spack/repos/builtin/packages/py-tensorflow/set_jit_trueLT_false.patch deleted file mode 100644 index ee58be0745dddc..00000000000000 --- a/var/spack/repos/builtin/packages/py-tensorflow/set_jit_trueLT_false.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/tensorflow/core/kernels/mlir_generated/build_defs.bzl b/tensorflow/core/kernels/mlir_generated/build_defs.bzl -index 1cc3d335577..327e6cda821 100644 ---- a/tensorflow/core/kernels/mlir_generated/build_defs.bzl -+++ b/tensorflow/core/kernels/mlir_generated/build_defs.bzl -@@ -355,7 +355,7 @@ def _gen_kernel_library( - extra_args = extra_args, - host_triple = host_triple, - gpu_archs = gpu_archs, -- jit = jit, -+ jit = True, - max_supported_rank = max_supported_rank, - mlir_op = "{op}_{name}_{platform}_{type}_{output_type}.mlir".format( - op = op, -@@ -366,7 +366,7 @@ def _gen_kernel_library( - ), - tile_size = typed_tile_size, - unroll_factors = typed_unroll_factors, -- jit_i64_indexed_for_large_tensors = jit_i64_indexed_for_large_tensors, -+ jit_i64_indexed_for_large_tensors = False, - ) - - # We have to use a sh_test instead of build_test because it doesn't properly find the dependent targets. diff --git a/var/spack/repos/builtin/packages/py-tensorstore/package.py b/var/spack/repos/builtin/packages/py-tensorstore/package.py index 61fdd3b919303c..2df1af67b02af2 100644 --- a/var/spack/repos/builtin/packages/py-tensorstore/package.py +++ b/var/spack/repos/builtin/packages/py-tensorstore/package.py @@ -16,6 +16,8 @@ class PyTensorstore(PythonPackage): version("0.1.54", sha256="e1a9dcb0be7c828f752375409537d4b39c658dd6c6a0873fe21a24a556ec0e2a") + depends_on("cxx", type="build") # generated + # .bazelversion depends_on("bazel@6.4.0", type="build") diff --git a/var/spack/repos/builtin/packages/py-tesorter/package.py b/var/spack/repos/builtin/packages/py-tesorter/package.py index feb1848bf5f2e8..3cdebb3b7a8176 100644 --- a/var/spack/repos/builtin/packages/py-tesorter/package.py +++ b/var/spack/repos/builtin/packages/py-tesorter/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from glob import glob + from spack.package import * @@ -29,5 +31,20 @@ class PyTesorter(PythonPackage): depends_on("py-biopython", type=("build", "run")) depends_on("py-xopen", type=("build", "run")) - depends_on("hmmer@3.3:", type="run") + depends_on("hmmer@3.3:", type=("build", "run")) depends_on("blast-plus", type="run") + + @run_after("install") + def run_hmmpress(self): + hmmpress = Executable(self.spec["hmmer"].prefix.bin.hmmpress) + db_dir = join_path( + self.prefix, + "lib", + f"python{self.spec['python'].version.dotted[:2]}", + "site-packages", + "TEsorter", + "database", + ) + with working_dir(db_dir): + for f in glob("*.hmm"): + hmmpress(f) diff --git a/var/spack/repos/builtin/packages/py-tfdlpack/package.py b/var/spack/repos/builtin/packages/py-tfdlpack/package.py index ac747b3f36a82f..f3c79f69a8860e 100644 --- a/var/spack/repos/builtin/packages/py-tfdlpack/package.py +++ b/var/spack/repos/builtin/packages/py-tfdlpack/package.py @@ -22,6 +22,9 @@ class PyTfdlpack(CMakePackage, PythonExtension): "0.1.1", tag="v0.1.1", commit="a1fdb53096158c2ec9189bb1ff46c92c6f571bbe", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cuda", default=True, description="Build with CUDA support") depends_on("cmake@3.5:", type="build") diff --git a/var/spack/repos/builtin/packages/py-theano/package.py b/var/spack/repos/builtin/packages/py-theano/package.py index a9ba9cc9e93eac..e2595f4e18f24e 100644 --- a/var/spack/repos/builtin/packages/py-theano/package.py +++ b/var/spack/repos/builtin/packages/py-theano/package.py @@ -23,6 +23,8 @@ class PyTheano(PythonPackage, CudaPackage): version("1.0.1", sha256="88d8aba1fe2b6b75eacf455d01bc7e31e838c5a0fb8c13dde2d9472495ff4662") version("0.8.2", sha256="7463c8f7ed1a787bf881f36d38a38607150186697e7ce7e78bfb94b7c6af8930") + depends_on("c", type="build") # generated + depends_on("python@2.6:2.8,3.3:", type=("build", "run")) depends_on("py-setuptools", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-thinc/package.py b/var/spack/repos/builtin/packages/py-thinc/package.py index 1dbfac1e074032..35e0eb8f47886a 100644 --- a/var/spack/repos/builtin/packages/py-thinc/package.py +++ b/var/spack/repos/builtin/packages/py-thinc/package.py @@ -18,6 +18,9 @@ class PyThinc(PythonPackage): version("7.4.1", sha256="0139fa84dc9b8d88af15e648fc4ae13d899b8b5e49cb26a8f4a0604ee9ad8a9e") version("7.4.0", sha256="523e9be1bfaa3ed1d03d406ce451b6b4793a9719d5b83d2ea6b3398b96bc58b8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-murmurhash@0.28:1.0", type=("build", "run")) depends_on("py-cymem@2.0.2:2.0", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-tifffile/package.py b/var/spack/repos/builtin/packages/py-tifffile/package.py index ed0942d8dbdb15..11b0077542bc0c 100644 --- a/var/spack/repos/builtin/packages/py-tifffile/package.py +++ b/var/spack/repos/builtin/packages/py-tifffile/package.py @@ -31,3 +31,5 @@ class PyTifffile(PythonPackage): depends_on("py-numpy@1.19.2:", when="@2022.2.2:", type=("build", "run")) depends_on("py-numpy@1.15.1:", when="@2020.10.1:", type=("build", "run")) depends_on("py-numpy@1.8.2:", type=("build", "run")) + # https://github.com/cgohlke/tifffile/issues/252 + depends_on("py-numpy@:1", when="@:2024.4.23", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-tinyarray/package.py b/var/spack/repos/builtin/packages/py-tinyarray/package.py index 1267ff0b60a5bc..8a57abe08048a6 100644 --- a/var/spack/repos/builtin/packages/py-tinyarray/package.py +++ b/var/spack/repos/builtin/packages/py-tinyarray/package.py @@ -29,6 +29,8 @@ class PyTinyarray(PythonPackage): version("1.2.2", sha256="660d6d8532e1db5efbebae2861e5733a7082486fbdeb47d57d84b8f477d697e4") version("1.2.1", sha256="47a06f801ed4b3d438f4f7098e244cd0c6d7db09428b1bc5ee813e52234dee9f") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") # See https://gitlab.kwant-project.org/kwant/tinyarray/-/merge_requests/14 diff --git a/var/spack/repos/builtin/packages/py-tokenizers/package.py b/var/spack/repos/builtin/packages/py-tokenizers/package.py index 8a5b4a88a9f6ca..4ff2c87d319725 100644 --- a/var/spack/repos/builtin/packages/py-tokenizers/package.py +++ b/var/spack/repos/builtin/packages/py-tokenizers/package.py @@ -13,6 +13,7 @@ class PyTokenizers(PythonPackage): homepage = "https://github.com/huggingface/tokenizers" pypi = "tokenizers/tokenizers-0.6.0.tar.gz" + version("0.19.1", sha256="ee59e6680ed0fdbe6b724cf38bd70400a0c1dd623b07ac729087270caeac88e3") version("0.15.0", sha256="10c7e6e7b4cabd757da59e93f5f8d1126291d16f8b54f28510825ef56a3e5d0e") version("0.13.3", sha256="2e546dbb68b623008a5442353137fbb0123d311a6d7ba52f2667c8862a75af2e") version("0.13.1", sha256="3333d1cee5c8f47c96362ea0abc1f81c77c9b92c6c3d11cbf1d01985f0d5cf1d") diff --git a/var/spack/repos/builtin/packages/py-tomopy/package.py b/var/spack/repos/builtin/packages/py-tomopy/package.py index 3940c9a9dbf349..ffbd7416d08008 100644 --- a/var/spack/repos/builtin/packages/py-tomopy/package.py +++ b/var/spack/repos/builtin/packages/py-tomopy/package.py @@ -21,6 +21,9 @@ class PyTomopy(PythonPackage): version("1.11.0", sha256="4e5691c2b083753692ba4376ce301578037071c83fc61a6ae9e5bc9e6fcd3d1f") version("1.0.0", sha256="ee45f7a062e5a66d6f18a904d2e204e48d85a1ce1464156f9e2f6353057dfe4c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # GPU accel needs PTL which is a git submodule. Thus, we can only build it on master depends_on("cuda", when="@master") # The shared opencv is not found by during runtest. Not using GOT/PLT is faster too diff --git a/var/spack/repos/builtin/packages/py-torch-cluster/package.py b/var/spack/repos/builtin/packages/py-torch-cluster/package.py index da5898f13efe10..2843481d150af5 100644 --- a/var/spack/repos/builtin/packages/py-torch-cluster/package.py +++ b/var/spack/repos/builtin/packages/py-torch-cluster/package.py @@ -18,6 +18,8 @@ class PyTorchCluster(PythonPackage): version("1.6.3", sha256="78d5a930a5bbd0d8788df8c6d66addd68d6dd292fe3edb401e3dacba26308152") + depends_on("cxx", type="build") # generated + depends_on("python", type=("build", "link", "run")) depends_on("py-setuptools", type="build") depends_on("py-scipy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py b/var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py index 08c0ecad6d0aa9..385fc7d0c4f7af 100644 --- a/var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py +++ b/var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py @@ -19,6 +19,8 @@ class PyTorchNvidiaApex(PythonPackage, CudaPackage): version("master", branch="master") version("2020-10-19", commit="8a1ed9e8d35dfad26fb973996319965e4224dcdd") + depends_on("cxx", type="build") # generated + depends_on("python@3:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-packaging", type="build") diff --git a/var/spack/repos/builtin/packages/py-torch-scatter/package.py b/var/spack/repos/builtin/packages/py-torch-scatter/package.py index 3776af61877020..0e9589618d3fff 100644 --- a/var/spack/repos/builtin/packages/py-torch-scatter/package.py +++ b/var/spack/repos/builtin/packages/py-torch-scatter/package.py @@ -18,6 +18,8 @@ class PyTorchScatter(PythonPackage): version("2.1.2", sha256="69b3aa435f2424ac6a1bfb6ff702da6eb73b33ca0db38fb26989c74159258e47") + depends_on("cxx", type="build") # generated + depends_on("python", type=("build", "link", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-torch-sparse/package.py b/var/spack/repos/builtin/packages/py-torch-sparse/package.py index cac8ffff3bd8b4..c05ce351095153 100644 --- a/var/spack/repos/builtin/packages/py-torch-sparse/package.py +++ b/var/spack/repos/builtin/packages/py-torch-sparse/package.py @@ -21,6 +21,8 @@ class PyTorchSparse(PythonPackage): version("0.6.8", sha256="312fb5ae6e4e575fca4bbc0bd092af85e7679d5b8e53459f24492fc2a073c7b6") version("0.6.7", sha256="f69b2ed35baf2a9853234756a2b19e6f7ce88d2c1f029d1c7ca166d91e1adbd0") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-scipy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-torch-spline-conv/package.py b/var/spack/repos/builtin/packages/py-torch-spline-conv/package.py index 48ceb2cc049435..c91b4538206804 100644 --- a/var/spack/repos/builtin/packages/py-torch-spline-conv/package.py +++ b/var/spack/repos/builtin/packages/py-torch-spline-conv/package.py @@ -18,6 +18,8 @@ class PyTorchSplineConv(PythonPackage): version("1.2.2", sha256="ed45a81da29f774665dbdd4709d7e534cdf16d2e7006dbd06957f35bd09661b2") + depends_on("cxx", type="build") # generated + depends_on("python", type=("build", "link", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-torch/package.py b/var/spack/repos/builtin/packages/py-torch/package.py index 455382620c7816..964253536d1bc7 100644 --- a/var/spack/repos/builtin/packages/py-torch/package.py +++ b/var/spack/repos/builtin/packages/py-torch/package.py @@ -26,6 +26,7 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage): license("BSD-3-Clause") version("main", branch="main") + version("2.3.1", tag="v2.3.1", commit="63d5e9221bedd1546b7d364b5ce4171547db12a9") version("2.3.0", tag="v2.3.0", commit="97ff6cfd9c86c5c09d7ce775ab64ec5c99230f5d") version("2.2.2", tag="v2.2.2", commit="39901f229520a5256505ec24782f716ee7ddc843") version("2.2.1", tag="v2.2.1", commit="6c8c5ad5eaf47a62fafbb4a2747198cbffbf1ff0") @@ -55,6 +56,10 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage): version("1.5.0", tag="v1.5.0", commit="4ff3872a2099993bf7e8c588f7182f3df777205b") version("1.4.1", tag="v1.4.1", commit="74044638f755cd8667bedc73da4dbda4aa64c948") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + is_darwin = sys.platform == "darwin" # All options are defined in CMakeLists.txt. @@ -164,6 +169,8 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage): depends_on("py-setuptools") depends_on("py-astunparse", when="@1.13:") depends_on("py-numpy@1.16.6:") + # https://github.com/pytorch/pytorch/issues/107302 + depends_on("py-numpy@:1", when="@:2.2") depends_on("py-pyyaml") depends_on("py-requests", when="@1.13:") @@ -246,8 +253,9 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage): depends_on("cuda@9.2:11.4", when="@1.6:1.9+cuda") depends_on("cuda@9:11.4", when="@:1.5+cuda") # https://github.com/pytorch/pytorch#prerequisites - depends_on("cudnn@8.5:", when="@2.3:+cudnn") - depends_on("cudnn@7:", when="@1.6:+cudnn") + # https://github.com/pytorch/pytorch/issues/119400 + depends_on("cudnn@8.5:9.0", when="@2.3:+cudnn") + depends_on("cudnn@7:8", when="@1.6:2.2+cudnn") depends_on("cudnn@7", when="@:1.5+cudnn") depends_on("magma+cuda", when="+magma+cuda") depends_on("magma+rocm", when="+magma+rocm") diff --git a/var/spack/repos/builtin/packages/py-torchaudio/package.py b/var/spack/repos/builtin/packages/py-torchaudio/package.py index d1fa9f4f788df3..f7ac883ac7918e 100644 --- a/var/spack/repos/builtin/packages/py-torchaudio/package.py +++ b/var/spack/repos/builtin/packages/py-torchaudio/package.py @@ -18,6 +18,7 @@ class PyTorchaudio(PythonPackage): maintainers("adamjstewart") version("main", branch="main") + version("2.3.1", tag="v2.3.1", commit="3edcf69e78a3c9a3077a11159861422440ec7d4a") version("2.3.0", tag="v2.3.0", commit="952ea7457bcc3ed0669e7741ff23015c426d6322") version("2.2.2", tag="v2.2.2", commit="cefdb369247668e1dba74de503d4d996124b6b11") version("2.2.1", tag="v2.2.1", commit="06ea59c97d56868e487490702d01b3cf59103b9c") @@ -47,6 +48,9 @@ class PyTorchaudio(PythonPackage): version("0.5.0", tag="v0.5.0", commit="09494ea545738538f9db2dceeffe10d421060ee5") version("0.4.0", tag="v0.4.0", commit="8afed303af3de41f3586007079c0534543c8f663") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + with default_args(type=("build", "link", "run")): # Based on PyPI wheel availability depends_on("python@3.8:3.12", when="@2.2:") @@ -56,6 +60,7 @@ class PyTorchaudio(PythonPackage): depends_on("python@:3.8", when="@:0.7.0") depends_on("py-torch@main", when="@main") + depends_on("py-torch@2.3.1", when="@2.3.1") depends_on("py-torch@2.3.0", when="@2.3.0") depends_on("py-torch@2.2.2", when="@2.2.2") depends_on("py-torch@2.2.1", when="@2.2.1") diff --git a/var/spack/repos/builtin/packages/py-torchdata/package.py b/var/spack/repos/builtin/packages/py-torchdata/package.py index 244621dac61f61..8ace2d51ff474a 100644 --- a/var/spack/repos/builtin/packages/py-torchdata/package.py +++ b/var/spack/repos/builtin/packages/py-torchdata/package.py @@ -28,6 +28,8 @@ class PyTorchdata(PythonPackage): version("0.4.0", sha256="b4ec446a701680faa620fcb828b98ba36a63fa79da62a1e568d4a683889172da") version("0.3.0", sha256="ac36188bf133cf5f1041a28ccb3ee82ba52d4b5d99617be37d64d740acd6cfd4") + depends_on("cxx", type="build") # generated + # https://github.com/pytorch/data#version-compatibility depends_on("python@3.8:3.11", when="@0.6:", type=("build", "run")) depends_on("python@3.7:3.10", when="@:0.5", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-torchgeo/package.py b/var/spack/repos/builtin/packages/py-torchgeo/package.py index b3a630274d99b2..9ebee2bdde5ae0 100644 --- a/var/spack/repos/builtin/packages/py-torchgeo/package.py +++ b/var/spack/repos/builtin/packages/py-torchgeo/package.py @@ -64,6 +64,8 @@ class PyTorchgeo(PythonPackage): depends_on("py-matplotlib@3.3:", type=("build", "run")) depends_on("py-numpy@1.19.3:", when="@0.5:", type=("build", "run")) depends_on("py-numpy@1.17.2:", type=("build", "run")) + # https://github.com/microsoft/torchgeo/pull/2151 + depends_on("py-numpy@:1", when="@:0.5", type=("build", "run")) depends_on("py-pandas@1.1.3:", when="@0.5:", type=("build", "run")) depends_on("pil@8:", when="@0.5:", type=("build", "run")) depends_on("pil@6.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-torchtext/package.py b/var/spack/repos/builtin/packages/py-torchtext/package.py index 5369401bba3ade..95fde8068ac14e 100644 --- a/var/spack/repos/builtin/packages/py-torchtext/package.py +++ b/var/spack/repos/builtin/packages/py-torchtext/package.py @@ -42,6 +42,9 @@ class PyTorchtext(PythonPackage): version("0.6.0", tag="0.6.0", commit="3a54c7f52584f201c17ca7489b52b812152612dc") version("0.5.0", tag="0.5.0", commit="0169cde2f1d446ae886ef0be07e9a673585ed256") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + with default_args(type=("build", "link", "run")): # Based on PyPI wheel availability depends_on("python@3.8:3.12", when="@0.17.2:") diff --git a/var/spack/repos/builtin/packages/py-torchvision/package.py b/var/spack/repos/builtin/packages/py-torchvision/package.py index 96994a5b7a4445..543c744ee3a31f 100644 --- a/var/spack/repos/builtin/packages/py-torchvision/package.py +++ b/var/spack/repos/builtin/packages/py-torchvision/package.py @@ -19,6 +19,7 @@ class PyTorchvision(PythonPackage): license("BSD-3-Clause") version("main", branch="main") + version("0.18.1", sha256="347d472a9ceecc44e0bee1eda140d63cfaffc74a54ec07d4b98da7698ce75516") version("0.18.0", sha256="3e61cbac33986a862a59cd733fd65da8b2c2a6160a66556cfa0e850f62fd43c7") version("0.17.2", sha256="0f9304acd77aafb7cfaf3fd5e318b2986ecc73547394b971d710eacd59f3e78e") version("0.17.1", sha256="a01c7bce4098c41b62cd3a08d87569113e25d12994b1370f0fd5f531952b6cef") @@ -50,6 +51,8 @@ class PyTorchvision(PythonPackage): version("0.6.0", sha256="02de11b3abe6882de4032ce86dab9c7794cbc84369b44d04e667486580f0f1f7") version("0.5.0", sha256="eb9afc93df3d174d975ee0914057a9522f5272310b4d56c150b955c287a4d74d") + depends_on("cxx", type="build") # generated + desc = "Enable support for native encoding/decoding of {} formats in torchvision.io" variant("png", default=True, description=desc.format("PNG")) variant("jpeg", default=True, description=desc.format("JPEG")) @@ -67,6 +70,7 @@ class PyTorchvision(PythonPackage): # https://github.com/pytorch/vision#installation depends_on("py-torch@main", when="@main") + depends_on("py-torch@2.3.1", when="@0.18.1") depends_on("py-torch@2.3.0", when="@0.18.0") depends_on("py-torch@2.2.2", when="@0.17.2") depends_on("py-torch@2.2.1", when="@0.17.1") @@ -103,6 +107,8 @@ class PyTorchvision(PythonPackage): # setup.py depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) + # https://github.com/pytorch/vision/issues/8460 + depends_on("py-numpy@:1", when="@:0.18", type=("build", "run")) depends_on("pil@5.3:", when="@0.10:", type=("build", "run")) depends_on("pil@4.1.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-tornado/package.py b/var/spack/repos/builtin/packages/py-tornado/package.py index 61765112fed6f8..3106ffb01b63bb 100644 --- a/var/spack/repos/builtin/packages/py-tornado/package.py +++ b/var/spack/repos/builtin/packages/py-tornado/package.py @@ -22,5 +22,7 @@ class PyTornado(PythonPackage): version("5.1.1", sha256="4e5158d97583502a7e2739951553cbd88a72076f152b4b11b64b9a10c4c49409") version("4.4", sha256="3176545b6cb2966870db4def4f646da6ab7a0c19400576969c57279a7561ab02") + depends_on("c", type="build") # generated + depends_on("python@3.8:", when="@6.3:", type=("build", "run")) depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-tqdm/package.py b/var/spack/repos/builtin/packages/py-tqdm/package.py index dd379e923d8d06..f4dce81b48563b 100644 --- a/var/spack/repos/builtin/packages/py-tqdm/package.py +++ b/var/spack/repos/builtin/packages/py-tqdm/package.py @@ -12,6 +12,7 @@ class PyTqdm(PythonPackage): homepage = "https://github.com/tqdm/tqdm" pypi = "tqdm/tqdm-4.45.0.tar.gz" + version("4.66.3", sha256="23097a41eba115ba99ecae40d06444c15d1c0c698d527a01c6c8bd1c5d0647e5") version("4.66.1", sha256="d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7") version("4.65.0", sha256="1871fb68a86b8fb3b59ca4cdd3dcccbc7e6d613eeed31f4c332531977b89beb5") version("4.64.1", sha256="5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4") diff --git a/var/spack/repos/builtin/packages/py-traitlets/package.py b/var/spack/repos/builtin/packages/py-traitlets/package.py index 77537822c6e475..3a6178ce8db092 100644 --- a/var/spack/repos/builtin/packages/py-traitlets/package.py +++ b/var/spack/repos/builtin/packages/py-traitlets/package.py @@ -12,6 +12,11 @@ class PyTraitlets(PythonPackage): homepage = "https://github.com/ipython/traitlets" pypi = "traitlets/traitlets-5.0.4.tar.gz" + version("5.14.3", sha256="9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7") + version("5.13.0", sha256="9b232b9430c8f57288c1024b34a8f0251ddcc47268927367a0dd3eeaca40deb5") + version("5.12.0", sha256="833273bf645d8ce31dcb613c56999e2e055b1ffe6d09168a164bcd91c36d5d35") + version("5.11.2", sha256="7564b5bf8d38c40fa45498072bf4dc5e8346eb087bbf1e2ae2d8774f6a0f078e") + version("5.10.1", sha256="db9c4aa58139c3ba850101913915c042bdba86f7c8a0dda1c6f7f92c5da8e542") version("5.9.0", sha256="f6cde21a9c68cf756af02035f72d5a723bf607e862e7be33ece505abf4a3bad9") version("5.7.1", sha256="fde8f62c05204ead43c2c1b9389cfc85befa7f54acb5da28529d671175bb4108") version("5.3.0", sha256="0bb9f1f9f017aa8ec187d8b1b2a7a6626a2a1d877116baba52a129bfa124f8e2") diff --git a/var/spack/repos/builtin/packages/py-traits/package.py b/var/spack/repos/builtin/packages/py-traits/package.py index 404c73b8e931db..8bccce306bf779 100644 --- a/var/spack/repos/builtin/packages/py-traits/package.py +++ b/var/spack/repos/builtin/packages/py-traits/package.py @@ -22,4 +22,6 @@ class PyTraits(PythonPackage): version("6.2.0", sha256="16fa1518b0778fd53bf0547e6a562b1787bf68c8f6b7995a13bd1902529fdb0c") version("6.0.0", sha256="dbcd70166feca434130a1193284d5819ca72ffbc8dbce8deeecc0cebb41a3bfb") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-transformer-engine/package.py b/var/spack/repos/builtin/packages/py-transformer-engine/package.py index a09e4c1f40fbb1..175b3336261e2b 100644 --- a/var/spack/repos/builtin/packages/py-transformer-engine/package.py +++ b/var/spack/repos/builtin/packages/py-transformer-engine/package.py @@ -22,6 +22,8 @@ class PyTransformerEngine(PythonPackage): version("1.4", tag="v1.4", submodules=True) version("main", branch="main", submodules=True) + depends_on("cxx", type="build") # generated + variant("userbuffers", default=True, description="Enable userbuffers, this option needs MPI.") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-transformers/package.py b/var/spack/repos/builtin/packages/py-transformers/package.py index e1b34bb65deb2a..05401c850db24d 100644 --- a/var/spack/repos/builtin/packages/py-transformers/package.py +++ b/var/spack/repos/builtin/packages/py-transformers/package.py @@ -18,33 +18,44 @@ class PyTransformers(PythonPackage): license("Apache-2.0") + version("4.42.3", sha256="7539873ff45809145265cbc94ea4619d2713c41ceaa277b692d8b0be3430f7eb") + version("4.38.1", sha256="86dc84ccbe36123647e84cbd50fc31618c109a41e6be92514b064ab55bf1304c") version("4.35.2", sha256="2d125e197d77b0cdb6c9201df9fa7e2101493272e448b9fba9341c695bee2f52") version("4.31.0", sha256="4302fba920a1c24d3a429a29efff6a63eac03f3f3cf55b55927fc795d01cb273") version("4.24.0", sha256="486f353a8e594002e48be0e2aba723d96eda839e63bfe274702a4b5eda85559b") version("4.6.1", sha256="83dbff763b7e7dc57cbef1a6b849655d4fcab6bffdd955c5e8bea12a4f76dc10") version("2.8.0", sha256="b9f29cdfd39c28f29e0806c321270dea337d6174a7aa60daf9625bf83dbb12ee") - depends_on("py-setuptools", type="build") - depends_on("py-filelock", type=("build", "run")) - depends_on("py-huggingface-hub@0.16.4:0", when="@4.34:", type=("build", "run")) - depends_on("py-huggingface-hub@0.14.1:0", when="@4.26:", type=("build", "run")) - depends_on("py-huggingface-hub@0.10:0", when="@4.24:", type=("build", "run")) - depends_on("py-huggingface-hub@0.0.8", when="@4.6.1", type=("build", "run")) - depends_on("py-numpy@1.17:", when="@4.6:", type=("build", "run")) - depends_on("py-numpy", type=("build", "run")) - depends_on("py-packaging@20:", when="@4.24:", type=("build", "run")) - depends_on("py-packaging", when="@4.6.1", type=("build", "run")) - depends_on("py-pyyaml@5.1:", when="@4.24:", type=("build", "run")) - depends_on("py-regex@:2019.12.16,2019.12.18:", type=("build", "run")) - depends_on("py-requests", type=("build", "run")) - depends_on("py-safetensors@0.3.1:", when="@4.31:", type=("build", "run")) - depends_on("py-tokenizers@0.14:0.18", when="@4.35:", type=("build", "run")) - depends_on("py-tokenizers@0.11.1:0.11.2,0.11.4:0.13", when="@4.24:4.33", type=("build", "run")) - depends_on("py-tokenizers@0.10.1:0.10", when="@4.6.1", type=("build", "run")) - depends_on("py-tokenizers@0.5.2", when="@2.8.0", type=("build", "run")) - depends_on("py-tqdm@4.27:", type=("build", "run")) - - # Historical requirements - depends_on("py-sacremoses", when="@:4.6", type=("build", "run")) - depends_on("py-boto3", when="@2.8.0", type=("build", "run")) - depends_on("py-sentencepiece", when="@2.8.0", type=("build", "run")) + depends_on("cxx", type="build") # generated + + with default_args(type="build"): + depends_on("py-setuptools") + + with default_args(type=("build", "run")): + depends_on("py-filelock") + depends_on("py-huggingface-hub@0.23.2:", when="@4.42.3:") + depends_on("py-huggingface-hub@0.19.3:", when="@4.38.1:") + depends_on("py-huggingface-hub@0.16.4:0", when="@4.34:") + depends_on("py-huggingface-hub@0.14.1:0", when="@4.26:") + depends_on("py-huggingface-hub@0.10:0", when="@4.24:") + depends_on("py-huggingface-hub@0.0.8", when="@4.6.1") + depends_on("py-numpy@1.17:", when="@4.6:") + depends_on("py-numpy") + depends_on("py-packaging@20:", when="@4.24:") + depends_on("py-packaging", when="@4.6.1") + depends_on("py-pyyaml@5.1:", when="@4.24:") + depends_on("py-regex@:2019.12.16,2019.12.18:") + depends_on("py-requests") + depends_on("py-safetensors@0.4.1:", when="@4.38.1:") + depends_on("py-safetensors@0.3.1:", when="@4.31:") + depends_on("py-tokenizers@0.19", when="@4.40.0:") + depends_on("py-tokenizers@0.14:0.18", when="@4.35:4.39.3") + depends_on("py-tokenizers@0.11.1:0.11.2,0.11.4:0.13", when="@4.24:4.33") + depends_on("py-tokenizers@0.10.1:0.10", when="@4.6.1") + depends_on("py-tokenizers@0.5.2", when="@2.8.0") + depends_on("py-tqdm@4.27:") + + # Historical requirements + depends_on("py-sacremoses", when="@:4.6") + depends_on("py-boto3", when="@2.8.0") + depends_on("py-sentencepiece", when="@2.8.0") diff --git a/var/spack/repos/builtin/packages/py-triangle/package.py b/var/spack/repos/builtin/packages/py-triangle/package.py index f54aa8641c23f8..d236b1f5c1caf1 100644 --- a/var/spack/repos/builtin/packages/py-triangle/package.py +++ b/var/spack/repos/builtin/packages/py-triangle/package.py @@ -16,6 +16,8 @@ class PyTriangle(PythonPackage): version("20200424", sha256="fc207641f8f39986f7d2bee1b91688a588cd235d2e67777422f94e61fece27e9") + depends_on("c", type="build") # generated + depends_on("python@:3.9", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-triton/package.py b/var/spack/repos/builtin/packages/py-triton/package.py index 2740063ef69b0d..0c326c44d4c4f1 100644 --- a/var/spack/repos/builtin/packages/py-triton/package.py +++ b/var/spack/repos/builtin/packages/py-triton/package.py @@ -11,14 +11,25 @@ class PyTriton(PythonPackage): homepage = "https://github.com/openai/triton" url = "https://github.com/openai/triton/archive/refs/tags/v2.1.0.tar.gz" + git = "https://github.com/openai/triton.git" license("MIT") + version("main", branch="main") version("2.1.0", sha256="4338ca0e80a059aec2671f02bfc9320119b051f378449cf5f56a1273597a3d99") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools@40.8:", type="build") depends_on("cmake@3.18:", type="build") depends_on("py-filelock", type=("build", "run")) depends_on("zlib-api", type="link") + conflicts("^openssl@3.3.0") + + def setup_build_environment(self, env): + """Set environment variables used to control the build""" + if self.spec.satisfies("%clang"): + env.set("TRITON_BUILD_WITH_CLANG_LLD", "True") build_directory = "python" diff --git a/var/spack/repos/builtin/packages/py-tuiview/package.py b/var/spack/repos/builtin/packages/py-tuiview/package.py index 91fd4b4b6e56ea..ca95de3d40c456 100644 --- a/var/spack/repos/builtin/packages/py-tuiview/package.py +++ b/var/spack/repos/builtin/packages/py-tuiview/package.py @@ -16,6 +16,9 @@ class PyTuiview(PythonPackage): "https://github.com/ubarsc/tuiview/releases/download/tuiview-1.2.13/TuiView-1.2.13.tar.gz" ) + maintainers("neilflood", "gillins") + + version("1.2.14", sha256="80cf4ac607b37bb9d7348b3d40e1e18910323f7ad47e79ae850cbb4750775f7c") version("1.2.13", sha256="48c8d4175c324f70941dc49c5a119882c9d501bd20bc13c76bc2455dee5236a5") version("1.2.12", sha256="3f0c1673f2f861db01726f3d7f6f1dde4a42ec57894a79b89457c398768dd25f") version("1.2.11", sha256="81f870ad98ec1e3175f25028d261135b6198fa85038bfaa900789e04e3cf8517") @@ -25,6 +28,8 @@ class PyTuiview(PythonPackage): version("1.2.7", sha256="35dfeb79b2bb57dfb5b8c90c3edf8c8a0a3f89cef85c33f9935e4a4add282aaf") version("1.2.6", sha256="61b136fa31c949d7a7a4dbf8562e6fc677d5b1845b152ec39e337f4eb2e91662") + depends_on("c", type="build") # generated + # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") depends_on("py-pyqt5", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-tweedledum/package.py b/var/spack/repos/builtin/packages/py-tweedledum/package.py index d88d42ffd754a9..f46ccf8bdefce0 100644 --- a/var/spack/repos/builtin/packages/py-tweedledum/package.py +++ b/var/spack/repos/builtin/packages/py-tweedledum/package.py @@ -20,6 +20,8 @@ class PyTweedledum(PythonPackage): license("MIT") version("1.1.1", sha256="58d6f7a988b10c31be3faa1faf3e58288ef7e8159584bfa6ded45742f390309f") + + depends_on("cxx", type="build") # generated depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools@42:", type="build") depends_on("py-scikit-build@0.12:", type="build") diff --git a/var/spack/repos/builtin/packages/py-typed-ast/package.py b/var/spack/repos/builtin/packages/py-typed-ast/package.py index 45f96fdddfd409..62d15f6978bbda 100644 --- a/var/spack/repos/builtin/packages/py-typed-ast/package.py +++ b/var/spack/repos/builtin/packages/py-typed-ast/package.py @@ -25,6 +25,8 @@ class PyTypedAst(PythonPackage): url="https://files.pythonhosted.org/packages/source/t/typed-ast/typed-ast-1.3.5.tar.gz", ) + depends_on("c", type="build") # generated + variant( "wheel", default=False, diff --git a/var/spack/repos/builtin/packages/py-ucx-py/package.py b/var/spack/repos/builtin/packages/py-ucx-py/package.py index d8bcd05a5fe744..233eb1d6de7178 100644 --- a/var/spack/repos/builtin/packages/py-ucx-py/package.py +++ b/var/spack/repos/builtin/packages/py-ucx-py/package.py @@ -20,6 +20,8 @@ class PyUcxPy(PythonPackage): version("0.16.0", sha256="12c1c982ee337b8dc026d3a6e8e63d96bf021c5c555fe173642908d3c3bec36e") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("python@3.6:", type=("build", "run")) depends_on("py-cython@0.29.14:2", type="build") diff --git a/var/spack/repos/builtin/packages/py-ujson/package.py b/var/spack/repos/builtin/packages/py-ujson/package.py index 1b50fb9c2ebb6a..5c5c2140c57af7 100644 --- a/var/spack/repos/builtin/packages/py-ujson/package.py +++ b/var/spack/repos/builtin/packages/py-ujson/package.py @@ -17,6 +17,9 @@ class PyUjson(PythonPackage): version("4.0.2", sha256="c615a9e9e378a7383b756b7e7a73c38b22aeb8967a8bfbffd4741f7ffd043c4d") version("1.35", sha256="f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools@42:", when="@5:", type="build") depends_on("py-setuptools", type="build") depends_on("py-setuptools-scm@3.4:+toml", when="@5:", type="build") diff --git a/var/spack/repos/builtin/packages/py-umi-tools/package.py b/var/spack/repos/builtin/packages/py-umi-tools/package.py index bf737721f26f37..f3461e3a34197c 100644 --- a/var/spack/repos/builtin/packages/py-umi-tools/package.py +++ b/var/spack/repos/builtin/packages/py-umi-tools/package.py @@ -20,6 +20,8 @@ class PyUmiTools(PythonPackage): version("0.5.4", sha256="a03e6babf188d0618a63f083b4da18120b9e8b4d473af71b585dba7de347e962") version("0.5.3", sha256="d599f15c48c96a96ba667db1f364ebfed4ba733dd30469f9656c1717282d2ecb") + depends_on("c", type="build") # generated + depends_on("py-setuptools@1.1:", type="build") depends_on("py-numpy@1.7:", type=("build", "run")) depends_on("py-pandas@0.12:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-unicycler/package.py b/var/spack/repos/builtin/packages/py-unicycler/package.py index a0a521d84703bf..24de27c9dc9a68 100644 --- a/var/spack/repos/builtin/packages/py-unicycler/package.py +++ b/var/spack/repos/builtin/packages/py-unicycler/package.py @@ -26,6 +26,8 @@ class PyUnicycler(PythonPackage): version("0.4.6", sha256="56f6f358a5d1f8dd0fcd1df04504079fc42cec8453a36ee59ff89295535d03f5") version("0.4.5", sha256="67043656b31a4809f8fa8f73368580ba7658c8440b9f6d042c7f70b5eb6b19ae") + depends_on("cxx", type="build") # generated + depends_on("python@3.4:", type=("build", "link", "run")) depends_on("py-setuptools", type=("build", "run")) depends_on("racon", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/py-unshare/package.py b/var/spack/repos/builtin/packages/py-unshare/package.py index c80b6f8b2c25e6..5811d0644fbacd 100644 --- a/var/spack/repos/builtin/packages/py-unshare/package.py +++ b/var/spack/repos/builtin/packages/py-unshare/package.py @@ -15,6 +15,8 @@ class PyUnshare(PythonPackage): version("0.22", sha256="d521d72cca6e876f22cbd5ff5eb51f1beef75e8f9c53b599b55fa05fba1dd3a6") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") conflicts("platform=darwin", msg="unshare is linux-only") diff --git a/var/spack/repos/builtin/packages/py-urwid/package.py b/var/spack/repos/builtin/packages/py-urwid/package.py index b2b98cb77701c7..6c3d6eb4e7324c 100644 --- a/var/spack/repos/builtin/packages/py-urwid/package.py +++ b/var/spack/repos/builtin/packages/py-urwid/package.py @@ -17,4 +17,6 @@ class PyUrwid(PythonPackage): version("2.1.2", sha256="588bee9c1cb208d0906a9f73c613d2bd32c3ed3702012f51efe318a3f2127eae") version("1.3.0", sha256="29f04fad3bf0a79c5491f7ebec2d50fa086e9d16359896c9204c6a92bc07aba2") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-uvloop/package.py b/var/spack/repos/builtin/packages/py-uvloop/package.py index 10c875940c75f2..7bdacaad781d9f 100644 --- a/var/spack/repos/builtin/packages/py-uvloop/package.py +++ b/var/spack/repos/builtin/packages/py-uvloop/package.py @@ -14,9 +14,19 @@ class PyUvloop(PythonPackage): license("Apache-2.0") + version("0.19.0", sha256="0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd") + version("0.18.0", sha256="d5d1135beffe9cd95d0350f19e2716bc38be47d5df296d7cc46e3b7557c0d1ff") + version("0.17.0", sha256="0ddf6baf9cf11a1a22c71487f39f15b2cf78eb5bde7e5b45fbb99e8a9d91b9e1") version("0.16.0", sha256="f74bc20c7b67d1c27c72601c78cf95be99d5c2cdd4514502b4f3eb0933ff1228") version("0.14.0", sha256="123ac9c0c7dd71464f58f1b4ee0bbd81285d96cdda8bc3519281b8973e3a461e") + depends_on("c", type="build") # generated + + depends_on("python@3.8:", when="@0.19:", type=("build", "run")) depends_on("python@3.7:", when="@0.15:", type=("build", "run")) depends_on("python@3.5:", type=("build", "run")) - depends_on("py-setuptools", type="build") + + with default_args(type="build"): + depends_on("py-setuptools") + depends_on("py-setuptools@60:", when="@0.18:") + depends_on("py-cython@0.29.36:0.29", when="@0.17:") # May have been required for 0.16: diff --git a/var/spack/repos/builtin/packages/py-uwsgi/package.py b/var/spack/repos/builtin/packages/py-uwsgi/package.py index 2783c910071c58..21e987d0bc020f 100644 --- a/var/spack/repos/builtin/packages/py-uwsgi/package.py +++ b/var/spack/repos/builtin/packages/py-uwsgi/package.py @@ -17,5 +17,8 @@ class PyUwsgi(PythonPackage): version("2.0.18", sha256="4972ac538800fb2d421027f49b4a1869b66048839507ccf0aa2fda792d99f583") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("python", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/py-versioneer/package.py b/var/spack/repos/builtin/packages/py-versioneer/package.py index 5eb5ae59e5e7f2..f7b50a4760f4eb 100644 --- a/var/spack/repos/builtin/packages/py-versioneer/package.py +++ b/var/spack/repos/builtin/packages/py-versioneer/package.py @@ -24,6 +24,8 @@ class PyVersioneer(PythonPackage): version("0.26", sha256="84fc729aa296d1d26645a8f62f178019885ff6f9a1073b29a4a228270ac5257b") version("0.18", sha256="ead1f78168150011189521b479d3a0dd2f55c94f5b07747b484fd693c3fbf335") + depends_on("c", type="build") # generated + variant("toml", default=True, description="Install TOML support", when="@0.26:") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-virtualenv/package.py b/var/spack/repos/builtin/packages/py-virtualenv/package.py index 4b720793a41cb4..1c01c5f622856b 100644 --- a/var/spack/repos/builtin/packages/py-virtualenv/package.py +++ b/var/spack/repos/builtin/packages/py-virtualenv/package.py @@ -28,6 +28,8 @@ class PyVirtualenv(PythonPackage): version("13.0.1", sha256="36c2cfae0f9c6462264bb19c478fc6bab3478cf0575f1027452e975a1ed84dbd") version("1.11.6", sha256="3e7a4c151e2ee97f51db0215bfd2a073b04a91e9786df6cb67c916f16abe04f7") + depends_on("c", type="build") # generated + depends_on("py-hatch-vcs@0.3:", when="@20.18:", type="build") depends_on("py-hatchling@1.17.1:", when="@20.23.1:", type="build") depends_on("py-hatchling@1.14:", when="@20.22:", type="build") diff --git a/var/spack/repos/builtin/packages/py-vl-convert-python/package.py b/var/spack/repos/builtin/packages/py-vl-convert-python/package.py index 14187dd2d26843..115e7ca251518f 100644 --- a/var/spack/repos/builtin/packages/py-vl-convert-python/package.py +++ b/var/spack/repos/builtin/packages/py-vl-convert-python/package.py @@ -10,10 +10,20 @@ class PyVlConvertPython(PythonPackage): """Convert Vega-Lite chart specifications to SVG, PNG, PDF, or Vega""" homepage = "https://github.com/vega/vl-convert" - pypi = "vl_convert_python/vl_convert_python-0.13.1.tar.gz" - - version("1.3.0", sha256="de1462151dfbba7b2a17881dac1d2269662012c252f1e9d1537a4daed5e36067") - version("0.13.1", sha256="d70a608257dd6b5b782d96cccebfe7289992e522e47a8bebb7d928253ca8b396") + pypi = "vl_convert_python/vl_convert_python-1.4.0.tar.gz" + + version("1.4.0", sha256="264d6f2338c7d3474e60c6907cca016b880b0c1c9be302bb84abc6690188a7e9") + + version( + "1.3.0", + sha256="de1462151dfbba7b2a17881dac1d2269662012c252f1e9d1537a4daed5e36067", + deprecated=True, + ) + version( + "0.13.1", + sha256="d70a608257dd6b5b782d96cccebfe7289992e522e47a8bebb7d928253ca8b396", + deprecated=True, + ) depends_on("python@3.7:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-warpx/package.py b/var/spack/repos/builtin/packages/py-warpx/package.py index 945004ebe6f452..beea6bdce7fe9b 100644 --- a/var/spack/repos/builtin/packages/py-warpx/package.py +++ b/var/spack/repos/builtin/packages/py-warpx/package.py @@ -50,6 +50,8 @@ class PyWarpx(PythonPackage): version("22.02", sha256="d74b593d6f396e037970c5fbe10c2e5d71d557a99c97d40e4255226bc6c26e42") version("22.01", sha256="e465ffadabb7dc360c63c4d3862dc08082b5b0e77923d3fb05570408748b0d28") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") for v in [ diff --git a/var/spack/repos/builtin/packages/py-watchdog/package.py b/var/spack/repos/builtin/packages/py-watchdog/package.py index cb9bcfb44be7dd..e18bbff581b2ae 100644 --- a/var/spack/repos/builtin/packages/py-watchdog/package.py +++ b/var/spack/repos/builtin/packages/py-watchdog/package.py @@ -26,6 +26,8 @@ class PyWatchdog(PythonPackage): version("0.8.0", sha256="a86bb2d8b94bb4bf76fcc2ff36f741c0e511ec24c4d3a1059b47d49e377d64f5") version("0.7.1", sha256="54ca64fdf0a2fb23cecba6349f9587e62fd31840ae22a71898a65adb8c6b52f9") + depends_on("c", type="build") # generated + variant( "watchmedo", default=False, diff --git a/var/spack/repos/builtin/packages/py-webcolors/package.py b/var/spack/repos/builtin/packages/py-webcolors/package.py index 834ba71967344f..4114f988309929 100644 --- a/var/spack/repos/builtin/packages/py-webcolors/package.py +++ b/var/spack/repos/builtin/packages/py-webcolors/package.py @@ -12,9 +12,14 @@ class PyWebcolors(PythonPackage): homepage = "https://pypi.org/project/webcolors/" pypi = "webcolors/webcolors-1.11.1.tar.gz" - license("BSD-3-Clause") + license("BSD-3-Clause", checked_by="wdconinc") + version("24.6.0", sha256="1d160d1de46b3e81e58d0a280d0c78b467dc80f47294b91b1ad8029d2cedb55b") + version("1.13", sha256="c225b674c83fa923be93d235330ce0300373d02885cef23238813b0d5668304a") + version("1.12", sha256="16d043d3a08fd6a1b1b7e3e9e62640d09790dce80d2bdd4792a175b35fe794a9") version("1.11.1", sha256="76f360636957d1c976db7466bc71dcb713bb95ac8911944dffc55c01cb516de6") depends_on("python@3.5:", type=("build", "run")) - depends_on("py-setuptools", type=("build")) + depends_on("python@3.7:", type=("build", "run"), when="@1.12:") + depends_on("python@3.8:", type=("build", "run"), when="@24.6:") + depends_on("py-setuptools@61:", type=("build")) diff --git a/var/spack/repos/builtin/packages/py-webkit-server/package.py b/var/spack/repos/builtin/packages/py-webkit-server/package.py index 7302c5e2b9b4f9..eaf6bd6c06be24 100644 --- a/var/spack/repos/builtin/packages/py-webkit-server/package.py +++ b/var/spack/repos/builtin/packages/py-webkit-server/package.py @@ -18,5 +18,7 @@ class PyWebkitServer(PythonPackage): version("develop", branch="master") version("1.0", sha256="836dac18c823bf7737461a2d938c66c7b3601c858897e6c92c7ba0e33574a2bc") + depends_on("cxx", type="build") # generated + # pip silently replaces distutils with setuptools depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-websockets/package.py b/var/spack/repos/builtin/packages/py-websockets/package.py index c820112eb517a8..e8f6344102519c 100644 --- a/var/spack/repos/builtin/packages/py-websockets/package.py +++ b/var/spack/repos/builtin/packages/py-websockets/package.py @@ -21,4 +21,6 @@ class PyWebsockets(PythonPackage): version("10.1", sha256="181d2b25de5a437b36aefedaf006ecb6fa3aa1328ec0236cdde15f32f9d3ff6d") version("8.1", sha256="5c65d2da8c6bce0fca2528f69f44b2f977e06954c8512a952222cea50dad430f") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-whatshap/package.py b/var/spack/repos/builtin/packages/py-whatshap/package.py index d2141255b8e0bb..1229823c2782f2 100644 --- a/var/spack/repos/builtin/packages/py-whatshap/package.py +++ b/var/spack/repos/builtin/packages/py-whatshap/package.py @@ -18,6 +18,8 @@ class PyWhatshap(PythonPackage): version("0.17", sha256="5f342cbd28f5d3e79490754f067aa67e8bb059da1c042d944b9f75663ef6b055") + depends_on("cxx", type="build") # generated + depends_on("python@3.4:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-cython@0.17:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-wordcloud/package.py b/var/spack/repos/builtin/packages/py-wordcloud/package.py index aba30c805eb395..9e6f36cdf55d93 100644 --- a/var/spack/repos/builtin/packages/py-wordcloud/package.py +++ b/var/spack/repos/builtin/packages/py-wordcloud/package.py @@ -16,6 +16,8 @@ class PyWordcloud(PythonPackage): version("1.8.1", sha256="e6ef771aac17c1cf8558c8d5ef025796184066d7b78f8118aefe011fb0d22952") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy@1.6.1:", type=("build", "run")) depends_on("pil", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-workload-automation/package.py b/var/spack/repos/builtin/packages/py-workload-automation/package.py index 05ee82d1bc21ce..28e707b44df6e4 100644 --- a/var/spack/repos/builtin/packages/py-workload-automation/package.py +++ b/var/spack/repos/builtin/packages/py-workload-automation/package.py @@ -25,6 +25,8 @@ class PyWorkloadAutomation(PythonPackage): version("2.7.0", sha256="e9005b9db18e205bf6c4b3e09b15a118abeede73700897427565340dcd589fbb") version("2.6.0", sha256="b94341fb067592cebe0db69fcf7c00c82f96b4eb7c7210e34b38473869824cce") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-python-dateutil", type=("build", "run")) depends_on("py-pexpect@3.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-wrapt/package.py b/var/spack/repos/builtin/packages/py-wrapt/package.py index 4c22c0676fe375..b6bde1a38cc6d2 100644 --- a/var/spack/repos/builtin/packages/py-wrapt/package.py +++ b/var/spack/repos/builtin/packages/py-wrapt/package.py @@ -22,4 +22,6 @@ class PyWrapt(PythonPackage): version("1.11.1", sha256="4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533") version("1.10.10", sha256="42160c91b77f1bc64a955890038e02f2f72986c01d462d53cb6cb039b995cdd9") + depends_on("c", type="build") # generated + depends_on("py-setuptools@38.3:", type="build") diff --git a/var/spack/repos/builtin/packages/py-wxflow/package.py b/var/spack/repos/builtin/packages/py-wxflow/package.py new file mode 100644 index 00000000000000..969453b4a76785 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-wxflow/package.py @@ -0,0 +1,46 @@ +# 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 PyWxflow(PythonPackage): + """ + Common set of tools used in weather workflows. + See https://wxflow.readthedocs.io/en/latest/ for documentation. + """ + + homepage = "https://github.com/NOAA-EMC/wxflow" + pypi = "wxflow/wxflow-0.1.0.tar.gz" + + maintainers("aerorahul", "WalterKolczynski-NOAA", "AlexanderRichert-NOAA") + + license("LGPL-3.0-only", checked_by="AlexanderRichert-NOAA") + + version("0.2.0", sha256="a0fa903c6bb65e2cfa9deebcc8ec03d8eced82eac54288e73bd9137fcc0457d4") + version("0.1.0", sha256="4de120688affd7589bd9df0288139d16e97a93bc37efcfaf09fccc1c6ed43ab1") + + depends_on("python@3.6:", type=("build", "run")) + depends_on("py-setuptools", type="build") + + depends_on("py-numpy@1.21.6:", type=("build", "run")) + depends_on("py-pyyaml@6:", type=("build", "run")) + depends_on("py-jinja2@3.1.2:", type=("build", "run")) + + depends_on("py-pytest", type="test") + + @on_package_attributes(run_tests=True) + def patch(self): + # Disable code coverage generation + filter_file(r"\s\-\-cov[^\s]+", "", "setup.cfg") + + @run_after("install") + @on_package_attributes(run_tests=True) + def check(self): + env["PYTHONPATH"] = ":".join( + (join_path(self.build_directory, "build/lib"), env["PYTHONPATH"]) + ) + pytest = which(join_path(self.spec["py-pytest"].prefix.bin, "pytest")) + pytest("-v", self.build_directory) diff --git a/var/spack/repos/builtin/packages/py-wxpython/package.py b/var/spack/repos/builtin/packages/py-wxpython/package.py index 87d1e314ebfe2b..6fceaa583d3a7e 100644 --- a/var/spack/repos/builtin/packages/py-wxpython/package.py +++ b/var/spack/repos/builtin/packages/py-wxpython/package.py @@ -15,6 +15,9 @@ class PyWxpython(PythonPackage): version("4.1.1", sha256="00e5e3180ac7f2852f342ad341d57c44e7e4326de0b550b9a5c4a8361b6c3528") version("4.0.6", sha256="35cc8ae9dd5246e2c9861bb796026bbcb9fb083e4d49650f776622171ecdab37") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("wxwidgets") # Needed for the build.py script diff --git a/var/spack/repos/builtin/packages/py-xattr/package.py b/var/spack/repos/builtin/packages/py-xattr/package.py index 1ef69e00b28675..98cdea6e7bf795 100644 --- a/var/spack/repos/builtin/packages/py-xattr/package.py +++ b/var/spack/repos/builtin/packages/py-xattr/package.py @@ -25,6 +25,8 @@ class PyXattr(PythonPackage): version("0.9.7", sha256="b0bbca828e04ef2d484a6522ae7b3a7ccad5e43fa1c6f54d78e24bb870f49d44") version("0.9.6", sha256="7cb1b28eeab4fe99cc4350e831434142fce658f7d03f173ff7722144e6a47458") + depends_on("c", type="build") # generated + depends_on("python@2.7:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-cffi@1.0.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-xgboost/package.py b/var/spack/repos/builtin/packages/py-xgboost/package.py index 2fa4b187ed61ab..9b9818dda74e0e 100644 --- a/var/spack/repos/builtin/packages/py-xgboost/package.py +++ b/var/spack/repos/builtin/packages/py-xgboost/package.py @@ -25,6 +25,8 @@ class PyXgboost(PythonPackage): version("1.5.2", sha256="404dc09dca887ef5a9bc0268f882c54b33bfc16ac365a859a11e7b24d49da387") version("1.3.3", sha256="397051647bb837915f3ff24afc7d49f7fca57630ffd00fb5ef66ae2a0881fb43") + depends_on("cxx", type="build") # generated + variant("pandas", default=False, description="Enable Pandas extensions for training.") variant( "scikit-learn", default=False, description="Enable scikit-learn extensions for training." @@ -42,6 +44,8 @@ class PyXgboost(PythonPackage): depends_on("py-pip@:23.0", type="build") depends_on("py-numpy", type=("build", "run")) + # https://github.com/dmlc/xgboost/issues/10221 + depends_on("py-numpy@:1", when="@:2.0", type=("build", "run")) depends_on("py-scipy", type=("build", "run")) depends_on("py-pandas", when="+pandas", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-xpyb/package.py b/var/spack/repos/builtin/packages/py-xpyb/package.py index 27afdad8d92387..c590f3eca865b0 100644 --- a/var/spack/repos/builtin/packages/py-xpyb/package.py +++ b/var/spack/repos/builtin/packages/py-xpyb/package.py @@ -15,6 +15,8 @@ class PyXpyb(AutotoolsPackage): version("1.3.1", sha256="4056d11f94f17ed4342563955682193c7d004e80e5fa689816f87f3795549c17") + depends_on("c", type="build") # generated + extends("python") depends_on("libxcb@1.5:") diff --git a/var/spack/repos/builtin/packages/py-xtb/package.py b/var/spack/repos/builtin/packages/py-xtb/package.py index 589e45aa853450..1bc19445148ae4 100644 --- a/var/spack/repos/builtin/packages/py-xtb/package.py +++ b/var/spack/repos/builtin/packages/py-xtb/package.py @@ -25,3 +25,10 @@ class PyXtb(PythonPackage): depends_on("py-meson-python", type="build") depends_on("py-numpy", type=("build", "run")) depends_on("xtb", type=("build", "run")) + + # from https://github.com/grimme-lab/xtb-python/pull/114 + patch( + "https://github.com/grimme-lab/xtb-python/commit/df7e0010a679f5f00456bf09fcd9330cd7c56c39.patch?full_index=1", + when="@:22.1", + sha256="0242a4b79b7e24cfec3c0e6661e744eeb6a786d7", + ) diff --git a/var/spack/repos/builtin/packages/py-xxhash/package.py b/var/spack/repos/builtin/packages/py-xxhash/package.py index 6b2110d85deed0..581d657b7732b2 100644 --- a/var/spack/repos/builtin/packages/py-xxhash/package.py +++ b/var/spack/repos/builtin/packages/py-xxhash/package.py @@ -18,6 +18,8 @@ class PyXxhash(PythonPackage): version("3.2.0", sha256="1afd47af8955c5db730f630ad53ae798cf7fae0acb64cebb3cf94d35c47dd088") version("2.0.2", sha256="b7bead8cf6210eadf9cecf356e17af794f57c0939a3d420a00d87ea652f87b49") + depends_on("c", type="build") # generated + depends_on("python@2.6:2,3.3:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-setuptools@45:", type="build", when="@3.2.0:") diff --git a/var/spack/repos/builtin/packages/py-yajl/package.py b/var/spack/repos/builtin/packages/py-yajl/package.py index 6eae1130195731..abd3b491b7325d 100644 --- a/var/spack/repos/builtin/packages/py-yajl/package.py +++ b/var/spack/repos/builtin/packages/py-yajl/package.py @@ -14,4 +14,6 @@ class PyYajl(PythonPackage): version("0.3.5", sha256="432321ea613692a4782a2368a300f57b59c64a3c8508c7465af3fdc045e7bcc2") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-yarl/package.py b/var/spack/repos/builtin/packages/py-yarl/package.py index 27df06fa84bf97..d07f7f8a7ac6b6 100644 --- a/var/spack/repos/builtin/packages/py-yarl/package.py +++ b/var/spack/repos/builtin/packages/py-yarl/package.py @@ -21,6 +21,8 @@ class PyYarl(PythonPackage): version("1.4.2", sha256="58cd9c469eced558cd81aa3f484b2924e8897049e06889e8ff2510435b7ef74b") version("1.3.0", sha256="024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9") + depends_on("c", type="build") # generated + depends_on("py-setuptools@40:", type="build", when="@1.7.2:") depends_on("py-setuptools", type="build") depends_on("py-cython", type="build") diff --git a/var/spack/repos/builtin/packages/py-your/package.py b/var/spack/repos/builtin/packages/py-your/package.py new file mode 100644 index 00000000000000..a0e90fc7bde592 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-your/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 PyYour(PythonPackage): + """Python library to read and process pulsar data in several different formats""" + + homepage = "https://github.com/thepetabyteproject/your" + + # pypi tarball has requirements.txt missing + url = "https://github.com/thepetabyteproject/your/archive/refs/tags/0.6.7.tar.gz" + + maintainers("aweaver1fandm") + + license("GPL-3.0") + + version("0.6.7", sha256="f2124a630d413621cce067805feb6b9c21c5c8938f41188bd89684968478d814") + + depends_on("python@3.8:", type=("build", "run")) + depends_on("py-setuptools", type="build") + + depends_on("py-astropy@6.1.0:", type=("build", "run")) + depends_on("py-matplotlib@3.2.1:", type=("build", "run")) + depends_on("py-numpy@1.18.4:", type=("build", "run")) + depends_on("py-h5py@2.10:", type=("build", "run")) + depends_on("py-scikit-image@0.14.2:", type=("build", "run")) + depends_on("py-scipy@1.3:", type=("build", "run")) + depends_on("py-numba@0.48:", type=("build", "run")) + depends_on("py-pandas@1.0.3:", type=("build", "run")) + depends_on("py-rich@8:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-yt/package.py b/var/spack/repos/builtin/packages/py-yt/package.py index 183362dfe365d2..f42db02498dfb0 100644 --- a/var/spack/repos/builtin/packages/py-yt/package.py +++ b/var/spack/repos/builtin/packages/py-yt/package.py @@ -40,6 +40,9 @@ class PyYt(PythonPackage): version("3.2.3", sha256="4d6ccf345d9fab965335c9faf8708c7eea79366b81d77f0f302808be3e82c0ed") version("3.2.2", sha256="78866f51e4751534ad60987000f149a8295952b99b37ca249d45e4d11095a5df") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("astropy", default=True, description="enable astropy support") variant("h5py", default=True, description="enable h5py support") variant("scipy", default=True, description="enable scipy support") @@ -56,6 +59,8 @@ class PyYt(PythonPackage): depends_on("py-more-itertools@8.4:", when="@4.1.2:") depends_on("py-numpy@1.10.4:", type=("build", "run")) depends_on("py-numpy@1.14.5:", type=("build", "run"), when="@4.1.2:") + # https://github.com/yt-project/yt/pull/4859 + depends_on("py-numpy@:1", when="@:4.3.0", type=("build", "run")) depends_on("py-packaging@20.9:", type=("build", "run"), when="@4.1.2:") # PIL/pillow and pyparsing dependency is handled by matplotlib depends_on("py-tomli-w@0.4:", type=("build", "run"), when="@4.1.2:") diff --git a/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py b/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py index eefccd11079ad6..96f03473a40667 100644 --- a/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py +++ b/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py @@ -21,6 +21,8 @@ class PyYtoptAutotune(PythonPackage): version("1.1.0", sha256="5ee7fa6a1c83131c5ceba1537b25f00de84182e4d0e6ebd0fd6efa4e8aee1bc4") version("1.0.0", sha256="13f10594156a7a220561467fdbee52173238ea82c07e8188fdf6584d4524f46f") + depends_on("c", type="build") # generated + patch("version.patch", when="@1.1.0") depends_on("python@3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-ytopt/package.py b/var/spack/repos/builtin/packages/py-ytopt/package.py index b4431367936271..dee48ed6696c66 100644 --- a/var/spack/repos/builtin/packages/py-ytopt/package.py +++ b/var/spack/repos/builtin/packages/py-ytopt/package.py @@ -22,6 +22,9 @@ class PyYtopt(PythonPackage): version("0.0.2", sha256="5a624aa678b976ff6ef867610bafcb0dfd5c8af0d880138ca5d56d3f776e6d71") version("0.0.1", sha256="3ca616922c8e76e73f695a5ddea5dd91b0103eada726185f008343cc5cbd7744") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "online", default=False, diff --git a/var/spack/repos/builtin/packages/py-z3-solver/package.py b/var/spack/repos/builtin/packages/py-z3-solver/package.py index bbd74462c35582..851ed124fb3b3f 100644 --- a/var/spack/repos/builtin/packages/py-z3-solver/package.py +++ b/var/spack/repos/builtin/packages/py-z3-solver/package.py @@ -16,5 +16,7 @@ class PyZ3Solver(PythonPackage): version("4.12.3.0", sha256="b6719daf9676711a8f1c708af0ea185578b0f22a3cb9bf9a55735e21691dc38d") + depends_on("cxx", type="build") # generated + depends_on("py-setuptools@46.4:", type="build") depends_on("cmake", type="build") diff --git a/var/spack/repos/builtin/packages/py-zarr/package.py b/var/spack/repos/builtin/packages/py-zarr/package.py index 6d3dbf9b2d47c0..7da4fce325ca6d 100644 --- a/var/spack/repos/builtin/packages/py-zarr/package.py +++ b/var/spack/repos/builtin/packages/py-zarr/package.py @@ -31,6 +31,8 @@ class PyZarr(PythonPackage): 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")) + # https://github.com/zarr-developers/zarr-python/issues/1818 + depends_on("py-numpy@:1", when="@:2.17", 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:") diff --git a/var/spack/repos/builtin/packages/py-zipfile-deflate64/package.py b/var/spack/repos/builtin/packages/py-zipfile-deflate64/package.py index fdeb2965dc8cac..4858f4267ebe1d 100644 --- a/var/spack/repos/builtin/packages/py-zipfile-deflate64/package.py +++ b/var/spack/repos/builtin/packages/py-zipfile-deflate64/package.py @@ -16,6 +16,8 @@ class PyZipfileDeflate64(PythonPackage): version("0.2.0", sha256="875a3299de102edf1c17f8cafcc528b1ca80b62dc4814b9cb56867ec59fbfd18") + depends_on("c", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools@42:", type="build") depends_on("py-setuptools-scm@3.4:+toml", type="build") diff --git a/var/spack/repos/builtin/packages/py-zope-interface/package.py b/var/spack/repos/builtin/packages/py-zope-interface/package.py index 5ac69637f1164d..5e7270ba43f1e9 100644 --- a/var/spack/repos/builtin/packages/py-zope-interface/package.py +++ b/var/spack/repos/builtin/packages/py-zope-interface/package.py @@ -21,6 +21,8 @@ class PyZopeInterface(PythonPackage): version("5.1.0", sha256="40e4c42bd27ed3c11b2c983fecfb03356fae1209de10686d03c02c8696a1d90e") version("4.5.0", sha256="57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c") + depends_on("c", type="build") # generated + depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@4.5.0") depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@5.1.0:") diff --git a/var/spack/repos/builtin/packages/pygmo/package.py b/var/spack/repos/builtin/packages/pygmo/package.py index 31095ec8db9f91..bd04f292aae63d 100644 --- a/var/spack/repos/builtin/packages/pygmo/package.py +++ b/var/spack/repos/builtin/packages/pygmo/package.py @@ -21,6 +21,8 @@ class Pygmo(CMakePackage): version("master", branch="master") version("2.18.0", sha256="9f081cc973297894af09f713f889870ac452bfb32b471f9f7ba08a5e0bb9a125") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries") # Run-time dependencies diff --git a/var/spack/repos/builtin/packages/pypy-bootstrap/package.py b/var/spack/repos/builtin/packages/pypy-bootstrap/package.py index 9917ff34c33dad..d05aca50017ae6 100644 --- a/var/spack/repos/builtin/packages/pypy-bootstrap/package.py +++ b/var/spack/repos/builtin/packages/pypy-bootstrap/package.py @@ -39,6 +39,8 @@ class PypyBootstrap(Package): elif platform.system() == "Windows": version("2.7-v7.3.12", "84cd3b98812d47a1ddb36f3417cc96b3dbdfa32c2b4e16438f205e1253f7ccea") + depends_on("c", type="build") # generated + def url_for_version(self, version): url = "https://downloads.python.org/pypy/pypy{}-{}.{}" ext = "tar.bz2" diff --git a/var/spack/repos/builtin/packages/pypy/package.py b/var/spack/repos/builtin/packages/pypy/package.py index b44516b870ebe8..e0380753335d05 100644 --- a/var/spack/repos/builtin/packages/pypy/package.py +++ b/var/spack/repos/builtin/packages/pypy/package.py @@ -21,6 +21,9 @@ class Pypy(Package): "3.10-v7.3.12", sha256="86e4e4eacc36046c6182f43018796537fe33a60e1d2a2cc6b8e7f91a5dcb3e42" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("ctypes", default=True, description="Build ctypes module") variant("zlib", default=True, description="Build zlib module") variant("bz2", default=True, description="Build bz2 module") diff --git a/var/spack/repos/builtin/packages/pythia6/package.py b/var/spack/repos/builtin/packages/pythia6/package.py index c3e358f2cadedd..f28bf5c970de27 100644 --- a/var/spack/repos/builtin/packages/pythia6/package.py +++ b/var/spack/repos/builtin/packages/pythia6/package.py @@ -41,6 +41,8 @@ class Pythia6(CMakePackage): sha256="01cbff47e99365b5e46f6d62c1735d3cae1932c4710604850d59f538cb758020", ) + depends_on("fortran", type="build") # generated + # Root's TPythia6 interface requires extra sources to be built into # the Pythia6 library. variant("root", default=False, description="Build extra (non OEM) code to allow use by Root.") diff --git a/var/spack/repos/builtin/packages/pythia8/package.py b/var/spack/repos/builtin/packages/pythia8/package.py index 02a0a26b184054..00145d163e6d08 100644 --- a/var/spack/repos/builtin/packages/pythia8/package.py +++ b/var/spack/repos/builtin/packages/pythia8/package.py @@ -58,6 +58,8 @@ class Pythia8(AutotoolsPackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + variant( "cxxstd", default="11", diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py index bf3f860e53c320..255b665faad8a3 100644 --- a/var/spack/repos/builtin/packages/python/package.py +++ b/var/spack/repos/builtin/packages/python/package.py @@ -21,6 +21,25 @@ from spack.util.prefix import Prefix +def make_pyvenv_cfg(python_spec: "spack.spec.Spec", venv_prefix: str) -> str: + """Make a pyvenv_cfg file for a given (real) python command and venv prefix.""" + python_cmd = python_spec.command.path + lines = [ + # directory containing python command + f"home = {os.path.dirname(python_cmd)}", + # venv should not allow site packages from the real python to be loaded + "include-system-site-packages = false", + # version of the python command + f"version = {python_spec.version}", + # the path to the python command + f"executable = {python_cmd}", + # command "used" to create the pyvenv.cfg + f"command = {python_cmd} -m venv --without-pip {venv_prefix}", + ] + + return "\n".join(lines) + "\n" + + class Python(Package): """The Python programming language.""" @@ -40,6 +59,7 @@ class Python(Package): license("0BSD") + version("3.12.4", sha256="01b3c1c082196f3b33168d344a9c85fb07bfe0e7ecfe77fee4443420d1ce2ad9") version("3.12.3", sha256="a6b9459f45a6ebbbc1af44f5762623fa355a0c87208ed417628b379d762dddb0") version("3.12.2", sha256="a7c4f6a9dc423d8c328003254ab0c9338b83037bd787d680826a5bf84308116e") version("3.12.1", sha256="d01ec6a33bc10009b09c17da95cc2759af5a580a7316b3a446eb4190e13f97b2") @@ -204,6 +224,9 @@ class Python(Package): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + extendable = True # Variants to avoid cyclical dependencies for concretizer @@ -1241,6 +1264,33 @@ def setup_dependent_package(self, module, dependent_spec): module.python_platlib = join_path(dependent_spec.prefix, self.platlib) module.python_purelib = join_path(dependent_spec.prefix, self.purelib) + def add_files_to_view(self, view, merge_map, skip_if_exists=True): + """Make the view a virtual environment if it isn't one already. + + If `python-venv` is linked into the view, it will already be a virtual + environment. If not, then this is an older python that doesn't use the + python-venv support, or we may be using python packages that + use ``depends_on("python")`` but not ``extends("python")``. + + We used to copy the python interpreter in, but we can get the same effect in a + simpler way by adding a ``pyvenv.cfg`` to the environment. + + """ + super().add_files_to_view(view, merge_map, skip_if_exists=skip_if_exists) + + # location of python inside the view, where we will put the venv config + projection = view.get_projection_for_spec(self.spec) + pyvenv_cfg = os.path.join(projection, "pyvenv.cfg") + if os.path.lexists(pyvenv_cfg): + return + + # don't put a pyvenv.cfg in a copy view + if view.link_type == "copy": + return + + with open(pyvenv_cfg, "w") as cfg_file: + cfg_file.write(make_pyvenv_cfg(self.spec["python"], projection)) + def test_hello_world(self): """run simple hello world program""" # do not use self.command because we are also testing the run env diff --git a/var/spack/repos/builtin/packages/q-e-sirius/package.py b/var/spack/repos/builtin/packages/q-e-sirius/package.py index 92593111c7d556..e376eece0fe40f 100644 --- a/var/spack/repos/builtin/packages/q-e-sirius/package.py +++ b/var/spack/repos/builtin/packages/q-e-sirius/package.py @@ -27,7 +27,10 @@ class QESirius(CMakePackage): submodules=True, ) - variant("mpi", default=True, description="Builds with MPI support") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=True, description="Enables OpenMP support") variant("libxc", default=False, description="Support functionals through libxc") variant("sirius_apps", default=False, description="Build SIRIUS standalone binaries") @@ -47,7 +50,7 @@ class QESirius(CMakePackage): depends_on("sirius +openmp", when="+openmp") depends_on("sirius@develop", when="@develop-ristretto") - depends_on("mpi", when="+mpi") + depends_on("mpi") depends_on("elpa", when="+elpa") depends_on("libxc", when="+libxc") depends_on("fftw-api@3") @@ -56,12 +59,9 @@ class QESirius(CMakePackage): depends_on("git", type="build") depends_on("pkgconfig", type="build") - conflicts("~mpi", when="+scalapack", msg="SCALAPACK requires MPI support") conflicts("~scalapack", when="+elpa", msg="ELPA requires SCALAPACK support") - with when("+mpi"): - depends_on("mpi") - variant("scalapack", default=True, description="Enables scalapack support") + variant("scalapack", default=True, description="Enables scalapack support") with when("+scalapack"): depends_on("scalapack") @@ -82,7 +82,7 @@ def cmake_args(self): "-DQE_ENABLE_CUDA=OFF", "-DQE_LAPACK_INTERNAL=OFF", "-DQE_ENABLE_DOC=OFF", - self.define_from_variant("QE_ENABLE_MPI", "mpi"), + "-DQE_ENABLE_MPI=ON", self.define_from_variant("QE_ENABLE_OPENMP", "openmp"), self.define_from_variant("QE_ENABLE_ELPA", "elpa"), self.define_from_variant("QE_ENABLE_LIBXC", "libxc"), diff --git a/var/spack/repos/builtin/packages/qb3/package.py b/var/spack/repos/builtin/packages/qb3/package.py index cf73be4670ac04..522f32ad6d4c28 100644 --- a/var/spack/repos/builtin/packages/qb3/package.py +++ b/var/spack/repos/builtin/packages/qb3/package.py @@ -16,6 +16,8 @@ class Qb3(CMakePackage): version("master", branch="master") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.5:", type="build") depends_on("libicd") diff --git a/var/spack/repos/builtin/packages/qca/package.py b/var/spack/repos/builtin/packages/qca/package.py index 1313a3558b109e..30247fc324af46 100644 --- a/var/spack/repos/builtin/packages/qca/package.py +++ b/var/spack/repos/builtin/packages/qca/package.py @@ -28,6 +28,9 @@ class Qca(CMakePackage): version("2.2.1", sha256="c67fc0fa8ae6cb3d0ba0fbd8fca8ee8e4c5061b99f1fd685fd7d9800cef17f6b") version("2.1.3", sha256="a5135ffb0250a40e9c361eb10cd3fe28293f0cf4e5c69d3761481eafd7968067") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("qt@4.2:") depends_on("qt@:5.10.0", when="@2.1.3") diff --git a/var/spack/repos/builtin/packages/qcachegrind/package.py b/var/spack/repos/builtin/packages/qcachegrind/package.py index 5328f8dc2f92a4..68bb80a8df7537 100644 --- a/var/spack/repos/builtin/packages/qcachegrind/package.py +++ b/var/spack/repos/builtin/packages/qcachegrind/package.py @@ -22,6 +22,8 @@ class Qcachegrind(QMakePackage): version("20.12.2", sha256="935cf6665fac274f84af84d0a30cc2fdf27d437234b9accbf8ec0a5dba6ad867") version("20.08.0", sha256="ffb50a7c536042ff11eed714b359b8bc419cb12402a31ebe78c3d06363f234e6") + depends_on("cxx", type="build") # generated + depends_on("qt@5.2:") depends_on("graphviz", type="run") diff --git a/var/spack/repos/builtin/packages/qcat/package.py b/var/spack/repos/builtin/packages/qcat/package.py index a6ebd8ae4b8751..5ccaf8d4090eb0 100644 --- a/var/spack/repos/builtin/packages/qcat/package.py +++ b/var/spack/repos/builtin/packages/qcat/package.py @@ -19,6 +19,8 @@ class Qcat(CMakePackage): version("master", branch="master") version("1.4", commit="f16032cf237837b1d32dde0c3daa6ad1ca4a912f") + depends_on("c", type="build") # generated + depends_on("zstd") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/qctool/package.py b/var/spack/repos/builtin/packages/qctool/package.py index 8933381653e545..51f66823e5d513 100644 --- a/var/spack/repos/builtin/packages/qctool/package.py +++ b/var/spack/repos/builtin/packages/qctool/package.py @@ -23,6 +23,10 @@ class Qctool(WafPackage): url="https://enkre.net/cgi-bin/code/qctool/tarball/86639c1ad4/qctool-86639c1ad4.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Required external libraries as detailed in Prerequisites: # https://enkre.net/cgi-bin/code/qctool/wiki?name=Compiling+QCTOOL depends_on("zlib") diff --git a/var/spack/repos/builtin/packages/qd/package.py b/var/spack/repos/builtin/packages/qd/package.py index aaa6fd1b343684..b80efee78edd88 100644 --- a/var/spack/repos/builtin/packages/qd/package.py +++ b/var/spack/repos/builtin/packages/qd/package.py @@ -20,6 +20,10 @@ class Qd(AutotoolsPackage): version("2.3.13", commit="a57dde96b3255b80f7f39cd80217c213bf78d949") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/qemu/package.py b/var/spack/repos/builtin/packages/qemu/package.py index e5fdd5fd107838..5d81b6e9b57ef6 100644 --- a/var/spack/repos/builtin/packages/qemu/package.py +++ b/var/spack/repos/builtin/packages/qemu/package.py @@ -104,6 +104,9 @@ class Qemu(AutotoolsPackage): version("0.10.0", sha256="cd554729fa9d0ec17164afbc1cea62d02bde3db8e16db3fd1b8e71d8e1b3dd41") version("0.9.1", sha256="a9655a471d0649f5540b890447b35849c162d9b986bf2bbddcb68461748e0f42") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("glib@2.40:") depends_on("pixman@0.21.8:") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/qgis/package.py b/var/spack/repos/builtin/packages/qgis/package.py index 196a52622f1f44..83d12423576416 100644 --- a/var/spack/repos/builtin/packages/qgis/package.py +++ b/var/spack/repos/builtin/packages/qgis/package.py @@ -60,6 +60,9 @@ class Qgis(CMakePackage): version("3.4.15", sha256="81c93b72adbea41bd765294c0cdb09476a632d8b3f90101abc409ca9ea7fb04d") version("3.4.14", sha256="e138716c7ea84011d3b28fb9c75e6a79322fb66f532246393571906a595d7261") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("3d", default=False, description="Build QGIS 3D library") variant("analysis", default=True, description="Build QGIS analysis library") variant("apidoc", default=False, description="Build QGIS API doxygen documentation") diff --git a/var/spack/repos/builtin/packages/qgraf/package.py b/var/spack/repos/builtin/packages/qgraf/package.py index 1d2fe3dc3fef8e..72b311a5980352 100644 --- a/var/spack/repos/builtin/packages/qgraf/package.py +++ b/var/spack/repos/builtin/packages/qgraf/package.py @@ -17,6 +17,8 @@ class Qgraf(Package): version("3.4.2", sha256="cfc029fb871c78943865ef8b51ebcd3cd4428448b8816714b049669dfdeab8aa") + depends_on("fortran", type="build") # generated + def install(self, spec, prefix): fortran = Executable(spack_fc) fortran("qgraf-{0}.f".format(self.spec.version), "-o", "qgraf") diff --git a/var/spack/repos/builtin/packages/qhull/package.py b/var/spack/repos/builtin/packages/qhull/package.py index c612e8e8163915..20f168d22da1e9 100644 --- a/var/spack/repos/builtin/packages/qhull/package.py +++ b/var/spack/repos/builtin/packages/qhull/package.py @@ -27,6 +27,9 @@ class Qhull(CMakePackage): version("2015.2", sha256="8b6dd67ff77ce1ee814da84f4134ef4bdce1f1031e570b8d83019ccef58b1c00") version("2012.1", sha256="cb1296fbb9ec8b7d6e8f4c239ad165590616f242c7c46f790c27d8dcebe96c6a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch("qhull-unused-intel-17.02.patch", when="@2015.2") depends_on("cmake@3.0:", type="build") diff --git a/var/spack/repos/builtin/packages/qjson/package.py b/var/spack/repos/builtin/packages/qjson/package.py index 15605094e8c734..798d7ec477c49f 100644 --- a/var/spack/repos/builtin/packages/qjson/package.py +++ b/var/spack/repos/builtin/packages/qjson/package.py @@ -17,6 +17,8 @@ class Qjson(CMakePackage): version("0.9.0", sha256="e812617477f3c2bb990561767a4cd8b1d3803a52018d4878da302529552610d4") + depends_on("cxx", type="build") # generated + depends_on("qt") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/qmcpack/package.py b/var/spack/repos/builtin/packages/qmcpack/package.py index 33e1580946fe2d..5b9996e04f7427 100644 --- a/var/spack/repos/builtin/packages/qmcpack/package.py +++ b/var/spack/repos/builtin/packages/qmcpack/package.py @@ -47,6 +47,9 @@ class Qmcpack(CMakePackage, CudaPackage): version("3.1.1", tag="v3.1.1", commit="07611637f823187ac5133d6e2249cdb86b92b04d") version("3.1.0", tag="v3.1.0", commit="146d920cf33590eac6a7a976f88871c1fe6418a6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # These defaults match those in the QMCPACK manual variant( "build_type", diff --git a/var/spack/repos/builtin/packages/qmd-progress/package.py b/var/spack/repos/builtin/packages/qmd-progress/package.py index f3b0580d581770..02edafb729ed70 100644 --- a/var/spack/repos/builtin/packages/qmd-progress/package.py +++ b/var/spack/repos/builtin/packages/qmd-progress/package.py @@ -23,6 +23,9 @@ class QmdProgress(CMakePackage): version("1.1.0", sha256="757d2606d7b7f38e7f8f491bf7369b88de55062bae0b12a9928f0a5acae993bd") version("1.0.0", sha256="eed87e68b4a1533a3ed70c1662feca4ac890b985f3326fc94522c2f71f198fdc") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("graphlib", default=False, description="Build with Metis Suppport") variant("mpi", default=True, description="Build with MPI Support") variant("shared", default=True, description="Build shared libs") diff --git a/var/spack/repos/builtin/packages/qnnpack/package.py b/var/spack/repos/builtin/packages/qnnpack/package.py index 8acd47432103f4..072dbfc1572205 100644 --- a/var/spack/repos/builtin/packages/qnnpack/package.py +++ b/var/spack/repos/builtin/packages/qnnpack/package.py @@ -22,6 +22,9 @@ class Qnnpack(CMakePackage): version("2018-12-27", commit="6c62fddc6d15602be27e9e4cbb9e985151d2fa82") # py-torch@1.2 version("2018-12-04", commit="ef05e87cef6b8e719989ce875b5e1c9fdb304c05") # py-torch@1.0:1.1 + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + generator("ninja") depends_on("cmake@3.5:", type="build") depends_on("python", type="build") diff --git a/var/spack/repos/builtin/packages/qoz/package.py b/var/spack/repos/builtin/packages/qoz/package.py index a75dd22299141a..23f3a542f56944 100644 --- a/var/spack/repos/builtin/packages/qoz/package.py +++ b/var/spack/repos/builtin/packages/qoz/package.py @@ -17,6 +17,9 @@ class Qoz(CMakePackage): version("2022.04.26", commit="d28a7a8c9f703075441b700202b8a1ee185ded00") version("2023.03.09", commit="537f6a52a39396f9c05e16a12ab160d8dc8b9d56") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + maintainers("disheng222") depends_on("zstd") diff --git a/var/spack/repos/builtin/packages/qpdf/package.py b/var/spack/repos/builtin/packages/qpdf/package.py index 6b297886b443c6..35da1767ef6f7e 100644 --- a/var/spack/repos/builtin/packages/qpdf/package.py +++ b/var/spack/repos/builtin/packages/qpdf/package.py @@ -22,6 +22,9 @@ class Qpdf(CMakePackage): version("11.9.0", sha256="9f5d6335bb7292cc24a7194d281fc77be2bbf86873e8807b85aeccfbff66082f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "crypto", values=["openssl", "gnutls", "native", "implicit"], diff --git a/var/spack/repos/builtin/packages/qperf/package.py b/var/spack/repos/builtin/packages/qperf/package.py index eb4344129828d4..695dd55daef6e1 100644 --- a/var/spack/repos/builtin/packages/qperf/package.py +++ b/var/spack/repos/builtin/packages/qperf/package.py @@ -20,6 +20,8 @@ class Qperf(AutotoolsPackage): version("0.4.11", sha256="b0ef2ffe050607566d06102b4ef6268aad08fdc52898620d429096e7b0767e75") version("0.4.10", sha256="94e26725b4f962eacca36d8ef48cd1fb5043721ac82c3f44018319e47a96cf6b") + depends_on("c", type="build") # generated + variant("verbs", default=True, description="Build with verbs support") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/qrmumps/package.py b/var/spack/repos/builtin/packages/qrmumps/package.py index ca081ad1c72b28..11dce1d20f9759 100644 --- a/var/spack/repos/builtin/packages/qrmumps/package.py +++ b/var/spack/repos/builtin/packages/qrmumps/package.py @@ -20,6 +20,9 @@ class Qrmumps(CMakePackage): version("3.1", sha256="6e39dbfa1e6ad3730b006c8953a43cc6da3dfc91f00edeb68a641d364703b773") version("3.0.4", sha256="621a294c3bf1e60e4ea6ae29c0586760648947f650e0f86bbabaf82805fc17db") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("amd", default=True, description="Enable AMD ordering") variant("metis", default=True, description="Enable Metis ordering") variant("scotch", default=True, description="Enable Scotch ordering") diff --git a/var/spack/repos/builtin/packages/qrupdate/package.py b/var/spack/repos/builtin/packages/qrupdate/package.py index bdb85917bafe23..a7cbb2631aa096 100644 --- a/var/spack/repos/builtin/packages/qrupdate/package.py +++ b/var/spack/repos/builtin/packages/qrupdate/package.py @@ -20,6 +20,8 @@ class Qrupdate(MakefilePackage, SourceforgePackage): version("1.1.2", sha256="e2a1c711dc8ebc418e21195833814cb2f84b878b90a2774365f0166402308e08") + depends_on("fortran", type="build") # generated + depends_on("blas") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/qscintilla/package.py b/var/spack/repos/builtin/packages/qscintilla/package.py index ce39d02d45d65e..53e8e407f67a7f 100644 --- a/var/spack/repos/builtin/packages/qscintilla/package.py +++ b/var/spack/repos/builtin/packages/qscintilla/package.py @@ -24,6 +24,8 @@ class Qscintilla(QMakePackage): version("2.13.3", sha256="711d28e37c8fccaa8229e8e39a5b3b2d97f3fffc63da10b71c71b84fa3649398") version("2.12.0", sha256="2116181cce3076aa4897e36182532d0e6768081fb0cf6dcdd5be720519ab1434") + depends_on("cxx", type="build") # generated + variant("designer", default=False, description="Enable pluging for Qt-Designer") variant("python", default=False, description="Build python bindings") diff --git a/var/spack/repos/builtin/packages/qt-base/package.py b/var/spack/repos/builtin/packages/qt-base/package.py index add485f251392a..b21ad2fe16d64b 100644 --- a/var/spack/repos/builtin/packages/qt-base/package.py +++ b/var/spack/repos/builtin/packages/qt-base/package.py @@ -93,6 +93,8 @@ class QtBase(QtPackage): license("BSD-3-Clause") + version("6.7.2", sha256="96b96e4fd0fc306502ed8b94a34cfa0bacc8a25d43c2e958dd6772b28f6b0e42") + version("6.7.1", sha256="d6950597ce1fc2e1cf374c3aa70c2d72532bb74150e9853d7127af86a8a6c7b4") version("6.7.0", sha256="e17f016ec987092423e86d732c0f9786124598877fa00970fd806da113c02ca5") version("6.6.3", sha256="11abfcae323d295129f644f1828064e05af7d64d49edb0e00bfb8e8cb9691259") version("6.6.2", sha256="2cbdc4791c5838fddb1ce7ee693b165bb4acf3f81acd6c1bf9e56413b25050df") @@ -112,6 +114,9 @@ class QtBase(QtPackage): version("6.2.4", sha256="657d1405b5e15afcf322cc75b881f62d6a56f16383707742a99eb87f53cb63de") version("6.2.3", sha256="2dd095fa82bff9e0feb7a9004c1b2fb910f79ecc6111aa64637c95a02b7a8abb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("dbus", default=False, description="Build with D-Bus support.") variant( "framework", default=bool(MACOS_VERSION), description="Build as a macOS Framework package." diff --git a/var/spack/repos/builtin/packages/qt-declarative/package.py b/var/spack/repos/builtin/packages/qt-declarative/package.py index 8956e58cccc797..b7961cf9ce372d 100644 --- a/var/spack/repos/builtin/packages/qt-declarative/package.py +++ b/var/spack/repos/builtin/packages/qt-declarative/package.py @@ -16,6 +16,8 @@ class QtDeclarative(QtPackage): license("BSD-3-Clause") + version("6.7.2", sha256="3b91d1b75f22221f39b93647d73c9fe7fc4b9c8d45ff0cec402626eab15d8dd8") + version("6.7.1", sha256="fdf4099cbced3ce56e5151122ae1eb924886492f9fc2eb6a353d60a23e8fde14") version("6.7.0", sha256="dc3fec16cbe0f706b2b6114e5dbb884269543f2d679a0a3a63b4f686156adf73") version("6.6.3", sha256="34757cb6f2960aaee2849ff9fabe3ec06499fb07f41ab4f9351ce602b85bebd3") version("6.6.2", sha256="6079545e04e7704fcab8e50687e1ee9df8d3bb43288a1602ff0f142e640a5b51") @@ -35,6 +37,9 @@ class QtDeclarative(QtPackage): version("6.2.4", sha256="cd939d99c37e7723268804b9516e32f8dd64b985d847469c78b66b5f4481c548") version("6.2.3", sha256="eda82abfe685a6ab5664e4268954622ccd05cc9ec8fb16eaa453c54900591baf") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Testing requires +network depends_on("qt-base +network", type="test") diff --git a/var/spack/repos/builtin/packages/qt-quick3d/package.py b/var/spack/repos/builtin/packages/qt-quick3d/package.py index aea6e37f06c31d..a08ad81acbe10a 100644 --- a/var/spack/repos/builtin/packages/qt-quick3d/package.py +++ b/var/spack/repos/builtin/packages/qt-quick3d/package.py @@ -16,6 +16,8 @@ class QtQuick3d(QtPackage): license("BSD-3-Clause") + version("6.7.2", sha256="67021658cb10bfa6d969c4219d599ab2f4775d08fb4ae56da17fbec305088b55") + version("6.7.1", sha256="c889b70305da7595df87c3bd062474787b722ab216bc2e6226e33fae3ec3459d") version("6.7.0", sha256="3adb7cc458c21a4642e7138cc0ca12934cd7075633d06c46c689f65718c8ba73") version("6.6.3", sha256="6990aac1434722cdf54fa6b3ebbae6d2af4d4dc89d6d33a2146c83c49be59ecb") version("6.6.2", sha256="b99184a1ef912219374b2bb9a9b1899c1c55694736bc3185e2306db16c66b4ab") @@ -35,6 +37,8 @@ class QtQuick3d(QtPackage): version("6.2.4", sha256="7292ed4373a92913c6811f2faa5191f0426f84bd93a3f6eb7d54b62626b56db5") version("6.2.3", sha256="35d06edbdd83b7d781b70e0bada18911fa9b774b6403589d5b21813a73584d80") + depends_on("cxx", type="build") # generated + depends_on("qt-base +network", when="@6.3.0:") depends_on("assimp@5.0.1:") diff --git a/var/spack/repos/builtin/packages/qt-quicktimeline/package.py b/var/spack/repos/builtin/packages/qt-quicktimeline/package.py index f3458625439644..7227ae1b04f3e1 100644 --- a/var/spack/repos/builtin/packages/qt-quicktimeline/package.py +++ b/var/spack/repos/builtin/packages/qt-quicktimeline/package.py @@ -16,6 +16,8 @@ class QtQuicktimeline(QtPackage): license("BSD-3-Clause") + version("6.7.2", sha256="ad5370a3b193c5d30a824a1def0608e12fb735c4ff20ae55161a6f6e202e091d") + version("6.7.1", sha256="98766368b4650eef583f76d257573e6785938b89c9eb2fc57577f4c199b12a1f") version("6.7.0", sha256="9c8d953d4dfbe2a42dbbd88c26b4b01f6caab4d525ec01eb66edc71e9ee39172") version("6.6.3", sha256="6dccea9ebc8a6507ffb046cada1dd339b8187923bb74b938f8ccdcb0a5590095") version("6.6.2", sha256="76e629f019f6bdd9d46efbde2704dfe104231879ad60eebd81d9585250aa618b") @@ -35,6 +37,8 @@ class QtQuicktimeline(QtPackage): version("6.2.4", sha256="d73cb33e33f0b7a1825b863c22e6b552ae86aa841bcb805a41aca02526a4e8bc") version("6.2.3", sha256="bbb913398d8fb6b5b20993b5e02317de5c1e4b23a5357dd5d08a237ada6cc7e2") + depends_on("cxx", type="build") # generated + for _v in QtBase.versions: v = str(_v) depends_on("qt-base@" + v, when="@" + v) diff --git a/var/spack/repos/builtin/packages/qt-shadertools/package.py b/var/spack/repos/builtin/packages/qt-shadertools/package.py index d8d39e91869677..f1ef9717b78094 100644 --- a/var/spack/repos/builtin/packages/qt-shadertools/package.py +++ b/var/spack/repos/builtin/packages/qt-shadertools/package.py @@ -18,6 +18,8 @@ class QtShadertools(QtPackage): license("BSD-3-Clause") + version("6.7.2", sha256="256ff8199d9f6e97bef57f602c5fa7a32e3c7588bf7efe39e412b810c7ed4ffc") + version("6.7.1", sha256="56cfba20c7e8f7a218cac68d237a63ea342ac9a67211ecdf3c7152572632448b") version("6.7.0", sha256="82d9ef04a470db30e90253ddc72fcbc8fea2ecad419a735ecf64bb965560197f") version("6.6.3", sha256="a0e44248cec9011166794da895952cc1f98ddbfa77180174da925c5f749391a8") version("6.6.2", sha256="c6d06a660779990f69b8b2e21eb01ada784f9144cbaeb718ee0da01c33ce2141") @@ -37,6 +39,8 @@ class QtShadertools(QtPackage): version("6.2.4", sha256="c3332d91e0894086634d5f8d40638439e6e3653a3a185e1b5f5d23ae3b9f51a1") version("6.2.3", sha256="658c4acc2925e57d35bbd38cdf49c08297555ed7d632f9e86bfef76e6d861562") + depends_on("cxx", type="build") # generated + depends_on("qt-base +gui") for _v in QtBase.versions: diff --git a/var/spack/repos/builtin/packages/qt-svg/package.py b/var/spack/repos/builtin/packages/qt-svg/package.py index 26a20bb33c90a1..d42435979a0981 100644 --- a/var/spack/repos/builtin/packages/qt-svg/package.py +++ b/var/spack/repos/builtin/packages/qt-svg/package.py @@ -18,6 +18,8 @@ class QtSvg(QtPackage): license("BSD-3-Clause") + version("6.7.2", sha256="c0e140bbba4157cdbbe0e84ddbb4e238b87aa0ca7b870bad283d8cf2a7fa74b6") + version("6.7.1", sha256="55134e1242305e554610bf1a77e71d3d15104ee819a3c87def1f8b736d5ecf0e") version("6.7.0", sha256="ea023d11c710145786833649c3dc79dd099110fc3a9756a8a88699eeaac949f1") version("6.6.3", sha256="75006cc389ac86f2705dbb93a8c278b6b96c6cfa46304640312367e61740170d") version("6.6.2", sha256="4228731a00899ee27bf59e131fa0d3e9105d3f479ac27bc8cfd458e409398ec0") @@ -33,6 +35,8 @@ class QtSvg(QtPackage): version("6.4.0", sha256="375eb69f320121e42d5dc107f9455008980c149646931b8ace19e6bc235dcd80") version("6.3.2", sha256="781055bca458be46ef69f2fff147a00226e41f3a23d02c91238b0328a7156518") + depends_on("cxx", type="build") # generated + variant("widgets", default=False, description="Build SVG widgets.") depends_on("qt-base +gui") diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py index d90493afc48034..66d78ba7d55bed 100644 --- a/var/spack/repos/builtin/packages/qt/package.py +++ b/var/spack/repos/builtin/packages/qt/package.py @@ -33,6 +33,7 @@ class Qt(Package): license("LGPL-3.0-only") + version("5.15.14", sha256="fdd3a4f197d2c800ee0085c721f4bef60951cbda9e9c46e525d1412f74264ed7") version("5.15.13", sha256="9550ec8fc758d3d8d9090e261329700ddcd712e2dda97e5fcfeabfac22bea2ca") version("5.15.12", sha256="93f2c0889ee2e9cdf30c170d353c3f829de5f29ba21c119167dee5995e48ccce") version("5.15.11", sha256="7426b1eaab52ed169ce53804bdd05dfe364f761468f888a0f15a308dc1dc2951") @@ -56,6 +57,9 @@ class Qt(Package): version("4.8.5", sha256="eb728f8268831dc4373be6403b7dd5d5dde03c169ad6882f9a8cb560df6aa138") version("3.3.8b", sha256="1b7a1ff62ec5a9cb7a388e2ba28fda6f960b27f27999482ebeceeadb72ac9f6e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("debug", default=False, description="Build debug version.") variant("dbus", default=False, description="Build with D-Bus support.") variant("doc", default=False, description="Build QDoc and documentation.") @@ -252,6 +256,11 @@ class Qt(Package): # https://doc.qt.io/qt-5.14/supported-platforms.html conflicts("%gcc@:4", when="@5.14:") + # Compiling with oneAPI compilers icx, icpx requires patching + # This has only been tested for 5.15.14 so far + conflicts("%oneapi", when="@:5.15.13") + patch("qt51514-oneapi.patch", when="@5.15.14: %oneapi") + # Non-macOS dependencies and special macOS constraints if MACOS_VERSION is None: with when("+gui"): @@ -282,6 +291,10 @@ class Qt(Package): # Mapping for compilers/systems in the QT 'mkspecs' compiler_mapping = { "intel": ("icc",), + # This only works because we apply patch "qt51514-oneapi.patch" + # above that replaces calls to "icc" with calls to "icx" in + # qtbase/mkspecs/* + "oneapi": ("icc",), "apple-clang": ("clang-libc++", "clang"), "clang": ("clang-libc++", "clang"), "aocc": ("clang-libc++", "clang"), diff --git a/var/spack/repos/builtin/packages/qt/qt51514-oneapi.patch b/var/spack/repos/builtin/packages/qt/qt51514-oneapi.patch new file mode 100644 index 00000000000000..e4335ec25bbbc5 --- /dev/null +++ b/var/spack/repos/builtin/packages/qt/qt51514-oneapi.patch @@ -0,0 +1,31 @@ +--- a/qtbase/mkspecs/common/icc-base-unix.conf 2024-05-07 23:17:16.000000000 -0600 ++++ b/qtbase/mkspecs/common/icc-base-unix.conf 2024-07-10 21:32:47.808327220 -0600 +@@ -16,7 +16,7 @@ + QMAKE_CFLAGS_OPTIMIZE = -O2 + QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os + +-QMAKE_CC = icc ++QMAKE_CC = icx + QMAKE_LEX = flex + QMAKE_LEXFLAGS = + QMAKE_YACC = yacc +@@ -61,7 +61,7 @@ + QMAKE_CFLAGS_SHANI += -msha + QMAKE_CFLAGS_VAES += -mvaes + +-QMAKE_CXX = icpc ++QMAKE_CXX = icpx + QMAKE_CXXFLAGS = $$QMAKE_CFLAGS + QMAKE_CXXFLAGS_APP = $$QMAKE_CFLAGS_APP + QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS +@@ -92,8 +92,8 @@ + QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden + QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden + +-QMAKE_LINK = icpc +-QMAKE_LINK_SHLIB = icpc ++QMAKE_LINK = icpx ++QMAKE_LINK_SHLIB = icpx + QMAKE_LFLAGS = + QMAKE_LFLAGS_RELEASE = + QMAKE_LFLAGS_DEBUG = diff --git a/var/spack/repos/builtin/packages/qtgraph/package.py b/var/spack/repos/builtin/packages/qtgraph/package.py index ed5d649dcbee1a..78aff2df9a3f97 100644 --- a/var/spack/repos/builtin/packages/qtgraph/package.py +++ b/var/spack/repos/builtin/packages/qtgraph/package.py @@ -20,6 +20,8 @@ class Qtgraph(QMakePackage): version("develop", branch="master") version("1.0.0.0", branch="1.0.0.0") + depends_on("cxx", type="build") # generated + # qtgraph depends on these packages depends_on("qt@5.10.0:", when="@1.0.0.0:") diff --git a/var/spack/repos/builtin/packages/qthreads/package.py b/var/spack/repos/builtin/packages/qthreads/package.py index 391afc70f357bd..51f83c2b8f9e2f 100644 --- a/var/spack/repos/builtin/packages/qthreads/package.py +++ b/var/spack/repos/builtin/packages/qthreads/package.py @@ -45,6 +45,9 @@ class Qthreads(AutotoolsPackage): version("1.11", sha256="dbde6c7cb7de7e89921e47363d09cecaebf775c9d090496c2be8350355055571") version("1.10", sha256="29fbc2e54bcbc814c1be13049790ee98c505f22f22ccee34b7c29a4295475656") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch("restrict.patch", when="@:1.10") patch("trap.patch", when="@:1.10") diff --git a/var/spack/repos/builtin/packages/qtkeychain/package.py b/var/spack/repos/builtin/packages/qtkeychain/package.py index b6ebbf2379f97f..3909afe98ab9eb 100644 --- a/var/spack/repos/builtin/packages/qtkeychain/package.py +++ b/var/spack/repos/builtin/packages/qtkeychain/package.py @@ -16,6 +16,8 @@ class Qtkeychain(CMakePackage): version("0.9.1", sha256="9c2762d9d0759a65cdb80106d547db83c6e9fdea66f1973c6e9014f867c6f28e") + depends_on("cxx", type="build") # generated + depends_on("qt+dbus") depends_on("libsecret") diff --git a/var/spack/repos/builtin/packages/qtltools/package.py b/var/spack/repos/builtin/packages/qtltools/package.py index b9393e8721bf1e..71388a715afb14 100644 --- a/var/spack/repos/builtin/packages/qtltools/package.py +++ b/var/spack/repos/builtin/packages/qtltools/package.py @@ -17,6 +17,8 @@ class Qtltools(MakefilePackage): version("1.3.1", sha256="033b9b61923fd65c4b8b80bc0add321e6fd6fb40de49d15c2dfe6a4d7e60764a") version("1.3", sha256="032020d7e038eac4ec01701343a887bced7cca356cbd24b3d5bbadf83686faeb") + depends_on("cxx", type="build") # generated + depends_on("boost +pic +iostreams +program_options") depends_on("gsl") depends_on("htslib ~libcurl ~libdeflate") diff --git a/var/spack/repos/builtin/packages/quantum-espresso/package.py b/var/spack/repos/builtin/packages/quantum-espresso/package.py index a2ee3d7f11484f..23509f06c4c915 100644 --- a/var/spack/repos/builtin/packages/quantum-espresso/package.py +++ b/var/spack/repos/builtin/packages/quantum-espresso/package.py @@ -48,6 +48,10 @@ class QuantumEspresso(CMakePackage, Package): version("5.4", sha256="e3993fccae9cea04a5c6492e8b961a053a63727051cb5c4eb6008f62cda8f335") version("5.3", sha256="3b26038efb9e3f8ac7a2b950c31d8c29169a3556c0b68c299eb88a4be8dc9048") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + resource( name="environ", git="https://github.com/environ-developers/Environ.git", diff --git a/var/spack/repos/builtin/packages/qucs/package.py b/var/spack/repos/builtin/packages/qucs/package.py index 7d948dac68136f..cf5794016c923f 100644 --- a/var/spack/repos/builtin/packages/qucs/package.py +++ b/var/spack/repos/builtin/packages/qucs/package.py @@ -25,6 +25,9 @@ class Qucs(AutotoolsPackage): version("0.0.19", sha256="45c6434fde24c533e63550675ac21cdbd3cc6cbba29b82a1dc3f36e7dd4b3b3e") version("0.0.18", sha256="3609a18b57485dc9f19886ac6694667f3251702175bd1cbbbea37981b2c482a7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Can use external simulators: variant( "simulators", diff --git a/var/spack/repos/builtin/packages/quickjs/package.py b/var/spack/repos/builtin/packages/quickjs/package.py index 69347260894212..40b6deb3f137f0 100644 --- a/var/spack/repos/builtin/packages/quickjs/package.py +++ b/var/spack/repos/builtin/packages/quickjs/package.py @@ -27,6 +27,8 @@ class Quickjs(MakefilePackage): "2020-09-06", sha256="0021a3e8cdc6b61e225411d05e2841d2437e1ccf4b4cabb9a5f7685ebfb57717" ) + depends_on("c", type="build") # generated + variant("lto", default=True, when="%gcc", description="Enable link-time optimization") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/quicksilver/package.py b/var/spack/repos/builtin/packages/quicksilver/package.py index 81dfebea653a51..61357eed447601 100644 --- a/var/spack/repos/builtin/packages/quicksilver/package.py +++ b/var/spack/repos/builtin/packages/quicksilver/package.py @@ -22,6 +22,8 @@ class Quicksilver(MakefilePackage): version("master", branch="master") version("1.0", sha256="83371603b169ec75e41fb358881b7bd498e83597cd251ff9e5c35769ef22c59a") + depends_on("cxx", type="build") # generated + variant("openmp", default=True, description="Build with OpenMP support") variant("mpi", default=True, description="Build with MPI support") diff --git a/var/spack/repos/builtin/packages/quo-vadis/package.py b/var/spack/repos/builtin/packages/quo-vadis/package.py index 52ab8be754eae5..6bb6bd8ed414b7 100644 --- a/var/spack/repos/builtin/packages/quo-vadis/package.py +++ b/var/spack/repos/builtin/packages/quo-vadis/package.py @@ -19,6 +19,10 @@ class QuoVadis(CMakePackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=True, description="Build with Fortran bindings") variant("mpi", default=True, description="Build with MPI support") variant("mpipat", default=False, description="Affirm MPI processes are threads") diff --git a/var/spack/repos/builtin/packages/quota/package.py b/var/spack/repos/builtin/packages/quota/package.py index 0e2fe920281991..0235a9e4fae586 100644 --- a/var/spack/repos/builtin/packages/quota/package.py +++ b/var/spack/repos/builtin/packages/quota/package.py @@ -16,5 +16,7 @@ class Quota(AutotoolsPackage): version("4.05", sha256="ef3b5b5d1014ed1344b46c1826145e20cbef8db967b522403c9a060761cf7ab9") + depends_on("c", type="build") # generated + def setup_run_environment(self, env): env.prepend_path("PATH", self.prefix.sbin) diff --git a/var/spack/repos/builtin/packages/qwt/package.py b/var/spack/repos/builtin/packages/qwt/package.py index d9540fdf795235..5258f7cfaedce7 100644 --- a/var/spack/repos/builtin/packages/qwt/package.py +++ b/var/spack/repos/builtin/packages/qwt/package.py @@ -24,6 +24,8 @@ class Qwt(QMakePackage): version("6.1.3", sha256="f3ecd34e72a9a2b08422fb6c8e909ca76f4ce5fa77acad7a2883b701f4309733") version("5.2.2", sha256="36bf2ee51ca9c74fde1322510ffd39baac0db60d5d410bb157968a78d9c1464b") + depends_on("cxx", type="build") # generated + variant("designer", default=False, description="Build extensions to QT designer") variant("opengl", default=False, description="Build OpenGL plot canvas") diff --git a/var/spack/repos/builtin/packages/qwtpolar/package.py b/var/spack/repos/builtin/packages/qwtpolar/package.py index 7e6fa96220a21f..0ade4950765dbd 100644 --- a/var/spack/repos/builtin/packages/qwtpolar/package.py +++ b/var/spack/repos/builtin/packages/qwtpolar/package.py @@ -16,6 +16,8 @@ class Qwtpolar(QMakePackage): version("1.1.1", sha256="6168baa9dbc8d527ae1ebf2631313291a1d545da268a05f4caa52ceadbe8b295") + depends_on("cxx", type="build") # generated + depends_on("qt@4.4:") depends_on("qwt@6.1:") diff --git a/var/spack/repos/builtin/packages/r-abaenrichment/package.py b/var/spack/repos/builtin/packages/r-abaenrichment/package.py index 52b9b30bce92e7..57a724e1410c06 100644 --- a/var/spack/repos/builtin/packages/r-abaenrichment/package.py +++ b/var/spack/repos/builtin/packages/r-abaenrichment/package.py @@ -33,6 +33,8 @@ class RAbaenrichment(RPackage): version("1.8.0", commit="cb8155ee9a04fb55b2a2e8c23df7c0be15bb2624") version("1.6.0", commit="d2a0467dcb7aa6e103e3b83dccd6510b0e142ac1") + depends_on("cxx", type="build") # generated + depends_on("r+X", type=("build", "run")) depends_on("r@3.2:", type=("build", "run")) depends_on("r@3.4:", type=("build", "run"), when="@1.8.0:") diff --git a/var/spack/repos/builtin/packages/r-acgh/package.py b/var/spack/repos/builtin/packages/r-acgh/package.py index 4ff4c218c4fee3..14d7d2fc8fff19 100644 --- a/var/spack/repos/builtin/packages/r-acgh/package.py +++ b/var/spack/repos/builtin/packages/r-acgh/package.py @@ -27,6 +27,8 @@ class RAcgh(RPackage): version("1.56.0", commit="f3531ec99fc181044bdcb6a01c9976029efb6235") version("1.54.0", commit="be2ed339449f55c8d218e10c435e4ad356683693") + depends_on("cxx", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r-cluster", type=("build", "run")) depends_on("r-survival", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-acme/package.py b/var/spack/repos/builtin/packages/r-acme/package.py index 4e8b08b81e613b..24eb557dd215d9 100644 --- a/var/spack/repos/builtin/packages/r-acme/package.py +++ b/var/spack/repos/builtin/packages/r-acme/package.py @@ -32,6 +32,8 @@ class RAcme(RPackage): version("2.34.0", commit="1f53d43e420e245423fdf2711d0dcb345f829469") version("2.32.0", commit="76372255d7714a0c8128a11c028bf70214dac407") + depends_on("c", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r-biobase@2.5.5:", type=("build", "run")) depends_on("r-biocgenerics", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-ade4/package.py b/var/spack/repos/builtin/packages/r-ade4/package.py index 00e03cb21ae1a5..3e98e658e158cd 100644 --- a/var/spack/repos/builtin/packages/r-ade4/package.py +++ b/var/spack/repos/builtin/packages/r-ade4/package.py @@ -30,6 +30,9 @@ class RAde4(RPackage): version("1.7-11", sha256="4ccd799ae99bd625840b866a697c4a48adb751660470bf0d6cf9207b1927a572") version("1.7-6", sha256="80848e1650dcc0ec921c130efa6f7e9b307f0d107c63e49faa52296eda19cc52") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r-mass", type=("build", "run")) depends_on("r-pixmap", type=("build", "run"), when="@1.7-16:") diff --git a/var/spack/repos/builtin/packages/r-adegenet/package.py b/var/spack/repos/builtin/packages/r-adegenet/package.py index 50ab73ce474140..446132448816f3 100644 --- a/var/spack/repos/builtin/packages/r-adegenet/package.py +++ b/var/spack/repos/builtin/packages/r-adegenet/package.py @@ -32,6 +32,8 @@ class RAdegenet(RPackage): version("2.1.0", sha256="7ee44061002b41164bbc09256307ab02e536f4f2ac03f36c7dc8f85f6af4639a") version("2.0.1", sha256="7eddf46e64f680d54d034b68c50900d9bd5bc2e08309d062e230121b7460bb10") + depends_on("c", type="build") # generated + depends_on("r@2.14:", type=("build", "run")) depends_on("r-ade4", type=("build", "run")) depends_on("r-mass", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-adsplit/package.py b/var/spack/repos/builtin/packages/r-adsplit/package.py index 8a582acb5376d0..b2d58a8cf56f3d 100644 --- a/var/spack/repos/builtin/packages/r-adsplit/package.py +++ b/var/spack/repos/builtin/packages/r-adsplit/package.py @@ -27,6 +27,8 @@ class RAdsplit(RPackage): version("1.48.0", commit="57dfcd93b9232cf53f05c34179ecb759bb7aff46") version("1.46.0", commit="7e81a83f34d371447f491b3a146bf6851e260c7c") + depends_on("cxx", type="build") # generated + depends_on("r@2.1.0:", type=("build", "run")) depends_on("r-annotationdbi", type=("build", "run")) depends_on("r-biobase@1.5.12:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-affxparser/package.py b/var/spack/repos/builtin/packages/r-affxparser/package.py index 543556040ab382..8dd71d08e0821f 100644 --- a/var/spack/repos/builtin/packages/r-affxparser/package.py +++ b/var/spack/repos/builtin/packages/r-affxparser/package.py @@ -31,4 +31,7 @@ class RAffxparser(RPackage): version("1.50.0", commit="01ef641727eadc2cc17b5dbb0b1432364436e3d5") version("1.48.0", commit="2461ea88f310b59c4a9a997a4b3dadedbd65a4aa") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@2.14.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-affy/package.py b/var/spack/repos/builtin/packages/r-affy/package.py index 5fe87012da9dca..30dd0e578905d8 100644 --- a/var/spack/repos/builtin/packages/r-affy/package.py +++ b/var/spack/repos/builtin/packages/r-affy/package.py @@ -26,6 +26,8 @@ class RAffy(RPackage): version("1.56.0", commit="d36a7b8f05b1ef60162d94e75037d45c48f88871") version("1.54.0", commit="a815f02906fcf491b28ed0a356d6fce95a6bd20e") + depends_on("c", type="build") # generated + depends_on("r@2.8.0:4.0", type=("build", "run"), when="@:1.68.0") depends_on("r-biocgenerics@0.1.12:", type=("build", "run")) depends_on("r-biobase@2.5.5:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-affyio/package.py b/var/spack/repos/builtin/packages/r-affyio/package.py index b32ca1b9443ff8..d8cd59aad64602 100644 --- a/var/spack/repos/builtin/packages/r-affyio/package.py +++ b/var/spack/repos/builtin/packages/r-affyio/package.py @@ -26,6 +26,8 @@ class RAffyio(RPackage): version("1.48.0", commit="01727a4492c3a0d50453fc91892e04bf5f7fcadb") version("1.46.0", commit="977597f2772e08273d86579486f452170566c880") + depends_on("c", type="build") # generated + depends_on("r@2.6.0:", type=("build", "run")) depends_on("r-zlibbioc", type=("build", "run")) depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/r-affyplm/package.py b/var/spack/repos/builtin/packages/r-affyplm/package.py index b760df5b0206d2..b1b685e85a5074 100644 --- a/var/spack/repos/builtin/packages/r-affyplm/package.py +++ b/var/spack/repos/builtin/packages/r-affyplm/package.py @@ -28,6 +28,8 @@ class RAffyplm(RPackage): version("1.54.0", commit="09cf5f6e01dd2d0aae3e9ddab27301f04bfd645c") version("1.52.1", commit="e8613a6018c4ee58045df6bf19128844f50a1f43") + depends_on("c", type="build") # generated + depends_on("r@2.6.0:", type=("build", "run")) depends_on("r-biocgenerics@0.3.2:", type=("build", "run")) depends_on("r-affy@1.11.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-amap/package.py b/var/spack/repos/builtin/packages/r-amap/package.py index b440581cced234..70f1a10a92c94a 100644 --- a/var/spack/repos/builtin/packages/r-amap/package.py +++ b/var/spack/repos/builtin/packages/r-amap/package.py @@ -21,5 +21,9 @@ class RAmap(RPackage): version("0.8-17", sha256="6b8473d1d35a9cbc611661882c8f681162e8f913f911ccd51629200ae72289c6") version("0.8-16", sha256="d3775ad7f660581f7d2f070e426be95ae0d6743622943e6f5491988e5217d4e2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r@2.10.0:", type=("build", "run")) depends_on("r@3.6.0:", type=("build", "run"), when="@0.8-17:") diff --git a/var/spack/repos/builtin/packages/r-analysispageserver/package.py b/var/spack/repos/builtin/packages/r-analysispageserver/package.py index 386fcac2a07211..b192ed5e60633f 100644 --- a/var/spack/repos/builtin/packages/r-analysispageserver/package.py +++ b/var/spack/repos/builtin/packages/r-analysispageserver/package.py @@ -21,6 +21,9 @@ class RAnalysispageserver(RPackage): version("1.12.0", commit="146501974ef1938ee1ec4eb293ea7eeca331a0dc") version("1.10.0", commit="876c87073be116fa15a1afdd407e21152eb80d50") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r-log4r", type=("build", "run")) depends_on("r-rjson", type=("build", "run")) depends_on("r-biobase", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-aneufinder/package.py b/var/spack/repos/builtin/packages/r-aneufinder/package.py index a4ef4ec68a064c..dda959bf5a051f 100644 --- a/var/spack/repos/builtin/packages/r-aneufinder/package.py +++ b/var/spack/repos/builtin/packages/r-aneufinder/package.py @@ -26,6 +26,8 @@ class RAneufinder(RPackage): version("1.6.0", commit="0cfbdd1951fb4df5622e002260cfa86294d65d1d") version("1.4.0", commit="e5bdf4d5e4f84ee5680986826ffed636ed853b8e") + depends_on("cxx", type="build") # generated + depends_on("r@3.3:", type=("build", "run")) depends_on("r@3.5:", type=("build", "run"), when="@1.10.2:") depends_on("r-genomicranges", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-anytime/package.py b/var/spack/repos/builtin/packages/r-anytime/package.py index 292e55f637caf6..c6e03b157efa82 100644 --- a/var/spack/repos/builtin/packages/r-anytime/package.py +++ b/var/spack/repos/builtin/packages/r-anytime/package.py @@ -20,6 +20,8 @@ class RAnytime(RPackage): version("0.3.9", sha256="1096c15249ac70997a8a41c37eeb2a6d38530621abeae05d3dcd96a8acc7574a") + depends_on("cxx", type="build") # generated + depends_on("r@3.2.0:", type=("build", "run")) depends_on("r-rcpp@0.12.9:", type=("build", "run")) depends_on("r-bh", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-arrangements/package.py b/var/spack/repos/builtin/packages/r-arrangements/package.py index e45989522be1ff..34c186409c06b1 100644 --- a/var/spack/repos/builtin/packages/r-arrangements/package.py +++ b/var/spack/repos/builtin/packages/r-arrangements/package.py @@ -23,6 +23,8 @@ class RArrangements(RPackage): version("1.1.9", sha256="e9b5dcb185ec9b28201b196384b04a8d5a15f4ddb9e0b0b2a0c718635ff7345b") + depends_on("c", type="build") # generated + depends_on("r@3.4.0:", type=("build", "run")) depends_on("r-gmp", type=("build", "run")) depends_on("r-r6", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-ash/package.py b/var/spack/repos/builtin/packages/r-ash/package.py index 44ff67e71e8de3..de2ec6bb691fb0 100644 --- a/var/spack/repos/builtin/packages/r-ash/package.py +++ b/var/spack/repos/builtin/packages/r-ash/package.py @@ -17,3 +17,5 @@ class RAsh(RPackage): license("GPL-2.0-or-later") version("1.0-15", sha256="8b0a7bc39dd0ce2172f09edc5b5e029347d041a4d508bbff3f3fd6f69450c2ab") + + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-bamsignals/package.py b/var/spack/repos/builtin/packages/r-bamsignals/package.py index 87e8bb932928ed..2911316cc24873 100644 --- a/var/spack/repos/builtin/packages/r-bamsignals/package.py +++ b/var/spack/repos/builtin/packages/r-bamsignals/package.py @@ -27,6 +27,9 @@ class RBamsignals(RPackage): version("1.10.0", commit="7499312ce71e8680680eda10b49d7dff682fc776") version("1.8.0", commit="b123b83e8e026c9ec91209d4498aff3e95a5de23") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.2.0:", type=("build", "run")) depends_on("r@3.5.0:", type=("build", "run"), when="@1.28.0:") depends_on("r-biocgenerics", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-base64enc/package.py b/var/spack/repos/builtin/packages/r-base64enc/package.py index 452015432cca48..f733104ad4f7d1 100644 --- a/var/spack/repos/builtin/packages/r-base64enc/package.py +++ b/var/spack/repos/builtin/packages/r-base64enc/package.py @@ -18,4 +18,6 @@ class RBase64enc(RPackage): version("0.1-3", sha256="6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d") + depends_on("c", type="build") # generated + depends_on("r@2.9.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-bbmisc/package.py b/var/spack/repos/builtin/packages/r-bbmisc/package.py index 1affd66f3c4c3c..7354c642d5ddce 100644 --- a/var/spack/repos/builtin/packages/r-bbmisc/package.py +++ b/var/spack/repos/builtin/packages/r-bbmisc/package.py @@ -18,5 +18,7 @@ class RBbmisc(RPackage): version("1.12", sha256="900a633f69b7d9b13d58709eeae2fca2c1bc510765d778623a2af32cc870053e") version("1.11", sha256="1ea48c281825349d8642a661bb447e23bfd651db3599bf72593bfebe17b101d2") + depends_on("c", type="build") # generated + depends_on("r-checkmate@1.8.0:", type=("build", "run")) depends_on("r-data-table", type=("build", "run"), when="@1.12:") diff --git a/var/spack/repos/builtin/packages/r-beachmat/package.py b/var/spack/repos/builtin/packages/r-beachmat/package.py index 32afab212951bb..1eb9ae6668001a 100644 --- a/var/spack/repos/builtin/packages/r-beachmat/package.py +++ b/var/spack/repos/builtin/packages/r-beachmat/package.py @@ -27,6 +27,8 @@ class RBeachmat(RPackage): version("1.2.1", commit="ebae81772045a314e568c2f7d73ea3b27e7bf7d8") version("1.0.2", commit="6bd57b91d6428ac916f46572d685d3cb01a757f7") + depends_on("cxx", type="build") # generated + depends_on("r@3.4:", type=("build", "run")) depends_on("r@3.5:", type=("build", "run"), when="@1.2.1:1.4.0") depends_on("r-delayedarray", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-beeswarm/package.py b/var/spack/repos/builtin/packages/r-beeswarm/package.py index dc105aa4a7dfa8..b4abbf665f6e30 100644 --- a/var/spack/repos/builtin/packages/r-beeswarm/package.py +++ b/var/spack/repos/builtin/packages/r-beeswarm/package.py @@ -18,3 +18,5 @@ class RBeeswarm(RPackage): version("0.4.0", sha256="51f4339bf4080a2be84bb49a844c636625657fbed994abeaa42aead916c3d504") version("0.2.3", sha256="0115425e210dced05da8e162c8455526a47314f72e441ad2a33dcab3f94ac843") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-bfast/package.py b/var/spack/repos/builtin/packages/r-bfast/package.py index 7d933ac4ab813f..fd394995648290 100644 --- a/var/spack/repos/builtin/packages/r-bfast/package.py +++ b/var/spack/repos/builtin/packages/r-bfast/package.py @@ -32,6 +32,8 @@ class RBfast(RPackage): version("1.6.1", sha256="aaf479af1924691cbec8c67c68005c00d97cead51b2b44863c18acd4cea453ee") version("1.5.7", sha256="01585fe8944d05ebdb13795214077bc1365f0c0372e2a1f7edb914356dace558") + depends_on("cxx", type="build") # generated + depends_on("r@2.15.0:", type=("build", "run")) depends_on("r@3.0.0:", type=("build", "run"), when="@1.6.1:") depends_on("r-strucchangercpp", type=("build", "run"), when="@1.6.1:") diff --git a/var/spack/repos/builtin/packages/r-bio3d/package.py b/var/spack/repos/builtin/packages/r-bio3d/package.py index ebd95fd3656059..a93794734e4583 100644 --- a/var/spack/repos/builtin/packages/r-bio3d/package.py +++ b/var/spack/repos/builtin/packages/r-bio3d/package.py @@ -32,6 +32,9 @@ class RBio3d(RPackage): version("2.4-1", sha256="679fbd87fe9fb82a65427d281d3b68906509e411270cd87d2deb95d404333c1f") version("2.3-4", sha256="f9b39ab242cbedafcd98c1732cb1f5c0dd9ef66e28be39695e3420dd93e2bafe") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.1.0:", type=("build", "run")) depends_on("r-rcpp", type=("build", "run")) depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/r-biobase/package.py b/var/spack/repos/builtin/packages/r-biobase/package.py index bdc2abc2ff3fbd..cc525ccaa51d68 100644 --- a/var/spack/repos/builtin/packages/r-biobase/package.py +++ b/var/spack/repos/builtin/packages/r-biobase/package.py @@ -25,6 +25,8 @@ class RBiobase(RPackage): version("2.38.0", commit="83f89829e0278ac014b0bc6664e621ac147ba424") version("2.36.2", commit="15f50912f3fa08ccb15c33b7baebe6b8a59ce075") + depends_on("c", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r-biocgenerics@0.3.2:", type=("build", "run")) depends_on("r-biocgenerics@0.27.1:", type=("build", "run"), when="@2.42.0:") diff --git a/var/spack/repos/builtin/packages/r-biocneighbors/package.py b/var/spack/repos/builtin/packages/r-biocneighbors/package.py index c9b62f26a2ca6b..e2118563c1b818 100644 --- a/var/spack/repos/builtin/packages/r-biocneighbors/package.py +++ b/var/spack/repos/builtin/packages/r-biocneighbors/package.py @@ -29,6 +29,8 @@ class RBiocneighbors(RPackage): version("1.2.0", commit="f754c6300f835142536a4594ddf750481e0fe273") version("1.0.0", commit="e252fc04b6d22097f2c5f74406e77d85e7060770") + depends_on("cxx", type="build") # generated + depends_on("r@3.5:", type=("build", "run"), when="@1.0.0") depends_on("r-rcpp", type=("build", "run")) depends_on("r-s4vectors", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-biocparallel/package.py b/var/spack/repos/builtin/packages/r-biocparallel/package.py index 3f61181f28f860..5caab131cb78b6 100644 --- a/var/spack/repos/builtin/packages/r-biocparallel/package.py +++ b/var/spack/repos/builtin/packages/r-biocparallel/package.py @@ -27,6 +27,8 @@ class RBiocparallel(RPackage): version("1.12.0", commit="2143a9addceed0151a27b95c70aadd2add5cbace") version("1.10.1", commit="a76c58cf99fd585ba5ea33065649e68f1afe0a7d") + depends_on("cxx", type="build") # generated + depends_on("r@3.5.0:", type=("build", "run"), when="@1.28.3:") depends_on("r-futile-logger", type=("build", "run")) depends_on("r-snow", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-biocsingular/package.py b/var/spack/repos/builtin/packages/r-biocsingular/package.py index 4546a53020a6c6..382eda5e3a424f 100644 --- a/var/spack/repos/builtin/packages/r-biocsingular/package.py +++ b/var/spack/repos/builtin/packages/r-biocsingular/package.py @@ -24,6 +24,8 @@ class RBiocsingular(RPackage): version("1.6.0", commit="11baf1080d6f791439cd5d97357589d6451643d9") version("1.0.0", commit="d2b091c072d0312698c9bb6611eb1bdf8aebf833") + depends_on("cxx", type="build") # generated + depends_on("r-biocgenerics", type=("build", "run")) depends_on("r-s4vectors", type=("build", "run")) depends_on("r-matrix", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-biostrings/package.py b/var/spack/repos/builtin/packages/r-biostrings/package.py index 796a66344f01b0..6164529db2b465 100644 --- a/var/spack/repos/builtin/packages/r-biostrings/package.py +++ b/var/spack/repos/builtin/packages/r-biostrings/package.py @@ -27,6 +27,8 @@ class RBiostrings(RPackage): version("2.46.0", commit="3bf6978c155498b50607d1bb471d1687d185a0fa") version("2.44.2", commit="e4a2b320fb21c5cab3ece7b3c6fecaedfb1e5200") + depends_on("c", type="build") # generated + depends_on("r@2.8.0:", type=("build", "run")) depends_on("r@3.5.0:", type=("build", "run"), when="@2.50.2:") depends_on("r@4.0.0:", type=("build", "run"), when="@2.62.0:") diff --git a/var/spack/repos/builtin/packages/r-biovizbase/package.py b/var/spack/repos/builtin/packages/r-biovizbase/package.py index d2f16d9104cf3a..a5cf3b4eed9b62 100644 --- a/var/spack/repos/builtin/packages/r-biovizbase/package.py +++ b/var/spack/repos/builtin/packages/r-biovizbase/package.py @@ -27,6 +27,8 @@ class RBiovizbase(RPackage): version("1.26.0", commit="640742f48384f01d117b70dc5c64737e97ae9b4b") version("1.24.0", commit="ae9cd2ff665b74a8f45ed9c1d17fc0a778b4af6c") + depends_on("c", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r@3.5.0:", type=("build", "run"), when="@1.38.0:") depends_on("r-scales", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-bit/package.py b/var/spack/repos/builtin/packages/r-bit/package.py index c386c3b77b47ea..5975ecd8271fc6 100644 --- a/var/spack/repos/builtin/packages/r-bit/package.py +++ b/var/spack/repos/builtin/packages/r-bit/package.py @@ -23,4 +23,6 @@ class RBit(RPackage): version("1.1-14", sha256="5cbaace1fb643a665a6ca69b90f7a6d624270de82420ca7a44f306753fcef254") version("1.1-12", sha256="ce281c87fb7602bf1a599e72f3e25f9ff7a13e390c124a4506087f69ad79d128") + depends_on("c", type="build") # generated + depends_on("r@2.9.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-bit64/package.py b/var/spack/repos/builtin/packages/r-bit64/package.py index a7e9027e821b00..717700888fe483 100644 --- a/var/spack/repos/builtin/packages/r-bit64/package.py +++ b/var/spack/repos/builtin/packages/r-bit64/package.py @@ -28,6 +28,8 @@ class RBit64(RPackage): version("4.0.5", sha256="25df6826ea5e93241c4874cad4fa8dadc87a40f4ff74c9107aa12a9e033e1578") version("0.9-7", sha256="7b9aaa7f971198728c3629f9ba1a1b24d53db5c7e459498b0fdf86bbd3dff61f") + depends_on("c", type="build") # generated + depends_on("r@3.0.1:", type=("build", "run")) depends_on("r-bit@1.1-12:", type=("build", "run")) depends_on("r-bit@4.0.0:", type=("build", "run"), when="@4.0.5:") diff --git a/var/spack/repos/builtin/packages/r-bitops/package.py b/var/spack/repos/builtin/packages/r-bitops/package.py index 07d2a29ad29e26..2816e2f8001961 100644 --- a/var/spack/repos/builtin/packages/r-bitops/package.py +++ b/var/spack/repos/builtin/packages/r-bitops/package.py @@ -18,3 +18,5 @@ class RBitops(RPackage): version("1.0-7", sha256="e9b5fc92c39f94a10cd0e13f3d6e2a9c17b75ea01467077a51d47a5f708517c4") version("1.0-6", sha256="9b731397b7166dd54941fb0d2eac6df60c7a483b2e790f7eb15b4d7b79c9d69c") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-bluster/package.py b/var/spack/repos/builtin/packages/r-bluster/package.py index da733833a5025d..367682bbb7739a 100644 --- a/var/spack/repos/builtin/packages/r-bluster/package.py +++ b/var/spack/repos/builtin/packages/r-bluster/package.py @@ -20,6 +20,8 @@ class RBluster(RPackage): version("1.8.0", commit="156115c8960c0b66b2c588d9fd8bbdfe56e5f0be") version("1.6.0", commit="ff86c7d8d36233e838d4f00e6a4e173e7bf16816") + depends_on("cxx", type="build") # generated + depends_on("r-cluster", type=("build", "run")) depends_on("r-matrix", type=("build", "run")) depends_on("r-rcpp", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-bridgesampling/package.py b/var/spack/repos/builtin/packages/r-bridgesampling/package.py index 61a5c61511e2ea..501306d0d00ad9 100644 --- a/var/spack/repos/builtin/packages/r-bridgesampling/package.py +++ b/var/spack/repos/builtin/packages/r-bridgesampling/package.py @@ -21,6 +21,8 @@ class RBridgesampling(RPackage): version("1.1-2", sha256="54ecd39aa2e36d4d521d3d36425f9fe56a3f8547df6048c814c5931d790f3e6b") + depends_on("cxx", type="build") # generated + depends_on("r@3.0.0:", type=("build", "run")) depends_on("r-mvtnorm", type=("build", "run")) depends_on("r-matrix", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-bsseq/package.py b/var/spack/repos/builtin/packages/r-bsseq/package.py index 27fd2500d5bc0f..8285f4545aff17 100644 --- a/var/spack/repos/builtin/packages/r-bsseq/package.py +++ b/var/spack/repos/builtin/packages/r-bsseq/package.py @@ -23,6 +23,8 @@ class RBsseq(RPackage): version("1.22.0", commit="d4f7301dcd4a03431b0833302b5a79c6f1b186cc") version("1.20.0", commit="07e398bc38ba903881df9a5d0577cca15788e0cd") + depends_on("cxx", type="build") # generated + depends_on("r@3.5:", type=("build", "run")) depends_on("r@4.0:", type=("build", "run"), when="@1.26.0:") depends_on("r-biocgenerics", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-c50/package.py b/var/spack/repos/builtin/packages/r-c50/package.py index 76ef1fa69747f6..955bc7b1cf0c42 100644 --- a/var/spack/repos/builtin/packages/r-c50/package.py +++ b/var/spack/repos/builtin/packages/r-c50/package.py @@ -23,6 +23,8 @@ class RC50(RPackage): version("0.1.1", sha256="03bc1fc2f64bcd5c680568a24902deafab1965074a66f8802bc4cd0335bd01df") version("0.1.0-24", sha256="617ee8ae617a075213414c07739ce92d9e6927783d01588fd0e2315157065e9d") + depends_on("c", type="build") # generated + depends_on("r@2.10.0:", type=("build", "run")) depends_on("r-partykit", type=("build", "run")) depends_on("r-cubist@0.2.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-caret/package.py b/var/spack/repos/builtin/packages/r-caret/package.py index ca64c4c695088d..38f5118a2dc0ac 100644 --- a/var/spack/repos/builtin/packages/r-caret/package.py +++ b/var/spack/repos/builtin/packages/r-caret/package.py @@ -26,6 +26,8 @@ class RCaret(RPackage): version("6.0-73", sha256="90a0a4a10f1a3b37502cb0ed7d8830063d059a548faabb9cc5d8d34736c7eacb") version("6.0-70", sha256="21c5bdf7cf07bece38729465366564d8ca104c2466ee9fd800ca1fd88eb82f38") + depends_on("c", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r@3.2.0:", type=("build", "run"), when="@6.0-82:") depends_on("r-ggplot2", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-catools/package.py b/var/spack/repos/builtin/packages/r-catools/package.py index db3c6466e8cde2..1d4a163a9f8bf3 100644 --- a/var/spack/repos/builtin/packages/r-catools/package.py +++ b/var/spack/repos/builtin/packages/r-catools/package.py @@ -23,6 +23,9 @@ class RCatools(RPackage): version("1.17.1.1", sha256="d53e2c5c77f1bd4744703d7196dbc9b4671a120bbb5b9b3edc45fc57c0650c06") version("1.17.1", sha256="d32a73febf00930355cc00f3e4e71357412e0f163faae6a4bf7f552cacfe9af4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@2.2.0:", type=("build", "run")) depends_on("r@3.6.0:", type=("build", "run"), when="@1.18.1:") depends_on("r-bitops", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-chipseq/package.py b/var/spack/repos/builtin/packages/r-chipseq/package.py index bad1c3369226c4..9980a4e6ff8fdb 100644 --- a/var/spack/repos/builtin/packages/r-chipseq/package.py +++ b/var/spack/repos/builtin/packages/r-chipseq/package.py @@ -21,6 +21,8 @@ class RChipseq(RPackage): version("1.44.0", commit="b64d0d28e9fcf0fdab9a7f9c521baf729426a594") version("1.40.0", commit="84bcbc0b7ad732730b5989a308f1624a6a358df1") + depends_on("c", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r-biocgenerics@0.1.0:", type=("build", "run")) depends_on("r-s4vectors@0.17.25:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-cner/package.py b/var/spack/repos/builtin/packages/r-cner/package.py index bdfd6383ed3567..6b897405dfd70c 100644 --- a/var/spack/repos/builtin/packages/r-cner/package.py +++ b/var/spack/repos/builtin/packages/r-cner/package.py @@ -25,6 +25,8 @@ class RCner(RPackage): version("1.14.0", commit="b8634d65c51728c815127e22b45eba7c9b9db897") version("1.12.1", commit="90d611f9cd19a73d0fe92ab03ef428519d64c017") + depends_on("c", type="build") # generated + depends_on("r@3.2.2:", type=("build", "run")) depends_on("r@3.4:", type=("build", "run"), when="@1.14.0:") depends_on("r-biostrings@2.33.4:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-colorspace/package.py b/var/spack/repos/builtin/packages/r-colorspace/package.py index 0bcc256bd38ff8..b5d6797bda4ef3 100644 --- a/var/spack/repos/builtin/packages/r-colorspace/package.py +++ b/var/spack/repos/builtin/packages/r-colorspace/package.py @@ -38,4 +38,6 @@ class RColorspace(RPackage): version("1.3-2", sha256="dd9fd2342b650456901d014e7ff6d2e201f8bec0b555be63b1a878d2e1513e34") version("1.2-6", sha256="ba3165c5b906edadcd1c37cad0ef58f780b0af651f3fdeb49fbb2dc825251679") + depends_on("c", type="build") # generated + depends_on("r@3.0.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-colourpicker/package.py b/var/spack/repos/builtin/packages/r-colourpicker/package.py index 157c0f0d1c70e1..f95a51ac3d3972 100644 --- a/var/spack/repos/builtin/packages/r-colourpicker/package.py +++ b/var/spack/repos/builtin/packages/r-colourpicker/package.py @@ -20,6 +20,7 @@ class RColourpicker(RPackage): license("MIT") + version("1.3.0", sha256="c7f2618cd1ae1f7ac15aee072c648e6494dfff6714e13dc7cd1da993d1102510") version("1.2.0", sha256="bc2c80eee046219038baef9f8f213c9824d7fec7f893f6a1b881dd44b4a8638a") version("1.1.1", sha256="a0d09982b048b143e2c3438ccec039dd20d6f892fa0dedc9fdcb0d40de883ce0") version("1.1.0", sha256="2dfbb6262d187d3b17357ff9c22670ced3621feda5b2a2a500558478e4d551e2") diff --git a/var/spack/repos/builtin/packages/r-compquadform/package.py b/var/spack/repos/builtin/packages/r-compquadform/package.py index 1e45e86015363c..8dd2294e8184d4 100644 --- a/var/spack/repos/builtin/packages/r-compquadform/package.py +++ b/var/spack/repos/builtin/packages/r-compquadform/package.py @@ -16,3 +16,6 @@ class RCompquadform(RPackage): cran = "CompQuadForm" version("1.4.3", sha256="042fc56c800dd8f5f47a017e2efa832caf74f0602824abf7099898d9708660c4") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-conquer/package.py b/var/spack/repos/builtin/packages/r-conquer/package.py index 83045c8164676c..422156ccb2e09a 100644 --- a/var/spack/repos/builtin/packages/r-conquer/package.py +++ b/var/spack/repos/builtin/packages/r-conquer/package.py @@ -24,6 +24,8 @@ class RConquer(RPackage): version("1.2.1", sha256="1354f90f962a2124e155227cdc0ed2c6e54682f1e08934c49a827e51dc112f45") version("1.0.2", sha256="542f6154ce1ffec0c1b4dd4e1f5b86545015f4b378c4c66a0840c65c57d674ff") + depends_on("cxx", type="build") # generated + depends_on("r@3.5.0:", type=("build", "run")) depends_on("r-rcpp@1.0.3:", type=("build", "run")) depends_on("r-matrix", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-curl/package.py b/var/spack/repos/builtin/packages/r-curl/package.py index c688656ad03620..20b768c144e07b 100644 --- a/var/spack/repos/builtin/packages/r-curl/package.py +++ b/var/spack/repos/builtin/packages/r-curl/package.py @@ -27,12 +27,38 @@ class RCurl(RPackage): version("4.3.3", sha256="3567b6acad40dad68acfe07511c853824839d451a50219a96dd6d125ed617c9e") version("4.3.2", sha256="90b1facb4be8b6315bb3d272ba2dd90b88973f6ea1ab7f439550230f8500a568") version("4.3", sha256="7406d485bb50a6190e3ed201e3489063fd249b8b3b1b4f049167ac405a352edb") - version("4.0", sha256="09a99c9c86666449188fbb211cb1e9fbdb5108ab56f0d09322cd0ae50e926171") - version("3.3", sha256="0cb0b9a9280edc42ebed94708541ec86b4f48779e722171e45227eab8a88a5bd") - version("3.0", sha256="7bf8e3ae7cc77802ae300277e85d925d4c0611a9b7dad5c5601e0d2cbe14a506") - version("2.3", sha256="f901dad6bb70a6875a85da75bcbb42afffdcdf4ef221909733826bcb012d7c3d") - version("1.0", sha256="f8927228754fdfb21dbf08b9e67c5f97e06764c4adf327a4126eed84b1508f3d") - version("0.9.7", sha256="46e150998723fd1937da598f47f49fe47e40c1f57ec594436c6ef1e0145b44dc") + + # requires deprecated curl + version( + "4.0", + sha256="09a99c9c86666449188fbb211cb1e9fbdb5108ab56f0d09322cd0ae50e926171", + deprecated=True, + ) + version( + "3.3", + sha256="0cb0b9a9280edc42ebed94708541ec86b4f48779e722171e45227eab8a88a5bd", + deprecated=True, + ) + version( + "3.0", + sha256="7bf8e3ae7cc77802ae300277e85d925d4c0611a9b7dad5c5601e0d2cbe14a506", + deprecated=True, + ) + version( + "2.3", + sha256="f901dad6bb70a6875a85da75bcbb42afffdcdf4ef221909733826bcb012d7c3d", + deprecated=True, + ) + version( + "1.0", + sha256="f8927228754fdfb21dbf08b9e67c5f97e06764c4adf327a4126eed84b1508f3d", + deprecated=True, + ) + version( + "0.9.7", + sha256="46e150998723fd1937da598f47f49fe47e40c1f57ec594436c6ef1e0145b44dc", + deprecated=True, + ) depends_on("r@3.0.0:", type=("build", "run")) depends_on("curl", when="@4.3:") diff --git a/var/spack/repos/builtin/packages/r-dada2/package.py b/var/spack/repos/builtin/packages/r-dada2/package.py index 8f4d0e7e444fb5..8f6be657091da9 100644 --- a/var/spack/repos/builtin/packages/r-dada2/package.py +++ b/var/spack/repos/builtin/packages/r-dada2/package.py @@ -18,6 +18,8 @@ class RDada2(RPackage): version("1.20", sha256="351b80dc5cdd587f5d4fe2541574e3d0cf7966342ee913b47cb20c7eb150e3f5") version("1.14", sha256="19980b9d7b0a0e80e86010357cae11d1fc07c2d02067c4445169143cf1f99906") + depends_on("cxx", type="build") # generated + depends_on("r@3.4:", type=("build", "run")) depends_on("r-rcpp@0.12.0:", type=("build", "run")) depends_on("r-biostrings@2.42.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-decipher/package.py b/var/spack/repos/builtin/packages/r-decipher/package.py index f04955e0c0b7e6..fe7f930cab630b 100644 --- a/var/spack/repos/builtin/packages/r-decipher/package.py +++ b/var/spack/repos/builtin/packages/r-decipher/package.py @@ -24,6 +24,8 @@ class RDecipher(RPackage): version("2.6.0", commit="ed9acaa35c8774cb0ea01cd7cc2e46d063d8c70e") version("2.4.0", commit="1a57b8e4c7d7dec1c233f79c9a88d3705e0ad432") + depends_on("c", type="build") # generated + depends_on("r@3.3.0:", type=("build", "run")) depends_on("r@3.5.0:", type=("build", "run"), when="@2.18.1:") depends_on("r-biostrings@2.35.12:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-delayedarray/package.py b/var/spack/repos/builtin/packages/r-delayedarray/package.py index c5e6108253439c..31f81e18964b12 100644 --- a/var/spack/repos/builtin/packages/r-delayedarray/package.py +++ b/var/spack/repos/builtin/packages/r-delayedarray/package.py @@ -31,6 +31,8 @@ class RDelayedarray(RPackage): version("0.4.1", commit="ffe932ef8c255614340e4856fc6e0b44128a27a1") version("0.2.7", commit="909c2ce1665ebae2543172ead50abbe10bd42bc4") + depends_on("c", type="build") # generated + depends_on("r@3.4:", type=("build", "run")) depends_on("r@4.0.0:", type=("build", "run"), when="@0.20.0:") depends_on("r-matrix", type=("build", "run"), when="@0.10.0:") diff --git a/var/spack/repos/builtin/packages/r-densvis/package.py b/var/spack/repos/builtin/packages/r-densvis/package.py index 6099cff50c7db3..7a1d66c6121b02 100644 --- a/var/spack/repos/builtin/packages/r-densvis/package.py +++ b/var/spack/repos/builtin/packages/r-densvis/package.py @@ -37,6 +37,8 @@ class RDensvis(RPackage): version("1.10.0", commit="833db1fb7b2a5667575cc2e7c2fefc8360c8d7fb") + depends_on("cxx", type="build") # generated + depends_on("r-rcpp", type=("build", "run")) depends_on("r-basilisk", type=("build", "run")) depends_on("r-assertthat", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-deoptim/package.py b/var/spack/repos/builtin/packages/r-deoptim/package.py index 9e44e7d04ae986..af382d43234ca0 100644 --- a/var/spack/repos/builtin/packages/r-deoptim/package.py +++ b/var/spack/repos/builtin/packages/r-deoptim/package.py @@ -22,4 +22,6 @@ class RDeoptim(RPackage): version("2.2-4", sha256="0a547784090d1e9b93efc53768110621f35bed3692864f6ce5c0dda2ebd6d482") version("2.2-3", sha256="af2120feea3a736ee7a5a93c6767d464abc0d45ce75568074b233405e73c9a5d") + depends_on("c", type="build") # generated + depends_on("r-parallelly", type=("build", "run"), when="@2.2-7:2.2-7") diff --git a/var/spack/repos/builtin/packages/r-deseq/package.py b/var/spack/repos/builtin/packages/r-deseq/package.py index cfdf5f47cc2a66..4dca7fd96c36a5 100644 --- a/var/spack/repos/builtin/packages/r-deseq/package.py +++ b/var/spack/repos/builtin/packages/r-deseq/package.py @@ -23,6 +23,8 @@ class RDeseq(RPackage): version("1.30.0", commit="90c93d991dd980d538c13b0361d3345f9546794e") version("1.28.0", commit="738371466e6ccf00179fd35b617c8ba0e1e91630") + depends_on("c", type="build") # generated + depends_on("r-biocgenerics@0.7.5:", type=("build", "run")) depends_on("r-biobase@2.21.7:", type=("build", "run")) depends_on("r-locfit", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-deseq2/package.py b/var/spack/repos/builtin/packages/r-deseq2/package.py index d646aa2f5761d3..5bb4ffe19da6fb 100644 --- a/var/spack/repos/builtin/packages/r-deseq2/package.py +++ b/var/spack/repos/builtin/packages/r-deseq2/package.py @@ -28,6 +28,8 @@ class RDeseq2(RPackage): version("1.18.1", commit="ef65091d46436af68915124b752f5e1cc55e93a7") version("1.16.1", commit="f41d9df2de25fb57054480e50bc208447a6d82fb") + depends_on("cxx", type="build") # generated + depends_on("r-s4vectors@0.9.25:", type=("build", "run")) depends_on("r-s4vectors@0.23.18:", type=("build", "run"), when="@1.30.0:") depends_on("r-iranges", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-dicekriging/package.py b/var/spack/repos/builtin/packages/r-dicekriging/package.py index 1e91e9ecb03f0e..23d4333e68e2e1 100644 --- a/var/spack/repos/builtin/packages/r-dicekriging/package.py +++ b/var/spack/repos/builtin/packages/r-dicekriging/package.py @@ -18,3 +18,5 @@ class RDicekriging(RPackage): version("1.5.8", sha256="11d02b894cb509dbb8887ae27b6d08ba25aa52ac3ece134c3759c2b3b1bf4d77") version("1.5.6", sha256="25466d2db9f17083d1c7b9545e5ec88f630be934f9373c2f7b36c38de4e64e92") version("1.5.5", sha256="55fe161f867a0c3772023c3047041b877aa54d29cb474ec87293ec31cc5cb30c") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-diffobj/package.py b/var/spack/repos/builtin/packages/r-diffobj/package.py index e6c2cb2b65b277..b34eab29aac028 100644 --- a/var/spack/repos/builtin/packages/r-diffobj/package.py +++ b/var/spack/repos/builtin/packages/r-diffobj/package.py @@ -19,5 +19,7 @@ class RDiffobj(RPackage): version("0.3.5", sha256="d860a79b1d4c9e369282d7391b539fe89228954854a65ba47181407c53e3cf60") version("0.3.3", sha256="414e5573470b9565b9149a0a61c7e8344fb37f889d23dc4e131acc8aa62e6df4") + depends_on("c", type="build") # generated + depends_on("r@3.1.0:", type=("build", "run")) depends_on("r-crayon@1.3.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-dirichletmultinomial/package.py b/var/spack/repos/builtin/packages/r-dirichletmultinomial/package.py index b6af1bebb652bd..569468a4b0b43a 100644 --- a/var/spack/repos/builtin/packages/r-dirichletmultinomial/package.py +++ b/var/spack/repos/builtin/packages/r-dirichletmultinomial/package.py @@ -29,6 +29,8 @@ class RDirichletmultinomial(RPackage): version("1.20.0", commit="251529f301da1482551142240aeb6baf8dab2272") version("1.18.0", commit="81ccc8d83b8ef84f5d3e877bc0a04233a0f63c51") + depends_on("c", type="build") # generated + depends_on("r-s4vectors", type=("build", "run")) depends_on("r-iranges", type=("build", "run")) depends_on("r-biocgenerics", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-dnacopy/package.py b/var/spack/repos/builtin/packages/r-dnacopy/package.py index f1b23120c3731c..3f6cd7391df172 100644 --- a/var/spack/repos/builtin/packages/r-dnacopy/package.py +++ b/var/spack/repos/builtin/packages/r-dnacopy/package.py @@ -25,3 +25,6 @@ class RDnacopy(RPackage): version("1.54.0", commit="fe2657936afbce8ee03221461dff4265e3ded4c4") version("1.52.0", commit="2632fbecec4cef3705b85676942a59188ae9bba4") version("1.50.1", commit="a20153029e28c009df813dbaf13d9f519fafa4e8") + + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-dss/package.py b/var/spack/repos/builtin/packages/r-dss/package.py index 188e324ae46256..9fb917dece1b12 100644 --- a/var/spack/repos/builtin/packages/r-dss/package.py +++ b/var/spack/repos/builtin/packages/r-dss/package.py @@ -27,6 +27,8 @@ class RDss(RPackage): version("2.34.0", commit="f9819c7d7927c8e6d9963632cdeab36c8c22caa8") version("2.32.0", commit="ffb502d20810a873c2376199d44adedf7c83912d") + depends_on("c", type="build") # generated + depends_on("r@3.3:", type=("build", "run")) depends_on("r@3.5.0:", type=("build", "run"), when="@2.44.0:") depends_on("r-biobase", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-dtw/package.py b/var/spack/repos/builtin/packages/r-dtw/package.py index ba2f720d91cf61..518ea8392b5774 100644 --- a/var/spack/repos/builtin/packages/r-dtw/package.py +++ b/var/spack/repos/builtin/packages/r-dtw/package.py @@ -30,5 +30,7 @@ class RDtw(RPackage): version("1.15", sha256="28ba2110d4c305f332fad93337cdae24b9de4163b8ddf33d476f9dddc63160f1") version("1.14-3", sha256="6989358d8d97428418c2b34ae38647efcee2e0ce095800a657d5d83d7083c9e3") + depends_on("c", type="build") # generated + depends_on("r@2.10.0:", type=("build", "run")) depends_on("r-proxy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-ebseq/package.py b/var/spack/repos/builtin/packages/r-ebseq/package.py index 4be0874887a8d0..99c2366a0377ed 100644 --- a/var/spack/repos/builtin/packages/r-ebseq/package.py +++ b/var/spack/repos/builtin/packages/r-ebseq/package.py @@ -24,6 +24,8 @@ class REbseq(RPackage): version("2.0.0", commit="f1d4e4419988ab98540739c9349559fd437cb59f") version("1.40.0", commit="7d1d2a2b4ea0df8cddfb5e57d6431f3948c5c4ca") + depends_on("cxx", type="build") # generated + depends_on("r@3.0:", type=("build", "run")) depends_on("r-bh", type=("build", "run")) depends_on("r-blockmodeling", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-edger/package.py b/var/spack/repos/builtin/packages/r-edger/package.py index 2e0345e4891948..074ac32b4a5585 100644 --- a/var/spack/repos/builtin/packages/r-edger/package.py +++ b/var/spack/repos/builtin/packages/r-edger/package.py @@ -31,6 +31,9 @@ class REdger(RPackage): version("3.20.9", commit="acbcbbee939f399673678653678cd9cb4917c4dc") version("3.18.1", commit="101106f3fdd9e2c45d4a670c88f64c12e97a0495") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@2.15.0:", type=("build", "run")) depends_on("r@3.6.0:", type=("build", "run"), when="@3.26.8:") depends_on("r-limma", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-ellipsis/package.py b/var/spack/repos/builtin/packages/r-ellipsis/package.py index f0b9ea8882172e..8ad707ebe368f5 100644 --- a/var/spack/repos/builtin/packages/r-ellipsis/package.py +++ b/var/spack/repos/builtin/packages/r-ellipsis/package.py @@ -23,6 +23,8 @@ class REllipsis(RPackage): version("0.3.0", sha256="0bf814cb7a1f0ee1f2949bdc98752a0d535f2a9489280dd4d8fcdb10067ee907") version("0.2.0.1", sha256="0e6528c5e8016c3617cc1cfcdb5a4bfeb073e0bd5ea76b43e56b0c3208a0a943") + depends_on("c", type="build") # generated + depends_on("r@3.1:", type=("build", "run")) depends_on("r@3.2:", type=("build", "run"), when="@0.3:") depends_on("r-rlang@0.3.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-energy/package.py b/var/spack/repos/builtin/packages/r-energy/package.py index 2948c5e1f24198..a3ce0ada52cdaa 100644 --- a/var/spack/repos/builtin/packages/r-energy/package.py +++ b/var/spack/repos/builtin/packages/r-energy/package.py @@ -31,6 +31,9 @@ class REnergy(RPackage): version("1.7-6", sha256="900edbb28e1f1bccd78580828470628cf75eb6333b63e1a58e4da7fc5c5fa89a") version("1.7-5", sha256="24c2cf080939f8f56cd9cda06d2dfc30d0389cd3ec7250af4f9a09a4c06b6996") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r@3.1:", type=("build", "run"), when="@1.7-11:") depends_on("r-rcpp@0.12.6:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-exomecopy/package.py b/var/spack/repos/builtin/packages/r-exomecopy/package.py index 893d6c28b265eb..3138155652f66d 100644 --- a/var/spack/repos/builtin/packages/r-exomecopy/package.py +++ b/var/spack/repos/builtin/packages/r-exomecopy/package.py @@ -24,6 +24,8 @@ class RExomecopy(RPackage): version("1.36.0", commit="cbe3134acbbc9b7d5426ae2f142dc64cadb3fc26") version("1.32.0", commit="c9a884427d91b6d62ddc16a939bd808e389d3ea6") + depends_on("c", type="build") # generated + depends_on("r-iranges@2.5.27:", type=("build", "run")) depends_on("r-genomicranges@1.23.16:", type=("build", "run")) depends_on("r-rsamtools", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-expint/package.py b/var/spack/repos/builtin/packages/r-expint/package.py index b16b9089bef11f..1fec40d8ab73b7 100644 --- a/var/spack/repos/builtin/packages/r-expint/package.py +++ b/var/spack/repos/builtin/packages/r-expint/package.py @@ -27,4 +27,6 @@ class RExpint(RPackage): version("0.1-6", sha256="c7d13a8e299a91e94622047fe22b0006137e7bf82e34d10871b631fa58115145") version("0.1-5", sha256="b03d60938cd6cf615aa3a02b1bf73436785eca89eaff56059ee0807b8244718a") + depends_on("c", type="build") # generated + depends_on("r@3.3.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-fftwtools/package.py b/var/spack/repos/builtin/packages/r-fftwtools/package.py index 3072b692e56b6a..f6655e079ea717 100644 --- a/var/spack/repos/builtin/packages/r-fftwtools/package.py +++ b/var/spack/repos/builtin/packages/r-fftwtools/package.py @@ -26,6 +26,8 @@ class RFftwtools(RPackage): version("0.9-9", sha256="a9273b7e495d228d740ab4525467e4bbefe8614bd2d97e7234017f1305f51441") version("0.9-8", sha256="4641c8cd70938c2a8bde0b6da6cf7f83e96175ef52f1ca42ec3920a1dabf1bdb") + depends_on("c", type="build") # generated + depends_on("r@2.15.2:", type=("build", "run")) depends_on("r@3.0:", type=("build", "run"), when="@0.9-11:") depends_on("fftw@3.1.2:") diff --git a/var/spack/repos/builtin/packages/r-fgsea/package.py b/var/spack/repos/builtin/packages/r-fgsea/package.py index a4b092cdf9cbf4..9efe984cfb780c 100644 --- a/var/spack/repos/builtin/packages/r-fgsea/package.py +++ b/var/spack/repos/builtin/packages/r-fgsea/package.py @@ -29,6 +29,8 @@ class RFgsea(RPackage): version("1.4.1", commit="73de5ff364e520ac99507a9ee5a61a0d23d3c44e") version("1.2.1", commit="99b04eef664204d0dca4b9f8027cd7eefb006b72") + depends_on("cxx", type="build") # generated + depends_on("r@3.3:", type=("build", "run")) depends_on("r-rcpp", type=("build", "run")) depends_on("r-data-table", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-flashclust/package.py b/var/spack/repos/builtin/packages/r-flashclust/package.py index 0bd9a53583970c..24845b619afc06 100644 --- a/var/spack/repos/builtin/packages/r-flashclust/package.py +++ b/var/spack/repos/builtin/packages/r-flashclust/package.py @@ -13,4 +13,6 @@ class RFlashclust(RPackage): version("1.01-2", sha256="48a7849bb86530465ff3fbfac1c273f0df4b846e67d5eee87187d250c8bf9450") + depends_on("fortran", type="build") # generated + depends_on("r@2.3.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-gcrma/package.py b/var/spack/repos/builtin/packages/r-gcrma/package.py index 869d0f98486f96..3156c6ad247a7d 100644 --- a/var/spack/repos/builtin/packages/r-gcrma/package.py +++ b/var/spack/repos/builtin/packages/r-gcrma/package.py @@ -24,6 +24,8 @@ class RGcrma(RPackage): version("2.50.0", commit="cbba460d131e1073059500b8d7b168a78f963992") version("2.48.0", commit="3ea0eb0b5c15ffb24df76620667ae7996ed715b4") + depends_on("c", type="build") # generated + depends_on("r@2.6.0:", type=("build", "run")) depends_on("r-affy@1.23.2:", type=("build", "run")) depends_on("r-biobase", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-gdsfmt/package.py b/var/spack/repos/builtin/packages/r-gdsfmt/package.py index b2f85fbc0c74f2..d429d3d37bb986 100644 --- a/var/spack/repos/builtin/packages/r-gdsfmt/package.py +++ b/var/spack/repos/builtin/packages/r-gdsfmt/package.py @@ -37,4 +37,7 @@ class RGdsfmt(RPackage): version("1.14.1", commit="15743647b7eea5b82d3284858b4591fb6e59959d") version("1.12.0", commit="d705a95b0bea7be2a2b37e939f45017337ba0fb6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@2.15.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-geiger/package.py b/var/spack/repos/builtin/packages/r-geiger/package.py index 62d8a896cd7c74..3cfefe918250c4 100644 --- a/var/spack/repos/builtin/packages/r-geiger/package.py +++ b/var/spack/repos/builtin/packages/r-geiger/package.py @@ -24,6 +24,9 @@ class RGeiger(RPackage): version("2.0.6.1", sha256="2a95e20a3a90c096343b014344dd97e699e954da99c151c17fc6c245c77dba0b") version("2.0.6", sha256="e13b2c526378eaf9356b00bbe21b3c2c956327f8062fed638ccc1f49591c3eff") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@2.15.0:", type=("build", "run")) depends_on("r-ape@3.0-6:", type=("build", "run")) depends_on("r-mass", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-genefilter/package.py b/var/spack/repos/builtin/packages/r-genefilter/package.py index 74936d9ab5a0a6..0000d78ac34a4d 100644 --- a/var/spack/repos/builtin/packages/r-genefilter/package.py +++ b/var/spack/repos/builtin/packages/r-genefilter/package.py @@ -25,6 +25,10 @@ class RGenefilter(RPackage): version("1.60.0", commit="c98f695253c330a9380b2b4ffa27f3b7d66773e4") version("1.58.1", commit="ace2556049677f60882adfe91f8cc96791556fc2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r-matrixgenerics@1.11.1:", type=("build", "run"), when="@1.82.0:") depends_on("r-annotationdbi", type=("build", "run")) depends_on("r-annotate", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-genie3/package.py b/var/spack/repos/builtin/packages/r-genie3/package.py index 3a79f63b99feee..dd339468929c1a 100644 --- a/var/spack/repos/builtin/packages/r-genie3/package.py +++ b/var/spack/repos/builtin/packages/r-genie3/package.py @@ -24,5 +24,7 @@ class RGenie3(RPackage): version("1.2.1", commit="1b56fe8184d521d1bb247f000efe9e2b540604c9") version("1.0.0", commit="eb7c95ed12ea50d61e8fa20bc2b25ae9d74c302f") + depends_on("c", type="build") # generated + depends_on("r-reshape2", type=("build", "run")) depends_on("r-dplyr", type=("build", "run"), when="@1.16.0:") diff --git a/var/spack/repos/builtin/packages/r-genomicalignments/package.py b/var/spack/repos/builtin/packages/r-genomicalignments/package.py index 3a4364713d0606..7b5b9083c90a48 100644 --- a/var/spack/repos/builtin/packages/r-genomicalignments/package.py +++ b/var/spack/repos/builtin/packages/r-genomicalignments/package.py @@ -28,6 +28,8 @@ class RGenomicalignments(RPackage): version("1.14.2", commit="57b0b35d8b36069d4d94af86af051f0129b28eef") version("1.12.2", commit="b5d6f19e4a89b6c1c3e9e58e5ea4eb13870874ef") + depends_on("c", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r@4.0.0:", type=("build", "run"), when="@1.30.0:") depends_on("r-biocgenerics@0.15.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-genomicranges/package.py b/var/spack/repos/builtin/packages/r-genomicranges/package.py index ca13cefcbfca3b..a439fe10653d30 100644 --- a/var/spack/repos/builtin/packages/r-genomicranges/package.py +++ b/var/spack/repos/builtin/packages/r-genomicranges/package.py @@ -33,6 +33,8 @@ class RGenomicranges(RPackage): version("1.30.3", commit="e99979054bc50ed8c0109bc54563036c1b368997") version("1.28.6", commit="197472d618f3ed04c795dc6ed435500c29619563") + depends_on("c", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r@4.0.0:", type=("build", "run"), when="@1.46.1:") depends_on("r-biocgenerics@0.21.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-geojsonsf/package.py b/var/spack/repos/builtin/packages/r-geojsonsf/package.py index 8307479d69d31a..92e9a8980cfaab 100644 --- a/var/spack/repos/builtin/packages/r-geojsonsf/package.py +++ b/var/spack/repos/builtin/packages/r-geojsonsf/package.py @@ -18,6 +18,8 @@ class RGeojsonsf(RPackage): version("2.0.3", sha256="275ca14672d982e6a95884515f49d8a0aad14f3be62ea01b675a91b0bffb46d1") version("2.0.1", sha256="42df40433bfbece5a39cd97b5bd4690b4424855241fcc3e7322ee68a3988bfbf") + depends_on("cxx", type="build") # generated + depends_on("r@3.3.0:", type=("build", "run")) depends_on("r-rcpp", type=("build", "run")) depends_on("r-geometries", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-geometry/package.py b/var/spack/repos/builtin/packages/r-geometry/package.py index 855612ecc9ab83..5ff51298d1f709 100644 --- a/var/spack/repos/builtin/packages/r-geometry/package.py +++ b/var/spack/repos/builtin/packages/r-geometry/package.py @@ -27,6 +27,9 @@ class RGeometry(RPackage): version("0.4.6.1", sha256="52c87a43cdf414c08b8183441c44497039cba92a9cff719debf09ad8d5d7f472") version("0.4.6", sha256="910465a8c8043faca73bcc7c81c9249b9938677ee6649468003b438a6503f5d8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.0.0:", type=("build", "run")) depends_on("r-magic", type=("build", "run")) depends_on("r-rcpp", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-geosphere/package.py b/var/spack/repos/builtin/packages/r-geosphere/package.py index c9079b02a4a68c..79e82e106fecfe 100644 --- a/var/spack/repos/builtin/packages/r-geosphere/package.py +++ b/var/spack/repos/builtin/packages/r-geosphere/package.py @@ -23,6 +23,9 @@ class RGeosphere(RPackage): version("1.5-7", sha256="9d9b555e2d59a5ae174ae654652121f169fbc3e9cf66c2491bfbe0684b6dd8a0") version("1.5-5", sha256="8b6fe012744fc45b88e0ef6f20e60e103ef013e761e99dcff3f9dceeedbdce6d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.0.0:", type=("build", "run")) depends_on("r-rcpp", type=("build", "run"), when="@1.5-18:") depends_on("r-sp", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-glmgampoi/package.py b/var/spack/repos/builtin/packages/r-glmgampoi/package.py index 186701a6f085ac..ffe7569bfdbd28 100644 --- a/var/spack/repos/builtin/packages/r-glmgampoi/package.py +++ b/var/spack/repos/builtin/packages/r-glmgampoi/package.py @@ -20,6 +20,8 @@ class RGlmgampoi(RPackage): version("1.10.0", commit="048e17384209fc07031e09875ec6eea35e90ef46") version("1.8.0", commit="b723d61e05c1ad50a3cf6a6393ec3d97adc7edb4") + depends_on("cxx", type="build") # generated + depends_on("r-rcpp", type=("build", "run")) depends_on("r-delayedmatrixstats", type=("build", "run")) depends_on("r-matrixstats", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-goftest/package.py b/var/spack/repos/builtin/packages/r-goftest/package.py index 9516bd7f126a49..c78dc78470ad07 100644 --- a/var/spack/repos/builtin/packages/r-goftest/package.py +++ b/var/spack/repos/builtin/packages/r-goftest/package.py @@ -19,4 +19,6 @@ class RGoftest(RPackage): version("1.2-3", sha256="3a5f74b6ae7ece5b294781ae57782abe12375d61789c55ff5e92e4aacf347f19") version("1.2-2", sha256="e497992666b002b6c6bed73bf05047ad7aa69eb58898da0ad8f1f5b2219e7647") + depends_on("c", type="build") # generated + depends_on("r@3.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-gofuncr/package.py b/var/spack/repos/builtin/packages/r-gofuncr/package.py index 4f402c206636c1..58f5b7fc0532c7 100644 --- a/var/spack/repos/builtin/packages/r-gofuncr/package.py +++ b/var/spack/repos/builtin/packages/r-gofuncr/package.py @@ -37,6 +37,9 @@ class RGofuncr(RPackage): version("1.2.0", commit="140a3cea4fe34d32fef9be756f85e337ce3deded") version("1.0.0", commit="becd4ddde085c5477042adb856e7a4f40dbd648e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r+X", type=("build", "run")) depends_on("r@3.4:", type=("build", "run")) depends_on("r-vioplot@0.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-gosemsim/package.py b/var/spack/repos/builtin/packages/r-gosemsim/package.py index 9e81019131d298..4153891ce4d087 100644 --- a/var/spack/repos/builtin/packages/r-gosemsim/package.py +++ b/var/spack/repos/builtin/packages/r-gosemsim/package.py @@ -30,6 +30,8 @@ class RGosemsim(RPackage): version("2.4.1", commit="0656e845860d14e054670ffc246a1c53f699299c") version("2.2.0", commit="247434790e6c8cf99e5643f569390362b8c87c52") + depends_on("cxx", type="build") # generated + depends_on("r@3.3.2:", type=("build", "run")) depends_on("r@3.4.0:", type=("build", "run"), when="@2.8.0:") depends_on("r@3.5.0:", type=("build", "run"), when="@2.16.1:") diff --git a/var/spack/repos/builtin/packages/r-gower/package.py b/var/spack/repos/builtin/packages/r-gower/package.py index 2f6f7156d69492..ffc86a9be75cad 100644 --- a/var/spack/repos/builtin/packages/r-gower/package.py +++ b/var/spack/repos/builtin/packages/r-gower/package.py @@ -21,3 +21,5 @@ class RGower(RPackage): version("1.0.0", sha256="671cb7baafe05140d822e8f26f9cd3576fc3bf4c6572b7223fb54da754ea385d") version("0.2.2", sha256="3f022010199fafe34f6e7431730642a76893e6b4249b84e5a61012cb83483631") version("0.2.1", sha256="af3fbe91cf818c0841b2c0ec4ddf282c182a588031228c8d88f7291b2cdff100") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-graph/package.py b/var/spack/repos/builtin/packages/r-graph/package.py index e3fe8eeb7eeee9..54014bac7a6781 100644 --- a/var/spack/repos/builtin/packages/r-graph/package.py +++ b/var/spack/repos/builtin/packages/r-graph/package.py @@ -24,5 +24,7 @@ class RGraph(RPackage): version("1.56.0", commit="c4abe227dac525757679743e6fb4f49baa34acad") version("1.54.0", commit="2a8b08520096241620421078fc1098f4569c7301") + depends_on("c", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r-biocgenerics@0.13.11:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-gsl/package.py b/var/spack/repos/builtin/packages/r-gsl/package.py index 726445818c1bae..5bcf3a7d14cec3 100644 --- a/var/spack/repos/builtin/packages/r-gsl/package.py +++ b/var/spack/repos/builtin/packages/r-gsl/package.py @@ -20,6 +20,8 @@ class RGsl(RPackage): version("2.1-7.1", sha256="ee98d1382d37ffa77538a90ccdbf44affbf1710a9e66b8ada73fa72e67921985") version("2.1-6", sha256="f5d463239693f146617018987687db31b163653708cbae0b730b9b7bed81995c") + depends_on("c", type="build") # generated + depends_on("r@3.1.0:", type=("build", "run")) depends_on("r@4.0.0:", type=("build", "run"), when="@2.1-8:") depends_on("gsl@2.1:") diff --git a/var/spack/repos/builtin/packages/r-gstat/package.py b/var/spack/repos/builtin/packages/r-gstat/package.py index a747cab40fe4d7..b214c37f007f56 100644 --- a/var/spack/repos/builtin/packages/r-gstat/package.py +++ b/var/spack/repos/builtin/packages/r-gstat/package.py @@ -26,6 +26,8 @@ class RGstat(RPackage): version("2.0-6", sha256="6711e68aa2444cf2927879a03a976d8caeca5eac98d806b19a6a7178b90bfcab") version("2.0-3", sha256="20a93fe6bf89221a5888de273bddf9a98187806d507cd3cd6297c2b13e7acce1") + depends_on("c", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r-lattice", type=("build", "run")) depends_on("r-sp@0.9-72:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-haven/package.py b/var/spack/repos/builtin/packages/r-haven/package.py index 19ad030242caf7..220171dbcea1f1 100644 --- a/var/spack/repos/builtin/packages/r-haven/package.py +++ b/var/spack/repos/builtin/packages/r-haven/package.py @@ -27,6 +27,9 @@ class RHaven(RPackage): version("2.1.0", sha256="c0a1cf1b039549fb3ad833f9644ed3f142790236ad755d2ee7bd3d8109e3ae74") version("1.1.0", sha256="089fb4d0955f320abc48d0a3031799f96f3a20b82492474743903fdf12001d19") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.1:", type=("build", "run")) depends_on("r@3.2:", type=("build", "run"), when="@2.1.1:") depends_on("r@3.4:", type=("build", "run"), when="@2.5.0:") diff --git a/var/spack/repos/builtin/packages/r-hdf5array/package.py b/var/spack/repos/builtin/packages/r-hdf5array/package.py index a8b419a351505c..97a95e286d3b82 100644 --- a/var/spack/repos/builtin/packages/r-hdf5array/package.py +++ b/var/spack/repos/builtin/packages/r-hdf5array/package.py @@ -32,6 +32,8 @@ class RHdf5array(RPackage): version("1.6.0", commit="95f2f8d3648143abe9dc77c76340c5edf4114c82") version("1.4.8", commit="79ab96d123c8da8f8ead81f678fe714c0958ff45") + depends_on("c", type="build") # generated + depends_on("r@3.4:", type=("build", "run")) depends_on("r-delayedarray@0.2.4:", type=("build", "run")) depends_on("r-delayedarray@0.3.18:", type=("build", "run"), when="@1.6.0:") diff --git a/var/spack/repos/builtin/packages/r-hdrcde/package.py b/var/spack/repos/builtin/packages/r-hdrcde/package.py index 4ff2c07428a803..d4207c9e1aa074 100644 --- a/var/spack/repos/builtin/packages/r-hdrcde/package.py +++ b/var/spack/repos/builtin/packages/r-hdrcde/package.py @@ -20,6 +20,9 @@ class RHdrcde(RPackage): version("3.4", sha256="4341c6a021da46dcae3b1ef6d580e84dcf625c2b2139f537d0c26ec90899149b") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r@2.15:", type=("build", "run")) depends_on("r-locfit", type=("build", "run")) depends_on("r-ash", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-hexbin/package.py b/var/spack/repos/builtin/packages/r-hexbin/package.py index 3324d1b2e0f4ce..b0272f450e4a2a 100644 --- a/var/spack/repos/builtin/packages/r-hexbin/package.py +++ b/var/spack/repos/builtin/packages/r-hexbin/package.py @@ -23,5 +23,8 @@ class RHexbin(RPackage): version("1.27.2", sha256="46d47b1efef75d6f126af686a4dd614228b60418b9a5bde9e9e5d11200a0ee52") version("1.27.1", sha256="075935a3ae2d90e44aca6ebbd368dc6f7e59d322e36e0e0932dedbf01330ad08") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r@2.0.1:", type=("build", "run")) depends_on("r-lattice", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-humaniformat/package.py b/var/spack/repos/builtin/packages/r-humaniformat/package.py index ee8057d6874b34..0f92da22e289cf 100644 --- a/var/spack/repos/builtin/packages/r-humaniformat/package.py +++ b/var/spack/repos/builtin/packages/r-humaniformat/package.py @@ -25,4 +25,6 @@ class RHumaniformat(RPackage): version("0.6.0", sha256="861232c66bf6d4ff91b073193506104f4d99eca5e9a9488327f39ef2bfb45e6d") version("0.5.0", sha256="02b585e3623a5c5faa7dc3abff92b932d748900be39097c5db8434b8e92709a0") + depends_on("cxx", type="build") # generated + depends_on("r-rcpp", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-illuminaio/package.py b/var/spack/repos/builtin/packages/r-illuminaio/package.py index 9f5a60263d182c..3cf67aea1be812 100644 --- a/var/spack/repos/builtin/packages/r-illuminaio/package.py +++ b/var/spack/repos/builtin/packages/r-illuminaio/package.py @@ -24,4 +24,6 @@ class RIlluminaio(RPackage): version("0.20.0", commit="d226628133b2396be9e7a6bf043f0309bd70c4ec") version("0.18.0", commit="e6b8ab1f8eacb760aebdb4828e9cfbf07da06eda") + depends_on("c", type="build") # generated + depends_on("r-base64", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-impute/package.py b/var/spack/repos/builtin/packages/r-impute/package.py index ecc5b356f8f945..7a9a5589531002 100644 --- a/var/spack/repos/builtin/packages/r-impute/package.py +++ b/var/spack/repos/builtin/packages/r-impute/package.py @@ -24,4 +24,6 @@ class RImpute(RPackage): version("1.52.0", commit="7fa1b917a5dd60f2aaf52d9aae1fcd2c93511d63") version("1.50.1", commit="31d1cc141797afdc83743e1d95aab8a90ee19b71") + depends_on("fortran", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-ipred/package.py b/var/spack/repos/builtin/packages/r-ipred/package.py index 6e4d00a80e9490..b07211585534a2 100644 --- a/var/spack/repos/builtin/packages/r-ipred/package.py +++ b/var/spack/repos/builtin/packages/r-ipred/package.py @@ -24,6 +24,8 @@ class RIpred(RPackage): version("0.9-8", sha256="9c1d11c3cb0d72be7870e70a216e589e403bbfee38c796fe75cd0611d878ac07") version("0.9-5", sha256="3a466417808e17c4c6cd0f2b577407355d9da79a341558b42a8b76e24b6f6ba4") + depends_on("c", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r-rpart@3.1-8:", type=("build", "run")) depends_on("r-mass", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-iranges/package.py b/var/spack/repos/builtin/packages/r-iranges/package.py index 47a37a38ef8599..ac91c21088f90f 100644 --- a/var/spack/repos/builtin/packages/r-iranges/package.py +++ b/var/spack/repos/builtin/packages/r-iranges/package.py @@ -31,6 +31,8 @@ class RIranges(RPackage): version("2.12.0", commit="1b1748655a8529ba87ad0f223f035ef0c08e7fcd") version("2.10.5", commit="b00d1d5025e3c480d17c13100f0da5a0132b1614") + depends_on("c", type="build") # generated + depends_on("r@3.1.0:", type=("build", "run")) depends_on("r@4.0.0:", type=("build", "run"), when="@2.24.1:") depends_on("r-biocgenerics@0.21.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-irlba/package.py b/var/spack/repos/builtin/packages/r-irlba/package.py index 1d6ad085206d1f..21a594f5d80098 100644 --- a/var/spack/repos/builtin/packages/r-irlba/package.py +++ b/var/spack/repos/builtin/packages/r-irlba/package.py @@ -25,5 +25,7 @@ class RIrlba(RPackage): version("2.1.2", sha256="5183e8dd7943df11c0f44460566adf06c03d5320f142699298f516d423b06ce1") version("2.0.0", sha256="15f8d6c1107d6bb872411efd61e6077d9d7ac826f4da2d378999889a7b1ebabe") + depends_on("c", type="build") # generated + depends_on("r@3.6.2:", type=("build", "run"), when="@2.3.5:") depends_on("r-matrix", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-isoband/package.py b/var/spack/repos/builtin/packages/r-isoband/package.py index 2533c6c6f81e1a..97819fcb6096a9 100644 --- a/var/spack/repos/builtin/packages/r-isoband/package.py +++ b/var/spack/repos/builtin/packages/r-isoband/package.py @@ -22,4 +22,6 @@ class RIsoband(RPackage): version("0.2.5", sha256="46f53fa066f0966f02cb2bf050190c0d5e950dab2cdf565feb63fc092c886ba5") version("0.2.3", sha256="f9d3318fdf6d147dc2e2c7015ea7de42a55fa33d6232b952f982df96066b7ffe") + depends_on("cxx", type="build") # generated + depends_on("r-testthat", type=("build", "run"), when="@0.2.3") diff --git a/var/spack/repos/builtin/packages/r-jomo/package.py b/var/spack/repos/builtin/packages/r-jomo/package.py index 36a96efafd8ab2..726512f37ee4f7 100644 --- a/var/spack/repos/builtin/packages/r-jomo/package.py +++ b/var/spack/repos/builtin/packages/r-jomo/package.py @@ -28,6 +28,8 @@ class RJomo(RPackage): version("2.6-7", sha256="6e83dab51103511038a3e9a3c762e00cc45ae7080c0a0f64e37bcea8c488db53") version("2.6-2", sha256="67496d6d69ddbe9a796789fd8b3ac32cada09a81cf5a8e7b925a21e085e2d87f") + depends_on("c", type="build") # generated + depends_on("r-lme4", type=("build", "run")) depends_on("r-survival", type=("build", "run")) depends_on("r-mass", type=("build", "run"), when="@2.6-7:") diff --git a/var/spack/repos/builtin/packages/r-jpeg/package.py b/var/spack/repos/builtin/packages/r-jpeg/package.py index 0709499e83d327..1436a1543a5d67 100644 --- a/var/spack/repos/builtin/packages/r-jpeg/package.py +++ b/var/spack/repos/builtin/packages/r-jpeg/package.py @@ -22,5 +22,7 @@ class RJpeg(RPackage): version("0.1-8.1", sha256="1db0a4976fd9b2ae27a37d3e856cca35bc2909323c7a40724846a5d3c18915a9") version("0.1-8", sha256="d032befeb3a414cefdbf70ba29a6c01541c54387cc0a1a98a4022d86cbe60a16") + depends_on("c", type="build") # generated + depends_on("r@2.9.0:", type=("build", "run")) depends_on("jpeg") diff --git a/var/spack/repos/builtin/packages/r-jsonify/package.py b/var/spack/repos/builtin/packages/r-jsonify/package.py index 4887837dbdd639..f98a52dea98530 100644 --- a/var/spack/repos/builtin/packages/r-jsonify/package.py +++ b/var/spack/repos/builtin/packages/r-jsonify/package.py @@ -21,6 +21,8 @@ class RJsonify(RPackage): version("1.2.2", sha256="3745e962592f021a3deaed8b2f6b99c4f7181f28e095300a96d1c2b08af4af2f") version("1.2.1", sha256="929191ab32e34af6a02ad991e29314cc78ea40763fcf232388ef2d132137fbce") + depends_on("cxx", type="build") # generated + depends_on("r@3.3.0:", type=("build", "run")) depends_on("r-rcpp@0.12.18:", type=("build", "run")) depends_on("r-rapidjsonr@1.2.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-jsonlite/package.py b/var/spack/repos/builtin/packages/r-jsonlite/package.py index b009398e8b4deb..2d3c0d57c7ed44 100644 --- a/var/spack/repos/builtin/packages/r-jsonlite/package.py +++ b/var/spack/repos/builtin/packages/r-jsonlite/package.py @@ -39,3 +39,5 @@ class RJsonlite(RPackage): version("1.2", sha256="cb6b4660468d2db84ed09c7b8fefd169fcfc13e1e6b4e7ce64dce2713f34264d") version("1.0", sha256="d756dd6367e3fc515c855bb0b34a3a81955f8aeb494db029a893f3cdfcff962d") version("0.9.21", sha256="079349342ea6eb92bd5fa8f6a7c08d9e3652c3d41010b64afbc3297671eb3791") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-kernlab/package.py b/var/spack/repos/builtin/packages/r-kernlab/package.py index ec7f355a92e004..7e1289948d4ed6 100644 --- a/var/spack/repos/builtin/packages/r-kernlab/package.py +++ b/var/spack/repos/builtin/packages/r-kernlab/package.py @@ -26,4 +26,7 @@ class RKernlab(RPackage): version("0.9-26", sha256="954940478c6fcf60433e50e43cf10d70bcb0a809848ca8b9d683bf371cd56077") version("0.9-25", sha256="b9de072754bb03c02c4d6a5ca20f2290fd090de328b55ab334ac0b397ac2ca62") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-kknn/package.py b/var/spack/repos/builtin/packages/r-kknn/package.py index 1c674e39de5a4e..e4c2d931a521c2 100644 --- a/var/spack/repos/builtin/packages/r-kknn/package.py +++ b/var/spack/repos/builtin/packages/r-kknn/package.py @@ -18,6 +18,8 @@ class RKknn(RPackage): version("1.3.1", sha256="22840e70ec2afa40371e274b583634c8f6d27149a87253ee411747d5db78f3db") + depends_on("c", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r-igraph@1.0:", type=("build", "run")) depends_on("r-matrix", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-lars/package.py b/var/spack/repos/builtin/packages/r-lars/package.py index e150766a921dec..e0fa34532a420b 100644 --- a/var/spack/repos/builtin/packages/r-lars/package.py +++ b/var/spack/repos/builtin/packages/r-lars/package.py @@ -21,4 +21,7 @@ class RLars(RPackage): version("1.1", sha256="a8e4a0efb9ca6760dec1cadf395d9a805508455a2c3ced18cc53d9b8fa70cdc0") version("0.9-8", sha256="8c64cb31073ea0785346bb716485da8db2fae14153a52e5a8d151bc9cb4906e5") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-lazyeval/package.py b/var/spack/repos/builtin/packages/r-lazyeval/package.py index cbaafd963bbb4e..f90efdeea60f96 100644 --- a/var/spack/repos/builtin/packages/r-lazyeval/package.py +++ b/var/spack/repos/builtin/packages/r-lazyeval/package.py @@ -21,4 +21,6 @@ class RLazyeval(RPackage): version("0.2.1", sha256="83b3a43e94c40fe7977e43eb607be0a3cd64c02800eae4f2774e7866d1e93f61") version("0.2.0", sha256="13738f55b2044184fe91f53d17516a445dfb508227527921218cda6f01f98dcb") + depends_on("c", type="build") # generated + depends_on("r@3.1.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-libpressio/package.py b/var/spack/repos/builtin/packages/r-libpressio/package.py index cc397330a3f8e1..7e0203978201a8 100644 --- a/var/spack/repos/builtin/packages/r-libpressio/package.py +++ b/var/spack/repos/builtin/packages/r-libpressio/package.py @@ -25,6 +25,8 @@ class RLibpressio(RPackage): version("1.1", sha256="b86a541e095b6e41b3548f6cd734c1ff50c70edda2806ed66b5205880fbfbb96") version("0.0.1", sha256="a508cf3ec1b06c417e0de0e1e4180f3175ead2e4ec23b374425fcf2abfaa1b88") + depends_on("cxx", type="build") # generated + variant( "third_party", description="include support for 3rd party compressor modules", default=True ) diff --git a/var/spack/repos/builtin/packages/r-limma/package.py b/var/spack/repos/builtin/packages/r-limma/package.py index 5e3b183a8dc495..ea57708e3f1075 100644 --- a/var/spack/repos/builtin/packages/r-limma/package.py +++ b/var/spack/repos/builtin/packages/r-limma/package.py @@ -26,5 +26,7 @@ class RLimma(RPackage): version("3.34.9", commit="6755278a929f942a49e2441fb002a3ed393e1139") version("3.32.10", commit="593edf28e21fe054d64137ae271b8a52ab05bc60") + depends_on("c", type="build") # generated + depends_on("r@2.3.0:", type=("build", "run")) depends_on("r@3.6.0:", type=("build", "run"), when="@3.40.6:") diff --git a/var/spack/repos/builtin/packages/r-lmtest/package.py b/var/spack/repos/builtin/packages/r-lmtest/package.py index ed98a3f759b591..f7bd808a4b8991 100644 --- a/var/spack/repos/builtin/packages/r-lmtest/package.py +++ b/var/spack/repos/builtin/packages/r-lmtest/package.py @@ -24,5 +24,8 @@ class RLmtest(RPackage): version("0.9-36", sha256="be9f168d6554e9cd2be0f9d8fc3244f055dce90d1fca00f05bcbd01daa4ed56b") version("0.9-34", sha256="86eead67ed6d6c6be3fbee97d5ce45e6ca06a981f974ce01a7754a9e33770d2e") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r@3.0.0:", type=("build", "run")) depends_on("r-zoo", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-lobstr/package.py b/var/spack/repos/builtin/packages/r-lobstr/package.py index f322a9ab4cd8aa..77670f9a55c63d 100644 --- a/var/spack/repos/builtin/packages/r-lobstr/package.py +++ b/var/spack/repos/builtin/packages/r-lobstr/package.py @@ -23,6 +23,8 @@ class RLobstr(RPackage): version("1.0.1", sha256="25fb288f73dbaf680ebbf27a50da338868c55d788501118fd33748854c5104fb") version("1.0.0", sha256="9d24de1519c51b3bac79066a1abf623b939e884ba5b3005110bb9c2016954b3d") + depends_on("cxx", type="build") # generated + depends_on("r@3.1:", type=("build", "run")) depends_on("r@3.2:", type=("build", "run"), when="@1.1.1:") depends_on("r-crayon", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-log4r/package.py b/var/spack/repos/builtin/packages/r-log4r/package.py index 53dd72495441ae..c7bade880eb945 100644 --- a/var/spack/repos/builtin/packages/r-log4r/package.py +++ b/var/spack/repos/builtin/packages/r-log4r/package.py @@ -21,3 +21,5 @@ class RLog4r(RPackage): version("0.3.2", sha256="14ba6b096283279f0accbde26a600771ab2df271db6c8eeb04d6f113107825a3") version("0.3.0", sha256="8e5d0221298410e48bee9d9a983a23e1834ce88592f9d931471bfdb05f37a691") version("0.2", sha256="321bee6babb92376b538624027a36e7d2a6c8edb360aa38ab0a6762dfea9081f") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-lsei/package.py b/var/spack/repos/builtin/packages/r-lsei/package.py index cf29fe58b37c32..55332f86820da6 100644 --- a/var/spack/repos/builtin/packages/r-lsei/package.py +++ b/var/spack/repos/builtin/packages/r-lsei/package.py @@ -23,3 +23,6 @@ class RLsei(RPackage): version("1.3-0", sha256="6289058f652989ca8a5ad6fa324ce1762cc9e36c42559c00929b70f762066ab6") version("1.2-0", sha256="4781ebd9ef93880260d5d5f23066580ac06061e95c1048fb25e4e838963380f6") + + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-magrittr/package.py b/var/spack/repos/builtin/packages/r-magrittr/package.py index 989ca317de2390..d3aeb1a1d99796 100644 --- a/var/spack/repos/builtin/packages/r-magrittr/package.py +++ b/var/spack/repos/builtin/packages/r-magrittr/package.py @@ -24,4 +24,6 @@ class RMagrittr(RPackage): version("2.0.1", sha256="75c265d51cc2b34beb27040edb09823c7b954d3990a7a931e40690b75d4aad5f") version("1.5", sha256="05c45943ada9443134caa0ab24db4a962b629f00b755ccf039a2a2a7b2c92ae8") + depends_on("c", type="build") # generated + depends_on("r@3.4.0:", type=("build", "run"), when="@2.0.3:") diff --git a/var/spack/repos/builtin/packages/r-makecdfenv/package.py b/var/spack/repos/builtin/packages/r-makecdfenv/package.py index 21d255366d84d4..7fa20490d3e64d 100644 --- a/var/spack/repos/builtin/packages/r-makecdfenv/package.py +++ b/var/spack/repos/builtin/packages/r-makecdfenv/package.py @@ -27,6 +27,8 @@ class RMakecdfenv(RPackage): version("1.54.0", commit="3ff646ddc4b028e46b1e091ff9c2d17ce77cec26") version("1.52.0", commit="b88a3e93e3b7feeeca69eda7c1fc5a0826c81120") + depends_on("c", type="build") # generated + depends_on("r@2.6.0:", type=("build", "run")) depends_on("r-affyio", type=("build", "run")) depends_on("r-biobase", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-mapproj/package.py b/var/spack/repos/builtin/packages/r-mapproj/package.py index 3c9963ffcdf029..08b9ea6351b409 100644 --- a/var/spack/repos/builtin/packages/r-mapproj/package.py +++ b/var/spack/repos/builtin/packages/r-mapproj/package.py @@ -23,5 +23,7 @@ class RMapproj(RPackage): version("1.2-5", sha256="f3026a3a69a550c923b44c18b1ccc60d98e52670a438250d13f3c74cf2195f66") version("1.2-4", sha256="cf8a1535f57e7cca0a71b3a551e77ad3e7a78f61a94bb19effd3de19dbe7dceb") + depends_on("c", type="build") # generated + depends_on("r@3.0.0:", type=("build", "run")) depends_on("r-maps@2.3-0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-memuse/package.py b/var/spack/repos/builtin/packages/r-memuse/package.py index e1abbbc6315efd..4177e53fb75d9d 100644 --- a/var/spack/repos/builtin/packages/r-memuse/package.py +++ b/var/spack/repos/builtin/packages/r-memuse/package.py @@ -25,4 +25,6 @@ class RMemuse(RPackage): version("4.2-1", sha256="f5e9dbaad4efbbfe219a93f446e318a00cad5b294bfc60ca2146eca894b47cf3") version("4.1-0", sha256="58d6d1ca5d6bd481f4ed299eff6a9d5660eb0f8db1abe54c49e144093cba72ad") + depends_on("c", type="build") # generated + depends_on("r@3.0.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-metapod/package.py b/var/spack/repos/builtin/packages/r-metapod/package.py index 595c008a667327..1a43e60491bdcd 100644 --- a/var/spack/repos/builtin/packages/r-metapod/package.py +++ b/var/spack/repos/builtin/packages/r-metapod/package.py @@ -23,4 +23,6 @@ class RMetapod(RPackage): version("1.6.0", commit="cfeaa959f5c6b2119df270f40af9c3ea718c4b00") version("1.4.0", commit="e71c2072e5b39f74599e279b28f4da7923b515fb") + depends_on("cxx", type="build") # generated + depends_on("r-rcpp", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-mime/package.py b/var/spack/repos/builtin/packages/r-mime/package.py index 2ba4d9bff8f5ec..b9ac2896a1f97d 100644 --- a/var/spack/repos/builtin/packages/r-mime/package.py +++ b/var/spack/repos/builtin/packages/r-mime/package.py @@ -23,3 +23,5 @@ class RMime(RPackage): version("0.6", sha256="4775b605ab0117406bee7953c8af59eea8b35e67d1bd63f4007686a7097fc401") version("0.5", sha256="fcc72115afb0eb43237da872754464f37ae9ae097f332ec7984149b5e3a82145") version("0.4", sha256="d790c7e38371d03774a7d53f75aed3151835b1aebbb663b0fe828b221e6bac90") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-mixtools/package.py b/var/spack/repos/builtin/packages/r-mixtools/package.py index 64a6c88194020b..b7f3b321307bb1 100644 --- a/var/spack/repos/builtin/packages/r-mixtools/package.py +++ b/var/spack/repos/builtin/packages/r-mixtools/package.py @@ -32,6 +32,8 @@ class RMixtools(RPackage): version("1.1.0", sha256="543fd8d8dc8d4b6079ebf491cf97f27d6225e1a6e65d8fd48553ada23ba88d8f") version("1.0.4", sha256="62f4b0a17ce520c4f8ed50ab44f120e459143b461a9e420cd39056ee4fc8798c") + depends_on("c", type="build") # generated + depends_on("r@3.2:", type=("build", "run")) depends_on("r@3.5.0:", type=("build", "run"), when="@1.2.0:") depends_on("r@4.0.0:", type=("build", "run"), when="@2.0.0:") diff --git a/var/spack/repos/builtin/packages/r-mlrmbo/package.py b/var/spack/repos/builtin/packages/r-mlrmbo/package.py index 0b945e185af090..db8931d1769dcb 100644 --- a/var/spack/repos/builtin/packages/r-mlrmbo/package.py +++ b/var/spack/repos/builtin/packages/r-mlrmbo/package.py @@ -31,6 +31,8 @@ class RMlrmbo(RPackage): version("1.1.1", sha256="e87d9912a9b4a968364584205b8ef6f7fea0b5aa043c8d31331a7b7be02dd7e4") version("1.1.0", sha256="6ae82731a566333f06085ea2ce23ff2a1007029db46eea57d06194850350a8a0") + depends_on("c", type="build") # generated + depends_on("r+X", type=("build", "run")) depends_on("r-mlr@2.10:", type=("build", "run")) depends_on("r-paramhelpers@1.10:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-mnormt/package.py b/var/spack/repos/builtin/packages/r-mnormt/package.py index 06d34557911f0f..5b498b1989462c 100644 --- a/var/spack/repos/builtin/packages/r-mnormt/package.py +++ b/var/spack/repos/builtin/packages/r-mnormt/package.py @@ -24,5 +24,8 @@ class RMnormt(RPackage): version("2.0.2", sha256="5c6aa036d3f1035ffe8f9a8e95bb908b191b126b016591cf893c50472851f334") version("1.5-5", sha256="ff78d5f935278935f1814a69e5a913d93d6dd2ac1b5681ba86b30c6773ef64ac") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r@2.2.0:", type=("build", "run")) depends_on("r-tmvnsim@1.0-2:", type=("build", "run"), when="@2.0.2") diff --git a/var/spack/repos/builtin/packages/r-modelmetrics/package.py b/var/spack/repos/builtin/packages/r-modelmetrics/package.py index 7cfe7a9e124b70..8c2d175f5a8f8f 100644 --- a/var/spack/repos/builtin/packages/r-modelmetrics/package.py +++ b/var/spack/repos/builtin/packages/r-modelmetrics/package.py @@ -20,6 +20,8 @@ class RModelmetrics(RPackage): version("1.2.0", sha256="3021ae88733695a35d66e279e8e61861431f14c9916a341f0a562f675cf6ede9") version("1.1.0", sha256="487d53fda57da4b29f83a927dda8b1ae6655ab044ee3eec33c38aeb27eed3d85") + depends_on("cxx", type="build") # generated + depends_on("r@3.2.2:", type=("build", "run")) depends_on("r-rcpp", type=("build", "run")) depends_on("r-data-table", type=("build", "run"), when="@1.2.0:") diff --git a/var/spack/repos/builtin/packages/r-mscoreutils/package.py b/var/spack/repos/builtin/packages/r-mscoreutils/package.py index 769d7528c6b3dc..c532fa691d0fca 100644 --- a/var/spack/repos/builtin/packages/r-mscoreutils/package.py +++ b/var/spack/repos/builtin/packages/r-mscoreutils/package.py @@ -24,6 +24,8 @@ class RMscoreutils(RPackage): version("1.8.0", commit="8b7e2c31009276aad0b418ba5cdfc94d03e1973e") version("1.6.0", commit="9ed95b2d20dacaa83567fadd04349c81db9127ef") + depends_on("c", type="build") # generated + depends_on("r@3.6.0:", type=("build", "run")) depends_on("r-s4vectors", type=("build", "run")) depends_on("r-mass", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-msnbase/package.py b/var/spack/repos/builtin/packages/r-msnbase/package.py index e7c550f9ca256f..bdbfd7b28eaa1c 100644 --- a/var/spack/repos/builtin/packages/r-msnbase/package.py +++ b/var/spack/repos/builtin/packages/r-msnbase/package.py @@ -26,6 +26,9 @@ class RMsnbase(RPackage): version("2.4.2", commit="c045d65daa730c7837852e6343a05cae9644ab5e") version("2.2.0", commit="d6e8fb7f106d05096fa9074da0f829ac8f02c197") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.1:", type=("build", "run")) depends_on("r@3.5:", type=("build", "run"), when="@2.16.1:") depends_on("r-biocgenerics@0.7.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-multtest/package.py b/var/spack/repos/builtin/packages/r-multtest/package.py index 6fa806025d26d8..3f60c5577ae7fc 100644 --- a/var/spack/repos/builtin/packages/r-multtest/package.py +++ b/var/spack/repos/builtin/packages/r-multtest/package.py @@ -40,6 +40,8 @@ class RMulttest(RPackage): version("2.34.0", commit="6ef873e05e6c93ede54f3421424f56eda057cd54") version("2.32.0", commit="c5e890dfbffcc3a3f107303a24b6085614312f4a") + depends_on("c", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r-biocgenerics", type=("build", "run")) depends_on("r-biobase", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-mzr/package.py b/var/spack/repos/builtin/packages/r-mzr/package.py index df724a5961390e..0ae7b4beecb465 100644 --- a/var/spack/repos/builtin/packages/r-mzr/package.py +++ b/var/spack/repos/builtin/packages/r-mzr/package.py @@ -30,6 +30,8 @@ class RMzr(RPackage): version("2.12.0", commit="f05eb27ae31c3d019cca10fc3b9ee513cbcdfc5a") version("2.10.0", commit="a6168b68e48c281e88de9647254a8db1e21df388") + depends_on("cxx", type="build") # generated + depends_on("r@4.0.0:", type=("build", "run"), when="@2.30.0:") depends_on("r-rcpp@0.10.1:", type=("build", "run")) depends_on("r-biobase", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-np/package.py b/var/spack/repos/builtin/packages/r-np/package.py index 2ba3eda569b288..7e8c0498cfe818 100644 --- a/var/spack/repos/builtin/packages/r-np/package.py +++ b/var/spack/repos/builtin/packages/r-np/package.py @@ -30,6 +30,8 @@ class RNp(RPackage): version("0.60-8", sha256="924c342feb2a862fa3871a45db5f8434dbbfb900cfc40c001a0872108a3a069e") version("0.60-2", sha256="25d667fc1056899516584b9d5d933377e6f4694d8e5e868dd047db572b69417f") + depends_on("c", type="build") # generated + depends_on("r-boot", type=("build", "run")) depends_on("r-cubature", type=("build", "run")) depends_on("r-quadprog", type=("build", "run"), when="@0.60-8:") diff --git a/var/spack/repos/builtin/packages/r-openxlsx/package.py b/var/spack/repos/builtin/packages/r-openxlsx/package.py index f16120e2579819..d9a311a07d2780 100644 --- a/var/spack/repos/builtin/packages/r-openxlsx/package.py +++ b/var/spack/repos/builtin/packages/r-openxlsx/package.py @@ -24,6 +24,8 @@ class ROpenxlsx(RPackage): version("4.2.3", sha256="cdef89d826e50bef772af3e5eae935ca0316626a6e22f55f7631eac733b5e46f") version("4.1.0.1", sha256="8b7011debe14714de035ef42797c8caa923162d5dc3cc3c2a299fc10eff3d4d1") + depends_on("cxx", type="build") # generated + depends_on("r@3.3.0:", type=("build", "run")) depends_on("r-stringi", type=("build", "run"), when="@4.2.3:") depends_on("r-zip", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-paramhelpers/package.py b/var/spack/repos/builtin/packages/r-paramhelpers/package.py index cde9476185829c..a4fd0660058570 100644 --- a/var/spack/repos/builtin/packages/r-paramhelpers/package.py +++ b/var/spack/repos/builtin/packages/r-paramhelpers/package.py @@ -24,6 +24,8 @@ class RParamhelpers(RPackage): version("1.11", sha256="1614f4c0842cf822befc01228ab7263417f3423dd6a1dc24347b14f8491637a0") version("1.10", sha256="80629ba62e93b0b706bf2e451578b94fbb9c5b95ff109ecfb5b011bfe0a0fa5b") + depends_on("c", type="build") # generated + depends_on("r-backports", type=("build", "run"), when="@1.11:") depends_on("r-bbmisc@1.10:", type=("build", "run")) depends_on("r-checkmate@1.8.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-partykit/package.py b/var/spack/repos/builtin/packages/r-partykit/package.py index fa35055cee0970..c65bd967e30c3f 100644 --- a/var/spack/repos/builtin/packages/r-partykit/package.py +++ b/var/spack/repos/builtin/packages/r-partykit/package.py @@ -33,6 +33,8 @@ class RPartykit(RPackage): version("1.2-3", sha256="56749b246e283f94ac2ad2cdcfc0a477e05cd44b5e8f6e462c26f4dff818da35") version("1.1-1", sha256="d9f4762690cd85ee4e3dc44f5a14069d10a1900afdfbcdc284d2a94b4a8e8332") + depends_on("c", type="build") # generated + depends_on("r@3.1.0:", type=("build", "run")) depends_on("r@3.5.0:", type=("build", "run"), when="@1.2-11:") depends_on("r-libcoin@1.0-0:", type=("build", "run"), when="@1.2-0:") diff --git a/var/spack/repos/builtin/packages/r-pbivnorm/package.py b/var/spack/repos/builtin/packages/r-pbivnorm/package.py index bd56dd5148dfcf..5a6594a8d09e18 100644 --- a/var/spack/repos/builtin/packages/r-pbivnorm/package.py +++ b/var/spack/repos/builtin/packages/r-pbivnorm/package.py @@ -17,3 +17,5 @@ class RPbivnorm(RPackage): license("GPL-2.0-or-later") version("0.6.0", sha256="07c37d507cb8f8d2d9ae51a9a6d44dfbebd8a53e93c242c4378eaddfb1cc5f16") + + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-pcamethods/package.py b/var/spack/repos/builtin/packages/r-pcamethods/package.py index 413fea97a9f355..fc8241adb5d9fa 100644 --- a/var/spack/repos/builtin/packages/r-pcamethods/package.py +++ b/var/spack/repos/builtin/packages/r-pcamethods/package.py @@ -34,6 +34,8 @@ class RPcamethods(RPackage): version("1.70.0", commit="3368fad48ea930775505fd26e4179d7714d633d8") version("1.68.0", commit="c8d7c93dcaf7ef728f3d089ae5d55771b320bdab") + depends_on("cxx", type="build") # generated + depends_on("r-biobase", type=("build", "run")) depends_on("r-biocgenerics", type=("build", "run")) depends_on("r-rcpp@0.11.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-phangorn/package.py b/var/spack/repos/builtin/packages/r-phangorn/package.py index c417b5662c3db4..08a9af61f886e0 100644 --- a/var/spack/repos/builtin/packages/r-phangorn/package.py +++ b/var/spack/repos/builtin/packages/r-phangorn/package.py @@ -26,6 +26,9 @@ class RPhangorn(RPackage): version("2.5.3", sha256="a306585a0aabe7360a2adaf9116ae2993fb5ceff641b198f2e01e4329d3768af") version("2.3.1", sha256="518c31f5b2c5f0a655d02a3c71b00c30caea2794dfc31f9d63f3d505bd7863eb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.2.0:", type=("build", "run")) depends_on("r@4.1.0:", type=("build", "run"), when="@2.8.1:") depends_on("r-digest", type=("build", "run"), when="@2.10.0:") diff --git a/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py b/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py index a9fcf1aa80aded..ff1d6269cefabc 100644 --- a/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py +++ b/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py @@ -18,6 +18,9 @@ class RPhantompeakqualtools(RPackage): version("1.14", sha256="d03be6163e82aed72298e54a92c181570f9975a395f57a69b21ac02b1001520b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost@1.41.0:") # TODO: replace this with an explicit list of components of Boost, diff --git a/var/spack/repos/builtin/packages/r-picante/package.py b/var/spack/repos/builtin/packages/r-picante/package.py index 0e5644de7074b3..5ab8c73e0dd08c 100644 --- a/var/spack/repos/builtin/packages/r-picante/package.py +++ b/var/spack/repos/builtin/packages/r-picante/package.py @@ -28,6 +28,8 @@ class RPicante(RPackage): version("1.6-2", sha256="4db3a5a0fe5e4e9197c96245195843294fbb8d0a324edcde70c6ab01276ab7ff") version("1.6-1", sha256="2708315b26737857a6729fd67bde06bc939930035c5b09a8bba472a593f24000") + depends_on("c", type="build") # generated + depends_on("r-ape", type=("build", "run")) depends_on("r-vegan", type=("build", "run")) depends_on("r-nlme", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-png/package.py b/var/spack/repos/builtin/packages/r-png/package.py index 41950df3dc5469..3780eab83a2ee6 100644 --- a/var/spack/repos/builtin/packages/r-png/package.py +++ b/var/spack/repos/builtin/packages/r-png/package.py @@ -20,5 +20,7 @@ class RPng(RPackage): version("0.1-8", sha256="5a36fabb6d62ba2533d3fc4cececd07891942cfb76fe689ec0d550d08762f61c") version("0.1-7", sha256="e269ff968f04384fc9421d17cfc7c10cf7756b11c2d6d126e9776f5aca65553c") + depends_on("c", type="build") # generated + depends_on("r@2.9.0:", type=("build", "run")) depends_on("libpng") diff --git a/var/spack/repos/builtin/packages/r-preprocesscore/package.py b/var/spack/repos/builtin/packages/r-preprocesscore/package.py index 080ff674cad4ba..11c9fb8484da6d 100644 --- a/var/spack/repos/builtin/packages/r-preprocesscore/package.py +++ b/var/spack/repos/builtin/packages/r-preprocesscore/package.py @@ -23,3 +23,5 @@ class RPreprocesscore(RPackage): version("1.42.0", commit="2e3a8baeacfaa1526d51252642772ea951015bba") version("1.40.0", commit="969bb0e5cbd63d569502ae4e6eaadc1e216646dd") version("1.38.1", commit="c58cb4c720eda0f1c733b989b14912093a7c5fbc") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-proxy/package.py b/var/spack/repos/builtin/packages/r-proxy/package.py index 52f3d7809fbbc7..6be53d753c8aa4 100644 --- a/var/spack/repos/builtin/packages/r-proxy/package.py +++ b/var/spack/repos/builtin/packages/r-proxy/package.py @@ -22,5 +22,7 @@ class RProxy(RPackage): version("0.4-23", sha256="9dd4eb0978f40e4fcb55c8a8a26266d32eff9c63ac9dfe70cf1f664ca9c3669d") version("0.4-19", sha256="6b27e275018366e6024382704da9a9757c8878535dbcd7d450824b70e2e34d51") + depends_on("c", type="build") # generated + depends_on("r@3.3.2:", type=("build", "run")) depends_on("r@3.4.0:", type=("build", "run"), when="@0.4-21:") diff --git a/var/spack/repos/builtin/packages/r-pryr/package.py b/var/spack/repos/builtin/packages/r-pryr/package.py index 80240fa83d64f0..7fa806f0e0d27e 100644 --- a/var/spack/repos/builtin/packages/r-pryr/package.py +++ b/var/spack/repos/builtin/packages/r-pryr/package.py @@ -23,6 +23,8 @@ class RPryr(RPackage): version("0.1.3", sha256="6acd88341dde4fe247a5cafd3949b281dc6742b7d60f68b57c1feb84b96739ac") version("0.1.2", sha256="65c2b7c9f96e2aa683ac9cdab3c215fd3039ecd66a2ba7002a8e77881428c3c6") + depends_on("cxx", type="build") # generated + depends_on("r@3.1.0:", type=("build", "run")) depends_on("r-stringr", type=("build", "run")) depends_on("r-codetools", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-ptw/package.py b/var/spack/repos/builtin/packages/r-ptw/package.py index 7d753a046706f1..6136284070ae55 100644 --- a/var/spack/repos/builtin/packages/r-ptw/package.py +++ b/var/spack/repos/builtin/packages/r-ptw/package.py @@ -30,5 +30,7 @@ class RPtw(RPackage): version("1.9-13", sha256="7855e74a167db3d3eba9df9d9c3daa25d7cf487cbcfe8b095f16d96eba862f46") version("1.9-12", sha256="cdb1752e04e661e379f11867b0a17e2177e9ee647c54bbcc37d39d6b8c062b84") + depends_on("c", type="build") # generated + depends_on("r-nloptr", type=("build", "run")) depends_on("r-rcppde", type=("build", "run"), when="@1.9-16:") diff --git a/var/spack/repos/builtin/packages/r-qqconf/package.py b/var/spack/repos/builtin/packages/r-qqconf/package.py index 1637124429addd..bf4658c6a71d6d 100644 --- a/var/spack/repos/builtin/packages/r-qqconf/package.py +++ b/var/spack/repos/builtin/packages/r-qqconf/package.py @@ -21,6 +21,8 @@ class RQqconf(RPackage): version("1.3.0", sha256="1c42ab81403568f3ad53217cc85190dad7c2fae957bfd0f0f30d57be0a065087") version("1.2.3", sha256="9b5b6042ea8e52e6e049807c0b5e3bfd534b624bd257be769de69cf505fece62") + depends_on("cxx", type="build") # generated + depends_on("r@3.0.0:", type=("build", "run")) depends_on("r@4.0.0:", type=("build", "run"), when="@1.3.0:") depends_on("r-mass@7.3-50:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-quadprog/package.py b/var/spack/repos/builtin/packages/r-quadprog/package.py index 91319e9e8f492d..d21581112927e6 100644 --- a/var/spack/repos/builtin/packages/r-quadprog/package.py +++ b/var/spack/repos/builtin/packages/r-quadprog/package.py @@ -21,4 +21,7 @@ class RQuadprog(RPackage): version("1.5-6", sha256="1443e5ffdf884b13dd454e4f6aa260fce6ec47e6845d85b62238c206ce57dcba") version("1.5-5", sha256="d999620688354c283de5bb305203f5db70271b4dfdc23577cae8c2ba94c9e349") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r@3.1.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-randomforest/package.py b/var/spack/repos/builtin/packages/r-randomforest/package.py index 5349bc60c23864..2c8eff647bd659 100644 --- a/var/spack/repos/builtin/packages/r-randomforest/package.py +++ b/var/spack/repos/builtin/packages/r-randomforest/package.py @@ -20,6 +20,9 @@ class RRandomforest(RPackage): version("4.6-14", sha256="f4b88920419eb0a89d0bc5744af0416d92d112988702dc726882394128a8754d") version("4.6-12", sha256="6e512f8f88a51c01a918360acba61f1f39432f6e690bc231b7864218558b83c4") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r@2.5.0:", type=("build", "run")) depends_on("r@3.2.2:", type=("build", "run"), when="@4.6-14:") depends_on("r@4.1.0:", type=("build", "run"), when="@4.7-1.1:") diff --git a/var/spack/repos/builtin/packages/r-rann/package.py b/var/spack/repos/builtin/packages/r-rann/package.py index b09253a0a3847e..f940d9e2cff4a7 100644 --- a/var/spack/repos/builtin/packages/r-rann/package.py +++ b/var/spack/repos/builtin/packages/r-rann/package.py @@ -19,3 +19,6 @@ class RRann(RPackage): cran = "RANN" version("2.6.1", sha256="b299c3dfb7be17aa41e66eff5674fddd2992fb6dd3b10bc59ffbf0c401697182") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-rappdirs/package.py b/var/spack/repos/builtin/packages/r-rappdirs/package.py index da734837889fe2..2e829111d035f4 100644 --- a/var/spack/repos/builtin/packages/r-rappdirs/package.py +++ b/var/spack/repos/builtin/packages/r-rappdirs/package.py @@ -20,5 +20,7 @@ class RRappdirs(RPackage): version("0.3.3", sha256="49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184") version("0.3.1", sha256="2fd891ec16d28862f65bb57e4a78f77a597930abb59380e757afd8b6c6d3264a") + depends_on("c", type="build") # generated + depends_on("r@2.14:", type=("build", "run")) depends_on("r@3.2:", type=("build", "run"), when="@0.3.2:") diff --git a/var/spack/repos/builtin/packages/r-rbgl/package.py b/var/spack/repos/builtin/packages/r-rbgl/package.py index 4807eb795d5ead..09aaa528737476 100644 --- a/var/spack/repos/builtin/packages/r-rbgl/package.py +++ b/var/spack/repos/builtin/packages/r-rbgl/package.py @@ -27,5 +27,7 @@ class RRbgl(RPackage): version("1.54.0", commit="e9c743d380e83c155495cb8732102f01f213c905") version("1.52.0", commit="93e8fcfafec8f1cd5638fe30dc0f9506d15b49c0") + depends_on("cxx", type="build") # generated + depends_on("r-graph", type=("build", "run")) depends_on("r-bh", type=("build", "run"), when="@1.60.0:") diff --git a/var/spack/repos/builtin/packages/r-rcpp/package.py b/var/spack/repos/builtin/packages/r-rcpp/package.py index ad637c88b99f44..f6e52df3a1cf6d 100644 --- a/var/spack/repos/builtin/packages/r-rcpp/package.py +++ b/var/spack/repos/builtin/packages/r-rcpp/package.py @@ -47,6 +47,9 @@ class RRcpp(RPackage): version("0.12.6", sha256="1bb54e03b817a3d6ab5917f1bbf5250c6b33f61e466628a378022ed65a010141") version("0.12.5", sha256="13449481c91b5271b34d81f462864864c1905bb05021781eee11c36fdafa80ef") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # leave the r dependency also for newer versions # (not listed in Description for @1.0.5:) depends_on("r@3.0.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rcppcctz/package.py b/var/spack/repos/builtin/packages/r-rcppcctz/package.py index 6858c016212411..da5445c13f76c2 100644 --- a/var/spack/repos/builtin/packages/r-rcppcctz/package.py +++ b/var/spack/repos/builtin/packages/r-rcppcctz/package.py @@ -25,4 +25,6 @@ class RRcppcctz(RPackage): version("0.2.4", sha256="98b6867d38abe03957fe803e88b6cc2d122b85a68ef07fa86f7e1009d6c00819") version("0.2.3", sha256="0fefcc98387b2c1a5907e5230babb46e2cc11b603424f458f515e445a3236031") + depends_on("cxx", type="build") # generated + depends_on("r-rcpp@0.11.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rcppdate/package.py b/var/spack/repos/builtin/packages/r-rcppdate/package.py index 8135cc8a8232de..ec3c7e4914662e 100644 --- a/var/spack/repos/builtin/packages/r-rcppdate/package.py +++ b/var/spack/repos/builtin/packages/r-rcppdate/package.py @@ -23,3 +23,5 @@ class RRcppdate(RPackage): version("0.0.3", sha256="9c5ee7cf76d63cd51e8faff831f5f865762868d7d705395960c0f22e9b238bdb") version("0.0.1", sha256="117721fc677dfb4209200a7ff894fbbb8ee1b652d01b3878b11c3253733b4a5f") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-rcppde/package.py b/var/spack/repos/builtin/packages/r-rcppde/package.py index 25680af5618d8d..351c87ca7f49bd 100644 --- a/var/spack/repos/builtin/packages/r-rcppde/package.py +++ b/var/spack/repos/builtin/packages/r-rcppde/package.py @@ -23,5 +23,7 @@ class RRcppde(RPackage): version("0.1.7", sha256="4a238ee97e574cb44b12e4962b9927dd811f087fc13fc777637ec6fe12bd86a0") version("0.1.6", sha256="c9386709f72cdc33505b3ac675c173013fe098434b7c21bc09eb625b529132c5") + depends_on("cxx", type="build") # generated + depends_on("r-rcpp", type=("build", "run")) depends_on("r-rcpparmadillo", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rcppgsl/package.py b/var/spack/repos/builtin/packages/r-rcppgsl/package.py index 27e486c3104edd..23487f0d088cac 100644 --- a/var/spack/repos/builtin/packages/r-rcppgsl/package.py +++ b/var/spack/repos/builtin/packages/r-rcppgsl/package.py @@ -29,5 +29,8 @@ class RRcppgsl(RPackage): version("0.3.11", sha256="f094ea26c99b04d9e203986a1f2003f02472ceca0e2ef1c3beefd3ae80aeada8") version("0.3.10", sha256="8612087da02fb791f427fed310c23d0482a8eb60fb089119f018878143f95451") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r-rcpp@0.11.0:", type=("build", "run")) depends_on("gsl") diff --git a/var/spack/repos/builtin/packages/r-rcppml/package.py b/var/spack/repos/builtin/packages/r-rcppml/package.py index 7f986444e6c67a..2bf3bc249e0b21 100644 --- a/var/spack/repos/builtin/packages/r-rcppml/package.py +++ b/var/spack/repos/builtin/packages/r-rcppml/package.py @@ -16,6 +16,8 @@ class RRcppml(RPackage): version("0.3.7", sha256="325c6515085527eb9123cc5e87e028547065771ed4d623048f41886ae28908c6") + depends_on("cxx", type="build") # generated + depends_on("r-rcpp", type=("build", "run")) depends_on("r-matrix", type=("build", "run")) depends_on("r-rcppeigen", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rcppprogress/package.py b/var/spack/repos/builtin/packages/r-rcppprogress/package.py index 115f7978c43a90..9693b278bcf7c6 100644 --- a/var/spack/repos/builtin/packages/r-rcppprogress/package.py +++ b/var/spack/repos/builtin/packages/r-rcppprogress/package.py @@ -23,4 +23,6 @@ class RRcppprogress(RPackage): version("0.2", sha256="ca32624739058f1b5aab18b09dc4c613ecfd18a3ace39f3b97790232db829481") version("0.1", sha256="04f71d3391b7dfab997afadf7ffdd87b88037f7fbc751bea544ad2a65e2872bf") + depends_on("cxx", type="build") # generated + depends_on("r-rcpp@0.9.4:", type=("build", "run"), when="@:0.4") diff --git a/var/spack/repos/builtin/packages/r-rcpptoml/package.py b/var/spack/repos/builtin/packages/r-rcpptoml/package.py index 78954874e32375..ccb7b5be6eb94a 100644 --- a/var/spack/repos/builtin/packages/r-rcpptoml/package.py +++ b/var/spack/repos/builtin/packages/r-rcpptoml/package.py @@ -22,5 +22,7 @@ class RRcpptoml(RPackage): version("0.2.2", sha256="371391f9ca82221e76a424082ea9ebc5ea2c50f14e8408469b09d7dc3e6f63aa") version("0.1.7", sha256="2f09f00cbee6c6eeff5d5f0195c10de0155496de15fbe8189c18627ee3090541") + depends_on("cxx", type="build") # generated + depends_on("r@3.3.0:", type=("build", "run")) depends_on("r-rcpp@0.11.5:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rcppziggurat/package.py b/var/spack/repos/builtin/packages/r-rcppziggurat/package.py index 5b10ed4f15aafe..e261a2745cccb3 100644 --- a/var/spack/repos/builtin/packages/r-rcppziggurat/package.py +++ b/var/spack/repos/builtin/packages/r-rcppziggurat/package.py @@ -20,6 +20,9 @@ class RRcppziggurat(RPackage): version("0.1.6", sha256="9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r-rcpp", type=("build", "run")) depends_on("r-rcppgsl", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-reshape2/package.py b/var/spack/repos/builtin/packages/r-reshape2/package.py index 713f78c9d2ad52..eff1aeeafee538 100644 --- a/var/spack/repos/builtin/packages/r-reshape2/package.py +++ b/var/spack/repos/builtin/packages/r-reshape2/package.py @@ -21,6 +21,8 @@ class RReshape2(RPackage): version("1.4.2", sha256="6d3783610379be4c5676d9236cf66276a166b5b96c18f2759e9b219758959b6b") version("1.4.1", sha256="fbd49f75a5b0b7266378515af98db310cf6c772bf6e68bed01f38ee99b408042") + depends_on("cxx", type="build") # generated + depends_on("r@3.1:", type=("build", "run"), when="@1.4.3:") depends_on("r-plyr@1.8.1:", type=("build", "run")) depends_on("r-rcpp", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-restfulr/package.py b/var/spack/repos/builtin/packages/r-restfulr/package.py index d325d585dcb3f3..499f102c541c2d 100644 --- a/var/spack/repos/builtin/packages/r-restfulr/package.py +++ b/var/spack/repos/builtin/packages/r-restfulr/package.py @@ -18,6 +18,8 @@ class RRestfulr(RPackage): version("0.0.15", sha256="40ff8f1fb2987af2223e1a855bb1680c5ce2143fbce7ebc42f1edb291f80e692") version("0.0.13", sha256="7b59f5887aaf02f46a80617f4d1e0ffd4e11e4840e9e2fbd486a9a9c7f2d64b6") + depends_on("c", type="build") # generated + depends_on("r@3.4.0:", type=("build", "run")) depends_on("r-xml", type=("build", "run")) depends_on("r-rcurl", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rferns/package.py b/var/spack/repos/builtin/packages/r-rferns/package.py index 8dcaeff9c0ad5e..20d67a8e0c8320 100644 --- a/var/spack/repos/builtin/packages/r-rferns/package.py +++ b/var/spack/repos/builtin/packages/r-rferns/package.py @@ -19,3 +19,5 @@ class RRferns(RPackage): version("5.0.0", sha256="78da671e18dc1fb499eddcc6db7eedd69cef673ba0b46c873bd95615cbb583fb") version("4.0.0", sha256="cc8cea0893390bf5db0fb0f59748d5bf6f29537d68bedca900268fd551489128") version("3.0.0", sha256="35e7e31a6497e415a0fe578678cf9b2f537b21319e4c015a1e2dade00310227c") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-rgraphviz/package.py b/var/spack/repos/builtin/packages/r-rgraphviz/package.py index eb0fb02104432b..a5266eb9121db1 100644 --- a/var/spack/repos/builtin/packages/r-rgraphviz/package.py +++ b/var/spack/repos/builtin/packages/r-rgraphviz/package.py @@ -25,6 +25,9 @@ class RRgraphviz(RPackage): version("2.22.0", commit="5b8ebbf9b38574c08959dd4632e802b3fbccc121") version("2.20.0", commit="eface6298150667bb22eac672f1a45e52fbf8c90") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r+X", type=("build", "run")) depends_on("r@2.6.0:", type=("build", "run")) depends_on("r-graph", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rhdf5/package.py b/var/spack/repos/builtin/packages/r-rhdf5/package.py index a312524388e8ea..43f1f23795ed0e 100644 --- a/var/spack/repos/builtin/packages/r-rhdf5/package.py +++ b/var/spack/repos/builtin/packages/r-rhdf5/package.py @@ -30,6 +30,9 @@ class RRhdf5(RPackage): version("2.22.0", commit="4431bdc0a2bcbb8086ee08a0f2300129b808d1be") version("2.20.0", commit="37b5165325062728bbec9167f89f5f4b794f30bc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.5.0:", type=("build", "run"), when="@2.26.2:") depends_on("r@4.0.0:", type=("build", "run"), when="@2.38.0:") depends_on("r-rhdf5lib", type=("build", "run"), when="@2.24.0:") diff --git a/var/spack/repos/builtin/packages/r-rhdf5filters/package.py b/var/spack/repos/builtin/packages/r-rhdf5filters/package.py index 560cf9dba4a4f5..06153a6dcc9528 100644 --- a/var/spack/repos/builtin/packages/r-rhdf5filters/package.py +++ b/var/spack/repos/builtin/packages/r-rhdf5filters/package.py @@ -21,6 +21,9 @@ class RRhdf5filters(RPackage): version("1.6.0", commit="5f7f3a5b7dabd6e7d0c50cda70290e2472ff4f53") version("1.2.0", commit="25af0180f926b4b3ea11b30ec9277d26ad3d56b3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r-rhdf5lib", type=("build", "run")) depends_on("gmake", type="build") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/r-rhdf5lib/package.py b/var/spack/repos/builtin/packages/r-rhdf5lib/package.py index 05433c61ef7617..382396126ad306 100644 --- a/var/spack/repos/builtin/packages/r-rhdf5lib/package.py +++ b/var/spack/repos/builtin/packages/r-rhdf5lib/package.py @@ -23,6 +23,8 @@ class RRhdf5lib(RPackage): version("1.2.1", commit="dbf85dbedb736d5a696794d52875729c8514494e") version("1.0.0", commit="79608038c2016a518ba747fe6a2bf02ce53a75f9") + depends_on("c", type="build") # generated + depends_on("r@3.3.0:", type="build", when="@1.12.1:") depends_on("r@4.0.0:", type="build", when="@1.16.0:") depends_on("r@4.2.0:", type=("build", "run"), when="@1.22.0:") diff --git a/var/spack/repos/builtin/packages/r-rhtslib/package.py b/var/spack/repos/builtin/packages/r-rhtslib/package.py index 8f2896c7b6acf8..96726aade7fd3b 100644 --- a/var/spack/repos/builtin/packages/r-rhtslib/package.py +++ b/var/spack/repos/builtin/packages/r-rhtslib/package.py @@ -38,6 +38,8 @@ class RRhtslib(RPackage): version("1.10.0", commit="53dcf7dfe35d735283956c77c011a97ca3f4eb26") version("1.8.0", commit="3b5493473bed42958614091c58c739932ffcfa79") + depends_on("c", type="build") # generated + depends_on("r-zlibbioc", type=("build", "run")) depends_on("bzip2", type=("build", "link", "run")) depends_on("xz", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/r-rinside/package.py b/var/spack/repos/builtin/packages/r-rinside/package.py index b2f222bdd11828..693d8ea3861459 100644 --- a/var/spack/repos/builtin/packages/r-rinside/package.py +++ b/var/spack/repos/builtin/packages/r-rinside/package.py @@ -33,4 +33,7 @@ class RRinside(RPackage): version("0.2.14", sha256="8de5340993fe879ca00fa559c5b1b27b408ba78bfc5f67d36d6f0b8d8e8649cf") version("0.2.13", sha256="be1da861f4f8c1292f0691bce05978e409a081f24ad6006ae173a6a89aa4d031") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r-rcpp", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rjson/package.py b/var/spack/repos/builtin/packages/r-rjson/package.py index d45011509d2b76..55bfe6a4af01a5 100644 --- a/var/spack/repos/builtin/packages/r-rjson/package.py +++ b/var/spack/repos/builtin/packages/r-rjson/package.py @@ -20,5 +20,8 @@ class RRjson(RPackage): version("0.2.19", sha256="5c2672461986f2b715416cab92ed262abe9875f31299bc8a1a072ef7c6dd49bc") version("0.2.15", sha256="77d00d8f6a1c936329b46f3b8b0be79a165f8c5f1989497f942ecc53dcf6f2ef") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.1.0:", type=("build", "run")) depends_on("r@4.0.0:", type=("build", "run"), when="@0.2.21:") diff --git a/var/spack/repos/builtin/packages/r-rle/package.py b/var/spack/repos/builtin/packages/r-rle/package.py index 60b2088e53da6c..5623401066f77c 100644 --- a/var/spack/repos/builtin/packages/r-rle/package.py +++ b/var/spack/repos/builtin/packages/r-rle/package.py @@ -18,4 +18,6 @@ class RRle(RPackage): version("0.9.2", sha256="803cbe310af6e882e27be61d37d660dbe5910ac1ee1eff61a480bcf724a04f69") + depends_on("c", type="build") # generated + depends_on("r@3.5:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rmutil/package.py b/var/spack/repos/builtin/packages/r-rmutil/package.py index 9405ff6fbc8877..bff73411916c3a 100644 --- a/var/spack/repos/builtin/packages/r-rmutil/package.py +++ b/var/spack/repos/builtin/packages/r-rmutil/package.py @@ -23,4 +23,7 @@ class RRmutil(RPackage): version("1.1.5", sha256="6077e643d6daeba6edcf49d928320b54cc6aa6ff59934f9e9e6071a2f9afb2f6") version("1.1.3", sha256="7abaf41e99d1c4a0e4082c4594964ac1421c53b4268116c82fa55aa8bc0582da") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r@1.4:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rnaseqmap/package.py b/var/spack/repos/builtin/packages/r-rnaseqmap/package.py index 6f9cadba5d3e1f..82256402c2c9f7 100644 --- a/var/spack/repos/builtin/packages/r-rnaseqmap/package.py +++ b/var/spack/repos/builtin/packages/r-rnaseqmap/package.py @@ -22,6 +22,8 @@ class RRnaseqmap(RPackage): version("2.36.0", commit="69c46fa467be0ac30776ede85a521f7622539b7e") version("2.34.0", commit="7881bc00600ed824ac437edf3cfba35573261e46") + depends_on("c", type="build") # generated + depends_on("r@2.11.0:", type=("build", "run")) depends_on("r-biobase", type=("build", "run")) depends_on("r-rsamtools", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rncl/package.py b/var/spack/repos/builtin/packages/r-rncl/package.py index 7fef555fec1cd3..fde4673d6c8dfd 100644 --- a/var/spack/repos/builtin/packages/r-rncl/package.py +++ b/var/spack/repos/builtin/packages/r-rncl/package.py @@ -23,6 +23,9 @@ class RRncl(RPackage): version("0.8.6", sha256="fcc972c04fb43ace0876eb640a6433caddf6ec8304f7ceee37107d812ce68ffb") version("0.8.4", sha256="6b19d0dd9bb08ecf99766be5ad684bcd1894d1cd9291230bdd709dbd3396496b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.1.1:", type=("build", "run")) depends_on("r-rcpp@0.11.0:", type=("build", "run")) depends_on("r-progress@1.1.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-roc/package.py b/var/spack/repos/builtin/packages/r-roc/package.py index 35d02e07bde02d..a56f672ff2f12a 100644 --- a/var/spack/repos/builtin/packages/r-roc/package.py +++ b/var/spack/repos/builtin/packages/r-roc/package.py @@ -20,5 +20,7 @@ class RRoc(RPackage): version("1.66.0", commit="62701ee41f48f99d15344127384fa032db69486f") version("1.62.0", commit="60250fdb091f6a938709b8a2cffe6442ee22a9a2") + depends_on("cxx", type="build") # generated + depends_on("r@1.9.0:", type=("build", "run")) depends_on("r-knitr", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rook/package.py b/var/spack/repos/builtin/packages/r-rook/package.py index a7ccc3e09485cd..4abc733ae3b72b 100644 --- a/var/spack/repos/builtin/packages/r-rook/package.py +++ b/var/spack/repos/builtin/packages/r-rook/package.py @@ -18,5 +18,7 @@ class RRook(RPackage): version("1.2", sha256="c79ae4b5164daffd4e7cf74bd23c1b08a3948bf343dfe9570d57f39cbf8e5f62") version("1.1-1", sha256="00f4ecfa4c5c57018acbb749080c07154549a6ecaa8d4130dd9de79427504903") + depends_on("c", type="build") # generated + depends_on("r@2.13.0:", type=("build", "run")) depends_on("r-brew", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rots/package.py b/var/spack/repos/builtin/packages/r-rots/package.py index d85b123da8d838..0aef4000837d5c 100644 --- a/var/spack/repos/builtin/packages/r-rots/package.py +++ b/var/spack/repos/builtin/packages/r-rots/package.py @@ -25,6 +25,8 @@ class RRots(RPackage): version("1.6.0", commit="3567ac1142ba97770b701ee8e5f9e3e6c781bd56") version("1.4.0", commit="2e656514a4bf5a837ee6e14ce9b28a61dab955e7") + depends_on("cxx", type="build") # generated + depends_on("r@3.3:", type=("build", "run")) depends_on("r-rcpp", type=("build", "run")) depends_on("r-biobase", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rsamtools/package.py b/var/spack/repos/builtin/packages/r-rsamtools/package.py index 60489b90021b31..6ce8eae4892fcd 100644 --- a/var/spack/repos/builtin/packages/r-rsamtools/package.py +++ b/var/spack/repos/builtin/packages/r-rsamtools/package.py @@ -31,6 +31,9 @@ class RRsamtools(RPackage): version("1.30.0", commit="61b365fe3762e796b3808cec7238944b7f68d7a6") version("1.28.0", commit="dfa5b6abef68175586f21add7927174786412472") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.5.0:", type=("build", "run"), when="@2.10.0:") depends_on("r-genomeinfodb@1.1.3:", type=("build", "run")) depends_on("r-genomicranges@1.21.6:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rspectra/package.py b/var/spack/repos/builtin/packages/r-rspectra/package.py index 93fe03871aa62b..76a264fd1cf995 100644 --- a/var/spack/repos/builtin/packages/r-rspectra/package.py +++ b/var/spack/repos/builtin/packages/r-rspectra/package.py @@ -26,6 +26,9 @@ class RRspectra(RPackage): version("0.16-0", sha256="aaf1cfc9ffe3a4c6684247899924e1c18306971dfef4bae1dc596a2fb42a64a9") version("0.15-0", sha256="1ad5698201007044a0420cb10b7c48e94312a8a1d22b9d946d5de1c6743969a9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.0.2:", type=("build", "run")) depends_on("r-matrix@1.1-0:", type=("build", "run")) depends_on("r-rcpp@0.11.5:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rsubread/package.py b/var/spack/repos/builtin/packages/r-rsubread/package.py index 2b6ba1166d70c6..6f867a3e010afa 100644 --- a/var/spack/repos/builtin/packages/r-rsubread/package.py +++ b/var/spack/repos/builtin/packages/r-rsubread/package.py @@ -14,6 +14,8 @@ class RRsubread(RPackage): version("2.16.0", commit="62b92c9ed3fc2be89ed9f29e3db1809d1e115dbc") version("2.14.2", commit="863bd98c6523b888da59335a6acb516d2676d412") + depends_on("c", type="build") # generated + depends_on("r", type=("build", "run")) depends_on("r-matrix", type=("build", "run")) depends_on("r-r-utils", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rtracklayer/package.py b/var/spack/repos/builtin/packages/r-rtracklayer/package.py index 3acc58d1c71446..7e2d1b42711a63 100644 --- a/var/spack/repos/builtin/packages/r-rtracklayer/package.py +++ b/var/spack/repos/builtin/packages/r-rtracklayer/package.py @@ -30,6 +30,8 @@ class RRtracklayer(RPackage): version("1.38.3", commit="f20db703c09dc7e808c09e9b78c15aec9e546248") version("1.36.6", commit="8c0ac7230f94e0c5a981acbb178c8de70e968131") + depends_on("c", type="build") # generated + depends_on("r@3.3:", type=("build", "run")) depends_on("r-genomicranges@1.21.20:", type=("build", "run")) depends_on("r-genomicranges@1.37.2:", type=("build", "run"), when="@1.50.0:") diff --git a/var/spack/repos/builtin/packages/r-ruv/package.py b/var/spack/repos/builtin/packages/r-ruv/package.py index 8abccd4aae4ebf..fc18dfdc1c7ebe 100644 --- a/var/spack/repos/builtin/packages/r-ruv/package.py +++ b/var/spack/repos/builtin/packages/r-ruv/package.py @@ -28,6 +28,8 @@ class RRuv(RPackage): version("0.9.7.1", sha256="a0c54e56ba3d8f6ae178ae4d0e417a79295abf5dcb68bbae26c4b874734d98d8") + depends_on("c", type="build") # generated + depends_on("r-ggplot2", type=("build", "run")) depends_on("r-scales", type=("build", "run")) depends_on("r-gridextra", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-rviennacl/package.py b/var/spack/repos/builtin/packages/r-rviennacl/package.py index 78f4f5e32c0635..c12caca3bd72b9 100644 --- a/var/spack/repos/builtin/packages/r-rviennacl/package.py +++ b/var/spack/repos/builtin/packages/r-rviennacl/package.py @@ -20,3 +20,5 @@ class RRviennacl(RPackage): cran = "RViennaCL" version("1.7.1.8", sha256="adcc74537337582153d5b11d281e391e91a7f3afae116aa1b9a034ffd11b0252") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-s4vectors/package.py b/var/spack/repos/builtin/packages/r-s4vectors/package.py index 1527b55ca7dd3f..7a8760619591f6 100644 --- a/var/spack/repos/builtin/packages/r-s4vectors/package.py +++ b/var/spack/repos/builtin/packages/r-s4vectors/package.py @@ -32,6 +32,8 @@ class RS4vectors(RPackage): version("0.16.0", commit="00fec03fcbcb7cff37917fab0da28d91fdf9dc3d") version("0.14.7", commit="40af17fe0b8e93b6a72fc787540d2961773b8e23") + depends_on("c", type="build") # generated + depends_on("r@3.3.0:", type=("build", "run")) depends_on("r@4.0.0:", type=("build", "run"), when="@0.28.1:") depends_on("r-biocgenerics@0.21.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-samr/package.py b/var/spack/repos/builtin/packages/r-samr/package.py index fe5d05918a5bce..fbbcf2b6c450d8 100644 --- a/var/spack/repos/builtin/packages/r-samr/package.py +++ b/var/spack/repos/builtin/packages/r-samr/package.py @@ -19,6 +19,9 @@ class RSamr(RPackage): version("3.0", sha256="25f88ac002c2adce8881a562241bc12d683810a05defb553e8e3d4878f037506") version("2.0", sha256="090b5becd91d60f4bb8269df5c9bc19a03c09917d327b28e75b0ee7b80624e67") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r-impute", type=("build", "run")) depends_on("r-matrixstats", type=("build", "run")) depends_on("r-shiny", type=("build", "run"), when="@3.0:") diff --git a/var/spack/repos/builtin/packages/r-scran/package.py b/var/spack/repos/builtin/packages/r-scran/package.py index 494607b9525140..84ce4cb73beb74 100644 --- a/var/spack/repos/builtin/packages/r-scran/package.py +++ b/var/spack/repos/builtin/packages/r-scran/package.py @@ -22,6 +22,8 @@ class RScran(RPackage): version("1.24.1", commit="1a83eb7c948b1dc49253080c23b26cefb3a0f3b9") version("1.24.0", commit="c3f9e169c4538ce827d4f14a4141571c2366cd31") + depends_on("cxx", type="build") # generated + depends_on("r-singlecellexperiment", type=("build", "run")) depends_on("r-scuttle", type=("build", "run")) depends_on("r-summarizedexperiment", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-scs/package.py b/var/spack/repos/builtin/packages/r-scs/package.py index c6f31f98e0fd17..3055748a612847 100644 --- a/var/spack/repos/builtin/packages/r-scs/package.py +++ b/var/spack/repos/builtin/packages/r-scs/package.py @@ -25,5 +25,7 @@ class RScs(RPackage): version("3.2.4", sha256="c3f39874bf4532fa8c2f2e2c41533ba4fe20b61cf6dfc6314407dc981621298f") version("3.0-1", sha256="d6881eeec7282f8bfbf60847327786e7f90299e4b8c0b084d8bd11fec7705913") + depends_on("c", type="build") # generated + depends_on("r@3.5.0:", type=("build", "run")) depends_on("gmake", type="build") diff --git a/var/spack/repos/builtin/packages/r-scuttle/package.py b/var/spack/repos/builtin/packages/r-scuttle/package.py index 42e8ac5e8fa5f0..48f4b0e58f942a 100644 --- a/var/spack/repos/builtin/packages/r-scuttle/package.py +++ b/var/spack/repos/builtin/packages/r-scuttle/package.py @@ -23,6 +23,8 @@ class RScuttle(RPackage): version("1.4.0", commit="b335263dd56bb859b5dd3ea27ee00dffa0215313") version("1.0.4", commit="a827e2759d80e6c3510e2f8fd4bd680274206d9f") + depends_on("cxx", type="build") # generated + depends_on("r-singlecellexperiment", type=("build", "run")) depends_on("r-matrix", type=("build", "run")) depends_on("r-rcpp", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-shiny/package.py b/var/spack/repos/builtin/packages/r-shiny/package.py index b969837c621cae..91acdf5b46587f 100644 --- a/var/spack/repos/builtin/packages/r-shiny/package.py +++ b/var/spack/repos/builtin/packages/r-shiny/package.py @@ -18,6 +18,7 @@ class RShiny(RPackage): license("GPL-3.0-only OR custom") + version("1.8.1.1", sha256="a38d5fb5d750e2c2091ce9101f138c1f9bc7009bbb195227a3519c5d97e36753") version("1.7.4", sha256="bbfcdd7375013b8f59248b3f3f4e752acd445feb25179f3f7f65cd69614da4b5") version("1.7.3", sha256="b8ca9a39fa69ea9b270a7e9037198d95122c79bd493b865d909d343dd3523ada") version("1.7.2", sha256="23b5bfee8d597b4147e07c89391a735361cd9f69abeecfd9bd38a14d35fe6252") @@ -51,12 +52,13 @@ class RShiny(RPackage): depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@1.7.1:") depends_on("r-fastmap@1.0.0:", type=("build", "run"), when="@1.5.0:") depends_on("r-fastmap@1.1.0:", type=("build", "run"), when="@1.7.1:") + depends_on("r-fastmap@1.1.1:", type=("build", "run"), when="@1.7.5:") depends_on("r-withr", type=("build", "run"), when="@1.5.0:") depends_on("r-commonmark@1.7:", type=("build", "run"), when="@1.5.0:") depends_on("r-glue@1.3.2:", type=("build", "run"), when="@1.5.0:") depends_on("r-bslib@0.3.0:", type=("build", "run"), when="@1.7.1:") depends_on("r-cachem", type=("build", "run"), when="@1.7.1:") - depends_on("r-ellipsis", type=("build", "run"), when="@1.7.1:") depends_on("r-lifecycle@0.2.0:", type=("build", "run"), when="@1.7.1:") depends_on("r-digest", type=("build", "run"), when="@:1.5.0") + depends_on("r-ellipsis", type=("build", "run"), when="@1.7.1:1.8.0") diff --git a/var/spack/repos/builtin/packages/r-shortread/package.py b/var/spack/repos/builtin/packages/r-shortread/package.py index da27db85af7190..c23df0d017b068 100644 --- a/var/spack/repos/builtin/packages/r-shortread/package.py +++ b/var/spack/repos/builtin/packages/r-shortread/package.py @@ -29,6 +29,9 @@ class RShortread(RPackage): version("1.36.1", commit="176c34eddf4a416d30c69cb4ac197141ba42e66f") version("1.34.2", commit="25daac63b301df66a8ef6e98cc2977522c6786cd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r-biocgenerics@0.22.1:", type=("build", "run")) depends_on("r-biocgenerics@0.23.3:", type=("build", "run"), when="@1.36.1:") depends_on("r-biocparallel", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-simpleaffy/package.py b/var/spack/repos/builtin/packages/r-simpleaffy/package.py index d56ef2989372a8..005c2ffc062a8e 100644 --- a/var/spack/repos/builtin/packages/r-simpleaffy/package.py +++ b/var/spack/repos/builtin/packages/r-simpleaffy/package.py @@ -26,6 +26,8 @@ class RSimpleaffy(RPackage): version("2.54.0", commit="6876e028d412b14504ad3915cbec1a189e9c6478") version("2.52.0", commit="f2b43fb9b8e6fa4c03fe28b4efb3144a0a42a385") + depends_on("c", type="build") # generated + depends_on("r@2.0.0:", type=("build", "run")) depends_on("r-biocgenerics@0.1.12:", type=("build", "run")) depends_on("r-biobase", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-sitmo/package.py b/var/spack/repos/builtin/packages/r-sitmo/package.py index 09de1b2c2a9797..6d40cc9fd73056 100644 --- a/var/spack/repos/builtin/packages/r-sitmo/package.py +++ b/var/spack/repos/builtin/packages/r-sitmo/package.py @@ -26,5 +26,7 @@ class RSitmo(RPackage): version("2.0.2", sha256="448ef8d56e36783354011845daf33f1efb83ea3b9685eea75eaf5134e24fa8c2") version("2.0.1", sha256="0c90d357af334d5c99c8956739dc12623ddd87dda5efa59f4a43f7393c87ed2a") + depends_on("cxx", type="build") # generated + depends_on("r@3.2.0:", type=("build", "run")) depends_on("r-rcpp@0.12.13:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-smoof/package.py b/var/spack/repos/builtin/packages/r-smoof/package.py index 6a3144ec782348..fb1262b617ccba 100644 --- a/var/spack/repos/builtin/packages/r-smoof/package.py +++ b/var/spack/repos/builtin/packages/r-smoof/package.py @@ -24,6 +24,9 @@ class RSmoof(RPackage): version("1.5.1", sha256="cfb6f6460e9593351428656b225b5ba3867a216d35a05f2babdb20db6ba35306") version("1.5", sha256="9b73ad5bfc8e1120c9651539ea52b1468f316cc7fc5fef8afd6d357adf01504c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r+X", type=("build", "run")) depends_on("r-paramhelpers@1.8:", type=("build", "run")) depends_on("r-checkmate@1.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-snprelate/package.py b/var/spack/repos/builtin/packages/r-snprelate/package.py index 5ce53283911787..18d57ae809f69f 100644 --- a/var/spack/repos/builtin/packages/r-snprelate/package.py +++ b/var/spack/repos/builtin/packages/r-snprelate/package.py @@ -40,5 +40,8 @@ class RSnprelate(RPackage): version("1.12.2", commit="dce2e2b6f36483a9f905bb5df6ae834a9f1136fe") version("1.10.2", commit="3f5c4010871df742e7a460586b38ad0c2fd37aeb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@2.15:", type=("build", "run")) depends_on("r-gdsfmt@1.8.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-snpstats/package.py b/var/spack/repos/builtin/packages/r-snpstats/package.py index aed788cd8ed5dc..b5ac2a05b6789b 100644 --- a/var/spack/repos/builtin/packages/r-snpstats/package.py +++ b/var/spack/repos/builtin/packages/r-snpstats/package.py @@ -26,6 +26,8 @@ class RSnpstats(RPackage): version("1.28.0", commit="8df9f4188f720dfbb4f4f4ec255cd2e22f3f4426") version("1.26.0", commit="7c9b3304073e0556d694a8531882b349822fdda8") + depends_on("c", type="build") # generated + depends_on("r@2.10.0:", type=("build", "run")) depends_on("r-survival", type=("build", "run")) depends_on("r-matrix", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-som/package.py b/var/spack/repos/builtin/packages/r-som/package.py index 4c1515240d5f7b..e1f509b344c1d8 100644 --- a/var/spack/repos/builtin/packages/r-som/package.py +++ b/var/spack/repos/builtin/packages/r-som/package.py @@ -21,4 +21,6 @@ class RSom(RPackage): version("0.3-3", sha256="434e2210df3e6a459a8588606676c02494f58c5b52e25291d142121b7b9be5c7") version("0.3-2", sha256="b46ecb79c08f3d4cf9527d5c7f85a235808dda45dae7f50909b2df90e7b9e543") + depends_on("cxx", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-sourcetools/package.py b/var/spack/repos/builtin/packages/r-sourcetools/package.py index f356242224e5eb..09aa05e2ca1fd1 100644 --- a/var/spack/repos/builtin/packages/r-sourcetools/package.py +++ b/var/spack/repos/builtin/packages/r-sourcetools/package.py @@ -22,4 +22,7 @@ class RSourcetools(RPackage): version("0.1.6", sha256="c9f48d2f0b7f7ed0e7fecdf8e730b0b80c4d567f0e1e880d118b0944b1330c51") version("0.1.5", sha256="c2373357ad76eaa7d03f9f01c19b5001a3e4db788acbca068b0abbe7a99ea64b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.0.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-sparsematrixstats/package.py b/var/spack/repos/builtin/packages/r-sparsematrixstats/package.py index 4b513cd2f41120..c863828a2d7d9c 100644 --- a/var/spack/repos/builtin/packages/r-sparsematrixstats/package.py +++ b/var/spack/repos/builtin/packages/r-sparsematrixstats/package.py @@ -23,6 +23,8 @@ class RSparsematrixstats(RPackage): version("1.6.0", commit="78627a842790af42b6634893087b2bb1f4ac0392") version("1.2.1", commit="9726f3d5e0f03b50c332d85d5e4c339c18b0494c") + depends_on("cxx", type="build") # generated + depends_on("r-matrixgenerics", type=("build", "run")) depends_on("r-matrixgenerics@1.5.3:", type=("build", "run"), when="@1.6.0:") depends_on("r-rcpp", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-spatialpack/package.py b/var/spack/repos/builtin/packages/r-spatialpack/package.py index 8e996635505157..3810d83924b77b 100644 --- a/var/spack/repos/builtin/packages/r-spatialpack/package.py +++ b/var/spack/repos/builtin/packages/r-spatialpack/package.py @@ -24,6 +24,9 @@ class RSpatialpack(RPackage): version("0.3-8", sha256="a0e54b5dee3cd30a634e2d30380fe163942b672073fd909be888803332ed5151") version("0.3", sha256="4c80fc1c77bc97fc678e6e201ecf7f0f89dcf3417b3b497a28a3639e9b30bd8a") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r@3.5.0:", type=("build", "run"), when="@0.3-8196:") depends_on("r-fastmatrix", type=("build", "run"), when="@0.3-8196:") diff --git a/var/spack/repos/builtin/packages/r-statmod/package.py b/var/spack/repos/builtin/packages/r-statmod/package.py index 3f5ba597577145..50f955cbfa0663 100644 --- a/var/spack/repos/builtin/packages/r-statmod/package.py +++ b/var/spack/repos/builtin/packages/r-statmod/package.py @@ -28,4 +28,7 @@ class RStatmod(RPackage): version("1.4.32", sha256="2f67a1cfa66126e6345f8a40564a3077d08f1748f17cb8c8fb05c94ed0f57e20") version("1.4.30", sha256="9d2c1722a85f53623a9ee9f73d835119ae22ae2b8ec7b50d675401e314ea641f") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("r@3.0.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-strucchange/package.py b/var/spack/repos/builtin/packages/r-strucchange/package.py index c8828973b8765b..f5710547b6e5da 100644 --- a/var/spack/repos/builtin/packages/r-strucchange/package.py +++ b/var/spack/repos/builtin/packages/r-strucchange/package.py @@ -27,6 +27,8 @@ class RStrucchange(RPackage): version("1.5-2", sha256="7d247c5ae6f5a63c80e478799d009c57fb8803943aa4286d05f71235cc1002f8") version("1.5-1", sha256="740e2e20477b9fceeef767ae1002adc5ec397cb0f7daba5289a2c23b0dddaf31") + depends_on("c", type="build") # generated + depends_on("r@2.10.0:", type=("build", "run")) depends_on("r-zoo", type=("build", "run")) depends_on("r-sandwich", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-strucchangercpp/package.py b/var/spack/repos/builtin/packages/r-strucchangercpp/package.py index 0485cece4f508b..2c4f6fd16c6928 100644 --- a/var/spack/repos/builtin/packages/r-strucchangercpp/package.py +++ b/var/spack/repos/builtin/packages/r-strucchangercpp/package.py @@ -26,6 +26,8 @@ class RStrucchangercpp(RPackage): "1.5-3-1.0.4", sha256="f506fcb593ce4bacf1892de25154257d0fe02260ef956a75438c6330195cd86d" ) + depends_on("cxx", type="build") # generated + depends_on("r@2.10.0:", type=("build", "run")) depends_on("r-zoo", type=("build", "run")) depends_on("r-sandwich", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-suppdists/package.py b/var/spack/repos/builtin/packages/r-suppdists/package.py index 04368370a6d0dd..232c1a3b014a4e 100644 --- a/var/spack/repos/builtin/packages/r-suppdists/package.py +++ b/var/spack/repos/builtin/packages/r-suppdists/package.py @@ -20,4 +20,6 @@ class RSuppdists(RPackage): version("1.1-9.7", sha256="6b5527e2635c0ff762eb7af8154704c85e66d7f79a9524089a5c98dfa94dab08") version("1.1-9.5", sha256="680b67145c07d44e200275e08e48602fe19cd99fb106c05422b3f4a244c071c4") + depends_on("cxx", type="build") # generated + depends_on("r@3.3.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-sva/package.py b/var/spack/repos/builtin/packages/r-sva/package.py index 5d56201407ebda..e8a9c700ea609a 100644 --- a/var/spack/repos/builtin/packages/r-sva/package.py +++ b/var/spack/repos/builtin/packages/r-sva/package.py @@ -41,6 +41,8 @@ class RSva(RPackage): version("3.26.0", commit="3cc5e75413c35ed5511892f5c36a8b5cb454937e") version("3.24.4", commit="ed2ebb6e33374dc9ec50e6ea97cc1d9aef836c73") + depends_on("c", type="build") # generated + depends_on("r@3.2:", type=("build", "run")) depends_on("r-mgcv", type=("build", "run")) depends_on("r-genefilter", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-tfbstools/package.py b/var/spack/repos/builtin/packages/r-tfbstools/package.py index 2e73e8248c994a..cc32e0a644ef33 100644 --- a/var/spack/repos/builtin/packages/r-tfbstools/package.py +++ b/var/spack/repos/builtin/packages/r-tfbstools/package.py @@ -29,6 +29,8 @@ class RTfbstools(RPackage): version("1.16.0", commit="565436a5a674d4dea7279e796a20c5bd2034f65a") version("1.14.2", commit="e429fdefb6f7ee4585dd2a8ca3d0ced7a5bed4ff") + depends_on("c", type="build") # generated + depends_on("r@3.2.2:", type=("build", "run")) depends_on("r-biobase@2.28:", type=("build", "run")) depends_on("r-biostrings@2.36.4:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-tfmpvalue/package.py b/var/spack/repos/builtin/packages/r-tfmpvalue/package.py index c899a4a4cff30c..0f650954a41e26 100644 --- a/var/spack/repos/builtin/packages/r-tfmpvalue/package.py +++ b/var/spack/repos/builtin/packages/r-tfmpvalue/package.py @@ -22,5 +22,8 @@ class RTfmpvalue(RPackage): version("0.0.8", sha256="6d052529f7b59d0384edc097f724f70468013777b6adf4c63e61a359029d3841") version("0.0.6", sha256="cee3aa2d4e22856865d820f695e29a5f23486e5e08cd42cb95a0728f5f9522a1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.0.1:", type=("build", "run")) depends_on("r-rcpp@0.11.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-tibble/package.py b/var/spack/repos/builtin/packages/r-tibble/package.py index c01e9dfc96a4ae..a2fe8bd4433c83 100644 --- a/var/spack/repos/builtin/packages/r-tibble/package.py +++ b/var/spack/repos/builtin/packages/r-tibble/package.py @@ -31,6 +31,8 @@ class RTibble(RPackage): version("1.2", sha256="ed8a8bd0591223f742be80fd1cd8c4a9618d0f04011ec95c272b61ea45193104") version("1.1", sha256="10ea18890e5514faa4c2c05fa231a6e2bbb7689f3800850cead214306414c88e") + depends_on("c", type="build") # generated + depends_on("r@3.1.2:", type=("build", "run")) depends_on("r@3.1.0:", type=("build", "run"), when="@1.3.0:") depends_on("r@3.4.0:", type=("build", "run"), when="@3.2.1:") diff --git a/var/spack/repos/builtin/packages/r-tmvnsim/package.py b/var/spack/repos/builtin/packages/r-tmvnsim/package.py index 69cf0c88fea486..6beba71357147b 100644 --- a/var/spack/repos/builtin/packages/r-tmvnsim/package.py +++ b/var/spack/repos/builtin/packages/r-tmvnsim/package.py @@ -24,3 +24,6 @@ class RTmvnsim(RPackage): license("GPL-2.0-only") version("1.0-2", sha256="97f63d0bab3b240cc7bdbe6e6e74e90ad25a4382a345ee51a26fe3959edeba0f") + + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-triebeard/package.py b/var/spack/repos/builtin/packages/r-triebeard/package.py index e20dcf6e0d87dd..98590e0259db90 100644 --- a/var/spack/repos/builtin/packages/r-triebeard/package.py +++ b/var/spack/repos/builtin/packages/r-triebeard/package.py @@ -21,4 +21,6 @@ class RTriebeard(RPackage): version("0.4.1", sha256="192f2fef6341e43bd56ef4f9841e813e07be990f4ffcf38c5606259630efe0f7") version("0.3.0", sha256="bf1dd6209cea1aab24e21a85375ca473ad11c2eff400d65c6202c0fb4ef91ec3") + depends_on("cxx", type="build") # generated + depends_on("r-rcpp", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-truncnorm/package.py b/var/spack/repos/builtin/packages/r-truncnorm/package.py index 2ffcf43b654239..44d17bb4ad3614 100644 --- a/var/spack/repos/builtin/packages/r-truncnorm/package.py +++ b/var/spack/repos/builtin/packages/r-truncnorm/package.py @@ -20,5 +20,7 @@ class RTruncnorm(RPackage): version("1.0-8", sha256="49564e8d87063cf9610201fbc833859ed01935cc0581b9e21c42a0d21a47c87e") version("1.0.0", sha256="dc1b018cb6d9ad5beb2d9e2f3ebe56c3f69d7a98fc5a1d963dd7933d209ac272") + depends_on("c", type="build") # generated + depends_on("r@2.7.0:", type=("build", "run")) depends_on("r@3.4.0:", type=("build", "run"), when="@1.0-8:") diff --git a/var/spack/repos/builtin/packages/r-udunits2/package.py b/var/spack/repos/builtin/packages/r-udunits2/package.py index 22e2884e9ba1c3..be6878d2e74473 100644 --- a/var/spack/repos/builtin/packages/r-udunits2/package.py +++ b/var/spack/repos/builtin/packages/r-udunits2/package.py @@ -19,5 +19,7 @@ class RUdunits2(RPackage): version("0.13.2", sha256="ee00898801b3282717cba40a9ef930515506386aa82a050356d1a9c80a9f5969") version("0.13", sha256="d155d3c07f6202b65dec4075ffd1e1c3f4f35f5fdece8cfb319d39256a3e5b79") + depends_on("c", type="build") # generated + depends_on("r@2.10.0:", type=("build", "run")) depends_on("udunits") diff --git a/var/spack/repos/builtin/packages/r-urltools/package.py b/var/spack/repos/builtin/packages/r-urltools/package.py index 013d8555d7f4a7..9dde5976a7d7df 100644 --- a/var/spack/repos/builtin/packages/r-urltools/package.py +++ b/var/spack/repos/builtin/packages/r-urltools/package.py @@ -22,6 +22,9 @@ class RUrltools(RPackage): version("1.7.3", sha256="6020355c1b16a9e3956674e5dea9ac5c035c8eb3eb6bbdd841a2b5528cafa313") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@2.10:", type=("build", "run")) depends_on("r-rcpp", type=("build", "run")) depends_on("r-triebeard", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-variantannotation/package.py b/var/spack/repos/builtin/packages/r-variantannotation/package.py index 6df0be0c65a37f..6b84d24c8d8119 100644 --- a/var/spack/repos/builtin/packages/r-variantannotation/package.py +++ b/var/spack/repos/builtin/packages/r-variantannotation/package.py @@ -25,6 +25,8 @@ class RVariantannotation(RPackage): version("1.24.5", commit="468d7f53fd743e04c9af853d58e871b4cc13a090") version("1.22.3", commit="3a91b6d4297aa416d5f056dec6f8925eb1a8eaee") + depends_on("c", type="build") # generated + depends_on("r@2.8.0:", type=("build", "run")) depends_on("r@4.0.0:", type=("build", "run"), when="@1.40.0:") depends_on("r-biocgenerics@0.15.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-vctrs/package.py b/var/spack/repos/builtin/packages/r-vctrs/package.py index 353bd295ba000d..4e6a1e96613d21 100644 --- a/var/spack/repos/builtin/packages/r-vctrs/package.py +++ b/var/spack/repos/builtin/packages/r-vctrs/package.py @@ -34,6 +34,9 @@ class RVctrs(RPackage): version("0.3.5", sha256="11605d98106e294dae1a9b205462dd3906a6159a647150752b85dd290f6635cc") version("0.2.0", sha256="5bce8f228182ecaa51230d00ad8a018de9cf2579703e82244e0931fe31f20016") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@3.2:", type=("build", "run")) depends_on("r@3.3:", type=("build", "run"), when="@0.3.5:") depends_on("r@3.5.0:", type=("build", "run"), when="@0.6.2:") diff --git a/var/spack/repos/builtin/packages/r-vsn/package.py b/var/spack/repos/builtin/packages/r-vsn/package.py index f89be049975787..d814c3c5f82273 100644 --- a/var/spack/repos/builtin/packages/r-vsn/package.py +++ b/var/spack/repos/builtin/packages/r-vsn/package.py @@ -35,6 +35,8 @@ class RVsn(RPackage): version("3.46.0", commit="7ecfd20452348da27d6fcc052cbff2b9be777792") version("3.44.0", commit="e54513fcdd07ccfb8094359e93cef145450f0ee0") + depends_on("c", type="build") # generated + depends_on("r@3.0.0:", type=("build", "run")) depends_on("r@3.4.0:", type=("build", "run"), when="@3.46.0:") depends_on("r@4.0.0:", type=("build", "run"), when="@3.62.0:") diff --git a/var/spack/repos/builtin/packages/r-xde/package.py b/var/spack/repos/builtin/packages/r-xde/package.py index 309e099ede1f50..dc1264e2e193e4 100644 --- a/var/spack/repos/builtin/packages/r-xde/package.py +++ b/var/spack/repos/builtin/packages/r-xde/package.py @@ -26,6 +26,9 @@ class RXde(RPackage): version("2.24.0", commit="fd5f245f82893657dc36e5a67a1d3b8255772462") version("2.22.0", commit="25bcec965ae42a410dd285a9db9be46d112d8e81") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r@2.10.0:", type=("build", "run")) depends_on("r-biobase@2.5.5:", type=("build", "run")) depends_on("r-biocgenerics", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-xnomial/package.py b/var/spack/repos/builtin/packages/r-xnomial/package.py index 1d58c27b9bcbb2..60e7d84e370f59 100644 --- a/var/spack/repos/builtin/packages/r-xnomial/package.py +++ b/var/spack/repos/builtin/packages/r-xnomial/package.py @@ -26,4 +26,6 @@ class RXnomial(RPackage): version("1.0.4", sha256="e6237f79d96f02bb30af1cf055ae9f70541abba34ce045a9d4359b5304189dd7") + depends_on("c", type="build") # generated + depends_on("r@2.14:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-xvector/package.py b/var/spack/repos/builtin/packages/r-xvector/package.py index 55a3b400cc03ce..47bd682206394a 100644 --- a/var/spack/repos/builtin/packages/r-xvector/package.py +++ b/var/spack/repos/builtin/packages/r-xvector/package.py @@ -26,6 +26,8 @@ class RXvector(RPackage): version("0.18.0", commit="27acf47282c9880b54d04dff46c1e50f0c87fa6b") version("0.16.0", commit="54615888e1a559da4a81de33e934fc0f1c3ad99f") + depends_on("c", type="build") # generated + depends_on("r@2.8.0:", type=("build", "run")) depends_on("r@4.0.0:", type=("build", "run"), when="@0.34.0:") depends_on("r-biocgenerics@0.19.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r-zlibbioc/package.py b/var/spack/repos/builtin/packages/r-zlibbioc/package.py index ed618d261f4e95..c658f0baec65d7 100644 --- a/var/spack/repos/builtin/packages/r-zlibbioc/package.py +++ b/var/spack/repos/builtin/packages/r-zlibbioc/package.py @@ -26,3 +26,5 @@ class RZlibbioc(RPackage): version("1.26.0", commit="2e3ab097caa09a5e3ddaa3469b13e19a7224da0d") version("1.24.0", commit="2990059338d1b987d098c009b0bfa806bd24afec") version("1.22.0", commit="30377f830af2bc1ff17bbf3fdd2cb6442015fea5") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/r-zoo/package.py b/var/spack/repos/builtin/packages/r-zoo/package.py index 907daa0f33c38f..50e4a5b1b9cd51 100644 --- a/var/spack/repos/builtin/packages/r-zoo/package.py +++ b/var/spack/repos/builtin/packages/r-zoo/package.py @@ -30,6 +30,8 @@ class RZoo(RPackage): version("1.7-14", sha256="4858675fed056a4329c4998517cc944db386447483390bd342de719e0509f598") version("1.7-13", sha256="0ca5264d6077c785963705e462aec3e57e0d0651379f9bf4ee32e4f3b25dc754") + depends_on("c", type="build") # generated + depends_on("r@2.10.0:", type=("build", "run")) depends_on("r@3.1.0:", type=("build", "run"), when="@1.8-2:") depends_on("r-lattice@0.20-27:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/r/package.py b/var/spack/repos/builtin/packages/r/package.py index bc411863728ee3..26bbd789ecf634 100644 --- a/var/spack/repos/builtin/packages/r/package.py +++ b/var/spack/repos/builtin/packages/r/package.py @@ -66,6 +66,9 @@ class R(AutotoolsPackage): version("3.1.3", sha256="07e98323935baa38079204bfb9414a029704bb9c0ca5ab317020ae521a377312") version("3.1.2", sha256="bcd150afcae0e02f6efb5f35a6ab72432be82e849ec52ce0bb89d8c342a8fa7a") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("X", default=False, description="Enable X11 support (TCLTK, PNG, JPEG, TIFF, CAIRO)") variant("memory_profiling", default=False, description="Enable memory profiling") variant("rmath", default=False, description="Build standalone Rmath library") diff --git a/var/spack/repos/builtin/packages/r3d/package.py b/var/spack/repos/builtin/packages/r3d/package.py index 63f13ec2387d5a..40f44e2afa61df 100644 --- a/var/spack/repos/builtin/packages/r3d/package.py +++ b/var/spack/repos/builtin/packages/r3d/package.py @@ -21,6 +21,9 @@ class R3d(CMakePackage): version("2018-12-19", commit="47308f68c782ed3227d3dab1eff24d41f6421f21", deprecated=True) version("2018-01-07", commit="d6799a582256a120ef3bd7e18959e96cba0e5495", deprecated=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "r3d_max_verts", default="0", diff --git a/var/spack/repos/builtin/packages/rabbitmq-c/package.py b/var/spack/repos/builtin/packages/rabbitmq-c/package.py index 3e7396a1b3b7de..7a4ca6a064c6dc 100644 --- a/var/spack/repos/builtin/packages/rabbitmq-c/package.py +++ b/var/spack/repos/builtin/packages/rabbitmq-c/package.py @@ -21,6 +21,8 @@ class RabbitmqC(CMakePackage): version("0.13.0", sha256="8b224e41bba504fc52b02f918d8df7e4bf5359d493cbbff36c06078655c676e6") version("0.11.0", sha256="437d45e0e35c18cf3e59bcfe5dfe37566547eb121e69fca64b98f5d2c1c2d424") + depends_on("c", type="build") # generated + variant("ssl", default=True, description="Required to connect to RabbitMQ using SSL/TLS") variant("shared", default=True, description="Build shared library") variant("static", default=True, description="Build static library") diff --git a/var/spack/repos/builtin/packages/racket/package.py b/var/spack/repos/builtin/packages/racket/package.py index a9cfa27dea5183..25188da281c9b0 100644 --- a/var/spack/repos/builtin/packages/racket/package.py +++ b/var/spack/repos/builtin/packages/racket/package.py @@ -17,6 +17,9 @@ class Racket(MakefilePackage): version("8.3", sha256="3b963cd29ae119e1acc2c6dc4781bd9f25027979589caaae3fdfc021aac2324b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libffi", type=("build", "link", "run")) depends_on("patchutils") depends_on("libtool", type=("build")) diff --git a/var/spack/repos/builtin/packages/racon/package.py b/var/spack/repos/builtin/packages/racon/package.py index 4ba7ec80e059d2..f2a93947d26627 100644 --- a/var/spack/repos/builtin/packages/racon/package.py +++ b/var/spack/repos/builtin/packages/racon/package.py @@ -25,6 +25,9 @@ class Racon(CMakePackage): version("1.3.0", sha256="f2331fb88eae5c54227dc16651607af6f045ae1ccccc1d117011762927d4606a") version("1.2.1", sha256="6e4b752b7cb6ab13b5e8cb9db58188cf1a3a61c4dcc565c8849bf4868b891bf8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.2:", type="build") depends_on("python", type="build") depends_on("sse2neon", when="target=aarch64:") diff --git a/var/spack/repos/builtin/packages/raft/package.py b/var/spack/repos/builtin/packages/raft/package.py index 919a555a008fae..9e9a37d84a8366 100644 --- a/var/spack/repos/builtin/packages/raft/package.py +++ b/var/spack/repos/builtin/packages/raft/package.py @@ -18,6 +18,8 @@ class Raft(CMakePackage): version("develop", branch="master") version("1.2.3", sha256="c41630e74491c8db272dcf4707e9b11cdcb226c0b7e978ca6eba8006f47bdae6") + depends_on("c", type="build") # generated + depends_on("mpi") depends_on("cmake", type="build") depends_on("hdf5") diff --git a/var/spack/repos/builtin/packages/ragel/package.py b/var/spack/repos/builtin/packages/ragel/package.py index 62d97dde140e7c..0e6029e0e291ae 100644 --- a/var/spack/repos/builtin/packages/ragel/package.py +++ b/var/spack/repos/builtin/packages/ragel/package.py @@ -24,4 +24,7 @@ class Ragel(AutotoolsPackage): version("6.10", sha256="5f156edb65d20b856d638dd9ee2dfb43285914d9aa2b6ec779dac0270cd56c3f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("colm", type="build") diff --git a/var/spack/repos/builtin/packages/raja/package.py b/var/spack/repos/builtin/packages/raja/package.py index f6432b4d1e1020..d235a618518876 100644 --- a/var/spack/repos/builtin/packages/raja/package.py +++ b/var/spack/repos/builtin/packages/raja/package.py @@ -26,12 +26,24 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage): git = "https://github.com/LLNL/RAJA.git" tags = ["radiuss", "e4s"] - maintainers("davidbeckingsale") + maintainers("davidbeckingsale", "adrienbernede") license("BSD-3-Clause") version("develop", branch="develop", submodules=submodules) version("main", branch="main", submodules=submodules) + version( + "2024.02.2", + tag="v2024.02.2", + commit="593f756b14ac57ded33ee61d8d2292d4beb840e6", + submodules=submodules, + ) + version( + "2024.02.1", + tag="v2024.02.1", + commit="3ada0950b0774ec907d30a9eceaf6af7478b833b", + submodules=submodules, + ) version( "2024.02.0", tag="v2024.02.0", @@ -141,6 +153,8 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage): "0.4.0", tag="v0.4.0", commit="31b2a48192542c2da426885baa5af0ed57606b78", submodules="True" ) + depends_on("cxx", type="build") # generated + # export targets when building pre-2.4.0 release with BLT 0.4.0+ patch( "https://github.com/LLNL/RAJA/commit/eca1124ee4af380d6613adc6012c307d1fd4176b.patch?full_index=1", @@ -181,6 +195,7 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage): ) depends_on("blt", type="build") + depends_on("blt@0.6.2:", type="build", when="@2024.02.1:") depends_on("blt@0.6.1:", type="build", when="@2024.02.0:") depends_on("blt@0.5.3", type="build", when="@2023.06.0:2023.06.1") depends_on("blt@0.5.2:0.5.3", type="build", when="@2022.10.5") @@ -193,6 +208,7 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage): depends_on("camp+openmp", when="+openmp") depends_on("camp@main", when="@develop") depends_on("camp@main", when="@main") + depends_on("camp@2024.02.1:", type="build", when="@2024.02.1:") depends_on("camp@2024.02.0:", type="build", when="@2024.02.0:") depends_on("camp@2023.06.0", type="build", when="@2023.06.0:2023.06.1") depends_on("camp@2022.10.1:2023.06.0", type="build", when="@2022.10.3:2022.10.5") diff --git a/var/spack/repos/builtin/packages/ramulator/package.py b/var/spack/repos/builtin/packages/ramulator/package.py index 724a26fc27a3d6..dcb9c6ff6f7a1d 100644 --- a/var/spack/repos/builtin/packages/ramulator/package.py +++ b/var/spack/repos/builtin/packages/ramulator/package.py @@ -21,6 +21,8 @@ class Ramulator(MakefilePackage): version("sst", commit="7d2e72306c6079768e11a1867eb67b60cee34a1c") + depends_on("cxx", type="build") # generated + patch("ramulator_sha_7d2e723_gcc48Patch.patch", when="@sst") patch("ramulator_sha_7d2e723_libPatch.patch", when="@sst") diff --git a/var/spack/repos/builtin/packages/randfold/package.py b/var/spack/repos/builtin/packages/randfold/package.py index ae2dbac959f237..a4c70f5ed4ec12 100644 --- a/var/spack/repos/builtin/packages/randfold/package.py +++ b/var/spack/repos/builtin/packages/randfold/package.py @@ -16,6 +16,8 @@ class Randfold(MakefilePackage): version("2.0.1", sha256="b286145deb9ac6197062d98e209da095f00c45a5a615616bcf2b2a6609ed113f") + depends_on("c", type="build") # generated + depends_on("squid") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/random123/package.py b/var/spack/repos/builtin/packages/random123/package.py index efc681f98c1204..efcd5e9b87ca4d 100644 --- a/var/spack/repos/builtin/packages/random123/package.py +++ b/var/spack/repos/builtin/packages/random123/package.py @@ -33,6 +33,9 @@ class Random123(Package): url="https://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.09.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch("ibmxl.patch", when="@1.09") patch("arm-gcc.patch", when="@1.09") patch("v1132-xl161.patch", when="@1.13.2") diff --git a/var/spack/repos/builtin/packages/range-v3/package.py b/var/spack/repos/builtin/packages/range-v3/package.py index 609c8795d6f273..9271fb1f1d53bf 100644 --- a/var/spack/repos/builtin/packages/range-v3/package.py +++ b/var/spack/repos/builtin/packages/range-v3/package.py @@ -41,6 +41,8 @@ class RangeV3(CMakePackage): version("0.2.1", sha256="25d5e3dad8052d668873e960bd78f068bebfba3bd28a278f805ea386f9438790") version("0.2.0", sha256="49b1a62a7a36dab582521c8034d8e736a8922af664d007c1529d3162b1294331") + depends_on("cxx", type="build") # generated + # Note that as of 0.3.6 range is a header-only library so it is not # necessary to match standards with packages using this # one. Eventually range-v3 will be obsoleted by the C++ standard. diff --git a/var/spack/repos/builtin/packages/rankstr/package.py b/var/spack/repos/builtin/packages/rankstr/package.py index 7da41e09ec5f64..f9df699bcf1700 100644 --- a/var/spack/repos/builtin/packages/rankstr/package.py +++ b/var/spack/repos/builtin/packages/rankstr/package.py @@ -25,6 +25,8 @@ class Rankstr(CMakePackage): version("0.0.3", sha256="d32052fbecd44299e13e69bf2dd7e5737c346404ccd784b8c2100ceed99d8cd3") version("0.0.2", sha256="b88357bf88cdda9565472543225d6b0fa50f0726f6e2d464c92d31a98b493abb") + depends_on("c", type="build") # generated + depends_on("mpi") variant("shared", default=True, description="Build with shared libraries") diff --git a/var/spack/repos/builtin/packages/rapidjson/package.py b/var/spack/repos/builtin/packages/rapidjson/package.py index fdd0b7f903ac68..a60a8525e1bab1 100644 --- a/var/spack/repos/builtin/packages/rapidjson/package.py +++ b/var/spack/repos/builtin/packages/rapidjson/package.py @@ -22,6 +22,8 @@ class Rapidjson(CMakePackage): version("1.0.1", sha256="a9003ad5c6384896ed4fd1f4a42af108e88e1b582261766df32d717ba744ee73") version("1.0.0", sha256="4189b32b9c285f34b37ffe4c0fd5627c1e59c2444daacffe5a96fdfbf08d139b") + depends_on("cxx", type="build") # generated + variant("doc", default=False, description="Build and install documentation") depends_on("doxygen+graphviz", when="+doc") diff --git a/var/spack/repos/builtin/packages/raptor2/package.py b/var/spack/repos/builtin/packages/raptor2/package.py index af93102de0cddd..d792938853e757 100644 --- a/var/spack/repos/builtin/packages/raptor2/package.py +++ b/var/spack/repos/builtin/packages/raptor2/package.py @@ -17,4 +17,6 @@ class Raptor2(AutotoolsPackage): version("2.0.16", sha256="089db78d7ac982354bdbf39d973baf09581e6904ac4c92a98c5caadb3de44680") version("2.0.15", sha256="ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed") + depends_on("c", type="build") # generated + depends_on("libxml2") diff --git a/var/spack/repos/builtin/packages/rarpd/package.py b/var/spack/repos/builtin/packages/rarpd/package.py index c9eb493031807c..2ab4f945375e7b 100644 --- a/var/spack/repos/builtin/packages/rarpd/package.py +++ b/var/spack/repos/builtin/packages/rarpd/package.py @@ -23,6 +23,8 @@ class Rarpd(MakefilePackage): "0.981107-fixes", sha256="92b44adc4a061dcedeb01f7e1c1700374199cccceef1a798de97303d387bb4c2" ) + depends_on("c", type="build") # generated + @property def install_targets(self): return ["PREFIX={0}".format(self.prefix), "install"] diff --git a/var/spack/repos/builtin/packages/rasdaemon/package.py b/var/spack/repos/builtin/packages/rasdaemon/package.py index 4d3a07af0a9614..8f488e5833673a 100644 --- a/var/spack/repos/builtin/packages/rasdaemon/package.py +++ b/var/spack/repos/builtin/packages/rasdaemon/package.py @@ -23,6 +23,8 @@ class Rasdaemon(AutotoolsPackage): version("0.6.5", sha256="1d85580778a0b7c0587b42e24dfe6c02f4c07c6ca9bbb80737d50b58ac830c92") version("0.6.4", sha256="c70e2dae1e15af496873b9e5a4d89847759fffd6cbf5ed1d74d28cd250c0771b") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/rasqal/package.py b/var/spack/repos/builtin/packages/rasqal/package.py index bce50a0341670e..417412704e4148 100644 --- a/var/spack/repos/builtin/packages/rasqal/package.py +++ b/var/spack/repos/builtin/packages/rasqal/package.py @@ -21,4 +21,6 @@ class Rasqal(AutotoolsPackage): version("0.9.32", sha256="eeba03218e3b7dfa033934d523a1a64671a9a0f64eadc38a01e4b43367be2e8f") version("0.9.31", sha256="28d743c9f1b0e5b0486ae4a945fa1e021c8495707e7adbfa0e232244b28b7fee") + depends_on("c", type="build") # generated + depends_on("raptor2") diff --git a/var/spack/repos/builtin/packages/ratel/package.py b/var/spack/repos/builtin/packages/ratel/package.py index 34b2a6c08b6f54..5de9d55acf512f 100644 --- a/var/spack/repos/builtin/packages/ratel/package.py +++ b/var/spack/repos/builtin/packages/ratel/package.py @@ -21,6 +21,8 @@ class Ratel(MakefilePackage, CudaPackage, ROCmPackage): version("0.2.1", tag="v0.2.1", commit="043b61696a2407205fdfd898681467d1a7ff59e0") version("0.1.2", tag="v0.1.2", commit="94ad630bf897d231af7a94bf08257f6067258aae") + depends_on("c", type="build") # generated + # development version depends_on("libceed@develop", when="@develop") depends_on("petsc@main", when="@develop") diff --git a/var/spack/repos/builtin/packages/ravel/package.py b/var/spack/repos/builtin/packages/ravel/package.py index accaf42d88a666..c952b9d71f2e2a 100644 --- a/var/spack/repos/builtin/packages/ravel/package.py +++ b/var/spack/repos/builtin/packages/ravel/package.py @@ -14,6 +14,8 @@ class Ravel(CMakePackage): url = "https://github.com/llnl/ravel/archive/v1.0.0.tar.gz" version("1.0.0", sha256="e1e1ac6d70c9aae915623d81a8f1258488fd26f880612fe21f2e032827aa93eb") + + depends_on("cxx", type="build") # generated # See https://github.com/LLNL/ravel/pull/18 patch("qpainterpath.patch") diff --git a/var/spack/repos/builtin/packages/raxml-ng/package.py b/var/spack/repos/builtin/packages/raxml-ng/package.py index 4564eaca280fa6..6f33e5f56b5667 100644 --- a/var/spack/repos/builtin/packages/raxml-ng/package.py +++ b/var/spack/repos/builtin/packages/raxml-ng/package.py @@ -27,6 +27,9 @@ class RaxmlNg(CMakePackage): version("1.0.2", submodules=True) version("1.0.1", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Use MPI") depends_on("bison") diff --git a/var/spack/repos/builtin/packages/raxml/package.py b/var/spack/repos/builtin/packages/raxml/package.py index ee3669cf3dde86..4691a5c496acb3 100644 --- a/var/spack/repos/builtin/packages/raxml/package.py +++ b/var/spack/repos/builtin/packages/raxml/package.py @@ -21,6 +21,8 @@ class Raxml(Package): version("8.2.12", sha256="338f81b52b54e16090e193daf36c1d4baa9b902705cfdc7f4497e3e09718533b") version("8.2.11", sha256="08cda74bf61b90eb09c229e39b1121c6d95caf182708e8745bd69d02848574d7") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Enable MPI parallel support") variant("pthreads", default=False, description="Enable pthreads version") diff --git a/var/spack/repos/builtin/packages/ray/package.py b/var/spack/repos/builtin/packages/ray/package.py index bc75c8a9380f21..593457182a3473 100644 --- a/var/spack/repos/builtin/packages/ray/package.py +++ b/var/spack/repos/builtin/packages/ray/package.py @@ -16,6 +16,8 @@ class Ray(CMakePackage, SourceforgePackage): version("2.3.1", sha256="3122edcdf97272af3014f959eab9a0f0e5a02c8ffc897d842b06b06ccd748036") + depends_on("cxx", type="build") # generated + depends_on("mpi") @run_after("build") diff --git a/var/spack/repos/builtin/packages/rayleigh/package.py b/var/spack/repos/builtin/packages/rayleigh/package.py index 2cc468ce1ab300..0686e9d5649e4c 100644 --- a/var/spack/repos/builtin/packages/rayleigh/package.py +++ b/var/spack/repos/builtin/packages/rayleigh/package.py @@ -25,6 +25,9 @@ class Rayleigh(MakefilePackage): version("0.9.1", sha256="ab96445fc61822fe2d2cba8729a85b36de6b541febf5759de6d614847844573f") version("0.9.0", sha256="63a80d1619cb639f3cb01ab82a441b77d736eee94469c47c50ab740fa81c08f4") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("fftw-api@3") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/raylib/package.py b/var/spack/repos/builtin/packages/raylib/package.py index 3c1543676b3427..e7bfd6fc37914e 100644 --- a/var/spack/repos/builtin/packages/raylib/package.py +++ b/var/spack/repos/builtin/packages/raylib/package.py @@ -19,6 +19,8 @@ class Raylib(CMakePackage): version("5.0", sha256="98f049b9ea2a9c40a14e4e543eeea1a7ec3090ebdcd329c4ca2cf98bc9793482") + depends_on("c", type="build") # generated + # The package includes an llvm variant, which is disabled by default to simplify the build. # If enabled, allows Mesa to utilize software-based OpenGL rendering on systems without a GPU. variant("llvm", default=False, description="Enables LLVM support in Mesa") diff --git a/var/spack/repos/builtin/packages/rccl-tests/package.py b/var/spack/repos/builtin/packages/rccl-tests/package.py index a27bebac07bffc..2dc5378ba75767 100644 --- a/var/spack/repos/builtin/packages/rccl-tests/package.py +++ b/var/spack/repos/builtin/packages/rccl-tests/package.py @@ -22,6 +22,8 @@ class RcclTests(MakefilePackage): version("develop", branch="develop", preferred=True) version("master", branch="master") + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="with MPI support") depends_on("hip") diff --git a/var/spack/repos/builtin/packages/rccl/0002-Fix-numactl-rocm-smi-path-issue.patch b/var/spack/repos/builtin/packages/rccl/0002-Fix-numactl-rocm-smi-path-issue.patch deleted file mode 100644 index 30c8b92a68d2e8..00000000000000 --- a/var/spack/repos/builtin/packages/rccl/0002-Fix-numactl-rocm-smi-path-issue.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1deb1ba..f2bbf30 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -117,6 +117,8 @@ include_directories(src) - include_directories(src/include) - include_directories(src/collectives) - include_directories(src/collectives/device) -+include_directories(${NUMACTL_DIR}/include) -+link_directories(${NUMACTL_DIR}/lib) - - set(CU_SOURCES - src/collectives/device/all_reduce.cu -@@ -241,8 +243,8 @@ if("${HIP_COMPILER}" MATCHES "hcc") - endif() - endif() - --target_include_directories(rccl PRIVATE ${ROCM_PATH}/rocm_smi/include) --target_link_libraries(rccl PRIVATE hip::device dl -lrocm_smi64 -L${ROCM_PATH}/rocm_smi/lib) -+target_include_directories(rccl PRIVATE ${ROCM_SMI_DIR}/include) -+target_link_libraries(rccl PRIVATE hip::device dl -lrocm_smi64 -L${ROCM_SMI_DIR}/lib) - target_link_libraries(rccl INTERFACE hip::host) - - #Setup librccl.so version diff --git a/var/spack/repos/builtin/packages/rccl/package.py b/var/spack/repos/builtin/packages/rccl/package.py index a3390d1191b743..9b886e264107d4 100644 --- a/var/spack/repos/builtin/packages/rccl/package.py +++ b/var/spack/repos/builtin/packages/rccl/package.py @@ -16,11 +16,12 @@ class Rccl(CMakePackage): homepage = "https://github.com/ROCm/rccl" git = "https://github.com/ROCm/rccl.git" - url = "https://github.com/ROCm/rccl/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/rccl/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") libraries = ["librccl"] + version("6.1.2", sha256="98af99c12d800f5439c7740d797162c35810a25e08e3b11b397d3300d3c0148e") version("6.1.1", sha256="6368275059ba190d554535d5aeaa5c2510d944b56efd85c90a1701d0292a14c5") version("6.1.0", sha256="c6308f6883cbd63dceadbe4ee154cc6fa9e6bdccbd2f0fda295b564b0cf01e9a") version("6.0.2", sha256="5c8495acba3d620b751e729d1157e7b4eea8f5e5692c50ce47c5204d3dfd443c") @@ -31,16 +32,14 @@ class Rccl(CMakePackage): version("5.6.0", sha256="cce13c8a9e233e7ddf91a67b1626b7aaeaf818fefe61af8de6b6b6ff47cb358c") version("5.5.1", sha256="f6b9dc6dafeb49d95c085825876b09317d8252771c746ccf5aa19a9204a404b2") version("5.5.0", sha256="be2964b408741d046bcd606d339a233d1d1deac7b841647ec53d6d62d71452ba") - version("5.4.3", sha256="a2524f602bd7b3b6afeb8ba9aff660216ee807fa836e46442d068b5ed5f51a4d") - version("5.4.0", sha256="213f4f3d75389be588673e43f563e5c0d6908798228b0b6a71f27138fd4ed0c7") - version("5.3.3", sha256="8995a2d010ad0748fc85ac06e8da7e8d110ba996db04d42b77526c9c059c05bb") - version("5.3.0", sha256="51da5099fa58c2be882319cebe9ceabe2062feebcc0c5849e8c109030882c10a") with default_args(deprecated=True): - version("5.2.3", sha256="ecba09f4c95b4b2dae81b88231a972ac956d29909b5e712e21cf2a74bd251ff4") - version("5.2.1", sha256="cfd17dc003f19900e44928d81111570d3720d4905321f2a18c909909c4bee822") - version("5.2.0", sha256="6ee3a04da0d16eb53f768a088633a7d8ecc4416a2d0c07f7ba8426ab7892b060") - version("5.1.3", sha256="56491257f27b48bf85f4b91434a2a6e49a448337c889db181b02c8a4a260a4bc") - version("5.1.0", sha256="02b0180857e615326f9cab775573436b9162899ad8e526830f54392b8a51b1f5") + version("5.4.3", sha256="a2524f602bd7b3b6afeb8ba9aff660216ee807fa836e46442d068b5ed5f51a4d") + version("5.4.0", sha256="213f4f3d75389be588673e43f563e5c0d6908798228b0b6a71f27138fd4ed0c7") + version("5.3.3", sha256="8995a2d010ad0748fc85ac06e8da7e8d110ba996db04d42b77526c9c059c05bb") + version("5.3.0", sha256="51da5099fa58c2be882319cebe9ceabe2062feebcc0c5849e8c109030882c10a") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated amdgpu_targets = ROCmPackage.amdgpu_targets @@ -51,7 +50,6 @@ class Rccl(CMakePackage): sticky=True, ) - patch("0002-Fix-numactl-rocm-smi-path-issue.patch", when="@:5.2.1") patch("0003-Fix-numactl-rocm-smi-path-issue.patch", when="@5.2.3:5.6") patch("0004-Set-rocm-core-path-for-version-file.patch", when="@6.0:") @@ -60,11 +58,6 @@ class Rccl(CMakePackage): depends_on("numactl@2:") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -79,33 +72,12 @@ class Rccl(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"comgr@{ver}", when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") - - for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", - "5.3.0", - "5.3.3", - "5.4.0", - "5.4.3", - "5.5.0", - "5.5.1", - "5.6.0", - "5.6.1", - "5.7.0", - "5.7.1", - "6.0.0", - "6.0.2", - "6.1.0", - "6.1.1", - ]: depends_on(f"rocm-smi-lib@{ver}", when=f"@{ver}") for ver in [ @@ -118,7 +90,7 @@ class Rccl(CMakePackage): "6.0.0", "6.0.2", "6.1.0", - "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") @@ -155,9 +127,7 @@ def cmake_args(self): return args def test(self): - if self.spec.satisfies("@:5.3.0"): - print("Skipping: stand-alone tests") - return test_dir = join_path(self.spec["rccl"].prefix, "bin") with working_dir(test_dir, create=True): - self.run_test("UnitTests") + exe = Executable("rccl-UnitTests") + exe() diff --git a/var/spack/repos/builtin/packages/rclone/package.py b/var/spack/repos/builtin/packages/rclone/package.py index 2582cf1327bad0..005e2ebbfb07f0 100644 --- a/var/spack/repos/builtin/packages/rclone/package.py +++ b/var/spack/repos/builtin/packages/rclone/package.py @@ -17,6 +17,7 @@ class Rclone(Package): license("MIT") + version("1.65.2", sha256="1305c913ac3684d02ce2bade0a23a2115c1ec03c9447d1562bb6cd9fa2573412") version("1.65.1", sha256="904b906cc465dd679a00487497e3891d33fca6b6e25c184400bccfb248344f39") version("1.65.0", sha256="45ec732d50b2517dc2c860317a3bf79867634a8143e4a441a3e399434ad6c141") version("1.64.2", sha256="0c74d8fb887691e04e865e3b6bc32e8af47c3e54a9922ffdbed38c8323e281c9") @@ -38,6 +39,8 @@ class Rclone(Package): version("1.55.1", sha256="25da7fc5c9269b3897f27b0d946919df595c6dda1b127085fda0fe32aa59d29d") version("1.55.0", sha256="75accdaedad3b82edc185dc8824a19a59c30dc6392de7074b6cd98d1dc2c9040") + depends_on("c", type="build") # generated + depends_on("go@1.14:", type="build") depends_on("go@1.17:", type="build", when="@1.58.0:") depends_on("go@1.18:", type="build", when="@1.62.0:") diff --git a/var/spack/repos/builtin/packages/rdc/package.py b/var/spack/repos/builtin/packages/rdc/package.py index b146b75deb4965..57deb2529d6135 100644 --- a/var/spack/repos/builtin/packages/rdc/package.py +++ b/var/spack/repos/builtin/packages/rdc/package.py @@ -13,7 +13,7 @@ class Rdc(CMakePackage): """ROCm Data Center Tool""" homepage = "https://github.com/ROCm/rdc" - url = "https://github.com/ROCm/rdc/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/rdc/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") @@ -27,6 +27,7 @@ def url_for_version(self, version): return url.format(version) license("MIT") + version("6.1.2", sha256="5553b76d4c8b6381d236197613720587377d03d4fd43a5a20bb6a716d49f7dfc") version("6.1.1", sha256="c133ebd20bf42e543d13c5b84ea420a7f7c069c77b1d6dcae9680de924e5f539") version("6.1.0", sha256="a8ad5d880645c9e95c9c90b0c9026627b22467e3e879525fff38ccd924f36c39") version("6.0.2", sha256="00defa3b68c340d7f46b8cb06b37ab0602a7949bfddc884b01c163a1526502f8") @@ -37,16 +38,13 @@ def url_for_version(self, version): version("5.6.0", sha256="5213cd89215463862f6a1e9480ebe017944a6bb6b0db1722628afaa34af57991") version("5.5.1", sha256="a58a319ee702cf61cf71a4eba647c231392f68449b35419d941079c6de944844") version("5.5.0", sha256="56e85e77581963fbcfcc43e091a91773de470152347808ae730bcaf92c9f5ee8") - version("5.4.3", sha256="c44f0b070b5650bc78e2eb968aae57a8ac1e1fd160e897055b79f3026c4fbad3") - version("5.4.0", sha256="268aab43e31045443b08a21aee8750da4cf04750c6f419ec171ec704d377a4e4") - version("5.3.3", sha256="1bf1a02f305e3a629801e62584116a34eafbd1b26627837a2a8c10550fcf611b") - version("5.3.0", sha256="ce9c85dad8e0c0b21e8e5938bf16f86a62dc5f6ded5f453c61acd43666634d6b") with default_args(deprecated=True): - version("5.2.3", sha256="5ba060449bbf5e84979cb4c62eb1dac9b0e3eca45e930d2e20e7beaa87361b39") - version("5.2.1", sha256="84b3c3754b8c9732ee6d00d37881591d3d6876feb8f29746d9eb18faea7ad035") - version("5.2.0", sha256="2f35f74485e783f56ea724a7c69ce825f181fcdbe89de453d97ce6a3d3176ae0") - version("5.1.3", sha256="ac3e594d7b245c787d6d9b63f551ca898d4d9403fbec0e4502f9970575e031b8") - version("5.1.0", sha256="3cf58cb07ef241b3b73b23af83b6477194884feba642584a491e67deeceff038") + version("5.4.3", sha256="c44f0b070b5650bc78e2eb968aae57a8ac1e1fd160e897055b79f3026c4fbad3") + version("5.4.0", sha256="268aab43e31045443b08a21aee8750da4cf04750c6f419ec171ec704d377a4e4") + version("5.3.3", sha256="1bf1a02f305e3a629801e62584116a34eafbd1b26627837a2a8c10550fcf611b") + version("5.3.0", sha256="ce9c85dad8e0c0b21e8e5938bf16f86a62dc5f6ded5f453c61acd43666634d6b") + + depends_on("cxx", type="build") # generated depends_on("cmake@3.15:", type="build") depends_on("grpc@1.28.1+shared", type="build", when="@:5.3") @@ -57,11 +55,6 @@ def url_for_version(self, version): depends_on("libcap") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -76,6 +69,7 @@ def url_for_version(self, version): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-smi-lib@{ver}", type=("build", "link"), when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") @@ -91,6 +85,7 @@ def url_for_version(self, version): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/rdkit/package.py b/var/spack/repos/builtin/packages/rdkit/package.py index 60263763ec96fa..4017b494366b59 100644 --- a/var/spack/repos/builtin/packages/rdkit/package.py +++ b/var/spack/repos/builtin/packages/rdkit/package.py @@ -18,6 +18,7 @@ class Rdkit(CMakePackage): license("BSD-3-Clause") + version("2024_03_3", sha256="52f79c6bf1d446cdb5c86a35de655d96bad0c52a5f4ecbe15f08eaf334e6f76a") version("2023_03_1", sha256="db346afbd0ba52c843926a2a62f8a38c7b774ffab37eaf382d789a824f21996c") version("2022_09_5", sha256="2efe7ce3b527df529ed3e355e2aaaf14623e51876be460fa4ad2b7f7ad54c9b1") version("2021_09_5", sha256="f720b3f6292c4cd0a412a073d848ffac01a43960082e33ee54b68798de0cbfa1") @@ -46,6 +47,10 @@ class Rdkit(CMakePackage): version("2020_09_1", sha256="ac105498be52ff77f7e9328c41d0e61a2318cac0789d6efc30f5f50dc78a992c") version("2020_03_6", sha256="a3663295a149aa0307ace6d1995094d0334180bc8f892fa325558a110154272b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("freetype", default=True, description="Build freetype support") with when("@2022_09_5:"): @@ -69,6 +74,8 @@ class Rdkit(CMakePackage): depends_on("eigen@3:", when="+descriptors3d") depends_on("python@3:", when="+python") depends_on("py-numpy", when="+python") + # https://github.com/rdkit/rdkit/issues/7477 + depends_on("py-numpy@:1", when="@:2024.03.3+python") extends("python", when="+python") @@ -81,6 +88,8 @@ class Rdkit(CMakePackage): with when("@:2021_09_5"): depends_on("python@3:") depends_on("py-numpy") + # https://github.com/rdkit/rdkit/issues/7477 + depends_on("py-numpy@:1") extends("python") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/rdma-core/libdrm.patch b/var/spack/repos/builtin/packages/rdma-core/libdrm.patch new file mode 100644 index 00000000000000..41048b39cb447b --- /dev/null +++ b/var/spack/repos/builtin/packages/rdma-core/libdrm.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt 2024-06-24 15:48:01.389773228 +0200 ++++ b/CMakeLists.txt 2024-06-25 09:51:13.637660505 +0200 +@@ -539,7 +539,7 @@ + # drm headers + + # Check if the headers have been installed by kernel-headers +-find_path(DRM_INCLUDE_DIRS "drm.h" PATH_SUFFIXES "drm") ++find_path(DRM_INCLUDE_DIRS "drm.h" PATH_SUFFIXES "drm" "libdrm") + + # Alternatively the headers could have been installed by libdrm + if (NOT DRM_INCLUDE_DIRS) diff --git a/var/spack/repos/builtin/packages/rdma-core/package.py b/var/spack/repos/builtin/packages/rdma-core/package.py index f272287fb0ed4e..4d3a8fe23987c1 100644 --- a/var/spack/repos/builtin/packages/rdma-core/package.py +++ b/var/spack/repos/builtin/packages/rdma-core/package.py @@ -18,6 +18,7 @@ class RdmaCore(CMakePackage): license("GPL-2.0-only OR BSD-2-Clause") + version("52.0", sha256="1f0ce5f2462c982b20d21156707076278807a7adf4d10e9142f3be4bec1b2b83") version("51.0", sha256="0a4a55b1351356c2750f26ec9010e8c7370402a13c95799cb8b447cf0134dd61") version("50.0", sha256="405b9dd551120da9d1b8944c5ad24ab1f478fb13caedf5bf0d47053a6d6e20cc") version("49.1", sha256="2e531d398073dd7ed28d95c94fa698e1a831952b508e9af93e36644dcd399936") @@ -69,6 +70,10 @@ class RdmaCore(CMakePackage): version("17.1", sha256="b47444b7c05d3906deb8771eec3e634984dd83f5e620d5e37d3a83f74f0cc1ba") version("13", sha256="e5230fd7cda610753ad1252b40a28b1e9cf836423a10d8c2525b081527760d97") + depends_on("c", type="build") # generated + + patch("libdrm.patch", when="@34:") + variant( "static", default=True, diff --git a/var/spack/repos/builtin/packages/re2/package.py b/var/spack/repos/builtin/packages/re2/package.py index 586bb3dc3fd023..ad569fa98c16ac 100644 --- a/var/spack/repos/builtin/packages/re2/package.py +++ b/var/spack/repos/builtin/packages/re2/package.py @@ -28,6 +28,8 @@ class Re2(CMakePackage): "2020-04-01", sha256="98794bc5416326817498384a9c43cbb5a406bab8da9f84f83c39ecad43ed5cea" ) + depends_on("cxx", type="build") # generated + variant("shared", default=False, description="Build shared instead of static libraries") variant("pic", default=True, description="Enable position independent code") diff --git a/var/spack/repos/builtin/packages/re2c/package.py b/var/spack/repos/builtin/packages/re2c/package.py index 399e62eb8097d1..57436bcf494ff2 100644 --- a/var/spack/repos/builtin/packages/re2c/package.py +++ b/var/spack/repos/builtin/packages/re2c/package.py @@ -17,6 +17,10 @@ class Re2c(Package): license("Public-Domain") + # Python 3.7 is required for re2c@3.1, but the clingo bootstrap on OpenSUSE Leap uses + # the system Python 3.6 such that the bootstrap fails with an UnsatisfiableVersionSpecError + # version("3.1", sha256="0ac299ad359e3f512b06a99397d025cfff81d3be34464ded0656f8a96676c029") + version("3.0", sha256="b3babbbb1461e13fe22c630a40c43885efcfbbbb585830c6f4c0d791cf82ba0b") version("2.2", sha256="0fc45e4130a8a555d68e230d1795de0216dfe99096b61b28e67c86dfd7d86bda") version("2.1.1", sha256="036ee264fafd5423141ebd628890775aa9447a4c4068a6307385d7366fe711f8") version("2.1", sha256="8cba0d95c246c670de8f97f57def83a9c0f2113eaa6f7e4867a941f48f633540") @@ -27,12 +31,16 @@ class Re2c(Package): version("1.3", sha256="f37f25ff760e90088e7d03d1232002c2c2672646d5844fdf8e0d51a5cd75a503") version("1.2.1", sha256="1a4cd706b5b966aeffd78e3cf8b24239470ded30551e813610f9cd1a4e01b817") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + phases = ["configure", "build", "install"] depends_on("cmake", when="platform=windows") depends_on("gmake", when="platform=linux") depends_on("gmake", when="platform=darwin") depends_on("gmake", when="platform=freebsd") + # depends_on("python@3:", when="@3.1:", type="build") @property def make_tool(self): diff --git a/var/spack/repos/builtin/packages/readfq/package.py b/var/spack/repos/builtin/packages/readfq/package.py index 280ca5cf3b31c7..2a7a77776074fd 100644 --- a/var/spack/repos/builtin/packages/readfq/package.py +++ b/var/spack/repos/builtin/packages/readfq/package.py @@ -18,5 +18,7 @@ class Readfq(Package): version("2013.04.10", commit="4fb766095d8f459e0f8025be70f9173673905d12") + depends_on("c", type="build") # generated + def install(self, spec, prefix): install_tree(".", prefix.bin) diff --git a/var/spack/repos/builtin/packages/readline/package.py b/var/spack/repos/builtin/packages/readline/package.py index 3ef4ee6894d3c0..5140bb79d2d9eb 100644 --- a/var/spack/repos/builtin/packages/readline/package.py +++ b/var/spack/repos/builtin/packages/readline/package.py @@ -26,6 +26,8 @@ class Readline(AutotoolsPackage, GNUMirrorPackage): version("7.0", sha256="750d437185286f40a369e1e4f4764eda932b9459b5ec9a731628393dd3d32334") version("6.3", sha256="56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43") + depends_on("c", type="build") # generated + depends_on("ncurses") patches = [ diff --git a/var/spack/repos/builtin/packages/recola-sm/package.py b/var/spack/repos/builtin/packages/recola-sm/package.py index 93d104250d60f8..22458b88e7e523 100644 --- a/var/spack/repos/builtin/packages/recola-sm/package.py +++ b/var/spack/repos/builtin/packages/recola-sm/package.py @@ -21,6 +21,8 @@ class RecolaSm(CMakePackage): version("2.2.3", sha256="9ebdc4fd8ca48789de0b6bbb2ab7e4845c92d19dfe0c3f67866cbf114d6242a5") + depends_on("fortran", type="build") # generated + depends_on("collier") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/recola/package.py b/var/spack/repos/builtin/packages/recola/package.py index 1ea5a04dece85d..649262918eb96d 100644 --- a/var/spack/repos/builtin/packages/recola/package.py +++ b/var/spack/repos/builtin/packages/recola/package.py @@ -39,6 +39,10 @@ class Recola(CMakePackage): sha256="dc7db5ac9456dda2e6c03a63ad642066b0b5e4ceb8cae1f2a13ab33b35caaba8", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("collier") depends_on("recola-sm") depends_on("python@3:", when="+python") diff --git a/var/spack/repos/builtin/packages/recon/package.py b/var/spack/repos/builtin/packages/recon/package.py index fa6117fffe8036..1bbea3c956fa05 100644 --- a/var/spack/repos/builtin/packages/recon/package.py +++ b/var/spack/repos/builtin/packages/recon/package.py @@ -19,6 +19,8 @@ class Recon(MakefilePackage): version("1.05", sha256="4d4f76f439bcffd50380cffc41a80dc15fa4a80f38a04234e24da893ed7c025a") + depends_on("c", type="build") # generated + variant("repeatmasker", default=False, description="Use RepeatMasker developer patches (1.08)") patch("repeatmasker_recon.patch", when="+repeatmasker") diff --git a/var/spack/repos/builtin/packages/recorder/package.py b/var/spack/repos/builtin/packages/recorder/package.py index 064e20f62efd30..5cd4e84b95ee2c 100644 --- a/var/spack/repos/builtin/packages/recorder/package.py +++ b/var/spack/repos/builtin/packages/recorder/package.py @@ -24,6 +24,9 @@ class Recorder(AutotoolsPackage): version("2.1.5", sha256="6d2f8b942f61da498e25327e79c1a25b2244f4f78a9cf5482fb4aaa32d7332a1") version("2.1.4", sha256="f66756595a7f310929c247ae03fd08a18d9843f578fffa1e3072f557bf5a158e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("posix", default=True, description="Enable POSIX level tracing.") variant( "mpi", diff --git a/var/spack/repos/builtin/packages/redis-ai/package.py b/var/spack/repos/builtin/packages/redis-ai/package.py index b790fd638a4f76..2bdf71bdd78f6a 100644 --- a/var/spack/repos/builtin/packages/redis-ai/package.py +++ b/var/spack/repos/builtin/packages/redis-ai/package.py @@ -22,6 +22,9 @@ class RedisAi(MakefilePackage): "1.2.7", tag="v1.2.7", commit="1bf38d86233ba06e1350ca9de794df2b07cdb274", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("torch", default=True, description="Build with the pytorch backend") variant("cuda", default=False, description="Use CUDA") variant("rocm", default=False, description="Use ROCm") diff --git a/var/spack/repos/builtin/packages/redis-plus-plus/package.py b/var/spack/repos/builtin/packages/redis-plus-plus/package.py index 04fe1d0df8f99e..87c68a5e9e1f36 100644 --- a/var/spack/repos/builtin/packages/redis-plus-plus/package.py +++ b/var/spack/repos/builtin/packages/redis-plus-plus/package.py @@ -34,6 +34,8 @@ class RedisPlusPlus(CMakePackage): version("1.3.5", sha256="a49a72fef26ed39d36a278fcc4e4d92822e111697b5992d8f26f70d16edc6c1f") version("1.3.4", sha256="b9f2b3e0f084fe9a7360e44a9ae28aa42067fbaf027734989c778865c2d5dca5") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.18:", type="build") depends_on("hiredis@1.0.0:", type=("build", "link")) depends_on("hiredis@1.0.0:+ssl", type=("build", "link"), when="+tls") diff --git a/var/spack/repos/builtin/packages/redis/package.py b/var/spack/repos/builtin/packages/redis/package.py index e2e325faf70974..f32406ee2e6563 100644 --- a/var/spack/repos/builtin/packages/redis/package.py +++ b/var/spack/repos/builtin/packages/redis/package.py @@ -52,6 +52,9 @@ class Redis(MakefilePackage): version("4.0.12", sha256="6447259d2eed426a949c9c13f8fdb2d91fb66d9dc915dd50db13b87f46d93162") version("4.0.11", sha256="fc53e73ae7586bcdacb4b63875d1ff04f68c5474c1ddeda78f00e5ae2eed1bbb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("tls", default=False, when="@6:", description="Builds with TLS support") depends_on("openssl@1.1:", type=("build", "link"), when="+tls") diff --git a/var/spack/repos/builtin/packages/redland-bindings/package.py b/var/spack/repos/builtin/packages/redland-bindings/package.py index 3c6bb42abc4008..9225f8af2994a8 100644 --- a/var/spack/repos/builtin/packages/redland-bindings/package.py +++ b/var/spack/repos/builtin/packages/redland-bindings/package.py @@ -18,6 +18,8 @@ class RedlandBindings(AutotoolsPackage): version("1.0.16.1", sha256="065037ef61e9b78f642e75b9c2a42700eb1a87d903f2f9963d86591c7d916826") version("1.0.14.1", sha256="a8cc365fccf292c56d53341ecae57fe8727e5002e048ca25f6251b5e595aec40") + depends_on("c", type="build") # generated + depends_on("swig", type="build") depends_on("redland") depends_on("krb5") diff --git a/var/spack/repos/builtin/packages/redland/package.py b/var/spack/repos/builtin/packages/redland/package.py index 1c8fc89e53571b..4707207de668f2 100644 --- a/var/spack/repos/builtin/packages/redland/package.py +++ b/var/spack/repos/builtin/packages/redland/package.py @@ -19,5 +19,7 @@ class Redland(AutotoolsPackage): version("1.0.16", sha256="d9a274fc086e61119d5c9beafb8d05527e040ec86f4c0961276ca8de0a049dbd") version("1.0.15", sha256="0e1f5825b6357c9b490da866c95ae1d895dbb5f445013d2511c37df822ee9ec6") + depends_on("c", type="build") # generated + depends_on("raptor2") depends_on("rasqal") diff --git a/var/spack/repos/builtin/packages/redset/package.py b/var/spack/repos/builtin/packages/redset/package.py index cbe992d3224189..6ef28e138e6f17 100644 --- a/var/spack/repos/builtin/packages/redset/package.py +++ b/var/spack/repos/builtin/packages/redset/package.py @@ -26,6 +26,8 @@ class Redset(CMakePackage): version("0.0.4", sha256="c33fce458d5582f01ad632c6fae8eb0a03eaef00e3c240c713b03bb95e2787ad") version("0.0.3", sha256="30ac1a960f842ae23a960a88b312af3fddc4795f2053eeeec3433a61e4666a76") + depends_on("c", type="build") # generated + depends_on("mpi") depends_on("kvtree+mpi") depends_on("rankstr") diff --git a/var/spack/repos/builtin/packages/reframe/package.py b/var/spack/repos/builtin/packages/reframe/package.py index dce47d20183b5b..5a142a94a157c1 100644 --- a/var/spack/repos/builtin/packages/reframe/package.py +++ b/var/spack/repos/builtin/packages/reframe/package.py @@ -85,6 +85,9 @@ class Reframe(Package): version("2.17.2", sha256="092241cdc15918040aacb922c806aecb59c5bdc3ff7db034a4f355d39aecc101") version("2.17.1", sha256="0b0d32a892607840a7d668f5dcea6f03f7022a26b23e5042a0faf5b8c41cb146") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("docs", default=False, description="Build ReFrame's man page documentation") variant("gelf", default=False, description="Add graylog handler support") diff --git a/var/spack/repos/builtin/packages/regale/package.py b/var/spack/repos/builtin/packages/regale/package.py index 8cb597774053f1..fed8981c4689c8 100644 --- a/var/spack/repos/builtin/packages/regale/package.py +++ b/var/spack/repos/builtin/packages/regale/package.py @@ -17,6 +17,9 @@ class Regale(CMakePackage): version("1.0", sha256="894b0927372467e765049e79b855a9a277def65638013f68a1f2b6e837e35663") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("eprosima-fastdds") variant("examples", default=False, description="Build examples") diff --git a/var/spack/repos/builtin/packages/regtools/package.py b/var/spack/repos/builtin/packages/regtools/package.py index 181e46c66c9414..b262a746099286 100644 --- a/var/spack/repos/builtin/packages/regtools/package.py +++ b/var/spack/repos/builtin/packages/regtools/package.py @@ -17,6 +17,9 @@ class Regtools(CMakePackage): version("1.0.0", sha256="ed2b9db6b71b943924002653caee18511a22ed7cc3c88f428e7e9e0c2e4f431b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install(join_path(self.build_directory, "regtools"), prefix.bin) diff --git a/var/spack/repos/builtin/packages/relax/package.py b/var/spack/repos/builtin/packages/relax/package.py index d591b95500a911..c826a84c4f4d3b 100644 --- a/var/spack/repos/builtin/packages/relax/package.py +++ b/var/spack/repos/builtin/packages/relax/package.py @@ -17,6 +17,8 @@ class Relax(CMakePackage): version("root6", sha256="1d24b1a0884bbe99d60f7d02fea45d59695c158ab5e53516ac3fb780eb460bb4") + depends_on("cxx", type="build") # generated + depends_on("clhep") depends_on("gsl") depends_on("hepmc@:2") diff --git a/var/spack/repos/builtin/packages/remhos/package.py b/var/spack/repos/builtin/packages/remhos/package.py index f53de7fcb2e1d2..7b6942626e7328 100644 --- a/var/spack/repos/builtin/packages/remhos/package.py +++ b/var/spack/repos/builtin/packages/remhos/package.py @@ -27,6 +27,8 @@ class Remhos(MakefilePackage): version("develop", branch="master") version("1.0", sha256="e60464a867fe5b1fd694fbb37bb51773723427f071c0ae26852a2804c08bbb32") + depends_on("cxx", type="build") # generated + variant("metis", default=True, description="Enable/disable METIS support") depends_on("mfem+mpi+metis", when="+metis") diff --git a/var/spack/repos/builtin/packages/rempi/package.py b/var/spack/repos/builtin/packages/rempi/package.py index a3651b37a7f166..fb35e8ddf8e417 100644 --- a/var/spack/repos/builtin/packages/rempi/package.py +++ b/var/spack/repos/builtin/packages/rempi/package.py @@ -18,6 +18,10 @@ class Rempi(AutotoolsPackage): version("1.1.0", sha256="4fd94fca52311fd19dc04a32547841e6c1c1656b7999b2f76f537d6ec24efccc") version("1.0.0", sha256="1cb21f457cf8a04632150156a2ba699dd0c3f81d47e8881a9b943b9bf575fa01") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("zlib-api") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/rendercheck/package.py b/var/spack/repos/builtin/packages/rendercheck/package.py index ab98014564af34..113bf059e53fcd 100644 --- a/var/spack/repos/builtin/packages/rendercheck/package.py +++ b/var/spack/repos/builtin/packages/rendercheck/package.py @@ -15,6 +15,8 @@ class Rendercheck(AutotoolsPackage, XorgPackage): version("1.5", sha256="1553fef61c30f2524b597c3758cc8d3f8dc1f52eb8137417fa0667b0adc8a604") + depends_on("c", type="build") # generated + depends_on("libxrender") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/reprimand/package.py b/var/spack/repos/builtin/packages/reprimand/package.py index 905e309d2ff331..521ac78f42c34a 100644 --- a/var/spack/repos/builtin/packages/reprimand/package.py +++ b/var/spack/repos/builtin/packages/reprimand/package.py @@ -27,6 +27,8 @@ class Reprimand(MesonPackage): version("1.4", sha256="260730696175fa21d35d1a92df2c68b69243bb617083c82616efcb4720d557e8") version("1.3", sha256="8e9f05b1f065a876d1405562285a9f64d1b31c4a436d5a6bb1f023212b40314e") + depends_on("cxx", type="build") # generated + # Add missing #include statments; see # patch("include.patch", when="@1.3") diff --git a/var/spack/repos/builtin/packages/resolve/package.py b/var/spack/repos/builtin/packages/resolve/package.py index 82234bf66bea04..d70c9ccf8ff1d8 100644 --- a/var/spack/repos/builtin/packages/resolve/package.py +++ b/var/spack/repos/builtin/packages/resolve/package.py @@ -23,6 +23,8 @@ class Resolve(CMakePackage, CudaPackage, ROCmPackage): ) version("develop", submodules=False, branch="develop") + depends_on("cxx", type="build") # generated + variant("klu", default=True, description="Use KLU, AMD and COLAMD Libraries from SuiteSparse") depends_on("suite-sparse", when="+klu") diff --git a/var/spack/repos/builtin/packages/revbayes/package.py b/var/spack/repos/builtin/packages/revbayes/package.py index 709c3dadd96564..097747e00ce128 100644 --- a/var/spack/repos/builtin/packages/revbayes/package.py +++ b/var/spack/repos/builtin/packages/revbayes/package.py @@ -30,6 +30,9 @@ class Revbayes(CMakePackage): version("1.0.11", sha256="03052194baa220dde7e622a739f09f34393f67ea00a0b163b409d313d7fc7c02") version("1.0.10", sha256="6a3cf303e7224b0b32637bd8e2c3c2cf2621f5dbe599cd74ce4b0c215d0fcd2d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Enable MPI parallel support") # TODO: replace this with an explicit list of components of Boost, diff --git a/var/spack/repos/builtin/packages/rgb/package.py b/var/spack/repos/builtin/packages/rgb/package.py index e30b4cea82074a..22bde52c3ab2b9 100644 --- a/var/spack/repos/builtin/packages/rgb/package.py +++ b/var/spack/repos/builtin/packages/rgb/package.py @@ -23,6 +23,8 @@ class Rgb(AutotoolsPackage, XorgPackage): version("1.1.0", sha256="77142e3d6f06cfbfbe440e29596765259988a22db40b1e706e14b8ba4c962aa5") version("1.0.6", sha256="cb998035e08b9f58ad3150cab60461c3225bdd075238cffc665e24da40718933") + depends_on("c", type="build") # generated + depends_on("xorg-server") depends_on("xproto") diff --git a/var/spack/repos/builtin/packages/rhash/package.py b/var/spack/repos/builtin/packages/rhash/package.py index 6a53f98ab4d166..c0f31f1586c83b 100644 --- a/var/spack/repos/builtin/packages/rhash/package.py +++ b/var/spack/repos/builtin/packages/rhash/package.py @@ -22,6 +22,8 @@ class Rhash(MakefilePackage): version("1.4.2", sha256="600d00f5f91ef04194d50903d3c79412099328c42f28ff43a0bdb777b00bec62") version("1.3.5", sha256="98e0688acae29e68c298ffbcdbb0f838864105f9b2bd8857980664435b1f1f2e") + depends_on("c", type="build") # generated + # configure: fix clang detection on macOS # Patch accepted and merged upstream, remove on next release patch( diff --git a/var/spack/repos/builtin/packages/rinetd/package.py b/var/spack/repos/builtin/packages/rinetd/package.py index bad9485262b15f..92a8ec1b1f0e7e 100644 --- a/var/spack/repos/builtin/packages/rinetd/package.py +++ b/var/spack/repos/builtin/packages/rinetd/package.py @@ -19,6 +19,8 @@ class Rinetd(AutotoolsPackage): version("0.70", sha256="e69538e9d1fdc1ba5cc24733a52c571568e9cad0876c09144aa1eaa71e13fba5") version("0.63", sha256="1f0e8cda524b8f4811a876e69e16d11f12c33a63d00b55c66e2129f87444000c") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/riscv-gnu-toolchain/package.py b/var/spack/repos/builtin/packages/riscv-gnu-toolchain/package.py index 64b880da333300..cc0e26048d186c 100644 --- a/var/spack/repos/builtin/packages/riscv-gnu-toolchain/package.py +++ b/var/spack/repos/builtin/packages/riscv-gnu-toolchain/package.py @@ -115,6 +115,10 @@ class RiscvGnuToolchain(AutotoolsPackage): submodules=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Dependencies: depends_on("pkgconfig", type="build") depends_on("autoconf", when="@main:", type="build") diff --git a/var/spack/repos/builtin/packages/rivet/package.py b/var/spack/repos/builtin/packages/rivet/package.py index 892d244e9fc42f..00ae0783dca58e 100644 --- a/var/spack/repos/builtin/packages/rivet/package.py +++ b/var/spack/repos/builtin/packages/rivet/package.py @@ -31,6 +31,9 @@ class Rivet(AutotoolsPackage): version("3.0.1", sha256="e7551168b86a05c9c029c319c313a0aa142a476195e7ff986c896c1b868f89dd") version("3.0.0", sha256="3944434d3791dccb54f7b2257589df6252cc7c065ce9deb57fbef466ff9e62b1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("hepmc", default="2", values=("2", "3"), description="HepMC version to link against") # According to A. Buckley (main Rivet developer): diff --git a/var/spack/repos/builtin/packages/rkcommon/package.py b/var/spack/repos/builtin/packages/rkcommon/package.py index bd381ebdda9600..b50dc13510722b 100644 --- a/var/spack/repos/builtin/packages/rkcommon/package.py +++ b/var/spack/repos/builtin/packages/rkcommon/package.py @@ -30,6 +30,8 @@ class Rkcommon(CMakePackage): version("1.4.2", sha256="2d1c0046cf583d3040fc9bb3b8ddcb1a2262d3f48aebd0973e6bd6cabb487f9e") version("1.4.1", sha256="f5968f5865fa5fe938843e1db621795524e7d31b37ce6024ba2978bb293ddfcf") + depends_on("cxx", type="build") # generated + depends_on("tbb") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/rkt-base/package.py b/var/spack/repos/builtin/packages/rkt-base/package.py index ea277d91206600..1a24aaf7f7dccf 100644 --- a/var/spack/repos/builtin/packages/rkt-base/package.py +++ b/var/spack/repos/builtin/packages/rkt-base/package.py @@ -15,6 +15,9 @@ class RktBase(RacketPackage): maintainers("elfprince13") version("8.3", commit="cab83438422bfea0e4bd74bc3e8305e6517cf25f") # tag='v8.3' + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("racket@8.3", type=("build", "run"), when="@8.3") racket_name = "base" diff --git a/var/spack/repos/builtin/packages/rkt-compiler-lib/package.py b/var/spack/repos/builtin/packages/rkt-compiler-lib/package.py index f91a118a53604b..dfbe793fafa127 100644 --- a/var/spack/repos/builtin/packages/rkt-compiler-lib/package.py +++ b/var/spack/repos/builtin/packages/rkt-compiler-lib/package.py @@ -15,6 +15,9 @@ class RktCompilerLib(RacketPackage): maintainers("elfprince13") version("8.3", commit="cab83438422bfea0e4bd74bc3e8305e6517cf25f") # tag='v8.3' + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("rkt-base@8.3", type=("build", "run"), when="@8.3") depends_on("rkt-scheme-lib@8.3", type=("build", "run"), when="@8.3") depends_on("rkt-rackunit-lib@8.3", type=("build", "run"), when="@8.3") 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 00861c615b7b58..ef5647719af1a0 100644 --- a/var/spack/repos/builtin/packages/rkt-racket-lib/package.py +++ b/var/spack/repos/builtin/packages/rkt-racket-lib/package.py @@ -15,6 +15,9 @@ class RktRacketLib(RacketPackage): maintainers("elfprince13") version("8.3", commit="cab83438422bfea0e4bd74bc3e8305e6517cf25f") # tag="v8.3" + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("racket@8.3", type=("build", "run"), when="@8.3") racket_name = "racket-lib" diff --git a/var/spack/repos/builtin/packages/rkt-zo-lib/package.py b/var/spack/repos/builtin/packages/rkt-zo-lib/package.py index 579be294ca25ec..92cbffcf7b00d1 100644 --- a/var/spack/repos/builtin/packages/rkt-zo-lib/package.py +++ b/var/spack/repos/builtin/packages/rkt-zo-lib/package.py @@ -14,6 +14,9 @@ class RktZoLib(RacketPackage): maintainers("elfprince13") version("1.3", commit="cab83438422bfea0e4bd74bc3e8305e6517cf25f") # tag='v1.3' + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("rkt-base@8.3:", type=("build", "run"), when="@1.3") racket_name = "zo-lib" diff --git a/var/spack/repos/builtin/packages/rlwrap/package.py b/var/spack/repos/builtin/packages/rlwrap/package.py index 9a3d8f29594662..e2f52d07287ef0 100644 --- a/var/spack/repos/builtin/packages/rlwrap/package.py +++ b/var/spack/repos/builtin/packages/rlwrap/package.py @@ -21,6 +21,8 @@ class Rlwrap(AutotoolsPackage): version("0.44", sha256="cd7ff50cde66e443cbea0049b4abf1cca64a74948371fa4f1b5d9a5bbce1e13c") version("0.43", sha256="8e86d0b7882d9b8a73d229897a90edc207b1ae7fa0899dca8ee01c31a93feb2f") + depends_on("c", type="build") # generated + depends_on("readline@4.2:") def url_for_version(self, version): diff --git a/var/spack/repos/builtin/packages/rmgdft/package.py b/var/spack/repos/builtin/packages/rmgdft/package.py index 55acee0203627c..8165f07d548f3b 100644 --- a/var/spack/repos/builtin/packages/rmgdft/package.py +++ b/var/spack/repos/builtin/packages/rmgdft/package.py @@ -16,6 +16,7 @@ class Rmgdft(CMakePackage, CudaPackage): maintainers("elbriggs") tags = ["ecp", "ecp-apps"] version("master", branch="master") + version("6.1.0", tag="v6.1.0", commit="4dd5862725006b35d3118705197f89f13b24b858") version("5.4.0", tag="v5.4.0", commit="471251b191abb5f6ffdca4333c1fcb2add3c52f2") version("5.3.1", tag="v5.3.1", commit="dd6217ed82a8fe335acd0c030023b539d1be920a") version("5.2.0", tag="v5.2.0", commit="e95a84a258f84a3c33f36eb34ebb9daba691b649") @@ -23,6 +24,10 @@ class Rmgdft(CMakePackage, CudaPackage): version("5.0.4", tag="v5.0.4", commit="30faadeff7dc896169d011910831263fb19eb965") version("5.0.1", tag="v5.0.1", commit="60b3ad64b09a4fccdd2b84052350e7947e3e8ad0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "build_type", default="Release", diff --git a/var/spack/repos/builtin/packages/rmlab/package.py b/var/spack/repos/builtin/packages/rmlab/package.py index d9aa91441cb784..836f52039b2cf4 100644 --- a/var/spack/repos/builtin/packages/rmlab/package.py +++ b/var/spack/repos/builtin/packages/rmlab/package.py @@ -18,6 +18,8 @@ class Rmlab(CMakePackage): version("develop", branch="develop") + depends_on("cxx", type="build") # generated + variant("png", default=True, description="Enable PNG conversion support") # modern CMake diff --git a/var/spack/repos/builtin/packages/rnaz/package.py b/var/spack/repos/builtin/packages/rnaz/package.py index 7031c2dc9b692a..d25e2572337be1 100644 --- a/var/spack/repos/builtin/packages/rnaz/package.py +++ b/var/spack/repos/builtin/packages/rnaz/package.py @@ -16,6 +16,9 @@ class Rnaz(AutotoolsPackage): version("2.1.1", commit="f2c19f7237f2eb3df04f4747c8c11616447ec095") version("2.1", sha256="b32ec0361889319f2058f224d6c456c853dbc30dff4dba90c53a8f9fd7b83be5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + with when("@2.1.1:"): depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/rng-tools/package.py b/var/spack/repos/builtin/packages/rng-tools/package.py index 40341e0b157710..23283c21dc159d 100644 --- a/var/spack/repos/builtin/packages/rng-tools/package.py +++ b/var/spack/repos/builtin/packages/rng-tools/package.py @@ -21,6 +21,8 @@ class RngTools(AutotoolsPackage): version("6.9", sha256="a57a7f51a2e3c0faa8afb979709a4c0cbea36d0b52fd835b104f8fb4fd1fa610") version("6.8", sha256="93e548d4aaf2a1897d4b677f41d8473db1c7f57648adeca18cafa1907e410bb3") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/rngstreams/package.py b/var/spack/repos/builtin/packages/rngstreams/package.py index f5a86039eb809b..f95f4a55e7f5bd 100644 --- a/var/spack/repos/builtin/packages/rngstreams/package.py +++ b/var/spack/repos/builtin/packages/rngstreams/package.py @@ -15,3 +15,5 @@ class Rngstreams(AutotoolsPackage): license("GPL-3.0-only") version("1.0.1", sha256="966195febb9fb9417e4e361948843425aee12efc8b4e85332acbcd011ff2d9b0") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/rnpletal/package.py b/var/spack/repos/builtin/packages/rnpletal/package.py index b055e9496891a2..f7f862af075180 100644 --- a/var/spack/repos/builtin/packages/rnpletal/package.py +++ b/var/spack/repos/builtin/packages/rnpletal/package.py @@ -24,6 +24,9 @@ class Rnpletal(AutotoolsPackage): # which carry no version number. version("develop", sha256="2886f96393b64703fccf61b3dbc34e0fa45a79297232be76352f29cb83863d4d") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + maintainers("eschnett") variant( diff --git a/var/spack/repos/builtin/packages/rocalution/0003-fix-compilation-for-rocalution-5.2.0.patch b/var/spack/repos/builtin/packages/rocalution/0003-fix-compilation-for-rocalution-5.2.0.patch deleted file mode 100644 index 7090e92e1cf03e..00000000000000 --- a/var/spack/repos/builtin/packages/rocalution/0003-fix-compilation-for-rocalution-5.2.0.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 58046aee2ab5d53092811e77ae9b17a226aadf90 Mon Sep 17 00:00:00 2001 -From: Renjith Ravindran -Date: Mon, 8 Aug 2022 22:52:43 +0000 -Subject: [PATCH] Fix for compilation failure in rocalution 5.2.0 - ---- - src/solvers/multigrid/ruge_stueben_amg.hpp | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/solvers/multigrid/ruge_stueben_amg.hpp b/src/solvers/multigrid/ruge_stueben_amg.hpp -index 24ee942..7f25796 100644 ---- a/src/solvers/multigrid/ruge_stueben_amg.hpp -+++ b/src/solvers/multigrid/ruge_stueben_amg.hpp -@@ -58,14 +58,16 @@ namespace rocalution - ROCALUTION_EXPORT - virtual void Print(void) const; - -+#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) - /** \brief Set coupling strength */ - ROCALUTION_EXPORT --#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) -+ void SetCouplingStrength(ValueType eps); - #else - [[deprecated("This function will be removed in a future release. Use " - "SetStrengthThreshold() instead")]] --#endif -+ ROCALUTION_EXPORT - void SetCouplingStrength(ValueType eps); -+#endif - - /** \brief Set strength threshold */ - ROCALUTION_EXPORT --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/rocalution/package.py b/var/spack/repos/builtin/packages/rocalution/package.py index f275c0acc51648..94802cd20809dc 100644 --- a/var/spack/repos/builtin/packages/rocalution/package.py +++ b/var/spack/repos/builtin/packages/rocalution/package.py @@ -19,7 +19,7 @@ class Rocalution(CMakePackage): homepage = "https://github.com/ROCm/rocALUTION" git = "https://github.com/ROCm/rocALUTION.git" - url = "https://github.com/ROCm/rocALUTION/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/rocALUTION/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("cgmb", "srekolam", "renjithravindrankannath") @@ -27,6 +27,7 @@ class Rocalution(CMakePackage): license("MIT") + version("6.1.2", sha256="5f9fb302ab1951a1caf54ed31b41d6f41a353dd4b5ee32bc3de2e9f9244dd4ef") version("6.1.1", sha256="1f80b33813291c2e81e5b1efc325d3f5bb6592c8670c016930d01e73e74ab46b") version("6.1.0", sha256="699a9b73844fcd4e30d0607b4042dc779f9bcdc27ad732e7a038968ff555af2b") version("6.0.2", sha256="453f889677728b510286d4c72952b343cac63c45e2cb8b801d8388a2ec599d2a") @@ -37,16 +38,13 @@ class Rocalution(CMakePackage): version("5.6.0", sha256="7397a2039e9615c0cf6776c33c4083c00b185b5d5c4149c89fea25a8976a3097") version("5.5.1", sha256="4612e30a0290b1732c8862eea655122abc2d22ce4345b8498fe4127697e880b4") version("5.5.0", sha256="626e966b67b83a1ef79f9bf27aba998c49cf65c4208092516aa1e32a6cbd8c36") - version("5.4.3", sha256="39d00951a9b3cbdc4205a7e3ce75c026d9428c71c784815288c445f84a7f8a0e") - version("5.4.0", sha256="dccf004434e0fee6d0c7bedd46827f5a2af0392bc4807a08403b130e461f55eb") - version("5.3.3", sha256="3af022250bc25bebdee12bfb8fdbab4b60513b537b9fe15dfa82ded8850c5066") - version("5.3.0", sha256="f623449789a5c9c9137ae51d4dbbee5c6940d8813826629cb4b7e84f07fab494") with default_args(deprecated=True): - version("5.2.3", sha256="8e0d77099bf7dc0d00505e1c936b072a59719102c75398dc1416cbef31902253") - version("5.2.1", sha256="f246bd5b5d1b5821c29b566610a1c1d5c5cc361e0e5c373b8b04168b05e9b26f") - version("5.2.0", sha256="a5aac471bbec87d019ad7c6db779c73327ad40ecdea09dc5ab2106e62cd6b7eb") - version("5.1.3", sha256="7febe8179f120cbe58ea255bc233ad5d1b4c106f3934eb8e670135a8b7bd09c7") - version("5.1.0", sha256="d9122189103ebafe7ec5aeb50e60f3e02af5c2747021f9071aab91e7f875c29e") + version("5.4.3", sha256="39d00951a9b3cbdc4205a7e3ce75c026d9428c71c784815288c445f84a7f8a0e") + version("5.4.0", sha256="dccf004434e0fee6d0c7bedd46827f5a2af0392bc4807a08403b130e461f55eb") + version("5.3.3", sha256="3af022250bc25bebdee12bfb8fdbab4b60513b537b9fe15dfa82ded8850c5066") + version("5.3.0", sha256="f623449789a5c9c9137ae51d4dbbee5c6940d8813826629cb4b7e84f07fab494") + + depends_on("cxx", type="build") # generated amdgpu_targets = ROCmPackage.amdgpu_targets @@ -60,11 +58,6 @@ class Rocalution(CMakePackage): depends_on("cmake@3.5:", type="build") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -79,6 +72,7 @@ class Rocalution(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocprim@{ver}", when=f"@{ver}") @@ -92,9 +86,6 @@ class Rocalution(CMakePackage): depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on("googletest@1.10.0:", type="test") - # This fix is added to address the compilation failure and it is - # already taken in 5.2.3 rocm release. - patch("0003-fix-compilation-for-rocalution-5.2.0.patch", when="@5.2") # Fix build for most Radeon 5000 and Radeon 6000 series GPUs. patch("0004-fix-navi-1x.patch", when="@5.2.0:5.3") @@ -126,9 +117,7 @@ def cmake_args(self): self.define("BUILD_CLIENTS_SAMPLES", "OFF"), self.define("BUILD_CLIENTS_TESTS", self.run_tests), ] - if self.spec.satisfies("@:5.1"): - args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)) - elif self.spec.satisfies("@5.2:"): + if self.spec.satisfies("@5.2:"): args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip)) if "auto" not in self.spec.variants["amdgpu_target"]: args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target")) diff --git a/var/spack/repos/builtin/packages/rocblas/0003-Fix-rocblas-gentest.patch b/var/spack/repos/builtin/packages/rocblas/0003-Fix-rocblas-gentest.patch deleted file mode 100644 index 4bc1631fec73e4..00000000000000 --- a/var/spack/repos/builtin/packages/rocblas/0003-Fix-rocblas-gentest.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff -r -u a/clients/common/rocblas_gentest.py b/clients/common/rocblas_gentest.py ---- a/clients/common/rocblas_gentest.py 2021-11-12 12:22:24.359556397 -0700 -+++ b/clients/common/rocblas_gentest.py 2021-11-12 12:22:41.464044040 -0700 -@@ -1,4 +1,4 @@ --#!/usr/bin/python3 -+#!/usr/bin/env python3 - """Copyright 2018-2020 Advanced Micro Devices, Inc. - Expand rocBLAS YAML test data file into binary Arguments records""" - diff --git a/var/spack/repos/builtin/packages/rocblas/package.py b/var/spack/repos/builtin/packages/rocblas/package.py index 2c1c7f8e02ef20..4c91b3bd04eff1 100644 --- a/var/spack/repos/builtin/packages/rocblas/package.py +++ b/var/spack/repos/builtin/packages/rocblas/package.py @@ -23,6 +23,7 @@ class Rocblas(CMakePackage): version("develop", branch="develop") version("master", branch="master") + version("6.1.2", sha256="1e83918bd7b28ec9ee292c6fb7eb0fc5f4db2d5d831a9a3db541f14a90c20a1a") version("6.1.1", sha256="c920742fb8f45512c360cdb40e37d0ac767f042e52f1981264853dab5ec2c876") version("6.1.0", sha256="af00357909da60d82618038aa9a3cc1f9d4ce1bdfb54db20ec746b592d478edf") version("6.0.2", sha256="d1bf31063a2d349797b88c994c91d05f94e681bafb5550ad9b53529703d89dbb") @@ -33,16 +34,15 @@ class Rocblas(CMakePackage): version("5.6.0", sha256="6a70b27eede02c45f46095a6ce8421af9a774a565e39f5e1074783ecf00c1ea7") version("5.5.1", sha256="7916a8d238d51cc239949d799f0b61c9d5cd63c6ccaed0e16749489b89ca8ff3") version("5.5.0", sha256="b5260517f199e806ae18f2c4495f163884e0d7a0a7c67af0770f7428ea50f898") - version("5.4.3", sha256="d82cd334b7a9b40d16ec4f4bb1fb5662382dcbfc86ee5e262413ed63d9e6a701") - version("5.4.0", sha256="261e05375024a01e68697c5d175210a07f0f5fc63a756234d996ddedffde78a2") - version("5.3.3", sha256="62a3b5f415bd8e0dcd0d68233d379f1a928ec0349977c32b4eea72ae5004e805") - version("5.3.0", sha256="8ea7269604cba949a6ea84b78dc92a44fa890427db88334da6358813f6512e34") with default_args(deprecated=True): - version("5.2.3", sha256="36f74ce53b82331a756c42f95f3138498d6f4a66f2fd370cff9ab18281bb12d5") - version("5.2.1", sha256="6be804ba8d9e491a85063c220cd0ddbf3d13e3b481eee31041c35a938723f4c6") - version("5.2.0", sha256="b178b7db5f0af55b21b5f744b8825f5e002daec69b4688e50df2bca2fac155bd") - version("5.1.3", sha256="915374431db8f0cecdc2bf318a0ad33c3a8eceedc461d7a06b92ccb02b07313c") - version("5.1.0", sha256="efa0c424b5ada697314aa8a78c19c93ade15f1612c4bfc8c53d71d1c9719aaa3") + version("5.4.3", sha256="d82cd334b7a9b40d16ec4f4bb1fb5662382dcbfc86ee5e262413ed63d9e6a701") + version("5.4.0", sha256="261e05375024a01e68697c5d175210a07f0f5fc63a756234d996ddedffde78a2") + version("5.3.3", sha256="62a3b5f415bd8e0dcd0d68233d379f1a928ec0349977c32b4eea72ae5004e805") + version("5.3.0", sha256="8ea7269604cba949a6ea84b78dc92a44fa890427db88334da6358813f6512e34") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated amdgpu_targets = ROCmPackage.amdgpu_targets @@ -64,18 +64,12 @@ class Rocblas(CMakePackage): depends_on("googletest@1.10.0:", type="test") depends_on("amdblis", type="test") - for ver in ["5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1"]: + for ver in ["5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2"]: depends_on(f"rocm-openmp-extras@{ver}", type="test", when=f"@{ver}") depends_on("rocm-cmake@master", type="build", when="@master:") - depends_on("rocm-cmake", type="build") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -90,10 +84,12 @@ class Rocblas(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"llvm-amdgpu@{ver}", type="build", when=f"@{ver}") depends_on(f"rocminfo@{ver}", type="build", when=f"@{ver}") + depends_on(f"rocm-cmake@{ver}", type="build", when=f"@{ver}") depends_on("python@3.6:", type="build") @@ -110,11 +106,6 @@ class Rocblas(CMakePackage): depends_on("procps", type="build", when="@5.6:") for t_version, t_commit in [ - ("@5.1.0", "ea38f8661281a37cd81c96cc07868e3f07d2c4da"), - ("@5.1.3", "ea38f8661281a37cd81c96cc07868e3f07d2c4da"), - ("@5.2.0", "9ca08f38c4c3bfe6dfa02233637e7e3758c7b6db"), - ("@5.2.1", "9ca08f38c4c3bfe6dfa02233637e7e3758c7b6db"), - ("@5.2.3", "9ca08f38c4c3bfe6dfa02233637e7e3758c7b6db"), ("@5.3.0", "b33ca97af456cda14f7b1ec9bcc8aeab3ed6dd08"), ("@5.3.3", "006a5d653ce0d82fecb05d5e215d053749b57c04"), ("@5.4.0", "5aec08937473b27865fa969bb38a83bcf9463c2b"), @@ -129,6 +120,7 @@ class Rocblas(CMakePackage): ("@6.0.2", "17df881bde80fc20f997dfb290f4bb4b0e05a7e9"), ("@6.1.0", "2b55ccf58712f67b3df0ca53b0445f094fcb96b2"), ("@6.1.1", "2b55ccf58712f67b3df0ca53b0445f094fcb96b2"), + ("@6.1.2", "2b55ccf58712f67b3df0ca53b0445f094fcb96b2"), ]: resource( name="Tensile", @@ -145,7 +137,6 @@ class Rocblas(CMakePackage): when=f"@{ver} +tensile", ) - patch("0003-Fix-rocblas-gentest.patch", when="@:5.1") # Finding Python package and set command python as python3 patch("0004-Find-python.patch", when="@5.2.0:5.4") patch("0006-Guard-use-of-OpenMP-to-make-it-optional-5.4.patch", when="@5.4") diff --git a/var/spack/repos/builtin/packages/rocfft/0003-Fix-clients-fftw3-include-dirs-rocm-4.5.patch b/var/spack/repos/builtin/packages/rocfft/0003-Fix-clients-fftw3-include-dirs-rocm-4.5.patch deleted file mode 100644 index aaf44a872a4e9c..00000000000000 --- a/var/spack/repos/builtin/packages/rocfft/0003-Fix-clients-fftw3-include-dirs-rocm-4.5.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt -index 7f14a55..a62fbd4 100644 ---- a/clients/CMakeLists.txt -+++ b/clients/CMakeLists.txt -@@ -103,6 +103,7 @@ if( BUILD_CLIENTS_TESTS OR BUILD_CLIENTS_SAMPLES ) - # look for installed FFTW if we weren't asked to build it - if( NOT BUILD_FFTW ) - find_package( FFTW 3.0 MODULE COMPONENTS FLOAT DOUBLE ) -+ set( FFTW_INCLUDES ${FFTW_INCLUDE_DIRS} ) - endif() - - # also try to build FFTW if FFTW isn't present diff --git a/var/spack/repos/builtin/packages/rocfft/package.py b/var/spack/repos/builtin/packages/rocfft/package.py index 6c02581ce8da07..121e9764361640 100644 --- a/var/spack/repos/builtin/packages/rocfft/package.py +++ b/var/spack/repos/builtin/packages/rocfft/package.py @@ -20,6 +20,7 @@ class Rocfft(CMakePackage): libraries = ["librocfft"] license("MIT") + version("6.1.2", sha256="6f54609b0ecb8ceae8b7acd4c8692514c2c2dbaf0f8b199fe990fd4711428193") version("6.1.1", sha256="d517a931d49a1e59df4e494ab2b68e301fe7ebf39723863985567467f111111c") version("6.1.0", sha256="9e6643174a2b0f376127f43454e78d4feba6fac695d4cda9796da50005ecac66") version("6.0.2", sha256="d3e1f7a4dc661f1e5ffce02e2e01ae6c3c339bac8e93deaf175e4c03ddfea459") @@ -30,16 +31,13 @@ class Rocfft(CMakePackage): version("5.6.0", sha256="e3d4a6c1bdac78f9a22033f57011af783d560308103f73542f9e0e4dd133d38a") version("5.5.1", sha256="57423a64f5cdb1c37ff0891b6c17b59f73198d46be42db4ae23781ef2c0cd49d") version("5.5.0", sha256="9288152e66504b06082e4eed8cdb791b4f9ae2836b3defbeb4d2b54901b96485") - version("5.4.3", sha256="ed9664adc9825c237327497bc4b23f020d50be7645647f14a45f4d943dd506e7") - version("5.4.0", sha256="d35a67332f4425fba1824eed78cf98d5c9a17a422614ff3f4cba2461df952336") - version("5.3.3", sha256="678c18710578c1fb36a0009311bb79de7607c3468f9102cfba56a866ebb7ff78") - version("5.3.0", sha256="d655c5541c4aff4267e80e36d002fc3a55c2f84a0ae8631197c12af3bf03fa7d") with default_args(deprecated=True): - version("5.2.3", sha256="0cee37886f01f1afb3ae5dad1164c819573c13c6675bff4eb668de334adbff27") - version("5.2.1", sha256="6302349b6cc610a9a939377e2c7ffba946656a8d43f2e438ff0b3088f0f963ad") - version("5.2.0", sha256="ebba280b7879fb4bc529a68072b98d4e815201f90d24144d672094bc241743d4") - version("5.1.3", sha256="b4fcd03c1b07d465bb307ec33cc7fb50036dff688e497c5e52b2dec37f4cb618") - version("5.1.0", sha256="dc11c9061753ae43a9d5db9c4674aa113a8adaf50818b2701cbb940894147f68") + version("5.4.3", sha256="ed9664adc9825c237327497bc4b23f020d50be7645647f14a45f4d943dd506e7") + version("5.4.0", sha256="d35a67332f4425fba1824eed78cf98d5c9a17a422614ff3f4cba2461df952336") + version("5.3.3", sha256="678c18710578c1fb36a0009311bb79de7607c3468f9102cfba56a866ebb7ff78") + version("5.3.0", sha256="d655c5541c4aff4267e80e36d002fc3a55c2f84a0ae8631197c12af3bf03fa7d") + + depends_on("cxx", type="build") # generated amdgpu_targets = ROCmPackage.amdgpu_targets @@ -68,11 +66,6 @@ class Rocfft(CMakePackage): depends_on("rocrand", type="test") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -87,12 +80,11 @@ class Rocfft(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") - # Patch to add spack build test support. No longer required from 5.2 - patch("0003-Fix-clients-fftw3-include-dirs-rocm-4.5.patch", when="@:5.1") # Patch to add install prefix header location for sqlite for 5.4 patch("0004-fix-missing-sqlite-include-paths.patch", when="@5.4.0:5.5") # Patch to fix the build issue when --test=root is enabled diff --git a/var/spack/repos/builtin/packages/rocksdb/package.py b/var/spack/repos/builtin/packages/rocksdb/package.py index 49f768eed9b5c7..6feab293aa8b5a 100644 --- a/var/spack/repos/builtin/packages/rocksdb/package.py +++ b/var/spack/repos/builtin/packages/rocksdb/package.py @@ -16,6 +16,7 @@ class Rocksdb(MakefilePackage): license("Apache-2.0 OR GPL-2.0-only") version("master", git=git, branch="master", submodules=True) + version("9.4.0", sha256="1f829976aa24b8ba432e156f52c9e0f0bd89c46dc0cc5a9a628ea70571c1551c") version("9.2.1", sha256="bb20fd9a07624e0dc1849a8e65833e5421960184f9c469d508b58ed8f40a780f") version("8.6.7", sha256="cdb2fc3c6a556f20591f564cb8e023e56828469aa3f76e1d9535c443ba1f0c1a") version("8.1.1", sha256="9102704e169cfb53e7724a30750eeeb3e71307663852f01fa08d5a320e6155a8") @@ -31,6 +32,9 @@ class Rocksdb(MakefilePackage): version("5.16.6", sha256="f0739edce1707568bdfb36a77638fd5bae287ca21763ce3e56cf0bfae8fff033") version("5.15.10", sha256="26d5d4259fa352ae1604b5b4d275f947cacc006f4f7d2ef0b815056601b807c0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("bz2", default=False, description="Enable bz2 compression support") variant("lz4", default=True, description="Enable lz4 compression support") variant("shared", default=True, description="Build shared library") diff --git a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py index f61a2befda85d3..c1e290b669d6fe 100644 --- a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py +++ b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py @@ -12,12 +12,13 @@ class RocmBandwidthTest(CMakePackage): homepage = "https://github.com/ROCm/rocm_bandwidth_test" git = "https://github.com/ROCm/rocm_bandwidth_test.git" - url = "https://github.com/ROCm/rocm_bandwidth_test/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/rocm_bandwidth_test/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") version("master", branch="master") + version("6.1.2", sha256="4259d53350d6731613d36c03593750547f84f084569f8017783947486b8189da") version("6.1.1", sha256="01da756228f2bfb5e25ddb74b75a5939693b1b4f4559f37cfc85729e36a98450") version("6.1.0", sha256="b06522efbd1a55247412c8f535321058e2463eab4abd25505c37e8c67941ae26") version("6.0.2", sha256="af95fe84729701184aeb14917cee0d8d77ab1858ddcced01eb7380401e2134ae") @@ -28,25 +29,17 @@ class RocmBandwidthTest(CMakePackage): version("5.6.0", sha256="ae2f7263a21a3a650068f43e3112b2b765eea80a5af2297572f850c77f83c85e") version("5.5.1", sha256="768b3da49fe7d4bb4e6536a8ee15be9f5e865d961e813ed4a407f32402685e1f") version("5.5.0", sha256="1070ce14d45f34c2c6b2fb003184f3ae735ccfd640e9df1c228988b2a5a82949") - version("5.4.3", sha256="a2f5a75bf47db1e39a4626a9f5cd2d120bcafe56b1baf2455d794f7a4734993e") - version("5.4.0", sha256="47a1ef92e565d5ce7a167cc1ebe3d4198cc04d598b259426245b8c11eb795677") - version("5.3.3", sha256="2bc079297e639d45d57c8017f6f47bc44d4ed34613ec76c80574bb703d79b498") - version("5.3.0", sha256="a97365c04d79663db7c85027c63a12d56356abc0a351697f49c2d82bf9ef8999") with default_args(deprecated=True): - version("5.2.3", sha256="b76fe33898d67ec1f5f1ec58adaea88e88ed28b1f5470aa4c08c347d8f558af2") - version("5.2.1", sha256="ebdf868bef8ab6c7f32775ba6eab85cf3e078af1fc1b1a11fdbaad777f37a190") - version("5.2.0", sha256="046f2a6984c62899f57a557490136fbe7ab28e2fd334750abac71b03609226ef") - version("5.1.3", sha256="6a6e7fb998c886951db75dcf34dca523d9caaff8d0ccf2b7431504a1808b1ff3") - version("5.1.0", sha256="18fe51f0ba61760fc89ffc81f737fd4fa20fb4b00df3f35145be77c3e0a6162b") + version("5.4.3", sha256="a2f5a75bf47db1e39a4626a9f5cd2d120bcafe56b1baf2455d794f7a4734993e") + version("5.4.0", sha256="47a1ef92e565d5ce7a167cc1ebe3d4198cc04d598b259426245b8c11eb795677") + version("5.3.3", sha256="2bc079297e639d45d57c8017f6f47bc44d4ed34613ec76c80574bb703d79b498") + version("5.3.0", sha256="a97365c04d79663db7c85027c63a12d56356abc0a351697f49c2d82bf9ef8999") + + depends_on("cxx", type="build") # generated depends_on("cmake@3:", type="build") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -61,6 +54,7 @@ class RocmBandwidthTest(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", "master", ]: depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") @@ -77,6 +71,7 @@ class RocmBandwidthTest(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py b/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py index f6ba1bf3f46375..4197bf22898499 100644 --- a/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py +++ b/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py @@ -11,13 +11,16 @@ class RocmClangOcl(CMakePackage): homepage = "https://github.com/ROCm/clang-ocl" git = "https://github.com/ROCm/clang-ocl.git" - url = "https://github.com/ROCm/clang-ocl/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/clang-ocl/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] + test_requires_compiler = True + license("MIT") maintainers("srekolam", "renjithravindrankannath") version("master", branch="master") + version("6.1.2", sha256="cc9942539b5e50b97fa0d2425ba93aae7223635fecba869d8f43b2c26f9482ae") version("6.1.1", sha256="21b8a6d521a8e584e18851d27b5ef328a63ea7ee9eb3cc52508b9bfcf975e119") version("6.1.0", sha256="c983adad49ab5850307db1282f8bc957b9870d4ce37db8fbb43c52db6c90d0ed") version("6.0.2", sha256="a2f2fcb203737b1f436b4c2b78bbd696552f6de619ba0e7e8faf95a888869866") @@ -28,25 +31,15 @@ class RocmClangOcl(CMakePackage): version("5.6.0", sha256="1afc47dee02d73c10de422f254067f4ef3ff921c4a1204d54ecc40e61fc63497") version("5.5.1", sha256="bfa62ad14830e2bd5afbc346685216c69f8cbef0eb449954f793178e10b19a38") version("5.5.0", sha256="43a5459165693301ba2ebcc41b2b0705df9a3a47571d43bdc2cc49cfdd0833a7") - version("5.4.3", sha256="689e0354ea685bd488116de8eb902b902492e9ace184c3109b97b9a43f8b2d59") - version("5.4.0", sha256="602f8fb1f36587543cc0ee95fd1938f8eeb03de79119101e128150332cc8d89c") - version("5.3.3", sha256="549d5bf37507f67c5277abdeed4ec40b5d0edbfbb72907c685444c26b9ce6f8a") - version("5.3.0", sha256="66b80ba050848ad921496bd894e740e66afad0ba1923b385f01f2eeae97999ad") with default_args(deprecated=True): - version("5.2.3", sha256="9cdb387168975207314c08ba63ae7cd11f70542117a5390eddbec77ebb84bed0") - version("5.2.1", sha256="693a9a360cb2f7e6910a6714df236df6a9d984f94b01712103a520d8e506c03f") - version("5.2.0", sha256="a2059f6aeccc119abbd444cb37128e00e4854e22a88a47f120f8f8b947d862c5") - version("5.1.3", sha256="e19ee15f26fc03309398ac73cc738508c0e1617deccfd667d369a3948b5d3552") - version("5.1.0", sha256="38d9e2e98cff1a262fdd45c3239fd76a9f6ad5eff38a31aa19c3bb0faea53375") + version("5.4.3", sha256="689e0354ea685bd488116de8eb902b902492e9ace184c3109b97b9a43f8b2d59") + version("5.4.0", sha256="602f8fb1f36587543cc0ee95fd1938f8eeb03de79119101e128150332cc8d89c") + version("5.3.3", sha256="549d5bf37507f67c5277abdeed4ec40b5d0edbfbb72907c685444c26b9ce6f8a") + version("5.3.0", sha256="66b80ba050848ad921496bd894e740e66afad0ba1923b385f01f2eeae97999ad") depends_on("cmake@3.5:", type="build") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -61,6 +54,7 @@ class RocmClangOcl(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", "master", ]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") @@ -79,6 +73,7 @@ class RocmClangOcl(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") @@ -88,19 +83,13 @@ class RocmClangOcl(CMakePackage): 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 + def test_make(self): + """Test make""" 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-clang-ocl"].prefix]) - cc_options = ["-DCMAKE_PREFIX_PATH=" + prefixes, "."] - self.run_test(cmake_bin, cc_options) + with working_dir(test_dir): + cmake = self.spec["cmake"].command + cmake("-DCMAKE_PREFIX_PATH=" + self.spec["rocm-clang-ocl"].prefix, ".") + make = which("make") make() - make("clean") diff --git a/var/spack/repos/builtin/packages/rocm-cmake/package.py b/var/spack/repos/builtin/packages/rocm-cmake/package.py index 47ef84dd5385fb..21cab81467347b 100644 --- a/var/spack/repos/builtin/packages/rocm-cmake/package.py +++ b/var/spack/repos/builtin/packages/rocm-cmake/package.py @@ -13,7 +13,7 @@ class RocmCmake(CMakePackage): homepage = "https://github.com/ROCm/rocm-cmake" git = "https://github.com/ROCm/rocm-cmake.git" - url = "https://github.com/ROCm/rocm-cmake/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/rocm-cmake/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") @@ -21,6 +21,7 @@ class RocmCmake(CMakePackage): license("MIT") version("master", branch="master") + version("6.1.2", sha256="0757bb90f25d6f1e6bc93bdd1e238f76bbaddf154d66f94f37e40c425dc6d259") version("6.1.1", sha256="0eb81245f7573a3cadf9e91a854d9a0a014ce93610e4e7ea4d8309867a470bf6") version("6.1.0", sha256="8b37d458e801b486521f12d18ca2103125173dd0f1130d37c8c36e795d34772b") version("6.0.2", sha256="7bd3ff971b1a898b8cf06b0ed9fac45891e2523ae651c3194ba36050ab45f869") @@ -31,16 +32,13 @@ class RocmCmake(CMakePackage): version("5.6.0", sha256="a118ca937856a4d0039955a8aef2466ef1fd1f08f7f7221cda53e1b5d02e476a") version("5.5.1", sha256="60113412b35d94e20e8100ed3db688c35801991b4b8fa282fdc6fd6fd413fb6e") version("5.5.0", sha256="b7884c346737eba70ae11044e41598b2482a92e21f3e0719b1ca11619f02a20b") - version("5.4.3", sha256="c185b3a10d191d73b76770ca0f9d6bdc355ee91fe0c9016a3779c9cfe042ba0f") - version("5.4.0", sha256="617faa9a1e51db3c7a59bd0393e054ab67e57be357d59cb0cd9b677f47824946") - version("5.3.3", sha256="3e527f99db52e301ab4f1b994029585951e2ae685f0cdfb7b8529c72f4b77af4") - version("5.3.0", sha256="659a8327f13e6786103dd562d3632e89a51244548fca081f46c753857cf09d04") with default_args(deprecated=True): - version("5.2.3", sha256="c63b707ec07d24fda5a2a6fffeda4df4cc04ceea5df3b8822cbe4e6600e358b4") - version("5.2.1", sha256="3d179496fb8f5f96230f736a313990f66705dc91fd10948a3042b495a440bf63") - version("5.2.0", sha256="be8646c4f7babfe9a103c97d0e9f369322f8ac6cfa528edacdbdcf7f3ef44943") - version("5.1.3", sha256="19b2da0d56300aab454655b57435ab3ed9e101ecb96561336ea8865bbd993c23") - version("5.1.0", sha256="2eff47b7cf5bd56d465ff3c110eb936d31860df60182a82ba511ba11bbcf23fc") + version("5.4.3", sha256="c185b3a10d191d73b76770ca0f9d6bdc355ee91fe0c9016a3779c9cfe042ba0f") + version("5.4.0", sha256="617faa9a1e51db3c7a59bd0393e054ab67e57be357d59cb0cd9b677f47824946") + version("5.3.3", sha256="3e527f99db52e301ab4f1b994029585951e2ae685f0cdfb7b8529c72f4b77af4") + version("5.3.0", sha256="659a8327f13e6786103dd562d3632e89a51244548fca081f46c753857cf09d04") + + depends_on("cxx", type="build") # generated depends_on("cmake@3.6:", type="build") @@ -55,6 +53,7 @@ class RocmCmake(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") @@ -64,19 +63,15 @@ class RocmCmake(CMakePackage): 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 + def test_cmake(self): + """Test cmake""" 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-cmake"].prefix]) cc_options = ["-DCMAKE_PREFIX_PATH=" + prefixes, "."] - self.run_test(cmake_bin, cc_options) + cmake = which(self.spec["cmake"].prefix.bin.cmake) + cmake(*cc_options) make() make("clean") diff --git a/var/spack/repos/builtin/packages/rocm-core/package.py b/var/spack/repos/builtin/packages/rocm-core/package.py index 3ad7f4f18e7fce..c57faf1bd21aaf 100644 --- a/var/spack/repos/builtin/packages/rocm-core/package.py +++ b/var/spack/repos/builtin/packages/rocm-core/package.py @@ -20,6 +20,7 @@ class RocmCore(CMakePackage): libraries = ["librocm-core"] license("MIT") + version("6.1.2", sha256="ce9cbe12977f2058564ecb4cdcef4fd0d7880f6eff8591630f542441092f4fa3") version("6.1.1", sha256="a27bebdd1ba9d387f33b82a67f64c55cb565b482fe5017d5b5726d68da1ab839") version("6.1.0", sha256="9dfe542d1647c42993b06f594c316dad63ba6d6fb2a7398bd72c5768fd1d7b5b") version("6.0.2", sha256="04f01dca2862f0bf781de8afb74aabefc3c9b1d9f01bc8cadb2eb3d7395119cc") @@ -31,6 +32,8 @@ class RocmCore(CMakePackage): version("5.5.1", sha256="bc73060432ffdc2e210394835d383890b9652476074ef4708d447473f273ce76") version("5.5.0", sha256="684d3312bb14f05dc280cf136f5eddff38ba340cd85c383d6a217d8e27d3d57d") + depends_on("cxx", type="build") # generated + def cmake_args(self): args = [self.define("ROCM_VERSION", self.spec.version)] return args diff --git a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py index 61c08ba9aca66a..baca1f2b9f19e4 100644 --- a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py +++ b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py @@ -16,7 +16,7 @@ class RocmDbgapi(CMakePackage): homepage = "https://github.com/ROCm/ROCdbgapi" git = "https://github.com/ROCm/ROCdbgapi.git" - url = "https://github.com/ROCm/ROCdbgapi/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/ROCdbgapi/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") @@ -25,6 +25,7 @@ class RocmDbgapi(CMakePackage): license("MIT") version("master", branch="amd-master") + version("6.1.2", sha256="6e55839e3d95c2cfe3ff89e3e31da77aeecc74012a17f5308589e8808df78026") version("6.1.1", sha256="425a6cf6a3942c2854c1f5e7717bed906cf6c3753b46c44476f54bfef6188dac") version("6.1.0", sha256="0985405b6fd44667a7ce8914aa39a7e651613e037e649fbdbfa2adcf744a2d50") version("6.0.2", sha256="39036f083de421f46afd8d3a8799576242ef64002643d7185767ccbba41ae854") @@ -35,26 +36,18 @@ class RocmDbgapi(CMakePackage): version("5.6.0", sha256="9b66e47f4eccb3c8bbc324aade92aac6139539dda449427b7823d0c45341afc8") version("5.5.1", sha256="c41dfc62591bcf42003fe744d8bd03a51311d54e4b012f946ca0ede0c14dd977") version("5.5.0", sha256="ce572340a3fe99e4f1538eb614933153456003f8dfe9306a5735cdd25b451e25") - version("5.4.3", sha256="d647c9121a50f2c54367c567d8f39a145cb135e1ceed931581659f57f49f61e5") - version("5.4.0", sha256="895eb7056864daada40c3f9cd37645b0bdf4b6dc408b5f8cc974fc4cd9ab7ccb") - version("5.3.3", sha256="3c81cb23fe671d391557a63c13b6a13d4dc367db5cb5de55592a6758284d8a3f") - version("5.3.0", sha256="afffec78e34fe70952cd41efc3d7ba8f64e43acb2ad20aa35c9b8b591bed48ca") with default_args(deprecated=True): - version("5.2.3", sha256="17925d23f614ecb2b40dffe5e14535cba380d4f489ea1a027762c356be9fbc2b") - version("5.2.1", sha256="169e3914ebd99d6a5c034c568964b7bad56611262e292f77c0c65a7708e02376") - version("5.2.0", sha256="44f0528a7583bc59b6585166d2289970b20115c4c70e3bcc218aff19fc242b3f") - version("5.1.3", sha256="880f80ebf741e3451676837f720551e02cffd0b9346ca4dfa6cf7f7043282f2b") - version("5.1.0", sha256="406db4b20bda12f6f32cbef88b03110aa001bf7bef6676f36e909b53c8354e43") + version("5.4.3", sha256="d647c9121a50f2c54367c567d8f39a145cb135e1ceed931581659f57f49f61e5") + version("5.4.0", sha256="895eb7056864daada40c3f9cd37645b0bdf4b6dc408b5f8cc974fc4cd9ab7ccb") + version("5.3.3", sha256="3c81cb23fe671d391557a63c13b6a13d4dc367db5cb5de55592a6758284d8a3f") + version("5.3.0", sha256="afffec78e34fe70952cd41efc3d7ba8f64e43acb2ad20aa35c9b8b591bed48ca") + + depends_on("cxx", type="build") # generated depends_on("cmake@3:", type="build") depends_on("hwdata", when="@5.5.0:") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -69,6 +62,7 @@ class RocmDbgapi(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", "master", ]: depends_on(f"hsa-rocr-dev@{ver}", type="build", when=f"@{ver}") @@ -85,6 +79,7 @@ class RocmDbgapi(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py index decb518f069073..a40c9523ab6b8f 100644 --- a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py +++ b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py @@ -13,11 +13,12 @@ class RocmDebugAgent(CMakePackage): homepage = "https://github.com/ROCm/rocr_debug_agent" git = "https://github.com/ROCm/rocr_debug_agent.git" - url = "https://github.com/ROCm/rocr_debug_agent/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/rocr_debug_agent/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") libraries = ["librocm-debug-agent"] + version("6.1.2", sha256="c7cb779915a3d61e39d92cef172997bcf5eae720308f6d9c363a2cbc71b5621c") version("6.1.1", sha256="c631281b346bab9ec3607c59404f548f7cba084a05e9c9ceb3c3579c48361ad1") version("6.1.0", sha256="f52700563e490d662b505693d485272d73521aabff306107586dd1149fb4a70e") version("6.0.2", sha256="da8da1241a6cbb9d0b2a3b81829faf632225a7a27ca881c9715b9f05bca54c89") @@ -28,26 +29,18 @@ class RocmDebugAgent(CMakePackage): version("5.6.0", sha256="0bed788f07906afeb9092d0bec184a7963233ac9d8ccd20b4afeb624a1d20698") version("5.5.1", sha256="1bb66734f11bb57df6efa507f0217651446653bf28b3ca36acfcf94511a7c2bc") version("5.5.0", sha256="4f2431a395a77a06dc417ed1e9188731b031a0c680e62c6eee19d60965317f5a") - version("5.4.3", sha256="b2c9ac198ea3cbf35e7e80f57c5d81c461de78b821d07b637ea4037a65cdf49f") - version("5.4.0", sha256="94bef73ea0a6d385dab2292ee591ca1dc268a5585cf9f1b5092a1530949f575e") - version("5.3.3", sha256="7170312d08e91334ee03586aa1f23d67f33d9ec0df25a5556cbfa3f210b15b06") - version("5.3.0", sha256="8dfb6aa442ce136207c0c089321c8099042395977b4a488e4ca219661df0cd78") with default_args(deprecated=True): - version("5.2.3", sha256="5d31372e2980738271ae26b92dcc402c387cdf5f23710ce6feeb2bd303ff7ea0") - version("5.2.1", sha256="a60c224c546a25dafcff1e50ce3a1605e152efdb36624a672ddb5812cd34773e") - version("5.2.0", sha256="f8e8d5ad691033d0c0f1850d69f35c98ba9722ab4adc66c4251f22257f56f0a2") - version("5.1.3", sha256="ef26130829f3348d503669467ab1ea39fb67d943d88d64e7ac04b9617ec6067d") - version("5.1.0", sha256="e0ceeef575d8645385bc6e4c9c3accaa192a93c42d83545cf5626c848f59806b") + version("5.4.3", sha256="b2c9ac198ea3cbf35e7e80f57c5d81c461de78b821d07b637ea4037a65cdf49f") + version("5.4.0", sha256="94bef73ea0a6d385dab2292ee591ca1dc268a5585cf9f1b5092a1530949f575e") + version("5.3.3", sha256="7170312d08e91334ee03586aa1f23d67f33d9ec0df25a5556cbfa3f210b15b06") + version("5.3.0", sha256="8dfb6aa442ce136207c0c089321c8099042395977b4a488e4ca219661df0cd78") + + depends_on("cxx", type="build") # generated depends_on("cmake@3:", type="build") depends_on("elfutils@:0.168", type="link") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -62,31 +55,10 @@ class RocmDebugAgent(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") - - for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", - "5.3.0", - "5.3.3", - "5.4.0", - "5.4.3", - "5.5.0", - "5.5.1", - "5.6.0", - "5.6.1", - "5.7.0", - "5.7.1", - "6.0.0", - "6.0.2", - "6.1.0", - "6.1.1", - ]: depends_on(f"rocm-dbgapi@{ver}", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") @@ -100,7 +72,7 @@ class RocmDebugAgent(CMakePackage): "6.0.0", "6.0.2", "6.1.0", - "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") @@ -119,10 +91,5 @@ def determine_version(cls, lib): def cmake_args(self): spec = self.spec - args = [] - - if spec.satisfies("@:5.1"): - args.append(self.define("CMAKE_MODULE_PATH", spec["hip"].prefix.cmake)) - elif spec.satisfies("@5.2.0:"): - args.append(self.define("CMAKE_MODULE_PATH", spec["hip"].prefix.lib.cmake.hip)) + args = [self.define("CMAKE_MODULE_PATH", spec["hip"].prefix.lib.cmake.hip)] return args diff --git a/var/spack/repos/builtin/packages/rocm-device-libs/package.py b/var/spack/repos/builtin/packages/rocm-device-libs/package.py index c815e8f51f99d0..9e7774d39f4fd1 100644 --- a/var/spack/repos/builtin/packages/rocm-device-libs/package.py +++ b/var/spack/repos/builtin/packages/rocm-device-libs/package.py @@ -25,6 +25,7 @@ def url_for_version(self, version): maintainers("srekolam", "renjithravindrankannath", "haampie") version("master", branch="amd-stg-open") + version("6.1.2", sha256="300e9d6a137dcd91b18d5809a316fddb615e0e7f982dc7ef1bb56876dff6e097") version("6.1.1", sha256="f1a67efb49f76a9b262e9735d3f75ad21e3bd6a05338c9b15c01e6c625c4460d") version("6.1.0", sha256="6bd9912441de6caf6b26d1323e1c899ecd14ff2431874a2f5883d3bc5212db34") version("6.0.2", sha256="c6d88b9b46e39d5d21bd5a0c1eba887ec473a370b1ed0cebd1d2e910eedc5837") @@ -35,16 +36,15 @@ def url_for_version(self, version): version("5.6.0", sha256="efb5dcdca9b3a9fbe408d494fb4a23e0b78417eb5fa8eebd4a5d226088f28921") version("5.5.1", sha256="3b5f6dd85f0e3371f6078da7b59bf77d5b210e30f1cc66ef1e2de6bbcb775833") version("5.5.0", sha256="5ab95aeb9c8bed0514f96f7847e21e165ed901ed826cdc9382c14d199cbadbd3") - version("5.4.3", sha256="f4f7281f2cea6d268fcc3662b37410957d4f0bc23e0df9f60b12eb0fcdf9e26e") - version("5.4.0", sha256="d68813ded47179c39914c8d1b76af3dad8c714b10229d1e2246af67609473951") - version("5.3.3", sha256="963c9a0561111788b55a8c3b492e2a5737047914752376226c97a28122a4d768") - version("5.3.0", sha256="f7e1665a1650d3d0481bec68252e8a5e68adc2c867c63c570f6190a1d2fe735c") with default_args(deprecated=True): - version("5.2.3", sha256="16b7fc7db4759bd6fb54852e9855fa16ead76c97871d7e1e9392e846381d611a") - version("5.2.1", sha256="e5855387ce73ed483ed0d03dbfef31f297c6ca66cf816f6816fd5ee373fc8225") - version("5.2.0", sha256="901674bc941115c72f82c5def61d42f2bebee687aefd30a460905996f838e16c") - version("5.1.3", sha256="c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e") - version("5.1.0", sha256="47dbcb41fb4739219cadc9f2b5f21358ed2f9895ce786d2f7a1b2c4fd044d30f") + version("5.4.3", sha256="f4f7281f2cea6d268fcc3662b37410957d4f0bc23e0df9f60b12eb0fcdf9e26e") + version("5.4.0", sha256="d68813ded47179c39914c8d1b76af3dad8c714b10229d1e2246af67609473951") + version("5.3.3", sha256="963c9a0561111788b55a8c3b492e2a5737047914752376226c97a28122a4d768") + version("5.3.0", sha256="f7e1665a1650d3d0481bec68252e8a5e68adc2c867c63c570f6190a1d2fe735c") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated depends_on("cmake@3.13.4:", type="build") @@ -58,11 +58,6 @@ def url_for_version(self, version): depends_on("llvm-amdgpu ~rocm-device-libs") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -77,6 +72,7 @@ def url_for_version(self, version): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", "master", ]: depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") @@ -92,6 +88,7 @@ def url_for_version(self, version): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/rocm-gdb/package.py b/var/spack/repos/builtin/packages/rocm-gdb/package.py index 69f8e84910ba7c..210b1301032b94 100644 --- a/var/spack/repos/builtin/packages/rocm-gdb/package.py +++ b/var/spack/repos/builtin/packages/rocm-gdb/package.py @@ -12,12 +12,13 @@ class RocmGdb(AutotoolsPackage): based on GDB, the GNU source-level debugger.""" homepage = "https://github.com/ROCm/ROCgdb" - url = "https://github.com/ROCm/ROCgdb/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/ROCgdb/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] license("LGPL-2.0-or-later") maintainers("srekolam", "renjithravindrankannath") + version("6.1.2", sha256="19208de18d503e1da79dc0c9085221072a68e299f110dc836204364fa1b532cc") version("6.1.1", sha256="3d982abc130a286d227948aca5783f2e4507ef4275be21dad0914e37217ba19e") version("6.1.0", sha256="e90d855ca4c1478acf143d45ff0811e7ecd068711db155de6d5f3593cdef6230") version("6.0.2", sha256="69b7c3d63435e7d99088980498c68422e52b69244d10a3a62541633e733286e0") @@ -28,16 +29,15 @@ class RocmGdb(AutotoolsPackage): version("5.6.0", sha256="997ef1883aac2769552bc7082c70b837f4e98b57d24c133cea52b9c92fb0dee1") version("5.5.1", sha256="359258548bc7e6abff16bb13c301339fb96560b2b961433c9e0712e4aaf2d9e1") version("5.5.0", sha256="d3b100e332facd9635e328f5efd9f0565250edbe05be986baa2e0470a19bcd79") - version("5.4.3", sha256="28c1ce39fb1fabe61f86f6e3c6940c10f9a8b8de77f7bb4fdd73b04e172f85f6") - version("5.4.0", sha256="7ee984d99818da04733030b140c1f0929639bc719a5e418d53cc2c2a8cbc9a79") - version("5.3.3", sha256="9fc3ccd9378ad40f2f0c9577bc400cc9a202d0ae4656378813b67653b9023c46") - version("5.3.0", sha256="402537baf0779cae586d608505e81173ba85f976fe993f1633e3afe81669350f") with default_args(deprecated=True): - version("5.2.3", sha256="c2df5cccd8bb07ea331b45091fb3141999a37a67696d273f3888b48f6d4281aa") - version("5.2.1", sha256="77169d88f24e6ccb6aef3945448b179edffe806a51a3e996236b08fb510f3979") - version("5.2.0", sha256="70c5b443292b9bb114844eb63b72cfab1b65f083511ee39d55db7a633c63bf5a") - version("5.1.3", sha256="81f5e368facdcc424a37cb5809f0b436bedb9a6d9af4d17785b3c446ab0a7821") - version("5.1.0", sha256="cf638149b269f838aaec59c5801098b9c0fc42f6c86a39309a8995b56978b424") + version("5.4.3", sha256="28c1ce39fb1fabe61f86f6e3c6940c10f9a8b8de77f7bb4fdd73b04e172f85f6") + version("5.4.0", sha256="7ee984d99818da04733030b140c1f0929639bc719a5e418d53cc2c2a8cbc9a79") + version("5.3.3", sha256="9fc3ccd9378ad40f2f0c9577bc400cc9a202d0ae4656378813b67653b9023c46") + version("5.3.0", sha256="402537baf0779cae586d608505e81173ba85f976fe993f1633e3afe81669350f") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated depends_on("cmake@3:", type="build") depends_on("texinfo", type="build") @@ -52,11 +52,6 @@ class RocmGdb(AutotoolsPackage): depends_on("mpfr", type=("build", "link")) for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -71,6 +66,7 @@ class RocmGdb(AutotoolsPackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-dbgapi@{ver}", type="link", when=f"@{ver}") depends_on(f"comgr@{ver}", type="link", when=f"@{ver}") @@ -86,6 +82,7 @@ class RocmGdb(AutotoolsPackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/rocm-opencl/package.py b/var/spack/repos/builtin/packages/rocm-opencl/package.py index 1022b25cab7e29..ea6e3779bfb384 100644 --- a/var/spack/repos/builtin/packages/rocm-opencl/package.py +++ b/var/spack/repos/builtin/packages/rocm-opencl/package.py @@ -5,6 +5,7 @@ import os import re +import sys from spack.package import * @@ -35,6 +36,9 @@ def url_for_version(self, version): license("MIT") version("master", branch="main") + version("6.1.2", sha256="1a1e21640035d957991559723cd093f0c7e202874423667d2ba0c7662b01fea4") + version("6.1.1", sha256="2db02f335c9d6fa69befcf7c56278e5cecfe3db0b457eaaa41206c2585ef8256") + version("6.1.0", sha256="49b23eef621f4e8e528bb4de8478a17436f42053a2f7fde21ff221aa683205c7") version("6.0.2", sha256="cb8ac610c8d4041b74fb3129c084f1e7b817ce1a5a9943feca1fa7531dc7bdcc") version("6.0.0", sha256="798b55b5b5fb90dd19db54f136d8d8e1da9ae1e408d5b12b896101d635f97e50") version("5.7.1", sha256="c78490335233a11b4d8a5426ace7417c555f5e2325de10422df06c0f0f00f7eb") @@ -43,16 +47,14 @@ def url_for_version(self, version): version("5.6.0", sha256="52ab260d00d279c2a86c353901ffd88ee61b934ad89e9eb480f210656705f04e") version("5.5.1", sha256="a8a62a7c6fc5398406d2203b8cb75621a24944688e545d917033d87de2724498") version("5.5.0", sha256="0df9fa0b8aa0c8e6711d34eec0fdf1ed356adcd9625bc8f1ce9b3e72090f3e4f") - version("5.4.3", sha256="b0f8339c844a2e62773bd85cd1e7c5ecddfe71d7c8e8d604e1a1d60900c30873") - version("5.4.0", sha256="a294639478e76c75dac0e094b418f9bd309309b07faf6af126cdfad9aab3c5c7") - version("5.3.3", sha256="cab394e6ef16c35bab8de29a66b96a7dc0e7d1297aaacba3718fa1d369233c9f") - version("5.3.0", sha256="d251e2efe95dc12f536ce119b2587bed64bbda013969fa72be58062788044a9e") with default_args(deprecated=True): - version("5.2.3", sha256="932ea3cd268410010c0830d977a30ef9c14b8c37617d3572a062b5d4595e2b94") - version("5.2.1", sha256="eb4ff433f8894ca659802f81792646034f8088b47aca6ad999292bcb8d6381d5") - version("5.2.0", sha256="80f73387effdcd987a150978775a87049a976aa74f5770d4420847b004dd59f0") - version("5.1.3", sha256="44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31") - version("5.1.0", sha256="362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927") + version("5.4.3", sha256="b0f8339c844a2e62773bd85cd1e7c5ecddfe71d7c8e8d604e1a1d60900c30873") + version("5.4.0", sha256="a294639478e76c75dac0e094b418f9bd309309b07faf6af126cdfad9aab3c5c7") + version("5.3.3", sha256="cab394e6ef16c35bab8de29a66b96a7dc0e7d1297aaacba3718fa1d369233c9f") + version("5.3.0", sha256="d251e2efe95dc12f536ce119b2587bed64bbda013969fa72be58062788044a9e") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("cmake@3:", type="build") depends_on("gl@4.5:", type="link") @@ -67,11 +69,6 @@ def url_for_version(self, version): ("5.4.0", "46a1579310b3ab9dc8948d0fb5bed4c6b312f158ca76967af7ab69e328d43138"), ("5.3.3", "f8133a5934f9c53b253d324876d74f08a19e2f5b073bc94a62fe64b0d2183a18"), ("5.3.0", "2bf14116b5e2270928265f5d417b3d0f0f2e13cbc8ec5eb8c80d4d4a58ff7e94"), - ("5.2.3", "0493c414d4db1af8e1eb30a651d9512044644244488ebb13478c2138a7612998"), - ("5.2.1", "465ca9fa16869cd89dab8c2d66d9b9e3c14f744bbedaa1d215b0746d77a500ba"), - ("5.2.0", "37f5fce04348183bce2ece8bac1117f6ef7e710ca68371ff82ab08e93368bafb"), - ("5.1.3", "ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48"), - ("5.1.0", "f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa"), ]: resource( name="rocclr", @@ -87,23 +84,18 @@ def url_for_version(self, version): patch( "https://github.com/ROCm/clr/commit/c4f773db0b4ccbbeed4e3d6c0f6bff299c2aa3f0.patch?full_index=1", sha256="5bb9b0e08888830ccf3a0a658529fe25f4ee62b5b8890f349bf2cc914236eb2f", - when="@5.7:", + when="@5.7:6.0", ) patch( "https://github.com/ROCm/clr/commit/7868876db742fb4d44483892856a66d2993add03.patch?full_index=1", sha256="7668b2a710baf4cb063e6b00280fb75c4c3e0511575e8298a9c7ae5143f60b33", - when="@5.7:", + when="@5.7:6.0", ) # Patch to set package installation path for OpenCL. patch("0001-fix-build-error-rocm-opencl-5.1.0.patch", when="@5.1") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -116,15 +108,31 @@ def url_for_version(self, version): "5.7.1", "6.0.0", "6.0.2", + "6.1.0", + "6.1.1", + "6.1.2", "master", ]: depends_on(f"comgr@{ver}", type="build", when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", type="link", when=f"@{ver}") - for ver in ["6.0.0", "6.0.2"]: + for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2"]: depends_on(f"aqlprofile@{ver}", type="link", when=f"@{ver}") - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: + for ver in [ + "5.5.0", + "5.5.1", + "5.6.0", + "5.6.1", + "5.7.0", + "5.7.1", + "6.0.0", + "6.0.2", + "6.1.0", + "6.1.1", + "6.1.2", + ]: + depends_on(f"rocm-core@{ver}", when=f"@{ver}") @classmethod @@ -160,13 +168,15 @@ def post_install(self): with open(join_path(vendor_config_path, config_file_name), "w") as f: f.write("libamdocl64.so") - test_src_dir = "tests/ocltst" + def test_ocltst(self): + """Run ocltst checks""" + test_dir = "tests/ocltst" if sys.platform == "win32" else "share/opencl/ocltst" + + os.environ["LD_LIBRARY_PATH"] += os.pathsep + join_path(self.prefix, test_dir) + + ocltst = which(join_path(self.prefix, test_dir, "ocltst")) + with test_part(self, "test_ocltst_runtime", purpose="check runtime"): + ocltst("-m", "liboclruntime.so", "-A", "oclruntime.exclude") - def test(self): - test_dir = join_path(self.spec["rocm-opencl"].prefix, self.test_src_dir) - with working_dir(test_dir, create=True): - os.environ["LD_LIBRARY_PATH"] += os.pathsep + test_dir - args = ["-m", "liboclruntime.so", "-A", "oclruntime.exclude"] - self.run_test("ocltst", args) - args = ["-m", "liboclperf.so", "-A", "oclperf.exclude"] - self.run_test("ocltst", args) + with test_part(self, "test_ocltst_perf", purpose="check perf"): + ocltst("-m", "liboclperf.so", "-A", "oclperf.exclude") 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 ac7f7b13828813..21eca97fc5f959 100644 --- a/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py +++ b/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py @@ -15,11 +15,6 @@ # For example array[0] = 3.9.0, array[1] = 3.10.0, etc. aomp = [ - "e69fe0c933cb30daafe49d9f1df71fe16f387e0287bba921995feeefdf9ac262", - "8bab3d621343f419b29043ac0cb56e062f114991dc3ec1e33e786f771deecc8f", - "20e21312816272222d1f427ea72a99a9a67077078552f5e2638a40860d161d25", - "c0aa6997e889d6ce0e37cfa6a2e91c5c0b54cda1673abdcabcf34da1ba78ba72", - "4ba1792095427588c484feed01f2f48e66aaad26bc000cbc74a15032551699e7", "371ed037b95b83fac64fb2ff2fc17313fe7d3befc8671f0a08f0e2072393fa5b", "c86141fcde879fc78d06a41ba6a26ff528da539c6a1be8b714f635182c66e3f4", "bbca540897848fa95fd0f14fc05ab6deda31299a061424972d5e2bc09c7543dc", @@ -34,14 +29,10 @@ "d6e13a15d5d25990d4bacbac8fabe2eb07973829f2e69abbc628e0736f95caf9", "832b7c48149a730619b577a2863b8d1bf1b2551eda5b815e1865a044929ab9fa", "62a5036a2299ed2e3053ee00b7ea1800469cd545fea486fa17266a8b3acfaf5d", + "3de1c7a31a88c3f05a6a66ba6854ac8fdad1ce44462e561cb1e6ad59629029ce", ] devlib = [ - "47dbcb41fb4739219cadc9f2b5f21358ed2f9895ce786d2f7a1b2c4fd044d30f", - "c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e", - "901674bc941115c72f82c5def61d42f2bebee687aefd30a460905996f838e16c", - "e5855387ce73ed483ed0d03dbfef31f297c6ca66cf816f6816fd5ee373fc8225", - "16b7fc7db4759bd6fb54852e9855fa16ead76c97871d7e1e9392e846381d611a", "f7e1665a1650d3d0481bec68252e8a5e68adc2c867c63c570f6190a1d2fe735c", "963c9a0561111788b55a8c3b492e2a5737047914752376226c97a28122a4d768", "d68813ded47179c39914c8d1b76af3dad8c714b10229d1e2246af67609473951", @@ -56,14 +47,10 @@ "c6d88b9b46e39d5d21bd5a0c1eba887ec473a370b1ed0cebd1d2e910eedc5837", "6bd9912441de6caf6b26d1323e1c899ecd14ff2431874a2f5883d3bc5212db34", "f1a67efb49f76a9b262e9735d3f75ad21e3bd6a05338c9b15c01e6c625c4460d", + "300e9d6a137dcd91b18d5809a316fddb615e0e7f982dc7ef1bb56876dff6e097", ] llvm = [ - "db5d45c4a7842a908527c1b7b8d4a40c688225a41d23cfa382eab23edfffdd10", - "d236a2064363c0278f7ba1bb2ff1545ee4c52278c50640e8bb2b9cfef8a2f128", - "0f892174111b78a02d1a00f8f46d9f80b9abb95513a7af38ecf2a5a0882fe87f", - "3644e927d943d61e22672422591c47a62ff83e3d87ced68439822156d8f79abf", - "1b852711aec3137b568fb65f93606d37fdcd62e06f5da3766f2ffcd4e0c646df", "4e3fcddb5b8ea8dcaa4417e0e31a9c2bbdc9e7d4ac3401635a636df32905c93e", "5296d5e474811c7d1e456cb6d5011db248b79b8d0512155e8a6c2aa5b5f12d38", "ff54f45a17723892cd775c1eaff9e5860527fcfd33d98759223c70e3362335bf", @@ -78,14 +65,10 @@ "7d35acc84de1adee65406f92a369a30364703f84279241c444cd93a48c7eeb76", "6bd9912441de6caf6b26d1323e1c899ecd14ff2431874a2f5883d3bc5212db34", "f1a67efb49f76a9b262e9735d3f75ad21e3bd6a05338c9b15c01e6c625c4460d", + "300e9d6a137dcd91b18d5809a316fddb615e0e7f982dc7ef1bb56876dff6e097", ] flang = [ - "d95e36f3b93097ab6fb319c744ddc71cd94af0c358accc1e5224c2bbd431266d", - "d7847b5c6e1344dc0b4723dbe76a859257b4c242644dedb34e425f07738530d4", - "20f48cac9b58496230fa2428eba4e15ec0a6e92d429569b154a328b7a8c5da17", - "012a9c10a7d2a248dc40510e2f5c02a54b5f6bc39961500dc48b6780dac5ad67", - "496f00918721c72eae0bd926a5a8f1f35bd443f6b22bc08e2a42c67e44a4dbaf", "ef1256ddf6cd9de10a1b88df4736dce48295136983a7e31eadd942fb39b156f7", "ddccd866d0c01086087fe21b5711668f85bcf9cbd9f62853f8bda32eaedb5339", "fae8195a5e1b3778e31dbc6cbeedeae9998ea4b5a54215534af41e91fdcb8ba0", @@ -100,14 +83,10 @@ "8e6469415880bb068d788596b3ed713a24495eb42788f98cca92e73a2998f703", "51ecd2c154568c971f5b46ff0e1e1b57063afe28d128fc88c503de88f7240267", "1bcaa73e73a688cb092f01987cf3ec9ace4aa1fcaab2b812888c610722c4501d", + "12418ea61cca58811b7e75fd9df48be568b406f84a489a41ba5a1fd70c47f7ba", ] extras = [ - "c3a2a83d8f586ee765df96a692ebe010631446f700273fa31738ea260dfc35f7", - "2e3151a47d77166d071213af2a1691487691aae0abd5c1718d818a6d7d09cb2d", - "817c2e8975e56a8875ff56f9d1ea34d5e7e50f1b541b7f1236e3e5c8d9eee47f", - "8b738225f0be39f27bba64c014816cfa1b79f2c7cf2d0e31fbc0fffb6c26e429", - "f42ca7d85b0b64e6890502f1cf8309ef97f707829876742da2ea5c2cdf3ad8ac", "b3beee383d9c130666c230595c950bdc2ce4c7a99d728b9ddf1bca3963152223", "b26b9f4b11a9ccfab53d0dd55aada7e5b98f7ab51981cb033b376321dd44bf87", "2546becd4b182d1e366f47660c731c8ff7366b6306782f04706b6a7bf4e2094c", @@ -122,14 +101,10 @@ "b2e117d703cefdc2858adaeee5bad95e9b6dab6263a9c13891a79a7b1e2defb6", "57d6d9d26c0cb6ea7f8373996c41165f463ae7936d32e5793822cfae03900f8f", "3dc837fbfcac64e000e1b5518e4f8a6b260eaf1a3e74152d8b8c22f128f575b7", + "2b9351fdb1cba229669233919464ae906ca8f70910c6fa508a2812b7c3bed123", ] versions = [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -144,6 +119,7 @@ "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ] versions_dict = dict() # type: Dict[str,Dict[str,str]] components = ["aomp", "devlib", "llvm", "flang", "extras"] @@ -161,12 +137,13 @@ class RocmOpenmpExtras(Package): """OpenMP support for ROCm LLVM.""" homepage = tools_url + "/aomp" - url = tools_url + "/aomp/archive/rocm-6.1.1.tar.gz" + url = tools_url + "/aomp/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] license("Apache-2.0") maintainers("srekolam", "renjithravindrankannath", "estewart08") + version("6.1.2", sha256=versions_dict["6.1.2"]["aomp"]) version("6.1.1", sha256=versions_dict["6.1.1"]["aomp"]) version("6.1.0", sha256=versions_dict["6.1.0"]["aomp"]) version("6.0.2", sha256=versions_dict["6.0.2"]["aomp"]) @@ -177,15 +154,14 @@ class RocmOpenmpExtras(Package): version("5.6.0", sha256=versions_dict["5.6.0"]["aomp"]) version("5.5.1", sha256=versions_dict["5.5.1"]["aomp"]) version("5.5.0", sha256=versions_dict["5.5.0"]["aomp"]) - version("5.4.3", sha256=versions_dict["5.4.3"]["aomp"]) - version("5.4.0", sha256=versions_dict["5.4.0"]["aomp"]) - version("5.3.3", sha256=versions_dict["5.3.3"]["aomp"]) - version("5.3.0", sha256=versions_dict["5.3.0"]["aomp"]) - version("5.2.3", sha256=versions_dict["5.2.3"]["aomp"], deprecated=True) - version("5.2.1", sha256=versions_dict["5.2.1"]["aomp"], deprecated=True) - version("5.2.0", sha256=versions_dict["5.2.0"]["aomp"], deprecated=True) - version("5.1.3", sha256=versions_dict["5.1.3"]["aomp"], deprecated=True) - version("5.1.0", sha256=versions_dict["5.1.0"]["aomp"], deprecated=True) + version("5.4.3", sha256=versions_dict["5.4.3"]["aomp"], deprecated=True) + version("5.4.0", sha256=versions_dict["5.4.0"]["aomp"], deprecated=True) + version("5.3.3", sha256=versions_dict["5.3.3"]["aomp"], deprecated=True) + version("5.3.0", sha256=versions_dict["5.3.0"]["aomp"], deprecated=True) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") @@ -210,15 +186,11 @@ class RocmOpenmpExtras(Package): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -275,7 +247,7 @@ class RocmOpenmpExtras(Package): placement="llvm-project", when=f"@{ver}", ) - for ver in ["6.1.0", "6.1.1"]: + for ver in ["6.1.0", "6.1.1", "6.1.2"]: depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") depends_on(f"comgr@{ver}", when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") @@ -352,7 +324,6 @@ def setup_build_environment(self, env): def patch(self): src = self.stage.source_path - aomp_extras = "{0}/rocm-openmp-extras/aomp-extras/aomp-device-libs" libomptarget = "{0}/rocm-openmp-extras/llvm-project/openmp/libomptarget" flang = "{0}/rocm-openmp-extras/flang/" @@ -397,13 +368,6 @@ def patch(self): libomptarget.format(src) + "/deviceRTLs/amdgcn/CMakeLists.txt", ) - if self.spec.version <= Version("5.1.3"): - filter_file( - r"{ROCM_DIR}/amdgcn/bitcode", - "{DEVICE_LIBS_DIR}", - libomptarget.format(src) + "/deviceRTLs/libm/CMakeLists.txt", - ) - filter_file( "-nogpulib", "-nogpulib -nogpuinc", 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 19d2b9fcdf7385..0675f774b58f1f 100644 --- a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py +++ b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py @@ -17,13 +17,14 @@ class RocmSmiLib(CMakePackage): homepage = "https://github.com/ROCm/rocm_smi_lib" git = "https://github.com/ROCm/rocm_smi_lib.git" - url = "https://github.com/ROCm/rocm_smi_lib/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/rocm_smi_lib/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") libraries = ["librocm_smi64"] version("master", branch="master") + version("6.1.2", sha256="01f46fb1cb8c7a16a4c4db61871ee710ed37c0f8bd3a2dbe3415d3de2dffb4ef") version("6.1.1", sha256="7fd2234b05eb6b9397c5508bb37e81fb16ce2cadc2c97298b2124b46c3687880") version("6.1.0", sha256="d1a1b372489b27cb7eb8c91d74a71370ad9668dd5aaf89c0267172534e417e41") version("6.0.2", sha256="61e755d710ff38425df3d262d1ad4c510d52d3c64e3fe15140c2575eba316949") @@ -34,16 +35,14 @@ class RocmSmiLib(CMakePackage): version("5.6.0", sha256="88be875948a29454b8aacced8bb8ad967502a7a074ecbc579ed673c1650a2f7e") version("5.5.1", sha256="37f32350bfaf6c697312628696d1b1d5fd9165f183882759bc6cb9a5d65b9430") version("5.5.0", sha256="0703f49b1c2924cc1d3f613258eabdff1925cb5bcf7cf22bb6b955dd065e4ce8") - version("5.4.3", sha256="34d550272e420684230ceb7845aefcef79b155e51cf9ec55e31fdba2a4ed177b") - version("5.4.0", sha256="4b110c9ec104ec39fc458b1b6f693662ab75395b75ed402b671d8e58c7ae63fe") - version("5.3.3", sha256="c2c2a377c2e84f0c40297a97b6060dddc49183c2771b833ebe91ed98a98e4119") - version("5.3.0", sha256="8f72ad825a021d5199fb73726b4975f20682beb966e0ec31b53132bcd56c5408") with default_args(deprecated=True): - version("5.2.3", sha256="fcf4f75a8daeca81ecb107989712c5f3776ee11e6eed870cb93efbf66ff1c384") - version("5.2.1", sha256="07ad3be6f8c7d3f0a1b8b79950cd7839fb82972cef373dccffdbda32a3aca760") - version("5.2.0", sha256="7bce567ff4e087598eace2cae72d24c98b2bcc93af917eafa61ec9d1e8ef4477") - version("5.1.3", sha256="8a19ce60dc9221545aa50e83e88d8c4be9bf7cde2425cefb13710131dc1d7b1b") - version("5.1.0", sha256="21b31b43015b77a9119cf4c1d4ff3864f9ef1f34e2a52a38f985a3f710dc5f87") + version("5.4.3", sha256="34d550272e420684230ceb7845aefcef79b155e51cf9ec55e31fdba2a4ed177b") + version("5.4.0", sha256="4b110c9ec104ec39fc458b1b6f693662ab75395b75ed402b671d8e58c7ae63fe") + version("5.3.3", sha256="c2c2a377c2e84f0c40297a97b6060dddc49183c2771b833ebe91ed98a98e4119") + version("5.3.0", sha256="8f72ad825a021d5199fb73726b4975f20682beb966e0ec31b53132bcd56c5408") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated variant("shared", default=True, description="Build shared or static library") variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") @@ -62,9 +61,16 @@ class RocmSmiLib(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") + patch( + "https://github.com/ROCm/rocm_smi_lib/commit/11f12b86517d0e9868f4d16d74d4e8504c3ba7da.patch?full_index=1", + sha256="62be7262f6e1e71bf82a03f500a424a536638f04e913d0f4b477f60e8e1190fd", + when="@6.1.1:", + ) + patch("disable_pdf_generation_with_doxygen_and_latex.patch", when="@:5.6") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/rocm-smi/package.py b/var/spack/repos/builtin/packages/rocm-smi/package.py deleted file mode 100644 index 4e927b1f01b225..00000000000000 --- a/var/spack/repos/builtin/packages/rocm-smi/package.py +++ /dev/null @@ -1,72 +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) - - -import os - -from spack.package import * - - -class RocmSmi(MakefilePackage): - """This tool exposes functionality for clock and temperature - management of your ROCm enabled system - - Note: After ROCm 3.9, this project moved to - https://github.com/ROCm/rocm_smi_lib/tree/master/python_smi_tools - The spack package is called: rocm-smi-lib""" - - homepage = "https://github.com/ROCm/ROC-smi" - url = "https://github.com/ROCm/ROC-smi/archive/rocm-4.1.0.tar.gz" - - maintainers("srekolam", "renjithravindrankannath") - tags = ["rocm"] - - version( - "4.1.0", - sha256="5f9f551f93f673f4b508f47a7f24bce903288ffb08fa9e4c8e0956a4a57865c2", - deprecated=True, - ) - version( - "4.0.0", - sha256="bf8738ae81c0a02d83eb9437b93dc153fb63f659f3b04d454024e30678b43575", - deprecated=True, - ) - version( - "3.10.0", - sha256="b1c7e529e8fcc53fb6b40a4126651da0ab07bcb91faac99519ba9660412ea4ed", - deprecated=True, - ) - version( - "3.9.0", - sha256="af3cc6d5e2296f47b1873339faad2d27cf2f24725771bf34c7f644d20cc6ef3b", - deprecated=True, - ) - version( - "3.8.0", - sha256="248d9bddc3353c74defd57f203df0648278a4613f2af7fb838d92a4bc8de575d", - deprecated=True, - ) - version( - "3.7.0", - sha256="4e34b3b4e409bb89677882f47d9988d56bc2d9bb9893f0712c22a4b73789e06a", - deprecated=True, - ) - version( - "3.5.0", - sha256="4f46e947c415a4ac12b9f6989f15a42afe32551706b4f48476fba3abf92e8e7c", - deprecated=True, - ) - - depends_on("python@3:", type="run") - - def install(self, spec, prefix): - filter_file( - "^#!/usr/bin/python3", - "#!/usr/bin/env {0}".format(os.path.basename(self.spec["python"].command.path)), - "rocm_smi.py", - ) - mkdir(prefix.bin) - copy("rocm_smi.py", prefix.bin) - symlink("rocm_smi.py", prefix.bin.rocm_smi) diff --git a/var/spack/repos/builtin/packages/rocm-tensile/package.py b/var/spack/repos/builtin/packages/rocm-tensile/package.py index 2ae5956731e027..9894d524b3fa62 100644 --- a/var/spack/repos/builtin/packages/rocm-tensile/package.py +++ b/var/spack/repos/builtin/packages/rocm-tensile/package.py @@ -19,6 +19,7 @@ class RocmTensile(CMakePackage): license("MIT") maintainers("srekolam", "renjithravindrankannath", "haampie") + version("6.1.2", sha256="6a08190f6d9c8cc76764a68e2dd3e7af4759d4146ddc1c4b3370c7762a6f6d83") version("6.1.1", sha256="04fd76e6a0e9b7528e61df0721b03c0e977c145a2a1ea331d515c9167d7ac35f") version("6.1.0", sha256="69bfdc711d3a86e6651b1dcfb2c461c7d3ae574e6d884833d4e07d3e7ad06491") version("6.0.2", sha256="1d8a92422560c1e908fa25fd97a4aa07a96659528a543f77618408ffcfe1f307") @@ -29,16 +30,13 @@ class RocmTensile(CMakePackage): version("5.6.0", sha256="383728ecf49def59ab9a7f8a1d1e2eaf8b528e36b461e27030a2aab1a1ed80cb") version("5.5.1", sha256="b65cb7335abe51ba33be9d46a5ede992b4e5932fa33797397899a6bf33a770e9") version("5.5.0", sha256="70fd736d40bb4c3461f07c77ad3ae6c485e3e842671ce9b223d023d836884ae2") - version("5.4.3", sha256="a4c5e62edd33ea6b8528eb3f017a14c28eaa67c540f5c9023f6a245340198b0f") - version("5.4.0", sha256="2da9c1df3c6d9b44afdad621ef59a03389fb1a38a61a8b8bad9c9991b97157eb") - version("5.3.3", sha256="ecb99243edf1cd2bb5e953915a7dae7867c3cdb0cd8ed15b8618aaaeb2bd7b29") - version("5.3.0", sha256="05c546986549154e6c7b4f57a0b3bfd5cb223d2393c206ff1702f89454c832f4") with default_args(deprecated=True): - version("5.2.3", sha256="840698bf2ac62e08ae76c3843f1dad5367ed098d42e6a5fa7953de70642fd2cf") - version("5.2.1", sha256="49582e28f7e14fed6a66c59482a41d3899c1eb8e7aa0ce40a7a2e806dadc536b") - version("5.2.0", sha256="aa6107944482ad278111d11d2e926393423fc70e7e1838574fe7ad9f553bdacf") - version("5.1.3", sha256="87020ca268e3a1ed8853f629839d6497764d862bd70b8775e98de439f6c89f1d") - version("5.1.0", sha256="0ac86a623597152c5b1d8bb5634aad3e55afa51959476aaa5e9869d259ddf375") + version("5.4.3", sha256="a4c5e62edd33ea6b8528eb3f017a14c28eaa67c540f5c9023f6a245340198b0f") + version("5.4.0", sha256="2da9c1df3c6d9b44afdad621ef59a03389fb1a38a61a8b8bad9c9991b97157eb") + version("5.3.3", sha256="ecb99243edf1cd2bb5e953915a7dae7867c3cdb0cd8ed15b8618aaaeb2bd7b29") + version("5.3.0", sha256="05c546986549154e6c7b4f57a0b3bfd5cb223d2393c206ff1702f89454c832f4") + + depends_on("cxx", type="build") # generated tensile_architecture = ( "all", @@ -65,11 +63,6 @@ class RocmTensile(CMakePackage): depends_on(Boost.with_default_variants) for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -84,6 +77,7 @@ class RocmTensile(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-cmake@{ver}", type="build", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/005-cleanup-path-reference-donot-download-googletest-yaml.patch b/var/spack/repos/builtin/packages/rocm-validation-suite/005-cleanup-path-reference-donot-download-googletest-yaml.patch deleted file mode 100644 index 2162ac451676c9..00000000000000 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/005-cleanup-path-reference-donot-download-googletest-yaml.patch +++ /dev/null @@ -1,159 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9ce8b3b..8644d10 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -43,14 +43,12 @@ endif(rocblas_FOUND) - # variables since we will pass them as cmake params appropriately, and - # all find_packages relevant to this build will be in ROCM path hence appending it to CMAKE_PREFIX_PATH - set(ROCM_PATH "/opt/rocm" CACHE PATH "ROCM install path") --set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "CMAKE installation directory") --set(CMAKE_PACKAGING_INSTALL_PREFIX "/opt/rocm" CACHE PATH "Prefix used in built packages") -+set (CMAKE_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ) - list(APPEND CMAKE_PREFIX_PATH "${ROCM_PATH}") --set(ROCR_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Runtime" FORCE) --set(ROCR_LIB_DIR "${ROCM_PATH}/lib" CACHE PATH "Contains library files exported by ROC Runtime" FORCE) --set(HIP_INC_DIR "${ROCM_PATH}/hip" ) --set(HIP_INC_DIR "${ROCM_PATH}/hip" CACHE PATH "Contains header files exported by ROC Runtime" FORCE) --set(ROCT_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Trunk" FORCE) -+set(ROCR_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Runtime") -+set(ROCR_LIB_DIR "${ROCM_PATH}/lib" CACHE PATH "Contains library files exported by ROC Runtime") -+set(HIP_INC_DIR "${ROCM_PATH}/hip" CACHE PATH "Contains header files exported by ROC Runtime") -+set(ROCT_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Trunk") - - - # -@@ -162,8 +160,6 @@ set(RVS_ROCBLAS "0" CACHE STRING "1 = use local rocBLAS") - set(RVS_ROCMSMI "0" CACHE STRING "1 = use local rocm_smi_lib") - - set(RVS_LIB_DIR "${CMAKE_BINARY_DIR}/rvslib" CACHE PATH "Contains RVS library") --set(YAML_INC_DIR "${CMAKE_BINARY_DIR}/yaml-src/include" CACHE PATH "Contains header files exported by yaml-cpp") --set(YAML_LIB_DIR "${CMAKE_BINARY_DIR}/yaml-build" CACHE PATH "Contains library files exported by yaml-cpp") - - if (${RVS_OS_TYPE} STREQUAL "centos") - set(ROCT_LIB_DIR "${ROCM_PATH}/lib64" CACHE PATH "Contains library files exported by ROC Trunk") -@@ -207,86 +203,6 @@ if (NOT DEFINED CPACK_GENERATOR ) - endif() - message (STATUS "CPACK_GENERATOR ${CPACK_GENERATOR}" ) - -- --################################################################################ --# Download and unpack yaml-cpp at configure time --configure_file(CMakeYamlDownload.cmake yaml-download/CMakeLists.txt) --execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . -- RESULT_VARIABLE result -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-download ) --if(result) -- message(FATAL_ERROR "CMake step for yaml-download failed: ${result}") --endif() --execute_process(COMMAND ${CMAKE_COMMAND} --build . -- RESULT_VARIABLE result -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-download ) --if(result) -- message(FATAL_ERROR "Build step for yaml-download failed: ${result}") --endif() --execute_process(COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR}/yaml-src -B${CMAKE_BINARY_DIR}/yaml-build -- RESULT_VARIABLE result -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-src ) --if(result) -- message(FATAL_ERROR "Config step for yaml-src failed: ${result}") --endif() -- --add_custom_target(rvs_yaml_target -- DEPENDS ${CMAKE_BINARY_DIR}/yaml-build/libyaml-cpp.a --) -- --add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/yaml-build/libyaml-cpp.a -- COMMAND make -C ${CMAKE_BINARY_DIR}/yaml-build -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-src -- COMMENT "Generating yaml-cpp targets" -- VERBATIM) -- --################################################################################ --## GOOGLE TEST --if(RVS_BUILD_TESTS) -- # Download and unpack googletest at configure time -- configure_file(CMakeGtestDownload.cmake googletest-download/CMakeLists.txt) -- execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . -- RESULT_VARIABLE result -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download ) -- if(result) -- message(FATAL_ERROR "CMake step for googletest failed: ${result}") -- endif() -- execute_process(COMMAND ${CMAKE_COMMAND} --build . -- RESULT_VARIABLE result -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download ) -- if(result) -- message(FATAL_ERROR "Build step for googletest failed: ${result}") -- endif() -- execute_process(COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR}/googletest-src -B${CMAKE_BINARY_DIR}/googletest-build -- RESULT_VARIABLE result -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-src ) -- if(result) -- message(FATAL_ERROR "Config step for googletest-src failed: ${result}") -- endif() -- -- add_custom_target(rvs_gtest_target -- DEPENDS ${CMAKE_BINARY_DIR}/googletest-build/lib/libgtest_main.a -- ) -- -- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/googletest-build/lib/libgtest_main.a -- COMMAND make -C ${CMAKE_BINARY_DIR}/googletest-build -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-src -- COMMENT "Generating googletest targets" -- VERBATIM) -- -- ## Set default unit test framework include path -- if (NOT DEFINED UT_INC) -- set (UT_INC "${CMAKE_BINARY_DIR}/googletest-src/googletest/include") -- message ("UT_INC ${UT_INC}") -- endif () -- -- ## Set default unit test framework include path -- if (NOT DEFINED UT_LIB) -- set (UT_LIB "${CMAKE_BINARY_DIR}/googletest-build/lib") -- message ("UT_LIB ${UT_LIB}") -- endif() -- --endif() - ################################################################################ - ## rocBLAS - -@@ -410,16 +326,16 @@ if (RVS_ROCBLAS EQUAL 1) - set(ROCBLAS_INC_DIR "${CMAKE_BINARY_DIR}/rvs_rblas-src/build/release/rocblas-install") - set(ROCBLAS_LIB_DIR "${CMAKE_BINARY_DIR}/rvs_rblas-src/build/release/rocblas-install/lib/") - else() -- set(ROCBLAS_INC_DIR "${ROCM_PATH}/include") -- set(ROCBLAS_LIB_DIR "${ROCM_PATH}/lib") -+ set(ROCBLAS_INC_DIR "${ROCBLAS_DIR}/include") -+ set(ROCBLAS_LIB_DIR "${ROCBLAS_DIR}/lib") - endif() - - if (RVS_ROCMSMI EQUAL 1) - set(ROCM_SMI_INC_DIR "${CMAKE_BINARY_DIR}/rvs_smi-src/include") - set(ROCM_SMI_LIB_DIR "${CMAKE_BINARY_DIR}/rvs_smi-build") - else() -- set(ROCM_SMI_INC_DIR "${ROCM_PATH}/rocm_smi/include") -- set(ROCM_SMI_LIB_DIR "${ROCM_PATH}/rocm_smi/lib") -+ set(ROCM_SMI_INC_DIR "${ROCM_SMI_DIR}/include") -+ set(ROCM_SMI_LIB_DIR "${ROCM_SMI_DIR}/lib") - endif() - set(ROCM_SMI_LIB "rocm_smi64" CACHE STRING "rocm_smi library name") - -@@ -454,7 +370,7 @@ if (RVS_BUILD_TESTS) - add_subdirectory(testif.so) - endif() - --add_dependencies(rvshelper rvs_bin_folder rvs_doc rvs_yaml_target) -+add_dependencies(rvshelper rvs_bin_folder rvs_doc) - - - add_dependencies(pesm rvslib rvslibrt) -@@ -489,7 +405,7 @@ if (RVS_BUILD_TESTS) - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMENT "Create the bintest directory" - VERBATIM) -- add_dependencies(rvshelper rvs_bintest_folder rvs_gtest_target) -+ add_dependencies(rvshelper rvs_bintest_folder) - endif() - - add_custom_target(rvs_doc ALL diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/006-library-path.patch b/var/spack/repos/builtin/packages/rocm-validation-suite/006-library-path.patch deleted file mode 100644 index 229e256f58bc0e..00000000000000 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/006-library-path.patch +++ /dev/null @@ -1,371 +0,0 @@ -diff --git a/babel.so/CMakeLists.txt b/babel.so/CMakeLists.txt -index f4e57c7..fb66263 100644 ---- a/babel.so/CMakeLists.txt -+++ b/babel.so/CMakeLists.txt -@@ -113,13 +113,13 @@ set(ROCBLAS_LIB "rocblas") - set(HIP_HCC_LIB "amdhip64") - - # Determine Roc Runtime header files are accessible --if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) -+if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - --if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime_api.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) -+if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime_api.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - -@@ -139,16 +139,16 @@ if(DEFINED RVS_ROCMSMI) - endif() - - --if(NOT EXISTS "${ROCR_LIB_DIR}/lib${HIP_HCC_LIB}.so") -- message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) -+if(NOT EXISTS "${HIP_PATH}/lib/lib${HIP_HCC_LIB}.so") -+ message("ERROR: ROC Runtime libraries can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - - ## define include directories --include_directories(./ ../ ${ROCR_INC_DIR} ${HIP_INC_DIR}) -+include_directories(./ ../ ${HIP_PATH}) - - # Add directories to look for library files to link --link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) -+link_directories(${RVS_LIB_DIR} ${HIP_PATH}/lib/ ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) - ## additional libraries - set (PROJECT_LINK_LIBS rvslibrt rvslib libpthread.so libpci.so libm.so) - -diff --git a/edp.so/CMakeLists.txt b/edp.so/CMakeLists.txt -index 851e24c..3697b4f 100644 ---- a/edp.so/CMakeLists.txt -+++ b/edp.so/CMakeLists.txt -@@ -108,13 +108,13 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${HIP_HCC_BUILD_FLAGS}") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${HIP_HCC_BUILD_FLAGS}") - - # Determine Roc Runtime header files are accessible --if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) -+if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - --if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime_api.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) -+if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime_api.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - -@@ -134,15 +134,15 @@ if(DEFINED RVS_ROCMSMI) - endif() - - --if(NOT EXISTS "${ROCR_LIB_DIR}/lib${HIP_HCC_LIB}.so") -- message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) -+if(NOT EXISTS "${HIP_PATH}/lib/lib${HIP_HCC_LIB}.so") -+ message("ERROR: ROC Runtime libraries can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - - ## define include directories --include_directories(./ ../ ${ROCR_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_INC_DIR}) -+include_directories(./ ../ ${ROCBLAS_INC_DIR} ${HIP_PATH}) - # Add directories to look for library files to link --link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR}) -+link_directories(${RVS_LIB_DIR} ${ROCBLAS_LIB_DIR}) - ## additional libraries - set (PROJECT_LINK_LIBS rvslibrt rvslib libpthread.so libpciaccess.so libpci.so libm.so) - -diff --git a/gst.so/CMakeLists.txt b/gst.so/CMakeLists.txt -index 7ce465a..c61c52b 100644 ---- a/gst.so/CMakeLists.txt -+++ b/gst.so/CMakeLists.txt -@@ -117,13 +117,13 @@ else() - endif() - - # Determine Roc Runtime header files are accessible --if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) -+if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - --if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime_api.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) -+if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime_api.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - -@@ -143,15 +143,15 @@ if(DEFINED RVS_ROCMSMI) - endif() - - --if(NOT EXISTS "${ROCR_LIB_DIR}/lib${HIP_HCC_LIB}.so") -- message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) -+if(NOT EXISTS "${HIP_PATH}/lib/lib${HIP_HCC_LIB}.so") -+ message("ERROR: ROC Runtime libraries can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - - ## define include directories --include_directories(./ ../ ${ROCR_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_INC_DIR}) -+include_directories(./ ../ ${ROCBLAS_INC_DIR} ${HIP_PATH}) - # Add directories to look for library files to link --link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) -+link_directories(${RVS_LIB_DIR} ${HIP_PATH}/lib/ ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) - ## additional libraries - set (PROJECT_LINK_LIBS rvslibrt rvslib libpthread.so libpci.so libm.so) - -diff --git a/iet.so/CMakeLists.txt b/iet.so/CMakeLists.txt -index 278c084..5ba9007 100644 ---- a/iet.so/CMakeLists.txt -+++ b/iet.so/CMakeLists.txt -@@ -122,13 +122,13 @@ else() - endif() - - # Determine Roc Runtime header files are accessible --if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) -+if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - --if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime_api.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) -+if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime_api.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - -@@ -147,8 +147,8 @@ if(DEFINED RVS_ROCMSMI) - endif() - endif() - --if(NOT EXISTS "${ROCR_LIB_DIR}/lib${HIP_HCC_LIB}.so") -- message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) -+if(NOT EXISTS "${HIP_PATH}/lib/lib${HIP_HCC_LIB}.so") -+ message("ERROR: ROC Runtime libraries can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - -@@ -162,9 +162,9 @@ if(DEFINED RVS_ROCMSMI) - endif() - - ## define include directories --include_directories(./ ../ ${ROCM_SMI_INC_DIR} ${ROCBLAS_INC_DIR} ${ROCR_INC_DIR} ${HIP_INC_DIR}) -+include_directories(./ ../ ${ROCM_SMI_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_PATH}) - # Add directories to look for library files to link --link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ROCM_SMI_LIB_DIR} ${ASAN_LIB_PATH}) -+link_directories(${RVS_LIB_DIR} ${HIP_PATH}/lib/ ${ROCBLAS_LIB_DIR} ${ROCM_SMI_LIB_DIR} ${ASAN_LIB_PATH}) - ## additional libraries - set (PROJECT_LINK_LIBS rvslibrt rvslib libpthread.so libpci.so libm.so) - -diff --git a/mem.so/CMakeLists.txt b/mem.so/CMakeLists.txt -index ec1c01d..c8e040a 100644 ---- a/mem.so/CMakeLists.txt -+++ b/mem.so/CMakeLists.txt -@@ -114,13 +114,13 @@ set(ROCBLAS_LIB "rocblas") - set(HIP_HCC_LIB "amdhip64") - - # Determine Roc Runtime header files are accessible --if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) -+if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - --if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime_api.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) -+if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime_api.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - -@@ -140,16 +140,16 @@ if(DEFINED RVS_ROCMSMI) - endif() - - --if(NOT EXISTS "${ROCR_LIB_DIR}/lib${HIP_HCC_LIB}.so") -- message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) -+if(NOT EXISTS "${HIP_PATH}/lib/lib${HIP_HCC_LIB}.so") -+ message("ERROR: ROC Runtime libraries can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - - ## define include directories --include_directories(./ ../ ${ROCR_INC_DIR} ${HIP_INC_DIR}) -+include_directories(./ ../ ${HIP_PATH}) - - # Add directories to look for library files to link --link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) -+link_directories(${RVS_LIB_DIR} ${HIP_PATH}/lib/ ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) - ## additional libraries - set (PROJECT_LINK_LIBS rvslibrt rvslib libpthread.so libpci.so libm.so) - -diff --git a/pebb.so/CMakeLists.txt b/pebb.so/CMakeLists.txt -index f88f7c1..f5eb246 100644 ---- a/pebb.so/CMakeLists.txt -+++ b/pebb.so/CMakeLists.txt -@@ -135,20 +135,20 @@ else() - endif() - - # Determine Roc Runtime header files are accessible --if(NOT EXISTS ${ROCR_INC_DIR}/hsa/hsa.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set ROCR_INC_DIR path. Current value is : " ${ROCR_INC_DIR}) -+if(NOT EXISTS ${HSA_PATH}/include/hsa/hsa.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HSA_PATH path. Current value is : " ${HSA_PATH}) - RETURN() - endif() - --if(NOT EXISTS ${ROCR_LIB_DIR}/${CORE_RUNTIME_LIBRARY}.so) -- message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) -+if(NOT EXISTS ${HSA_PATH}/lib/${CORE_RUNTIME_LIBRARY}.so) -+ message("ERROR: ROC Runtime libraries can't be found under specified path. Please set HSA_PATH path. Current value is : " ${HSA_PATH}) - RETURN() - endif() - - ## define include directories --include_directories(./ ../ pci ${ROCR_INC_DIR}) -+include_directories(./ ../ pci ${HSA_PATH}) - # Add directories to look for library files to link --link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCT_LIB_DIR} ${ASAN_LIB_PATH}) -+link_directories(${RVS_LIB_DIR} ${HSA_PATH}/lib/ ${HSAKMT_LIB_DIR} ${ASAN_LIB_PATH}) - ## additional libraries - set (PROJECT_LINK_LIBS rvslibrt rvslib libpthread.so libpci.so libm.so) - -diff --git a/perf.so/CMakeLists.txt b/perf.so/CMakeLists.txt -index c99b511..35490fc 100644 ---- a/perf.so/CMakeLists.txt -+++ b/perf.so/CMakeLists.txt -@@ -117,13 +117,13 @@ else() - endif() - - # Determine Roc Runtime header files are accessible --if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) -+if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - --if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime_api.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) -+if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime_api.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - -@@ -143,15 +143,15 @@ if(DEFINED RVS_ROCMSMI) - endif() - - --if(NOT EXISTS "${ROCR_LIB_DIR}/lib${HIP_HCC_LIB}.so") -- message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) -+if(NOT EXISTS "${HIP_PATH}/lib/lib${HIP_HCC_LIB}.so") -+ message("ERROR: ROC Runtime libraries can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) - RETURN() - endif() - - ## define include directories --include_directories(./ ../ ${ROCR_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_INC_DIR}) -+include_directories(./ ../ ${ROCBLAS_INC_DIR} ${HIP_PATH}) - # Add directories to look for library files to link --link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) -+link_directories(${RVS_LIB_DIR} ${HIP_PATH}/lib/ ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) - ## additional libraries - set (PROJECT_LINK_LIBS rvslibrt rvslib libpthread.so libpci.so libm.so) - -diff --git a/pesm.so/CMakeLists.txt b/pesm.so/CMakeLists.txt -index a887606..9bd797d 100644 ---- a/pesm.so/CMakeLists.txt -+++ b/pesm.so/CMakeLists.txt -@@ -118,7 +118,7 @@ endif() - ## define include directories - include_directories(./ ../ pci) - # Add directories to look for library files to link --link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) -+link_directories(${RVS_LIB_DIR} ${HSAKMT_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) - ## additional libraries - set (PROJECT_LINK_LIBS libpthread.so libpci.so libm.so) - -diff --git a/pqt.so/CMakeLists.txt b/pqt.so/CMakeLists.txt -index d59b254..7cb3743 100644 ---- a/pqt.so/CMakeLists.txt -+++ b/pqt.so/CMakeLists.txt -@@ -134,20 +134,20 @@ else() - endif() - - # Determine Roc Runtime header files are accessible --if(NOT EXISTS ${ROCR_INC_DIR}/hsa/hsa.h) -- message("ERROR: ROC Runtime headers can't be found under specified path. Please set ROCR_INC_DIR path. Current value is : " ${ROCR_INC_DIR}) -+if(NOT EXISTS ${HSA_PATH}/include/hsa/hsa.h) -+ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HSA_PATH path. Current value is : " ${HSA_PATH}) - RETURN() - endif() - --if(NOT EXISTS ${ROCR_LIB_DIR}/${CORE_RUNTIME_LIBRARY}.so) -- message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) -+if(NOT EXISTS ${HSA_PATH}/lib/${CORE_RUNTIME_LIBRARY}.so) -+ message("ERROR: ROC Runtime libraries can't be found under specified path. Please set HSA_PATH path. Current value is : " ${HSA_PATH}) - RETURN() - endif() - - ## define include directories --include_directories(./ ../ pci ${ROCR_INC_DIR}) -+include_directories(./ ../ pci ${HSA_PATH}) - # Add directories to look for library files to link --link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCT_LIB_DIR} ${ASAN_LIB_PATH}) -+link_directories(${RVS_LIB_DIR} ${HSA_PATH}/lib/ ${HSAKMT_LIB_DIR} ${ASAN_LIB_PATH}) - ## additional libraries - set (PROJECT_LINK_LIBS rvslibrt rvslib libpthread.so libpci.so libm.so) - -diff --git a/rcqt.so/CMakeLists.txt b/rcqt.so/CMakeLists.txt -index 072c49d..3f00c7a 100644 ---- a/rcqt.so/CMakeLists.txt -+++ b/rcqt.so/CMakeLists.txt -@@ -120,7 +120,7 @@ endif() - ## define include directories - include_directories(./ ../) - # Add directories to look for library files to link --link_directories(${RVS_LIB_DIR} ${ASAN_LIB_PATH}) -+link_directories(${RVS_LIB_DIR} ${ASAN_LIB_PATH} ${ASAN_LIB_PATH} ${HSAKMT_LIB_DIR}) - ## additional libraries - set (PROJECT_LINK_LIBS rvslibrt rvslib) - -diff --git a/rvslib/CMakeLists.txt b/rvslib/CMakeLists.txt -index 642902c..7acaec4 100644 ---- a/rvslib/CMakeLists.txt -+++ b/rvslib/CMakeLists.txt -@@ -120,7 +120,7 @@ endif() - - ## define include directories - include_directories(./ ../ -- ${ROCM_SMI_INC_DIR} ${ROCR_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_INC_DIR} -+ ${ROCM_SMI_INC_DIR} ${HIP_PATH} ${ROCBLAS_INC_DIR} ${HIP_PATH} - ) - link_directories(${ASAN_LIB_PATH}) - -diff --git a/testif.so/CMakeLists.txt b/testif.so/CMakeLists.txt -index 678c980..53e0aa9 100644 ---- a/testif.so/CMakeLists.txt -+++ b/testif.so/CMakeLists.txt -@@ -119,7 +119,7 @@ endif() - ## define include directories - include_directories(./ ../ pci) - # Add directories to look for library files to link --link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) -+link_directories(${RVS_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) - ## additional libraries - set (PROJECT_LINK_LIBS libpthread.so libpci.so libm.so) - diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py index 98646ecb1ba402..b686e1b3bc3d6a 100644 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py +++ b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py @@ -22,6 +22,7 @@ class RocmValidationSuite(CMakePackage): license("MIT") maintainers("srekolam", "renjithravindrankannath") + version("6.1.2", sha256="8ff0c4ec538841d6b8d008d3849a99173cc5a02df5cf4a11dc1d52f630e079c5") version("6.1.1", sha256="72d1a40bce5b68f7d5959e10c07576234640b9c9fcb24d6301a76336629d9962") version("6.1.0", sha256="712f49bfe3a62c9f9cc6f9dc1c593b57e0b45158bb270d685d1141c9a9e90387") version("6.0.2", sha256="8286d00ce290eeace3697138da9d7a9669f54152e5febcd9e5c5156ae79f0c0c") @@ -32,19 +33,14 @@ class RocmValidationSuite(CMakePackage): version("5.6.0", sha256="54cc5167055870570c97ee7114f48d24d5415f984e0c9d7b58b83467e0cf18fb") version("5.5.1", sha256="0fbfaa9f68642b590ef04f9778013925bbf3f17bdcd35d4c85a8ffd091169a6e") version("5.5.0", sha256="296add772171db67ab8838d2db1ea56df21e895c0348c038768e40146e4fe86a") - version("5.4.3", sha256="1f0888e559104a4b8c2f5322f7463e425f2baaf12aeb1a8982a5974516e7b667") - version("5.4.0", sha256="ca2abfa739c2853f71453e65787e318ab879be8a6a362c4cb4d27baa90f3cd5f") - version("5.3.3", sha256="9acbc8de9b2e18659f51bd49f6e92ab6c93742e2ed0046322025f017fc12497f") - version("5.3.0", sha256="d6afb8a5f4eaf860fd510bcfe65e735cbf96d4b8817c758ea7aee84d4c994382") with default_args(deprecated=True): - version("5.2.3", sha256="5dfbd41c694bf2eb4368edad8653dc60ec2927d174fc7aaa5fa416156c5f921f") - version("5.2.1", sha256="a0ea3ab9cbb8ac17bfa4537713a4d7075f869949bfdead4565a46f75864bd4a9") - version("5.2.0", sha256="2dfef5d66f544230957ac9aaf647b2f1dccf3cc7592cc322cae9fbdcf3321365") - version("5.1.3", sha256="0140a4128c31749c078d9e1dc863cbbd690efc65843c34a4b80f0056e5b8c7b6") - version("5.1.0", sha256="d9b9771b885bd94e5d0352290d3fe0fa12f94ce3f384c3844002cd7614880010") + version("5.4.3", sha256="1f0888e559104a4b8c2f5322f7463e425f2baaf12aeb1a8982a5974516e7b667") + version("5.4.0", sha256="ca2abfa739c2853f71453e65787e318ab879be8a6a362c4cb4d27baa90f3cd5f") + version("5.3.3", sha256="9acbc8de9b2e18659f51bd49f6e92ab6c93742e2ed0046322025f017fc12497f") + version("5.3.0", sha256="d6afb8a5f4eaf860fd510bcfe65e735cbf96d4b8817c758ea7aee84d4c994382") + + depends_on("cxx", type="build") # generated - patch("005-cleanup-path-reference-donot-download-googletest-yaml.patch", when="@:5.2") - patch("006-library-path.patch", when="@:5.2") patch( "007-cleanup-path-reference-donot-download-googletest-yaml-library-path_5.3.patch", when="@5.3.0:5.5", @@ -72,11 +68,6 @@ def setup_build_environment(self, build_env): build_env.set("HIPCC_PATH", spec["hip"].prefix) for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -91,6 +82,7 @@ def setup_build_environment(self, build_env): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocminfo@{ver}", when=f"@{ver}") @@ -98,11 +90,7 @@ def setup_build_environment(self, build_env): depends_on(f"rocm-smi-lib@{ver}", when=f"@{ver}") def patch(self): - if self.spec.satisfies("@:5.1"): - filter_file( - r"@ROCM_PATH@/rvs", self.spec.prefix.rvs, "rvs/conf/deviceid.sh.in", string=True - ) - elif self.spec.satisfies("@5.2:5.4"): + if self.spec.satisfies("@5.2:5.4"): filter_file( r"@ROCM_PATH@/bin", self.spec.prefix.bin, "rvs/conf/deviceid.sh.in", string=True ) diff --git a/var/spack/repos/builtin/packages/rocminfo/package.py b/var/spack/repos/builtin/packages/rocminfo/package.py index cc97c6bb695b28..f8fcc531707f48 100644 --- a/var/spack/repos/builtin/packages/rocminfo/package.py +++ b/var/spack/repos/builtin/packages/rocminfo/package.py @@ -12,12 +12,13 @@ class Rocminfo(CMakePackage): homepage = "https://github.com/ROCm/rocminfo" git = "https://github.com/ROCm/rocminfo.git" - url = "https://github.com/ROCm/rocminfo/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/rocminfo/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath", "haampie") version("master", branch="master") + version("6.1.2", sha256="882ebe3db60b6290a81a98e0bac9b8923fbf83966f1706fd24484700b8213bcc") version("6.1.1", sha256="ef5e33ad3d0bae462d01e1528ffa9c83c587ccbf7ef5947e096e550480d83819") version("6.1.0", sha256="973352210fdc65932f0125e2db68729383727eaf4ebb7f52c88a948c14bbbb73") version("6.0.2", sha256="e616d364a48de18eaee661bdce999d095086905f49777663ca99312f40a63da1") @@ -28,25 +29,17 @@ class Rocminfo(CMakePackage): version("5.6.0", sha256="87d98a736e4f7510d1475d35717842068d826096a0af7c15a395bcf9d36d7fa0") version("5.5.1", sha256="bcab27bb3595d5a4c981e2416458d169e85c27e603c22e743d9240473bfbe98a") version("5.5.0", sha256="b6107d362b70e20a10911741eb44247139b4eb43489f7fa648daff880b6de37f") - version("5.4.3", sha256="72159eed31f8deee0df9228b9e306a18fe9efdd4d6c0eead871cad4617874170") - version("5.4.0", sha256="79123b92992cce75ae679caf9a6bf57b16d24e96e54b36eb002511f3800e29c6") - version("5.3.3", sha256="77e6adc81da6c1d153517e1d28db774205531a2ec188e6518f998328ef7897c6") - version("5.3.0", sha256="c279da1d946771d120611b64974fde751534e787a394ceb6b8e0b743c143d782") with default_args(deprecated=True): - version("5.2.3", sha256="38fe8db21077100ee2242bd087371f6b8e0078d3a269e145d3a4ab314d0b8902") - version("5.2.1", sha256="e8a3b3228387d164e21de060e18ac018eecb5e9abe0ae45830c51ead4b7f1004") - version("5.2.0", sha256="e721eb81efd384abd22ff01cdcbb6245b11084dc11a867c74c8ad6b028aa0404") - version("5.1.3", sha256="7aecd7b189e129b77c8f2af70be2926a0f3a5ee89814879bc8477924a7e6f2ae") - version("5.1.0", sha256="76f6cc9e69d9fc7e692e5c7db35e89079d3b1d2d47632e4742d612e743c396d3") + version("5.4.3", sha256="72159eed31f8deee0df9228b9e306a18fe9efdd4d6c0eead871cad4617874170") + version("5.4.0", sha256="79123b92992cce75ae679caf9a6bf57b16d24e96e54b36eb002511f3800e29c6") + version("5.3.3", sha256="77e6adc81da6c1d153517e1d28db774205531a2ec188e6518f998328ef7897c6") + version("5.3.0", sha256="c279da1d946771d120611b64974fde751534e787a394ceb6b8e0b743c143d782") + + depends_on("cxx", type="build") # generated depends_on("cmake@3:", type="build") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -61,6 +54,7 @@ class Rocminfo(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", "master", ]: depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") @@ -77,6 +71,7 @@ class Rocminfo(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/rocmlir/package.py b/var/spack/repos/builtin/packages/rocmlir/package.py index b3d0825cd3f558..67f40176bb47cc 100644 --- a/var/spack/repos/builtin/packages/rocmlir/package.py +++ b/var/spack/repos/builtin/packages/rocmlir/package.py @@ -14,10 +14,11 @@ class Rocmlir(CMakePackage): homepage = "https://github.com/ROCm/rocMLIR" git = "https://github.com/ROCm/rocMLIR.git" - url = "https://github.com/ROCm/rocMLIR/archive/refs/tags/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/rocMLIR/archive/refs/tags/rocm-6.1.2.tar.gz" maintainers("srekolam", "afzpatel", "renjithravindrankannath") + version("6.1.2", sha256="9bde02b898896301a30e7007e384b9de9cf8feac04f44c91a3b625e74788fda6") version("6.1.1", sha256="0847fd2325fb287538442cf09daf7fa76e7926a40eafd27049e0b5320371c1b5") version("6.1.0", sha256="dd800783f1ce66ce7c560d5193d053ddf3797abae5ec9375c9842243f5a8ca0b") version("6.0.2", sha256="6ed039e8045169bb64c10fb063c2e1753b8d52d6d56c60e001c929082be1f20b") @@ -28,6 +29,10 @@ class Rocmlir(CMakePackage): version("5.4.0", sha256="3823f455ee392118c3281e27d45fa0e5381f3c4070eb4e06ba13bc6b34a90a60") with default_args(deprecated=True): version("5.3.0", sha256="e8471a13cb39d33adff34730d3162adaa5d20f9544d61a6a94b39b9b5762ad6d") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated variant( "build_type", default="Release", @@ -53,7 +58,19 @@ def patch(self): depends_on("half") depends_on("pkgconfig", type="build") - for ver in ["5.3.0", "5.4.0", "5.4.3", "5.5.0", "5.5.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1"]: + for ver in [ + "5.3.0", + "5.4.0", + "5.4.3", + "5.5.0", + "5.5.1", + "6.0.0", + "6.0.2", + "6.1.0", + "6.1.1", + "6.1.2", + ]: + depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/rocprim/package.py b/var/spack/repos/builtin/packages/rocprim/package.py index 2b9ca3401cde9f..db959c565e9991 100644 --- a/var/spack/repos/builtin/packages/rocprim/package.py +++ b/var/spack/repos/builtin/packages/rocprim/package.py @@ -17,6 +17,7 @@ class Rocprim(CMakePackage): license("MIT") maintainers("cgmb", "srekolam", "renjithravindrankannath") + version("6.1.2", sha256="560b65fffb103c11bee710e4eb871fd47dd84dfe99f5762a19c5650e490fd85d") version("6.1.1", sha256="94b265b6b4ed366b0ba008ef77ab6623b7b880b45874f202c887f01b67905922") version("6.1.0", sha256="9f02e5f8be90baa679a28f83927495ddf0e17d684536e1f820021e8c3e8e6c84") version("6.0.2", sha256="d3998720d3206965335902f8f67ca497b320a33b810cd19b2a2264505cb38779") @@ -27,16 +28,13 @@ class Rocprim(CMakePackage): version("5.6.0", sha256="360d6ece3c4a3c289dd88043432026fb989e982ae4d05230d8cdc858bcd50466") version("5.5.1", sha256="63cdc682afb39efd18f097faf695ce64c851c4a550a8ad96fa89d694451b6a42") version("5.5.0", sha256="968d9059f93d3f0f8a602f7b989e54e36cff2f9136486b6869e4534a5bf8c7d9") - version("5.4.3", sha256="7be6314a46195912d3203e7e59cb8880a46ed7c1fd221e92fadedd20532e0e48") - version("5.4.0", sha256="1740dca11c70ed350995331c292f7e3cb86273614e4a5ce9f0ea64dea5364318") - version("5.3.3", sha256="21a6b352ad3f5b2b7d05a5ed55e612feb3c5c19d34fdb8f80260b6d25af18b2d") - version("5.3.0", sha256="4885bd662b038c6e9f058a756fd838203dbd00227bfef6adaf31496010b100e4") with default_args(deprecated=True): - version("5.2.3", sha256="502f49cf3190f4ac20d0a6b19eb2d0786bb3c5661329940378081f1678aa8e82") - version("5.2.1", sha256="47f09536b0afbb7be4d6fb71cca9f0a4fa58dde29c83aee247d4b167f6f3acae") - version("5.2.0", sha256="f99eb7d2f6b1445742fba631a0dc8bb0d464a767a9c4fb79ac865d9570fe747b") - version("5.1.3", sha256="b5a08d2e76388bd1ffa6c946009928fe95de846ab6b65a6475998070c0cf6dc1") - version("5.1.0", sha256="dfe106c01155e00ed816f0231d1576ff8c08750cc8278fa453926f388dc6fe48") + version("5.4.3", sha256="7be6314a46195912d3203e7e59cb8880a46ed7c1fd221e92fadedd20532e0e48") + version("5.4.0", sha256="1740dca11c70ed350995331c292f7e3cb86273614e4a5ce9f0ea64dea5364318") + version("5.3.3", sha256="21a6b352ad3f5b2b7d05a5ed55e612feb3c5c19d34fdb8f80260b6d25af18b2d") + version("5.3.0", sha256="4885bd662b038c6e9f058a756fd838203dbd00227bfef6adaf31496010b100e4") + + depends_on("cxx", type="build") # generated amdgpu_targets = ROCmPackage.amdgpu_targets @@ -52,11 +50,6 @@ class Rocprim(CMakePackage): depends_on("googletest@1.10.0:", type="test") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -71,6 +64,7 @@ class Rocprim(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"comgr@{ver}", when=f"@{ver}") @@ -97,10 +91,9 @@ def cmake_args(self): if self.spec.satisfies("^cmake@3.21.0:3.21.2"): args.append(self.define("__skip_rocmclang", "ON")) - - if self.spec.satisfies("@:5.1"): - args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)) - elif self.spec.satisfies("@5.2:"): + if self.spec.satisfies("@5.2:"): + args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip)) + if self.spec.satisfies("@5.2:"): args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", True)) return args diff --git a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py index af734b224e79bf..35702f97be9625 100644 --- a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py +++ b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py @@ -13,12 +13,13 @@ class RocprofilerDev(CMakePackage): homepage = "https://github.com/ROCm/rocprofiler" git = "https://github.com/ROCm/rocprofiler.git" - url = "https://github.com/ROCm/rocprofiler/archive/refs/tags/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/rocprofiler/archive/refs/tags/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") libraries = ["librocprofiler64"] license("MIT") + version("6.1.2", sha256="e6e8771b8c933c16a99192cc215fe964a95e1718ad286520c8272150e184bc06") version("6.1.1", sha256="b4b01a02de5328c7383c2318a998da86a6a9372e1728fc88a21b52bc1cbe9d9d") version("6.1.0", sha256="14ac0a451428465133583e83d9177ed34b3d4679515018a12ee74f5e0288c956") version("6.0.2", sha256="d3f24e639a5e151fa418a92ae6fe150bdf14120b8982a5baa52844ce2fba0b82") @@ -29,24 +30,18 @@ class RocprofilerDev(CMakePackage): version("5.6.0", sha256="ff811bd91580f60b6b4d397b6fce38d96f07debc6fd8a631b81d1b266cc9542d") version("5.5.1", sha256="f5dbece5c205e37383fed4a2bd6042ff1c11f11f64dfbf65d7e23c0af6889a5a") version("5.5.0", sha256="d9dd38c42b4b12d4149f1cc3fca1af5bec69c72f455653a8f4fd8195b3b95703") - version("5.4.3", sha256="86c3f43ee6cb9808796a21409c853cc8fd496578b9eef4de67ca77830229cac1") - version("5.4.0", sha256="0322cbe5d1d3182e616f472da31f0707ad6040833c38c28f2b39381a85210f43") - version("5.3.3", sha256="07ee28f3420a07fc9d45910e78ad7961b388109cfc0e74cfdf2666789e6af171") - version("5.3.0", sha256="b0905a329dc1c97a362b951f3f8ef5da9d171cabb001ed4253bd59a2742e7d39") with default_args(deprecated=True): - version("5.2.3", sha256="4ed22e86633ab177eed85fed8994fcb71017c4c4774998e4d3fc36b6c0a15eac") - version("5.2.1", sha256="c6768ec428590aadfb0e7ef6e22b8dc5ac8ed97babeb56db07f2d5d41cd122e2") - version("5.2.0", sha256="1f4db27b56ef1863d4c9e1d96bac9117d66be45156d0637cfe4fd38cae61a23a") - version("5.1.3", sha256="eca7be451c7bf000fd9c75683e7f5dfbed32dbb385b5ac685d2251ee8c3abc96") - version("5.1.0", sha256="4a1c6ed887b0159392406af8796508df2794353a4c3aacc801116044fb4a10a5") + version("5.4.3", sha256="86c3f43ee6cb9808796a21409c853cc8fd496578b9eef4de67ca77830229cac1") + version("5.4.0", sha256="0322cbe5d1d3182e616f472da31f0707ad6040833c38c28f2b39381a85210f43") + version("5.3.3", sha256="07ee28f3420a07fc9d45910e78ad7961b388109cfc0e74cfdf2666789e6af171") + version("5.3.0", sha256="b0905a329dc1c97a362b951f3f8ef5da9d171cabb001ed4253bd59a2742e7d39") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("cmake@3:", type="build") + for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -61,13 +56,14 @@ class RocprofilerDev(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") depends_on(f"rocminfo@{ver}", when=f"@{ver}") depends_on(f"roctracer-dev-api@{ver}", when=f"@{ver}") - for ver in ["5.7.0", "5.7.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1"]: + for ver in ["5.7.0", "5.7.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2"]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocm-smi-lib@{ver}", when=f"@{ver}") @@ -82,6 +78,7 @@ class RocprofilerDev(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"aqlprofile@{ver}", when=f"@{ver}") depends_on(f"comgr@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/rocrand/package.py b/var/spack/repos/builtin/packages/rocrand/package.py index dd800a276adf12..b3fb00b0e4ff8f 100644 --- a/var/spack/repos/builtin/packages/rocrand/package.py +++ b/var/spack/repos/builtin/packages/rocrand/package.py @@ -3,7 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import glob import os import re @@ -26,6 +25,7 @@ class Rocrand(CMakePackage): version("develop", branch="develop") version("master", branch="master") + version("6.1.2", sha256="ac3c858c0f76188ac50574591aa6b41b27bda2af5925314451a44242319f28c8") version("6.1.1", sha256="d6302d014045694be85385cdc683ea75476e23fd92ae170079c261c0b041764b") version("6.1.0", sha256="ea80c5d657fa48b1122a47986239a04118977195ee4826d2b14b8bfe0fabce6e") version("6.0.2", sha256="51d66c645987cbfb593aaa6be94109e87fe4cb7e9c70309eb3c159af0de292d7") @@ -36,16 +36,14 @@ class Rocrand(CMakePackage): version("5.6.0", sha256="cc894d2f1af55e16b62c179062063946609c656043556189c656a115fd7d6f5f") version("5.5.1", sha256="e8bed3741b19e296bd698fc55b43686206f42f4deea6ace71513e0c48258cc6e") version("5.5.0", sha256="0481e7ef74c181026487a532d1c17e62dd468e508106edde0279ca1adeee6f9a") - version("5.4.3", sha256="463aa760e9f74e45b326765040bb8a8a4fa27aaeaa5e5df16f8289125f88a619") - version("5.4.0", sha256="0f6a0279b8b5a6dfbe32b45e1598218fe804fee36170d5c1f7b161c600544ef2") - version("5.3.3", sha256="b0aae79dce7f6f9ef76ad2594745fe1f589a7b675b22f35b4d2369e7d5e1985a") - version("5.3.0", sha256="be4c9f9433415bdfea50d9f47b8afb43ac315f205ed39674f863955a6c256dca") with default_args(deprecated=True): - version("5.2.3", sha256="01eda8022fab7bafb2c457fe26a9e9c99950ed1b772ae7bf8710b23a90b56e32") - version("5.2.1", sha256="4b2a7780f0112c12b5f307e1130e6b2c02ab984a0c1b94e9190dae38f0067600") - version("5.2.0", sha256="ab3057e7c17a9fbe584f89ef98ec92a74d638a98d333e7d0f64daf7bc9051e38") - version("5.1.3", sha256="4a19e1bcb60955a02a73ad64594c23886d6749afe06b0104e2b877dbe02c8d1c") - version("5.1.0", sha256="0c6f114a775d0b38be71f3f621a10bde2104a1f655d5d68c5fecb79b8b51a815") + version("5.4.3", sha256="463aa760e9f74e45b326765040bb8a8a4fa27aaeaa5e5df16f8289125f88a619") + version("5.4.0", sha256="0f6a0279b8b5a6dfbe32b45e1598218fe804fee36170d5c1f7b161c600544ef2") + version("5.3.3", sha256="b0aae79dce7f6f9ef76ad2594745fe1f589a7b675b22f35b4d2369e7d5e1985a") + version("5.3.0", sha256="be4c9f9433415bdfea50d9f47b8afb43ac315f205ed39674f863955a6c256dca") + + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated amdgpu_targets = ROCmPackage.amdgpu_targets @@ -75,11 +73,6 @@ class Rocrand(CMakePackage): ("5.4.0", "125d691d3bcc6de5f5d63cf5f5a993c636251208"), ("5.3.3", "12e2f070337945318295c330bf69c6c060928b9e"), ("5.3.0", "12e2f070337945318295c330bf69c6c060928b9e"), - ("5.2.3", "12e2f070337945318295c330bf69c6c060928b9e"), - ("5.2.1", "12e2f070337945318295c330bf69c6c060928b9e"), - ("5.2.0", "12e2f070337945318295c330bf69c6c060928b9e"), - ("5.1.3", "20ac3db9d7462c15a3e96a6f0507cd5f2ee089c4"), - ("5.1.0", "20ac3db9d7462c15a3e96a6f0507cd5f2ee089c4"), ]: resource( name="hipRAND", @@ -107,11 +100,6 @@ class Rocrand(CMakePackage): ) for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -126,6 +114,7 @@ class Rocrand(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") @@ -138,26 +127,6 @@ def patch(self): def setup_build_environment(self, env): env.set("CXX", self.spec["hip"].hipcc) - @run_after("install") - def fix_library_locations(self): - if self.spec.satisfies("~hiprand"): - return - """Fix the rocRAND and hipRAND libraries location""" - # rocRAND installs librocrand.so* and libhiprand.so* to rocrand/lib and - # hiprand/lib, respectively. This confuses spack's RPATH management. We - # fix it by adding a symlink to the libraries. - if self.spec.satisfies("@5.1.0:5.1.3"): - if not os.path.isdir(os.path.join(self.prefix, "hiprand")): - os.mkdir(os.path.join(self.prefix, "hiprand")) - os.mkdir(os.path.join(self.prefix, "hiprand", "include")) - hiprand_include_path = join_path(self.prefix, "include", "hiprand") - with working_dir(hiprand_include_path): - hiprand_includes = glob.glob("*.h*") - hiprand_path = join_path(self.prefix, "hiprand", "include") - with working_dir(hiprand_path): - for header_file in hiprand_includes: - os.symlink(join_path("../../include/hiprand", header_file), header_file) - @classmethod def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) diff --git a/var/spack/repos/builtin/packages/rocsolver/fmt-8.1-compatibility.patch b/var/spack/repos/builtin/packages/rocsolver/fmt-8.1-compatibility.patch deleted file mode 100644 index f9333667446999..00000000000000 --- a/var/spack/repos/builtin/packages/rocsolver/fmt-8.1-compatibility.patch +++ /dev/null @@ -1,143 +0,0 @@ ---- a/library/src/include/rocsolver_logvalue.hpp -+++ b/library/src/include/rocsolver_logvalue.hpp -@@ -8,6 +8,14 @@ - - #include "rocsolver_datatype2string.hpp" - -+/* The format function for user-defined types cannot be const before fmt v8.0 -+ but must be const in fmt v8.1 if the type is used in a tuple. */ -+#if FMT_VERSION < 80000 -+#define ROCSOLVER_FMT_CONST -+#else -+#define ROCSOLVER_FMT_CONST const -+#endif -+ - /*************************************************************************** - * Wrapper for types passed to logger, so we can more easily adjust the - * default way of printing built-in types without doing it globally. (e.g. -@@ -37,7 +45,7 @@ template - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(wrapper.value, ctx); - } -@@ -49,7 +57,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(wrapper.value ? '1' : '0', ctx); - } -@@ -58,7 +66,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(rocblas2char_operation(wrapper.value), ctx); - } -@@ -67,7 +75,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(rocblas2char_fill(wrapper.value), ctx); - } -@@ -76,7 +84,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(rocblas2char_diagonal(wrapper.value), ctx); - } -@@ -85,7 +93,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(rocblas2char_side(wrapper.value), ctx); - } -@@ -94,7 +102,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(rocblas2char_direct(wrapper.value), ctx); - } -@@ -104,7 +112,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(rocblas2char_storev(wrapper.value), ctx); - } -@@ -113,7 +121,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(rocblas2char_workmode(wrapper.value), ctx); - } -@@ -122,7 +130,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(rocblas2char_svect(wrapper.value), ctx); - } -@@ -131,7 +139,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(rocblas2char_evect(wrapper.value), ctx); - } -@@ -140,7 +148,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(rocblas2char_eform(wrapper.value), ctx); - } -@@ -149,7 +157,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(rocblas2string_datatype(wrapper.value), ctx); - } -@@ -158,7 +166,7 @@ template <> - struct formatter> : formatter - { - template -- auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) -+ auto format(rocsolver_logvalue wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST - { - return formatter::format(rocblas2string_initialization(wrapper.value), ctx); - } diff --git a/var/spack/repos/builtin/packages/rocsolver/package.py b/var/spack/repos/builtin/packages/rocsolver/package.py index b255146d17570c..4cc1e485ebf481 100644 --- a/var/spack/repos/builtin/packages/rocsolver/package.py +++ b/var/spack/repos/builtin/packages/rocsolver/package.py @@ -15,7 +15,7 @@ class Rocsolver(CMakePackage): homepage = "https://github.com/ROCm/rocSOLVER" git = "https://github.com/ROCm/rocSOLVER.git" - url = "https://github.com/ROCm/rocSOLVER/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/rocSOLVER/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("cgmb", "srekolam", "renjithravindrankannath", "haampie") @@ -41,6 +41,7 @@ class Rocsolver(CMakePackage): version("develop", branch="develop") version("master", branch="master") + version("6.1.2", sha256="8cb45b6a4ed819b8e952c0bfdd8bf7dd941478ac656bea42a6d6751f459e66ea") version("6.1.1", sha256="3bbba30fa7f187676caf858f66c2345e4dcc81b9546eca4a726c0b159dad22bd") version("6.1.0", sha256="f1d7a4edf14ed0b2e2f74aa5cbc9db0c3b0dd31e50bbada1586cb353a28fe015") version("6.0.2", sha256="781d5df2886ab0d5087a215a33ac390dd27653b2a9b4a620c7d51b0ae56f63d2") @@ -51,16 +52,14 @@ class Rocsolver(CMakePackage): version("5.6.0", sha256="54baa7f35f3c53da9005054e6f7aeecece5526dafcb277af32cbcb3996b0cbbc") version("5.5.1", sha256="8bf843e42d2e89203ea5fdb6e6082cea90da8d02920ab4c09bcc2b6f69909760") version("5.5.0", sha256="6775aa5b96731208c12c5b450cf218d4c262a80b7ea20c2c3034c448bb2ca4d2") - version("5.4.3", sha256="5308b68ea72f465239a4bb2ed1a0507f0df7c98d3df3fd1f392e6d9ed7975232") - version("5.4.0", sha256="69690839cb649dee43353b739d3e6b2312f3d965dfe66705c0ea910e57c6a8cb") - version("5.3.3", sha256="d2248b5e2e0b20e08dd1ee5408e38deb02ecd28096dc7c7f2539351df6cb6ad5") - version("5.3.0", sha256="4569f860d240d50e94e77d498050f5cafe5ad11daddaead3e7e9eaa1957878a7") with default_args(deprecated=True): - version("5.2.3", sha256="b278a1640f31fb1905f18dc5127d57e2b1d36fd2b4f39ae811b5537fa6ce87d4") - version("5.2.1", sha256="74c127efaefec70a14dff6fa0e92276f38a6c313bf1271d68d03a4222d1fc3b6") - version("5.2.0", sha256="94d46ebe1266eaa05df50c1789dc27d3f2dbf3cb5af156e757777a82ed6ef356") - version("5.1.3", sha256="5a8f3b95ac9a131c31538196e954ea53b863009c092cce0c0ef869a0cd5dd554") - version("5.1.0", sha256="88de515a6e75eaa3c50c9c8ae1e7ae8e3b46e712e388f44f79b63fefa9fc0831") + version("5.4.3", sha256="5308b68ea72f465239a4bb2ed1a0507f0df7c98d3df3fd1f392e6d9ed7975232") + version("5.4.0", sha256="69690839cb649dee43353b739d3e6b2312f3d965dfe66705c0ea910e57c6a8cb") + version("5.3.3", sha256="d2248b5e2e0b20e08dd1ee5408e38deb02ecd28096dc7c7f2539351df6cb6ad5") + version("5.3.0", sha256="4569f860d240d50e94e77d498050f5cafe5ad11daddaead3e7e9eaa1957878a7") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated depends_on("cmake@3.8:", type="build") depends_on("fmt@7:", type="build", when="@4.5.0:") @@ -69,8 +68,6 @@ class Rocsolver(CMakePackage): depends_on("googletest@1.10.0:", type="test") depends_on("netlib-lapack@3.7.1:", type="test") - # Backport https://github.com/ROCm/rocSOLVER/commit/2bbfb8976f6e4d667499c77e41a6433850063e88 - patch("fmt-8.1-compatibility.patch", when="@:5.1.3") # Maximize compatibility with other libraries that are using fmt. patch("fmt-9-compatibility.patch", when="@5.2.0:5.5") @@ -85,11 +82,6 @@ class Rocsolver(CMakePackage): depends_on(f"rocblas@{ver}", when=f"@{ver}") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -104,6 +96,7 @@ class Rocsolver(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocblas@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/rocsparse/0003-fix-navi-1x-rocm-4.5.patch b/var/spack/repos/builtin/packages/rocsparse/0003-fix-navi-1x-rocm-4.5.patch deleted file mode 100644 index ab84b91c6177d3..00000000000000 --- a/var/spack/repos/builtin/packages/rocsparse/0003-fix-navi-1x-rocm-4.5.patch +++ /dev/null @@ -1,78 +0,0 @@ -From f9446b8f4c3cb3a3c6d38734f9980712a82b9db9 Mon Sep 17 00:00:00 2001 -From: Cory Bloor -Date: Fri, 8 Jul 2022 20:53:32 -0600 -Subject: [PATCH] Improve guards for arch-specific instructions (#368) - -When choosing between a specialized implementation that uses -architecture-specific functionality and a generic fallback, it is -usually preferable to make the fallback the default. This will give the -software the best possible chance of functioning without modification -on future hardware. - -Of course, the library will still need code updates to function -optimally on hardware released after the software was written. - -rocSPARSE can also be compiled with CXXFLAGS=-DROCSPARSE_USE_MOVE_DPP=0 -to force the use of the fallback implementation. Or with the value 1 to -force the use of the specialized __hip_move_dpp implementation. - -This change fixes the compilation error: - - Illegal instruction detected: Invalid dpp_ctrl value: broadcasts are not supported on GFX10+ - -when building for unsupported Navi 1x and Navi 2x GPUs as was -reported in https://github.com/ROCmSoftwarePlatform/rocSPARSE/issues/250 ---- - library/src/include/common.h | 18 +++++++++++++++--- - 1 file changed, 15 insertions(+), 3 deletions(-) - -diff --git a/library/src/include/common.h b/library/src/include/common.h -index 6a4654af..975c5f7d 100644 ---- a/library/src/include/common.h -+++ b/library/src/include/common.h -@@ -34,6 +34,18 @@ - - // clang-format off - -+#ifndef ROCSPARSE_USE_MOVE_DPP -+#if defined(__gfx803__) || \ -+ defined(__gfx900__) || \ -+ defined(__gfx906__) || \ -+ defined(__gfx908__) || \ -+ defined(__gfx90a__) -+#define ROCSPARSE_USE_MOVE_DPP 1 -+#else -+#define ROCSPARSE_USE_MOVE_DPP 0 -+#endif -+#endif -+ - // BSR indexing macros - #define BSR_IND(j, bi, bj, dir) ((dir == rocsparse_direction_row) ? BSR_IND_R(j, bi, bj) : BSR_IND_C(j, bi, bj)) - #define BSR_IND_R(j, bi, bj) (block_dim * block_dim * (j) + (bi) * block_dim + (bj)) -@@ -233,7 +245,7 @@ __device__ __forceinline__ void rocsparse_blockreduce_min(int i, T* data) - if(BLOCKSIZE > 1) { if(i < 1 && i + 1 < BLOCKSIZE) { data[i] = min(data[i], data[i + 1]); } __syncthreads(); } - } - --#ifndef __gfx1030__ -+#if ROCSPARSE_USE_MOVE_DPP - // DPP-based wavefront reduction maximum - template - __device__ __forceinline__ void rocsparse_wfreduce_max(int* maximum) -@@ -499,7 +511,7 @@ __device__ __forceinline__ double rocsparse_wfreduce_sum(double sum) - sum = temp_sum.val; - return sum; - } --#else -+#else /* ROCSPARSE_USE_MOVE_DPP */ - template - __device__ __forceinline__ void rocsparse_wfreduce_max(int* maximum) - { -@@ -566,7 +578,7 @@ __device__ __forceinline__ double rocsparse_wfreduce_sum(double sum) - - return sum; - } --#endif -+#endif /* ROCSPARSE_USE_MOVE_DPP */ - - // DPP-based complex float wavefront reduction sum - template diff --git a/var/spack/repos/builtin/packages/rocsparse/0003-fix-navi-1x-rocm-5.2.patch b/var/spack/repos/builtin/packages/rocsparse/0003-fix-navi-1x-rocm-5.2.patch deleted file mode 100644 index 52bbe8336fb756..00000000000000 --- a/var/spack/repos/builtin/packages/rocsparse/0003-fix-navi-1x-rocm-5.2.patch +++ /dev/null @@ -1,78 +0,0 @@ -From f9446b8f4c3cb3a3c6d38734f9980712a82b9db9 Mon Sep 17 00:00:00 2001 -From: Cory Bloor -Date: Fri, 8 Jul 2022 20:53:32 -0600 -Subject: [PATCH] Improve guards for arch-specific instructions (#368) - -When choosing between a specialized implementation that uses -architecture-specific functionality and a generic fallback, it is -usually preferable to make the fallback the default. This will give the -software the best possible chance of functioning without modification -on future hardware. - -Of course, the library will still need code updates to function -optimally on hardware released after the software was written. - -rocSPARSE can also be compiled with CXXFLAGS=-DROCSPARSE_USE_MOVE_DPP=0 -to force the use of the fallback implementation. Or with the value 1 to -force the use of the specialized __hip_move_dpp implementation. - -This change fixes the compilation error: - - Illegal instruction detected: Invalid dpp_ctrl value: broadcasts are not supported on GFX10+ - -when building for unsupported Navi 1x and Navi 2x GPUs as was -reported in https://github.com/ROCmSoftwarePlatform/rocSPARSE/issues/250 ---- - library/src/include/common.h | 18 +++++++++++++++--- - 1 file changed, 15 insertions(+), 3 deletions(-) - -diff --git a/library/src/include/common.h b/library/src/include/common.h -index 6a4654af..975c5f7d 100644 ---- a/library/src/include/common.h -+++ b/library/src/include/common.h -@@ -34,6 +34,18 @@ - - // clang-format off - -+#ifndef ROCSPARSE_USE_MOVE_DPP -+#if defined(__gfx803__) || \ -+ defined(__gfx900__) || \ -+ defined(__gfx906__) || \ -+ defined(__gfx908__) || \ -+ defined(__gfx90a__) -+#define ROCSPARSE_USE_MOVE_DPP 1 -+#else -+#define ROCSPARSE_USE_MOVE_DPP 0 -+#endif -+#endif -+ - // BSR indexing macros - #define BSR_IND(j, bi, bj, dir) ((dir == rocsparse_direction_row) ? BSR_IND_R(j, bi, bj) : BSR_IND_C(j, bi, bj)) - #define BSR_IND_R(j, bi, bj) (block_dim * block_dim * (j) + (bi) * block_dim + (bj)) -@@ -233,7 +245,7 @@ __device__ __forceinline__ void rocsparse_blockreduce_min(int i, T* data) - if(BLOCKSIZE > 1) { if(i < 1 && i + 1 < BLOCKSIZE) { data[i] = min(data[i], data[i + 1]); } __syncthreads(); } - } - --#if (!defined(__gfx1030__)) && (!defined(__gfx1011__)) -+#if ROCSPARSE_USE_MOVE_DPP - // DPP-based wavefront reduction maximum - template - __device__ __forceinline__ void rocsparse_wfreduce_max(int* maximum) -@@ -499,7 +511,7 @@ __device__ __forceinline__ double rocsparse_wfreduce_sum(double sum) - sum = temp_sum.val; - return sum; - } --#else -+#else /* ROCSPARSE_USE_MOVE_DPP */ - template - __device__ __forceinline__ void rocsparse_wfreduce_max(int* maximum) - { -@@ -566,7 +578,7 @@ __device__ __forceinline__ double rocsparse_wfreduce_sum(double sum) - - return sum; - } --#endif -+#endif /* ROCSPARSE_USE_MOVE_DPP */ - - // DPP-based complex float wavefront reduction sum - template diff --git a/var/spack/repos/builtin/packages/rocsparse/package.py b/var/spack/repos/builtin/packages/rocsparse/package.py index 3792c336643827..93b5122b1a6578 100644 --- a/var/spack/repos/builtin/packages/rocsparse/package.py +++ b/var/spack/repos/builtin/packages/rocsparse/package.py @@ -34,6 +34,7 @@ class Rocsparse(CMakePackage): variant("test", default=False, description="Build rocsparse-test client") license("MIT") + version("6.1.2", sha256="e8989c28085275e7c044b19fd2bc86d8493ce6a1b8545126f787722c535fe6eb") version("6.1.1", sha256="9ac2bf84962cfdf24e4fa68e6f1d91ffdad5d5a5287ecdaddf331e6073ba57b3") version("6.1.0", sha256="d69d9b0079159abb2d7514f8f45a41bb2cbcaf8b52e600e794aca3facf274b5e") version("6.0.2", sha256="00292eb7efe5719a65960bdbe391ba8e0ce610487eea11397aad6a14b11e12cd") @@ -44,25 +45,19 @@ class Rocsparse(CMakePackage): version("5.6.0", sha256="5797db3deb4a532e691447e3e8c923b93bd9fe4c468f3a88f00cecd80bebcae4") version("5.5.1", sha256="1dd2d18898dfebdf898e8fe7d1c1198e8f8451fd70ff12a1990ec1419cf359e1") version("5.5.0", sha256="cbee79b637691bc710c1c83fbaa91db7498d38d4df873be23e28ed5617acde72") - version("5.4.3", sha256="9fb633f235eb0567cc54fae6bdc779f16bf0bb4e6f5bdddb40312c6d11ca8478") - version("5.4.0", sha256="c8f0e920a8ec15b9ae40564c68191363356cc4d793c16247bb6e11ef5293ed11") - version("5.3.3", sha256="4204035e952e20ada4526a94989e8e5c76c04574176fe63a021522862461c800") - version("5.3.0", sha256="521ca0e7b52f26edbff8507eb1479dc26019f456756d884d7b8b192c3ea518e8") with default_args(deprecated=True): - version("5.2.3", sha256="6da3f3303a8ada94c4dbff4b42ee33a2e2883a908ee21c41cb2aa7180382026a") - version("5.2.1", sha256="01f3535442740221edad2cde0a20b2499c807f6733d5016b33c47f34a5a55c49") - version("5.2.0", sha256="7ed929af16d2502135024a6463997d9a95f03899b8a33aa95db7029575c89572") - version("5.1.3", sha256="ef9641045b36c9aacc87e4fe7717b41b1e29d97e21432678dce7aca633a8edc2") - version("5.1.0", sha256="a2f0f8cb02b95993480bd7264fc65e8b11464a90b86f2dcd0dd82a2e6d4bd704") + version("5.4.3", sha256="9fb633f235eb0567cc54fae6bdc779f16bf0bb4e6f5bdddb40312c6d11ca8478") + version("5.4.0", sha256="c8f0e920a8ec15b9ae40564c68191363356cc4d793c16247bb6e11ef5293ed11") + version("5.3.3", sha256="4204035e952e20ada4526a94989e8e5c76c04574176fe63a021522862461c800") + version("5.3.0", sha256="521ca0e7b52f26edbff8507eb1479dc26019f456756d884d7b8b192c3ea518e8") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated depends_on("cmake@3.5:", type="build") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -77,6 +72,7 @@ class Rocsparse(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocprim@{ver}", when=f"@{ver}") @@ -86,9 +82,6 @@ class Rocsparse(CMakePackage): patch("0001-set-mtx-directory.patch", when="@:5.3 +test") # Enable use of Spack-provided Python. patch("0002-fix-gentest-shebang.patch", when="@:5.3 +test") - # Fix build for most Radeon 5000 and Radeon 6000 series GPUs. - patch("0003-fix-navi-1x-rocm-4.5.patch", when="@:5.1") - patch("0003-fix-navi-1x-rocm-5.2.patch", when="@5.2") depends_on("googletest@1.11.0:", when="@5.1.0: +test") depends_on("googletest@1.10.0:", when="+test") diff --git a/var/spack/repos/builtin/packages/rocthrust/package.py b/var/spack/repos/builtin/packages/rocthrust/package.py index 2639cf90c95eb0..c7222ece39ecc8 100644 --- a/var/spack/repos/builtin/packages/rocthrust/package.py +++ b/var/spack/repos/builtin/packages/rocthrust/package.py @@ -14,10 +14,11 @@ class Rocthrust(CMakePackage): homepage = "https://github.com/ROCm/rocThrust" git = "https://github.com/ROCm/rocThrust.git" - url = "https://github.com/ROCm/rocThrust/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/rocThrust/archive/rocm-6.1.0.tar.gz" tags = ["rocm"] maintainers("cgmb", "srekolam", "renjithravindrankannath") + version("6.1.2", sha256="149ca325fb8a8527781ec2853282a73bf66f60366652c19e8583afc3f1a9c4b6") version("6.1.1", sha256="03420d8af687107775a1fbd3db5e8c9872c7c738747de77a5e8c0b3466a3321a") version("6.1.0", sha256="8c36fb7b34758579601365a450700899133da5802e5c8370654051b190bd6e1c") version("6.0.2", sha256="8de9414f6b921ff549ba102239fcf65f5cc70ece5eec9753de5ec91870e6934d") @@ -28,16 +29,13 @@ class Rocthrust(CMakePackage): version("5.6.0", sha256="e52a27bcb4add38a5f0f3a5c7e409c230bf4ba9afae19bd2e06c2be00d39db59") version("5.5.1", sha256="66f126e5ea46ca761533411f81e83402773f95d3184cb7645ca73df227413023") version("5.5.0", sha256="c031f71cd4b6eaf98664fd2ad50fc18f7ccbfa67be415dca425169d2d1c81e9e") - version("5.4.3", sha256="d133e14ea6d27d358d1bd4d31b79fb1562d1aea7c400e5a2d28d0f159cb6c8a8") - version("5.4.0", sha256="a4799fb1086da3f70c9b95effb1f5f9033c861685e960a8759278463cc55a971") - version("5.3.3", sha256="0c2fc8d437efaf5c4c859d97adb049d4025025d0be0e0908f59a8112508234e5") - version("5.3.0", sha256="0e11b12f208d2751e3e507e3a32403c9bd45da4e191671d765d33abd727d9b96") with default_args(deprecated=True): - version("5.2.3", sha256="0f5ef39c5faab31eb34b48391d58096463969c133ca7ed09ab4e43caa5461b29") - version("5.2.1", sha256="5df35ff0970b83d68b69a07ae9ebb62955faac7401c91daa7929664fdd09d69b") - version("5.2.0", sha256="afa126218485586682c78e97df8025ae4efd32f3751c340e84c436e08868c326") - version("5.1.3", sha256="8d92de1e69815d92a423b7657f2f37c90f1d427f5bc92915c202d4c266254dad") - version("5.1.0", sha256="fee779ae3d55b97327d87beca784fc090fa02bc95238d9c3bf3021e266e73979") + version("5.4.3", sha256="d133e14ea6d27d358d1bd4d31b79fb1562d1aea7c400e5a2d28d0f159cb6c8a8") + version("5.4.0", sha256="a4799fb1086da3f70c9b95effb1f5f9033c861685e960a8759278463cc55a971") + version("5.3.3", sha256="0c2fc8d437efaf5c4c859d97adb049d4025025d0be0e0908f59a8112508234e5") + version("5.3.0", sha256="0e11b12f208d2751e3e507e3a32403c9bd45da4e191671d765d33abd727d9b96") + + depends_on("cxx", type="build") # generated amdgpu_targets = ROCmPackage.amdgpu_targets @@ -54,11 +52,6 @@ class Rocthrust(CMakePackage): depends_on("googletest@1.10.0:", type="test") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -73,6 +66,7 @@ class Rocthrust(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocprim@{ver}", when=f"@{ver}") @@ -87,7 +81,7 @@ def setup_build_environment(self, env): def cmake_args(self): args = [ - self.define("CMAKE_MODULE_PATH", "{0}/cmake".format(self.spec["hip"].prefix)), + self.define("CMAKE_MODULE_PATH", "{0}/lib/cmake/hip".format(self.spec["hip"].prefix)), self.define("BUILD_TEST", self.run_tests), ] diff --git a/var/spack/repos/builtin/packages/roctracer-dev-api/package.py b/var/spack/repos/builtin/packages/roctracer-dev-api/package.py index eeda9560898a42..d86e278afed71c 100644 --- a/var/spack/repos/builtin/packages/roctracer-dev-api/package.py +++ b/var/spack/repos/builtin/packages/roctracer-dev-api/package.py @@ -13,12 +13,13 @@ class RoctracerDevApi(Package): homepage = "https://github.com/ROCm/roctracer" git = "https://github.com/ROCm/roctracer.git" - url = "https://github.com/ROCm/roctracer/archive/refs/tags/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/roctracer/archive/refs/tags/rocm-6.1.2.tar.gz" tags = ["rocm"] license("MIT") maintainers("srekolam", "renjithravindrankannath") + version("6.1.2", sha256="073e67e728d5eda16d7944f3abd96348b3f278e9f36cab3ac22773ebaad0d2d6") version("6.1.1", sha256="9cb77fd700a0d615056f0db1e9500b73bd0352214f33bdac520e25b9125a926a") version("6.1.0", sha256="3f8e296c4d04123a7177d815ca166e978b085ad7c816ac298e6bb47a299fa187") version("6.0.2", sha256="1e0105b32fdd9c010aab304bb2ca1a5a38ba323cea610afe1135657edda8f26e") @@ -29,16 +30,13 @@ class RoctracerDevApi(Package): version("5.6.0", sha256="cbcfe4fa2e8b627006b320a93992fb3078696d8ef2ef049b4b880b6b7d57e13e") version("5.5.1", sha256="3afc31ebfdb14b0365185ca6b9326a83b1503a94a51d910f5ce7ced192d8c133") version("5.5.0", sha256="fe9ad95628fa96639db6fc33f78d334c814c7161b4a754598f5a4a7852625777") - version("5.4.3", sha256="6b5111be5efd4d7fd6935ca99b06fab19b43d97a58d26fc1fe6e783c4de9a926") - version("5.4.0", sha256="04c1e955267a3e8440833a177bb976f57697aba0b90c325d07fc0c6bd4065aea") - version("5.3.3", sha256="f2cb1e6bb69ea1a628c04f984741f781ae1d8498dc58e15795bb03015f924d13") - version("5.3.0", sha256="36f1da60863a113bb9fe2957949c661f00a702e249bb0523cda1fb755c053808") with default_args(deprecated=True): - version("5.2.3", sha256="93f4bb7529db732060bc12055aa10dc346a459a1086cddd5d86c7b509301be4f") - version("5.2.1", sha256="e200b5342bdf840960ced6919d4bf42c8f30f8013513f25a2190ee8767667e59") - version("5.2.0", sha256="9747356ce61c57d22c2e0a6c90b66a055e435d235ba3459dc3e3f62aabae6a03") - version("5.1.3", sha256="45f19875c15eb609b993788b47fd9c773b4216074749d7744f3a671be17ef33c") - version("5.1.0", sha256="58b535f5d6772258190e4adcc23f37c916f775057a91b960e1f2ee1f40ed5aac") + version("5.4.3", sha256="6b5111be5efd4d7fd6935ca99b06fab19b43d97a58d26fc1fe6e783c4de9a926") + version("5.4.0", sha256="04c1e955267a3e8440833a177bb976f57697aba0b90c325d07fc0c6bd4065aea") + version("5.3.3", sha256="f2cb1e6bb69ea1a628c04f984741f781ae1d8498dc58e15795bb03015f924d13") + version("5.3.0", sha256="36f1da60863a113bb9fe2957949c661f00a702e249bb0523cda1fb755c053808") + + depends_on("cxx", type="build") # generated def install(self, spec, prefix): source_directory = self.stage.source_path diff --git a/var/spack/repos/builtin/packages/roctracer-dev/package.py b/var/spack/repos/builtin/packages/roctracer-dev/package.py index 3ba4db334aea2d..a2b145a8ce0bbe 100644 --- a/var/spack/repos/builtin/packages/roctracer-dev/package.py +++ b/var/spack/repos/builtin/packages/roctracer-dev/package.py @@ -15,13 +15,14 @@ class RoctracerDev(CMakePackage, ROCmPackage): homepage = "https://github.com/ROCm/roctracer" git = "https://github.com/ROCm/roctracer.git" - url = "https://github.com/ROCm/roctracer/archive/rocm-6.1.1.tar.gz" + url = "https://github.com/ROCm/roctracer/archive/rocm-6.1.2.tar.gz" tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") libraries = ["libroctracer64"] license("MIT") + version("6.1.2", sha256="073e67e728d5eda16d7944f3abd96348b3f278e9f36cab3ac22773ebaad0d2d6") version("6.1.1", sha256="9cb77fd700a0d615056f0db1e9500b73bd0352214f33bdac520e25b9125a926a") version("6.1.0", sha256="3f8e296c4d04123a7177d815ca166e978b085ad7c816ac298e6bb47a299fa187") version("6.0.2", sha256="1e0105b32fdd9c010aab304bb2ca1a5a38ba323cea610afe1135657edda8f26e") @@ -32,16 +33,13 @@ class RoctracerDev(CMakePackage, ROCmPackage): version("5.6.0", sha256="cbcfe4fa2e8b627006b320a93992fb3078696d8ef2ef049b4b880b6b7d57e13e") version("5.5.1", sha256="3afc31ebfdb14b0365185ca6b9326a83b1503a94a51d910f5ce7ced192d8c133") version("5.5.0", sha256="fe9ad95628fa96639db6fc33f78d334c814c7161b4a754598f5a4a7852625777") - version("5.4.3", sha256="6b5111be5efd4d7fd6935ca99b06fab19b43d97a58d26fc1fe6e783c4de9a926") - version("5.4.0", sha256="04c1e955267a3e8440833a177bb976f57697aba0b90c325d07fc0c6bd4065aea") - version("5.3.3", sha256="f2cb1e6bb69ea1a628c04f984741f781ae1d8498dc58e15795bb03015f924d13") - version("5.3.0", sha256="36f1da60863a113bb9fe2957949c661f00a702e249bb0523cda1fb755c053808") with default_args(deprecated=True): - version("5.2.3", sha256="93f4bb7529db732060bc12055aa10dc346a459a1086cddd5d86c7b509301be4f") - version("5.2.1", sha256="e200b5342bdf840960ced6919d4bf42c8f30f8013513f25a2190ee8767667e59") - version("5.2.0", sha256="9747356ce61c57d22c2e0a6c90b66a055e435d235ba3459dc3e3f62aabae6a03") - version("5.1.3", sha256="45f19875c15eb609b993788b47fd9c773b4216074749d7744f3a671be17ef33c") - version("5.1.0", sha256="58b535f5d6772258190e4adcc23f37c916f775057a91b960e1f2ee1f40ed5aac") + version("5.4.3", sha256="6b5111be5efd4d7fd6935ca99b06fab19b43d97a58d26fc1fe6e783c4de9a926") + version("5.4.0", sha256="04c1e955267a3e8440833a177bb976f57697aba0b90c325d07fc0c6bd4065aea") + version("5.3.3", sha256="f2cb1e6bb69ea1a628c04f984741f781ae1d8498dc58e15795bb03015f924d13") + version("5.3.0", sha256="36f1da60863a113bb9fe2957949c661f00a702e249bb0523cda1fb755c053808") + + depends_on("cxx", type="build") # generated variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") @@ -50,11 +48,6 @@ class RoctracerDev(CMakePackage, ROCmPackage): depends_on("py-cppheaderparser", type="build") for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -69,12 +62,13 @@ class RoctracerDev(CMakePackage, ROCmPackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") depends_on(f"rocminfo@{ver}", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") - for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3", "5.4.0", "5.4.3"]: + for ver in ["5.3.0", "5.3.3", "5.4.0", "5.4.3"]: depends_on(f"rocprofiler-dev@{ver}", when=f"@{ver}") for ver in [ @@ -88,6 +82,7 @@ class RoctracerDev(CMakePackage, ROCmPackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/rocwmma/package.py b/var/spack/repos/builtin/packages/rocwmma/package.py index 97f0d8661aa024..b7275d02c54613 100644 --- a/var/spack/repos/builtin/packages/rocwmma/package.py +++ b/var/spack/repos/builtin/packages/rocwmma/package.py @@ -21,12 +21,13 @@ class Rocwmma(CMakePackage): homepage = "https://github.com/ROCm/rocWMMA" git = "https://github.com/ROCm/rocWMMA.git" - url = "https://github.com/ROCm/rocWMMA/archive/refs/tags/rocm-6.0.2.tar.gz" + url = "https://github.com/ROCm/rocWMMA/archive/refs/tags/rocm-6.1.2.tar.gz" tags = ["rocm"] license("MIT") maintainers("srekolam", "renjithravindrankannath") + version("6.1.2", sha256="7f6171bea5c8b7cdaf5c64dbfb76eecf606f2d34e8409153a74b56027c5e92a7") version("6.1.1", sha256="6e0c15c78feb8fb475ed028ed9b0337feeb45bfce1e206fe5f236a55e33f6135") version("6.1.0", sha256="ca29f33cfe6894909159ad68d786eacd469febab33883886a202f13ae061f691") version("6.0.2", sha256="61c6cc095b4ac555f4be4b55f6a7e3194c8c54bffc57bfeb0c02191119ac5dc8") @@ -37,14 +38,13 @@ class Rocwmma(CMakePackage): version("5.6.0", sha256="78b6ab10fce71d10a9d762b2eaab3390eb13b05c764f47a3b0a303ec3d37acf8") version("5.5.1", sha256="ada30d5e52df5da0d3f4e212a25efb492dbedc129628f4db4ef4ed77667da228") version("5.5.0", sha256="b9e1938cba111eeea295414c42de34d54a878f0d41a26e433809d60c12d31dbf") - version("5.4.3", sha256="0968366c83b78a9d058d483be536aba03e79b300ccb6890d3da43298be54c288") - version("5.4.0", sha256="a18724c3b45d171e54ef9f85c269124ce8d29b6a2f9dbd76a4806bda2933f7a7") - version("5.3.3", sha256="cd9bc09f98fb78e53ba4bde1dcfe1817c34c2822234a82b1128d36d92b97ae79") - version("5.3.0", sha256="04bac641ba18059118d3faa5f21fe3bf3e285055d40930489ebf27ffc8e5d16e") with default_args(deprecated=True): - version("5.2.3", sha256="7f42e9742eff258f7c09c518c5ea9c71a224574e1c075d7e1c4e464192fc4920") - version("5.2.1", sha256="73adb6a0ae99051493459a9902ad718b0452d6d819583a58d713ce52fa813f21") - version("5.2.0", sha256="257ccd1cf2bc1d8064e72e78d276ef7446b2cb7e2dec05ff8331bb44eff2b7cb") + version("5.4.3", sha256="0968366c83b78a9d058d483be536aba03e79b300ccb6890d3da43298be54c288") + version("5.4.0", sha256="a18724c3b45d171e54ef9f85c269124ce8d29b6a2f9dbd76a4806bda2933f7a7") + version("5.3.3", sha256="cd9bc09f98fb78e53ba4bde1dcfe1817c34c2822234a82b1128d36d92b97ae79") + version("5.3.0", sha256="04bac641ba18059118d3faa5f21fe3bf3e285055d40930489ebf27ffc8e5d16e") + + depends_on("cxx", type="build") # generated # gfx908:xnack-;gfx90a:xnack-;gfx90a:xnack+ # are only targets currently supported for @5.2.0 @@ -70,9 +70,6 @@ class Rocwmma(CMakePackage): depends_on("googletest@1.10.0:", type="test") for ver in [ - "5.2.0", - "5.2.1", - "5.2.3", "5.3.0", "5.3.3", "5.4.0", @@ -87,6 +84,7 @@ class Rocwmma(CMakePackage): "6.0.2", "6.1.0", "6.1.1", + "6.1.2", ]: depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) depends_on("llvm-amdgpu@" + ver, type="build", when="@" + ver) @@ -94,7 +92,7 @@ class Rocwmma(CMakePackage): depends_on("rocblas@" + ver, type="build", when="@" + ver) depends_on("rocm-openmp-extras@" + ver, type="build", when="@" + ver) - for ver in ["5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1"]: + for ver in ["5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2"]: depends_on("rocm-smi-lib@" + ver, when="@" + ver) for tgt in itertools.chain(["auto"], amdgpu_targets): diff --git a/var/spack/repos/builtin/packages/roms/package.py b/var/spack/repos/builtin/packages/roms/package.py index 1f8b78c80eaa65..4514a1c67eb164 100644 --- a/var/spack/repos/builtin/packages/roms/package.py +++ b/var/spack/repos/builtin/packages/roms/package.py @@ -22,6 +22,8 @@ class Roms(MakefilePackage): version("3.9", sha256="8e93f6ed40040e3f1b88d456ea9411ed3c06f280dc50b2787d6e5f793f58f1bc") version("3.8", sha256="99fb69239e70edaef35771d82e203e43cd301dde4f2a5662da038499b7258ae7") + depends_on("fortran", type="build") # generated + variant("openmp", default=False, description="Turn on shared-memory parallelization in ROMS") variant("mpi", default=True, description="Turn on distributed-memory parallelization in ROMS") variant( diff --git a/var/spack/repos/builtin/packages/root/package.py b/var/spack/repos/builtin/packages/root/package.py index be6b6a83c7e45e..a82c766a3e3e99 100644 --- a/var/spack/repos/builtin/packages/root/package.py +++ b/var/spack/repos/builtin/packages/root/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os import sys from spack.operating_systems.mac_os import macos_version @@ -22,9 +23,7 @@ class Root(CMakePackage): tags = ["hep"] - maintainers( - "drbenmorgan", "gartung", "greenc-FNAL", "HadrienG2", "marcmengel", "vitodb", "vvolkl" - ) + maintainers("drbenmorgan", "gartung", "greenc-FNAL", "marcmengel", "vitodb", "vvolkl") # ###################### Versions ########################## @@ -43,7 +42,9 @@ class Root(CMakePackage): ) # Production version + version("6.32.02", sha256="3d0f76bf05857e1807ccfb2c9e014f525bcb625f94a2370b455f4b164961602d") version("6.32.00", sha256="12f203681a59041c474ce9523761e6f0e8861b3bee78df5f799a8db55189e5d2") + version("6.30.08", sha256="8bb8594867b9ded20a65e59f2cb6da965aa30851b8960f8cbf76293aec046b69") version("6.30.06", sha256="300db7ed1b678ed2fb9635ca675921a1945c7c2103da840033b493091f55700c") version("6.30.04", sha256="2b4180b698f39cc65d91084d833a884515b325bc5f673c8e39abe818b025d8cc") version("6.30.02", sha256="7965a456d1ad1ee0d5fe4769bf5a8fec291af684ed93db0f3080a9c362435183") @@ -94,6 +95,10 @@ class Root(CMakePackage): version("6.06.04", sha256="ab86dcc80cbd8e704099af0789e23f49469932ac4936d2291602301a7aa8795b") version("6.06.02", sha256="18a4ce42ee19e1a810d5351f74ec9550e6e422b13b5c58e0c3db740cdbc569d1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # ###################### Patches ########################## # Widely used patch (CMS, FNAL) to increase the size of static @@ -291,9 +296,9 @@ class Root(CMakePackage): depends_on("pkgconfig", type="build") # 6.32.00 requires sys/random.h - depends_on("libc", when="@6.32.00:") - depends_on("glibc@2.25:", when="^[virtuals=libc] glibc") - depends_on("musl@1.1.20:", when="^[virtuals=libc] musl") + with when("@6.32.00:"): + depends_on("glibc@2.25:", when="^[virtuals=libc] glibc") + depends_on("musl@1.1.20:", when="^[virtuals=libc] musl") depends_on("freetype") depends_on("jpeg") @@ -383,7 +388,8 @@ class Root(CMakePackage): depends_on("vc@1.3.0:", when="@6.09.02: +vc") depends_on("vc@1.4.4:", when="@6.29.02: +vc") depends_on("vdt", when="+vdt") - depends_on("veccore", when="+veccore") + depends_on("veccore@0.4.0:", when="@6.09.04: +veccore") + depends_on("veccore@0.4.2:", when="@6.11.02: +veccore") depends_on("libxml2", when="+xml") depends_on("xrootd", when="+xrootd") depends_on("xrootd@:4", when="@:6.22.03 +xrootd") @@ -782,6 +788,18 @@ def add_include_path(dep_name): # Cleanup. self.sanitize_environments(env) + @property + def root_library_path(self): + # Where possible, we do not use LD_LIBRARY_PATH as that is non-portable + # and pollutes the standard library-loading mechanisms on Linux systems. + # The ROOT_LIBRARY_PATH environment variable was added to ROOT 6.26. + if self.spec.satisfies("@:6.25"): + if self.spec.satisfies("platform=darwin"): + return "DYLD_LIBRARY_PATH" + else: + return "LD_LIBRARY_PATH" + return "ROOT_LIBRARY_PATH" + def setup_run_environment(self, env): env.set("ROOTSYS", self.prefix) env.set("ROOT_VERSION", "v{0}".format(self.version.up_to(1))) @@ -789,6 +807,8 @@ def setup_run_environment(self, env): # the following vars are copied from thisroot.sh; silence a cppyy warning env.set("CLING_STANDARD_PCH", "none") env.set("CPPYY_API_PATH", "none") + if "+rpath" not in self.spec: + env.prepend_path(self.root_library_path, self.prefix.lib.root) # Cleanup. self.sanitize_environments(env) @@ -802,7 +822,7 @@ def setup_dependent_build_environment( env.append_path("CMAKE_MODULE_PATH", self.prefix.cmake) env.prepend_path("ROOT_INCLUDE_PATH", dependent_spec.prefix.include) if "+rpath" not in self.spec: - env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib.root) + env.prepend_path(self.root_library_path, self.prefix.lib.root) if "platform=darwin" in self.spec: # Newer deployment targets cause fatal errors in rootcling env.unset("MACOSX_DEPLOYMENT_TARGET") @@ -812,28 +832,28 @@ def setup_dependent_build_environment( def setup_dependent_run_environment( self, env: spack.util.environment.EnvironmentModifications, dependent_spec ): - env.set("ROOTSYS", self.prefix) - env.set("ROOT_VERSION", "v{0}".format(self.version.up_to(1))) - env.prepend_path("PYTHONPATH", self.prefix.lib.root) - env.prepend_path("PATH", self.prefix.bin) env.prepend_path("ROOT_INCLUDE_PATH", dependent_spec.prefix.include) - if "+rpath" not in self.spec: - env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib.root) + # For dependents that build dictionaries, ROOT needs to know where the + # dictionaries have been installed. This can be facilitated by + # automatically prepending dependent package library paths to + # ROOT_LIBRARY_PATH (for @6.26:) or LD_LIBRARY_PATH (for older + # versions). + for lib_path in (dependent_spec.prefix.lib, dependent_spec.prefix.lib64): + if os.path.exists(lib_path): + env.prepend_path(self.root_library_path, lib_path) # Cleanup. self.sanitize_environments(env) def sanitize_environments(self, env: spack.util.environment.EnvironmentModifications, *vars): - target = self.spec.target special_separators = {"LDSHARED": " -L"} if not vars: vars = ( "PATH", "LDSHARED", - "LD_LIBRARY_PATH", - "DYLD_LIBRARY_PATH", "LIBRARY_PATH", "CMAKE_PREFIX_PATH", "ROOT_INCLUDE_PATH", + self.root_library_path, ) for var in vars: kwargs = {} @@ -841,6 +861,6 @@ def sanitize_environments(self, env: spack.util.environment.EnvironmentModificat kwargs["separator"] = special_separators[var] env.prune_duplicate_paths(var, **kwargs) if var == "PATH": - env.deprioritize_system_paths(var, target=target, **kwargs) + env.deprioritize_system_paths(var, target=str(self.spec.target), **kwargs) else: env.remove_system_paths(var, **kwargs) diff --git a/var/spack/repos/builtin/packages/rosco/package.py b/var/spack/repos/builtin/packages/rosco/package.py index 8ef734e1fdc60f..59c33292ade4d7 100644 --- a/var/spack/repos/builtin/packages/rosco/package.py +++ b/var/spack/repos/builtin/packages/rosco/package.py @@ -27,6 +27,9 @@ class Rosco(CMakePackage): version("2.6.0", sha256="ca1c1a6ac53e8220b107accccfb8b5299772c38b7c77cd8d2ba383e9825daeaa") version("2.5.1", sha256="55fe7bba612321baa6e089ee1156ef4db2e3bccf1b69534829b06f3367fff05d") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=False, description="Build shared libraries") variant("pic", default=False, description="Position independent code") diff --git a/var/spack/repos/builtin/packages/ross/package.py b/var/spack/repos/builtin/packages/ross/package.py index 2135c254425513..77a4cb7fe5a83e 100644 --- a/var/spack/repos/builtin/packages/ross/package.py +++ b/var/spack/repos/builtin/packages/ross/package.py @@ -25,6 +25,8 @@ class Ross(CMakePackage): version("7.0.0", sha256="fd16be2c86d9d71ae64eef67c02933471ab758c8a5b01b04fe358d9228fc581e") version("6.0.0", sha256="07ff70518a58503e116bb7386f490e901212798afdd471da1bcd34f78a7e6030") + depends_on("c", type="build") # generated + depends_on("mpi") depends_on("cmake@3.5:", when="@7.0.1:", type="build") diff --git a/var/spack/repos/builtin/packages/routino/package.py b/var/spack/repos/builtin/packages/routino/package.py index 602e18a3079266..33dd2f9037d206 100644 --- a/var/spack/repos/builtin/packages/routino/package.py +++ b/var/spack/repos/builtin/packages/routino/package.py @@ -17,6 +17,9 @@ class Routino(MakefilePackage): version("3.3.3", sha256="abd82b77c314048f45030f7219887ca241b46d40641db6ccb462202b97a047f5") version("3.2", sha256="e2a431eaffbafab630835966d342e4ae25d5edb94c8ed419200e1ffb50bc7552") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("bzip2") diff --git a/var/spack/repos/builtin/packages/rpcsvc-proto/package.py b/var/spack/repos/builtin/packages/rpcsvc-proto/package.py index d753190acd39b7..cd18cc8dd52675 100644 --- a/var/spack/repos/builtin/packages/rpcsvc-proto/package.py +++ b/var/spack/repos/builtin/packages/rpcsvc-proto/package.py @@ -20,6 +20,8 @@ class RpcsvcProto(AutotoolsPackage): version("1.4.1", sha256="9429e143bb8dd33d34bf0663f571d4d4a1103e1afd7c49791b367b7ae1ef7f35") version("1.4", sha256="4149d5f05d8f7224a4d207362fdfe72420989dc1b028b28b7b62b6c2efe22345") + depends_on("c", type="build") # generated + depends_on("gettext") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/rpm/package.py b/var/spack/repos/builtin/packages/rpm/package.py index 840651798bf381..bf1953a27b58ba 100644 --- a/var/spack/repos/builtin/packages/rpm/package.py +++ b/var/spack/repos/builtin/packages/rpm/package.py @@ -27,6 +27,9 @@ class Rpm(AutotoolsPackage): version("4.16.1.2", sha256="3d2807807a8ccaa92a8ced74e09b5bf5b2417a5bbf9bee4abc7c6aa497547bf3") version("4.16.0", sha256="a62b744e3404b107e8467e1a36ff0f2bf9e5c1b748dbfeb36db54bbb859446ea") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "crypto", values=("openssl", "libgcrypt"), diff --git a/var/spack/repos/builtin/packages/rpp/0003-changes-to-rpp-unit-tests-6.1.patch b/var/spack/repos/builtin/packages/rpp/0003-changes-to-rpp-unit-tests-6.1.patch new file mode 100644 index 00000000000000..be8a28b60d9379 --- /dev/null +++ b/var/spack/repos/builtin/packages/rpp/0003-changes-to-rpp-unit-tests-6.1.patch @@ -0,0 +1,56 @@ +From d94cc49d93800b7b50d2582b28a2b6c84fdb166b Mon Sep 17 00:00:00 2001 +From: sreenivasa murthy kolam +Date: Thu, 20 Jun 2024 10:17:09 +0000 +Subject: [PATCH] changes to cmakelists.txt to include half and turbo-jpeg + +--- + utilities/test_suite/HIP/CMakeLists.txt | 4 ++-- + utilities/test_suite/HOST/CMakeLists.txt | 5 ++++- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/utilities/test_suite/HIP/CMakeLists.txt b/utilities/test_suite/HIP/CMakeLists.txt +index b8bf361..bfac5ec 100644 +--- a/utilities/test_suite/HIP/CMakeLists.txt ++++ b/utilities/test_suite/HIP/CMakeLists.txt +@@ -80,7 +80,7 @@ if (hip_FOUND AND OpenCV_FOUND) + + add_executable(Tensor_hip Tensor_hip.cpp) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGPU_SUPPORT=1 -DRPP_BACKEND_HIP=1 -std=gnu++17") +- target_link_libraries(Tensor_hip ${OpenCV_LIBS} -lturbojpeg -lrpp ${hip_LIBRARIES} pthread ${LINK_LIBRARY_LIST} hip::device) ++ target_link_libraries(Tensor_hip ${OpenCV_LIBS} -lrpp ${hip_LIBRARIES} pthread ${LINK_LIBRARY_LIST} hip::device) + else() + message(FATAL_ERROR "-- ${Red}Error: OpenCV and hip must be installed to install ${PROJECT_NAME} successfully!${ColourReset}") + endif() +@@ -96,4 +96,4 @@ if(NIFTI_FOUND AND OpenCV_FOUND) + target_link_libraries(Tensor_voxel_hip ${OpenCV_LIBS} -lturbojpeg -lrpp ${hip_LIBRARIES} pthread ${LINK_LIBRARY_LIST} hip::device ${NIFTI_PACKAGE_PREFIX}NIFTI::${NIFTI_PACKAGE_PREFIX}niftiio) + else() + message("-- ${Yellow}Warning: libniftiio must be installed to install ${PROJECT_NAME}/Tensor_voxel_hip successfully!${ColourReset}") +-endif() +\ No newline at end of file ++endif() +diff --git a/utilities/test_suite/HOST/CMakeLists.txt b/utilities/test_suite/HOST/CMakeLists.txt +index 43be2b2..c119f28 100644 +--- a/utilities/test_suite/HOST/CMakeLists.txt ++++ b/utilities/test_suite/HOST/CMakeLists.txt +@@ -69,6 +69,9 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS} -ggdb -O0") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") + set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} OpenMP::OpenMP_CXX) + ++find_path(HALF_INCLUDE_DIR half.hpp) ++include_directories(${HALF_INCLUDE_DIR}) ++ + if(TurboJpeg_FOUND) + message("-- ${Green}${PROJECT_NAME} set to build with rpp and TurboJpeg${ColourReset}") + include_directories(${TurboJpeg_INCLUDE_DIRS}) +@@ -85,7 +88,7 @@ if (OpenCV_FOUND) + + add_executable(Tensor_host Tensor_host.cpp) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") +- target_link_libraries(Tensor_host ${OpenCV_LIBS} -lturbojpeg -lrpp pthread ${LINK_LIBRARY_LIST}) ++ target_link_libraries(Tensor_host ${OpenCV_LIBS} -lrpp pthread ${LINK_LIBRARY_LIST}) + else() + message("-- ${Red}Error: OpenCV must be installed to install ${PROJECT_NAME} successfully!${ColourReset}") + endif() +-- +2.39.3 + diff --git a/var/spack/repos/builtin/packages/rpp/package.py b/var/spack/repos/builtin/packages/rpp/package.py index b09d2e95e7ea36..957d90bba432d2 100644 --- a/var/spack/repos/builtin/packages/rpp/package.py +++ b/var/spack/repos/builtin/packages/rpp/package.py @@ -15,7 +15,7 @@ class Rpp(CMakePackage): homepage = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp" git = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp.git" - url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp/archive/refs/tags/rocm-6.1.1.tar.gz" + url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp/archive/refs/tags/rocm-6.1.2.tar.gz" def url_for_version(self, version): if version >= Version("5.7.0"): @@ -28,6 +28,7 @@ def url_for_version(self, version): maintainers("srekolam", "afzpatel") license("MIT") + version("6.1.2", sha256="3a529bdd17b448a9e05a6aac1b5e173a077f4a4a1fd2ed759bcea331acd2829f") version("6.1.1", sha256="9ca385c6f208a0bbf2be60ad15697d35371992d49ed30077b69e22090cef657c") version("6.1.0", sha256="026c5ac7a92e14e35b9e7630a2ebfff3f4b3544b988eb9aa8af9991d4beea242") version("6.0.2", sha256="2686eb4099233db4444fcd2f77af9b00d38d829f05de2403bed37b1b28f2653c") @@ -41,6 +42,8 @@ def url_for_version(self, version): version("0.99", sha256="f1d7ec65d0148ddb7b3ce836a7e058727036df940d72d1683dee590a913fd44a") version("0.98", sha256="191b5d89bf990ae22b5ef73675b89ed4371c3ce342ab9cc65383fa12ef13086e") version("0.97", sha256="8ce1a869ff67a29579d87d399d8b0bd97bf12ae1b6b1ca1f161cb8a262fb9939") + + depends_on("cxx", type="build") # generated variant( "build_type", default="Release", @@ -64,7 +67,8 @@ def url_for_version(self, version): # adds half.hpp include directory and modifies how the libjpegturbo # library is linked for the rpp unit test - patch("0003-changes-to-rpp-unit-tests.patch", when="+add_tests") + patch("0003-changes-to-rpp-unit-tests.patch", when="@5.7:6.0 +add_tests") + patch("0003-changes-to-rpp-unit-tests-6.1.patch", when="@6.1 +add_tests") def patch(self): if self.spec.satisfies("+hip"): @@ -103,6 +107,18 @@ def patch(self): "utilities/test_suite/HIP/CMakeLists.txt", string=True, ) + filter_file( + "${ROCM_PATH}/share/rpp/test/cmake", + self.spec.prefix.share.rpp.test.cmake, + "utilities/test_suite/HOST/CMakeLists.txt", + string=True, + ) + filter_file( + "${ROCM_PATH}/share/rpp/test/cmake", + self.spec.prefix.share.rpp.test.cmake, + "utilities/test_suite/HIP/CMakeLists.txt", + string=True, + ) depends_on("cmake@3.5:", type="build") depends_on("pkgconfig", type="build") @@ -124,7 +140,7 @@ def patch(self): with when("+hip"): with when("@5.7:"): - for ver in ["5.7.0", "5.7.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1"]: + for ver in ["5.7.0", "5.7.1", "6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2"]: depends_on("hip@" + ver, when="@" + ver) with when("@:1.2"): depends_on("hip@5:") @@ -134,6 +150,8 @@ def patch(self): def setup_run_environment(self, env): if self.spec.satisfies("+add_tests"): env.set("TURBO_JPEG_PATH", self.spec["libjpeg-turbo"].prefix) + if self.spec.satisfies("@6.1:"): + env.prepend_path("LD_LIBRARY_PATH", self.spec["hsa-rocr-dev"].prefix.lib) def cmake_args(self): spec = self.spec @@ -152,9 +170,3 @@ def cmake_args(self): ) ) return args - - @run_after("install") - def add_tests(self): - if self.spec.satisfies("+add_tests"): - install_tree("utilities", self.spec.prefix.utilities) - install_tree("cmake", self.spec.prefix.cmake) diff --git a/var/spack/repos/builtin/packages/rr/package.py b/var/spack/repos/builtin/packages/rr/package.py index c89b3a457cab07..6c4bdeb11f3c36 100644 --- a/var/spack/repos/builtin/packages/rr/package.py +++ b/var/spack/repos/builtin/packages/rr/package.py @@ -16,6 +16,9 @@ class Rr(CMakePackage): version("4.4.0", sha256="b2b24a3f67df47576126421746cd2942a458d2825faa76e8bb3ca43edffa03d3") version("4.3.0", sha256="46933cdd706d71c3de05b55937c85ee055c08e67e5c1e6a1278c7feb187ca37a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("gdb") depends_on("git") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/rsbench/package.py b/var/spack/repos/builtin/packages/rsbench/package.py index 6d8c2536d4305a..7c2cd25bbd75f5 100644 --- a/var/spack/repos/builtin/packages/rsbench/package.py +++ b/var/spack/repos/builtin/packages/rsbench/package.py @@ -19,6 +19,9 @@ class Rsbench(MakefilePackage): version("2", sha256="1e97a38a863836e98cedc5cc669f8fdcaed905fafdc921d2bce32319b3e157ff") version("0", sha256="95c06cf4cb6f396f9964d5e4b58a477bf9d7131cd39804480f1cb74e9310b271") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + tags = ["proxy-app"] # To-Do: Add build support for other parallelism versions in v12: diff --git a/var/spack/repos/builtin/packages/rsem/package.py b/var/spack/repos/builtin/packages/rsem/package.py index 1038f21a63b81a..10169e174b6ffc 100644 --- a/var/spack/repos/builtin/packages/rsem/package.py +++ b/var/spack/repos/builtin/packages/rsem/package.py @@ -19,6 +19,9 @@ class Rsem(MakefilePackage): version("1.3.1", sha256="93c749a03ac16e94b1aab94d032d4fd5687d3261316ce943ecb89d3ae3ec2e11") version("1.3.0", sha256="ecfbb79c23973e1c4134f05201f4bd89b0caf0ce4ae1ffd7c4ddc329ed4e05d2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("r", type=("build", "run")) depends_on("perl", type=("build", "run")) depends_on("python", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/rsl/package.py b/var/spack/repos/builtin/packages/rsl/package.py index 8627f862d63f0c..25b3a3bc90198b 100644 --- a/var/spack/repos/builtin/packages/rsl/package.py +++ b/var/spack/repos/builtin/packages/rsl/package.py @@ -17,6 +17,8 @@ class Rsl(AutotoolsPackage): version("1.50", sha256="9e4e3fe45eb1e4aebea63255d4956b00eb69527044a83f182cde1b43510bd342") + depends_on("c", type="build") # generated + depends_on("bzip2") depends_on("jpeg") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/rstart/package.py b/var/spack/repos/builtin/packages/rstart/package.py index 14442b8692ac1a..3c52dfcc837f3b 100644 --- a/var/spack/repos/builtin/packages/rstart/package.py +++ b/var/spack/repos/builtin/packages/rstart/package.py @@ -20,6 +20,8 @@ class Rstart(AutotoolsPackage, XorgPackage): version("1.0.6", sha256="28aa687437efeee70965a0878f9db79397cf691f4011268e16bc835627e23ec5") version("1.0.5", sha256="5271c0c2675b4ad09aace7edddfdd137af10fc754afa6260d8eb5d0bba7098c7") + depends_on("c", type="build") # generated + depends_on("xproto") depends_on("pkgconfig", type="build") depends_on("util-macros", type="build") diff --git a/var/spack/repos/builtin/packages/rstudio/package.py b/var/spack/repos/builtin/packages/rstudio/package.py index e28b243e4d9c89..569e9909e2b6e3 100644 --- a/var/spack/repos/builtin/packages/rstudio/package.py +++ b/var/spack/repos/builtin/packages/rstudio/package.py @@ -16,6 +16,9 @@ class Rstudio(CMakePackage): version("1.4.1717", sha256="3af234180fd7cef451aef40faac2c7b52860f14a322244c1c7aede029814d261") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("notebook", default=False, description="Enable notebook support.") depends_on("r@3.0.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/rsync/package.py b/var/spack/repos/builtin/packages/rsync/package.py index abbf06dae38003..43c45b8c33995c 100644 --- a/var/spack/repos/builtin/packages/rsync/package.py +++ b/var/spack/repos/builtin/packages/rsync/package.py @@ -27,6 +27,9 @@ class Rsync(AutotoolsPackage): version("3.1.2", sha256="ecfa62a7fa3c4c18b9eccd8c16eaddee4bd308a76ea50b5c02a5840f09c0a1c2") version("3.1.1", sha256="7de4364fcf5fe42f3bdb514417f1c40d10bbca896abe7e7f2c581c6ea08a2621") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("popt") depends_on("openssl", when="@3.2:") diff --git a/var/spack/repos/builtin/packages/rsyslog/package.py b/var/spack/repos/builtin/packages/rsyslog/package.py index 9722a270bd87e0..6de8baf1116cd6 100644 --- a/var/spack/repos/builtin/packages/rsyslog/package.py +++ b/var/spack/repos/builtin/packages/rsyslog/package.py @@ -18,6 +18,8 @@ class Rsyslog(AutotoolsPackage): version("8.2004.0", sha256="b56b985fec076a22160471d389b7ff271909dfd86513dad31e401a775a6dfdc2") version("8.2002.0", sha256="b31d56311532335212ef2ea7be4501508224cb21f1bef9d262c6d78e21959ea1") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/rt-tests/package.py b/var/spack/repos/builtin/packages/rt-tests/package.py index f02be36b17a0d6..094370110dade0 100644 --- a/var/spack/repos/builtin/packages/rt-tests/package.py +++ b/var/spack/repos/builtin/packages/rt-tests/package.py @@ -20,6 +20,8 @@ class RtTests(MakefilePackage): version("1.2", sha256="7ccde036059c87681a4b00e7138678d9551b1232113441f6edda31ea45452426") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) mkdirp(prefix.share.man) diff --git a/var/spack/repos/builtin/packages/rtags/package.py b/var/spack/repos/builtin/packages/rtags/package.py index 16641b714ef11c..49e6424eed6fae 100644 --- a/var/spack/repos/builtin/packages/rtags/package.py +++ b/var/spack/repos/builtin/packages/rtags/package.py @@ -19,6 +19,9 @@ class Rtags(CMakePackage): version("2.20", sha256="9d73399421327147dc47b0ae5b95e12e8355f30291ad1954a78c0ef68b4b501f") version("2.17", sha256="288fa49fedf647fb15e2ef10f0ebcd9de1a4ef1bbae3a3940870e136d32a3a60") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("llvm@3.3: +clang") depends_on("zlib-api") depends_on("openssl") diff --git a/var/spack/repos/builtin/packages/rtmpdump/package.py b/var/spack/repos/builtin/packages/rtmpdump/package.py index e8a5bc843237d1..718b48f434f62a 100644 --- a/var/spack/repos/builtin/packages/rtmpdump/package.py +++ b/var/spack/repos/builtin/packages/rtmpdump/package.py @@ -18,6 +18,8 @@ class Rtmpdump(MakefilePackage): version("2021-02-19", commit="f1b83c10d8beb43fcc70a6e88cf4325499f25857") + depends_on("c", type="build") # generated + variant("tls", default="openssl", description="TLS backend", values=("gnutls", "openssl")) depends_on("openssl@:3", when="tls=openssl") diff --git a/var/spack/repos/builtin/packages/ruby-hpricot/package.py b/var/spack/repos/builtin/packages/ruby-hpricot/package.py index 1d30534f8e87bf..e75068b6be1fb2 100644 --- a/var/spack/repos/builtin/packages/ruby-hpricot/package.py +++ b/var/spack/repos/builtin/packages/ruby-hpricot/package.py @@ -19,3 +19,5 @@ class RubyHpricot(RubyPackage): license("MIT") version("0.8.6", sha256="792f63cebe2f2b02058974755b4c8a3aef52e5daf37f779a34885d5ff2876017") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/ruby-narray/package.py b/var/spack/repos/builtin/packages/ruby-narray/package.py index 5b976cd4e104ee..32c6759221b839 100644 --- a/var/spack/repos/builtin/packages/ruby-narray/package.py +++ b/var/spack/repos/builtin/packages/ruby-narray/package.py @@ -21,4 +21,6 @@ class RubyNarray(RubyPackage): version("master", branch="master") version("0.9.1.8", sha256="48814c6ebf2c4846fcf6cfd2705a15a97a608960c1676cb6c7b5c9254b0dd51b") + depends_on("c", type="build") # generated + depends_on("ruby@2.2:2", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/ruby-rake/package.py b/var/spack/repos/builtin/packages/ruby-rake/package.py index 768b2427917745..b40db761008e67 100644 --- a/var/spack/repos/builtin/packages/ruby-rake/package.py +++ b/var/spack/repos/builtin/packages/ruby-rake/package.py @@ -18,4 +18,6 @@ class RubyRake(RubyPackage): version("13.0.6", sha256="a39d555a08a3cbd6961a98d0bf222a01018683760664ede3c1610af5ca5de0cc") version("13.0.1", sha256="d865329b5e0c38bd9d11ce70bd1ad6e0d5676c4eee74fd818671c55ec49d92fd") + depends_on("c", type="build") # generated + depends_on("ruby@2.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/ruby-rdiscount/package.py b/var/spack/repos/builtin/packages/ruby-rdiscount/package.py index b85aa30bd27307..a8c13d4a5a78d0 100644 --- a/var/spack/repos/builtin/packages/ruby-rdiscount/package.py +++ b/var/spack/repos/builtin/packages/ruby-rdiscount/package.py @@ -17,4 +17,6 @@ class RubyRdiscount(RubyPackage): version("2.2.0.2", sha256="a6956059fc61365c242373b03c5012582d7342842eae38fe59ebc1bc169744db") + depends_on("c", type="build") # generated + depends_on("ruby@1.9.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/ruby/package.py b/var/spack/repos/builtin/packages/ruby/package.py index 74296f4c0f7bba..b3c575e40dc074 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.2", sha256="3be1d100ebf2a0ce60c2cd8d22cd9db4d64b3e04a1943be2c4ff7b520f2bcb5b") version("3.3.0", sha256="96518814d9832bece92a85415a819d4893b307db5921ae1f0f751a9a89a56b7d") version("3.1.0", sha256="50a0504c6edcb4d61ce6b8cfdbddaa95707195fab0ecd7b5e92654b2a9412854") version("3.0.2", sha256="5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1") @@ -35,6 +36,9 @@ class Ruby(AutotoolsPackage, NMakePackage): version("2.5.3", sha256="9828d03852c37c20fa333a0264f2490f07338576734d910ee3fd538c9520846c") version("2.2.0", sha256="7671e394abfb5d262fbcd3b27a71bf78737c7e9347fa21c39e58b0bb9c4840fc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + build_system("autotools", "nmake", default="autotools") for _platform_condition in ("platform=linux", "platform=darwin"): diff --git a/var/spack/repos/builtin/packages/runc/package.py b/var/spack/repos/builtin/packages/runc/package.py index d1088eb20557c3..ae539d25299f64 100644 --- a/var/spack/repos/builtin/packages/runc/package.py +++ b/var/spack/repos/builtin/packages/runc/package.py @@ -19,6 +19,8 @@ class Runc(MakefilePackage): version("1.1.4", sha256="9f5972715dffb0b2371e4d678c1206cc8c4ec5eb80f2d48755d150bac49be35b") version("1.0.2", sha256="740acb49e33eaf4958b5109c85363c1d3900f242d4cab47fbdbefa6f8f3c6909") + depends_on("c", type="build") # generated + depends_on("go", type="build") depends_on("go-md2man", type="build") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/rust-bindgen/package.py b/var/spack/repos/builtin/packages/rust-bindgen/package.py index b05818412e1b40..7d20ad4e749ea6 100644 --- a/var/spack/repos/builtin/packages/rust-bindgen/package.py +++ b/var/spack/repos/builtin/packages/rust-bindgen/package.py @@ -18,6 +18,8 @@ class RustBindgen(Package): version("0.20.5", sha256="4f5236e7979d262c43267afba365612b1008b91b8f81d1efc6a8a2199d52bb37") + depends_on("cxx", type="build") # generated + extends("rust") depends_on("llvm") diff --git a/var/spack/repos/builtin/packages/rust/package.py b/var/spack/repos/builtin/packages/rust/package.py index dda4bab3e0e34c..694fe071b04427 100644 --- a/var/spack/repos/builtin/packages/rust/package.py +++ b/var/spack/repos/builtin/packages/rust/package.py @@ -45,6 +45,9 @@ class Rust(Package): version("1.65.0", sha256="5828bb67f677eabf8c384020582b0ce7af884e1c84389484f7f8d00dd82c0038") version("1.60.0", sha256="20ca826d1cf674daf8e22c4f8c4b9743af07973211c839b85839742314c838b7") + depends_on("c", type="build") + depends_on("cxx", type="build") + variant( "dev", default=False, @@ -54,7 +57,6 @@ class Rust(Package): variant("src", default=True, description="Include standard library source files.") # Core dependencies - depends_on("cmake@3.13.4:", type="build") depends_on("curl+nghttp2") depends_on("libgit2") depends_on("libssh2") @@ -64,6 +66,12 @@ class Rust(Package): depends_on("python", type="build") depends_on("zlib-api") + # cmake dependency comes from LLVM. Rust has their own fork of LLVM, with tags corresponding + # to each Rust release, so it's easy to loop through tags and grep for "cmake_minimum_required" + depends_on("cmake@3.4.3:", type="build", when="@:1.51") + depends_on("cmake@3.13.4:", type="build", when="@1.52:1.72") + depends_on("cmake@3.20.0:", type="build", when="@1.73:") + # Compiling Rust requires a previous version of Rust. # The easiest way to bootstrap a Rust environment is to # download the binary distribution of the compiler and build with that. @@ -95,10 +103,17 @@ class Rust(Package): phases = ["configure", "build", "install"] @classmethod - def determine_version(csl, exe): - output = Executable(exe)("--version", output=str, error=str) + def determine_spec_details(cls, prefix, exes_in_prefix): + rustc_candidates = [x for x in exes_in_prefix if os.path.basename(x) == "rustc"] + cargo_candidates = [x for x in exes_in_prefix if os.path.basename(x) == "cargo"] + # Both rustc and cargo must be present + if not (rustc_candidates and cargo_candidates): + return + output = Executable(rustc_candidates[0])("--version", output=str, error=str) match = re.match(r"rustc (\S+)", output) - return match.group(1) if match else None + if match: + version_str = match.group(1) + return Spec.from_detection(f"rust@{version_str}") def setup_dependent_package(self, module, dependent_spec): module.cargo = Executable(os.path.join(self.spec.prefix.bin, "cargo")) diff --git a/var/spack/repos/builtin/packages/sabre/package.py b/var/spack/repos/builtin/packages/sabre/package.py index 341e026645c556..61829b80ad3c5d 100644 --- a/var/spack/repos/builtin/packages/sabre/package.py +++ b/var/spack/repos/builtin/packages/sabre/package.py @@ -24,6 +24,8 @@ class Sabre(MakefilePackage): version("2013-09-27", commit="039a55e500ba07b7e6432ea6ec2ddcfb3471d949") + depends_on("c", type="build") # generated + depends_on("zlib-api") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/saga-gis/package.py b/var/spack/repos/builtin/packages/saga-gis/package.py index ed313b19cc1237..2322be0f6386ba 100644 --- a/var/spack/repos/builtin/packages/saga-gis/package.py +++ b/var/spack/repos/builtin/packages/saga-gis/package.py @@ -39,6 +39,9 @@ class SagaGis(AutotoolsPackage, SourceforgePackage): version("2.3.1", branch="release-2-3-1", deprecated=True) version("2.3.0", branch="release-2-3-0", deprecated=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("gui", default=True, description="Build GUI and interactive SAGA tools") variant("odbc", default=True, description="Build with ODBC support") diff --git a/var/spack/repos/builtin/packages/sailfish/package.py b/var/spack/repos/builtin/packages/sailfish/package.py index c6e65a2c00b19e..e5af8d79d7a9aa 100644 --- a/var/spack/repos/builtin/packages/sailfish/package.py +++ b/var/spack/repos/builtin/packages/sailfish/package.py @@ -17,6 +17,9 @@ class Sailfish(CMakePackage): version("0.10.1", sha256="a0d6d944382f2e07ffbfd0371132588e2f22bb846ecfc3d3435ff3d81b30d6c6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost@1.55:") # TODO: replace this with an explicit list of components of Boost, diff --git a/var/spack/repos/builtin/packages/salmon-tddft/package.py b/var/spack/repos/builtin/packages/salmon-tddft/package.py index 55da0a2cd50151..38803fe5306c32 100644 --- a/var/spack/repos/builtin/packages/salmon-tddft/package.py +++ b/var/spack/repos/builtin/packages/salmon-tddft/package.py @@ -23,6 +23,9 @@ class SalmonTddft(CMakePackage): version("2.0.0", sha256="c3bb80bc5d338cba21cd8f345acbf2f2d81ef75af069a0a0ddbdc0acf358456c") version("1.2.1", sha256="a5045149e49abe9dd9edefe00cd1508a1323081bc3d034632176b728effdbaeb") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=False, description="Enable MPI") variant("libxc", default=False, description="Enable libxc") variant("scalapack", default=False, description="Enable scalapack") diff --git a/var/spack/repos/builtin/packages/salmon/package.py b/var/spack/repos/builtin/packages/salmon/package.py index 9b90af0ff01d0f..13d9b718657a30 100644 --- a/var/spack/repos/builtin/packages/salmon/package.py +++ b/var/spack/repos/builtin/packages/salmon/package.py @@ -23,6 +23,9 @@ class Salmon(CMakePackage): version("0.9.1", sha256="3a32c28d217f8f0af411c77c04144b1fa4e6fd3c2f676661cc875123e4f53520") version("0.8.2", sha256="299168e873e71e9b07d63a84ae0b0c41b0876d1ad1d434b326a5be2dce7c4b91") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "build_type", default="RELEASE", diff --git a/var/spack/repos/builtin/packages/salome-med/package.py b/var/spack/repos/builtin/packages/salome-med/package.py index 19c0eca618b8e3..08a7762cadbbb8 100644 --- a/var/spack/repos/builtin/packages/salome-med/package.py +++ b/var/spack/repos/builtin/packages/salome-med/package.py @@ -25,6 +25,10 @@ class SalomeMed(CMakePackage): version("3.3.1", sha256="856e9c4bb75eb0cceac3d5a5c65b1ce52fb3c46b9182920e1c9f34ae69bd2d5f") version("3.2.0", sha256="d52e9a1bdd10f31aa154c34a5799b48d4266dc6b4a5ee05a9ceda525f2c6c138") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=False, description="Enable MPI") variant("static", default=False, description="Enable static library build") variant("fortran", default=False, description="Enable Fortran") diff --git a/var/spack/repos/builtin/packages/salome-medcoupling/package.py b/var/spack/repos/builtin/packages/salome-medcoupling/package.py index 629141d67279dd..89f681b200a5c9 100644 --- a/var/spack/repos/builtin/packages/salome-medcoupling/package.py +++ b/var/spack/repos/builtin/packages/salome-medcoupling/package.py @@ -26,6 +26,9 @@ class SalomeMedcoupling(CMakePackage): version("9.4.0", tag="V9_4_0", commit="984fe46c4076f08f42ef43e290e3cd1aea5a8182") version("9.3.0", tag="V9_3_0", commit="32521cd6e5c113de5db7953a80149e5ab492120a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("static", default=False, description="Enable static library build") variant("mpi", default=False, description="Enable MPI") variant("in64", default=False, description="Enable 64 bits indexes") diff --git a/var/spack/repos/builtin/packages/sam2p/package.py b/var/spack/repos/builtin/packages/sam2p/package.py index 7b90b5b59da6ea..b87e5abec71f2d 100644 --- a/var/spack/repos/builtin/packages/sam2p/package.py +++ b/var/spack/repos/builtin/packages/sam2p/package.py @@ -20,6 +20,9 @@ class Sam2p(Package): version("master", branch="master") version("2021-05-04", commit="f3e9cc0a2df1880a63f9f37c96e3595bca890cfa") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): compile_sh = Executable("./compile.sh") compile_sh() diff --git a/var/spack/repos/builtin/packages/sambamba/package.py b/var/spack/repos/builtin/packages/sambamba/package.py index c8600dc279c419..c436775d139bbd 100644 --- a/var/spack/repos/builtin/packages/sambamba/package.py +++ b/var/spack/repos/builtin/packages/sambamba/package.py @@ -18,6 +18,8 @@ class Sambamba(Package): "0.6.6", tag="v0.6.6", commit="63cfd5c7b3053e1f7045dec0b5a569f32ef73d06", submodules=True ) + depends_on("c", type="build") # generated + depends_on("ldc~shared", type=("build", "link")) depends_on("python", type="build") diff --git a/var/spack/repos/builtin/packages/samblaster/package.py b/var/spack/repos/builtin/packages/samblaster/package.py index ec46bb5c467f2f..7814c4f4e4fd8f 100644 --- a/var/spack/repos/builtin/packages/samblaster/package.py +++ b/var/spack/repos/builtin/packages/samblaster/package.py @@ -19,6 +19,8 @@ class Samblaster(MakefilePackage): version("0.1.24", sha256="72c42e0a346166ba00152417c82179bd5139636fea859babb06ca855af93d11f") version("0.1.23", sha256="0d35ce629771946e3d6fc199025747054e5512bffa1ba4446ed81160fffee57a") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("samblaster", prefix.bin) diff --git a/var/spack/repos/builtin/packages/samtools/package.py b/var/spack/repos/builtin/packages/samtools/package.py index c6b0018ecf1bec..6328bdf90a974c 100644 --- a/var/spack/repos/builtin/packages/samtools/package.py +++ b/var/spack/repos/builtin/packages/samtools/package.py @@ -44,6 +44,9 @@ class Samtools(Package): url="https://github.com/samtools/samtools/archive/0.1.8.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("ncurses") depends_on("perl", type="run") diff --git a/var/spack/repos/builtin/packages/sandbox/package.py b/var/spack/repos/builtin/packages/sandbox/package.py index 2bd88f2295158a..a24c819a38e46f 100644 --- a/var/spack/repos/builtin/packages/sandbox/package.py +++ b/var/spack/repos/builtin/packages/sandbox/package.py @@ -17,4 +17,6 @@ class Sandbox(AutotoolsPackage): version("2.25", sha256="24055986a1ed9b933da608e41e3284ee53c5a724f3c2457009f8e09e9c581ca8") version("2.12", sha256="265a490a8c528237c55ad26dfd7f62336fa5727c82358fc9cfbaa2e52c47fc50") + depends_on("c", type="build") # generated + depends_on("gawk", type="build") diff --git a/var/spack/repos/builtin/packages/sartre/package.py b/var/spack/repos/builtin/packages/sartre/package.py index e22e69092008be..d9a4e232162fa6 100644 --- a/var/spack/repos/builtin/packages/sartre/package.py +++ b/var/spack/repos/builtin/packages/sartre/package.py @@ -21,6 +21,10 @@ class Sartre(CMakePackage): version("1.39", sha256="82ed77243bea61bb9335f705c4b132f0b53d0de17c26b89389fa9cd3adcef44d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + parallel = False depends_on("gsl") diff --git a/var/spack/repos/builtin/packages/sarus/package.py b/var/spack/repos/builtin/packages/sarus/package.py index 8fe36fdef9d11a..eba4e9ca1e157b 100644 --- a/var/spack/repos/builtin/packages/sarus/package.py +++ b/var/spack/repos/builtin/packages/sarus/package.py @@ -31,6 +31,8 @@ class Sarus(CMakePackage): version("1.0.1", commit="abb8c314a196207204826f7b60e5064677687405") version("1.0.0", commit="d913b1d0ef3729f9f41ac5bd06dd5615c407ced4") + depends_on("cxx", type="build") # generated + variant( "ssh", default=False, diff --git a/var/spack/repos/builtin/packages/satsuma2/package.py b/var/spack/repos/builtin/packages/satsuma2/package.py index 3dfa800cf08ae2..996783d4a04825 100644 --- a/var/spack/repos/builtin/packages/satsuma2/package.py +++ b/var/spack/repos/builtin/packages/satsuma2/package.py @@ -19,6 +19,9 @@ class Satsuma2(CMakePackage): version("2021-03-04", commit="37c5f386819614cd3ce96016b423ddc4df1d86ec") version("2016-11-22", commit="da694aeecf352e344b790bea4a7aaa529f5b69e6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + maintainers("snehring") def patch(self): diff --git a/var/spack/repos/builtin/packages/saws/package.py b/var/spack/repos/builtin/packages/saws/package.py index 55514d4b02dd6f..365f5be2969d6a 100644 --- a/var/spack/repos/builtin/packages/saws/package.py +++ b/var/spack/repos/builtin/packages/saws/package.py @@ -19,4 +19,6 @@ class Saws(AutotoolsPackage): version("0.1.1", tag="v0.1.1", commit="c483e262b22bdf83ab026d20c35f0e09465d768d") version("0.1.0", tag="v0.1.0", commit="312ccc1698cf6c489c0d1eff6db46f54bd9031b7") + depends_on("c", type="build") # generated + depends_on("python", type="build") diff --git a/var/spack/repos/builtin/packages/sblim-sfcc/package.py b/var/spack/repos/builtin/packages/sblim-sfcc/package.py index f3e70b5fc8d46f..a3c7cfd052c4ac 100644 --- a/var/spack/repos/builtin/packages/sblim-sfcc/package.py +++ b/var/spack/repos/builtin/packages/sblim-sfcc/package.py @@ -18,6 +18,9 @@ class SblimSfcc(AutotoolsPackage): version("2_2_7", sha256="bb85bc75efd112411eb76e83a38413a33b3fb8b6b725c8d08fe326efcbea427f") version("2_2_6", sha256="65a8b70047c449f8b60e519ec1a47aa50b6476d3876a698e8484467650e9ee78") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/sbml/package.py b/var/spack/repos/builtin/packages/sbml/package.py index d30d2ee6b487b5..9a5c04a1ab9a07 100644 --- a/var/spack/repos/builtin/packages/sbml/package.py +++ b/var/spack/repos/builtin/packages/sbml/package.py @@ -25,6 +25,9 @@ class Sbml(CMakePackage): version("5.10.2", sha256="83f32a143cf657672b1050f5f79d3591c418fc59570d180fb1f39b103f4e5286") version("5.10.0", sha256="2cd8b37018ce8b1df869c8c182803addbce6d451512ae25a7f527b49981f0966") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): url = "https://downloads.sourceforge.net/project/sbml/libsbml/{0}/stable/libSBML-{1}-core-plus-packages-src.tar.gz".format( version, version diff --git a/var/spack/repos/builtin/packages/sbp/package.py b/var/spack/repos/builtin/packages/sbp/package.py index 22cc6128837b48..030d02a4f2649f 100644 --- a/var/spack/repos/builtin/packages/sbp/package.py +++ b/var/spack/repos/builtin/packages/sbp/package.py @@ -20,6 +20,9 @@ class Sbp(CMakePackage): "3.4.10", tag="v3.4.10", commit="d8ec454a3d7f1b2f8b8f515934612c184b8d5fa3", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + root_cmakelists_dir = "c" def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/scafacos/package.py b/var/spack/repos/builtin/packages/scafacos/package.py index dcad460838fd41..387eb50dd40180 100644 --- a/var/spack/repos/builtin/packages/scafacos/package.py +++ b/var/spack/repos/builtin/packages/scafacos/package.py @@ -22,6 +22,10 @@ class Scafacos(AutotoolsPackage): version("1.0.1", sha256="2b125f313795c81b0e87eb920082e91addf94c17444f9486d979e691aaded99b") version("1.0.0", sha256="cc5762edbecfec0323126b6a6a535dcc3e134fcfef4b00f63eb05fae15244a96") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("fftw") depends_on("file") depends_on("gmp") diff --git a/var/spack/repos/builtin/packages/scalasca/package.py b/var/spack/repos/builtin/packages/scalasca/package.py index 35e34fef5dec63..4023b4f9030d07 100644 --- a/var/spack/repos/builtin/packages/scalasca/package.py +++ b/var/spack/repos/builtin/packages/scalasca/package.py @@ -28,6 +28,9 @@ class Scalasca(AutotoolsPackage): version("2.2.2", sha256="909567ca294366119bbcb7e8122b94f43982cbb328e18c6f6ce7a722d72cd6d4") version("2.1", sha256="fefe43f10becf7893863380546c80ac8db171a3b1ebf97d0258602667572c2fc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("mpi") # version 2.6.1+ diff --git a/var/spack/repos/builtin/packages/scale/package.py b/var/spack/repos/builtin/packages/scale/package.py index d8ef261220564d..8d9171756f6384 100644 --- a/var/spack/repos/builtin/packages/scale/package.py +++ b/var/spack/repos/builtin/packages/scale/package.py @@ -30,6 +30,9 @@ class Scale(MakefilePackage): version("5.3.6", sha256="3ab0d42cdb16eee568c65b880899e861e464e92088ceb525066c726f31d04848") version("5.2.6", sha256="e63141d05810e3f41fc89c9eb15e2319d753832adabdac8f7c8dd7acc0f5f8ed") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi@2:", type=("build", "link", "run")) depends_on("netcdf-c") depends_on("netcdf-fortran") diff --git a/var/spack/repos/builtin/packages/scallop/package.py b/var/spack/repos/builtin/packages/scallop/package.py index e3150343e95aaa..1d79822e7ce20e 100644 --- a/var/spack/repos/builtin/packages/scallop/package.py +++ b/var/spack/repos/builtin/packages/scallop/package.py @@ -16,6 +16,8 @@ class Scallop(AutotoolsPackage): version("0.10.5", sha256="b09e3c61f1b3b1da2a96d9d8429d80326a3bb14f5fe6af9b5e87570d4b86937a") version("0.10.3", sha256="04eb3ab27ed8c7ae38e1780d6b2af16b6a2c01807ffafd59e819d33bfeff58a0") + depends_on("cxx", type="build") # generated + depends_on("clp") depends_on("boost") depends_on("htslib@1.5:") diff --git a/var/spack/repos/builtin/packages/scalpel/package.py b/var/spack/repos/builtin/packages/scalpel/package.py index 85e1ff2ee61ab3..e639d275e6b2b6 100644 --- a/var/spack/repos/builtin/packages/scalpel/package.py +++ b/var/spack/repos/builtin/packages/scalpel/package.py @@ -20,6 +20,9 @@ class Scalpel(MakefilePackage, SourceforgePackage): version("0.5.4", sha256="506f731b3886def158c15fd8b74fa98390f304a507d2040972e6b09ddefac8f0") version("0.5.3", sha256="d45b569fe3aa5934883bc7216c243d53168351c23e020d96a46fa77a1563b65e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("perl@5.10.0:") # bamtools needs to build before the others. diff --git a/var/spack/repos/builtin/packages/scan-for-matches/package.py b/var/spack/repos/builtin/packages/scan-for-matches/package.py index 6df17616b8be0d..cdfdc7eb7c4c5a 100644 --- a/var/spack/repos/builtin/packages/scan-for-matches/package.py +++ b/var/spack/repos/builtin/packages/scan-for-matches/package.py @@ -15,6 +15,8 @@ class ScanForMatches(Package): version("2010-7-16", sha256="c6b17930efbdfbac28b57c3a0b4f8c26effb36c48988d82e41c81c6962e2d68f") + depends_on("c", type="build") # generated + def install(self, spec, prefix): cc = Executable(self.compiler.cc) cc("-O", "-o", "scan_for_matches", "ggpunit.c", "scan_for_matches.c") diff --git a/var/spack/repos/builtin/packages/scantailor/package.py b/var/spack/repos/builtin/packages/scantailor/package.py index 7618e5bfd0aea1..3256626dd4a02a 100644 --- a/var/spack/repos/builtin/packages/scantailor/package.py +++ b/var/spack/repos/builtin/packages/scantailor/package.py @@ -20,6 +20,8 @@ class Scantailor(CMakePackage): version("0.2.7", sha256="3e27647621d43638888a268902f8fa098b06a70a5da5d0623b1c11220a367910") + depends_on("cxx", type="build") # generated + depends_on("qt@5:") depends_on("libjpeg") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/scc/package.py b/var/spack/repos/builtin/packages/scc/package.py index a37be14bb8568b..8c2c1aa3bcbcf7 100644 --- a/var/spack/repos/builtin/packages/scc/package.py +++ b/var/spack/repos/builtin/packages/scc/package.py @@ -21,3 +21,6 @@ class Scc(GoPackage): version("3.3.2", sha256="2bbfed4cf34bbe50760217b479331cf256285335556a0597645b7250fb603388") version("3.1.0", sha256="bffea99c7f178bc48bfba3c64397d53a20a751dfc78221d347aabdce3422fd20") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/scine-core/package.py b/var/spack/repos/builtin/packages/scine-core/package.py index cef9ef4081b1de..049b3881530fac 100644 --- a/var/spack/repos/builtin/packages/scine-core/package.py +++ b/var/spack/repos/builtin/packages/scine-core/package.py @@ -21,6 +21,8 @@ class ScineCore(CMakePackage): version("6.0.0", sha256="6e47e49694002f9d847507c9aacfe53b2befbff5aa380f8860468afdfe880461") version("4.0.2", sha256="7181c6f93d71def22f1e0e5767afc7587c04b49abc03516f6926394868e7adc6") + depends_on("cxx", type="build") # generated + resource( name="dev", url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz", diff --git a/var/spack/repos/builtin/packages/scine-database/package.py b/var/spack/repos/builtin/packages/scine-database/package.py index 7efd86781b0ac6..8bab8c53580f77 100644 --- a/var/spack/repos/builtin/packages/scine-database/package.py +++ b/var/spack/repos/builtin/packages/scine-database/package.py @@ -20,6 +20,8 @@ class ScineDatabase(CMakePackage): version("master", branch="master") version("1.1.0", sha256="a9144631dfb90e06f6924cf58fc5db13719cf8577fcd3bbf788a135060a70c18") + depends_on("cxx", type="build") # generated + resource( name="dev", url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz", diff --git a/var/spack/repos/builtin/packages/scine-molassembler/package.py b/var/spack/repos/builtin/packages/scine-molassembler/package.py index 6c1bc8766376d4..da2c314cc72c24 100644 --- a/var/spack/repos/builtin/packages/scine-molassembler/package.py +++ b/var/spack/repos/builtin/packages/scine-molassembler/package.py @@ -20,6 +20,8 @@ class ScineMolassembler(CMakePackage): version("master", branch="master") version("1.2.1", sha256="c9fea41d383b7f54cf8a3ed4dabebe9e942fe3ef5b47895e3533e8ce42dacd38") + depends_on("cxx", type="build") # generated + resource( name="dev", url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz", diff --git a/var/spack/repos/builtin/packages/scine-qcmaquis/package.py b/var/spack/repos/builtin/packages/scine-qcmaquis/package.py index 55fbae789e01e6..8406d00de71276 100644 --- a/var/spack/repos/builtin/packages/scine-qcmaquis/package.py +++ b/var/spack/repos/builtin/packages/scine-qcmaquis/package.py @@ -20,6 +20,10 @@ class ScineQcmaquis(CMakePackage): version("3.1.4", branch="release-3.1.4") version("3.1.3", branch="release-3.1.3") version("3.1.2", branch="release-3.1.2") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated variant( "symmetries", default="SU2U1PG,TwoU1PG", diff --git a/var/spack/repos/builtin/packages/scine-readuct/package.py b/var/spack/repos/builtin/packages/scine-readuct/package.py index f00bc645e48bd6..935baf2b6eb536 100644 --- a/var/spack/repos/builtin/packages/scine-readuct/package.py +++ b/var/spack/repos/builtin/packages/scine-readuct/package.py @@ -21,6 +21,8 @@ class ScineReaduct(CMakePackage): version("4.1.0", sha256="9cec0192a444403d6a8fd096509798c49fbd1eec298ec7194aba915e31f50782") + depends_on("cxx", type="build") # generated + resource( name="dev", url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz", diff --git a/var/spack/repos/builtin/packages/scine-serenity/package.py b/var/spack/repos/builtin/packages/scine-serenity/package.py index 7dd6d8dd396fbe..ed666fc88cd304 100644 --- a/var/spack/repos/builtin/packages/scine-serenity/package.py +++ b/var/spack/repos/builtin/packages/scine-serenity/package.py @@ -20,6 +20,8 @@ class ScineSerenity(CMakePackage): version("master", branch="master") version("1.0.1", sha256="e2e5cc265a68ccab05f1bc934b957ca07c4f1c6004e662684023da451da69299") + depends_on("cxx", type="build") # generated + resource( name="dev", url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz", diff --git a/var/spack/repos/builtin/packages/scine-sparrow/package.py b/var/spack/repos/builtin/packages/scine-sparrow/package.py index 44d1ccf84a8f44..50ef10fe6a305f 100644 --- a/var/spack/repos/builtin/packages/scine-sparrow/package.py +++ b/var/spack/repos/builtin/packages/scine-sparrow/package.py @@ -36,6 +36,8 @@ class ScineSparrow(CMakePackage): version("3.1.0", sha256="91412de0f2670a1735c4ca76406db5bea04236eeac0bc1f93ccfe18104aa7ce4") version("3.0.0", sha256="70636871694c9363ae3fb2df5050bddb22667b71d875d5a7e9afd872f6a2b65d") + depends_on("cxx", type="build") # generated + resource( name="dev", url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz", diff --git a/var/spack/repos/builtin/packages/scine-utilities/package.py b/var/spack/repos/builtin/packages/scine-utilities/package.py index 3dcf0fb2a9e112..1784dedffd5a90 100644 --- a/var/spack/repos/builtin/packages/scine-utilities/package.py +++ b/var/spack/repos/builtin/packages/scine-utilities/package.py @@ -21,6 +21,8 @@ class ScineUtilities(CMakePackage): version("6.0.0", sha256="e4387d5562b7442a8e31e4dfc028bacfeb6d12e39f2d8aa6effc6db380863b4a") version("5.0.0", sha256="a304c89d9a196fe304f38610dea6b066d74590c0d434e4bd09a9796340700465") + depends_on("cxx", type="build") # generated + resource( name="dev", url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz", diff --git a/var/spack/repos/builtin/packages/scine-xtb/package.py b/var/spack/repos/builtin/packages/scine-xtb/package.py index 9cd7dca1827763..676ddaa2331bdb 100644 --- a/var/spack/repos/builtin/packages/scine-xtb/package.py +++ b/var/spack/repos/builtin/packages/scine-xtb/package.py @@ -20,6 +20,8 @@ class ScineXtb(CMakePackage): version("master", branch="master") version("1.0.2", sha256="9beb1103467f3cfd9ad33beb2f3ec650bc3e6dc7094876774be3cc4e6f210487") + depends_on("cxx", type="build") # generated + resource( name="dev", url="https://github.com/qcscine/development-utils/archive/refs/tags/5.0.1.tar.gz", diff --git a/var/spack/repos/builtin/packages/scitokens-cpp/package.py b/var/spack/repos/builtin/packages/scitokens-cpp/package.py index d64b15f442eaf0..1426828700f0eb 100644 --- a/var/spack/repos/builtin/packages/scitokens-cpp/package.py +++ b/var/spack/repos/builtin/packages/scitokens-cpp/package.py @@ -27,6 +27,8 @@ class ScitokensCpp(CMakePackage): version("0.7.1", sha256="44a1bca188897b1e97645149d1f6bc187cd0e482ad36159ca376834f028ce5ef") version("0.7.0", sha256="72600cf32523b115ec7abf4ac33fa369e0a655b3d3b390e1f68363e6c4e961b6") + depends_on("cxx", type="build") # generated + variant( "cxxstd", default="11", diff --git a/var/spack/repos/builtin/packages/scorec-core/package.py b/var/spack/repos/builtin/packages/scorec-core/package.py index b5f4c35efb440d..9b2648aa1dc47d 100644 --- a/var/spack/repos/builtin/packages/scorec-core/package.py +++ b/var/spack/repos/builtin/packages/scorec-core/package.py @@ -18,6 +18,10 @@ class ScorecCore(CMakePackage): version("develop") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("zoltan") depends_on("cmake@3.0:", type="build") diff --git a/var/spack/repos/builtin/packages/scorep/package.py b/var/spack/repos/builtin/packages/scorep/package.py index ffae2f4666dbb0..02c8718a7270e6 100644 --- a/var/spack/repos/builtin/packages/scorep/package.py +++ b/var/spack/repos/builtin/packages/scorep/package.py @@ -69,6 +69,10 @@ class Scorep(AutotoolsPackage): deprecated="true", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + def url_for_version(self, version): if version < Version("7.0"): return "https://www.vi-hps.org/cms/upload/packages/scorep/scorep-{0}.tar.gz".format( @@ -153,6 +157,14 @@ def find_libpath(self, libname, root): return None return libs.directories[0] + # handle any mapping of Spack compiler names to Score-P args + # this should continue to exist for backward compatibility + def clean_compiler(self, compiler): + renames = {"cce": "cray"} + if compiler in renames: + return renames[compiler] + return compiler + def configure_args(self): spec = self.spec @@ -162,7 +174,8 @@ def configure_args(self): "--enable-shared", ] - cname = spec.compiler.name + cname = self.clean_compiler(spec.compiler.name) + config_args.append("--with-nocross-compiler-suite={0}".format(cname)) if self.version >= Version("4.0"): diff --git a/var/spack/repos/builtin/packages/scorpio/package.py b/var/spack/repos/builtin/packages/scorpio/package.py index 360e54dc06dcc7..535e10d8aef1c2 100644 --- a/var/spack/repos/builtin/packages/scorpio/package.py +++ b/var/spack/repos/builtin/packages/scorpio/package.py @@ -24,6 +24,9 @@ class Scorpio(CMakePackage): version("2021-12-10", commit="b802f16877a6562ccdbeca8887910d3bd3e25cbb", preferred=True) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@3.16:", type="build") depends_on("mpi") depends_on("hdf5@1.10.6: +hl +mpi") diff --git a/var/spack/repos/builtin/packages/scotch/package.py b/var/spack/repos/builtin/packages/scotch/package.py index fbc5ddbeb68956..54f21c3b483490 100644 --- a/var/spack/repos/builtin/packages/scotch/package.py +++ b/var/spack/repos/builtin/packages/scotch/package.py @@ -37,6 +37,9 @@ class Scotch(CMakePackage, MakefilePackage): version("6.0.0", sha256="8206127d038bda868dda5c5a7f60ef8224f2e368298fbb01bf13fa250e378dd4") version("5.1.10b", sha256="54c9e7fafefd49d8b2017d179d4f11a655abe10365961583baaddc4eeb6a9add") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + build_system(conditional("cmake", when="@7:"), "makefile", default="cmake") variant("threads", default=True, description="use POSIX Pthreads within Scotch and PT-Scotch") variant( diff --git a/var/spack/repos/builtin/packages/scr/package.py b/var/spack/repos/builtin/packages/scr/package.py index 342edc637553b6..9737365255d905 100644 --- a/var/spack/repos/builtin/packages/scr/package.py +++ b/var/spack/repos/builtin/packages/scr/package.py @@ -65,6 +65,10 @@ class Scr(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/screen/package.py b/var/spack/repos/builtin/packages/screen/package.py index d4c4dc5ecf3213..1d450d6dbbe6d3 100644 --- a/var/spack/repos/builtin/packages/screen/package.py +++ b/var/spack/repos/builtin/packages/screen/package.py @@ -37,6 +37,8 @@ class Screen(AutotoolsPackage, GNUMirrorPackage): version("3.7.2", sha256="6a882385d2810b8220b9e03c75c5fa184dcbd1afdb95974bbac396bb749a6cc0") version("3.7.1", sha256="0cd5b1a2cbba6bb2f2bc2145aec650abf02541fd3a2071117a99e4982f6e01da") + depends_on("c", type="build") # generated + depends_on("ncurses") depends_on("autoconf", type="build", when="@4.9.0:") depends_on("automake", type="build", when="@4.9.0:") diff --git a/var/spack/repos/builtin/packages/scripts/package.py b/var/spack/repos/builtin/packages/scripts/package.py index d7e3b34c3d2a2f..c34ecb5bd0d72f 100644 --- a/var/spack/repos/builtin/packages/scripts/package.py +++ b/var/spack/repos/builtin/packages/scripts/package.py @@ -14,6 +14,8 @@ class Scripts(AutotoolsPackage, XorgPackage): version("1.0.1", sha256="0ed6dabdbe821944d61830489ad5f21bd934550456b9157a1cd8a32f76e08279") + depends_on("cxx", type="build") # generated + depends_on("libx11") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/scrot/package.py b/var/spack/repos/builtin/packages/scrot/package.py index 0aeb0ba2a06123..23709f59a20144 100644 --- a/var/spack/repos/builtin/packages/scrot/package.py +++ b/var/spack/repos/builtin/packages/scrot/package.py @@ -20,6 +20,8 @@ class Scrot(AutotoolsPackage): version("1.6", sha256="42f64d38f04ec530c8b4ebdae04cce8b6893b2f8d30627391d390edcba917090") version("1.5", sha256="42fcf1c97940f4b4e34ca69990a0fc9b98991357bd6a4b67f30ebe0ccc10f093") + depends_on("c", type="build") # generated + depends_on("giblib", when="@:1.5") depends_on("imlib2") depends_on("libtool") diff --git a/var/spack/repos/builtin/packages/scs/package.py b/var/spack/repos/builtin/packages/scs/package.py index cdb33aa6fbcb34..585998738a2816 100644 --- a/var/spack/repos/builtin/packages/scs/package.py +++ b/var/spack/repos/builtin/packages/scs/package.py @@ -17,6 +17,8 @@ class Scs(MakefilePackage): version("2.1.1", sha256="0e20b91e8caf744b84aa985ba4e98cc7235ee33612b2bad2bf31ea5ad4e07d93") + depends_on("c", type="build") # generated + variant("cuda", default=False, description="Build with Cuda support") depends_on("blas") diff --git a/var/spack/repos/builtin/packages/sctk/package.py b/var/spack/repos/builtin/packages/sctk/package.py index b0c6ff307430d1..f3311e57214680 100644 --- a/var/spack/repos/builtin/packages/sctk/package.py +++ b/var/spack/repos/builtin/packages/sctk/package.py @@ -37,6 +37,9 @@ class Sctk(Package): url="https://www.openslr.org/resources/4/sctk-2.4.0-20091110-0958.tar.bz2", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): make("config") make("all") diff --git a/var/spack/repos/builtin/packages/sdl2-image/package.py b/var/spack/repos/builtin/packages/sdl2-image/package.py index 963b1a3f7f67f3..87f2265999efe3 100644 --- a/var/spack/repos/builtin/packages/sdl2-image/package.py +++ b/var/spack/repos/builtin/packages/sdl2-image/package.py @@ -19,4 +19,6 @@ class Sdl2Image(AutotoolsPackage): version("2.6.3", sha256="931c9be5bf1d7c8fae9b7dc157828b7eee874e23c7f24b44ba7eff6b4836312c") version("2.0.1", sha256="3a3eafbceea5125c04be585373bfd8b3a18f259bd7eae3efc4e6d8e60e0d7f64") + depends_on("c", type="build") # generated + depends_on("sdl2") diff --git a/var/spack/repos/builtin/packages/sdl2-ttf/package.py b/var/spack/repos/builtin/packages/sdl2-ttf/package.py index 9bc5c7a69ba861..9ab51ccaf392f3 100644 --- a/var/spack/repos/builtin/packages/sdl2-ttf/package.py +++ b/var/spack/repos/builtin/packages/sdl2-ttf/package.py @@ -17,6 +17,9 @@ class Sdl2Ttf(CMakePackage): version("2.20.2", sha256="9dc71ed93487521b107a2c4a9ca6bf43fb62f6bddd5c26b055e6b91418a22053") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("sdl2") maintainers("georgemalerbo", "amklinv") diff --git a/var/spack/repos/builtin/packages/sdl2/package.py b/var/spack/repos/builtin/packages/sdl2/package.py index 390a8c41f77727..55ea3b0be6124e 100644 --- a/var/spack/repos/builtin/packages/sdl2/package.py +++ b/var/spack/repos/builtin/packages/sdl2/package.py @@ -27,6 +27,9 @@ class Sdl2(CMakePackage): version("2.0.14", sha256="d8215b571a581be1332d2106f8036fcb03d12a70bae01e20f424976d275432bc") version("2.0.5", sha256="442038cf55965969f2ff06d976031813de643af9c9edc9e331bd761c242e8785") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8.5:", type="build") if sys.platform.startswith("linux"): depends_on("libxext", type="link") diff --git a/var/spack/repos/builtin/packages/sdsl-lite/package.py b/var/spack/repos/builtin/packages/sdsl-lite/package.py index 928f3ca12c8500..b8f44c8dc73611 100644 --- a/var/spack/repos/builtin/packages/sdsl-lite/package.py +++ b/var/spack/repos/builtin/packages/sdsl-lite/package.py @@ -20,6 +20,9 @@ class SdslLite(Package): expand=False, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake", type="build") depends_on("tar", type="build") diff --git a/var/spack/repos/builtin/packages/seacas/package.py b/var/spack/repos/builtin/packages/seacas/package.py index 7607142f074547..986068e16a7090 100644 --- a/var/spack/repos/builtin/packages/seacas/package.py +++ b/var/spack/repos/builtin/packages/seacas/package.py @@ -35,6 +35,12 @@ class Seacas(CMakePackage): # ###################### Versions ########################## version("master", branch="master") + version( + "2024-07-10", sha256="b2ba6ca80359fed8ed2a8a210052582c7a3b7b837253bd1e9be941047dcab3ff" + ) + version( + "2024-06-27", sha256="a28db6aa3d03ff0a54a091210cf867661427f0b22ac08f89a4cc3bd8e0c704b2" + ) version( "2024-04-03", sha256="edf1aacbde87212b10737d3037107dba5cf7e2cce167863e2ebb200dc1a3fbb5" ) @@ -138,6 +144,10 @@ class Seacas(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # ###################### Variants ########################## # Package options # The I/O libraries (exodus, IOSS) are always built @@ -231,6 +241,17 @@ class Seacas(CMakePackage): 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") + # if fmt@9.1.0%gcc is mixed with an %apple-clang seacas build + # it triggers a bug in apple-clang w.r.t how symbols are mangled + # https://github.com/spack/spack/issues/44330 + conflicts( + "^fmt@9%gcc", + msg="""Cannot mix gcc/apple-clang toolchains + for this library combination. + See https://github.com/spack/spack/issues/44330""", + when="%apple-clang", + ) + depends_on("catch2@3:", when="@2024-03-11:+tests") depends_on("matio", when="+matio") diff --git a/var/spack/repos/builtin/packages/seacr/package.py b/var/spack/repos/builtin/packages/seacr/package.py new file mode 100644 index 00000000000000..fafe5e6c9d4eaa --- /dev/null +++ b/var/spack/repos/builtin/packages/seacr/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) + +import os + +from spack.package import * + + +class Seacr(Package): + """SEACR (Sparse Enrichment Analysis for CUT&RUN) is intended to call peaks and + enriched regions from sparse CUT&RUN or chromatin profiling data in which the + background is dominated by zeros""" + + homepage = "https://github.com/FredHutch/SEACR" + git = "https://github.com/FredHutch/SEACR.git" + + license("GPL-2.0-only", checked_by="A-N-Other") + + version("1.4-b2", tag="v1.4-beta.2", commit="5179a70494eb129fcb1d640177de73f6509654e7") + version("1.3", tag="v1.3", commit="5a0efe59f06fb17cf9d34d415bb0c1a1f7a77a3c", preferred=True) + + # Dependencies as per the README.md + depends_on("r", type="run") + depends_on("bedtools2", type="run") + + def install(self, spec, prefix): + mkdirp(prefix.bin) + script_name = f"SEACR_{self.version.up_to(2)}" + os.chmod(f"{script_name}.sh", 0o755) + install(f"{script_name}.sh", prefix.bin.SEACR) + install(f"{script_name}.R", prefix.bin) diff --git a/var/spack/repos/builtin/packages/seal/package.py b/var/spack/repos/builtin/packages/seal/package.py index a101a276234152..59f8c991944700 100644 --- a/var/spack/repos/builtin/packages/seal/package.py +++ b/var/spack/repos/builtin/packages/seal/package.py @@ -31,3 +31,6 @@ class Seal(CMakePackage): version("3.6.1", sha256="e399c0df7fb60ad450a0ccfdc81b99d19308d0fc1f730d4cad4748dfb2fdb516") version("3.6.0", sha256="79c0e45bf301f4577a7633b14e8b26e37eefc89fd4f6a29d13f87e5f22a372ad") version("3.5.9", sha256="23bf3bf7ae1dae5dae271244a5baa66fa01856c52e263fe8368c3a40f2399fc7") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/sed/package.py b/var/spack/repos/builtin/packages/sed/package.py index ee9e868a7065d8..0c556310799ebf 100644 --- a/var/spack/repos/builtin/packages/sed/package.py +++ b/var/spack/repos/builtin/packages/sed/package.py @@ -20,6 +20,8 @@ class Sed(AutotoolsPackage, GNUMirrorPackage): version("4.8", sha256="f79b0cfea71b37a8eeec8490db6c5f7ae7719c35587f21edb0617f370eeff633") version("4.2.2", sha256="f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7") + depends_on("c", type="build") # generated + # Avoid symlinking GNUMakefile to GNUMakefile build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/selalib/package.py b/var/spack/repos/builtin/packages/selalib/package.py index 0486604567f5aa..ade72efed12c5e 100644 --- a/var/spack/repos/builtin/packages/selalib/package.py +++ b/var/spack/repos/builtin/packages/selalib/package.py @@ -18,6 +18,10 @@ class Selalib(CMakePackage): version("main", branch="main") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fmempool", default=False, description="Use memory pool") variant("mpi", default=True, description="Build with MPI support") variant("openmp", default=True, description="Build with OpenMP support") diff --git a/var/spack/repos/builtin/packages/semiprof/package.py b/var/spack/repos/builtin/packages/semiprof/package.py index d26b4248c798af..2a0475715493ab 100644 --- a/var/spack/repos/builtin/packages/semiprof/package.py +++ b/var/spack/repos/builtin/packages/semiprof/package.py @@ -21,6 +21,8 @@ class Semiprof(CMakePackage): version("0.1", sha256="4fb3823c65a4f5dfbe05e8cbe1911dfd25cd7740597f82c7b3a84472de26f0dc") + depends_on("cxx", type="build") # generated + def cmake_args(self): return [ self.define("SEMIPROF_WITH_INSTALL", True), diff --git a/var/spack/repos/builtin/packages/sensei/package.py b/var/spack/repos/builtin/packages/sensei/package.py index 96e4dd4393c6ed..95374e63b5f27f 100644 --- a/var/spack/repos/builtin/packages/sensei/package.py +++ b/var/spack/repos/builtin/packages/sensei/package.py @@ -35,6 +35,9 @@ class Sensei(CMakePackage): version("1.1.0", sha256="769e0b5db50be25666c0d13176a7e4f89cbffe19cdc12349437d0efff615b200") version("1.0.0", sha256="5b8609352048e048e065a7b99f615a602f84b3329085e40274341488ef1b9522") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Enables shared libraries") variant("ascent", default=False, description="Build with ParaView-Catalyst support") variant("catalyst", default=False, description="Build with ParaView-Catalyst support") diff --git a/var/spack/repos/builtin/packages/sentencepiece/package.py b/var/spack/repos/builtin/packages/sentencepiece/package.py index 845dea6add8b72..a954519ece3ce1 100644 --- a/var/spack/repos/builtin/packages/sentencepiece/package.py +++ b/var/spack/repos/builtin/packages/sentencepiece/package.py @@ -22,5 +22,7 @@ class Sentencepiece(CMakePackage): version("0.1.91", sha256="acbc7ea12713cd2a8d64892f8d2033c7fd2bb4faecab39452496120ace9a4b1b") version("0.1.85", sha256="dd4956287a1b6af3cbdbbd499b7227a859a4e3f41c9882de5e6bdd929e219ae6") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type="build") depends_on("gperftools") # optional, 10-40% performance improvement diff --git a/var/spack/repos/builtin/packages/seq-gen/package.py b/var/spack/repos/builtin/packages/seq-gen/package.py index 2aa4cca47e5095..c67831285d2022 100644 --- a/var/spack/repos/builtin/packages/seq-gen/package.py +++ b/var/spack/repos/builtin/packages/seq-gen/package.py @@ -26,6 +26,8 @@ class SeqGen(MakefilePackage): version("1.3.4", sha256="092ec2255ce656a02b2c3012c32443c7d8e38c692f165fb155b304ca030cbb59") + depends_on("c", type="build") # generated + build_directory = "source" def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/seqan/package.py b/var/spack/repos/builtin/packages/seqan/package.py index 5650cc43a0add8..0fc2a493ab1fa3 100644 --- a/var/spack/repos/builtin/packages/seqan/package.py +++ b/var/spack/repos/builtin/packages/seqan/package.py @@ -20,6 +20,8 @@ class Seqan(CMakePackage): version("2.4.0", sha256="d7084d17729214003e84818e0280a16f223c8f1c6a30eeef040c27e0c0047bd7") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.4.0:", type="build") depends_on("python@2.7.0:", type="build") depends_on("py-nose", type="build") diff --git a/var/spack/repos/builtin/packages/seqfu/package.py b/var/spack/repos/builtin/packages/seqfu/package.py new file mode 100644 index 00000000000000..53de9fd0a2528f --- /dev/null +++ b/var/spack/repos/builtin/packages/seqfu/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 Seqfu(Package): + """seqfu - Sequece Fastx Utilities""" + + homepage = "https://github.com/telatin/seqfu2" + url = "https://github.com/telatin/seqfu2/archive/refs/tags/v1.20.3.tar.gz" + + license("GPL-3.0", checked_by="dialvarezs") + + version("1.20.3", sha256="1b287b99f3f1ac7045f4d551e781d6780ce168ba8e0a7bfaa0f5490f32e15938") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + + depends_on("nim@2", type="build") + depends_on("zlib", type="build") + + patch("wno_incompatible_pointer_types.patch", when="%gcc@14:") + + def setup_build_environment(self, env): + env.set("NIMBLE_DIR", ".nimble") + + def install(self, spec, prefix): + nimble = Executable("nimble") + nimble("install", "-y", "--depsOnly") + + make(parallel=False) + install_tree("bin", join_path(prefix, "bin")) diff --git a/var/spack/repos/builtin/packages/seqfu/wno_incompatible_pointer_types.patch b/var/spack/repos/builtin/packages/seqfu/wno_incompatible_pointer_types.patch new file mode 100644 index 00000000000000..b8c2e93d7b15e2 --- /dev/null +++ b/var/spack/repos/builtin/packages/seqfu/wno_incompatible_pointer_types.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 287bb7c..7fb9434 100644 +--- a/Makefile ++++ b/Makefile +@@ -7,7 +7,7 @@ SCRIPTS=./scripts + SOURCE=./src + DATA=./data + VERSION := $(shell grep version seqfu.nimble | grep -o "[0-9]\\+\.[0-9]\\+\.[0-9]\\+") +-NIMPARAM := --gc:orc -d:NimblePkgVersion=$(VERSION) -d:release --opt:speed ++NIMPARAM := --gc:orc -d:NimblePkgVersion=$(VERSION) -d:release --opt:speed --passC:"-Wno-error=incompatible-pointer-types" + TARGETS=$(BIN)/seqfu $(BIN)/fu-msa $(BIN)/fu-primers $(BIN)/dadaist2-mergeseqs $(BIN)/fu-shred $(BIN)/fu-homocomp $(BIN)/fu-multirelabel $(BIN)/fu-index $(BIN)/fu-cov $(BIN)/fu-16Sregion $(BIN)/fu-nanotags $(BIN)/fu-orf $(BIN)/fu-sw $(BIN)/fu-virfilter $(BIN)/fu-tabcheck $(BIN)/byteshift $(BIN)/SeqCountHelper $(BIN)/fu-secheck + PYTARGETS=$(BIN)/fu-split $(BIN)/fu-pecheck $(BIN)/fu-readtope + diff --git a/var/spack/repos/builtin/packages/seqprep/package.py b/var/spack/repos/builtin/packages/seqprep/package.py index ab756237428426..4140b78554031c 100644 --- a/var/spack/repos/builtin/packages/seqprep/package.py +++ b/var/spack/repos/builtin/packages/seqprep/package.py @@ -17,6 +17,8 @@ class Seqprep(MakefilePackage): version("1.3.2", sha256="2b8a462a0e0a3e51f70be7730dc77b1f2bb69e74845dd0fbd2110a921c32265a") + depends_on("c", type="build") # generated + depends_on("zlib-api", type="link") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/seqtk/package.py b/var/spack/repos/builtin/packages/seqtk/package.py index 6334292fbb92af..12a665479f628a 100644 --- a/var/spack/repos/builtin/packages/seqtk/package.py +++ b/var/spack/repos/builtin/packages/seqtk/package.py @@ -19,6 +19,8 @@ class Seqtk(Package): version("1.2", sha256="bd53316645ab10f0aaba59e1e72c28442ee4c9c37fddaacce5e24757eff78d7b") version("1.1", sha256="f01b9f9af6e443673a0105a7536a01957a4fc371826385a1f3dd1e417aa91d52") + depends_on("c", type="build") # generated + depends_on("zlib-api") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/serenity-libint/package.py b/var/spack/repos/builtin/packages/serenity-libint/package.py index 4f761d4b9b2320..3677f35e02144c 100644 --- a/var/spack/repos/builtin/packages/serenity-libint/package.py +++ b/var/spack/repos/builtin/packages/serenity-libint/package.py @@ -17,6 +17,10 @@ class SerenityLibint(CMakePackage): "2.7.0-beta.6", sha256="53af60c7be74374b2a2d893b3d2d37fa6a3078a72d98067bf71ba4ede4e807df" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("boost") depends_on("eigen@3:") # Probably overdepending? depends_on("gmp+cxx") diff --git a/var/spack/repos/builtin/packages/serenity/package.py b/var/spack/repos/builtin/packages/serenity/package.py index 4277322a455694..e8a70da49b1afa 100644 --- a/var/spack/repos/builtin/packages/serenity/package.py +++ b/var/spack/repos/builtin/packages/serenity/package.py @@ -19,6 +19,8 @@ class Serenity(CMakePackage): version("1.6.1", sha256="cc04b13c2e8a010d07389b2fed98981deacf085778d5375b3b6e89b967c3a5e6") version("1.4.0", sha256="c7a87fc8e6f8ca21685a27e08d09d49824d9a1e9947fc6abb40d20fbba0cc6e8") + depends_on("cxx", type="build") # generated + variant("blas", default=True, description="Use BLAS library with Eigen") variant("lapack", default=True, description="Use Lapack library with Eigen") variant("python", default=False, description="Build Python bindings") diff --git a/var/spack/repos/builtin/packages/serf/package.py b/var/spack/repos/builtin/packages/serf/package.py index 192d84f4a9d94e..a0a68e16a6456b 100644 --- a/var/spack/repos/builtin/packages/serf/package.py +++ b/var/spack/repos/builtin/packages/serf/package.py @@ -21,6 +21,8 @@ class Serf(SConsPackage): version("1.3.9", sha256="549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc") version("1.3.8", sha256="e0500be065dbbce490449837bb2ab624e46d64fc0b090474d9acaa87c82b2590") + depends_on("c", type="build") # generated + variant( "debug", default=False, description="Enable debugging info and strict compile warnings" ) diff --git a/var/spack/repos/builtin/packages/serialbox/package.py b/var/spack/repos/builtin/packages/serialbox/package.py index 8ec0fe3b4c4b43..0618fe9db2bffb 100644 --- a/var/spack/repos/builtin/packages/serialbox/package.py +++ b/var/spack/repos/builtin/packages/serialbox/package.py @@ -24,6 +24,10 @@ class Serialbox(CMakePackage): version("2.5.4", sha256="f4aee8ef284f58e6847968fe4620e222ac7019d805bbbb26c199e4b6a5094fee") version("2.5.3", sha256="696499b3f43978238c3bcc8f9de50bce2630c07971c47c9e03af0324652b2d5d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("c", default=True, description="enable C interface") variant("python", default=False, description="enable Python interface") variant("fortran", default=False, description="enable Fortran interface") diff --git a/var/spack/repos/builtin/packages/sessreg/package.py b/var/spack/repos/builtin/packages/sessreg/package.py index 12d0804d92eed8..4873193756c303 100644 --- a/var/spack/repos/builtin/packages/sessreg/package.py +++ b/var/spack/repos/builtin/packages/sessreg/package.py @@ -21,6 +21,8 @@ class Sessreg(AutotoolsPackage, XorgPackage): version("1.1.1", sha256="3e38f72ff690eaffc0f5eaff533a236bb5e93d4b91ed4fff60e9a2505347d009") version("1.1.0", sha256="e561edb48dfc3b0624554169c15f9dd2c3139e83084cb323b0c712724f2b6043") + depends_on("c", type="build") # generated + depends_on("xproto@7.0.25:") depends_on("pkgconfig", type="build") depends_on("util-macros", type="build") diff --git a/var/spack/repos/builtin/packages/setserial/package.py b/var/spack/repos/builtin/packages/setserial/package.py index 65bb951974a9ca..2b2bd5267c52ab 100644 --- a/var/spack/repos/builtin/packages/setserial/package.py +++ b/var/spack/repos/builtin/packages/setserial/package.py @@ -18,6 +18,8 @@ class Setserial(AutotoolsPackage): version("2.17", sha256="7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) mkdirp(prefix.usr.man.man8) diff --git a/var/spack/repos/builtin/packages/setxkbmap/package.py b/var/spack/repos/builtin/packages/setxkbmap/package.py index 44d293cc343261..4dff2c389875d6 100644 --- a/var/spack/repos/builtin/packages/setxkbmap/package.py +++ b/var/spack/repos/builtin/packages/setxkbmap/package.py @@ -21,6 +21,8 @@ class Setxkbmap(AutotoolsPackage, XorgPackage): version("1.3.2", sha256="7e934afc55f161406f7dd99b5be8837e5d1478d8263776697b159d48461a1d3c") version("1.3.1", sha256="e24a73669007fa3b280eba4bdc7f75715aeb2e394bf2d63f5cc872502ddde264") + depends_on("c", type="build") # generated + depends_on("libxkbfile") depends_on("libx11") depends_on("libxrandr", when="@1.3.3:") diff --git a/var/spack/repos/builtin/packages/sfcgal/package.py b/var/spack/repos/builtin/packages/sfcgal/package.py index 88fd3e8ff62dbd..d7a6f00e9b69e4 100644 --- a/var/spack/repos/builtin/packages/sfcgal/package.py +++ b/var/spack/repos/builtin/packages/sfcgal/package.py @@ -34,6 +34,8 @@ class Sfcgal(CMakePackage): url=old_github_urlbase.format("1.3.7"), ) + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8.6:", type="build") # Ref: https://oslandia.github.io/SFCGAL/installation.html, but starts to work @4.7: # Ref: https://gitlab.com/sfcgal/SFCGAL/-/blob/v1.5.1/NEWS?ref_type=tags diff --git a/var/spack/repos/builtin/packages/sfcio/package.py b/var/spack/repos/builtin/packages/sfcio/package.py index aa762cebc5d048..fc0141a966a550 100644 --- a/var/spack/repos/builtin/packages/sfcio/package.py +++ b/var/spack/repos/builtin/packages/sfcio/package.py @@ -21,6 +21,8 @@ class Sfcio(CMakePackage): version("develop", branch="develop") version("1.4.1", sha256="d9f900cf18ec1a839b4128c069b1336317ffc682086283443354896746b89c59") + depends_on("fortran", type="build") # generated + def setup_run_environment(self, env): lib = find_libraries("libsfcio", root=self.prefix, shared=False, recursive=True) # Only one library version, but still need to set _4 to make NCO happy diff --git a/var/spack/repos/builtin/packages/sga/package.py b/var/spack/repos/builtin/packages/sga/package.py index f99cf55c9718e1..3a6802f85c4350 100644 --- a/var/spack/repos/builtin/packages/sga/package.py +++ b/var/spack/repos/builtin/packages/sga/package.py @@ -24,6 +24,9 @@ class Sga(AutotoolsPackage): version("0.10.8", sha256="55c5e0e425e14902e83d68cfb8cee4c86ee186459e54113a484b2a1b06d223c8") version("0.10.3", sha256="c000823a58428d9db2979b30a571ad89aec78a8cb1af60bae1ce252dd4e8adac") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("sparsehash") depends_on("jemalloc") diff --git a/var/spack/repos/builtin/packages/sgpp/package.py b/var/spack/repos/builtin/packages/sgpp/package.py index c7eb4177c0abe9..caae561d41b8a9 100644 --- a/var/spack/repos/builtin/packages/sgpp/package.py +++ b/var/spack/repos/builtin/packages/sgpp/package.py @@ -22,6 +22,8 @@ class Sgpp(SConsPackage): version("3.4.0", sha256="450d4002850b0a48c561abe221b634261ca44eee111ca605c3e80797182f40b3") version("3.3.0", sha256="ca4d5b79f315b425ce69b04940c141451a76848bf1bd7b96067217304c68e2d4") version("3.2.0", sha256="dab83587fd447f92ed8546eacaac6b8cbe65b8db5e860218c0fa2e42f776962d") + + depends_on("cxx", type="build") # generated # Note: Older versions of SGpp required Python 2 (and offered Python 2 bindings) and have # thus been removed from this list as Spack now requires Python 3. # The last spack release with support for Python 2 is v0.19 - there, the spack package diff --git a/var/spack/repos/builtin/packages/shadow/package.py b/var/spack/repos/builtin/packages/shadow/package.py index 95f8d25c7fadfe..aaed47308ae094 100644 --- a/var/spack/repos/builtin/packages/shadow/package.py +++ b/var/spack/repos/builtin/packages/shadow/package.py @@ -21,3 +21,5 @@ class Shadow(AutotoolsPackage): version("4.8.1", sha256="3ee3081fbbcbcfea5c8916419e46bc724807bab271072104f23e7a29e9668f3a") version("4.7", sha256="5135b0ca2a361a218fab59e63d9c1720d2a8fc1faa520c819a654b638017286f") version("4.6", sha256="4668f99bd087399c4a586084dc3b046b75f560720d83e92fd23bf7a89dda4d31") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/shapeit4/package.py b/var/spack/repos/builtin/packages/shapeit4/package.py index 42d5e950ac1e8f..2b6552061731c1 100644 --- a/var/spack/repos/builtin/packages/shapeit4/package.py +++ b/var/spack/repos/builtin/packages/shapeit4/package.py @@ -18,6 +18,8 @@ class Shapeit4(MakefilePackage): version("4.2.2", sha256="9f109e307b5cc22ab68e7bf77de2429a9bbb2212d66303386e6a3dd81a5bc556") version("4.1.3", sha256="d209731277b00bca1e3478b7e0a0cbe40fbe23826c3d640ad12e0dd6033cbbb8") + depends_on("cxx", type="build") # generated + maintainers("ilbiondo") depends_on("htslib") diff --git a/var/spack/repos/builtin/packages/shapelib/package.py b/var/spack/repos/builtin/packages/shapelib/package.py index 691f4482bcd04a..756f7ea1e4cdce 100644 --- a/var/spack/repos/builtin/packages/shapelib/package.py +++ b/var/spack/repos/builtin/packages/shapelib/package.py @@ -19,3 +19,6 @@ class Shapelib(CMakePackage): version("1.6.0", sha256="0bfd1eab9616ca3c420a5ad674b0d07c7c5018620d6ab6ae43917daa18ff0d1e") version("1.5.0", sha256="48de3a6a8691b0b111b909c0b908af4627635c75322b3a501c0c0885f3558cad") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/shapemapper/package.py b/var/spack/repos/builtin/packages/shapemapper/package.py index 730326f7fa2802..32b3165fe12415 100644 --- a/var/spack/repos/builtin/packages/shapemapper/package.py +++ b/var/spack/repos/builtin/packages/shapemapper/package.py @@ -31,6 +31,8 @@ class Shapemapper(CMakePackage): url="https://github.com/Weeks-UNC/shapemapper2/releases/download/2.1.5/shapemapper-2.1.5-source-only.tar.gz", ) + depends_on("cxx", type="build") # generated + depends_on("bowtie2@2.3.0:", type="run", when="@2.1.5") depends_on("bowtie2@2.3.4:", type="run", when="@2.2.0:") depends_on("perl+threads", type="run") diff --git a/var/spack/repos/builtin/packages/shared-mime-info/package.py b/var/spack/repos/builtin/packages/shared-mime-info/package.py index 7da52d5052d61a..72ec9447bed4e0 100644 --- a/var/spack/repos/builtin/packages/shared-mime-info/package.py +++ b/var/spack/repos/builtin/packages/shared-mime-info/package.py @@ -18,6 +18,8 @@ class SharedMimeInfo(AutotoolsPackage): version("1.9", sha256="5c0133ec4e228e41bdf52f726d271a2d821499c2ab97afd3aa3d6cf43efcdc83") version("1.8", sha256="2af55ef1a0319805b74ab40d331a3962c905477d76c086f49e34dc96363589e9") + depends_on("c", type="build") # generated + parallel = False depends_on("glib") diff --git a/var/spack/repos/builtin/packages/shark/package.py b/var/spack/repos/builtin/packages/shark/package.py index fcec7ed1f1ff58..58eb5dcccec183 100644 --- a/var/spack/repos/builtin/packages/shark/package.py +++ b/var/spack/repos/builtin/packages/shark/package.py @@ -20,6 +20,8 @@ class Shark(CMakePackage): version("4.0.0", sha256="19d4099776327d5f8a2e2be286818c6081c61eb13ca279c1e438c86e70d90210") version("3.1.4", sha256="160c35ddeae3f6aeac3ce132ea4ba2611ece39eee347de2faa3ca52639dc6311") + depends_on("cxx", type="build") # generated + # 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 diff --git a/var/spack/repos/builtin/packages/sheenbidi/package.py b/var/spack/repos/builtin/packages/sheenbidi/package.py index 7d79df722e52cf..27c06e4e024234 100644 --- a/var/spack/repos/builtin/packages/sheenbidi/package.py +++ b/var/spack/repos/builtin/packages/sheenbidi/package.py @@ -18,3 +18,6 @@ class Sheenbidi(MesonPackage): version("2.7", sha256="620f732141fd62354361f921a67ba932c44d94e73f127379a0c73ad40c7fa6e0") version("2.6", sha256="f538f51a7861dd95fb9e3f4ad885f39204b5c670867019b5adb7c4b410c8e0d9") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/sherpa/package.py b/var/spack/repos/builtin/packages/sherpa/package.py index 95a8bcfebdfd2e..f132fb06788778 100644 --- a/var/spack/repos/builtin/packages/sherpa/package.py +++ b/var/spack/repos/builtin/packages/sherpa/package.py @@ -118,6 +118,10 @@ class Sherpa(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + _cxxstd_values = ("11", "14", "17") variant( "cxxstd", diff --git a/var/spack/repos/builtin/packages/shocklibs/package.py b/var/spack/repos/builtin/packages/shocklibs/package.py index 470c054a85bf25..79fc07ae21a910 100644 --- a/var/spack/repos/builtin/packages/shocklibs/package.py +++ b/var/spack/repos/builtin/packages/shocklibs/package.py @@ -17,5 +17,7 @@ class Shocklibs(Package): version("0.9.29", sha256="81c61f22b869b9923065ee57f9bcf62d95bf266887b09486f6c8e6aa07aa2c0a") version("0.9.24", sha256="465d06f33df2570eaf3ffd535a38fc464084ac95a2f145ead5c71f34beeb0a35") + depends_on("c", type="build") # generated + def install(self, spec, prefix): install_tree("libs", prefix.libs) diff --git a/var/spack/repos/builtin/packages/shoremap/package.py b/var/spack/repos/builtin/packages/shoremap/package.py index be2c189b4f2387..6eae1ff1fba985 100644 --- a/var/spack/repos/builtin/packages/shoremap/package.py +++ b/var/spack/repos/builtin/packages/shoremap/package.py @@ -23,6 +23,8 @@ class Shoremap(MakefilePackage): version("3.6", sha256="0da4179e92cbc68434a9d8eff7bd5fff55c89fd9a543a2db6bd0f69074f2ec70") + depends_on("cxx", type="build") # generated + depends_on("dislin") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/showfont/package.py b/var/spack/repos/builtin/packages/showfont/package.py index 794ed08ae67f82..77793004157c17 100644 --- a/var/spack/repos/builtin/packages/showfont/package.py +++ b/var/spack/repos/builtin/packages/showfont/package.py @@ -17,6 +17,8 @@ class Showfont(AutotoolsPackage, XorgPackage): version("1.0.6", sha256="006c5cb931e33c8c073215cf106a9c7fe93b81ccb4268274bb33dd5697e1f425") version("1.0.5", sha256="566e34a145ea73397724d46e84f6a9b3691cf55d0fcb96ec7f917b2b39265ebb") + depends_on("c", type="build") # generated + depends_on("libfs") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/shtools/package.py b/var/spack/repos/builtin/packages/shtools/package.py index 6bfdb4e0504741..2213eca0825790 100644 --- a/var/spack/repos/builtin/packages/shtools/package.py +++ b/var/spack/repos/builtin/packages/shtools/package.py @@ -20,6 +20,9 @@ class Shtools(MakefilePackage): version("4.8", sha256="c36fc86810017e544abbfb12f8ddf6f101a1ac8b89856a76d7d9801ffc8dac44") version("4.5", sha256="1975a2a2bcef8c527d321be08c13c2bc479e0d6b81c468a3203f95df59be4f89") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Note: This package also provides Python wrappers. We do not # install these properly yet, only the Fortran library is # installed. diff --git a/var/spack/repos/builtin/packages/shuffile/package.py b/var/spack/repos/builtin/packages/shuffile/package.py index b9b01111270396..116254b1faaab1 100644 --- a/var/spack/repos/builtin/packages/shuffile/package.py +++ b/var/spack/repos/builtin/packages/shuffile/package.py @@ -25,6 +25,8 @@ class Shuffile(CMakePackage): version("0.0.4", sha256="f0249ab31fc6123103ad67b1eaf799277c72adcf0dfcddf8c3a18bad2d45031d") version("0.0.3", sha256="a3f685526a1146a5ad8dbacdc5f9c2e1152d9761a1a179c1db34f55afc8372f6") + depends_on("c", type="build") # generated + depends_on("mpi") depends_on("kvtree+mpi") depends_on("zlib-api", type="link") diff --git a/var/spack/repos/builtin/packages/sicer2/package.py b/var/spack/repos/builtin/packages/sicer2/package.py index 6a6f79a957cd85..3c638453f0fd3a 100644 --- a/var/spack/repos/builtin/packages/sicer2/package.py +++ b/var/spack/repos/builtin/packages/sicer2/package.py @@ -16,6 +16,8 @@ class Sicer2(PythonPackage): version("1.0.3", sha256="003e0f46fb45717fa6b1c94b2c21416161f5b3a4896fbb335cf2024daf2560dd") + depends_on("c", type="build") # generated + depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) depends_on("py-scipy@1.0.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/sickle/package.py b/var/spack/repos/builtin/packages/sickle/package.py index ad0db8556895ff..f4706dc67b6cd5 100644 --- a/var/spack/repos/builtin/packages/sickle/package.py +++ b/var/spack/repos/builtin/packages/sickle/package.py @@ -19,6 +19,8 @@ class Sickle(MakefilePackage): version("1.33", sha256="eab271d25dc799e2ce67c25626128f8f8ed65e3cd68e799479bba20964624734") + depends_on("c", type="build") # generated + depends_on("zlib-api") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/sicm/package.py b/var/spack/repos/builtin/packages/sicm/package.py index 68ab4de4efebd0..32ecbb9458b02b 100644 --- a/var/spack/repos/builtin/packages/sicm/package.py +++ b/var/spack/repos/builtin/packages/sicm/package.py @@ -16,6 +16,10 @@ class Sicm(CMakePackage): version("master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("jemalloc jemalloc_prefix=je_") depends_on("numactl") diff --git a/var/spack/repos/builtin/packages/siesta/package.py b/var/spack/repos/builtin/packages/siesta/package.py index aa41d69581b9ed..62dbfe920e227a 100644 --- a/var/spack/repos/builtin/packages/siesta/package.py +++ b/var/spack/repos/builtin/packages/siesta/package.py @@ -30,6 +30,9 @@ class Siesta(MakefilePackage): url="http://departments.icmab.es/leem/siesta/CodeAccess/Code/siesta-3.2-pl-5.tgz", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + patch("configure.patch", when="@:4.0") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/sigcpp/package.py b/var/spack/repos/builtin/packages/sigcpp/package.py index d485cd9f831eb6..375f7c3c37ff63 100644 --- a/var/spack/repos/builtin/packages/sigcpp/package.py +++ b/var/spack/repos/builtin/packages/sigcpp/package.py @@ -21,6 +21,8 @@ class Sigcpp(CMakePackage): version("3.2.0", sha256="f9c36331b5d5ac7a1651477288f47eec51394c03ade8bb1a05d1c46eac5f77e7") version("3.0.7", sha256="063b6ab86e4d8703ea65d894d78e8482b1fc34b92be8849f82ce1c5b05cf2b8d") + depends_on("cxx", type="build") # generated + variant("doc", default=True, description="Keep man files") @run_after("install") diff --git a/var/spack/repos/builtin/packages/sigio/package.py b/var/spack/repos/builtin/packages/sigio/package.py index 1fc5edd76a421b..681b46b7626431 100644 --- a/var/spack/repos/builtin/packages/sigio/package.py +++ b/var/spack/repos/builtin/packages/sigio/package.py @@ -21,6 +21,8 @@ class Sigio(CMakePackage): version("develop", branch="develop") version("2.3.2", sha256="333f3cf3a97f97103cbafcafc2ad89b24faa55b1332a98adc1637855e8a5b613") + depends_on("fortran", type="build") # generated + def setup_run_environment(self, env): lib = find_libraries("libsigio", root=self.prefix, shared=False, recursive=True) # Only one library version, but still need to set _4 to make NCO happy diff --git a/var/spack/repos/builtin/packages/signify/package.py b/var/spack/repos/builtin/packages/signify/package.py index fbed1f5a9ae661..d63eed1060a372 100644 --- a/var/spack/repos/builtin/packages/signify/package.py +++ b/var/spack/repos/builtin/packages/signify/package.py @@ -18,6 +18,8 @@ class Signify(MakefilePackage): version("31", sha256="8111af7424f4cc69dab5cd43a14ccd607ca2d171ac77dd3ae288264a53254e5f") version("23", sha256="1c690bf0e4283e0764a4a9dd784cb3debf4bb456b975b275dd1aaac7d5afe030") + depends_on("c", type="build") # generated + depends_on("libbsd@0.8:") def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/silo/package.py b/var/spack/repos/builtin/packages/silo/package.py index 435255a4dea5cf..df4617244a9281 100644 --- a/var/spack/repos/builtin/packages/silo/package.py +++ b/var/spack/repos/builtin/packages/silo/package.py @@ -50,6 +50,10 @@ class Silo(AutotoolsPackage): version("4.9", sha256="90f3d069963d859c142809cfcb034bc83eb951f61ac02ccb967fc8e8d0409854") version("4.8", sha256="c430c1d33fcb9bc136a99ad473d535d6763bd1357b704a915ba7b1081d58fb21") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("fortran", default=True, description="Enable Fortran support") variant("shared", default=True, description="Build shared libraries") variant("silex", default=False, description="Builds Silex, a GUI for viewing Silo files") diff --git a/var/spack/repos/builtin/packages/simde/package.py b/var/spack/repos/builtin/packages/simde/package.py index becbbdea6e8b33..17cd3a66fab24b 100644 --- a/var/spack/repos/builtin/packages/simde/package.py +++ b/var/spack/repos/builtin/packages/simde/package.py @@ -24,5 +24,7 @@ class Simde(MesonPackage): version("0.7.2", sha256="366d5e9a342c30f1e40d1234656fb49af5ee35590aaf53b3c79b2afb906ed4c8") version("0.6.0", sha256="25a8b8c69c17ddc2f6209e86caa6b12d4ed91c0f841617efc56e5675eea84915") + depends_on("c", type="build") # generated + patch("sve-gcc.patch", when="@0.6.0 %gcc") conflicts("%gcc@8", when="target=a64fx", msg="Internal compiler error with gcc8 and a64fx") diff --git a/var/spack/repos/builtin/packages/simgrid/package.py b/var/spack/repos/builtin/packages/simgrid/package.py index d164029b39960f..a7d7b7de872e67 100644 --- a/var/spack/repos/builtin/packages/simgrid/package.py +++ b/var/spack/repos/builtin/packages/simgrid/package.py @@ -119,6 +119,10 @@ class Simgrid(CMakePackage): version("develop", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("doc", default=False, description="Build documentation") variant("smpi", default=True, description="SMPI provides MPI") variant("examples", default=False, description="Install examples") diff --git a/var/spack/repos/builtin/packages/simple-dftd3/package.py b/var/spack/repos/builtin/packages/simple-dftd3/package.py index dda976818a48d9..e79bf2f9a2bffd 100644 --- a/var/spack/repos/builtin/packages/simple-dftd3/package.py +++ b/var/spack/repos/builtin/packages/simple-dftd3/package.py @@ -24,6 +24,9 @@ class SimpleDftd3(MesonPackage): version("0.6.0", sha256="c057361565f570cb128489c70131487f71b6891a40e5292dfe37041596810dfe") version("0.5.1", sha256="0411fdaebe438f652a970cb232ae3199c4cc840366ed05fda4c38e634632040d") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=True, description="Use OpenMP parallelisation") variant("python", default=False, description="Build Python extension module") diff --git a/var/spack/repos/builtin/packages/simplemoc/package.py b/var/spack/repos/builtin/packages/simplemoc/package.py index edae6d58e48f5e..9699d1bd52f05c 100644 --- a/var/spack/repos/builtin/packages/simplemoc/package.py +++ b/var/spack/repos/builtin/packages/simplemoc/package.py @@ -20,6 +20,8 @@ class Simplemoc(MakefilePackage): version("4", sha256="a39906014fdb234c43bf26e1919bdc8a13097788812e0b353a492b8e568816a6") + depends_on("c", type="build") # generated + tags = ["proxy-app"] variant("mpi", default=True, description="Build with MPI support") diff --git a/var/spack/repos/builtin/packages/simsipm/package.py b/var/spack/repos/builtin/packages/simsipm/package.py index c60d3c1fe82199..8cdce1904a6ab4 100644 --- a/var/spack/repos/builtin/packages/simsipm/package.py +++ b/var/spack/repos/builtin/packages/simsipm/package.py @@ -24,6 +24,8 @@ class Simsipm(CMakePackage): version("2.0.2", sha256="ba60ed88b54b1b29d089f583dbce93b3272b0b13d47772941339f1503ee3fa48") version("1.2.4", sha256="1c633bebb19c490b5e6dfa5ada4a6bc7ec36348237c2626d57843a25af923211") + depends_on("cxx", type="build") # generated + variant("python", default=False, description="Build pybind11-based python bindings") variant("openmp", default=False, description="Use OpenMP", when="@:1") diff --git a/var/spack/repos/builtin/packages/simul/package.py b/var/spack/repos/builtin/packages/simul/package.py index a415be56c79745..b8eda857f53930 100644 --- a/var/spack/repos/builtin/packages/simul/package.py +++ b/var/spack/repos/builtin/packages/simul/package.py @@ -18,6 +18,8 @@ class Simul(Package): version("1.14", sha256="cbc70881b2a03e9a5076dbdf82b6fdfa48351ab381e379935b9c7db0ee315c92") version("1.13", sha256="42a67258181fbf723cfe13d4d2dabc5aed0d0daa606b9d817108c354e37d1c64") + depends_on("c", type="build") # generated + depends_on("mpi") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/simulationio/package.py b/var/spack/repos/builtin/packages/simulationio/package.py index 0ca06958f0136f..04b3efd8c1ecef 100644 --- a/var/spack/repos/builtin/packages/simulationio/package.py +++ b/var/spack/repos/builtin/packages/simulationio/package.py @@ -23,6 +23,8 @@ class Simulationio(CMakePackage): version("9.0.2", sha256="3dd3422e64f6a75215783f6157effd07430e1d0af5884e565f73388a815511f8") version("9.0.1", sha256="c2f6c99417165f6eb8cbb9c44822d119586675abb34eabd553eb80f44b53e0c8") + depends_on("cxx", type="build") # generated + variant("asdf", default=True, description="Enable ASDF bindings") variant("julia", default=False, description="Enable Julia bindings") variant("python", default=True, description="Enable Python bindings", when="@9:") diff --git a/var/spack/repos/builtin/packages/sina/package.py b/var/spack/repos/builtin/packages/sina/package.py index 1131cfba3a0398..fd46c1e1e0763d 100644 --- a/var/spack/repos/builtin/packages/sina/package.py +++ b/var/spack/repos/builtin/packages/sina/package.py @@ -20,6 +20,9 @@ class Sina(CachedCMakePackage): version("1.11.0", sha256="a080f6583101696a6354940f00646ef892e1b2f8fc3f1b1907ba1c3ade6d4b47") version("1.10.0", sha256="b34379ce8cc5eca5a0f16893053fac75be14c2109d1beed4c6d48e11f9b281c7") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("docs", default=False, description="Allow generating documentation") variant("adiak", default=False, description="Create interface for calling Sina through Adiak") variant("test", default=False, description="Build tests") diff --git a/var/spack/repos/builtin/packages/singularity-eos/package.py b/var/spack/repos/builtin/packages/singularity-eos/package.py index 45970a4f5c09dc..ac3fc6655ef3f0 100644 --- a/var/spack/repos/builtin/packages/singularity-eos/package.py +++ b/var/spack/repos/builtin/packages/singularity-eos/package.py @@ -34,6 +34,9 @@ class SingularityEos(CMakePackage, CudaPackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # build with kokkos, kokkos-kernels for offloading support variant("kokkos", default=False, description="Enable kokkos") variant( diff --git a/var/spack/repos/builtin/packages/singularity-legacy/package.py b/var/spack/repos/builtin/packages/singularity-legacy/package.py index 3cd875286a5456..9780439e871dfe 100644 --- a/var/spack/repos/builtin/packages/singularity-legacy/package.py +++ b/var/spack/repos/builtin/packages/singularity-legacy/package.py @@ -36,6 +36,8 @@ class SingularityLegacy(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("libarchive", when="@2.5.2:") # these are only needed if we're grabbing the unreleased tree depends_on("m4", type="build", when="@2.6-release") diff --git a/var/spack/repos/builtin/packages/singularity/package.py b/var/spack/repos/builtin/packages/singularity/package.py index 317c3ac8278b32..b5b6c4895059d5 100644 --- a/var/spack/repos/builtin/packages/singularity/package.py +++ b/var/spack/repos/builtin/packages/singularity/package.py @@ -132,4 +132,6 @@ class Singularity(SingularityBase): deprecated=True, ) + depends_on("c", type="build") # generated + patch("singularity_v3.4.0_remove_root_check.patch", level=0, when="@3.4.0:3.4.1") diff --git a/var/spack/repos/builtin/packages/singularityce/package.py b/var/spack/repos/builtin/packages/singularityce/package.py index a85c45ba403e51..4969b1e3c27fbb 100644 --- a/var/spack/repos/builtin/packages/singularityce/package.py +++ b/var/spack/repos/builtin/packages/singularityce/package.py @@ -218,3 +218,5 @@ class Singularityce(SingularityBase): version("3.9.9", sha256="1381433d64138c08e93ffacdfb4844e82c2288f1e39a9d2c631a1c4021381f2a") version("3.9.1", sha256="1ba3bb1719a420f48e9b0a6afdb5011f6c786d0f107ef272528c632fff9fd153") version("3.8.0", sha256="5fa2c0e7ef2b814d8aa170826b833f91e5031a85d85cd1292a234e6c55da1be1") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/sio/package.py b/var/spack/repos/builtin/packages/sio/package.py index 972f6821076d2f..c549311fa185f8 100644 --- a/var/spack/repos/builtin/packages/sio/package.py +++ b/var/spack/repos/builtin/packages/sio/package.py @@ -27,6 +27,9 @@ class Sio(CMakePackage): version("0.0.3", sha256="4c8b9c08480fb53cd10abb0e1260071a8c3f68d06a8acfd373f6560a916155cc") version("0.0.2", sha256="e4cd2aeaeaa23c1da2c20c5c08a9b72a31b16b7a8f5aa6d480dcd561ef667657") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "builtin_zlib", default=True, diff --git a/var/spack/repos/builtin/packages/sionlib/package.py b/var/spack/repos/builtin/packages/sionlib/package.py index c329066b0eaa7d..b69e418f4454d3 100644 --- a/var/spack/repos/builtin/packages/sionlib/package.py +++ b/var/spack/repos/builtin/packages/sionlib/package.py @@ -23,6 +23,10 @@ class Sionlib(AutotoolsPackage): extension="tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") patch("for_aarch64.patch", when="target=aarch64:") diff --git a/var/spack/repos/builtin/packages/sirius/package.py b/var/spack/repos/builtin/packages/sirius/package.py index 8259f358c37cdc..a438b264c400eb 100644 --- a/var/spack/repos/builtin/packages/sirius/package.py +++ b/var/spack/repos/builtin/packages/sirius/package.py @@ -82,6 +82,9 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("openmp", default=True, description="Build with OpenMP support") variant("fortran", default=False, description="Build Fortran bindings") @@ -155,7 +158,8 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage): depends_on("spla@1.1.0:") depends_on("spla+cuda", when="+cuda") depends_on("spla+rocm", when="+rocm") - depends_on("spla+openmp", when="+openmp") + # spla removed the openmp option in 1.6.0 + conflicts("^spla@:1.5~openmp", when="+openmp") depends_on("nlcglib", when="+nlcglib") depends_on("nlcglib+rocm", when="+nlcglib+rocm") diff --git a/var/spack/repos/builtin/packages/skopeo/package.py b/var/spack/repos/builtin/packages/skopeo/package.py index 218b98bfc3a989..3603636b625ad6 100644 --- a/var/spack/repos/builtin/packages/skopeo/package.py +++ b/var/spack/repos/builtin/packages/skopeo/package.py @@ -22,6 +22,8 @@ class Skopeo(MakefilePackage): version("0.1.37", sha256="49c0c1b2c2f32422d3230f827ae405fc554fb34af41a54e59b2121ac1500505d") version("0.1.36", sha256="42f9b0bf53ae44bc294be400e2c5259f977ffa4d5dbac3576b0b5e23d59791fd") + depends_on("c", type="build") # generated + depends_on("go") depends_on("go-md2man", type="build") depends_on("gpgme") diff --git a/var/spack/repos/builtin/packages/sl/package.py b/var/spack/repos/builtin/packages/sl/package.py index 8061eb601ea5b7..69c57f8390b6a4 100644 --- a/var/spack/repos/builtin/packages/sl/package.py +++ b/var/spack/repos/builtin/packages/sl/package.py @@ -16,6 +16,8 @@ class Sl(MakefilePackage): version("5.02", sha256="1e5996757f879c81f202a18ad8e982195cf51c41727d3fea4af01fdcbbb5563a") + depends_on("c", type="build") # generated + depends_on("ncurses") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/slang/package.py b/var/spack/repos/builtin/packages/slang/package.py index 3da247a8e2dca8..cd21296584bc09 100644 --- a/var/spack/repos/builtin/packages/slang/package.py +++ b/var/spack/repos/builtin/packages/slang/package.py @@ -18,4 +18,6 @@ class Slang(AutotoolsPackage): version("2.3.2", sha256="fc9e3b0fc4f67c3c1f6d43c90c16a5c42d117b8e28457c5b46831b8b5d3ae31a") version("2.3.1", sha256="a810d5da7b0c0c8c335393c6b4f12884be6fa7696d9ca9521ef21316a4e00f9d") + depends_on("c", type="build") # generated + parallel = False diff --git a/var/spack/repos/builtin/packages/slate/package.py b/var/spack/repos/builtin/packages/slate/package.py index c4b59bcac1615e..01393ef5cb4d1b 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( + "2024.05.31", sha256="9c5d4d6779d8935b6fe41031b46e11ab92102f13c5f684022287c8616661b775" + ) version( "2023.11.05", sha256="d3d925adec137ef4b7d876b2d7d0f8f2ff9d8485fa4125454a42f5da4ac026f3" ) @@ -51,6 +54,10 @@ class Slate(CMakePackage, CudaPackage, ROCmPackage): "2020.10.00", sha256="ff58840cdbae2991d100dfbaf3ef2f133fc2f43fc05f207dc5e38a41137882ab" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + patch("omp.patch", when="@2023.11.05") variant( @@ -82,6 +89,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@2024.05.31:", when="@2024.05.31:") 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:") @@ -161,25 +169,26 @@ def mpi_launcher(self): commands = ["srun", "mpirun", "mpiexec"] return which(*commands, path=searchpath) or which(*commands) - def test(self): + def test_example(self): + """build and run slate example""" + if self.spec.satisfies("@2020.10.00") or "+mpi" not in self.spec: - print("Skipping: stand-alone tests") - return + raise SkipTest("Package must be installed with +mpi and version @2021.05.01 or later") test_dir = join_path(self.test_suite.current_test_cache_dir, "examples", "build") with working_dir(test_dir, create=True): - cmake_bin = join_path(self.spec["cmake"].prefix.bin, "cmake") + cmake = self.spec["cmake"].command + # This package must directly depend on all packages listed here. # Otherwise, it will not work when some packages are external to spack. deps = "slate blaspp lapackpp mpi" if self.spec.satisfies("+rocm"): deps += " rocblas hip llvm-amdgpu comgr hsa-rocr-dev rocsolver " prefixes = ";".join([self.spec[x].prefix for x in deps.split()]) - self.run_test(cmake_bin, ["-DCMAKE_PREFIX_PATH=" + prefixes, ".."]) + + cmake("-DCMAKE_PREFIX_PATH=" + prefixes, "..") + make = which("make") make() - test_args = ["-n", "4", "./ex05_blas"] launcher = self.mpi_launcher() - if not launcher: - raise RuntimeError("Cannot run tests due to absence of MPI launcher") - self.run_test(launcher.command, test_args, purpose="SLATE smoke test") - make("clean") + assert launcher is not None, "Cannot run tests due to absence of MPI launcher" + launcher("-n", "4", "./ex05_blas") diff --git a/var/spack/repos/builtin/packages/sleef/package.py b/var/spack/repos/builtin/packages/sleef/package.py index f93773e9872e65..ff2feab90076da 100644 --- a/var/spack/repos/builtin/packages/sleef/package.py +++ b/var/spack/repos/builtin/packages/sleef/package.py @@ -10,7 +10,7 @@ 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.6.tar.gz" + url = "https://github.com/shibatch/sleef/archive/3.6.1.tar.gz" git = "https://github.com/shibatch/sleef.git" maintainers("blapie") @@ -18,7 +18,8 @@ class Sleef(CMakePackage): license("BSL-1.0") version("master", branch="master") - version("3.6", commit="a99491afee2bae0b11e9ffbf3211349f43a5fd10", preferred=True) + version("3.6.1", commit="6ee14bcae5fe92c2ff8b000d5a01102dab08d774", preferred=True) + version("3.6", commit="a99491afee2bae0b11e9ffbf3211349f43a5fd10") version("3.5.1_2020-12-22", commit="e0a003ee838b75d11763aa9c3ef17bf71a725bff") # py-torch@1.8: version("3.5.1", sha256="415ee9b1bcc5816989d3d4d92afd0cd3f9ee89cbd5a33eb008e69751e40438ab") version( @@ -45,6 +46,8 @@ class Sleef(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + generator("ninja") depends_on("cmake@3.18:", type="build") diff --git a/var/spack/repos/builtin/packages/slepc/package.py b/var/spack/repos/builtin/packages/slepc/package.py index 64033b66707d68..41c5c6d17bb907 100644 --- a/var/spack/repos/builtin/packages/slepc/package.py +++ b/var/spack/repos/builtin/packages/slepc/package.py @@ -58,6 +58,10 @@ class Slepc(Package, CudaPackage, ROCmPackage): version("3.11.1", sha256="4816070d4ecfeea6212c6944cee22dc7b4763df1eaf6ab7847cc5ac5132608fb") version("3.11.0", sha256="bf29043c311fe2c549a25e2b0835095723a3eebc1dff288a233b32913b5762a2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("arpack", default=True, description="Enables Arpack wrappers") variant("blopex", default=False, description="Enables BLOPEX wrappers") variant("hpddm", default=False, description="Enables HPDDM wrappers") diff --git a/var/spack/repos/builtin/packages/slirp4netns/package.py b/var/spack/repos/builtin/packages/slirp4netns/package.py index 83e97fcc5b3980..b799b7fa102cc4 100644 --- a/var/spack/repos/builtin/packages/slirp4netns/package.py +++ b/var/spack/repos/builtin/packages/slirp4netns/package.py @@ -18,6 +18,8 @@ class Slirp4netns(AutotoolsPackage): version("1.2.0", sha256="b584edde686d3cfbac210cbdb93c4b0ba5d8cc0a6a4d92b9dfc3c5baec99c727") version("1.1.12", sha256="279dfe58a61b9d769f620b6c0552edd93daba75d7761f7c3742ec4d26aaa2962") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/sloccount/package.py b/var/spack/repos/builtin/packages/sloccount/package.py index ace22a2d3d0726..fbd2cd8a00579a 100644 --- a/var/spack/repos/builtin/packages/sloccount/package.py +++ b/var/spack/repos/builtin/packages/sloccount/package.py @@ -19,6 +19,9 @@ class Sloccount(MakefilePackage): version("2.26", sha256="fa7fa2bbf2f627dd2d0fdb958bd8ec4527231254c120a8b4322405d8a4e3d12b") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # md5sum needed at run-time depends_on("coreutils", type=("build", "run")) depends_on("flex", type="build") diff --git a/var/spack/repos/builtin/packages/slurm-drmaa/package.py b/var/spack/repos/builtin/packages/slurm-drmaa/package.py index c240de83291d9c..26c0fecbaefbb5 100644 --- a/var/spack/repos/builtin/packages/slurm-drmaa/package.py +++ b/var/spack/repos/builtin/packages/slurm-drmaa/package.py @@ -26,6 +26,8 @@ class SlurmDrmaa(AutotoolsPackage): version("main", branch="main", submodules=True) version("1.1.2", sha256="5bfe25d501de83729df3c8c8f28535b9da3e99aea7738e259903abd6f1f5c836") + depends_on("c", type="build") # generated + # Remove this patch when it is merged into main: patch( "https://github.com/natefoo/slurm-drmaa/pull/62.patch?full_index=1", diff --git a/var/spack/repos/builtin/packages/slurm/package.py b/var/spack/repos/builtin/packages/slurm/package.py index 058bcf9adac0a9..d3f475af008d78 100644 --- a/var/spack/repos/builtin/packages/slurm/package.py +++ b/var/spack/repos/builtin/packages/slurm/package.py @@ -122,6 +122,8 @@ class Slurm(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + variant("gtk", default=False, description="Enable GTK+ support") variant("mariadb", default=False, description="Use MariaDB instead of MySQL") diff --git a/var/spack/repos/builtin/packages/smalt/package.py b/var/spack/repos/builtin/packages/smalt/package.py index 4890f6d867419a..2a2b9ee11dabef 100644 --- a/var/spack/repos/builtin/packages/smalt/package.py +++ b/var/spack/repos/builtin/packages/smalt/package.py @@ -15,3 +15,5 @@ class Smalt(AutotoolsPackage, SourceforgePackage): license("GPL-3.0-only") version("0.7.6", sha256="89ccdfe471edba3577b43de9ebfdaedb5cd6e26b02bf4000c554253433796b31") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/smartdenovo/package.py b/var/spack/repos/builtin/packages/smartdenovo/package.py index 2a933fdf0c36e3..47206e5170dffa 100644 --- a/var/spack/repos/builtin/packages/smartdenovo/package.py +++ b/var/spack/repos/builtin/packages/smartdenovo/package.py @@ -17,6 +17,8 @@ class Smartdenovo(MakefilePackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("sse2neon", when="target=aarch64:") patch( diff --git a/var/spack/repos/builtin/packages/smartmontools/package.py b/var/spack/repos/builtin/packages/smartmontools/package.py index a8fa3cde213d3c..7edcb317f381dd 100644 --- a/var/spack/repos/builtin/packages/smartmontools/package.py +++ b/var/spack/repos/builtin/packages/smartmontools/package.py @@ -16,6 +16,9 @@ class Smartmontools(AutotoolsPackage): version("6.6", sha256="51f43d0fb064fccaf823bbe68cf0d317d0895ff895aa353b3339a3b316a53054") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def setup_run_environment(self, env): env.prepend_path("PATH", self.prefix.sbin) env.prepend_path("LD_LIBRARY_PATH", self.prefix.usr.lib) diff --git a/var/spack/repos/builtin/packages/smproxy/package.py b/var/spack/repos/builtin/packages/smproxy/package.py index 1c9d463ea60abb..81d2530895549f 100644 --- a/var/spack/repos/builtin/packages/smproxy/package.py +++ b/var/spack/repos/builtin/packages/smproxy/package.py @@ -16,6 +16,8 @@ class Smproxy(AutotoolsPackage, XorgPackage): version("1.0.7", sha256="aabd5e644512442da2bca1ce65ccee403b760a08e354b3474753ed36033e3d21") version("1.0.6", sha256="a01374763426a5fdcbc7a65edc54e2070cdbca4df41dddd3051c7586e4c814c9") + depends_on("c", type="build") # generated + depends_on("libsm") depends_on("libice") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/snakemake/package.py b/var/spack/repos/builtin/packages/snakemake/package.py index f0f86277316cc7..754affb32d49b6 100644 --- a/var/spack/repos/builtin/packages/snakemake/package.py +++ b/var/spack/repos/builtin/packages/snakemake/package.py @@ -130,5 +130,6 @@ class Snakemake(PythonPackage): ) depends_on("py-requests", when="+http", type=("build", "run")) - def test(self): - Executable("snakemake")("--version") + def test_run(self): + """Test if snakemake runs with the version option""" + Executable(self.prefix.bin.snakemake)("--version") diff --git a/var/spack/repos/builtin/packages/snap-berkeley/package.py b/var/spack/repos/builtin/packages/snap-berkeley/package.py index 03fed202d81a16..4fa5f6a9e01e5a 100644 --- a/var/spack/repos/builtin/packages/snap-berkeley/package.py +++ b/var/spack/repos/builtin/packages/snap-berkeley/package.py @@ -29,6 +29,8 @@ class SnapBerkeley(MakefilePackage): preferred=True, ) + depends_on("cxx", type="build") # generated + depends_on("zlib-api") conflicts("%gcc@6:", when="@:1.0beta.18") diff --git a/var/spack/repos/builtin/packages/snap-korf/package.py b/var/spack/repos/builtin/packages/snap-korf/package.py index 1887b94da563f8..92089ca03eabf0 100644 --- a/var/spack/repos/builtin/packages/snap-korf/package.py +++ b/var/spack/repos/builtin/packages/snap-korf/package.py @@ -21,6 +21,8 @@ class SnapKorf(MakefilePackage): "2013-11-29", sha256="e2a236392d718376356fa743aa49a987aeacd660c6979cee67121e23aeffc66a" ) + depends_on("c", type="build") # generated + depends_on("perl", type=("build", "run")) def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/snap/package.py b/var/spack/repos/builtin/packages/snap/package.py index 1c26c4a03c8a72..7ecaf3af9fbb1c 100644 --- a/var/spack/repos/builtin/packages/snap/package.py +++ b/var/spack/repos/builtin/packages/snap/package.py @@ -23,6 +23,10 @@ class Snap(MakefilePackage): version("master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=False, description="Build with OpenMP support") variant("opt", default=True, description="Build with debugging") variant("mpi", default=True, description="Build with MPI support") diff --git a/var/spack/repos/builtin/packages/snappy/package.py b/var/spack/repos/builtin/packages/snappy/package.py index 796ea1af8493ed..cae3472c411f0e 100644 --- a/var/spack/repos/builtin/packages/snappy/package.py +++ b/var/spack/repos/builtin/packages/snappy/package.py @@ -19,6 +19,8 @@ class Snappy(CMakePackage): version("1.1.8", sha256="16b677f07832a612b0836178db7f374e414f94657c138e6993cbfc5dcc58651f") version("1.1.7", sha256="3dfa02e873ff51a11ee02b9ca391807f0c8ea0529a4924afa645fbf97163f9d4") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("pic", default=True, description="Build position independent code") diff --git a/var/spack/repos/builtin/packages/snbone/package.py b/var/spack/repos/builtin/packages/snbone/package.py index 3671cda0640999..f01017d4f5e622 100644 --- a/var/spack/repos/builtin/packages/snbone/package.py +++ b/var/spack/repos/builtin/packages/snbone/package.py @@ -16,6 +16,9 @@ class Snbone(MakefilePackage): version("develop") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + tags = ["proxy-app"] depends_on("metis") diff --git a/var/spack/repos/builtin/packages/sniffles/package.py b/var/spack/repos/builtin/packages/sniffles/package.py index 2c8e4d65c536a6..c9033e53f76202 100644 --- a/var/spack/repos/builtin/packages/sniffles/package.py +++ b/var/spack/repos/builtin/packages/sniffles/package.py @@ -17,6 +17,9 @@ class Sniffles(CMakePackage): version("1.0.7", sha256="03fa703873bdf9c32055c584448e1eece45f94b4bc68e60c9624cf3841e6d8a9") version("1.0.5", sha256="386c6536bdaa4637579e235bac48444c08297337c490652d1e165accd34b258f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api", type="link") depends_on("bamtools", type="link") diff --git a/var/spack/repos/builtin/packages/soapdenovo-trans/package.py b/var/spack/repos/builtin/packages/soapdenovo-trans/package.py index b57bc0e2cd8a66..33c7d269d3ce65 100644 --- a/var/spack/repos/builtin/packages/soapdenovo-trans/package.py +++ b/var/spack/repos/builtin/packages/soapdenovo-trans/package.py @@ -20,6 +20,8 @@ class SoapdenovoTrans(MakefilePackage): version("1.0.5", sha256="c1903c0d81142270db95916e2833400f72c4841b5c9194f182c19ebda418936f") version("1.0.4", sha256="378a54cde0ebe240fb515ba67197c053cf95393645c1ae1399b3a611be2a9795") + depends_on("c", type="build") # generated + depends_on("zlib-api", type="link") depends_on("samtools@0.1.8", type="link", when="target=aarch64:") diff --git a/var/spack/repos/builtin/packages/soapdenovo2/package.py b/var/spack/repos/builtin/packages/soapdenovo2/package.py index 201506ba90c071..364f0b261078c9 100644 --- a/var/spack/repos/builtin/packages/soapdenovo2/package.py +++ b/var/spack/repos/builtin/packages/soapdenovo2/package.py @@ -24,6 +24,9 @@ class Soapdenovo2(MakefilePackage): version("242", sha256="a0043ceb41bc17a1c3fd2b8abe4f9029a60ad3edceb2b15af3c2cfabd36aa11b") version("240", sha256="cc9e9f216072c0bbcace5efdead947e1c3f41f09baec5508c7b90f933a090909") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def flag_handler(self, name, flags): if name.lower() == "cflags" and self.spec.satisfies("%gcc@10:"): flags.append("-fcommon") diff --git a/var/spack/repos/builtin/packages/socat/package.py b/var/spack/repos/builtin/packages/socat/package.py index 6b19b479a613e8..1d6873fa9b6039 100644 --- a/var/spack/repos/builtin/packages/socat/package.py +++ b/var/spack/repos/builtin/packages/socat/package.py @@ -24,6 +24,8 @@ class Socat(AutotoolsPackage): version("1.7.4.4", sha256="fbd42bd2f0e54a3af6d01bdf15385384ab82dbc0e4f1a5e153b3e0be1b6380ac") + depends_on("c", type="build") # generated + depends_on("openssl") depends_on("readline") depends_on("ncurses") diff --git a/var/spack/repos/builtin/packages/soci/package.py b/var/spack/repos/builtin/packages/soci/package.py index ef165f41953dff..a6506b78d2453a 100644 --- a/var/spack/repos/builtin/packages/soci/package.py +++ b/var/spack/repos/builtin/packages/soci/package.py @@ -27,6 +27,8 @@ class Soci(CMakePackage): url="https://github.com/SOCI/soci/archive/3.2.2.tar.gz", ) + depends_on("cxx", type="build") # generated + variant( "cxxstd", default=11, diff --git a/var/spack/repos/builtin/packages/sofa-c/package.py b/var/spack/repos/builtin/packages/sofa-c/package.py index 758b5c3583e157..7269cf13b6a5ad 100644 --- a/var/spack/repos/builtin/packages/sofa-c/package.py +++ b/var/spack/repos/builtin/packages/sofa-c/package.py @@ -14,6 +14,8 @@ class SofaC(MakefilePackage): version("20180130", sha256="de09807198c977e1c58ea1d0c79c40bdafef84f2072eab586a7ac246334796db") + depends_on("c", type="build") # generated + @property def build_directory(self): return join_path(self.version, "c", "src") diff --git a/var/spack/repos/builtin/packages/sollya/package.py b/var/spack/repos/builtin/packages/sollya/package.py index f146d78900554a..5e1af4fdde51ca 100644 --- a/var/spack/repos/builtin/packages/sollya/package.py +++ b/var/spack/repos/builtin/packages/sollya/package.py @@ -19,6 +19,9 @@ class Sollya(AutotoolsPackage): version("7.0", sha256="15745871f7dd3e96e12915098dd6df2078b815853a38143b2bc6c01477044984") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("gmp") depends_on("mpfi") depends_on("mpfr") diff --git a/var/spack/repos/builtin/packages/somatic-sniper/package.py b/var/spack/repos/builtin/packages/somatic-sniper/package.py index da9be147fa448b..cda1c6eb788151 100644 --- a/var/spack/repos/builtin/packages/somatic-sniper/package.py +++ b/var/spack/repos/builtin/packages/somatic-sniper/package.py @@ -16,6 +16,9 @@ class SomaticSniper(CMakePackage): version("1.0.5.0", sha256="fc41e90237b059fcc591e404830c4b1be678642dd5afd76ce545b97b4b7b3de1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("ncurses") parallel = False diff --git a/var/spack/repos/builtin/packages/sombrero/package.py b/var/spack/repos/builtin/packages/sombrero/package.py index 4fcde4280dc817..5e900524f3cc16 100644 --- a/var/spack/repos/builtin/packages/sombrero/package.py +++ b/var/spack/repos/builtin/packages/sombrero/package.py @@ -36,6 +36,8 @@ class Sombrero(MakefilePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("mpi") maintainers("mmesiti", "edbennett") diff --git a/var/spack/repos/builtin/packages/sonlib/package.py b/var/spack/repos/builtin/packages/sonlib/package.py index 7c31f41883bde3..eaacf8e9429a95 100644 --- a/var/spack/repos/builtin/packages/sonlib/package.py +++ b/var/spack/repos/builtin/packages/sonlib/package.py @@ -26,6 +26,9 @@ class Sonlib(MakefilePackage): version("master", branch="master") version("2020-04-01", commit="7ebe2ede05a6ee366d93a7a993db69a99943a68f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def setup_build_environment(self, env): binpath = os.path.join(self.stage.source_path, "bin") libpath = os.path.join(self.stage.source_path, "lib") diff --git a/var/spack/repos/builtin/packages/sortmerna/package.py b/var/spack/repos/builtin/packages/sortmerna/package.py index 11213ac876187d..f174b2cb4783da 100644 --- a/var/spack/repos/builtin/packages/sortmerna/package.py +++ b/var/spack/repos/builtin/packages/sortmerna/package.py @@ -17,6 +17,9 @@ class Sortmerna(CMakePackage): version("2017-07-13", commit="8bde6fa113a5d99a23ae81b48eeea6760e966094") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("sse2neon", when="target=aarch64:") diff --git a/var/spack/repos/builtin/packages/sosflow/package.py b/var/spack/repos/builtin/packages/sosflow/package.py index 0551a3bd6aab96..709d1374a6abc5 100644 --- a/var/spack/repos/builtin/packages/sosflow/package.py +++ b/var/spack/repos/builtin/packages/sosflow/package.py @@ -16,6 +16,9 @@ class Sosflow(CMakePackage): version("spack", tag="spack-build-v0.9901", commit="57c77f18af88b01615d5900124f9cfd1770c8241") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libevpath") depends_on("sqlite@3:") depends_on("pkgconfig") diff --git a/var/spack/repos/builtin/packages/source-highlight/package.py b/var/spack/repos/builtin/packages/source-highlight/package.py index c4fdf0f0c294e9..8ac6ef672fc107 100644 --- a/var/spack/repos/builtin/packages/source-highlight/package.py +++ b/var/spack/repos/builtin/packages/source-highlight/package.py @@ -22,6 +22,9 @@ class SourceHighlight(AutotoolsPackage, GNUMirrorPackage): version("3.1.9", sha256="3a7fd28378cb5416f8de2c9e77196ec915145d44e30ff4e0ee8beb3fe6211c91") version("3.1.8", sha256="01336a7ea1d1ccc374201f7b81ffa94d0aecb33afc7d6903ebf9fbf33a55ada3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch( "https://git.savannah.gnu.org/cgit/src-highlite.git/" + "patch/lib?id=904949c9026cb772dc93fbe0947a252ef47127f4", diff --git a/var/spack/repos/builtin/packages/sowing/package.py b/var/spack/repos/builtin/packages/sowing/package.py index bafdfb148863f5..e0428b7e7323d5 100644 --- a/var/spack/repos/builtin/packages/sowing/package.py +++ b/var/spack/repos/builtin/packages/sowing/package.py @@ -23,5 +23,9 @@ class Sowing(AutotoolsPackage): version("1.1.25-p1", sha256="c3a5bb170fffeeb1405ec4c3a048744a528d2bef24de29b6ac5e970cfeaddab5") version("1.1.23-p1", sha256="3e36f59e06fccbbf7b78d185c5654edaf70cf76f1c584bcbf08c39d7f29125e8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + def build(self, spec, prefix): make("ALL", parallel=False) diff --git a/var/spack/repos/builtin/packages/sox/package.py b/var/spack/repos/builtin/packages/sox/package.py index f3f74d329970be..a4e6887449b474 100644 --- a/var/spack/repos/builtin/packages/sox/package.py +++ b/var/spack/repos/builtin/packages/sox/package.py @@ -14,6 +14,8 @@ class Sox(AutotoolsPackage): version("14.4.2", sha256="81a6956d4330e75b5827316e44ae381e6f1e8928003c6aa45896da9041ea149c") + depends_on("c", type="build") # generated + variant("mp3", default=False, description="Build with mp3 support") depends_on("bzip2") diff --git a/var/spack/repos/builtin/packages/sp/package.py b/var/spack/repos/builtin/packages/sp/package.py index ca081bf5542f1f..ad490236b8c2a2 100644 --- a/var/spack/repos/builtin/packages/sp/package.py +++ b/var/spack/repos/builtin/packages/sp/package.py @@ -22,6 +22,8 @@ class Sp(CMakePackage): version("2.4.0", sha256="dbb4280e622d2683b68a28f8e3837744adf9bbbb1e7940856e8f4597f481c708") version("2.3.3", sha256="c0d465209e599de3c0193e65671e290e9f422f659f1da928505489a3edeab99f") + depends_on("fortran", type="build") # generated + variant("shared", default=False, description="Build shared library", when="@2.4:") variant("openmp", default=False, description="Use OpenMP threading") variant("pic", default=False, description="Enable position-independent code (PIC)") diff --git a/var/spack/repos/builtin/packages/spack/package.py b/var/spack/repos/builtin/packages/spack/package.py index 78fd9ab0fde708..ca4d8b7e6ba152 100644 --- a/var/spack/repos/builtin/packages/spack/package.py +++ b/var/spack/repos/builtin/packages/spack/package.py @@ -42,6 +42,10 @@ class Spack(Package): version("0.16.1", sha256="8d893036b24d9ee0feee41ac33dd66e4fc68d392918f346f8a7a36a69c567567") version("0.16.0", sha256="064b2532c70916c7684d4c7c973416ac32dd2ea15f5c392654c75258bfc8c6c2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("development_tools", default=False, description="Build development dependencies") variant( "fetchers", diff --git a/var/spack/repos/builtin/packages/spades/package.py b/var/spack/repos/builtin/packages/spades/package.py index d5cbb114392c64..7ce989fb6b5374 100644 --- a/var/spack/repos/builtin/packages/spades/package.py +++ b/var/spack/repos/builtin/packages/spades/package.py @@ -12,7 +12,9 @@ class Spades(CMakePackage): homepage = "https://cab.spbu.ru/software/spades/" url = "https://github.com/ablab/spades/releases/download/v3.15.3/SPAdes-3.15.3.tar.gz" + maintainers("snehring") + version("4.0.0", sha256="07c02eb1d9d90f611ac73bdd30ddc242ed51b00c8a3757189e8a8137ad8cfb8b") version("3.15.5", sha256="155c3640d571f2e7b19a05031d1fd0d19bd82df785d38870fb93bd241b12bbfa") version("3.15.3", sha256="b2e5a9fd7a65aee5ab886222d6af4f7b7bc7f755da7a03941571fabd6b9e1499") version("3.15.0", sha256="6719489fa4bed6dd96d78bdd4001a30806d5469170289085836711d1ffb8b28b") @@ -22,13 +24,25 @@ class Spades(CMakePackage): version("3.11.1", sha256="3ab85d86bf7d595bd8adf11c971f5d258bbbd2574b7c1703b16d6639a725b474") version("3.10.1", sha256="d49dd9eb947767a14a9896072a1bce107fb8bf39ed64133a9e2f24fb1f240d96") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python", type=("build", "run")) depends_on("zlib-api") depends_on("bzip2") + variant("sra", default=True, description="Build with ncbi sra file support", when="@4:") + variant("tools", default=True, description="Build additional tools", when="@4:") + # SPAdes will explicitly not compile with gcc < 5.3.0 conflicts("%gcc@:5.2.9") conflicts("%gcc@7.1.0:", when="@:3.10.1") root_cmakelists_dir = "src" + + def cmake_args(self): + args = [self.define_from_variant("SPADES_USE_NCBISDK", "sra")] + if self.spec.satisfies("+tools"): + args.append("-DSPADES_ENABLE_PROJECTS:STRING=all") + return args diff --git a/var/spack/repos/builtin/packages/span-lite/package.py b/var/spack/repos/builtin/packages/span-lite/package.py index e074289f089777..f256873a2ba2f0 100644 --- a/var/spack/repos/builtin/packages/span-lite/package.py +++ b/var/spack/repos/builtin/packages/span-lite/package.py @@ -31,6 +31,8 @@ class SpanLite(CMakePackage): version("0.2.0", sha256="6e3305fe868442410a00962a39fc59ed494cecc4f99fe2aff187e33932f06e46") version("0.1.0", sha256="0a84b9369f86beba326e2160b683fd0922f416ce136437751a9ed70afcc67a1c") + depends_on("cxx", type="build") # generated + def cmake_args(self): return [ "-DSPAN_LITE_EXPORT_PACKAGE=ON", diff --git a/var/spack/repos/builtin/packages/sparrow/package.py b/var/spack/repos/builtin/packages/sparrow/package.py index 249d8e12fb78d1..0abf013b726b80 100644 --- a/var/spack/repos/builtin/packages/sparrow/package.py +++ b/var/spack/repos/builtin/packages/sparrow/package.py @@ -35,6 +35,8 @@ class Sparrow(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + resource( name="dev", url="https://github.com/qcscine/development-utils/archive/refs/tags/4.0.0.tar.gz", diff --git a/var/spack/repos/builtin/packages/sparse/package.py b/var/spack/repos/builtin/packages/sparse/package.py index c1d7313076b65c..5221b3a4463aa5 100644 --- a/var/spack/repos/builtin/packages/sparse/package.py +++ b/var/spack/repos/builtin/packages/sparse/package.py @@ -19,6 +19,8 @@ class Sparse(MakefilePackage): version("1.4b", sha256="63e6646244fd8f4d89f7f70fbf4cfd46b7688d21b22840a0ce57d294a7496d28") + depends_on("c", type="build") # generated + variant("pic", default=True, description="Build with position independent code") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/sparsehash/package.py b/var/spack/repos/builtin/packages/sparsehash/package.py index 77559709326968..1be4970216f084 100644 --- a/var/spack/repos/builtin/packages/sparsehash/package.py +++ b/var/spack/repos/builtin/packages/sparsehash/package.py @@ -16,3 +16,6 @@ class Sparsehash(AutotoolsPackage): version("2.0.4", sha256="8cd1a95827dfd8270927894eb77f62b4087735cbede953884647f16c521c7e58") version("2.0.3", sha256="05e986a5c7327796dad742182b2d10805a8d4f511ad090da0490f146c1ff7a8c") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/sparskit/package.py b/var/spack/repos/builtin/packages/sparskit/package.py index 67d3741712e88f..5792c22417738c 100644 --- a/var/spack/repos/builtin/packages/sparskit/package.py +++ b/var/spack/repos/builtin/packages/sparskit/package.py @@ -24,6 +24,9 @@ class Sparskit(MakefilePackage): url="http://www-users.cs.umn.edu/~saad/software/SPARSKIT/SPARSKIT2.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + # The library uses blas routine which needs to be known when the lib is used. # A dependent package should add self.spec['blas'].libs.ld_flags # at the end of its link line. diff --git a/var/spack/repos/builtin/packages/spath/package.py b/var/spack/repos/builtin/packages/spath/package.py index fd67981fa041de..037dfff2bc6f1c 100644 --- a/var/spack/repos/builtin/packages/spath/package.py +++ b/var/spack/repos/builtin/packages/spath/package.py @@ -25,6 +25,8 @@ class Spath(CMakePackage): version("0.0.2", sha256="7a65be59c3d27e92ed4718fba1a97a4a1c68e0a552b54de13d58afe3d8199cf7") version("0.0.1", sha256="f41c0ac74e6fb8acfd0c072d756db0fc9c00441f22be492cc4ad25f7fb596a24") + depends_on("c", type="build") # generated + depends_on("zlib-api", type="link", when="@:0.0.2") variant("mpi", default=True, description="Build with MPI support") diff --git a/var/spack/repos/builtin/packages/spatialdata/package.py b/var/spack/repos/builtin/packages/spatialdata/package.py index 3bfd1b4e61db7e..38dee9dae61977 100644 --- a/var/spack/repos/builtin/packages/spatialdata/package.py +++ b/var/spack/repos/builtin/packages/spatialdata/package.py @@ -31,6 +31,8 @@ class Spatialdata(AutotoolsPackage): version("develop", branch="develop", submodules="true") version("3.1.0", sha256="dd6caccbf41a51928183d6a1caf2380aa0ed0f2c8c71ecc9b2cd9e3f23aa418c") + depends_on("cxx", type="build") # generated + # M4 macros shared for the CIG codes resource( name="autoconf_cig", diff --git a/var/spack/repos/builtin/packages/spdk/package.py b/var/spack/repos/builtin/packages/spdk/package.py index d4766691db68cd..6c6f71af5f3f98 100644 --- a/var/spack/repos/builtin/packages/spdk/package.py +++ b/var/spack/repos/builtin/packages/spdk/package.py @@ -27,6 +27,9 @@ class Spdk(AutotoolsPackage): "23.01", tag="v23.01", commit="10edc60aa8b5f1b04d6496fea976dec75e276a95", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("crypto", default=False, description="Build vbdev crypto module") variant("dpdk", default=False, description="Build with dpdk") variant("fio", default=False, description="Build fio plugin") diff --git a/var/spack/repos/builtin/packages/spdlog/package.py b/var/spack/repos/builtin/packages/spdlog/package.py index 4f5b3ec5bc08b0..7b7a312e49a7a3 100644 --- a/var/spack/repos/builtin/packages/spdlog/package.py +++ b/var/spack/repos/builtin/packages/spdlog/package.py @@ -50,6 +50,8 @@ class Spdlog(CMakePackage): version("0.10.0", sha256="fbbc53c1cc09b93b4c3d76b683bbe9315e2efe3727701227374dce6aa4264075") version("0.9.0", sha256="bbbe5a855c8b309621352921d650449eb2f741d35d55ec50fb4d8122ddfb8f01") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries (v1.4.0+)") variant("pic", default=True, description="Build pic-enabled static libraries") diff --git a/var/spack/repos/builtin/packages/specfem3d-globe/package.py b/var/spack/repos/builtin/packages/specfem3d-globe/package.py index 937975855c08c6..2c1bd39c21a744 100644 --- a/var/spack/repos/builtin/packages/specfem3d-globe/package.py +++ b/var/spack/repos/builtin/packages/specfem3d-globe/package.py @@ -19,6 +19,10 @@ class Specfem3dGlobe(AutotoolsPackage, CudaPackage): version("8.0.0", sha256="3e234e66fce4cc5484c651584187b255f951ee6cd1ec057e6aa6d42aced9052d") version("7.0.2", sha256="78b4cfbe4e5121927ab82a8c2e821b65cdfff3e94d017303bf21af7805186d9b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("opencl", default=False, description="Build with OpenCL code generator") variant("openmp", default=True, description="Build with OpenMP code generator") variant("double-precision", default=False, description="Treat REAL as double precision") diff --git a/var/spack/repos/builtin/packages/spectra/package.py b/var/spack/repos/builtin/packages/spectra/package.py index 5288beecfe5b65..66f2dc2e0e0f4b 100644 --- a/var/spack/repos/builtin/packages/spectra/package.py +++ b/var/spack/repos/builtin/packages/spectra/package.py @@ -28,5 +28,8 @@ class Spectra(CMakePackage): version("1.0.0", sha256="45228b7d77b916b5384245eb13aa24bc994f3b0375013a8ba6b85adfd2dafd67") version("0.9.0", sha256="2966757d432e8fba5958c2a05ad5674ce34eaae3718dd546c1ba8760b80b7a3d") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@3.5:") depends_on("eigen") diff --git a/var/spack/repos/builtin/packages/spectre/package.py b/var/spack/repos/builtin/packages/spectre/package.py index cac55aee45eb74..166292d8243483 100644 --- a/var/spack/repos/builtin/packages/spectre/package.py +++ b/var/spack/repos/builtin/packages/spectre/package.py @@ -31,6 +31,12 @@ class Spectre(CMakePackage): license("MIT") version("develop", branch="develop") + version( + "2024.06.18", sha256="75ca22f3f9d59887b4ae40397fffc0ada9f218cbb23013e86e14deabb30490f7" + ) + version( + "2024.06.05", sha256="7f1dcb5dc067a3977d1720ab655507f52821d898ea1e2b2a82c52dd9e246804f" + ) version( "2024.05.11", sha256="be3a91011dd52adfe6f1263a1ee4bf8c51ac95c7d537ad934453997637e5d31a" ) @@ -122,6 +128,10 @@ class Spectre(CMakePackage): "2021.12.15", sha256="4bfe9e27412e263ffdc6fcfcb84011f16d34a9fdd633ad7fc84a34c898f67e5c" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Configuration variants variant( "executables", diff --git a/var/spack/repos/builtin/packages/speex/package.py b/var/spack/repos/builtin/packages/speex/package.py index 63867eca451957..e031643acbb7bb 100644 --- a/var/spack/repos/builtin/packages/speex/package.py +++ b/var/spack/repos/builtin/packages/speex/package.py @@ -17,3 +17,5 @@ class Speex(AutotoolsPackage): version("1.2.1", sha256="4b44d4f2b38a370a2d98a78329fefc56a0cf93d1c1be70029217baae6628feea") version("1.2.0", sha256="eaae8af0ac742dc7d542c9439ac72f1f385ce838392dc849cae4536af9210094") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/speexdsp/package.py b/var/spack/repos/builtin/packages/speexdsp/package.py index 8e5ebd571cc0e6..8d83eb28a5c02a 100644 --- a/var/spack/repos/builtin/packages/speexdsp/package.py +++ b/var/spack/repos/builtin/packages/speexdsp/package.py @@ -17,6 +17,8 @@ class Speexdsp(AutotoolsPackage): version("1.2.1", sha256="d17ca363654556a4ff1d02cc13d9eb1fc5a8642c90b40bd54ce266c3807b91a7") version("1.2.0", sha256="d7032f607e8913c019b190c2bccc36ea73fc36718ee38b5cdfc4e4c0a04ce9a4") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/sperr/package.py b/var/spack/repos/builtin/packages/sperr/package.py index 7b8cc77f4cab18..b8f0543006a920 100644 --- a/var/spack/repos/builtin/packages/sperr/package.py +++ b/var/spack/repos/builtin/packages/sperr/package.py @@ -26,6 +26,9 @@ class Sperr(CMakePackage): version("0.6.2", sha256="d986997e2d79a1f27146ad02c623359976a1e72a1ab0d957e128d430cda3782d") version("0.5", sha256="20ad48c0e7599d3e5866e024d0c49648eb817f72ad5459f5468122cf14a97171") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Variants variant("shared", description="build shared libaries", default=True) variant("openmp", description="use OpenMP in 3D inputs", default=True) diff --git a/var/spack/repos/builtin/packages/spglib/package.py b/var/spack/repos/builtin/packages/spglib/package.py index 1ff664deaac55e..7420d3ad75855e 100644 --- a/var/spack/repos/builtin/packages/spglib/package.py +++ b/var/spack/repos/builtin/packages/spglib/package.py @@ -53,6 +53,10 @@ class Spglib(CMakePackage): version("1.10.1", sha256="8ed979cda82f6d440567197ec191bffcb82ee83c5bfe8a484c5a008dd00273f0") version("1.10.0", sha256="117fff308731784bea2ddaf3d076f0ecbf3981b31ea1c1bfd5ce4f057a5325b1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=True, description="Build with OpenMP support", when="@1.16.2:") variant("fortran", default=True, description="Build Fortran interface", when="@1.16.4:") variant("tests", default=False, description="Build with tests", when="@2.1.0:") diff --git a/var/spack/repos/builtin/packages/sph2pipe/package.py b/var/spack/repos/builtin/packages/sph2pipe/package.py index 562ac4b553e356..6e61c2cc9d177d 100644 --- a/var/spack/repos/builtin/packages/sph2pipe/package.py +++ b/var/spack/repos/builtin/packages/sph2pipe/package.py @@ -15,4 +15,6 @@ class Sph2pipe(CMakePackage): version("2.5", sha256="5be236dc94ed0a301c5c8a369f849f76799ec7e70f25dfc0521068d9d1d4d3e3") + depends_on("c", type="build") # generated + patch("cmake.patch") diff --git a/var/spack/repos/builtin/packages/spindle/package.py b/var/spack/repos/builtin/packages/spindle/package.py index b1b2e1e526504b..d20ed13e560cdf 100644 --- a/var/spack/repos/builtin/packages/spindle/package.py +++ b/var/spack/repos/builtin/packages/spindle/package.py @@ -19,6 +19,9 @@ class Spindle(AutotoolsPackage): version("0.12", sha256="3fd9d0afefa9072fffdf2cfd80a0b5e557e201a0b0eb02e7379eae65e64eb1f2") version("0.8.1", sha256="c1e099e913faa8199be5811dc7b8be0266f0d1fd65f0a3a25bb46fbc70954ed6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("launchmon") # All versions provide the runtime option --no-mpi to not use MPI, but mpi # is needed for the build: diff --git a/var/spack/repos/builtin/packages/spiner/package.py b/var/spack/repos/builtin/packages/spiner/package.py index 485387254b744f..24e549ce77f4e9 100644 --- a/var/spack/repos/builtin/packages/spiner/package.py +++ b/var/spack/repos/builtin/packages/spiner/package.py @@ -38,6 +38,8 @@ class Spiner(CMakePackage, CudaPackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + # When overriding/overloading varaints, the last variant is always used, except for # "when" clauses. Therefore, call the whens FIRST then the non-whens. # https://spack.readthedocs.io/en/latest/packaging_guide.html#overriding-variants diff --git a/var/spack/repos/builtin/packages/spiral-package-fftx/package.py b/var/spack/repos/builtin/packages/spiral-package-fftx/package.py index 979b705a4d4a38..5ac50c06e60084 100644 --- a/var/spack/repos/builtin/packages/spiral-package-fftx/package.py +++ b/var/spack/repos/builtin/packages/spiral-package-fftx/package.py @@ -30,6 +30,9 @@ class SpiralPackageFftx(Package): version("1.2.1", sha256="3f15aa5949c1b09eb59257cf1c5f6fcddc6e46f77ae9d5fce8acd8b9f99ce941") version("1.1.1", sha256="99ec7fab9274d378524b4933917fae23f9590255518c7a124cb46bd5e8d9af37") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # FFTX package is an extension for Spiral (spec: spiral-software). def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/spiral-software/package.py b/var/spack/repos/builtin/packages/spiral-software/package.py index cc380f8078133c..9d7892fd22a0d2 100644 --- a/var/spack/repos/builtin/packages/spiral-software/package.py +++ b/var/spack/repos/builtin/packages/spiral-software/package.py @@ -26,6 +26,8 @@ class SpiralSoftware(CMakePackage): version("8.4.0", sha256="d0c58de65c678130eeee6b8b8b48061bbe463468990f66d9b452225ce46dee19") version("8.3.0", sha256="41cf0e7f14f9497e98353baa1ef4ca6204ce5ca525db8093f5bb44e89992abdf") + depends_on("c", type="build") # generated + extendable = True # No dependencies. Spiral pacakges are listed here as variants. If a diff --git a/var/spack/repos/builtin/packages/spla/package.py b/var/spack/repos/builtin/packages/spla/package.py index 417b96af573f28..bd81ac3b0add5e 100644 --- a/var/spack/repos/builtin/packages/spla/package.py +++ b/var/spack/repos/builtin/packages/spla/package.py @@ -19,6 +19,8 @@ class Spla(CMakePackage): license("BSD-3-Clause") + version("1.6.1", sha256="62b51e6ce05c41cfc1c6f6600410f9549a209c50f0331e1db41047f94493e02f") + version("1.6.0", sha256="917c24e2a768499967eba47b2cc2475df9fabee327b7821d24970b6a08055c09") version("1.5.5", sha256="bc0c366e228344b1b2df55b9ce750d73c1165380e512da5a04d471db126d66ce") version("1.5.4", sha256="de30e427d24c741e2e4fcae3d7668162056ac2574afed6522c0bb49d6f1d0f79") version("1.5.3", sha256="527c06e316ce46ec87309a16bfa4138b1abad23fd276fe789c78a2de84f05637") @@ -35,7 +37,11 @@ class Spla(CMakePackage): version("develop", branch="develop") version("master", branch="master") - variant("openmp", default=True, description="Build with OpenMP support") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + + variant("openmp", default=True, when="@:1.5.5", description="Build with OpenMP support") variant("static", default=False, description="Build as static library") variant("cuda", default=False, description="CUDA backend") variant("rocm", default=False, description="ROCm backend") @@ -51,10 +57,15 @@ class Spla(CMakePackage): depends_on("mpi") depends_on("blas") depends_on("cmake@3.10:", type="build") + depends_on("cmake@3.18:", type="build", when="@1.6.0:") depends_on("cuda", when="+cuda") - depends_on("rocblas", when="+rocm") + depends_on("cuda@11:", when="@1.6.0: +cuda") + depends_on("hip", when="+rocm") + depends_on("rocblas", when="+rocm") + conflicts("^rocblas@6.0.0:", when="@:1.5.5 +rocm") + conflicts("^hip@6.0.0:", when="@:1.6.0 +rocm") # v1.6.1 includes fix for hip 6.0 # Propagate openmp to blas depends_on("openblas threads=openmp", when="+openmp ^[virtuals=blas] openblas") @@ -67,30 +78,36 @@ class Spla(CMakePackage): patch("0001-amd_blis.patch", when="@1.3.0:1.4.0 ^amdblis") def cmake_args(self): + spec = self.spec + args = [ - self.define_from_variant("SPLA_OMP", "openmp"), self.define_from_variant("SPLA_FORTRAN", "fortran"), self.define_from_variant("SPLA_STATIC", "static"), ] - if "+cuda" in self.spec: + if "+cuda" in spec: args += ["-DSPLA_GPU_BACKEND=CUDA"] - elif "+rocm" in self.spec: + elif "+rocm" in spec: args += ["-DSPLA_GPU_BACKEND=ROCM"] else: args += ["-DSPLA_GPU_BACKEND=OFF"] - if self.spec["blas"].name == "openblas": - args += ["-DSPLA_HOST_BLAS=OPENBLAS"] - elif self.spec["blas"].name in ["amdblis", "blis"]: - args += ["-DSPLA_HOST_BLAS=BLIS"] - elif self.spec["blas"].name == "atlas": - args += ["-DSPLA_HOST_BLAS=ATLAS"] - elif self.spec["blas"].name == "intel-mkl": - args += ["-DSPLA_HOST_BLAS=MKL"] - elif self.spec["blas"].name == "netlib-lapack": - args += ["-DSPLA_HOST_BLAS=GENERIC"] - elif self.spec["blas"].name == "cray-libsci": - args += ["-DSPLA_HOST_BLAS=CRAY_LIBSCI"] + # v1.6.0: No longer has custom BLAS detection and only uses the FindBLAS CMake module. + if spec.satisfies("@:1.5.5"): + args += [self.define_from_variant("SPLA_OMP", "openmp")] + if spec["blas"].name == "openblas": + args += ["-DSPLA_HOST_BLAS=OPENBLAS"] + elif spec["blas"].name in ["amdblis", "blis"]: + args += ["-DSPLA_HOST_BLAS=BLIS"] + elif spec["blas"].name == "atlas": + args += ["-DSPLA_HOST_BLAS=ATLAS"] + elif spec["blas"].name == "intel-mkl": + args += ["-DSPLA_HOST_BLAS=MKL"] + elif spec["blas"].name == "netlib-lapack": + args += ["-DSPLA_HOST_BLAS=GENERIC"] + elif spec["blas"].name == "cray-libsci": + args += ["-DSPLA_HOST_BLAS=CRAY_LIBSCI"] + else: + args += [self.define("BLAS_LIBRARIES", spec["blas"].libs.joined(";"))] return args diff --git a/var/spack/repos/builtin/packages/spot/package.py b/var/spack/repos/builtin/packages/spot/package.py index b55e959311ffd5..776e744bdf8b38 100644 --- a/var/spack/repos/builtin/packages/spot/package.py +++ b/var/spack/repos/builtin/packages/spot/package.py @@ -24,6 +24,9 @@ class Spot(AutotoolsPackage): version("1.99.3", sha256="86964af559994af4451a8dca663a9e1db6e869ed60e747ab60ce72dddc31b61b") version("1.2.6", sha256="360678c75f6741f697e8e56cdbc9937f104eb723a839c3629f0dc5dc6de11bfc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("python", default=True, description="Enable python API") depends_on("python@3.3:", when="@1.99.5: +python") diff --git a/var/spack/repos/builtin/packages/sprng/package.py b/var/spack/repos/builtin/packages/sprng/package.py index 4c014a3b8ad10e..44d871a0094d59 100644 --- a/var/spack/repos/builtin/packages/sprng/package.py +++ b/var/spack/repos/builtin/packages/sprng/package.py @@ -22,6 +22,10 @@ class Sprng(AutotoolsPackage): version("5.0", sha256="9172a495472cc24893e7489ce9b5654300dc60cba4430e436ce50d28eb749a66") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") variant("fortran", default=False, description="Enable Fortran support") diff --git a/var/spack/repos/builtin/packages/sqlcipher/package.py b/var/spack/repos/builtin/packages/sqlcipher/package.py index 52887ccff05e37..64de6d7367e477 100644 --- a/var/spack/repos/builtin/packages/sqlcipher/package.py +++ b/var/spack/repos/builtin/packages/sqlcipher/package.py @@ -27,6 +27,9 @@ class Sqlcipher(AutotoolsPackage): version("4.0.0", sha256="c8f5fc6d800aae6107bf23900144804db5510c2676c93fbb269e4a0700837d68") version("3.4.2", sha256="69897a5167f34e8a84c7069f1b283aba88cdfa8ec183165c4a5da2c816cfaadb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("openssl") depends_on("tcl", type=["build"]) depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/sqlite-jdbc/package.py b/var/spack/repos/builtin/packages/sqlite-jdbc/package.py index b39bdea8947d4e..a403288030fd75 100644 --- a/var/spack/repos/builtin/packages/sqlite-jdbc/package.py +++ b/var/spack/repos/builtin/packages/sqlite-jdbc/package.py @@ -18,3 +18,5 @@ class SqliteJdbc(MavenPackage): version("3.32.3.2", sha256="9168ad02cb8b01449271eabd8a2a81461954c2c3fa854d3828a37dc07a1fefec") version("3.32.3.1", sha256="455e2a009101ede40f9510cf2c34e76f30d411f290957bfd9296da12d6e06591") version("3.32.3", sha256="19725caa4742960d385472a6094b8164bb8f29e816f04b830fa65c56517b4564") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/sqlite/package.py b/var/spack/repos/builtin/packages/sqlite/package.py index 460e31a4ffa1b8..4b3b3734898ca7 100644 --- a/var/spack/repos/builtin/packages/sqlite/package.py +++ b/var/spack/repos/builtin/packages/sqlite/package.py @@ -23,6 +23,10 @@ class Sqlite(AutotoolsPackage, NMakePackage): license("blessing") + version("3.46.0", sha256="6f8e6a7b335273748816f9b3b62bbdc372a889de8782d7f048c653a447417a7d") + version("3.45.3", sha256="b2809ca53124c19c60f42bf627736eae011afdcc205bb48270a5ee9a38191531") + version("3.45.1", sha256="cd9c27841b7a5932c9897651e20b86c701dd740556989b01ca596fcfa3d49a0a") + version("3.44.2", sha256="1c6719a148bc41cf0f2bbbe3926d7ce3f5ca09d878f1246fcc20767b175bb407") version("3.43.2", sha256="6d422b6f62c4de2ca80d61860e3a3fb693554d2f75bb1aaca743ccc4d6f609f0") version("3.42.0", sha256="7abcfd161c6e2742ca5c6c0895d1f853c940f203304a0b49da4e1eca5d088ca6") version("3.40.1", sha256="2c5dea207fa508d765af1ef620b637dcb06572afa6f01f0815bd5bbf864b33d9") @@ -50,6 +54,8 @@ class Sqlite(AutotoolsPackage, NMakePackage): version("3.27.1", sha256="54a92b8ff73ff6181f89b9b0c08949119b99e8cccef93dbef90e852a8b10f4f8") version("3.27.0", sha256="dbfb0fb4fc32569fa427d3658e888f5e3b84a0952f706ccab1fd7c62a54f10f0") version("3.26.0", sha256="5daa6a3fb7d1e8c767cd59c4ded8da6e4b00c61d3b466d0685e35c4dd6d7bf5d") + + depends_on("c", type="build") # generated # All versions prior to 3.26.0 are vulnerable to Magellan when FTS # is enabled, see https://blade.tencent.com/magellan/index_en.html @@ -178,11 +184,13 @@ def query_fts(version): return all_variants def url_for_version(self, version): - full_version = list(version.version) + [0 * (4 - len(version.version))] - version_string = str(full_version[0]) + "".join(["%02d" % v for v in full_version[1:]]) + if len(version) < 3: + raise ValueError(f"Unsupported sqlite version: {version}") # See https://www.sqlite.org/chronology.html for version -> year # correspondence. - if version >= Version("3.40.1"): + if version >= Version("3.45.0"): + year = "2024" + elif version >= Version("3.41.0"): year = "2023" elif version >= Version("3.37.2"): year = "2022" @@ -205,8 +213,8 @@ def url_for_version(self, version): elif version >= Version("3.7.16"): year = "2013" else: - raise ValueError("Unsupported version {0}".format(version)) - return "https://www.sqlite.org/{0}/sqlite-autoconf-{1}.tar.gz".format(year, version_string) + raise ValueError(f"Unsupported sqlite version {version}") + return f"https://www.sqlite.org/{year}/sqlite-autoconf-{version[0]}{version[1]:02}{version[2]:02}00.tar.gz" @property def libs(self): @@ -271,7 +279,7 @@ def build_libsqlitefunctions(self): libraryname = "libsqlitefunctions." + dso_suffix cc = Executable(spack_cc) cc( - self.compiler.cc_pic_flag, + self.pkg.compiler.cc_pic_flag, "-lm", "-shared", "extension-functions.c", diff --git a/var/spack/repos/builtin/packages/sqlitebrowser/package.py b/var/spack/repos/builtin/packages/sqlitebrowser/package.py index 1b23b7f7d436b2..bd5c82f0e5b365 100644 --- a/var/spack/repos/builtin/packages/sqlitebrowser/package.py +++ b/var/spack/repos/builtin/packages/sqlitebrowser/package.py @@ -19,6 +19,9 @@ class Sqlitebrowser(CMakePackage): version("3.12.2", sha256="645f98d38e5d128a449e93cebf03c8070f9eacd2d16b10e433a781d54a9d478a") version("3.10.1", sha256="36eb53bc75192c687dce298c79f1532c410ce4ecbeeacfb07b9d02a307f16bef") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + msg = "sqlitebrowser requires C++11 support" conflicts("%gcc@:4.8.0", msg=msg) conflicts("%apple-clang@:3.9", msg=msg) diff --git a/var/spack/repos/builtin/packages/squashfs-mount/package.py b/var/spack/repos/builtin/packages/squashfs-mount/package.py index b90f3f5a6d1522..e1f9deb2957d7c 100644 --- a/var/spack/repos/builtin/packages/squashfs-mount/package.py +++ b/var/spack/repos/builtin/packages/squashfs-mount/package.py @@ -20,6 +20,8 @@ class SquashfsMount(MakefilePackage): version("0.4.0", sha256="0b17c797b4befdab172fc58a74f3b647bbdf127ff5bdaf7c21d907b7a9714339") version("0.1.0", sha256="37841ede7a7486d437fd06ae13e432560f81806f69addc72cfc8e564c8727bc6") + depends_on("c", type="build") # generated + variant("suid", default=False, description="Make squashfs-mount a suid executable") depends_on("util-linux", type="link") diff --git a/var/spack/repos/builtin/packages/squashfs/package.py b/var/spack/repos/builtin/packages/squashfs/package.py index 73d37fab5b9a93..e53f1b253b7745 100644 --- a/var/spack/repos/builtin/packages/squashfs/package.py +++ b/var/spack/repos/builtin/packages/squashfs/package.py @@ -52,6 +52,8 @@ class Squashfs(MakefilePackage): deprecated=True, ) + depends_on("c", type="build") # generated + variant("gzip", default=True, description="Enable gzip compression support") variant("lz4", default=False, description="Enable LZ4 compression support") variant("lzo", default=False, description="Enable LZO compression support") diff --git a/var/spack/repos/builtin/packages/squashfuse/package.py b/var/spack/repos/builtin/packages/squashfuse/package.py index 0c1ce20c62837a..39b5e4f60ad60d 100644 --- a/var/spack/repos/builtin/packages/squashfuse/package.py +++ b/var/spack/repos/builtin/packages/squashfuse/package.py @@ -18,6 +18,8 @@ class Squashfuse(AutotoolsPackage): license("BSD-2-Clause") version("master", branch="master") + version("0.5.2", sha256="54e4baaa20796e86a214a1f62bab07c7c361fb7a598375576d585712691178f5") + version("0.5.1", sha256="4dd81ea10323078193e5435ad8481b59f3ac8539648ddc732bcaea50b13966c9") version("0.5.0", sha256="d7602c7a3b1d0512764547d27cb8cc99d1b21181e1c9819e76461ee96c2ab4d9") version("0.4.0", sha256="646e31449b7914d2404933aea88f8d5f72c5d135d7deae3370ccb394c40d114a") version("0.2.0", sha256="e8eea1b013b41d0a320e5a07b131bc70df14e6b3f2d3a849bdee66d100186f4f") @@ -29,6 +31,8 @@ class Squashfuse(AutotoolsPackage): version("0.1.104", sha256="aa52460559e0d0b1753f6b1af5c68cfb777ca5a13913285e93f4f9b7aa894b3a") version("0.1.103", sha256="42d4dfd17ed186745117cfd427023eb81effff3832bab09067823492b6b982e7") + depends_on("c", type="build") # generated + variant("shared", default=True, description="Enable shared libraries") variant("static", default=True, description="Enable static libraries") variant("min_size", default=False, description="Build small binaries") diff --git a/var/spack/repos/builtin/packages/squid/package.py b/var/spack/repos/builtin/packages/squid/package.py index 87b89b53223a73..b54a346e274872 100644 --- a/var/spack/repos/builtin/packages/squid/package.py +++ b/var/spack/repos/builtin/packages/squid/package.py @@ -15,3 +15,5 @@ class Squid(AutotoolsPackage): license("GPL-2.0-or-later") version("1.9g", sha256="302f42e8794aa4dbcfa0996c14fb7a70a7c4397fc45c2bbd2748055460d8dca7") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/sra-tools/package.py b/var/spack/repos/builtin/packages/sra-tools/package.py index 19461f17d42ed0..7ae214e1da9fa0 100644 --- a/var/spack/repos/builtin/packages/sra-tools/package.py +++ b/var/spack/repos/builtin/packages/sra-tools/package.py @@ -16,6 +16,9 @@ class SraTools(CMakePackage): version("3.0.3", tag="3.0.3", commit="01f0aa21bb20b84c68ea34404d43da680811e27a") version("3.0.0", tag="3.0.0", commit="bd2053a1049e64207e75f4395fd1be7f1572a5aa") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("openjdk") depends_on("flex@2.6:") depends_on("libxml2") diff --git a/var/spack/repos/builtin/packages/srcml-identifier-getter-tool/package.py b/var/spack/repos/builtin/packages/srcml-identifier-getter-tool/package.py index 4dcf19637bde9e..ec2225bc84496e 100644 --- a/var/spack/repos/builtin/packages/srcml-identifier-getter-tool/package.py +++ b/var/spack/repos/builtin/packages/srcml-identifier-getter-tool/package.py @@ -16,6 +16,8 @@ class SrcmlIdentifierGetterTool(CMakePackage): version("2022-10-17", commit="01394c247ae6f61cc5864a9697e72e3623d8e7fb", submodules=True) + depends_on("cxx", type="build") # generated + depends_on("libxml2") depends_on("zlib-api") depends_on("lzma") diff --git a/var/spack/repos/builtin/packages/srcml/package.py b/var/spack/repos/builtin/packages/srcml/package.py index ceae7cb7de9fc4..c7030d413b9e8d 100644 --- a/var/spack/repos/builtin/packages/srcml/package.py +++ b/var/spack/repos/builtin/packages/srcml/package.py @@ -23,6 +23,9 @@ class Srcml(CMakePackage): version("1.0.0", sha256="3ddf33271c3b3953d5e3ecbb14c4f925fc0e609a81250d921d3516537dcffae2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.14:", type="build") depends_on("antlr+cxx+java+pic") depends_on("libxslt") diff --git a/var/spack/repos/builtin/packages/sse2neon/package.py b/var/spack/repos/builtin/packages/sse2neon/package.py index 8251756f2b212f..4535f5a3dbecbc 100644 --- a/var/spack/repos/builtin/packages/sse2neon/package.py +++ b/var/spack/repos/builtin/packages/sse2neon/package.py @@ -23,6 +23,8 @@ class Sse2neon(Package): version("1.5.1", sha256="4001e2dfb14fcf3831211581ed83bcc83cf6a3a69f638dcbaa899044a351bb2a") version("1.5.0", sha256="92ab852aac6c8726a615f77438f2aa340f168f9f6e70c72033d678613e97b65a") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.include) install("*.h", prefix.include) diff --git a/var/spack/repos/builtin/packages/sshfs/package.py b/var/spack/repos/builtin/packages/sshfs/package.py index 36dc287f873d5b..ff85c913711733 100644 --- a/var/spack/repos/builtin/packages/sshfs/package.py +++ b/var/spack/repos/builtin/packages/sshfs/package.py @@ -19,6 +19,8 @@ class Sshfs(MesonPackage): version("3.7.1", sha256="fe5d3436d61b46974889e0c4515899c21a9d67851e3793c209989f72353d7750") + depends_on("c", type="build") # generated + depends_on("glib") depends_on("fuse@3.1.0:") diff --git a/var/spack/repos/builtin/packages/sshpass/package.py b/var/spack/repos/builtin/packages/sshpass/package.py index bd8250dc6f6636..989ddcd40dd18e 100644 --- a/var/spack/repos/builtin/packages/sshpass/package.py +++ b/var/spack/repos/builtin/packages/sshpass/package.py @@ -25,6 +25,8 @@ class Sshpass(AutotoolsPackage): version("1.01", sha256="e2adc378d61b72e63b4381fe123de3c63bd4093c9553d3219e83878f379754f4") version("1.00", sha256="71d4be85a464a8ce2ae308bc04dcb342918f3989b6a81c74217b5df7f11471f8") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/ssht/package.py b/var/spack/repos/builtin/packages/ssht/package.py index d71bfab09f05cf..76bb77cfcb6055 100644 --- a/var/spack/repos/builtin/packages/ssht/package.py +++ b/var/spack/repos/builtin/packages/ssht/package.py @@ -34,6 +34,9 @@ class Ssht(CMakePackage): version("1.3.3", sha256="1f3b89e29d89fa79170b9979046a55c81b588d9dd563fd36f37887495b71dd28") version("1.3.2", sha256="6cb3b6f94fb90dff45ba59da30a8ccd9667d8e319bed437f19d2287f59e35dd1") version("1.3.0", sha256="9e2c220a70d662714ff601a121b674c8423866058279e000cbbee532d31dd3c9") + + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated # version('1.2b1', commit='7378ce8853897cbd1b08adebf7ec088c1e40f860') depends_on("fftw @3.0.0:") diff --git a/var/spack/repos/builtin/packages/ssmtp/package.py b/var/spack/repos/builtin/packages/ssmtp/package.py index 282a35146a915e..24bc2d0bc0ad4e 100644 --- a/var/spack/repos/builtin/packages/ssmtp/package.py +++ b/var/spack/repos/builtin/packages/ssmtp/package.py @@ -17,6 +17,8 @@ class Ssmtp(AutotoolsPackage): version("2.64", sha256="22c37dc90c871e8e052b2cab0ad219d010fa938608cd66b21c8f3c759046fa36") + depends_on("c", type="build") # generated + variant("ssl", default=True, description="Enable support for secure connection to mail server") variant("inet6", default=True, description="Enable support for IPv6 transport") variant("md5auth", default=True, description="Enable support for MD5 authentication") diff --git a/var/spack/repos/builtin/packages/sst-core/package.py b/var/spack/repos/builtin/packages/sst-core/package.py index 7f512e7cd919a3..7d0176c4524728 100644 --- a/var/spack/repos/builtin/packages/sst-core/package.py +++ b/var/spack/repos/builtin/packages/sst-core/package.py @@ -41,6 +41,8 @@ class SstCore(AutotoolsPackage): version("develop", branch="devel") version("master", branch="master") + depends_on("cxx", type="build") # generated + variant( "pdes_mpi", default=True, diff --git a/var/spack/repos/builtin/packages/sst-dumpi/package.py b/var/spack/repos/builtin/packages/sst-dumpi/package.py index c53e0cd97709e0..fd4cee80038bfc 100644 --- a/var/spack/repos/builtin/packages/sst-dumpi/package.py +++ b/var/spack/repos/builtin/packages/sst-dumpi/package.py @@ -30,6 +30,10 @@ class SstDumpi(AutotoolsPackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf@1.68:", type="build") depends_on("automake@1.11.1:", type="build") depends_on("libtool@1.2.4:", type="build") diff --git a/var/spack/repos/builtin/packages/sst-elements/package.py b/var/spack/repos/builtin/packages/sst-elements/package.py index 93f621c60702bf..1cbeca76aaf812 100644 --- a/var/spack/repos/builtin/packages/sst-elements/package.py +++ b/var/spack/repos/builtin/packages/sst-elements/package.py @@ -41,6 +41,10 @@ class SstElements(AutotoolsPackage): version("develop", branch="devel") version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Contact SST developers (https://github.com/sstsimulator) # if your use case requires support for: # - balar diff --git a/var/spack/repos/builtin/packages/sst-macro/package.py b/var/spack/repos/builtin/packages/sst-macro/package.py index c04358ab06bea0..1319fc4eafb84f 100644 --- a/var/spack/repos/builtin/packages/sst-macro/package.py +++ b/var/spack/repos/builtin/packages/sst-macro/package.py @@ -42,6 +42,10 @@ class SstMacro(AutotoolsPackage): version("master", branch="master") version("develop", branch="devel") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + for version_name in ("master", "develop"): depends_on("autoconf@1.68:", type="build", when="@{}".format(version_name)) depends_on("automake@1.11.1:", type="build", when="@{}".format(version_name)) diff --git a/var/spack/repos/builtin/packages/sst-transports/package.py b/var/spack/repos/builtin/packages/sst-transports/package.py index a3d84df8188c3a..04425eac728e2b 100644 --- a/var/spack/repos/builtin/packages/sst-transports/package.py +++ b/var/spack/repos/builtin/packages/sst-transports/package.py @@ -19,6 +19,9 @@ class SstTransports(CMakePackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("sst-macro") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/stacks/package.py b/var/spack/repos/builtin/packages/stacks/package.py index 8fed579fd7bffb..74279d07283e4d 100644 --- a/var/spack/repos/builtin/packages/stacks/package.py +++ b/var/spack/repos/builtin/packages/stacks/package.py @@ -19,6 +19,9 @@ class Stacks(AutotoolsPackage): version("2.3b", sha256="a46786d8811a730ebcdc17891e89f50d4f4ae196734439dac86091f45c92ac72") version("1.46", sha256="45a0725483dc0c0856ad6b1f918e65d91c1f0fe7d8bf209f76b93f85c29ea28a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("sparsehash", default=True, description="Improve Stacks memory usage with SparseHash") depends_on("perl", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/staden-io-lib/package.py b/var/spack/repos/builtin/packages/staden-io-lib/package.py index 18531e0a7f00e8..f5ae09ca6682cb 100644 --- a/var/spack/repos/builtin/packages/staden-io-lib/package.py +++ b/var/spack/repos/builtin/packages/staden-io-lib/package.py @@ -19,6 +19,8 @@ class StadenIoLib(AutotoolsPackage): version("1.14.8", sha256="3bd560309fd6d70b14bbb8230e1baf8706b804eb6201220bb6c3d6db72003d1b") + depends_on("c", type="build") # generated + variant("curl", default=False, description="Build with curl support") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/star/package.py b/var/spack/repos/builtin/packages/star/package.py index 6fe52cecb62e3e..be17fbfc14a6bf 100644 --- a/var/spack/repos/builtin/packages/star/package.py +++ b/var/spack/repos/builtin/packages/star/package.py @@ -37,6 +37,9 @@ class Star(MakefilePackage): url="https://github.com/alexdobin/STAR/archive/STAR_2.4.2a.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") # required for certain steps in the makefile depends_on("xxd", type="build") diff --git a/var/spack/repos/builtin/packages/starlight/package.py b/var/spack/repos/builtin/packages/starlight/package.py index b9b11bc3300846..2ce197cf6e53df 100644 --- a/var/spack/repos/builtin/packages/starlight/package.py +++ b/var/spack/repos/builtin/packages/starlight/package.py @@ -29,6 +29,10 @@ class Starlight(CMakePackage): url="https://starlight.hepforge.org/downloads?f=starlight_r300.tar", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + patch( "https://gitlab.cern.ch/sft/lcgcmake/-/raw/master/generators/patches/starlight-r313.patch", sha256="c70f70fd7c96dc0417f9254d25b584222abcb2c452e1e6dd4b8cfb0b64bf10e0", diff --git a/var/spack/repos/builtin/packages/starpu/package.py b/var/spack/repos/builtin/packages/starpu/package.py index cb9ea0ad00ae56..8fcc35dd124102 100644 --- a/var/spack/repos/builtin/packages/starpu/package.py +++ b/var/spack/repos/builtin/packages/starpu/package.py @@ -67,6 +67,10 @@ class Starpu(AutotoolsPackage): version("git-1.3", branch="starpu-1.3") version("git-1.4", branch="starpu-1.4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Build STARPU as a shared library") variant("fast", default=True, description="Disable runtime assertions") variant("debug", default=False, description="Enable debug symbols") diff --git a/var/spack/repos/builtin/packages/startup-notification/package.py b/var/spack/repos/builtin/packages/startup-notification/package.py index 6ec0622e0f3e6d..a4d228ef06522e 100644 --- a/var/spack/repos/builtin/packages/startup-notification/package.py +++ b/var/spack/repos/builtin/packages/startup-notification/package.py @@ -17,6 +17,9 @@ class StartupNotification(AutotoolsPackage): version("0.12", sha256="3c391f7e930c583095045cd2d10eb73a64f085c7fde9d260f2652c7cb3cfbe4a") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxcb") depends_on("xcb-util") + depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/stat/package.py b/var/spack/repos/builtin/packages/stat/package.py index fab3a29213a582..2d089b38ef99e4 100644 --- a/var/spack/repos/builtin/packages/stat/package.py +++ b/var/spack/repos/builtin/packages/stat/package.py @@ -42,6 +42,10 @@ class Stat(AutotoolsPackage): url="https://github.com/LLNL/STAT/files/2489327/stat-4.0.1.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # TODO: dysect requires Dyninst patch for version 3.0.0b variant("dysect", default=False, description="enable DySectAPI") variant("examples", default=False, description="enable examples") diff --git a/var/spack/repos/builtin/packages/stc/package.py b/var/spack/repos/builtin/packages/stc/package.py index 75ab2ee83711a8..b5283aceb6fe34 100644 --- a/var/spack/repos/builtin/packages/stc/package.py +++ b/var/spack/repos/builtin/packages/stc/package.py @@ -21,7 +21,7 @@ class Stc(AutotoolsPackage): version("0.8.3", sha256="d61ca80137a955b12e84e41cb8a78ce1a58289241a2665076f12f835cf68d798") version("0.8.2", sha256="13f0f03fdfcca3e63d2d58d7e7dbdddc113d5b9826c9357ab0713b63e8e42c5e") - depends_on("java", type=("build", "run")) + depends_on("java@11", type=("build", "run")) depends_on("ant", type="build") depends_on("turbine", type=("build", "run")) depends_on("turbine@master", type=("build", "run"), when="@master") diff --git a/var/spack/repos/builtin/packages/stdexec/package.py b/var/spack/repos/builtin/packages/stdexec/package.py index 2d17bb1626faf3..0639c5a1c63844 100644 --- a/var/spack/repos/builtin/packages/stdexec/package.py +++ b/var/spack/repos/builtin/packages/stdexec/package.py @@ -19,10 +19,19 @@ class Stdexec(CMakePackage): version("23.03", sha256="2c9dfb6e56a190543049d2300ccccd1b626f4bb82af5b607869c626886fadd15") version("main", branch="main") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.23.1:", type="build") conflicts("%gcc@:10") conflicts("%clang@:12") + @when("@:23.03") def build(self, spec, prefix): pass + + def cmake_args(self): + return [ + self.define("STDEXEC_BUILD_TESTS", self.run_tests), + self.define("STDEXEC_BUILD_EXAMPLES", False), + ] diff --git a/var/spack/repos/builtin/packages/steps/package.py b/var/spack/repos/builtin/packages/steps/package.py index c673133d67055a..99f8c0306d290c 100644 --- a/var/spack/repos/builtin/packages/steps/package.py +++ b/var/spack/repos/builtin/packages/steps/package.py @@ -21,6 +21,8 @@ class Steps(CMakePackage): version("5.0.1", tag="5.0.1", commit="1f2eb8193edc1c75e0877fe37e39452b399242c9") version("4.1.1", tag="4.1.1", commit="fdb6d9e02a69dae698f66013117fc3f08f808f45") + depends_on("cxx", type="build") # generated + variant("blender", default=False, description="Build stepsblender package") variant( "codechecks", diff --git a/var/spack/repos/builtin/packages/stinger/package.py b/var/spack/repos/builtin/packages/stinger/package.py index 8f11bf8429bd9c..0ae1fd5173317e 100644 --- a/var/spack/repos/builtin/packages/stinger/package.py +++ b/var/spack/repos/builtin/packages/stinger/package.py @@ -16,6 +16,9 @@ class Stinger(CMakePackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + parallel = False def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/strace/package.py b/var/spack/repos/builtin/packages/strace/package.py index 9870692bccd01d..6fd298cfff9b40 100644 --- a/var/spack/repos/builtin/packages/strace/package.py +++ b/var/spack/repos/builtin/packages/strace/package.py @@ -36,6 +36,8 @@ class Strace(AutotoolsPackage): version("5.0", sha256="3b7ad77eb2b81dc6078046a9cc56eed5242b67b63748e7fc28f7c2daf4e647da") version("4.21", sha256="5c7688db44073e94c59a5627744e5699454419824cc8166e8bcfd7ec58375c37") + depends_on("c", type="build") # generated + conflicts("platform=darwin", msg="strace runs only on Linux.") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/stream/package.py b/var/spack/repos/builtin/packages/stream/package.py index 842a9b2e8a8875..f10b894b85212f 100644 --- a/var/spack/repos/builtin/packages/stream/package.py +++ b/var/spack/repos/builtin/packages/stream/package.py @@ -16,6 +16,9 @@ class Stream(MakefilePackage): version("5.10") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=False, description="Build with OpenMP support") variant("stream_array_size", default="none", description="Size of work arrays in elements") diff --git a/var/spack/repos/builtin/packages/stress/package.py b/var/spack/repos/builtin/packages/stress/package.py index ec7859d3c99f4a..531aa8ec868289 100644 --- a/var/spack/repos/builtin/packages/stress/package.py +++ b/var/spack/repos/builtin/packages/stress/package.py @@ -20,3 +20,5 @@ class Stress(AutotoolsPackage): license("GPL-2.0-or-later") version("1.0.4", sha256="b03dbb9664d7f8dcb3eadc918c2e8eb822f5a3ba47d9bd51246540bac281bd75") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/stressapptest/package.py b/var/spack/repos/builtin/packages/stressapptest/package.py index 84191c6c06426d..27ad1f603f39d0 100644 --- a/var/spack/repos/builtin/packages/stressapptest/package.py +++ b/var/spack/repos/builtin/packages/stressapptest/package.py @@ -23,3 +23,6 @@ class Stressapptest(AutotoolsPackage): version("1.0.9", sha256="2ba470587ad4f6ae92057d427c3a2a2756e5f10bd25cd91e62eaef55a40b30a1") version("1.0.8", sha256="b0432f39055166156ed04eb234f3c226b17a42f802a3f81d76ee999838e205df") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/string-view-lite/package.py b/var/spack/repos/builtin/packages/string-view-lite/package.py index 1f93927eb02b8f..261ba49a15e68f 100644 --- a/var/spack/repos/builtin/packages/string-view-lite/package.py +++ b/var/spack/repos/builtin/packages/string-view-lite/package.py @@ -26,6 +26,8 @@ class StringViewLite(CMakePackage): version("0.2.0", sha256="c8ae699dfd2ccd15c5835e9b1d246834135bbb91b82f7fc4211b8ac366bffd34") version("0.1.0", sha256="7de87d6595230a6085655dab6145340bc423f2cf206263ef73c9b78f7b153340") + depends_on("cxx", type="build") # generated + def cmake_args(self): return [ "-DSTRINGVIEW_LITE_OPT_BUILD_TESTS=%s" % ("ON" if self.run_tests else "OFF"), diff --git a/var/spack/repos/builtin/packages/stringtie/package.py b/var/spack/repos/builtin/packages/stringtie/package.py index 13428929af2724..566fce744fb227 100644 --- a/var/spack/repos/builtin/packages/stringtie/package.py +++ b/var/spack/repos/builtin/packages/stringtie/package.py @@ -20,6 +20,9 @@ class Stringtie(MakefilePackage): version("1.3.4a", sha256="6164a5fa9bf8807ef68ec89f47e3a61fe57fa07fe858f52fb6627f705bf71add") version("1.3.3b", sha256="30e8a3a29b474f0abeef1540d9b4624a827d8b29d7347226d86a38afea28bc0f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") def build(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/structure/package.py b/var/spack/repos/builtin/packages/structure/package.py index 6620fc0536b84c..90ffb21a85e548 100644 --- a/var/spack/repos/builtin/packages/structure/package.py +++ b/var/spack/repos/builtin/packages/structure/package.py @@ -15,6 +15,8 @@ class Structure(MakefilePackage): version("2.3.4", sha256="f2b72b9189a514f53e921bbdc1aa3dbaca7ac34a8467af1f972c7e4fc9c0bb37") + depends_on("c", type="build") # generated + def url_for_version(self, version): url = "http://web.stanford.edu/group/pritchardlab/structure_software/release_versions/v{0}/structure_kernel_source.tar.gz" return url.format(version) diff --git a/var/spack/repos/builtin/packages/strumpack/package.py b/var/spack/repos/builtin/packages/strumpack/package.py index 348a74947e05b5..eb20c3812ffacd 100644 --- a/var/spack/repos/builtin/packages/strumpack/package.py +++ b/var/spack/repos/builtin/packages/strumpack/package.py @@ -3,8 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from platform import machine - from spack.package import * from spack.util.environment import set_env @@ -53,6 +51,10 @@ class Strumpack(CMakePackage, CudaPackage, ROCmPackage): version("3.2.0", sha256="34d93e1b2a3b8908ef89804b7e08c5a884cbbc0b2c9f139061627c0d2de282c1") version("3.1.1", sha256="c1c3446ee023f7b24baa97b24907735e89ce4ae9f5ef516645dfe390165d1778") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("mpi", default=True, description="Use MPI") variant( @@ -177,7 +179,13 @@ def cmake_args(self): if "%cce" in spec: # Assume the proper Cray CCE module (cce) is loaded: - craylibs_path = env["CRAYLIBS_" + machine().upper()] + craylibs_var = "CRAYLIBS_" + str(spec.target.family).upper() + craylibs_path = env.get(craylibs_var, None) + if not craylibs_path: + raise InstallError( + f"The environment variable {craylibs_var} is not defined.\n" + "\tMake sure the 'cce' module is in the compiler spec." + ) env.setdefault("LDFLAGS", "") env["LDFLAGS"] += " -Wl,-rpath," + craylibs_path @@ -191,30 +199,14 @@ def test_data_dir(self): add_sparse = not self.spec.satisfies("@:5.1.1") return join_path("examples", "sparse" if add_sparse else "", "data") - # TODO: Replace this method and its 'get' use for cmake path with - # join_path(self.spec['cmake'].prefix.bin, 'cmake') once stand-alone - # tests can access build dependencies through self.spec['cmake']. - def cmake_bin(self, set=True): - """(Hack) Set/get cmake dependency path.""" - filepath = join_path(self.install_test_root, "cmake_bin_path.txt") - if set: - with open(filepath, "w") as out_file: - cmake_bin = join_path(self.spec["cmake"].prefix.bin, "cmake") - out_file.write("{0}\n".format(cmake_bin)) - else: - with open(filepath, "r") as in_file: - return in_file.read().strip() - @run_after("install") def cache_test_sources(self): """Copy the example source files after the package is installed to an install test subdirectory for use during `spack test run`.""" self.cache_extra_test_sources([self.test_data_dir, self.test_src_dir]) - # TODO: Remove once self.spec['cmake'] is available here - self.cmake_bin(set=True) - - def _test_example(self, test_prog, test_dir, test_cmd, test_args): + def _test_example(self, test_prog, test_cmd, test_args): + test_dir = join_path(self.test_suite.current_test_cache_dir, self.test_src_dir) cmake_filename = join_path(test_dir, "CMakeLists.txt") with open(cmake_filename, "w") as mkfile: mkfile.write("cmake_minimum_required(VERSION 3.15)\n") @@ -225,50 +217,42 @@ def _test_example(self, test_prog, test_dir, test_cmd, test_args): "target_link_libraries({0} ".format(test_prog) + "PRIVATE STRUMPACK::strumpack)\n" ) - # TODO: Remove/replace once self.spec['cmake'] is available here - cmake_bin = self.cmake_bin(set=False) + with working_dir(test_dir): + opts = self.builder.std_cmake_args + opts += self.cmake_args() + opts += ["."] + cmake = self.spec["cmake"].command + cmake(*opts) - opts = self.std_cmake_args - opts += self.cmake_args() - opts += ["."] + make = which("make") + make(test_prog) - self.run_test( - cmake_bin, - opts, - [], - installed=False, - purpose="test: generating makefile", - work_dir=test_dir, - ) - self.run_test( - "make", test_prog, purpose="test: building {0}".format(test_prog), work_dir=test_dir - ) - with set_env(OMP_NUM_THREADS="1"): - self.run_test( - test_cmd, - test_args, - installed=False, - purpose="test: running {0}".format(test_prog), - skip_missing=False, - work_dir=test_dir, - ) + with set_env(OMP_NUM_THREADS="1"): + exe = which(test_cmd) + exe(*test_args) - def test(self): - """Run the stand-alone tests for the installed software.""" - test_dir = join_path(self.test_suite.current_test_cache_dir, self.test_src_dir) + def test_sparse_seq(self): + """Run sequential test_sparse""" + if "+mpi" in self.spec: + raise SkipTest("Package must be installed with '~mpi'") test_exe = "test_sparse_seq" - test_exe_mpi = "test_sparse_mpi" exe_arg = [join_path("..", self.test_data_dir, "pde900.mtx")] - if "+mpi" in self.spec: - test_args = ["-n", "1", test_exe_mpi] - test_args.extend(exe_arg) - mpiexe_list = ["srun", "mpirun", "mpiexec"] - for mpiexe in mpiexe_list: - if which(mpiexe) is not None: - self._test_example(test_exe_mpi, test_dir, mpiexe, test_args) - break - else: - self._test_example(test_exe, test_dir, test_exe, exe_arg) + self._test_example(test_exe, test_exe, exe_arg) + + def test_sparse_mpi(self): + """Run parallel test_sparse""" + if "+mpi" not in self.spec: + raise SkipTest("Package must be installed with '+mpi'") + test_exe_mpi = "test_sparse_mpi" + test_args = ["-n", "1", test_exe_mpi, join_path("..", self.test_data_dir, "pde900.mtx")] + mpiexe_list = ["srun", "mpirun", "mpiexec"] + for exe in mpiexe_list: + try: + self._test_example(test_exe_mpi, exe, test_args) + return + except Exception: + pass + assert False, "No MPI executable was found" def check(self): """Skip the builtin testsuite, use the stand-alone tests instead.""" diff --git a/var/spack/repos/builtin/packages/su2/package.py b/var/spack/repos/builtin/packages/su2/package.py index 28b888fc594be5..5ec32895a40db6 100644 --- a/var/spack/repos/builtin/packages/su2/package.py +++ b/var/spack/repos/builtin/packages/su2/package.py @@ -38,6 +38,10 @@ class Su2(MesonPackage): version("7.0.0", sha256="6207dcca15eaebc11ce12b2866c937b4ad9b93274edf6f23d0487948ac3963b8") version("6.2.0", sha256="ffc953326e8432a1a6534556a5f6cf086046d3149cfcec6b4e7390eebe30ce2e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=False, description="Enable MPI support") variant("openmp", default=False, description="Enable OpenMP support") variant("tecio", default=True, description="Enable TECIO support") diff --git a/var/spack/repos/builtin/packages/subread/package.py b/var/spack/repos/builtin/packages/subread/package.py index bc5b2b8c4df4cb..7ab7f678c52413 100644 --- a/var/spack/repos/builtin/packages/subread/package.py +++ b/var/spack/repos/builtin/packages/subread/package.py @@ -27,6 +27,8 @@ class Subread(MakefilePackage): version("1.6.0", sha256="31251ec4c134e3965d25ca3097890fb37e2c7a4163f6234515534fd325b1002a") version("1.5.2", sha256="a8c5f0e09ed3a105f01866517a89084c7302ff70c90ef8714aeaa2eab181a0aa") + depends_on("c", type="build") # generated + depends_on("zlib-api") def build(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/subversion/package.py b/var/spack/repos/builtin/packages/subversion/package.py index 42e1f63eca0544..f64614d5b9c11b 100644 --- a/var/spack/repos/builtin/packages/subversion/package.py +++ b/var/spack/repos/builtin/packages/subversion/package.py @@ -37,6 +37,9 @@ class Subversion(AutotoolsPackage): version("1.8.17", sha256="1b2cb9a0ca454035e55b114ee91c6433b9ede6c2893f2fb140939094d33919e4") version("1.8.13", sha256="17e8900a877ac9f0d5ef437c20df437fec4eb2c5cb9882609d2277e2312da52c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("serf", default=True, description="Serf HTTP client library") variant("perl", default=False, description="Build with Perl bindings") variant("apxs", default=True, description="Build with APXS") diff --git a/var/spack/repos/builtin/packages/suite-sparse/package.py b/var/spack/repos/builtin/packages/suite-sparse/package.py index 3effe71cd93dc0..dfdb8ae91023be 100644 --- a/var/spack/repos/builtin/packages/suite-sparse/package.py +++ b/var/spack/repos/builtin/packages/suite-sparse/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os.path + from spack.package import * @@ -42,6 +44,10 @@ class SuiteSparse(Package): version("4.5.5", sha256="80d1d9960a6ec70031fecfe9adfe5b1ccd8001a7420efb50d6fa7326ef14af91") version("4.5.3", sha256="b6965f9198446a502cde48fb0e02236e75fa5700b94c7306fc36599d57b563f4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "pic", default=True, @@ -189,6 +195,7 @@ def install(self, spec, prefix): # even though this fix is ugly f"BLAS={spec['blas'].libs.ld_flags + (' -lstdc++' if '@4.5.1' in spec else '')}", f"LAPACK={spec['lapack'].libs.ld_flags}", + f"JOBS={make_jobs}", ] # Recent versions require c11 but some demos do not get the c11 from @@ -229,21 +236,45 @@ def install(self, spec, prefix): # Without CMAKE_LIBRARY_PATH defined, the CMake file in the # Mongoose directory finds libsuitesparseconfig.so in system # directories like /usr/lib. - make_args += [ - f"CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX={prefix}" - + f" -DCMAKE_LIBRARY_PATH={prefix.lib}" - + f" -DBLAS_ROOT={spec['blas'].prefix}" - + f" -DLAPACK_ROOT={spec['lapack'].prefix}" + cmake_args = [ + f"-DCMAKE_INSTALL_PREFIX={prefix}", + f"-DCMAKE_LIBRARY_PATH={prefix.lib}", + f"-DBLAS_ROOT={spec['blas'].prefix}", + f"-DLAPACK_ROOT={spec['lapack'].prefix}", # *_LIBRARIES is critical to pick up static # libraries (if intended) and also to avoid # unintentional system blas/lapack packages - + f" -DBLAS_LIBRARIES={spec['blas'].libs}" - + f" -DLAPACK_LIBRARIES={spec['lapack'].libs}" + f'-DBLAS_LIBRARIES="{";".join(spec["blas"].libs)}"', + f'-DLAPACK_LIBRARIES="{";".join(spec["lapack"].libs)}"', + "-DCMAKE_VERBOSE_MAKEFILE=ON", ] + if spec.satisfies("@:7.3"): + cmake_args += [ + f"-DNOPENMP={'OFF' if '+openmp' in spec else 'ON'}", + f"-DENABLE_CUDA={'ON' if '+cuda' in spec else 'OFF'}", + ] + else: + cmake_args += [ + f"-DSUITESPARSE_USE_OPENMP={'ON' if '+openmp' in spec else 'OFF'}", + f"-DSUITESPARSE_USE_CUDA={'ON' if '+cuda' in spec else 'OFF'}", + ] + make_args += [f"CMAKE_OPTIONS={' '.join(cmake_args)}"] if spec.satisfies("%gcc platform=darwin"): make_args += ["LDLIBS=-lm"] + if "%cce" in spec: + # Assume the proper Cray CCE module (cce) is loaded: + craylibs_var = "CRAYLIBS_" + str(spec.target.family).upper() + craylibs_path = env.get(craylibs_var, None) + if not craylibs_path: + raise InstallError( + f"The environment variable {craylibs_var} is not defined.\n" + "\tMake sure the 'cce' module is in the compiler spec." + ) + env.setdefault("LDFLAGS", "") + env["LDFLAGS"] += " -Wl,-rpath," + craylibs_path + make_args.append(f"INSTALL={prefix}") # Filter the targets we're interested in @@ -278,6 +309,16 @@ def install(self, spec, prefix): make("-C", target, "library", *make_args) make("-C", target, "install", *make_args) + # Starting with v7.4.0 headers are installed in a subdirectory called + # 'suitesparse' by default. For backward compatibility, after + # installation, we create links for all files from 'suitesparse' in the + # containing directory, '/include': + if spec.satisfies("@7.4:"): + with working_dir(prefix.include): + for f in find("suitesparse", "*", recursive=False): + sf = os.path.basename(f) + symlink(join_path("suitesparse", sf), sf) + @run_after("install") def fix_darwin_install(self): # The shared libraries are not installed correctly on Darwin: diff --git a/var/spack/repos/builtin/packages/sumo/package.py b/var/spack/repos/builtin/packages/sumo/package.py index a8b49d2e7579e4..e67d61d219d5d0 100644 --- a/var/spack/repos/builtin/packages/sumo/package.py +++ b/var/spack/repos/builtin/packages/sumo/package.py @@ -19,6 +19,8 @@ class Sumo(CMakePackage): version("1.5.0", sha256="be6ba0361b487a5e71c81e60b4c07a67826d5e170500c10c37374c1086ac2cb6") + depends_on("cxx", type="build") # generated + variant("gdal", default=True, description="gdal support, for arcgis") variant("ffmpeg", default=False, description="ffmpeg support, for video output") variant( diff --git a/var/spack/repos/builtin/packages/sundials/package.py b/var/spack/repos/builtin/packages/sundials/package.py index ce4ac7afef164f..22068629d1aa73 100644 --- a/var/spack/repos/builtin/packages/sundials/package.py +++ b/var/spack/repos/builtin/packages/sundials/package.py @@ -17,7 +17,7 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage): homepage = "https://computing.llnl.gov/projects/sundials" url = "https://github.com/LLNL/sundials/releases/download/v2.7.0/sundials-2.7.0.tar.gz" - git = "https://github.com/llnl/sundials.git" + git = "https://github.com/LLNL/sundials.git" tags = ["radiuss", "e4s"] test_requires_compiler = True @@ -28,6 +28,7 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage): # Versions # ========================================================================== version("develop", branch="develop") + version("7.1.1", tag="v7.1.1", commit="c28eaa3764a03705d61decb6025b409360e9d53f") version("7.0.0", sha256="d762a7950ef4097fbe9d289f67a8fb717a0b9f90f87ed82170eb5c36c0a07989") version("6.7.0", sha256="5f113a1564a9d2d98ff95249f4871a4c815a05dbb9b8866a82b13ab158c37adb") version("6.6.2", sha256="08f8223a5561327e44c072e46faa7f665c0c0bc8cd7e45d23f486c3d24c65009") @@ -63,6 +64,10 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage): version("2.7.0", sha256="d39fcac7175d701398e4eb209f7e92a5b30a78358d4a0c0fcc23db23c11ba104") version("2.6.2", sha256="d8ed0151509dd2b0f317b318a4175f8b95a174340fc3080b8c20617da8aa4d2f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # ========================================================================== # Variants # ========================================================================== @@ -223,8 +228,7 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage): # ========================================================================== # Build dependencies - depends_on("cmake@3.12:", type="build") - depends_on("cmake@3.18:", when="+cuda", type="build") + depends_on("cmake@3.18:", type="build") # MPI related dependencies depends_on("mpi", when="+mpi") @@ -284,6 +288,10 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage): # ========================================================================== # Patches # ========================================================================== + # https://github.com/LLNL/sundials/pull/434 + # https://github.com/LLNL/sundials/pull/437 + patch("sundials-hip-platform.patch", when="@7.0.0 +rocm") + # https://github.com/spack/spack/issues/29526 patch("nvector-pic.patch", when="@6.1.0:6.2.0 +rocm") diff --git a/var/spack/repos/builtin/packages/sundials/sundials-hip-platform.patch b/var/spack/repos/builtin/packages/sundials/sundials-hip-platform.patch new file mode 100644 index 00000000000000..c4092c9385340a --- /dev/null +++ b/var/spack/repos/builtin/packages/sundials/sundials-hip-platform.patch @@ -0,0 +1,33 @@ +diff -ruN spack-src/cmake/SundialsSetupHIP.cmake spack-src-patched/cmake/SundialsSetupHIP.cmake +--- spack-src/cmake/SundialsSetupHIP.cmake 2024-02-29 22:47:30.000000000 +0000 ++++ spack-src-patched/cmake/SundialsSetupHIP.cmake 2024-06-07 15:22:57.920619263 +0000 +@@ -32,9 +32,9 @@ + + if(NOT DEFINED HIP_PLATFORM) + if(NOT DEFINED ENV{HIP_PLATFORM}) +- set(HIP_PLATFORM "hcc" CACHE STRING "HIP platform (hcc, nvcc)") ++ set(HIP_PLATFORM "amd" CACHE STRING "HIP platform (amd, nvidia)") + else() +- set(HIP_PLATFORM "$ENV{HIP_PLATFORM}" CACHE STRING "HIP platform (hcc, nvcc)") ++ set(HIP_PLATFORM "$ENV{HIP_PLATFORM}" CACHE STRING "HIP platform (amd, nvidia)") + endif() + endif() + +diff -ruN spack-src/include/sundials/sundials_hip_policies.hpp spack-src-patched/include/sundials/sundials_hip_policies.hpp +--- spack-src/include/sundials/sundials_hip_policies.hpp 2024-02-29 22:47:30.000000000 +0000 ++++ spack-src-patched/include/sundials/sundials_hip_policies.hpp 2024-06-07 15:23:15.752724851 +0000 +@@ -27,10 +27,12 @@ + namespace sundials { + namespace hip { + +-#if defined(__HIP_PLATFORM_HCC__) ++#if defined(__HIP_PLATFORM_HCC__) || defined(__HIP_PLATFORM_AMD__) + constexpr const sunindextype WARP_SIZE = 64; +-#elif defined(__HIP_PLATFORM_NVCC__) ++#elif defined(__HIP_PLATFORM_NVCC__) || defined(__HIP_PLATFORM_NVDIA__) + constexpr const sunindextype WARP_SIZE = 32; ++#else ++#error "Unknown HIP_PLATFORM, report to github.com/LLNL/sundials/issues" + #endif + constexpr const sunindextype MAX_BLOCK_SIZE = 1024; + constexpr const sunindextype MAX_WARPS = MAX_BLOCK_SIZE / WARP_SIZE; diff --git a/var/spack/repos/builtin/packages/superchic/package.py b/var/spack/repos/builtin/packages/superchic/package.py index e1cbcf3c7a320b..6d874bfd6f47d4 100644 --- a/var/spack/repos/builtin/packages/superchic/package.py +++ b/var/spack/repos/builtin/packages/superchic/package.py @@ -23,6 +23,8 @@ class Superchic(MakefilePackage): version("3.06", sha256="17b4f56e85634f3c9708d5263772d7035fe4d7fb91a11bbffe889e0860efbd02") version("3.05", sha256="032f5c784f284ca02003a990234b099f61cd125791d56715680cd342e55c7da1") + depends_on("fortran", type="build") # generated + depends_on("lhapdf") depends_on("apfel", when="@4.01:") diff --git a/var/spack/repos/builtin/packages/superlu-dist/package.py b/var/spack/repos/builtin/packages/superlu-dist/package.py index e4ccfe3665623d..1a2809eb0df62d 100644 --- a/var/spack/repos/builtin/packages/superlu-dist/package.py +++ b/var/spack/repos/builtin/packages/superlu-dist/package.py @@ -45,6 +45,10 @@ class SuperluDist(CMakePackage, CudaPackage, ROCmPackage): version("5.1.0", sha256="73f292ab748b590b6dd7469e6986aeb95d279b8b8b3da511c695a396bdbc996c") version("5.0.0", sha256="78d1d6460ff16b3f71e4bcd7306397574d54d421249553ccc26567f00a10bfc6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("int64", default=False, description="Build with 64 bit integers") variant( "openmp", @@ -93,8 +97,8 @@ def append_from_variant(*args): append_define("CMAKE_CXX_COMPILER", spec["mpi"].mpicxx) append_define("CMAKE_INSTALL_LIBDIR", self.prefix.lib) append_define("CMAKE_INSTALL_BINDIR", self.prefix.bin) - append_define("TPL_BLAS_LIBRARIES", spec["blas"].libs) - append_define("TPL_LAPACK_LIBRARIES", spec["lapack"].libs) + append_define("TPL_BLAS_LIBRARIES", spec["blas"].libs.ld_flags) + append_define("TPL_LAPACK_LIBRARIES", spec["lapack"].libs.ld_flags) append_define("TPL_ENABLE_LAPACKLIB", True) append_define("USE_XSDK_DEFAULTS", True) diff --git a/var/spack/repos/builtin/packages/superlu-mt/package.py b/var/spack/repos/builtin/packages/superlu-mt/package.py index 788500d536d05b..ca14d064f0972f 100644 --- a/var/spack/repos/builtin/packages/superlu-mt/package.py +++ b/var/spack/repos/builtin/packages/superlu-mt/package.py @@ -19,6 +19,9 @@ class SuperluMt(Package): version("3.1", sha256="407b544b9a92b2ed536b1e713e80f986824cf3016657a4bfc2f3e7d2a76ecab6") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("int64", default=False, description="Build with 64 bit integers") variant("pic", default=True, description="Build with position independent code") variant("blas", default=True, description="Build with external BLAS library") diff --git a/var/spack/repos/builtin/packages/superlu/package.py b/var/spack/repos/builtin/packages/superlu/package.py index b9ec27fee0654f..5528378c80cc9a 100644 --- a/var/spack/repos/builtin/packages/superlu/package.py +++ b/var/spack/repos/builtin/packages/superlu/package.py @@ -42,6 +42,9 @@ class Superlu(CMakePackage, Package): url="https://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_4.2.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + build_system( conditional("cmake", when="@5:"), conditional("generic", when="@:4"), default="cmake" ) diff --git a/var/spack/repos/builtin/packages/sw4/package.py b/var/spack/repos/builtin/packages/sw4/package.py index a277513d66d991..a4e250f9af61f2 100644 --- a/var/spack/repos/builtin/packages/sw4/package.py +++ b/var/spack/repos/builtin/packages/sw4/package.py @@ -20,6 +20,9 @@ class Sw4(MakefilePackage): version("developer", branch="developer") version("3.0", tag="v3.0", commit="13e6d431976f7fc49124c997bf87353aa7afd35e") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=True, description="build with OpenMP") variant("hdf5", default=True, description="build with HDF5") variant("proj", default=True, description="build with proj") diff --git a/var/spack/repos/builtin/packages/swan/package.py b/var/spack/repos/builtin/packages/swan/package.py index e510cb90f331bc..d88c7bf1f1bff7 100644 --- a/var/spack/repos/builtin/packages/swan/package.py +++ b/var/spack/repos/builtin/packages/swan/package.py @@ -32,6 +32,8 @@ class Swan(MakefilePackage): version("4141", sha256="5d411e6602bd4ef764f6c7d23e5e25b588e955cb21a606d6d8a7bc4c9393aa0a") + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("netcdf-fortran") depends_on("perl", type="build") diff --git a/var/spack/repos/builtin/packages/swap-assembler/package.py b/var/spack/repos/builtin/packages/swap-assembler/package.py index ef7c2eb7d813ad..56c31d94391500 100644 --- a/var/spack/repos/builtin/packages/swap-assembler/package.py +++ b/var/spack/repos/builtin/packages/swap-assembler/package.py @@ -16,6 +16,8 @@ class SwapAssembler(MakefilePackage): version("0.4", sha256="45632e25578aacfbacd76df9697cbc798e09ac92284d9c9c07be15e0eb348e0d") + depends_on("cxx", type="build") # generated + depends_on("mpich") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/swarm/package.py b/var/spack/repos/builtin/packages/swarm/package.py index 9bcc5b9b2771dd..7837296ff43024 100644 --- a/var/spack/repos/builtin/packages/swarm/package.py +++ b/var/spack/repos/builtin/packages/swarm/package.py @@ -17,6 +17,8 @@ class Swarm(MakefilePackage): version("3.0.0", sha256="b63761a9914ebf1fee14befaffd93af9c795b692c006c644d049a6d985b55810") version("2.1.13", sha256="ec4b22cc1874ec6d2c89fe98e23a2fb713aec500bc4a784f0556389d22c02650") + depends_on("cxx", type="build") # generated + conflicts("@2.1.13", when="target=aarch64:") build_directory = "src" diff --git a/var/spack/repos/builtin/packages/swftools/package.py b/var/spack/repos/builtin/packages/swftools/package.py index ecf06eb8d3cabb..8fbdc29189256e 100644 --- a/var/spack/repos/builtin/packages/swftools/package.py +++ b/var/spack/repos/builtin/packages/swftools/package.py @@ -21,6 +21,9 @@ class Swftools(AutotoolsPackage): version("0.9.2", sha256="bf6891bfc6bf535a1a99a485478f7896ebacbe3bbf545ba551298080a26f01f1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + patch("configure.patch") patch("swfs_Makefile.in.patch") patch( diff --git a/var/spack/repos/builtin/packages/swiftsim/package.py b/var/spack/repos/builtin/packages/swiftsim/package.py index 5bb38e1bebcbd5..a92e992a74ed7f 100644 --- a/var/spack/repos/builtin/packages/swiftsim/package.py +++ b/var/spack/repos/builtin/packages/swiftsim/package.py @@ -23,6 +23,8 @@ class Swiftsim(AutotoolsPackage): version("0.7.0", sha256="d570e83e1038eb31bc7ae95d1903a2371fffbca90d08f60b6b32bb0fd8a6f516") version("0.3.0", sha256="dd26075315cb2754dc1292e8d838bbb83739cff7f068a98319b80b9c2b0f84bc") + depends_on("c", type="build") # generated + variant("mpi", default=True, description="Enable distributed memory parallelism") # Build dependencies diff --git a/var/spack/repos/builtin/packages/swig/package.py b/var/spack/repos/builtin/packages/swig/package.py index 46c35b0004a1e4..93893d8ddaf6b6 100644 --- a/var/spack/repos/builtin/packages/swig/package.py +++ b/var/spack/repos/builtin/packages/swig/package.py @@ -69,6 +69,9 @@ class Swig(AutotoolsPackage, SourceforgePackage): url="https://github.com/swig-fortran/swig/archive/v4.0.2+fortran.tar.gz", ) + depends_on("c", type="build") + depends_on("cxx", type="build") + depends_on("pcre", when="@:4.0") depends_on("pcre2", when="@4.1:") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/swipl/package.py b/var/spack/repos/builtin/packages/swipl/package.py index 3d4db45c9c5a27..3942c0ceb8063b 100644 --- a/var/spack/repos/builtin/packages/swipl/package.py +++ b/var/spack/repos/builtin/packages/swipl/package.py @@ -27,6 +27,9 @@ class Swipl(CMakePackage): version("8.2.0", sha256="d8c9f3adb9cd997a5fed7b5f5dbfe971d2defda969b9066ada158e4202c09c3c") version("8.0.3", sha256="cee59c0a477c8166d722703f6e52f962028f3ac43a5f41240ecb45dbdbe2d6ae") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("gmp", default=True, description="bignum and rational number support") variant("xpce", default=True, description="GUI support") variant("ssl", default=True, description="SSL support") diff --git a/var/spack/repos/builtin/packages/symengine/package.py b/var/spack/repos/builtin/packages/symengine/package.py index 68f45f6139700f..e46081268862f1 100644 --- a/var/spack/repos/builtin/packages/symengine/package.py +++ b/var/spack/repos/builtin/packages/symengine/package.py @@ -30,6 +30,9 @@ class Symengine(CMakePackage): version("0.2.0", sha256="64d050b0b9decd12bf4ea3b7d18d3904dd7cb8baaae9fbac1b8068e3c59709be") version("0.1.0", sha256="daba3ba0ae91983a772f66bf755b1953c354fe6dc353588b23705d9a79b011fc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "boostmp", default=False, description="Compile with Boost multi-precision integer library" ) diff --git a/var/spack/repos/builtin/packages/symlinks/package.py b/var/spack/repos/builtin/packages/symlinks/package.py index 5d5f8cef227a4b..b6ba210f1df785 100644 --- a/var/spack/repos/builtin/packages/symlinks/package.py +++ b/var/spack/repos/builtin/packages/symlinks/package.py @@ -14,6 +14,8 @@ class Symlinks(MakefilePackage): version("1.4", sha256="b0bb689dd0a2c46d9a7dd111b053707aba7b9cf29c4f0bad32984b14bdbe0399") + depends_on("c", type="build") # generated + def edit(self, spec, prefix): filter_file("/usr/local", prefix, "Makefile", string=True) filter_file("-o root -g root", "", "Makefile") diff --git a/var/spack/repos/builtin/packages/sympack/package.py b/var/spack/repos/builtin/packages/sympack/package.py index 7796aa224678ba..211265ab01a693 100644 --- a/var/spack/repos/builtin/packages/sympack/package.py +++ b/var/spack/repos/builtin/packages/sympack/package.py @@ -22,6 +22,9 @@ class Sympack(CMakePackage, CudaPackage): version("2.0.1", sha256="21c172e902531c94c3bb5932c15de4b4ec9adf9c0d8e2071bb12cdbdfa25ca52") version("2.0", sha256="93fcfbadab73718e249e7ed12641a3c6be58b19cafdf6bad12a6a09c3d1eb4a1") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@3.11:", type="build") depends_on("upcxx@2019.9.0:") diff --git a/var/spack/repos/builtin/packages/sympol/package.py b/var/spack/repos/builtin/packages/sympol/package.py index 45511c400e998d..325d8e1317874b 100644 --- a/var/spack/repos/builtin/packages/sympol/package.py +++ b/var/spack/repos/builtin/packages/sympol/package.py @@ -18,6 +18,9 @@ class Sympol(CMakePackage): version("0.1.8", sha256="8f4c013fa563e696fc8c27c408fd1f3d47783639815e8141e3a99826f1f3d54f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@2.6:", type="build") depends_on("bliss") diff --git a/var/spack/repos/builtin/packages/sys-sage/package.py b/var/spack/repos/builtin/packages/sys-sage/package.py index c96dd329a39d0a..cc5c1895b38e7d 100644 --- a/var/spack/repos/builtin/packages/sys-sage/package.py +++ b/var/spack/repos/builtin/packages/sys-sage/package.py @@ -21,6 +21,8 @@ class SysSage(CMakePackage): version("master", branch="master") version("develop", branch="develop") + depends_on("cxx", type="build") # generated + conflicts("%gcc@:7", msg="gcc can be used from version 8 and above") variant( diff --git a/var/spack/repos/builtin/packages/sysbench/package.py b/var/spack/repos/builtin/packages/sysbench/package.py index b1843bf49d9cb4..768220ea9b908e 100644 --- a/var/spack/repos/builtin/packages/sysbench/package.py +++ b/var/spack/repos/builtin/packages/sysbench/package.py @@ -18,6 +18,9 @@ class Sysbench(AutotoolsPackage): version("1.0.19", sha256="39cde56b58754d97b2fe6a1688ffc0e888d80c262cf66daee19acfb2997f9bdd") version("1.0.18", sha256="c679b285e633c819d637bdafaeacc1bec13f37da5b3357c7e17d97a71bf28cb1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/syscalc/package.py b/var/spack/repos/builtin/packages/syscalc/package.py index eb59fef8c4a262..c266720811ace4 100644 --- a/var/spack/repos/builtin/packages/syscalc/package.py +++ b/var/spack/repos/builtin/packages/syscalc/package.py @@ -19,6 +19,9 @@ class Syscalc(MakefilePackage): extension=".tgz", ) + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + tags = ["hep"] depends_on("lhapdf@6:") diff --git a/var/spack/repos/builtin/packages/sysfsutils/package.py b/var/spack/repos/builtin/packages/sysfsutils/package.py index b2267ef7218d67..99a372849790c4 100644 --- a/var/spack/repos/builtin/packages/sysfsutils/package.py +++ b/var/spack/repos/builtin/packages/sysfsutils/package.py @@ -23,6 +23,8 @@ class Sysfsutils(AutotoolsPackage): version("0_4_0", sha256="9c78edb118c6bd962e04558ddb2df46d456273284fe3f23bb930dc287225aea5") version("0_3_0", sha256="f10250aa09513d245cb4ed61ac0dbfd7dfb2e7810bcd8804a07b3fe18f08a74a") + depends_on("c", type="build") # generated + @when("target=aarch64:") def configure_args(self): args = ["--build=arm-linux"] diff --git a/var/spack/repos/builtin/packages/sysget/package.py b/var/spack/repos/builtin/packages/sysget/package.py index bbad2d22448e45..afb5106025618a 100644 --- a/var/spack/repos/builtin/packages/sysget/package.py +++ b/var/spack/repos/builtin/packages/sysget/package.py @@ -21,6 +21,8 @@ class Sysget(MakefilePackage): version("2.2", sha256="8f55ee8402d6de3cc16fa0577148b484e35da6688ad5f3ee3e9c1be04c88863a") version("2.1", sha256="0590aaae10494ca76c6749264925feb0e40b6e4b3822a8a4d148761addcb66c1") + depends_on("cxx", type="build") # generated + def edit(self, spec, prefix): if os.path.exists("Makefile"): makefile = FileFilter("Makefile") diff --git a/var/spack/repos/builtin/packages/sysstat/package.py b/var/spack/repos/builtin/packages/sysstat/package.py index e4fab86b95cfd7..c70c052a5a3b6f 100644 --- a/var/spack/repos/builtin/packages/sysstat/package.py +++ b/var/spack/repos/builtin/packages/sysstat/package.py @@ -20,6 +20,8 @@ class Sysstat(AutotoolsPackage): version("12.4.5", sha256="4e35abdd9eaf766ecdab55786f459093f3e1c350db23e57a15561afda417ff0d") version("12.2.0", sha256="614ab9fe8e7937a3edb7b2b6760792a3764ea3a7310ac540292dd0e3dfac86a6") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("gettext") depends_on("lm-sensors") diff --git a/var/spack/repos/builtin/packages/systemc/package.py b/var/spack/repos/builtin/packages/systemc/package.py index 403bbf28a224f9..89ed1c6bec5ce9 100644 --- a/var/spack/repos/builtin/packages/systemc/package.py +++ b/var/spack/repos/builtin/packages/systemc/package.py @@ -19,6 +19,9 @@ class Systemc(CMakePackage): version("2.3.3", sha256="5781b9a351e5afedabc37d145e5f7edec08f3fd5de00ffeb8fa1f3086b1f7b3f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "cxxstd", values=("11", "14", "17", "20"), diff --git a/var/spack/repos/builtin/packages/systemd/package.py b/var/spack/repos/builtin/packages/systemd/package.py index 0853facc595dbc..da78562d9537d4 100644 --- a/var/spack/repos/builtin/packages/systemd/package.py +++ b/var/spack/repos/builtin/packages/systemd/package.py @@ -19,6 +19,8 @@ class Systemd(MesonPackage): version("255", sha256="28854ffb2cb5f9e07fcbdbaf1e03a80b3462a12edeef84893ca2f37b22e4491e") + depends_on("c", type="build") # generated + depends_on("meson@0.60.0:", type="build") depends_on("ninja", type="build") depends_on("py-jinja2", type="build") diff --git a/var/spack/repos/builtin/packages/systemtap/package.py b/var/spack/repos/builtin/packages/systemtap/package.py index 8e5a3184489786..e7132981cf337e 100644 --- a/var/spack/repos/builtin/packages/systemtap/package.py +++ b/var/spack/repos/builtin/packages/systemtap/package.py @@ -24,6 +24,9 @@ class Systemtap(AutotoolsPackage): version("4.2", sha256="0984ebe3162274988252ec35074021dc1e8420d87a8b35f437578562fce08781") version("4.1", sha256="8efa1ee2b34f1c6b2f33a25313287d59c8ed1b00265e900aea874da8baca1e1d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("gettext") depends_on("elfutils@0.151:") depends_on("sqlite") diff --git a/var/spack/repos/builtin/packages/sz-cpp/package.py b/var/spack/repos/builtin/packages/sz-cpp/package.py index f59ea178fcb271..c76174fb4e9aeb 100644 --- a/var/spack/repos/builtin/packages/sz-cpp/package.py +++ b/var/spack/repos/builtin/packages/sz-cpp/package.py @@ -16,6 +16,8 @@ class SzCpp(CMakePackage): version("2022-01-27", commit="9441b79abc89d4bcce53fe18edf0df53fd92d1d7") + depends_on("cxx", type="build") # generated + variant("shared", description="build shared libs", default=True) depends_on("zstd") diff --git a/var/spack/repos/builtin/packages/sz/package.py b/var/spack/repos/builtin/packages/sz/package.py index 2edb20f56afb08..22c08a12817b7e 100644 --- a/var/spack/repos/builtin/packages/sz/package.py +++ b/var/spack/repos/builtin/packages/sz/package.py @@ -46,6 +46,9 @@ class Sz(CMakePackage, AutotoolsPackage): version("1.4.10.0", sha256="cf23cf1ffd7c69c3d3128ae9c356b6acdc03a38f92c02db5d9bfc04f3fabc506") version("1.4.9.2", sha256="9dc785274d068d04c2836955fc93518a9797bfd409b46fea5733294b7c7c18f8") + depends_on("c", type="build") + depends_on("cxx", type="build") + build_system( conditional("autotools", when="@:2.1.8.0"), conditional("cmake", when="@2.1.8.1:"), diff --git a/var/spack/repos/builtin/packages/sz3/package.py b/var/spack/repos/builtin/packages/sz3/package.py index 45e71061b4cb3f..5722cced398384 100644 --- a/var/spack/repos/builtin/packages/sz3/package.py +++ b/var/spack/repos/builtin/packages/sz3/package.py @@ -23,6 +23,9 @@ class Sz3(CMakePackage): version("3.1.3.1", commit="323cb17b412d657c4be681b52c34beaf933fe7af") version("3.1.3", commit="695dff8dc326f3b165f6676d810f46add088a585") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("hdf5", default=False, description="enable hdf5 filter support") variant("mdz", default=True, description="build mdz executable") @@ -43,12 +46,18 @@ def cmake_args(self): self.define_from_variant("BUILD_H5Z_FILTER", "hdf5"), ] - def test(self): + def test_sz3_smoke_test(self): + """Run sz3 smoke test""" if self.spec.satisfies("@:3.1.6"): - print("smoke tests are only supported on 3.1.7 and later, skipping") - return - - self.run_test(self.prefix.bin.sz3_smoke_test, purpose="sz3 works") + raise SkipTest("Package must be installed as version 3.1.7 or later") + exe = which(self.prefix.bin.sz3_smoke_test) + exe() - if "+mdz" in self.spec: - self.run_test(self.prefix.bin.mdz_smoke_test, purpose="mdz works") + def test_mdz_smoke_test(self): + """Run mdz smoke test""" + if self.spec.satisfies("@:3.1.6"): + raise SkipTest("Package must be installed as version 3.1.7 or later") + if "+mdz" not in self.spec: + raise SkipTest("Package must be installed with '+mdz'") + exe = which(self.prefix.bin.mdz_smoke_test) + exe() diff --git a/var/spack/repos/builtin/packages/szauto/package.py b/var/spack/repos/builtin/packages/szauto/package.py index 02c19e38bf5fd1..b470291068ff26 100644 --- a/var/spack/repos/builtin/packages/szauto/package.py +++ b/var/spack/repos/builtin/packages/szauto/package.py @@ -19,5 +19,8 @@ class Szauto(CMakePackage): version("1.2.1", sha256="55c58f58df3a874f684ef864a9247907df0501e5598c089fd2d855ae0309b03a") version("1.0.0", commit="03f3ab0312bd1de647e9d65746add73a0e8602d2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zstd") depends_on("pkgconfig") diff --git a/var/spack/repos/builtin/packages/szx/package.py b/var/spack/repos/builtin/packages/szx/package.py index e02f8497cc01b1..9d05663fceb0ed 100644 --- a/var/spack/repos/builtin/packages/szx/package.py +++ b/var/spack/repos/builtin/packages/szx/package.py @@ -17,6 +17,8 @@ class Szx(CMakePackage, AutotoolsPackage, CudaPackage): version("main", branch="main") version("1.1.1", commit="b1609dde7702135b647fb92f91833fc84de2492e") version("1.1.0", commit="194a9dc91ee8c46632f79de3c87a63ec29c52b26") + + depends_on("cxx", type="build") # generated build_system( conditional("cmake", when="@1.1.1:"), conditional("autotools", when="@:1.1.0"), diff --git a/var/spack/repos/builtin/packages/t8code/package.py b/var/spack/repos/builtin/packages/t8code/package.py index 79f3b07930c7d9..50cb91b6da83f6 100644 --- a/var/spack/repos/builtin/packages/t8code/package.py +++ b/var/spack/repos/builtin/packages/t8code/package.py @@ -20,8 +20,15 @@ class T8code(AutotoolsPackage): license("GPL-2.0-or-later") + version("2.0.0", sha256="b83f6c204cdb663cec7e0c1059406afc4c06df236b71d7b190fb698bec44c1e0") + version("1.6.1", sha256="dc96effa7c1ad1d50437fefdd0963f6ef7c943eb10a372a4e8546a5f2970a412") + version("1.6.0", sha256="94fb8dd9d9401130867ff18e8f71249cbb0fc34995fd04412a983eb2c93db3d5") + version("1.5.0", sha256="22ce6492c0f808c6859a42921352d857639fddd48ecdc9935e419db95c466f28") version("1.4.1", sha256="b0ec0c9b4a182f8ac7e930ba80cd20e6dc5baefc328630e4a9dac8c688749e9a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Enable MPI parallel code") variant("vtk", default=False, description="Enable vtk-dependent code") variant("petsc", default=False, description="Enable PETSc-dependent code") diff --git a/var/spack/repos/builtin/packages/tabix/package.py b/var/spack/repos/builtin/packages/tabix/package.py index 7ae1e07804c4eb..5f3c28f7d4aad5 100644 --- a/var/spack/repos/builtin/packages/tabix/package.py +++ b/var/spack/repos/builtin/packages/tabix/package.py @@ -14,6 +14,8 @@ class Tabix(MakefilePackage): version("2013-12-16", commit="1ae158ac79b459f5feeed7490c67519b14ce9f35") + depends_on("c", type="build") # generated + depends_on("perl", type=("build", "run")) depends_on("python", type=("build", "run")) depends_on("zlib-api", type="link") diff --git a/var/spack/repos/builtin/packages/talass/package.py b/var/spack/repos/builtin/packages/talass/package.py index d98e7d01ce5521..56c4d7e6eed858 100644 --- a/var/spack/repos/builtin/packages/talass/package.py +++ b/var/spack/repos/builtin/packages/talass/package.py @@ -22,6 +22,8 @@ class Talass(CMakePackage): version("process-statistics", branch="process-statistics") version("2018-10-29", commit="5d459c0dd89e733fa301391908a5b79fe2850ad7") + depends_on("cxx", type="build") # generated + # The default precision and index space sizes variant( "precision", diff --git a/var/spack/repos/builtin/packages/talloc/package.py b/var/spack/repos/builtin/packages/talloc/package.py index 2235cecc7be03c..58fda93013561b 100644 --- a/var/spack/repos/builtin/packages/talloc/package.py +++ b/var/spack/repos/builtin/packages/talloc/package.py @@ -21,5 +21,7 @@ class Talloc(AutotoolsPackage): version("2.3.0", sha256="75d5bcb34482545a82ffb06da8f6c797f963a0da450d0830c669267b14992fc6") version("2.1.9", sha256="f0aad4cb88a3322207c82136ddc07bed48a37c2c21f82962d6c5ccb422711062") + depends_on("c", type="build") # generated + extends("python") depends_on("python@3:") diff --git a/var/spack/repos/builtin/packages/tamaas/package.py b/var/spack/repos/builtin/packages/tamaas/package.py index 298287e463b98d..57ce90a4717181 100644 --- a/var/spack/repos/builtin/packages/tamaas/package.py +++ b/var/spack/repos/builtin/packages/tamaas/package.py @@ -17,7 +17,10 @@ class Tamaas(SConsPackage): maintainers("prs513rosewood") version("master", branch="master") - version("2.6.0", sha256="e3a262e5b893aa1e23554b6bd6b41af68c841ef4ffd862bb8e50a1a17ac15af6") + version("2.8.0", sha256="8ec49bf484a622c0554452416d1804eefbd545da79ced352f2ea63bbd17c83f0") + version("2.7.1", sha256="d7de6db3f5532bb9c8ab7e8cca1cdb5c133050dd5720249dde07027b0d41641f") + version("2.7.0", sha256="bc5717c1ead621cb9c18a073fdafbe8778fd160ad23d80c98283445d79066579") + version("2.6.0", sha256="4aafa0f727f43afc6ae45705ae80cf113a6a95e728bdf536c22b3b39be87f153") version( "2.5.0.post1", sha256="28e52dc5b8a5f77588c73a6ef396c44c6a8e9d77e3e4929a4ab07232dc9bc565" ) @@ -25,6 +28,8 @@ class Tamaas(SConsPackage): version("2.3.1", sha256="7d63e374cbc7b5b93578ece7be5c084d1c2f0dbe1d57c4f0c8abd5ff5fff9ab0") version("2.3.0", sha256="0529e015c6cb5bbabaea5dce6efc5ec0f2aa76c00541f0d90ad0e2e3060a4520") + depends_on("cxx", type="build") # generated + variant("python", default=True, description="Provide Python bindings for Tamaas") variant( "solvers", @@ -32,6 +37,7 @@ class Tamaas(SConsPackage): when="+python", description="Enables extra Scipy-based nonlinear solvers", ) + variant("petsc", default=False, when="@2.8.0:", description="Additional PETSc solvers") # Python 3.6 causes unicode issues with scons depends_on("python@3.7:", type="build", when="~python") @@ -46,6 +52,10 @@ class Tamaas(SConsPackage): conflicts("%clang@:5") conflicts("%intel") + # MPI type-traits issues (constexpr vs static const) in recent gcc + # fixed for tamaas versions > 2.6.0 + patch("recent_compilers.patch", when="@:2.6.0%gcc@11:") + with when("+python"): extends("python") depends_on("python@3.7:", type=("build", "run")) @@ -53,6 +63,9 @@ class Tamaas(SConsPackage): depends_on("py-scipy", when="+solvers", type="run") depends_on("py-pybind11", type="build") depends_on("py-wheel", type="build") + depends_on("py-pip", type="build") + + depends_on("petsc", type="build", when="+petsc") def build_args(self, spec, prefix): args = [ @@ -76,4 +89,17 @@ def build_args(self, spec, prefix): if spec.satisfies("+python"): args += ["PYBIND11_ROOT={}".format(spec["py-pybind11"].prefix)] + if spec.satisfies("+petsc"): + args += ["PETSC_ROOT={}".format(spec["petsc"].prefix), "use_petsc=True"] + return args + + def install(self, spec, prefix): + """Install the package.""" + args = self.install_args(spec, prefix) + + scons("install-lib", *args) + + if spec.satisfies("+python"): + args = ["-m", "pip"] + std_pip_args + ["--prefix=" + prefix, "build-release/python"] + python(*args) diff --git a/var/spack/repos/builtin/packages/tamaas/recent_compilers.patch b/var/spack/repos/builtin/packages/tamaas/recent_compilers.patch new file mode 100644 index 00000000000000..11a288ed164d00 --- /dev/null +++ b/var/spack/repos/builtin/packages/tamaas/recent_compilers.patch @@ -0,0 +1,57 @@ +diff --git a/src/core/mpi_interface.cpp b/src/core/mpi_interface.cpp +index e7f9f72..f602fb1 100644 +--- a/src/core/mpi_interface.cpp ++++ b/src/core/mpi_interface.cpp +@@ -36,6 +36,30 @@ comm& comm::world() { + static comm _world{MPI_COMM_WORLD}; + return _world; + } ++ ++// Define type traits for MPI data types ++#define TYPE(t, mpi_t) \ ++ const MPI_Datatype type_trait::value { mpi_t } ++TYPE(double, MPI_DOUBLE); ++TYPE(int, MPI_INT); ++TYPE(unsigned int, MPI_UNSIGNED); ++TYPE(long double, MPI_LONG_DOUBLE); ++TYPE(long, MPI_LONG); ++TYPE(unsigned long, MPI_UNSIGNED_LONG); ++TYPE(::thrust::complex, MPI_CXX_DOUBLE_COMPLEX); ++TYPE(::thrust::complex, MPI_CXX_LONG_DOUBLE_COMPLEX); ++TYPE(bool, MPI_CXX_BOOL); ++#undef TYPE ++ ++// Define type traits for MPI operations ++#define OPERATION(op, mpi_op) \ ++ const MPI_Op operation_trait::value { mpi_op } ++OPERATION(plus, MPI_SUM); ++OPERATION(min, MPI_MIN); ++OPERATION(max, MPI_MAX); ++OPERATION(times, MPI_PROD); ++#undef OPERATION ++ + } // namespace mpi_impl + #endif + +diff --git a/src/core/mpi_interface.hh b/src/core/mpi_interface.hh +index b4cfc81..b53c826 100644 +--- a/src/core/mpi_interface.hh ++++ b/src/core/mpi_interface.hh +@@ -149,7 +149,7 @@ struct type_trait; + #define TYPE(t, mpi_t) \ + template <> \ + struct type_trait { \ +- static constexpr MPI_Datatype value = mpi_t; \ ++ static const MPI_Datatype value; \ + } + TYPE(double, MPI_DOUBLE); + TYPE(int, MPI_INT); +@@ -168,7 +168,7 @@ struct operation_trait; + #define OPERATION(op, mpi_op) \ + template <> \ + struct operation_trait { \ +- static constexpr MPI_Op value = mpi_op; \ ++ static const MPI_Op value; \ + } + OPERATION(plus, MPI_SUM); + OPERATION(min, MPI_MIN); diff --git a/var/spack/repos/builtin/packages/tandem/package.py b/var/spack/repos/builtin/packages/tandem/package.py index b9cc617e0ef941..3211f5724f4f99 100644 --- a/var/spack/repos/builtin/packages/tandem/package.py +++ b/var/spack/repos/builtin/packages/tandem/package.py @@ -25,6 +25,9 @@ class Tandem(CMakePackage, CudaPackage, ROCmPackage): "1.1.0", tag="v1.1.0", commit="17c42dc9ae0ec519dcc1b5732681b2e4054666f1", submodules=True ) version("1.0", tag="v1.0", commit="eccab10cbdf5842ed9903fac7a023be5e2779f36", submodules=True) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated patch("fix_v1.0_compilation.diff", when="@1.0") maintainers("dmay23", "Thomas-Ulrich") diff --git a/var/spack/repos/builtin/packages/tangram/package.py b/var/spack/repos/builtin/packages/tangram/package.py index 4c0886d94c9ebc..b23d0cda0e793a 100644 --- a/var/spack/repos/builtin/packages/tangram/package.py +++ b/var/spack/repos/builtin/packages/tangram/package.py @@ -24,6 +24,9 @@ class Tangram(CMakePackage): version("1.0.1", sha256="8f2f8c01bb2d726b0f64e5a5bc3aa2bd8057ccaee7a29c68f1439d16e39aaa90") version("master", branch="master", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=False, description="Enable interface reconstruction with MPI") variant("thrust", default=False, description="Enable on-node parallelism with NVidia Thrust") variant( diff --git a/var/spack/repos/builtin/packages/tar/package.py b/var/spack/repos/builtin/packages/tar/package.py index 5e83af3d8b1cc6..5fadb4229baadc 100644 --- a/var/spack/repos/builtin/packages/tar/package.py +++ b/var/spack/repos/builtin/packages/tar/package.py @@ -28,6 +28,8 @@ class Tar(AutotoolsPackage, GNUMirrorPackage): version("1.29", sha256="cae466e6e58c7292355e7080248f244db3a4cf755f33f4fa25ca7f9a7ed09af0") version("1.28", sha256="6a6b65bac00a127a508533c604d5bf1a3d40f82707d56f20cefd38a05e8237de") + depends_on("c", type="build") # generated + # A saner default than gzip? variant( "zip", diff --git a/var/spack/repos/builtin/packages/task/package.py b/var/spack/repos/builtin/packages/task/package.py index b2220595194684..786127d604f046 100644 --- a/var/spack/repos/builtin/packages/task/package.py +++ b/var/spack/repos/builtin/packages/task/package.py @@ -19,6 +19,8 @@ class Task(CMakePackage): version("2.5.1", sha256="d87bcee58106eb8a79b850e9abc153d98b79e00d50eade0d63917154984f2a15") version("2.4.4", sha256="7ff406414e0be480f91981831507ac255297aab33d8246f98dbfd2b1b2df8e3b") + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8:", type="build") depends_on("gnutls") depends_on("uuid") diff --git a/var/spack/repos/builtin/packages/taskflow/package.py b/var/spack/repos/builtin/packages/taskflow/package.py index 78f8ed89db3104..8be3f42b56f16d 100644 --- a/var/spack/repos/builtin/packages/taskflow/package.py +++ b/var/spack/repos/builtin/packages/taskflow/package.py @@ -22,6 +22,10 @@ class Taskflow(CMakePackage): version("3.6.0", sha256="5a1cd9cf89f93a97fcace58fd73ed2fc8ee2053bcb43e047acb6bc121c3edf4c") version("2.7.0", sha256="bc2227dcabec86abeba1fee56bb357d9d3c0ef0184f7c2275d7008e8758dfc3e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Compiler must offer C++14 support conflicts("%gcc@:4.8") conflicts("%clang@:3.5") diff --git a/var/spack/repos/builtin/packages/tasmanian/package.py b/var/spack/repos/builtin/packages/tasmanian/package.py index c9285453f4dd9b..6a43c5ee04f1f1 100644 --- a/var/spack/repos/builtin/packages/tasmanian/package.py +++ b/var/spack/repos/builtin/packages/tasmanian/package.py @@ -34,6 +34,9 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("xsdkflags", default=False, description="enable XSDK defaults for Tasmanian") variant("openmp", default=False, description="add OpenMP support to Tasmanian") diff --git a/var/spack/repos/builtin/packages/tau/package.py b/var/spack/repos/builtin/packages/tau/package.py index 3e6eb0b6435446..ed3aaafe405ae8 100644 --- a/var/spack/repos/builtin/packages/tau/package.py +++ b/var/spack/repos/builtin/packages/tau/package.py @@ -56,6 +56,10 @@ class Tau(Package): version("2.24", sha256="5d28e8b26561c7cd7d0029b56ec0f95fc26803ac0b100c98e00af0b02e7f55e2") version("2.23.1", sha256="31a4d0019cec6ef57459a9cd18a220f0130838a5f1a0b5ea7879853f5a38cf88") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Disable some default dependencies on Darwin/OSX darwin_default = False if sys.platform != "darwin": @@ -178,6 +182,9 @@ class Tau(Package): msg="Using ROCm, select either +rocprofiler, +roctracer or +rocprofv2", ) + # https://github.com/UO-OACISS/tau2/commit/1d2cb6b + patch("tau-rocm-disable-llvm-plugin.patch", when="@2.33.2 +rocm") + filter_compiler_wrappers("Makefile", relative_root="include") filter_compiler_wrappers("Makefile.tau*", relative_root="lib") filter_compiler_wrappers("Makefile.tau*", relative_root="lib64") diff --git a/var/spack/repos/builtin/packages/tau/tau-rocm-disable-llvm-plugin.patch b/var/spack/repos/builtin/packages/tau/tau-rocm-disable-llvm-plugin.patch new file mode 100644 index 00000000000000..0f863c6a9a445a --- /dev/null +++ b/var/spack/repos/builtin/packages/tau/tau-rocm-disable-llvm-plugin.patch @@ -0,0 +1,19 @@ +diff -ruN spack-src/configure spack-src-patched/configure +--- spack-src/configure 2024-04-16 00:20:41.000000000 +0000 ++++ spack-src-patched/configure 2024-06-12 19:35:50.799407280 +0000 +@@ -3101,7 +3101,6 @@ + rocprofiler=yes + tauoptions="${tauoptions}-rocm" + pthread=yes +- build_llvm_plugin=yes + shift + ;; + +@@ -3118,7 +3117,6 @@ + rocprofiler=yes + tauoptions="${tauoptions}-rocm" + pthread=yes +- build_llvm_plugin=yes + shift + ;; + diff --git a/var/spack/repos/builtin/packages/tauola/package.py b/var/spack/repos/builtin/packages/tauola/package.py index 7275fb93583aed..93e41f380f003a 100644 --- a/var/spack/repos/builtin/packages/tauola/package.py +++ b/var/spack/repos/builtin/packages/tauola/package.py @@ -18,6 +18,10 @@ class Tauola(AutotoolsPackage): version("1.1.8", sha256="3f734e8a967682869cca2c1ffebd3e055562613c40853cc81820d8b666805ed5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("hepmc", default=True, description="Enable hepmc 2.x support") variant("hepmc3", default=False, description="Enable hepmc3 support") variant("lhapdf", default=True, description="Enable lhapdf support. Required for TauSpinner.") diff --git a/var/spack/repos/builtin/packages/tblite/package.py b/var/spack/repos/builtin/packages/tblite/package.py index 52661f07449400..68cea15883f839 100644 --- a/var/spack/repos/builtin/packages/tblite/package.py +++ b/var/spack/repos/builtin/packages/tblite/package.py @@ -19,6 +19,9 @@ class Tblite(MesonPackage): version("0.3.0", sha256="46d77c120501ac55ed6a64dea8778d6593b26fb0653c591f8e8c985e35884f0a") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=True, description="Use OpenMP parallelisation") variant("python", default=False, description="Build Python extension module") diff --git a/var/spack/repos/builtin/packages/tcl-itcl/package.py b/var/spack/repos/builtin/packages/tcl-itcl/package.py index d7a42c60f8c099..0d33f8c973de7f 100644 --- a/var/spack/repos/builtin/packages/tcl-itcl/package.py +++ b/var/spack/repos/builtin/packages/tcl-itcl/package.py @@ -16,6 +16,8 @@ class TclItcl(AutotoolsPackage): version("4.0.4", sha256="63860438ca22f70049aecff70dc607b31bb1bea0edcc736e36ac6e36c24aecde") + depends_on("c", type="build") # generated + extends("tcl") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/tcl-tcllib/package.py b/var/spack/repos/builtin/packages/tcl-tcllib/package.py index d0a0ccaa3d7f4e..5b0231c5833481 100644 --- a/var/spack/repos/builtin/packages/tcl-tcllib/package.py +++ b/var/spack/repos/builtin/packages/tcl-tcllib/package.py @@ -27,4 +27,7 @@ class TclTcllib(AutotoolsPackage): version("1.15", sha256="6d308980d9dace24c6252b96223c1646e83795ba03dbf996525ad27e1b56bffd") version("1.14", sha256="dd149fcb37ceb04da83531276a9d7563827807dcee49f9b9f63bedea9e130584") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + extends("tcl") diff --git a/var/spack/repos/builtin/packages/tcl-tclxml/package.py b/var/spack/repos/builtin/packages/tcl-tclxml/package.py index 5d39a94ec79b6c..97183cf5b469ce 100644 --- a/var/spack/repos/builtin/packages/tcl-tclxml/package.py +++ b/var/spack/repos/builtin/packages/tcl-tclxml/package.py @@ -20,6 +20,8 @@ class TclTclxml(AutotoolsPackage): version("3.2", sha256="f4116b6680b249ce74b856a121762361ca09e6256f0c8ad578d1c661b822cb39") version("3.1", sha256="9b017f29c7a06fa1a57d1658bd1d3867297c26013604bdcc4d7b0ca2333552c9") + depends_on("c", type="build") # generated + extends("tcl") depends_on("tcl-tcllib") diff --git a/var/spack/repos/builtin/packages/tcl/package.py b/var/spack/repos/builtin/packages/tcl/package.py index 446a0fe7ed20c0..d95d80331e5c1c 100644 --- a/var/spack/repos/builtin/packages/tcl/package.py +++ b/var/spack/repos/builtin/packages/tcl/package.py @@ -52,6 +52,9 @@ class Tcl(AutotoolsPackage, NMakePackage, SourceforgePackage, TclHelper): version("8.6.3", sha256="6ce0778de0d50daaa9c345d7c1fd1288fb658f674028812e7eeee992e3051005") version("8.5.19", sha256="d3f04456da873d17f02efc30734b0300fb6c3b85028d445fe284b83253a6db18") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + extendable = True depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/tclap/package.py b/var/spack/repos/builtin/packages/tclap/package.py index a2ab335f318f64..56e759821f917e 100644 --- a/var/spack/repos/builtin/packages/tclap/package.py +++ b/var/spack/repos/builtin/packages/tclap/package.py @@ -19,3 +19,5 @@ class Tclap(AutotoolsPackage, SourceforgePackage): version("1.2.3", sha256="19e7db5281540f154348770bc3a7484575f4f549aef8e00aabcc94b395f773c9") version("1.2.2", sha256="f5013be7fcaafc69ba0ce2d1710f693f61e9c336b6292ae4f57554f59fde5837") version("1.2.1", sha256="9f9f0fe3719e8a89d79b6ca30cf2d16620fba3db5b9610f9b51dd2cd033deebb") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/tcoffee/package.py b/var/spack/repos/builtin/packages/tcoffee/package.py index 1564b43ef891f8..c6cdbc2d9f8341 100644 --- a/var/spack/repos/builtin/packages/tcoffee/package.py +++ b/var/spack/repos/builtin/packages/tcoffee/package.py @@ -14,6 +14,9 @@ class Tcoffee(MakefilePackage): version("2017-08-17", commit="f389b558e91d0f82e7db934d9a79ce285f853a71") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("perl", type=("build", "run")) depends_on("blast-plus") depends_on("dialign-tx") diff --git a/var/spack/repos/builtin/packages/tcpdump/package.py b/var/spack/repos/builtin/packages/tcpdump/package.py index 57c2a3f0dc2d40..de2b66e1354570 100644 --- a/var/spack/repos/builtin/packages/tcpdump/package.py +++ b/var/spack/repos/builtin/packages/tcpdump/package.py @@ -24,5 +24,7 @@ class Tcpdump(AutotoolsPackage): version("4.9.2", sha256="798b3536a29832ce0cbb07fafb1ce5097c95e308a6f592d14052e1ef1505fe79") version("4.9.1", sha256="f9448cf4deb2049acf713655c736342662e652ef40dbe0a8f6f8d5b9ce5bd8f3") + depends_on("c", type="build") # generated + depends_on("libpcap") depends_on("libpcap@1.10.0:", when="@4.99.0:") diff --git a/var/spack/repos/builtin/packages/tcsh/package.py b/var/spack/repos/builtin/packages/tcsh/package.py index 5196673c87dab7..2b8a1d9a6c8de4 100644 --- a/var/spack/repos/builtin/packages/tcsh/package.py +++ b/var/spack/repos/builtin/packages/tcsh/package.py @@ -30,6 +30,8 @@ class Tcsh(AutotoolsPackage): version("6.21.00", sha256="c438325448371f59b12a4c93bfd3f6982e6f79f8c5aef4bc83aac8f62766e972") version("6.20.00", sha256="b89de7064ab54dac454a266cfe5d8bf66940cb5ed048d0c30674ea62e7ecef9d") + depends_on("c", type="build") # generated + # Upstream patches fedora_patch( "96b95844cc685b11ed0cc215137e394da4505d41", diff --git a/var/spack/repos/builtin/packages/tdengine/package.py b/var/spack/repos/builtin/packages/tdengine/package.py index 6b6d5488873be1..e6760d3078ca72 100644 --- a/var/spack/repos/builtin/packages/tdengine/package.py +++ b/var/spack/repos/builtin/packages/tdengine/package.py @@ -18,6 +18,9 @@ class Tdengine(CMakePackage): version("2.0.3.2", sha256="3eb8df894998d5592cce377b4f7e267972aee8adf9fc1ce60d1af532ffa9c1c6") version("2.0.3.1", sha256="69418815afcac8051f1aab600415669003b4aeec4ec2aaf09cab24636edaf51f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + @when("target=aarch64:") def cmake_args(self): args = ["-DCPUTYPE=aarch64"] diff --git a/var/spack/repos/builtin/packages/tealeaf/package.py b/var/spack/repos/builtin/packages/tealeaf/package.py index 64cd5a5db38759..443c8997334983 100644 --- a/var/spack/repos/builtin/packages/tealeaf/package.py +++ b/var/spack/repos/builtin/packages/tealeaf/package.py @@ -24,6 +24,10 @@ class Tealeaf(MakefilePackage): version("1.0", sha256="e11799d1a3fbe76041333ba98858043b225c5d65221df8c600479bc55e7197ce") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/teckit/package.py b/var/spack/repos/builtin/packages/teckit/package.py index ad918cfdb6e8c6..987d7feae9afcb 100644 --- a/var/spack/repos/builtin/packages/teckit/package.py +++ b/var/spack/repos/builtin/packages/teckit/package.py @@ -30,6 +30,9 @@ class Teckit(AutotoolsPackage): version("2.5.6", commit="41c20be2793e1afcbb8de6339af89d1eeab84fe8") version("2.5.5", commit="2733fd9895819e3697257550cc39b8e419c1ee7e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/tempestremap/package.py b/var/spack/repos/builtin/packages/tempestremap/package.py index faf870e61fe018..5733663bbd4256 100644 --- a/var/spack/repos/builtin/packages/tempestremap/package.py +++ b/var/spack/repos/builtin/packages/tempestremap/package.py @@ -28,6 +28,8 @@ class Tempestremap(AutotoolsPackage): version("2.0.1", sha256="a3f1bef8cc413a689d429ac56f2bcc2e1d282d99797c3375233de792a7448ece") version("2.0.0", sha256="5850e251a4ad04fc924452f49183e5e12c38725832a568e57fa424a844b8a000") + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/templight-tools/package.py b/var/spack/repos/builtin/packages/templight-tools/package.py index c2951943bad17e..ea41e74827c7be 100644 --- a/var/spack/repos/builtin/packages/templight-tools/package.py +++ b/var/spack/repos/builtin/packages/templight-tools/package.py @@ -16,5 +16,7 @@ class TemplightTools(CMakePackage): version("develop", branch="master") + depends_on("cxx", type="build") # generated + depends_on("cmake @2.8.7:", type="build") depends_on("boost @1.48.1: +exception+filesystem+system+graph+program_options+test+container") diff --git a/var/spack/repos/builtin/packages/templight/package.py b/var/spack/repos/builtin/packages/templight/package.py index 2dc5b50a8529cc..5bf08fa5f81a65 100644 --- a/var/spack/repos/builtin/packages/templight/package.py +++ b/var/spack/repos/builtin/packages/templight/package.py @@ -61,6 +61,8 @@ class Templight(CMakePackage): ) version("2018.07.20", commit="91589f95427620dd0a2346bd69ba922f374aa42a") + + depends_on("cxx", type="build") # generated resource( name="llvm-r337566", svn=llvm_svn.format("llvm"), diff --git a/var/spack/repos/builtin/packages/tempo/package.py b/var/spack/repos/builtin/packages/tempo/package.py index 95215a857d0a2f..9fe09fb22f9614 100644 --- a/var/spack/repos/builtin/packages/tempo/package.py +++ b/var/spack/repos/builtin/packages/tempo/package.py @@ -15,6 +15,9 @@ class Tempo(AutotoolsPackage): version("develop") version("LWA-10-17-2020", commit="6bab1083350eca24745eafed79a55156bdd1e7d5") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/tengine/package.py b/var/spack/repos/builtin/packages/tengine/package.py index e2a8cea3212f56..23753d44f0b42f 100644 --- a/var/spack/repos/builtin/packages/tengine/package.py +++ b/var/spack/repos/builtin/packages/tengine/package.py @@ -17,6 +17,9 @@ class Tengine(AutotoolsPackage): version("2.3.1", sha256="3dd93f813b80ed7581a81079a2037df6e4777b7e760fd6635b4009d344a5ab1c") version("2.3.0", sha256="17cf1380d4faefb70707970437b3f8b66f6ff4530b5e6e61970b35f59b2e2624") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pcre") def setup_run_environment(self, env): diff --git a/var/spack/repos/builtin/packages/tensorflow-serving-client/package.py b/var/spack/repos/builtin/packages/tensorflow-serving-client/package.py index 38dd6e7fd2cb8e..5b63beeb16980d 100644 --- a/var/spack/repos/builtin/packages/tensorflow-serving-client/package.py +++ b/var/spack/repos/builtin/packages/tensorflow-serving-client/package.py @@ -22,5 +22,7 @@ class TensorflowServingClient(CMakePackage): version("2.1.0", sha256="7a31d8cfa1d861f73953d4728665dd6d74e205d1fa01062a6c2b1aeee4674f73") version("2.0.0", sha256="55310ad484f257173ad5194df7f7116b2049260c3d29049ef8d789d1d8bd9948") + depends_on("cxx", type="build") # generated + depends_on("protobuf") depends_on("grpc") diff --git a/var/spack/repos/builtin/packages/tensorpipe/package.py b/var/spack/repos/builtin/packages/tensorpipe/package.py index e2e58e2efc87e8..efe9beb8ae40b3 100644 --- a/var/spack/repos/builtin/packages/tensorpipe/package.py +++ b/var/spack/repos/builtin/packages/tensorpipe/package.py @@ -31,6 +31,9 @@ class Tensorpipe(CMakePackage): "2020-06-26", commit="3b8089c9c6717038cff44b70b881d0ad6c93e679", submodules=True ) # py-torch@1.6 + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + generator("ninja") depends_on("cmake@3.5:", type="build") depends_on("libuv@1.26:") diff --git a/var/spack/repos/builtin/packages/termcap/package.py b/var/spack/repos/builtin/packages/termcap/package.py index 58cf70e46605a6..d8b702aa3abd75 100644 --- a/var/spack/repos/builtin/packages/termcap/package.py +++ b/var/spack/repos/builtin/packages/termcap/package.py @@ -18,3 +18,5 @@ class Termcap(AutotoolsPackage): version("1.3.1", sha256="91a0e22e5387ca4467b5bcb18edf1c51b930262fd466d5fda396dd9d26719100") version("1.3", sha256="3eb4b98ae08408ca65dd9275f3c8e56e2feac1261fae914a9b21273db51cf000") + + depends_on("c", type="build") # generated diff --git a/var/spack/repos/builtin/packages/tesseract/package.py b/var/spack/repos/builtin/packages/tesseract/package.py index f74fdda513ddbe..7f8359f29713ce 100644 --- a/var/spack/repos/builtin/packages/tesseract/package.py +++ b/var/spack/repos/builtin/packages/tesseract/package.py @@ -18,6 +18,8 @@ class Tesseract(AutotoolsPackage): version("4.1.0", sha256="5c5ed5f1a76888dc57a83704f24ae02f8319849f5c4cf19d254296978a1a1961") version("4.0.0", sha256="a1f5422ca49a32e5f35c54dee5112b11b99928fc9f4ee6695cdc6768d69f61dd") + depends_on("cxx", type="build") # generated + # do not fetch the jar files from Makefile patch("java_Makefile.patch") diff --git a/var/spack/repos/builtin/packages/test-drive/package.py b/var/spack/repos/builtin/packages/test-drive/package.py index 921bc213c23ca5..194cfbfe13f64a 100644 --- a/var/spack/repos/builtin/packages/test-drive/package.py +++ b/var/spack/repos/builtin/packages/test-drive/package.py @@ -17,3 +17,5 @@ class TestDrive(MesonPackage): license("Apache-2.0") version("0.4.0", "effabe5d46ea937a79f3ea8d37eea43caf38f9f1377398bad0ca02784235e54a") + + depends_on("fortran", type="build") # generated diff --git a/var/spack/repos/builtin/packages/tests-sos/package.py b/var/spack/repos/builtin/packages/tests-sos/package.py index e83d83ba363990..41a6274e7042cc 100644 --- a/var/spack/repos/builtin/packages/tests-sos/package.py +++ b/var/spack/repos/builtin/packages/tests-sos/package.py @@ -16,6 +16,10 @@ class TestsSos(AutotoolsPackage): version("1.5.2", sha256="3a063963ef779419aadc6b21ff2f1e4dcdd3e95fa8ed23545434e56757f3187f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/tetgen/package.py b/var/spack/repos/builtin/packages/tetgen/package.py index 7faeedc9fe9317..ce56f975aee8b5 100644 --- a/var/spack/repos/builtin/packages/tetgen/package.py +++ b/var/spack/repos/builtin/packages/tetgen/package.py @@ -42,6 +42,8 @@ class Tetgen(Package): url="http://www.tetgen.org/files/tetgen1.4.3.tar.gz", ) + depends_on("cxx", type="build") # generated + variant("pic", default=True, description="Builds the library in pic mode.") variant("debug", default=False, description="Builds the library in debug mode.") variant( diff --git a/var/spack/repos/builtin/packages/tethex/package.py b/var/spack/repos/builtin/packages/tethex/package.py index 2698cde1c28110..028040d497edd7 100644 --- a/var/spack/repos/builtin/packages/tethex/package.py +++ b/var/spack/repos/builtin/packages/tethex/package.py @@ -20,6 +20,8 @@ class Tethex(CMakePackage): version("develop", branch="master") version("0.0.7", sha256="5f93f434c6d110be3d8d0eba69336864d0e5a26aba2d444eb25adbd2caf73645") + depends_on("cxx", type="build") # generated + variant( "build_type", default="Release", diff --git a/var/spack/repos/builtin/packages/texinfo/package.py b/var/spack/repos/builtin/packages/texinfo/package.py index 22b338b3b3881c..ae3cfc95822dc5 100644 --- a/var/spack/repos/builtin/packages/texinfo/package.py +++ b/var/spack/repos/builtin/packages/texinfo/package.py @@ -38,6 +38,9 @@ class Texinfo(AutotoolsPackage, GNUMirrorPackage): version("5.1", sha256="50e8067f9758bb2bf175b69600082ac4a27c464cb4bcd48a578edd3127216600") version("5.0", sha256="2c579345a39a2a0bb4b8c28533f0b61356504a202da6a25d17d4d866af7f5803") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("perl") depends_on("ncurses") depends_on("gettext") diff --git a/var/spack/repos/builtin/packages/texlive/package.py b/var/spack/repos/builtin/packages/texlive/package.py index 928a2a868050e3..55645523d0cc1f 100644 --- a/var/spack/repos/builtin/packages/texlive/package.py +++ b/var/spack/repos/builtin/packages/texlive/package.py @@ -82,6 +82,10 @@ class Texlive(AutotoolsPackage): when="@{0}".format(release["version"]), ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # The following variant is only for the "live" binary installation. # There does not seem to be a complete list of schemes. # Examples include: diff --git a/var/spack/repos/builtin/packages/texstudio/package.py b/var/spack/repos/builtin/packages/texstudio/package.py index a775f1688696df..c33575a8c2a20a 100644 --- a/var/spack/repos/builtin/packages/texstudio/package.py +++ b/var/spack/repos/builtin/packages/texstudio/package.py @@ -25,6 +25,9 @@ class Texstudio(QMakePackage): version("2.12.12", sha256="5978daa806c616f9a1eea231bb613f0bc1037d7d2435ee5ca6b14fe88a2caa8c") version("2.12.10", sha256="92cf9cbb536e58a5929611fa40438cd9d7ea6880022cd3c5de0483fd15d3df0b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "poppler", default=True, diff --git a/var/spack/repos/builtin/packages/textparser/package.py b/var/spack/repos/builtin/packages/textparser/package.py index 54658a61baeff1..fff741ef064db8 100644 --- a/var/spack/repos/builtin/packages/textparser/package.py +++ b/var/spack/repos/builtin/packages/textparser/package.py @@ -18,6 +18,10 @@ class Textparser(CMakePackage): version("master", branch="master") version("1.8.8", commit="31ec1f23df21611d0765c27a6458fdbbf4cde66d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Activate MPI support") variant("fapi", default=False, description="This option is for building Fortran API.") variant( diff --git a/var/spack/repos/builtin/packages/tfel/package.py b/var/spack/repos/builtin/packages/tfel/package.py index 39d13b29cda0ef..fab93d082f81a4 100644 --- a/var/spack/repos/builtin/packages/tfel/package.py +++ b/var/spack/repos/builtin/packages/tfel/package.py @@ -49,26 +49,32 @@ class Tfel(CMakePackage): # released version version( - "4.2.0", - sha256="cf8a309c4d19a8e36232f8540ff28aa0d6285645f8dfb1ac57dd481ba3453e02", + "4.2.1", + sha256="14f27257014a992a4e511f35390e4b9a086f6a5ed74087f891f8c00306f1758f", preferred=True, ) + version("4.2.0", sha256="cf8a309c4d19a8e36232f8540ff28aa0d6285645f8dfb1ac57dd481ba3453e02") + version("4.1.2", sha256="e9e7c2aeef7d19f92ffd83b2a7fc54186e648d25e42696b5cba7c4bfa194276a") version("4.1.1", sha256="e0f229094e88a2d6c6a78ae60fa77d2f4b8294e9d810c21fd7df61004bf29a33") version("4.1.0", sha256="7505c41da9df5fb3c281651ff29b58a18fd4d91b92f839322f0267269c5f1375") + version("4.0.3", sha256="c21c13fbd5ad8f52e9874a7931c619b9b7e69d69a2ab003e09628a1e9945542d") version("4.0.2", sha256="f5c8a285e00f334fd3e1a95f9a393fed393990ee827dae3766da1decfaa1074e") version("4.0.1", sha256="f54741b7e654cb12511ca68c6494a4789ba41b5ada4cd345ad2bc7da631309d1") version("4.0.0", sha256="7a0c32c8a9cd2fd65cbcb54fff802f303665d7cba5d46f92ff3d55f057c92845") + version("3.4.6", sha256="88c3d076ca360ffbadb6ffeb6cbc1267a9da0e098e7c182407501820ba2bf6e7") version("3.4.5", sha256="064d6926106e0052829182087a025f58fc3e98dfb69967e0795d9cdb4e1500b9") version("3.4.4", sha256="a518a7a761fec6c92fab6dc9df5694c28aad2554c7c649d707dfdc71fe93d2ca") version("3.4.3", sha256="e58515effe57d473385fe0b592d9e1d1286c0901496c61268d9efd92a2550849") version("3.4.2", sha256="f39e65b2282fd3b108081388f161ba662407b192fed68fafe324c7528026a202") version("3.4.1", sha256="04cd4257e39e1b05e02b12ad941106fff4d439934bdfe6e950c08bab23e2a4ba") version("3.4.0", sha256="176feb4c1726d0f21f4c656b20620dce6f99ab7f5f09a66905aeb643a316bbc1") + version("3.3.5", sha256="4319a7a6363f69f7f0c78abb0741bc90b49dc777831c2886b13aca61c79bae04") version("3.3.4", sha256="3829e0b07520a14b17a8e75f879683a0d97b04b897aeb3ad0dd96dc94c0fcd6b") version("3.3.3", sha256="5a1fb43a8086e594e0a7234c1f227e6e005d384fd84affe3acadccb68fe2bbf6") version("3.3.2", sha256="17127ffdf92367c10041258f70a88ac3dcb0a7d89c1766a6aa1ebaeb4d03d55d") version("3.3.1", sha256="ad07329c25874832fbacc999b5f88d9b9ab84415bc897a6f3cae5b4afcd7661f") version("3.3.0", sha256="884ad68b0fbbededc3a602d559433c24114ae4534dc9f0a759d31ca3589dace0") + version("3.2.10", sha256="3fe24a2811811d68ce5735f601d12fae7b1da465ac5b2917bd0887782218f2bd") version("3.2.9", sha256="4ee26f2b5db24dc10113100ae0165cbbe8c7960c99c0e64ec96410788774aa54") version("3.2.8", sha256="8bc3db975a87c3f0da3a857ab45cd237ee02f4ab35094a7db28b01d92676a78c") version("3.2.7", sha256="05a055a955dd52f0b2dbf9d518a86c58805b2b63f3766268d72cacd6126c187d") @@ -79,6 +85,7 @@ class Tfel(CMakePackage): version("3.2.2", sha256="69b01ae0d1f9140b619aaa9135948284ff40d4654672c335e55ab4934c02eb43") version("3.2.1", sha256="12786480524a7fe86889120fb334fa00211dfd44ad5ec71e2279e7adf1ddc807") version("3.2.0", sha256="089d79745e9f267a2bd03dcd8841d484e668bd27f5cc2ff7453634cb39016848") + version("3.1.13", sha256="f0e5dddb5d32931dcab2d060029da31aacb47cd3251297d701b86d93c8fa0255") version("3.1.12", sha256="770aa4680063ddd7be4f735ed1ec9402e83502d1ceb688c79cdba27490b7bf98") version("3.1.11", sha256="578e3463db029bfed7b24bfa1226394e6998cc95959b46246ab9bf5cfb6d65f0") version("3.1.10", sha256="635a2507f139bb6d893e0a7bb223cd1d9ddab5dfddee179a3b2e9f8b0b63e065") @@ -92,6 +99,7 @@ class Tfel(CMakePackage): version("3.1.2", sha256="2eaa191f0699031786d8845ac769320a42c7e035991d82b3738289886006bfba") version("3.1.1", sha256="a4c0c21c6c22752cc90c82295a6bafe637b3395736c66fcdfcfe4aeccb5be7af") version("3.1.0", sha256="dd67b400b5f157aef503aa3615b9bf6b52333876a29e75966f94ee3f79ab37ad") + version("3.0.13", sha256="04987d318c46294853481fa987dd09e8ca38493b8994a363d20623f9b8f009ff") version("3.0.12", sha256="f7dae9e5a00c721445b3167ec7bc71747bab047ddb36103f232b72d3e4d3cd00") version("3.0.11", sha256="3d2d249534563887d301f6be5c4c2e4be33258b9d712d550d4c71271b764cc2d") version("3.0.10", sha256="1604f22948b4af6ef84839d97909f7011ce614254e1a6de092ddc61832f7d343") @@ -107,6 +115,10 @@ class Tfel(CMakePackage): version("3.0.0", sha256="b2cfaa3d7900b4f32f327565448bf9cb8e4242763f651bff8f231f378a278f9e") version("2.0.4", sha256="cac078435aad73d9a795516f161b320d204d2099d6a286e786359f484355a43a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # solvers interfaces variant("castem", default=True, description="Enables Cast3M interface") variant("aster", default=True, description="Enables Code_Aster interface") @@ -194,6 +206,9 @@ def cmake_args(self): return args + def setup_run_environment(self, env): + env.append_path("LD_LIBRARY_PATH", self.prefix.lib) + def check(self): """Skip the target 'test' which doesn't build all test programs used by tests""" with working_dir(self.build_directory): diff --git a/var/spack/repos/builtin/packages/the-silver-searcher/package.py b/var/spack/repos/builtin/packages/the-silver-searcher/package.py index 5d0d3caa9ba52e..ac3285a6cb4b86 100644 --- a/var/spack/repos/builtin/packages/the-silver-searcher/package.py +++ b/var/spack/repos/builtin/packages/the-silver-searcher/package.py @@ -19,6 +19,8 @@ class TheSilverSearcher(AutotoolsPackage): version("0.32.0", sha256="944ca77e498f344b2bfbd8df6d5d8df7bbc1c7e080b50c0bab3d1a9a55151b60") version("0.30.0", sha256="b4bf9e50bf48bc5fde27fc386f7bcad8644ef15a174c862a10813e81bd127e69") + depends_on("c", type="build") # generated + depends_on("pcre") depends_on("xz") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/thepeg/package.py b/var/spack/repos/builtin/packages/thepeg/package.py index e15de0489037c6..318049a1b349d0 100644 --- a/var/spack/repos/builtin/packages/thepeg/package.py +++ b/var/spack/repos/builtin/packages/thepeg/package.py @@ -40,6 +40,8 @@ class Thepeg(AutotoolsPackage): # version('1.9.1', sha256='8ec6d0669eba51e308be4e33aeb219999418170eae3aad93ec1491c942c2a4e9') version("1.9.0", sha256="3ee58e5e3a26184567df1b9a10ca70df228e86f322e72f018dd7d8d5a4700a5d") version("1.8.3", sha256="55ede3a3dd0bd07b90d0d49cf7ae28c18cd965780fdf53528508b97d57152fc7") + + depends_on("cxx", type="build") # generated # version('1.8.2', sha256='44ccd0d70e42bb6ecd801a51bade6c25b3953c56f33017402d4f52ee6492dffa') # version('1.8.1', sha256='84c2a212a681545cddd541dca191eb65d96f41df86c87480b6f4f7d4f9683562') # version('1.8.0', sha256='4b22fda1078f410b999a23a17f611c9ae3a7f0f4cee4e83dc82c9336b7adf037') diff --git a/var/spack/repos/builtin/packages/thermo4pfm/package.py b/var/spack/repos/builtin/packages/thermo4pfm/package.py index 421fc050281468..a6418a1cb1c1cb 100644 --- a/var/spack/repos/builtin/packages/thermo4pfm/package.py +++ b/var/spack/repos/builtin/packages/thermo4pfm/package.py @@ -18,4 +18,6 @@ class Thermo4pfm(CMakePackage): version("1.1.1", sha256="cff3c83405224a39bb34c57e444e208e94c6782d84303acd0588d1dfa61513a1") + depends_on("cxx", type="build") # generated + depends_on("boost") diff --git a/var/spack/repos/builtin/packages/thornado-mini/package.py b/var/spack/repos/builtin/packages/thornado-mini/package.py index efe7b935cb04d0..65cbf0ee7a0257 100644 --- a/var/spack/repos/builtin/packages/thornado-mini/package.py +++ b/var/spack/repos/builtin/packages/thornado-mini/package.py @@ -21,6 +21,8 @@ class ThornadoMini(MakefilePackage): version("1.0", sha256="8a9f97acc823d374cce567831270cfcc50fa968949e49159c7e3442b93a2827d") + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("hdf5+fortran") depends_on("lapack") diff --git a/var/spack/repos/builtin/packages/thrift/package.py b/var/spack/repos/builtin/packages/thrift/package.py index 4ad8a10f1b0d97..8c6f6aaeecff87 100644 --- a/var/spack/repos/builtin/packages/thrift/package.py +++ b/var/spack/repos/builtin/packages/thrift/package.py @@ -35,6 +35,9 @@ class Thrift(Package): version("0.10.0", sha256="2289d02de6e8db04cbbabb921aeb62bfe3098c4c83f36eec6c31194301efa10b") version("0.9.3", sha256="b0740a070ac09adde04d43e852ce4c320564a292f26521c46b78e0641564969e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("pic", default=True, description="Build position independent code") variant("c", default=True, description="Build support for C-family languages") variant("java", default=False, description="Build support for java") diff --git a/var/spack/repos/builtin/packages/thrust/package.py b/var/spack/repos/builtin/packages/thrust/package.py index ab37e4b347d446..5d70406dc68275 100644 --- a/var/spack/repos/builtin/packages/thrust/package.py +++ b/var/spack/repos/builtin/packages/thrust/package.py @@ -6,15 +6,22 @@ from spack.package import * -class Thrust(Package): +class Thrust(Package, CMakePackage): """Thrust is a parallel algorithms library which resembles the C++ Standard Template Library (STL).""" homepage = "https://thrust.github.io" url = "https://github.com/NVIDIA/thrust/archive/1.12.0.tar.gz" + git = "https://github.com/NVIDIA/thrust.git" license("BSL-1.0") + # to support CMake build system package installation, Thrust + # submodules must be downloaded, which aren't included in tarballs + version("1.17.2", commit="1ac51f2b6219ff17d15d93f2e0be85038556f346", submodules=True) + version("1.17.1", commit="4dd337f41622f5624359d6a958e3cb6ac7c6f57e", submodules=True) + version("1.17.0", commit="6a3078c64cab0e2f276340fa5dcafa0d758ed890", submodules=True) + # versions prior to 1.17 install from tarballs version("1.16.0", sha256="93b9553e3ee544e05395022bea67e6d600f8f3eb680950ec7cf73c0f55162487") version("1.15.0", sha256="0eeaf5a77cd7cb143f3443bd96b215ae1c4eacf18a712762e6a5c85213f80cc2") version("1.14.0", sha256="ddba9f3ed47b1a33562a4aea2d000a2ca2abcd45ff760af12aa81b8b7e492962") @@ -45,7 +52,32 @@ class Thrust(Package): version("1.8.3", sha256="2254200512fde7f4fd0fc74306286e192ea6ac9037576dbd31309c0579229dbb") version("1.8.2", sha256="83bc9e7b769daa04324c986eeaf48fcb53c2dda26bcc77cb3c07f4b1c359feb8") - def install(self, spec, prefix): + depends_on("cxx", type="build") # generated + + # leave the build system of pre-1.17 as originally implemented, + # but use CMake for newer versions + build_system( + conditional("cmake", when="@1.17:"), conditional("generic", when="@:1.16"), default="cmake" + ) + + # minimum CMake version is 3.15 for plain package installation (no + # examples, tests, etc) + depends_on("cmake@3.15:", when="@1.17:", type="build") + + +class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder): + def cmake_args(self): + return [ + self.define("THRUST_ENABLE_HEADER_TESTING", "OFF"), + self.define("THRUST_ENABLE_TESTING", "OFF"), + self.define("THRUST_ENABLE_EXAMPLES", "OFF"), + self.define("THRUST_ENABLE_BENCHMARKS", "OFF"), + self.define("THRUST_INCLUDE_CUB_CMAKE", "OFF"), + ] + + +class GenericBuilder(spack.build_systems.generic.GenericBuilder): + def install(self, pkg, spec, prefix): install_tree("doc", join_path(prefix, "doc")) install_tree("examples", join_path(prefix, "examples")) install_tree("thrust", join_path(prefix, "include", "thrust")) diff --git a/var/spack/repos/builtin/packages/tig/package.py b/var/spack/repos/builtin/packages/tig/package.py index 112a775db36d44..31da344e44323e 100644 --- a/var/spack/repos/builtin/packages/tig/package.py +++ b/var/spack/repos/builtin/packages/tig/package.py @@ -18,4 +18,6 @@ class Tig(AutotoolsPackage): version("2.5.8", sha256="b70e0a42aed74a4a3990ccfe35262305917175e3164330c0889bd70580406391") version("2.2.2", sha256="316214d87f7693abc0cbe8ebbb85decdf5e1b49d7ad760ac801af3dd73385e35") + depends_on("c", type="build") # generated + depends_on("ncurses") diff --git a/var/spack/repos/builtin/packages/tiled-mm/package.py b/var/spack/repos/builtin/packages/tiled-mm/package.py index 9b65bec94c77a1..9a2ea91555ce81 100644 --- a/var/spack/repos/builtin/packages/tiled-mm/package.py +++ b/var/spack/repos/builtin/packages/tiled-mm/package.py @@ -20,10 +20,13 @@ class TiledMm(CMakePackage, CudaPackage, ROCmPackage): version("master", branch="master") + version("2.3.1", sha256="68914a483e62f796b790ea428210b1d5ef5943d6289e53d1aa62f56a20fbccc8") version("2.3", sha256="504c6201f5a9be9741c55036bf8e2656ae3f4bc19996295b264ee5e303c9253c") version("2.2", sha256="6d0b49c9588ece744166822fd44a7bc5bec3dc666b836de8bf4bf1a7bb675aac") version("2.0", sha256="ea554aea8c53d7c8e40044e6d478c0e8137d7e8b09d7cb9650703430d92cf32e") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("examples", default=False, description="Enable examples") variant("tests", default=False, description="Enable tests") diff --git a/var/spack/repos/builtin/packages/time/package.py b/var/spack/repos/builtin/packages/time/package.py index bb9be7139423fe..7e6e7d8578d5e1 100644 --- a/var/spack/repos/builtin/packages/time/package.py +++ b/var/spack/repos/builtin/packages/time/package.py @@ -18,4 +18,6 @@ class Time(AutotoolsPackage, GNUMirrorPackage): version("1.9", sha256="fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e") + depends_on("c", type="build") # generated + build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/timedatex/package.py b/var/spack/repos/builtin/packages/timedatex/package.py index 2f9483160efbcb..09555fe7e4edf5 100644 --- a/var/spack/repos/builtin/packages/timedatex/package.py +++ b/var/spack/repos/builtin/packages/timedatex/package.py @@ -23,6 +23,8 @@ class Timedatex(MakefilePackage): version("0.5", sha256="bc54960bb9554bb2b34985ba2b8a78480db568c3c6a9d26f2ab34de1bc0aab11") version("0.4", sha256="204285eb03c6cec9ae1c7fdb99e7c996259ec5a918d72bf6bc28564a6f738d4a") + depends_on("c", type="build") # generated + depends_on("glib") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/timemory/package.py b/var/spack/repos/builtin/packages/timemory/package.py index 290a85bc9f042f..5ae88c6d466e80 100644 --- a/var/spack/repos/builtin/packages/timemory/package.py +++ b/var/spack/repos/builtin/packages/timemory/package.py @@ -28,6 +28,10 @@ class Timemory(CMakePackage, PythonExtension): version("3.0.1", commit="ef638e1cde90275ce7c0e12fc4902c27bcbdeefd", submodules=True) version("3.0.0", commit="b36b1673b2c6b7ff3126d8261bef0f8f176c7beb", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Build shared libraries") variant("static", default=False, description="Build static libraries") variant("pic", default=True, description="Build position independent code") diff --git a/var/spack/repos/builtin/packages/timew/package.py b/var/spack/repos/builtin/packages/timew/package.py index cc88fa2b11dfd6..aaf3318511d529 100644 --- a/var/spack/repos/builtin/packages/timew/package.py +++ b/var/spack/repos/builtin/packages/timew/package.py @@ -18,3 +18,5 @@ class Timew(CMakePackage): license("MIT", checked_by="taliaferro") version("1.7.1", sha256="5e0817fbf092beff12598537c894ec1f34b0a21019f5a3001fe4e6d15c11bd94") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/tini/package.py b/var/spack/repos/builtin/packages/tini/package.py index 5fdf47d9ae3c27..29b67ea32845d9 100644 --- a/var/spack/repos/builtin/packages/tini/package.py +++ b/var/spack/repos/builtin/packages/tini/package.py @@ -17,4 +17,6 @@ class Tini(CMakePackage): license("MIT") version("0.19.0", sha256="0fd35a7030052acd9f58948d1d900fe1e432ee37103c5561554408bdac6bbf0d") + + depends_on("c", type="build") # generated patch("tini_static_rpath_issue.patch", when="@0.19.0:") diff --git a/var/spack/repos/builtin/packages/tiny-tensor-compiler/package.py b/var/spack/repos/builtin/packages/tiny-tensor-compiler/package.py index bd459d78b1b56f..cba0e2cb8b4df8 100644 --- a/var/spack/repos/builtin/packages/tiny-tensor-compiler/package.py +++ b/var/spack/repos/builtin/packages/tiny-tensor-compiler/package.py @@ -21,6 +21,9 @@ class TinyTensorCompiler(CMakePackage): version("0.3.1", sha256="e512b92f9ef8f21362ea4a8f2655338769bc7fcf9de543e3dc7db86b696695b3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Shared library") variant("level-zero", default=False, description="Build tinytc_ze (Level Zero runtime)") variant("opencl", default=True, description="Build tintc_cl (OpenCL runtime)") @@ -31,7 +34,10 @@ class TinyTensorCompiler(CMakePackage): depends_on("cmake@3.23.0:", type="build") depends_on("double-batched-fft-library ~sycl ~level-zero ~opencl@0.5.1:", type="link") depends_on("oneapi-level-zero@1.13:", when="+level-zero") + depends_on("opencl-c-headers@2022.01.04:", when="+opencl") depends_on("opencl-icd-loader@2022.01.04:", when="+opencl", type="link") + depends_on("re2c@3.0:", type="build") + depends_on("bison@3.8.2:", type="build") def cmake_args(self): cxx_compiler = os.path.basename(self.compiler.cxx) diff --git a/var/spack/repos/builtin/packages/tinygltf/package.py b/var/spack/repos/builtin/packages/tinygltf/package.py index ccabb2a5f9a9f8..63c189c263432d 100644 --- a/var/spack/repos/builtin/packages/tinygltf/package.py +++ b/var/spack/repos/builtin/packages/tinygltf/package.py @@ -22,4 +22,7 @@ class Tinygltf(CMakePackage): version("2.6.3", sha256="f61e4a501baa7fbf31b18ea0f6815a59204ad0de281f7b04f0168f6bbd17c340") version("2.5.0", sha256="5d85bd556b60b1b69527189293cfa4902957d67fabb8582b6532f23a5ef27ec1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.6:", type="build") diff --git a/var/spack/repos/builtin/packages/tinyobjloader/package.py b/var/spack/repos/builtin/packages/tinyobjloader/package.py index 8f89fb0369edce..49743a4cb8d671 100644 --- a/var/spack/repos/builtin/packages/tinyobjloader/package.py +++ b/var/spack/repos/builtin/packages/tinyobjloader/package.py @@ -16,4 +16,6 @@ class Tinyobjloader(CMakePackage): version("1.0.6", sha256="19ee82cd201761954dd833de551edb570e33b320d6027e0d91455faf7cd4c341") + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8.11:", type="build") diff --git a/var/spack/repos/builtin/packages/tinyxml2/package.py b/var/spack/repos/builtin/packages/tinyxml2/package.py index 0818ef11a69044..3c6eb0eb1f8dd7 100644 --- a/var/spack/repos/builtin/packages/tinyxml2/package.py +++ b/var/spack/repos/builtin/packages/tinyxml2/package.py @@ -26,6 +26,8 @@ class Tinyxml2(CMakePackage): version("2.1.0", sha256="4bdd6569fdce00460bf9cda0ff5dcff46d342b4595900d849cc46a277a74cce6") version("2.0.2", sha256="3cc3aa09cd1ce77736f23488c7cb24e65e11daed4e870ddc8d352aa4070c7c74") + depends_on("cxx", type="build") # generated + variant("shared", default=False, description="Build shared library") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/tioga/package.py b/var/spack/repos/builtin/packages/tioga/package.py index 6fdf41d141d7b7..79684d2cbcb66a 100644 --- a/var/spack/repos/builtin/packages/tioga/package.py +++ b/var/spack/repos/builtin/packages/tioga/package.py @@ -20,9 +20,13 @@ class Tioga(CMakePackage): # The original TIOGA repo has possibly been abandoned, # so work on TIOGA has continued in the Exawind project version("develop", git="https://github.com/Exawind/tioga.git", branch="exawind") + version("1.1.0", git="https://github.com/Exawind/tioga.git", tag="v1.1.0") version("1.0.0", git="https://github.com/Exawind/tioga.git", tag="v1.0.0") version("master", branch="master") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=sys.platform != "darwin", description="Build shared libraries") variant("pic", default=True, description="Position independent code") variant("nodegid", default=True, description="Enable support for global Node IDs") diff --git a/var/spack/repos/builtin/packages/tippecanoe/package.py b/var/spack/repos/builtin/packages/tippecanoe/package.py index 420aa6cc643270..3a38b6971eec4e 100644 --- a/var/spack/repos/builtin/packages/tippecanoe/package.py +++ b/var/spack/repos/builtin/packages/tippecanoe/package.py @@ -18,6 +18,9 @@ class Tippecanoe(MakefilePackage): version("1.36.0", sha256="0e385d1244a0d836019f64039ea6a34463c3c2f49af35d02c3bf241aec41e71b") version("1.34.3", sha256="7a2dd2376a93d66a82c8253a46dbfcab3eaaaaca7bf503388167b9ee251bee54") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("sqlite") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/tiptop/package.py b/var/spack/repos/builtin/packages/tiptop/package.py index 6848c1adf46826..075509922b8e59 100644 --- a/var/spack/repos/builtin/packages/tiptop/package.py +++ b/var/spack/repos/builtin/packages/tiptop/package.py @@ -16,6 +16,8 @@ class Tiptop(AutotoolsPackage): version("master", commit="529886d445ec32febad14246245372a8f244b3eb") + depends_on("c", type="build") # generated + depends_on("papi") depends_on("byacc", type="build") depends_on("flex", type="build") diff --git a/var/spack/repos/builtin/packages/tiramisu/package.py b/var/spack/repos/builtin/packages/tiramisu/package.py index c6e74e1546b997..d30e4196122aa0 100644 --- a/var/spack/repos/builtin/packages/tiramisu/package.py +++ b/var/spack/repos/builtin/packages/tiramisu/package.py @@ -23,6 +23,9 @@ class Tiramisu(CMakePackage, CudaPackage, PythonExtension): version("master", branch="master") version("2023-2-8", commit="2cd0c43cc1656bfa43cfb6e81d06f770cbf7251e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("python", default=True, description="Install python bindings.") extends("python", when="+python") variant( diff --git a/var/spack/repos/builtin/packages/tix/package.py b/var/spack/repos/builtin/packages/tix/package.py index c9513d5e9b6f9c..de73e2516e0427 100644 --- a/var/spack/repos/builtin/packages/tix/package.py +++ b/var/spack/repos/builtin/packages/tix/package.py @@ -21,6 +21,8 @@ class Tix(AutotoolsPackage): version("8.4.3", sha256="562f040ff7657e10b5cffc2c41935f1a53c6402eb3d5f3189113d734fd6c03cb") + depends_on("c", type="build") # generated + extends("tcl", type=("build", "link", "run")) depends_on("tk", type=("build", "link", "run")) @@ -77,12 +79,12 @@ def darwin_fix(self): if "platform=darwin" in self.spec: fix_darwin_install_name(self.prefix.lib.Tix + str(self.version)) - def test(self): + def test_tcl(self): + """Test that tix can be loaded""" test_data_dir = self.test_suite.current_test_data_dir test_file = test_data_dir.join("test.tcl") - self.run_test( - self.spec["tcl"].command.path, test_file, purpose="test that tix can be loaded" - ) + tcl = self.spec["tcl"].command + tcl(test_file) @property def libs(self): diff --git a/var/spack/repos/builtin/packages/tixi/package.py b/var/spack/repos/builtin/packages/tixi/package.py index 269f1477f96135..8540ef640c0cb5 100644 --- a/var/spack/repos/builtin/packages/tixi/package.py +++ b/var/spack/repos/builtin/packages/tixi/package.py @@ -22,6 +22,10 @@ class Tixi(CMakePackage): version("3.0.3", sha256="3584e0cec6ab811d74fb311a9af0663736b1d7f11b81015fcb378efaf5ad3589") version("2.2.4", sha256="9080d2a617b7c411b9b4086de23998ce86e261b88075f38c73d3ce25da94b21c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "shared", default=True, description="Enables the build of shared libraries", when="@3.0.3:" ) diff --git a/var/spack/repos/builtin/packages/tkrzw/package.py b/var/spack/repos/builtin/packages/tkrzw/package.py index 5c86d5f06b89a5..17b2250421c979 100644 --- a/var/spack/repos/builtin/packages/tkrzw/package.py +++ b/var/spack/repos/builtin/packages/tkrzw/package.py @@ -62,6 +62,9 @@ class Tkrzw(AutotoolsPackage): version("0.9.2", sha256="9040af148ab3f35c6f1d4c83f2eba8b68625dbd760f2c0537a9981dbc9bbc661") version("0.9.1", sha256="1062502f93d4a9b387372d89265a9ede1704c6bcadd9aac23f5fc8383e26045a") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "compression", values=any_combination_of("zlib", "lz4", "lzma", "zstd"), diff --git a/var/spack/repos/builtin/packages/tl-expected/package.py b/var/spack/repos/builtin/packages/tl-expected/package.py index cf91fbf1a4a94b..0bd6107cfc9c93 100644 --- a/var/spack/repos/builtin/packages/tl-expected/package.py +++ b/var/spack/repos/builtin/packages/tl-expected/package.py @@ -23,3 +23,5 @@ class TlExpected(CMakePackage): # so I will use the latest commit at the time of writing: version("2022-11-24", commit="b74fecd4448a1a5549402d17ddc51e39faa5020c") version("1.0.0", sha256="8f5124085a124113e75e3890b4e923e3a4de5b26a973b891b3deb40e19c03cee") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/tldd/package.py b/var/spack/repos/builtin/packages/tldd/package.py index b9a75f9703f1a1..4be634fdf2539b 100644 --- a/var/spack/repos/builtin/packages/tldd/package.py +++ b/var/spack/repos/builtin/packages/tldd/package.py @@ -17,6 +17,8 @@ class Tldd(MakefilePackage): version("2018-10-05", commit="61cb512cc992ea6cbb7239e99ec7ac92ea072507") version("master", branch="master") + depends_on("cxx", type="build") # generated + depends_on("pstreams@0.8.0:") def patch(self): diff --git a/var/spack/repos/builtin/packages/tmux/package.py b/var/spack/repos/builtin/packages/tmux/package.py index aa99c471f3b9ab..11c1f7fa5045ee 100644 --- a/var/spack/repos/builtin/packages/tmux/package.py +++ b/var/spack/repos/builtin/packages/tmux/package.py @@ -43,6 +43,8 @@ class Tmux(AutotoolsPackage): version("1.9a", sha256="c5e3b22b901cf109b20dab54a4a651f0471abd1f79f6039d79b250d21c2733f5") version("master", branch="master") + depends_on("c", type="build") # generated + variant( "utf8proc", default=False, description="Build with UTF-8 support from utf8proc library" ) diff --git a/var/spack/repos/builtin/packages/tnftp/package.py b/var/spack/repos/builtin/packages/tnftp/package.py index 00a70d38e02ad3..db140c2474b4a9 100644 --- a/var/spack/repos/builtin/packages/tnftp/package.py +++ b/var/spack/repos/builtin/packages/tnftp/package.py @@ -17,5 +17,7 @@ class Tnftp(AutotoolsPackage): version("20230507", sha256="be0134394bd7d418a3b34892b0709eeb848557e86474e1786f0d1a887d3a6580") + depends_on("c", type="build") # generated + depends_on("bison") depends_on("ncurses") diff --git a/var/spack/repos/builtin/packages/toml-f/package.py b/var/spack/repos/builtin/packages/toml-f/package.py index 4a55fa0bb56bdb..544f5b420acf3f 100644 --- a/var/spack/repos/builtin/packages/toml-f/package.py +++ b/var/spack/repos/builtin/packages/toml-f/package.py @@ -25,4 +25,6 @@ class TomlF(MesonPackage): version("0.2.4", sha256="ebfeb1e201725b98bae3e656bde4eea2db90154efa8681de758f1389fec902cf") version("0.2.3", sha256="2dca7ff6d3e35415cd92454c31560d2b656c014af8236be09c54c13452e4539c") + depends_on("fortran", type="build") # generated + depends_on("meson@0.57.2:", type="build") diff --git a/var/spack/repos/builtin/packages/toml11/package.py b/var/spack/repos/builtin/packages/toml11/package.py index 35400e87101a33..79038f5c6b48e7 100644 --- a/var/spack/repos/builtin/packages/toml11/package.py +++ b/var/spack/repos/builtin/packages/toml11/package.py @@ -18,6 +18,9 @@ class Toml11(CMakePackage): license("MIT") + version("4.0.2", sha256="d1bec1970d562d328065f2667b23f9745a271bf3900ca78e92b71a324b126070") + version("4.0.1", sha256="96965cb00ca7757c611c169cd5a6fb15736eab1cd1c1a88aaa62ad9851d926aa") + version("4.0.0", sha256="f3dc3095f22e38745a5d448ac629f69b7ee76d2b3e6d653e4ce021deb7f7266e") version("3.8.1", sha256="6a3d20080ecca5ea42102c078d3415bef80920f6c4ea2258e87572876af77849") version("3.8.0", sha256="36ce64b09f9151b57ba1970f12a591006fcae17b751ba011314c1f5518e77bc7") version("3.7.1", sha256="afeaa9aa0416d4b6b2cd3897ca55d9317084103077b32a852247d8efd4cf6068") @@ -32,11 +35,13 @@ class Toml11(CMakePackage): version("3.2.0", sha256="3d54cac38ea24477190e0535377e824bf06562970ef4d35b59aa9729437e1019") version("3.1.0", sha256="3a118f32e5343998f37be9807c72fd11c3168fe12a5b1abfdc0f1e60de6380a4") + depends_on("cxx", type="build") # generated + variant( "cxx_std", default="11", description="C++ standard", values=("11", "14", "17"), multi=False ) - @when("@3.8.0:3.8.1") + @when("@3.8.0:") def cmake_args(self): args = [self.define_from_variant("CMAKE_CXX_STANDARD", "cxx_std")] return args diff --git a/var/spack/repos/builtin/packages/tophat/package.py b/var/spack/repos/builtin/packages/tophat/package.py index a2083894dc5db7..ebf9794514457d 100644 --- a/var/spack/repos/builtin/packages/tophat/package.py +++ b/var/spack/repos/builtin/packages/tophat/package.py @@ -17,6 +17,9 @@ class Tophat(AutotoolsPackage): version("2.1.2", sha256="15016b82255dad085d4ee7d970e50f0e53a280d466335553d47790d8344ff4b1") version("2.1.1", sha256="991b1b7c840a5f5c4e9a15b2815983257d2b0748246af0b9094c7d07552b023e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") # 2.1.1 only builds with automake@1.15.1. There's a patch here: # https://github.com/spack/spack/pull/8244, which was incorporated diff --git a/var/spack/repos/builtin/packages/tpm2-tss/package.py b/var/spack/repos/builtin/packages/tpm2-tss/package.py index a53a20762bafd2..bc3f80a1bdc8ab 100644 --- a/var/spack/repos/builtin/packages/tpm2-tss/package.py +++ b/var/spack/repos/builtin/packages/tpm2-tss/package.py @@ -19,6 +19,8 @@ class Tpm2Tss(AutotoolsPackage): version("2.4.2", sha256="1cec5e834a6a750b138cabcd100b3fcd12b16cd21fa4f9103739914743511f75") version("2.4.1", sha256="cc6f0691307f3c65d5a1375e2cd22508cc72850dbc70eb820b892f0b3d0cbea2") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/tracer/package.py b/var/spack/repos/builtin/packages/tracer/package.py index a6e4e70c6d9c76..3bc8d4a8d696e3 100644 --- a/var/spack/repos/builtin/packages/tracer/package.py +++ b/var/spack/repos/builtin/packages/tracer/package.py @@ -19,6 +19,8 @@ class Tracer(MakefilePackage): version("develop", branch="master") version("2.2", tag="v2.2", commit="fdd1b07a1a0faca14aac53dcbcbccc44237ae7cb") + depends_on("cxx", type="build") # generated + variant("otf2", default=True, description="Use OTF2 traces for simulation") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/tracy-client/package.py b/var/spack/repos/builtin/packages/tracy-client/package.py index 3237119b8783d5..718be651cd14e5 100644 --- a/var/spack/repos/builtin/packages/tracy-client/package.py +++ b/var/spack/repos/builtin/packages/tracy-client/package.py @@ -22,6 +22,9 @@ class TracyClient(CMakePackage): version("0.8.2", sha256="4784eddd89c17a5fa030d408392992b3da3c503c872800e9d3746d985cfcc92a") version("0.8.1", sha256="004992012b2dc879a9f6d143cbf94d7ea30e88135db3ef08951605d214892891") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build the client library as a shared library") tracy_options = { diff --git a/var/spack/repos/builtin/packages/tracy/package.py b/var/spack/repos/builtin/packages/tracy/package.py index fbb74fd7df4f34..901fd75fcb7317 100644 --- a/var/spack/repos/builtin/packages/tracy/package.py +++ b/var/spack/repos/builtin/packages/tracy/package.py @@ -22,6 +22,9 @@ class Tracy(MakefilePackage): version("0.8.2", sha256="4784eddd89c17a5fa030d408392992b3da3c503c872800e9d3746d985cfcc92a") version("0.8.1", sha256="004992012b2dc879a9f6d143cbf94d7ea30e88135db3ef08951605d214892891") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("capstone") depends_on("dbus") depends_on("freetype") diff --git a/var/spack/repos/builtin/packages/tramonto/package.py b/var/spack/repos/builtin/packages/tramonto/package.py index 718949a66a4f55..627872ac675990 100644 --- a/var/spack/repos/builtin/packages/tramonto/package.py +++ b/var/spack/repos/builtin/packages/tramonto/package.py @@ -14,6 +14,9 @@ class Tramonto(CMakePackage): version("develop", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("trilinos@:12+nox") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/transposome/package.py b/var/spack/repos/builtin/packages/transposome/package.py index 0a07f5c5703ee6..386f3f9cd5075a 100644 --- a/var/spack/repos/builtin/packages/transposome/package.py +++ b/var/spack/repos/builtin/packages/transposome/package.py @@ -16,4 +16,6 @@ class Transposome(PerlPackage): version("0.12.1", sha256="fc3706a883cba58626ccd753df7a77f0baf52ff3b1d8aa7644a7f474f296a603") version("0.11.2", sha256="f0bfdb33c34ada726b36c7b7ed6defa8540a7f8abe08ad46b3ccfec5dcd4720d") + depends_on("cxx", type="build") # generated + depends_on("blast-plus") diff --git a/var/spack/repos/builtin/packages/transset/package.py b/var/spack/repos/builtin/packages/transset/package.py index 7df51842e3d005..4c0dd0d9950a49 100644 --- a/var/spack/repos/builtin/packages/transset/package.py +++ b/var/spack/repos/builtin/packages/transset/package.py @@ -18,6 +18,8 @@ class Transset(AutotoolsPackage, XorgPackage): version("1.0.2", sha256="5c7d7d1bac36137f41ac3db84d7ed9b9fdac868608572bcba0bc1de40510ca67") version("1.0.1", sha256="87c560e69e05ae8a5bad17ff62ac31cda43a5065508205b109c756c0ab857d55") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("xproto@7.0.17:") diff --git a/var/spack/repos/builtin/packages/tree-sitter/package.py b/var/spack/repos/builtin/packages/tree-sitter/package.py index dc1fd2fce768e7..c6872b43a916a2 100644 --- a/var/spack/repos/builtin/packages/tree-sitter/package.py +++ b/var/spack/repos/builtin/packages/tree-sitter/package.py @@ -19,6 +19,10 @@ class TreeSitter(MakefilePackage): license("MIT") + version("0.22.6", sha256="e2b687f74358ab6404730b7fb1a1ced7ddb3780202d37595ecd7b20a8f41861f") + version("0.22.5", sha256="6bc22ca7e0f81d77773462d922cf40b44bfd090d92abac75cb37dbae516c2417") + version("0.22.4", sha256="919b750da9af1260cd989498bc84c63391b72ee2aa2ec20fc84882544eb7a229") + version("0.22.3", sha256="b394b948646e67c81319f3b859a09b50280b16c66b4445ae1958b35aa4eed586") version("0.22.2", sha256="0c829523b876d4a37e1bd46a655c133a93669c0fe98fcd84972b168849c27afc") version("0.22.1", sha256="b21065e78da33e529893c954e712ad15d9ad44a594b74567321d4a3a007d6090") version("0.22.0", sha256="1cc0c832c6cc3d04f0b702247fac3dac45f958b0ee1f946619b7ae7b67258060") @@ -32,5 +36,8 @@ class TreeSitter(MakefilePackage): version("0.20.2", sha256="2a0445f8172bbf83db005aedb4e893d394e2b7b33251badd3c94c2c5cc37c403") version("0.20.1", sha256="12a3f7206af3028dbe8a0de50d8ebd6d7010bf762db918acae76fc7585f1258d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def edit(self, spec, prefix): env["PREFIX"] = prefix diff --git a/var/spack/repos/builtin/packages/treelite/package.py b/var/spack/repos/builtin/packages/treelite/package.py index c3ee15474c9af1..a7bf2c853fb799 100644 --- a/var/spack/repos/builtin/packages/treelite/package.py +++ b/var/spack/repos/builtin/packages/treelite/package.py @@ -17,6 +17,9 @@ class Treelite(CMakePackage): version("0.93", sha256="7d347372f7fdc069904afe93e69ed0bf696ba42d271fe2f8bf6835d2ab2f45d5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("protobuf", default=False, description="Build with protobuf") variant("python", default=True, description="Build with python support") @@ -26,6 +29,8 @@ class Treelite(CMakePackage): depends_on("py-wheel", when="+python", type="build") depends_on("py-setuptools", when="+python", type="build") depends_on("py-numpy", when="+python", type=("build", "run")) + # https://github.com/dmlc/treelite/issues/560 + depends_on("py-numpy@:1", when="@:4.2.0+python", type=("build", "run")) depends_on("py-scipy", when="+python", type=("build", "run")) build_directory = "build" diff --git a/var/spack/repos/builtin/packages/trexio/package.py b/var/spack/repos/builtin/packages/trexio/package.py index e47b403096833f..540bd82eab225a 100644 --- a/var/spack/repos/builtin/packages/trexio/package.py +++ b/var/spack/repos/builtin/packages/trexio/package.py @@ -23,6 +23,9 @@ class Trexio(AutotoolsPackage): version("2.1.0", sha256="232866c943b98fa8a42d34b55e940f7501634eb5bd426555ba970f5c09775e83") version("2.0.0", sha256="6eeef2da44259718b43991eedae4b20d4f90044e38f3b44a8beea52c38b14cb4") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("hdf5", default=True, description="Enable HDF5 support") depends_on("emacs@26.0:", type="build", when="@master") diff --git a/var/spack/repos/builtin/packages/trf/package.py b/var/spack/repos/builtin/packages/trf/package.py index 7d02ecce6b19f5..3efb595978ca4d 100644 --- a/var/spack/repos/builtin/packages/trf/package.py +++ b/var/spack/repos/builtin/packages/trf/package.py @@ -38,6 +38,8 @@ class Trf(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + @when("@4.07b") def autoreconf(self, spec, prefix): touch("configure") diff --git a/var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py b/var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py index c971f46adcf0da..5dd2a1f27099fd 100644 --- a/var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py +++ b/var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py @@ -15,6 +15,10 @@ class TrilinosCatalystIossAdapter(CMakePackage): version("develop", branch="develop") version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("bison", type="build") depends_on("flex", type="build") depends_on("paraview+mpi+python") diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index 385b4044fb139b..ce7ce27fb746e2 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -71,6 +71,10 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage): version("11.14.2", sha256="f22b2b0df7b88e28b992e19044ba72b845292b93cbbb3a948488199647381119") version("11.14.1", sha256="f10fc0a496bf49427eb6871c80816d6e26822a39177d850cc62cf1484e4eec07") + depends_on("c", type="build") + depends_on("cxx", type="build") + depends_on("fortran", type="build", when="+fortran") + # ###################### Variants ########################## # Build options diff --git a/var/spack/repos/builtin/packages/trimal/package.py b/var/spack/repos/builtin/packages/trimal/package.py index abf454f927c554..5f4ba78289ed7b 100644 --- a/var/spack/repos/builtin/packages/trimal/package.py +++ b/var/spack/repos/builtin/packages/trimal/package.py @@ -17,6 +17,8 @@ class Trimal(MakefilePackage): version("1.4.1", sha256="cb8110ca24433f85c33797b930fa10fe833fa677825103d6e7f81dd7551b9b4e") + depends_on("cxx", type="build") # generated + build_directory = "source" def install(self, sinstall_treepec, prefix): diff --git a/var/spack/repos/builtin/packages/trinity/package.py b/var/spack/repos/builtin/packages/trinity/package.py index 2edfaefc9b34f6..8195ddda8f8058 100644 --- a/var/spack/repos/builtin/packages/trinity/package.py +++ b/var/spack/repos/builtin/packages/trinity/package.py @@ -46,6 +46,9 @@ class Trinity(MakefilePackage): ) version("2.6.6", sha256="868dfadeefaf2d3c6150a88d5e86fbc09466d69bbf4a65f70b4f5a7485668984") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake", type="build") depends_on("java@8:", type=("build", "run")) depends_on("bowtie2") diff --git a/var/spack/repos/builtin/packages/trnascan-se/package.py b/var/spack/repos/builtin/packages/trnascan-se/package.py index c66d26007e4e38..d22647f2c694ed 100644 --- a/var/spack/repos/builtin/packages/trnascan-se/package.py +++ b/var/spack/repos/builtin/packages/trnascan-se/package.py @@ -18,6 +18,8 @@ class TrnascanSe(AutotoolsPackage): version("2.0.11", sha256="29b74edd0f84ad88139035e119b66397c54a37428e0b61c66a1b3d4733adcd1e") version("2.0.0", sha256="0dde1c07142e4bf77b21d53ddf3eeb1ef8c52248005a42323d13f8d7c798100c") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("infernal@1.1:", type="run", when="@2.0.0:") diff --git a/var/spack/repos/builtin/packages/trompeloeil/package.py b/var/spack/repos/builtin/packages/trompeloeil/package.py index 78887216a5259e..f2ed10d5272618 100644 --- a/var/spack/repos/builtin/packages/trompeloeil/package.py +++ b/var/spack/repos/builtin/packages/trompeloeil/package.py @@ -21,3 +21,5 @@ class Trompeloeil(CMakePackage): version("45", sha256="124b0aa45d84415193719376b6557fc1f1180cbfebf4dc4f7ca247cb404d6bd8") version("44", sha256="004877db6ba22f24c7867e112e081eeb68858122f55ebe7c7dd9d8d9e3b46c88") version("43", sha256="86a0afa2e97347202a0a883ab43da78c1d4bfff0d6cb93205cfc433d0d9eb9eb") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/truchas/package.py b/var/spack/repos/builtin/packages/truchas/package.py index ad31afc053ee39..ded94cb68ff979 100644 --- a/var/spack/repos/builtin/packages/truchas/package.py +++ b/var/spack/repos/builtin/packages/truchas/package.py @@ -27,6 +27,10 @@ class Truchas(CMakePackage): version("23.06", sha256="a786caba5129d7e33ba42a06751d6c570bd3b9697e3404276a56216d27820c68") version("22.04.1", sha256="ed2000f27ee5c4bd3024063a374023878c61e8a3c76c37542fffd341d1226dc1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # ------------------------------------------------------------ # # Variants # ------------------------------------------------------------ # diff --git a/var/spack/repos/builtin/packages/tskit/package.py b/var/spack/repos/builtin/packages/tskit/package.py index b32195f43d8e60..8a03cc558a9698 100644 --- a/var/spack/repos/builtin/packages/tskit/package.py +++ b/var/spack/repos/builtin/packages/tskit/package.py @@ -18,6 +18,8 @@ class Tskit(PythonPackage): version("0.5.6", sha256="ddfe213f1cb063cdb6982177230a2805ecd7dfc7ccd73026e13878abffd2ce46") version("0.3.1", sha256="b9c5a9b2fb62a615e389036946345ef8a35b09f1ffee541995b16f97fedb3d36") + depends_on("c", type="build") # generated + depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools", type=("build", "run")) depends_on("py-svgwrite", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/tulip/package.py b/var/spack/repos/builtin/packages/tulip/package.py index 226a01c5bfae19..aa30d842f14146 100644 --- a/var/spack/repos/builtin/packages/tulip/package.py +++ b/var/spack/repos/builtin/packages/tulip/package.py @@ -24,6 +24,9 @@ class Tulip(CMakePackage): version("5.4.0", sha256="2175e4e1a79028ab7a2479e882242f304fd3e01fedf80e1f29f8f5e9a6eb1325") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + extends("python") depends_on("py-pyqt5", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/turbine/package.py b/var/spack/repos/builtin/packages/turbine/package.py index 801bf8e5a8fb43..7bd02a83e9361b 100644 --- a/var/spack/repos/builtin/packages/turbine/package.py +++ b/var/spack/repos/builtin/packages/turbine/package.py @@ -18,6 +18,9 @@ class Turbine(AutotoolsPackage): version("1.3.0", sha256="9709e5dada91a7dce958a7967d6ff2bd39ccc9e7da62d05a875324b5089da393") version("1.2.3", sha256="a3156c7e0b39e166da3de8892f55fa5d535b0c99c87a9add067c801098fe51ba") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("python", default=False, description="Enable calling python") variant("r", default=False, description="Enable calling R") variant("hdf5", default=False, description="Enable HDF5 support") diff --git a/var/spack/repos/builtin/packages/turnserver/package.py b/var/spack/repos/builtin/packages/turnserver/package.py index 2ff2fc4deeca05..8662815c59d562 100644 --- a/var/spack/repos/builtin/packages/turnserver/package.py +++ b/var/spack/repos/builtin/packages/turnserver/package.py @@ -16,4 +16,6 @@ class Turnserver(AutotoolsPackage): version("4.5.1.3", sha256="408bf7fde455d641bb2a23ba2df992ea0ae87b328de74e66e167ef58d8e9713a") + depends_on("c", type="build") # generated + depends_on("libevent") diff --git a/var/spack/repos/builtin/packages/twm/package.py b/var/spack/repos/builtin/packages/twm/package.py index b350728d02396e..6b5209da9b2fb5 100644 --- a/var/spack/repos/builtin/packages/twm/package.py +++ b/var/spack/repos/builtin/packages/twm/package.py @@ -22,6 +22,8 @@ class Twm(AutotoolsPackage, XorgPackage): version("1.0.10", sha256="679a1d07078c918fa32454498dc15573b299bbb0f001499e213c408e4b2170f5") version("1.0.9", sha256="1c325e8456a200693c816baa27ceca9c5e5e0f36af63d98f70a335853a0039e8") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/tycho2/package.py b/var/spack/repos/builtin/packages/tycho2/package.py index 16c73d0654a81d..50f99f750562fb 100644 --- a/var/spack/repos/builtin/packages/tycho2/package.py +++ b/var/spack/repos/builtin/packages/tycho2/package.py @@ -19,6 +19,8 @@ class Tycho2(MakefilePackage): version("develop", branch="master") + depends_on("cxx", type="build") # generated + depends_on("mpi") def patch(self): diff --git a/var/spack/repos/builtin/packages/typhon/package.py b/var/spack/repos/builtin/packages/typhon/package.py index 04f9f9300bca30..5470d6a2eb7132 100644 --- a/var/spack/repos/builtin/packages/typhon/package.py +++ b/var/spack/repos/builtin/packages/typhon/package.py @@ -24,6 +24,9 @@ class Typhon(CMakePackage): version("3.0.1", sha256="8d6e19192e52eadf92175423ae0efd8a1a343c2ea2bc48aacb9028074447c2bb") version("3.0", sha256="b9736269ebe9c0fd7efabc4716b0543144780ed26ddaf595083354113aa2efd7") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/typhonio/package.py b/var/spack/repos/builtin/packages/typhonio/package.py index 0833a30a06e91e..b0197f7d0b0d1a 100644 --- a/var/spack/repos/builtin/packages/typhonio/package.py +++ b/var/spack/repos/builtin/packages/typhonio/package.py @@ -19,6 +19,9 @@ class Typhonio(CMakePackage): version("develop", branch="cmake_build") version("1.6_CMake", sha256="c9b7b2a7f4fa0b786f6b69c6426b67f42efc4ea6871323139d52cd44f4d0ff7c") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "build_type", default="Release", diff --git a/var/spack/repos/builtin/packages/ucc/package.py b/var/spack/repos/builtin/packages/ucc/package.py index a208a57c497341..fa612b3722440b 100644 --- a/var/spack/repos/builtin/packages/ucc/package.py +++ b/var/spack/repos/builtin/packages/ucc/package.py @@ -18,6 +18,9 @@ class Ucc(AutotoolsPackage, CudaPackage): version("1.3.0", sha256="b56379abe5f1c125bfa83be305d78d81a64aa271b7b5fff0ac17b86725ff3acf") version("1.2.0", sha256="c1552797600835c0cf401b82dc89c4d27d5717f4fb805d41daca8e19f65e509d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("cuda", default=False, description="Enable CUDA TL") variant("nccl", default=False, description="Enable NCCL TL", when="+cuda") # RCCL build not tested diff --git a/var/spack/repos/builtin/packages/uchardet/package.py b/var/spack/repos/builtin/packages/uchardet/package.py index 13ad67e82a76c2..3be62d1d0beaf3 100644 --- a/var/spack/repos/builtin/packages/uchardet/package.py +++ b/var/spack/repos/builtin/packages/uchardet/package.py @@ -27,6 +27,9 @@ class Uchardet(CMakePackage): version("0.0.3", sha256="8caba57524b6e306e764b4dabf5bfec48b6f9d89b73543ed7c95263890e2006f") version("0.0.2", sha256="eb59b5b36269212a0d5f44d654cdbeb02e4e43ff59e3ce0205d6a64670991e83") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def url_for_version(self, version): if version >= Version("0.0.6"): url = "https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.6.tar.xz" diff --git a/var/spack/repos/builtin/packages/ucsc-bedclip/package.py b/var/spack/repos/builtin/packages/ucsc-bedclip/package.py index 5173346a714c00..f9b34ee28f84f9 100644 --- a/var/spack/repos/builtin/packages/ucsc-bedclip/package.py +++ b/var/spack/repos/builtin/packages/ucsc-bedclip/package.py @@ -16,8 +16,11 @@ class UcscBedclip(Package): version("377", sha256="932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676") version("449", sha256="b5a86863d6cfe2120f6c796a13b1572ad05b22622f6534b95c9d26ccbede09b7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libpng") - depends_on("libuuid") + depends_on("uuid") depends_on("gmake") depends_on("mysql-connector-c") depends_on("openssl") diff --git a/var/spack/repos/builtin/packages/ucsc-bedgraphtobigwig/package.py b/var/spack/repos/builtin/packages/ucsc-bedgraphtobigwig/package.py index 14833362282c13..2d66fd771ca8cc 100644 --- a/var/spack/repos/builtin/packages/ucsc-bedgraphtobigwig/package.py +++ b/var/spack/repos/builtin/packages/ucsc-bedgraphtobigwig/package.py @@ -16,8 +16,11 @@ class UcscBedgraphtobigwig(Package): version("449", sha256="b5a86863d6cfe2120f6c796a13b1572ad05b22622f6534b95c9d26ccbede09b7") version("445", sha256="c7abb5db6a5e16a79aefcee849d2b59dbc71ee112ca1e41fea0afb25229cf56c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libpng") - depends_on("libuuid") + depends_on("uuid") depends_on("gmake") depends_on("openssl") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/ucx/package.py b/var/spack/repos/builtin/packages/ucx/package.py index c4de4f60622924..d3c40aaa74d82a 100644 --- a/var/spack/repos/builtin/packages/ucx/package.py +++ b/var/spack/repos/builtin/packages/ucx/package.py @@ -20,9 +20,10 @@ class Ucx(AutotoolsPackage, CudaPackage): license("BSD-3-Clause") # Current - version("1.16.0", sha256="f73770d3b583c91aba5fb07557e655ead0786e057018bfe42f0ebe8716e9d28c") + version("1.17.0", sha256="34658e282f99f89ce7a991c542e9727552734ac6ad408c52f22b4c2653b04276") # Still supported + version("1.16.0", sha256="f73770d3b583c91aba5fb07557e655ead0786e057018bfe42f0ebe8716e9d28c") version("1.15.0", sha256="4b202087076bc1c98f9249144f0c277a8ea88ad4ca6f404f94baa9cb3aebda6d") version("1.14.1", sha256="baa0634cafb269a3112f626eb226bcd2ca8c9fcf0fec3b8e2a3553baad5f77aa") version("1.14.0", sha256="9bd95e2059de5dece9dddd049aacfca3d21bfca025748a6a0b1be4486e28afdd") @@ -54,6 +55,9 @@ class Ucx(AutotoolsPackage, CudaPackage): version("1.2.1", sha256="fc63760601c03ff60a2531ec3c6637e98f5b743576eb410f245839c84a0ad617") version("1.2.0", sha256="1e1a62d6d0f89ce59e384b0b5b30b416b8fd8d7cedec4182a5319d0dfddf649c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + simd_values = ("avx", "sse41", "sse42") variant("assertions", default=False, description="Enable assertions") @@ -161,7 +165,7 @@ def patch(self): "-L$with_rocm/hip/lib -L$with_rocm/lib", "$ROCM_LDFLAGS", "configure", string=True ) - if self.spec.satisfies("^hip@6:"): + if self.spec.satisfies("@:1.15 ^hip@6:"): filter_file("HIP_PLATFORM_HCC", "HIP_PLATFORM_AMD", "configure", string=True) @when("@1.9-dev") diff --git a/var/spack/repos/builtin/packages/udunits/package.py b/var/spack/repos/builtin/packages/udunits/package.py index e5f366a66bb645..559d5f11cb88f0 100644 --- a/var/spack/repos/builtin/packages/udunits/package.py +++ b/var/spack/repos/builtin/packages/udunits/package.py @@ -36,6 +36,8 @@ class Udunits(AutotoolsPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("expat") variant("shared", default=True, description="Build shared library") diff --git a/var/spack/repos/builtin/packages/ufo-core/package.py b/var/spack/repos/builtin/packages/ufo-core/package.py index 064cb836f902cb..703b7e8364af85 100644 --- a/var/spack/repos/builtin/packages/ufo-core/package.py +++ b/var/spack/repos/builtin/packages/ufo-core/package.py @@ -20,5 +20,7 @@ class UfoCore(CMakePackage): version("0.16.0", sha256="ff895386e10920ec399b9951a231e517bd6cf5f70c3b527430c2c1fccff6f181") version("0.14.0", sha256="3bf0d1924d6ae3f51673cc8b0b31b17873e79f1a0129a9af54b4062b1b2b3ad7") + depends_on("c", type="build") # generated + depends_on("glib") depends_on("json-glib") diff --git a/var/spack/repos/builtin/packages/ufo-filters/package.py b/var/spack/repos/builtin/packages/ufo-filters/package.py index de57eec948ca7b..18d951bd80794e 100644 --- a/var/spack/repos/builtin/packages/ufo-filters/package.py +++ b/var/spack/repos/builtin/packages/ufo-filters/package.py @@ -16,4 +16,7 @@ class UfoFilters(CMakePackage): version("0.14.1", sha256="084d7cdef59205e1a048e5c142be1ffeaacedc42965824b642e8302ef30ebb13") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("ufo-core") diff --git a/var/spack/repos/builtin/packages/ufs-utils/package.py b/var/spack/repos/builtin/packages/ufs-utils/package.py index 1333ef3f4c19f0..2af09c08b5a524 100644 --- a/var/spack/repos/builtin/packages/ufs-utils/package.py +++ b/var/spack/repos/builtin/packages/ufs-utils/package.py @@ -49,6 +49,9 @@ class UfsUtils(CMakePackage): submodules=True, ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("cmake@3.23:") depends_on("bacio") diff --git a/var/spack/repos/builtin/packages/ufs-weather-model/package.py b/var/spack/repos/builtin/packages/ufs-weather-model/package.py index 49146f790d7658..cc0fa715a8a68c 100644 --- a/var/spack/repos/builtin/packages/ufs-weather-model/package.py +++ b/var/spack/repos/builtin/packages/ufs-weather-model/package.py @@ -33,6 +33,9 @@ class UfsWeatherModel(CMakePackage): submodules=True, ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI") variant( "32bit", default=True, description="Enable 32-bit single precision arithmetic in dycore" diff --git a/var/spack/repos/builtin/packages/uftrace/package.py b/var/spack/repos/builtin/packages/uftrace/package.py index ef411830d17c3b..074232a9e34d6a 100644 --- a/var/spack/repos/builtin/packages/uftrace/package.py +++ b/var/spack/repos/builtin/packages/uftrace/package.py @@ -25,6 +25,9 @@ class Uftrace(AutotoolsPackage): version("master", branch="master", get_full_repo=True) version("0.11", sha256="101dbb13cb3320ee76525ec26426f2aa1de4e3ee5af74f79cb403ae4d2c6c871") version("0.10", sha256="b8b56d540ea95c3eafe56440d6a998e0a140d53ca2584916b6ca82702795bbd9") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated variant("doc", default=False, description="Build uftrace's documentation") variant("python2", default=False, description="Build uftrace with python2 support") variant("python3", default=True, description="Build uftrace with python3 support") diff --git a/var/spack/repos/builtin/packages/umap/package.py b/var/spack/repos/builtin/packages/umap/package.py index 7cecb7732e7d77..9f45d9c8a9ed7a 100644 --- a/var/spack/repos/builtin/packages/umap/package.py +++ b/var/spack/repos/builtin/packages/umap/package.py @@ -29,6 +29,9 @@ class Umap(CMakePackage): version("0.0.2", sha256="eccc987b414bc568bd33b569ab6e18c328409499f11e65ac5cd5c3e1a8b47509") version("0.0.1", sha256="49020adf55aa3f8f03757373b21ff229d2e8cf4155d54835019cd4745c1291ef") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("logging", default=False, description="Build with logging enabled.") variant("tests", default=False, description="Build test programs.") diff --git a/var/spack/repos/builtin/packages/umesimd/package.py b/var/spack/repos/builtin/packages/umesimd/package.py index 3a9286864b3e7c..5d2d329d732e37 100644 --- a/var/spack/repos/builtin/packages/umesimd/package.py +++ b/var/spack/repos/builtin/packages/umesimd/package.py @@ -23,3 +23,5 @@ class Umesimd(CMakePackage): version("0.4.1", sha256="e05b9f886164826005c8db5d2240f22cb88593c05b4fe45c81aba4d1d57a9bfa") version("0.3.2", sha256="90399fa64489ca4d492a57a49582f5b827d4710a691f533822fd61edc346e8f6") version("0.3.1", sha256="9bab8b4c70e11dbdd864a09053225c74cfabb801739e09a314ddeb1d84a43f0a") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/umoci/package.py b/var/spack/repos/builtin/packages/umoci/package.py index 562dfbf53d2a04..544c7dbefef9a8 100644 --- a/var/spack/repos/builtin/packages/umoci/package.py +++ b/var/spack/repos/builtin/packages/umoci/package.py @@ -22,6 +22,8 @@ class Umoci(MakefilePackage): version("0.4.1", sha256="0d83e01167383f529d726e9fd455660d4837371d5f0d82fad405f3ae6ae52486") version("0.4.0", sha256="66997e270dee8abc9796385b162a1e8e32dd2ee2359e5200af4e6671cc1e76a0") + depends_on("c", type="build") # generated + depends_on("go") depends_on("go-md2man", type="build") diff --git a/var/spack/repos/builtin/packages/umpire/package.py b/var/spack/repos/builtin/packages/umpire/package.py index f741ddbefb04cb..75d638dddc9b14 100644 --- a/var/spack/repos/builtin/packages/umpire/package.py +++ b/var/spack/repos/builtin/packages/umpire/package.py @@ -21,11 +21,17 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage): git = "https://github.com/LLNL/Umpire.git" tags = ["radiuss", "e4s"] - maintainers("davidbeckingsale") + maintainers("davidbeckingsale", "adrienbernede") license("MIT") version("develop", branch="develop", submodules=False) + version( + "2024.02.1", + tag="v2024.02.1", + commit="3058d562fc707650e904f9321b1ee9bcebad3ae2", + submodules=False, + ) version( "2024.02.0", tag="v2024.02.0", @@ -138,6 +144,10 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage): "0.1.3", tag="v0.1.3", commit="cc347edeb17f5f30f694aa47f395d17369a2e449", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Some projects importing both camp and umpire targets end up with conflicts in BLT targets # import. This is not addressing the root cause, which will be addressed in BLT@5.4.0 and will # require adapting umpire build system. diff --git a/var/spack/repos/builtin/packages/uncrustify/package.py b/var/spack/repos/builtin/packages/uncrustify/package.py index 4e0d627b833b40..e082a34bcc9e91 100644 --- a/var/spack/repos/builtin/packages/uncrustify/package.py +++ b/var/spack/repos/builtin/packages/uncrustify/package.py @@ -33,6 +33,9 @@ class Uncrustify(CMakePackage, AutotoolsPackage): version("0.62", commit="5987f2223f16b993dbece1360363eef9515fe5e8") version("0.61", sha256="1df0e5a2716e256f0a4993db12f23d10195b3030326fdf2e07f8e6421e172df9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + build_system( conditional("cmake", when="@0.64:"), conditional("autotools", when="@:0.63"), diff --git a/var/spack/repos/builtin/packages/unibilium/package.py b/var/spack/repos/builtin/packages/unibilium/package.py index b5b54d6838b842..9ad5173b85fd82 100644 --- a/var/spack/repos/builtin/packages/unibilium/package.py +++ b/var/spack/repos/builtin/packages/unibilium/package.py @@ -17,6 +17,9 @@ class Unibilium(Package): version("2.0.0", sha256="78997d38d4c8177c60d3d0c1aa8c53fd0806eb21825b7b335b1768d7116bc1c1") version("1.2.0", sha256="623af1099515e673abfd3cae5f2fa808a09ca55dda1c65a7b5c9424eb304ead8") + depends_on("c", type="build") # generated + + depends_on("gmake", type="build") depends_on("libtool", type="build") depends_on("perl", type="build") depends_on("gzip", type="build") diff --git a/var/spack/repos/builtin/packages/unifdef/package.py b/var/spack/repos/builtin/packages/unifdef/package.py index a1a8da0e98ca41..b9cdf43116eae8 100644 --- a/var/spack/repos/builtin/packages/unifdef/package.py +++ b/var/spack/repos/builtin/packages/unifdef/package.py @@ -23,6 +23,8 @@ class Unifdef(MakefilePackage): version("2.12", sha256="43ce0f02ecdcdc723b2475575563ddb192e988c886d368260bc0a63aee3ac400") version("2.11", sha256="828ffc270ac262b88fe011136acef2780c05b0dc3c5435d005651740788d4537") + depends_on("c", type="build") # generated + def edit(self, spec, prefix): makefile = FileFilter("Makefile") makefile.filter(r"\$\{HOME\}", prefix) diff --git a/var/spack/repos/builtin/packages/unifyfs/package.py b/var/spack/repos/builtin/packages/unifyfs/package.py index 0c0585e9bd9e5a..e1e2146648ccbc 100644 --- a/var/spack/repos/builtin/packages/unifyfs/package.py +++ b/var/spack/repos/builtin/packages/unifyfs/package.py @@ -27,6 +27,10 @@ class Unifyfs(AutotoolsPackage): version("1.0.1", sha256="d92800778661b15ab50275c4efe345a6c60d8f1802a0d5909fda38db91b12116") version("1.0", sha256="c9ad0d15d382773841a3dab89c661fbdcfd686ec37fa263eb22713f6404258f5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "auto-mount", default=True, diff --git a/var/spack/repos/builtin/packages/unigen/package.py b/var/spack/repos/builtin/packages/unigen/package.py index 732e8f0a6c1c28..ddfd81e2a7e8e8 100644 --- a/var/spack/repos/builtin/packages/unigen/package.py +++ b/var/spack/repos/builtin/packages/unigen/package.py @@ -23,6 +23,8 @@ class Unigen(MakefilePackage): license("GPL-3.0-only") version("2.3", sha256="8783bcabbdf8c50dab6e93153cff9cfb267a9a9e61aef51bf1e17679ba42a717") + + depends_on("cxx", type="build") # generated patch("unigen-2.3.patch", level=0) depends_on("root", type=("build", "link")) diff --git a/var/spack/repos/builtin/packages/unison/package.py b/var/spack/repos/builtin/packages/unison/package.py index 5888b674ecb9ee..202b93a5310f78 100644 --- a/var/spack/repos/builtin/packages/unison/package.py +++ b/var/spack/repos/builtin/packages/unison/package.py @@ -32,6 +32,8 @@ class Unison(MakefilePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("ocaml@4.10.0:~force-safe-string", type=("build", "link")) with when("@:2.51.2"): diff --git a/var/spack/repos/builtin/packages/units/package.py b/var/spack/repos/builtin/packages/units/package.py index 3e2eada2d71601..86ae202792890f 100644 --- a/var/spack/repos/builtin/packages/units/package.py +++ b/var/spack/repos/builtin/packages/units/package.py @@ -18,4 +18,6 @@ class Units(AutotoolsPackage, GNUMirrorPackage): version("2.22", sha256="5d13e1207721fe7726d906ba1d92dc0eddaa9fc26759ed22e3b8d1a793125848") version("2.13", sha256="0ba5403111f8e5ea22be7d51ab74c8ccb576dc30ddfbf18a46cb51f9139790ab") + depends_on("c", type="build") # generated + depends_on("python", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/unittest-cpp/package.py b/var/spack/repos/builtin/packages/unittest-cpp/package.py index 0c71fdc9b72c57..f605896a98b74a 100644 --- a/var/spack/repos/builtin/packages/unittest-cpp/package.py +++ b/var/spack/repos/builtin/packages/unittest-cpp/package.py @@ -21,3 +21,5 @@ class UnittestCpp(CMakePackage): version("2.0.0", sha256="74852198877dc2fdebdc4e5e9bd074018bf8ee03a13de139bfe41f4585b2f5b9") version("1.6.0", sha256="9fa7e797816e16669d68171418b0dc41ec6b7eaf8483f782441f5f159598c3c0") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/universal-ctags/package.py b/var/spack/repos/builtin/packages/universal-ctags/package.py index b74e1cdaa008fb..9cbe8558f07be2 100644 --- a/var/spack/repos/builtin/packages/universal-ctags/package.py +++ b/var/spack/repos/builtin/packages/universal-ctags/package.py @@ -29,6 +29,10 @@ class UniversalCtags(AutotoolsPackage): "5.9.20210808.0", sha256="7f5f88d20750dfa2437ca9d163972b8684e3cf16de022a5177f322be92f528cc" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/universal/package.py b/var/spack/repos/builtin/packages/universal/package.py index c873dd0b6e47c7..9dd7734cd8daa0 100644 --- a/var/spack/repos/builtin/packages/universal/package.py +++ b/var/spack/repos/builtin/packages/universal/package.py @@ -17,3 +17,6 @@ class Universal(CMakePackage): license("MIT") version("3.68", sha256="67de4e0a3276b873a298ab98f1237ff3fd23240178e71405bf813ee38e4b1f62") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/unixodbc/package.py b/var/spack/repos/builtin/packages/unixodbc/package.py index 171c25961e5d51..13cded541f84d1 100644 --- a/var/spack/repos/builtin/packages/unixodbc/package.py +++ b/var/spack/repos/builtin/packages/unixodbc/package.py @@ -18,6 +18,8 @@ class Unixodbc(AutotoolsPackage): version("2.3.4", sha256="2e1509a96bb18d248bf08ead0d74804957304ff7c6f8b2e5965309c632421e39") + depends_on("c", type="build") # generated + depends_on("iconv") depends_on("libtool") diff --git a/var/spack/repos/builtin/packages/unqlite/package.py b/var/spack/repos/builtin/packages/unqlite/package.py index 301a0b2eed43b2..420afc96261f64 100644 --- a/var/spack/repos/builtin/packages/unqlite/package.py +++ b/var/spack/repos/builtin/packages/unqlite/package.py @@ -19,6 +19,8 @@ class Unqlite(CMakePackage): version("master", branch="master") version("1.1.9", sha256="33d5b5e7b2ca223942e77d31112d2e20512bc507808414451c8a98a7be5e15c0") + depends_on("c", type="build") # generated + # This patch corresponds to https://github.com/symisc/unqlite/pull/99 patch("0001-Removed-the-STATIC-key-word-to-enable-building-a-sha.patch", when="@1.1.9") diff --git a/var/spack/repos/builtin/packages/unrar/package.py b/var/spack/repos/builtin/packages/unrar/package.py index 339f255161a170..22c77232adac88 100644 --- a/var/spack/repos/builtin/packages/unrar/package.py +++ b/var/spack/repos/builtin/packages/unrar/package.py @@ -17,6 +17,8 @@ class Unrar(MakefilePackage): version("5.8.2", sha256="33386623fd3fb153b56292df4a6a69b457e69e1803b6d07b614e5fd22fb33dda") version("5.8.1", sha256="035f1f436f0dc2aea09aec146b9cc3e47ca2442f2c62b4ad9374c7c9cc20e632") + depends_on("cxx", type="build") # generated + def edit(self, spec, prefix): makefile = FileFilter("makefile") makefile.filter("LIBFLAGS=-fPIC", "LIBFLAGS={0}".format(self.compiler.cc_pic_flag)) diff --git a/var/spack/repos/builtin/packages/unuran/package.py b/var/spack/repos/builtin/packages/unuran/package.py index 9e185e5a631590..6779f6a9cc8bca 100644 --- a/var/spack/repos/builtin/packages/unuran/package.py +++ b/var/spack/repos/builtin/packages/unuran/package.py @@ -16,6 +16,9 @@ class Unuran(AutotoolsPackage): version("1.8.1", sha256="c270ae96857857dbac6450043df865e0517f52856ddbe5202fd35583b13c5193") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Enable the build of shared libraries") variant( "rngstreams", diff --git a/var/spack/repos/builtin/packages/unzip/package.py b/var/spack/repos/builtin/packages/unzip/package.py index 7a751c1d999202..470376a47fdb7d 100644 --- a/var/spack/repos/builtin/packages/unzip/package.py +++ b/var/spack/repos/builtin/packages/unzip/package.py @@ -16,6 +16,9 @@ class Unzip(MakefilePackage): version("6.0", sha256="036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # clang and oneapi need this patch, likely others # There is no problem with it on gcc, so make it a catch all patch("configure-cflags.patch") diff --git a/var/spack/repos/builtin/packages/upcxx/fix_configure_ldflags.patch b/var/spack/repos/builtin/packages/upcxx/fix_configure_ldflags.patch new file mode 100644 index 00000000000000..f41bc982f5a336 --- /dev/null +++ b/var/spack/repos/builtin/packages/upcxx/fix_configure_ldflags.patch @@ -0,0 +1,26 @@ +diff --git a/configure b/configure +index 27c35a43..b0f3cbe9 100755 +--- a/configure ++++ b/configure +@@ -1168,7 +1168,7 @@ if [[ $UPCXX_CUDA -eq 1 ]]; then + # check that the CUDA Driver API is linkable, adding explicit link flags if needed + echo -e "#include \n#include \nint main() { cuInit(0); return 0; }" >| conftest.cpp + for ldextra in '' '-lcuda' '-framework CUDA' 'FAIL'; do +- eval $CXX $UPCXX_CUDA_CPPFLAGS conftest.cpp -o conftest.exe $UPCXX_CUDA_LIBFLAGS $ldextra &> /dev/null ++ eval $CXX $UPCXX_CUDA_CPPFLAGS $LDFLAGS conftest.cpp -o conftest.exe $UPCXX_CUDA_LIBFLAGS $ldextra &> /dev/null + if [[ $? -eq 0 ]] && ( ./conftest.exe 2>/dev/null ); then + [[ -n "$ldextra" ]] && UPCXX_CUDA_LIBFLAGS+=" $ldextra" + break +diff --git a/utils/system-checks.sh b/utils/system-checks.sh +index 728792d0..e065f636 100644 +--- a/utils/system-checks.sh ++++ b/utils/system-checks.sh +@@ -493,7 +493,7 @@ _EOF + check_maybe_c_compiler + return 2 + fi +- if ! (set -x; eval $CXX $CXXFLAGS $CXXSTDFLAG -o conftest.o conftest-cc.o conftest-cxx.o -lm) >> $DETAIL_LOG 2>&1 ; then ++ if ! (set -x; eval $CXX $CXXFLAGS $CXXSTDFLAG $LDFLAGS -o conftest.o conftest-cc.o conftest-cxx.o -lm) >> $DETAIL_LOG 2>&1 ; then + echo "ERROR: CXX=$CXX failed to link object files produced by CC=$CC and CXX=$CXX" + echo "ERROR: See $DETAIL_LOG for details. Last four lines are as follows:" + tail -4 $DETAIL_LOG diff --git a/var/spack/repos/builtin/packages/upcxx/package.py b/var/spack/repos/builtin/packages/upcxx/package.py index 5118e49e964781..91971025683297 100644 --- a/var/spack/repos/builtin/packages/upcxx/package.py +++ b/var/spack/repos/builtin/packages/upcxx/package.py @@ -9,24 +9,30 @@ from spack.package import * +@llnl.util.lang.memoized def is_CrayXC(): return spack.platforms.host().name == "linux" and ( os.environ.get("CRAYPE_NETWORK_TARGET") == "aries" ) +@llnl.util.lang.memoized def is_CrayEX(): - if spack.platforms.host().name in ["linux", "cray"]: + if spack.platforms.host().name == "linux": target = os.environ.get("CRAYPE_NETWORK_TARGET") if target in ["ofi", "ucx"]: # normal case return True elif target is None: # but some systems lack Cray PrgEnv fi_info = which("fi_info") - if fi_info and fi_info("-l", output=str).find("cxi") >= 0: + if ( + fi_info + and fi_info("-l", output=str, error=str, fail_on_error=False).find("cxi") >= 0 + ): return True return False +@llnl.util.lang.memoized def cross_detect(): if is_CrayXC(): if which("srun"): @@ -90,9 +96,14 @@ class Upcxx(Package, CudaPackage, ROCmPackage): deprecated=True, sha256="01be35bef4c0cfd24e9b3d50c88866521b9cac3ad4cbb5b1fc97aea55078810f", ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated # Do NOT add older versions here. # UPC++ releases over 2 years old are not supported. + patch("fix_configure_ldflags.patch", when="@2021.9.0:master") + variant("mpi", default=False, description="Enables MPI-based spawners and mpi-conduit") variant( @@ -136,15 +147,18 @@ class Upcxx(Package, CudaPackage, ROCmPackage): ) # UPC++ always relies on GASNet-EX. - # The default (and recommendation) is to use the implicit, embedded version. # This variant allows overriding with a particular version of GASNet-EX sources, # although this is not officially supported and some combinations might be rejected. - variant("gasnet", default=False, description="Override embedded GASNet-EX version") + # Original default was to use the embedded version of GASNet-EX, + # but currently there are newer versions in Spack so we default to that instead. + variant("gasnet", default=True, description="Override embedded GASNet-EX with Spack's") depends_on("gasnet conduits=none", when="+gasnet") depends_on("mpi", when="+mpi") depends_on("python@2.7.5:", type=("build", "run")) + depends_on("libfabric", when=is_CrayEX()) + conflicts("^hip@:4.4.0", when="+rocm") depends_on("oneapi-level-zero@1.8.0:", when="+level_zero") @@ -206,8 +220,8 @@ def install(self, spec, prefix): if is_CrayEX(): # Probe to find the right libfabric provider (SlingShot 10 vs 11) - fi_info = which("fi_info")("-l", output=str) - if fi_info.find("cxi") >= 0: + fi_info = which(spec["libfabric"].prefix.bin.fi_info) or which("fi_info") + if fi_info is None or fi_info("-l", output=str).find("cxi") >= 0: provider = "cxi" else: provider = "verbs;ofi_rxm" @@ -238,13 +252,16 @@ def install(self, spec, prefix): if "+cuda" in spec: options.append("--enable-cuda") + options.append("--with-cuda-home=" + spec["cuda"].prefix) options.append("--with-nvcc=" + spec["cuda"].prefix.bin.nvcc) + options.append( + "--with-ldflags=" + self.compiler.cc_rpath_arg + spec["cuda"].prefix.lib64 + ) if "+rocm" in spec: options.append("--enable-hip") - options.append( - "--with-ld-flags=" + self.compiler.cc_rpath_arg + spec["hip"].prefix.lib - ) + options.append("--with-hip-home=" + spec["hip"].prefix) + options.append("--with-ldflags=" + self.compiler.cc_rpath_arg + spec["hip"].prefix.lib) if "+level_zero" in spec: options.append("--enable-ze") diff --git a/var/spack/repos/builtin/packages/upp/package.py b/var/spack/repos/builtin/packages/upp/package.py index 3a6c52686e649b..b8b7fe13edb394 100644 --- a/var/spack/repos/builtin/packages/upp/package.py +++ b/var/spack/repos/builtin/packages/upp/package.py @@ -43,6 +43,9 @@ class Upp(CMakePackage): ) version("8.2.0", sha256="38de2178dc79420f42aa3fb8b85796fc49d43d66f90e5276e47ab50c282627ac") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=True, description="Use OpenMP threading") variant("postexec", default=True, description="Build NCEPpost executable") variant("wrf-io", default=False, description="Build with WRF-IO library") diff --git a/var/spack/repos/builtin/packages/uqtk/package.py b/var/spack/repos/builtin/packages/uqtk/package.py index 4eb4e7fbdb4bf2..929b7c26507764 100644 --- a/var/spack/repos/builtin/packages/uqtk/package.py +++ b/var/spack/repos/builtin/packages/uqtk/package.py @@ -22,6 +22,10 @@ class Uqtk(CMakePackage): version("3.1.0", sha256="56ecd3d13bdd908d568e9560dc52cc0f66d7bdcdbe64ab2dd0147a7cf1734f97") version("3.0.4", sha256="0a72856438134bb571fd328d1d30ce3d0d7aead32eda9b7fb6e436a27d546d2e") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "python", default=True, description="Compile Python scripts and interface to C++ libraries" ) diff --git a/var/spack/repos/builtin/packages/uriparser/package.py b/var/spack/repos/builtin/packages/uriparser/package.py index b9bc7a850120ae..0c6dacbfeb9b26 100644 --- a/var/spack/repos/builtin/packages/uriparser/package.py +++ b/var/spack/repos/builtin/packages/uriparser/package.py @@ -28,6 +28,9 @@ class Uriparser(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("docs", default=False, description="Build API documentation") depends_on("cmake@3.3:", type="build") diff --git a/var/spack/repos/builtin/packages/usbutils/package.py b/var/spack/repos/builtin/packages/usbutils/package.py index a74b154e2a96e7..9228889ec29530 100644 --- a/var/spack/repos/builtin/packages/usbutils/package.py +++ b/var/spack/repos/builtin/packages/usbutils/package.py @@ -19,6 +19,8 @@ class Usbutils(AutotoolsPackage): version("011", sha256="9cf6e8c3030efc6abbb3c12de4da49816e0d6c6429f43fa3afb874cf72c2c869") version("010", sha256="e32f3debe6c1308bb9aa9a92c3d86f8565a6f6cf7711bccb07b0f83bf530717d") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/usearch/0001-Don-t-statically-link.patch b/var/spack/repos/builtin/packages/usearch/0001-Don-t-statically-link.patch new file mode 100644 index 00000000000000..f5912596632351 --- /dev/null +++ b/var/spack/repos/builtin/packages/usearch/0001-Don-t-statically-link.patch @@ -0,0 +1,26 @@ +From 8df3df8574522ec75c085d35f7c42a65dfe16cf4 Mon Sep 17 00:00:00 2001 +From: Alex C Leute +Date: Thu, 18 Jul 2024 14:39:35 -0400 +Subject: [PATCH] Don't statically link + +--- + src/Makefile | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index e849853..b796f52 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -15,9 +15,6 @@ CXXFLAGS := $(CFLAGS) -DNDEBUG -pthread -O3 -ffast-math -march=native --std=c++1 + + UNAME_S := $(shell uname -s) + LDFLAGS := $(LDFLAGS) -O3 -pthread -lpthread +-ifeq ($(UNAME_S),Linux) +- LDFLAGS += -static +-endif + + HDRS = \ + accepter.h \ +-- +2.43.5 + diff --git a/var/spack/repos/builtin/packages/usearch/package.py b/var/spack/repos/builtin/packages/usearch/package.py index 6ce96241bcf20c..300a13b688a22b 100644 --- a/var/spack/repos/builtin/packages/usearch/package.py +++ b/var/spack/repos/builtin/packages/usearch/package.py @@ -8,28 +8,52 @@ from spack.package import * -class Usearch(Package): +class Usearch(MakefilePackage): """USEARCH is a unique sequence analysis tool with thousands of users world-wide. - Note: A manual download is required for USEARCH. - Spack will search your current directory for the download file. - Alternatively, add this file to a mirror so that Spack can find it. - For instructions on how to set up a mirror, see + Note: A manual download is required for USEARCH when @:11.0.667. Spack + will search your current directory for the download file. Alternatively, + add this file to a mirror so that Spack can find it. For instructions on + how to set up a mirror, see https://spack.readthedocs.io/en/latest/mirrors.html""" homepage = "https://www.drive5.com/usearch/" + url = "https://github.com/rcedgar/usearch12/archive/refs/tags/v12.0-beta1.tar.gz" maintainers("snehring") - manual_download = True + build_directory = "src" + version( + "12.0-beta1", sha256="dbb06e4733801dab1c405616880261bd885ab171dfdb1d44e8ede48d739cdc43" + ) version("11.0.667", sha256="1be0faa1380100296029064e4cf9665d723d43f03c794da444c5b1a6b6799ac2") version("10.0.240", sha256="297ba03cb5bdc60c9727b7949cc08bfeecad8b290c2844b5ad011f72a7e1399c") + with when("@12:"): + depends_on("c", type="build") + depends_on("cxx", type="build") + depends_on("ccache", type="build") + + patch("0001-Don-t-statically-link.patch", when="@12:") + + @property + def manual_download(self): + return self.spec.satisfies("@:11.0.667") + def url_for_version(self, version): - return "file://{0}/usearch{1}_i86linux32.gz".format(os.getcwd(), version) + if version <= Version("11.0.667"): + return "file://{0}/usearch{1}_i86linux32.gz".format(os.getcwd(), version) + return super().url_for_version(version) + + def build(self, spec, prefix): + if not self.spec.satisfies("@:11.0.667"): + super().build(spec, prefix) def install(self, spec, prefix): mkdirp(prefix.bin) - install("usearch{0}_i86linux32".format(self.version), prefix.bin.usearch) + if self.spec.satisfies("@:11.0.667"): + install("usearch{0}_i86linux32".format(self.version), prefix.bin.usearch) + else: + install("bin/usearch{0}".format(self.version.up_to(1)), prefix.bin.usearch) set_executable(prefix.bin.usearch) diff --git a/var/spack/repos/builtin/packages/userspace-rcu/package.py b/var/spack/repos/builtin/packages/userspace-rcu/package.py index adbfe989b6159c..732b0c693f5c1f 100644 --- a/var/spack/repos/builtin/packages/userspace-rcu/package.py +++ b/var/spack/repos/builtin/packages/userspace-rcu/package.py @@ -30,6 +30,8 @@ class UserspaceRcu(AutotoolsPackage): version("0.10.2", sha256="e117c416fced894e24720cc1b38247074a13020f19d6704b38e554cbcb993d06") version("0.9.6", sha256="4d9e4ca40c079e0b0e9f912a9092589b97fbaf80eb6537e9ae70d48c09472efa") + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/ut/package.py b/var/spack/repos/builtin/packages/ut/package.py index 1f76e497d0de88..583ae7dd660200 100644 --- a/var/spack/repos/builtin/packages/ut/package.py +++ b/var/spack/repos/builtin/packages/ut/package.py @@ -22,6 +22,8 @@ class Ut(CMakePackage): version("2.0.0", sha256="8b5b11197d1308dfc1fe20efd6a656e0c833dbec2807e2292967f6e2f7c0420f") version("1.1.9", sha256="1a666513157905aa0e53a13fac602b5673dcafb04a869100a85cd3f000c2ed0d") + depends_on("cxx", type="build") # generated + generator("ninja") depends_on("cmake@3.21:3.25", type="build", when="@master") diff --git a/var/spack/repos/builtin/packages/utf8proc/package.py b/var/spack/repos/builtin/packages/utf8proc/package.py index af154fdc9538ef..ae92704ecadc72 100644 --- a/var/spack/repos/builtin/packages/utf8proc/package.py +++ b/var/spack/repos/builtin/packages/utf8proc/package.py @@ -21,6 +21,8 @@ class Utf8proc(CMakePackage): version("2.5.0", sha256="d4e8dfc898cfd062493cb7f42d95d70ccdd3a4cd4d90bec0c71b47cca688f1be") version("2.4.0", sha256="b2e5d547c1d94762a6d03a7e05cea46092aab68636460ff8648f1295e2cdfbd7") + depends_on("c", type="build") # generated + variant("shared", default=False, description="Build a shared version of the library") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/uthash/package.py b/var/spack/repos/builtin/packages/uthash/package.py index 1b176904a79670..61b1535e2eb73d 100644 --- a/var/spack/repos/builtin/packages/uthash/package.py +++ b/var/spack/repos/builtin/packages/uthash/package.py @@ -16,6 +16,9 @@ class Uthash(Package): version("2.3.0", sha256="e10382ab75518bad8319eb922ad04f907cb20cccb451a3aa980c9d005e661acc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.include) for header in find(join_path(self.stage.source_path, "src"), "*.h"): diff --git a/var/spack/repos/builtin/packages/util-linux-uuid/package.py b/var/spack/repos/builtin/packages/util-linux-uuid/package.py index eb3e1a540f7bf0..4b8171e5ba4fab 100644 --- a/var/spack/repos/builtin/packages/util-linux-uuid/package.py +++ b/var/spack/repos/builtin/packages/util-linux-uuid/package.py @@ -14,14 +14,17 @@ class UtilLinuxUuid(AutotoolsPackage): list_url = "https://www.kernel.org/pub/linux/utils/util-linux" list_depth = 1 - license("GPL-2.0-or-later") + license("BSD-3-Clause", checked_by="wdconinc") + version("2.40.2", sha256="7bec316b713a14c6be1a5721aa0e56a3b6170277329e6e1f1a56013cc91eece0") version("2.40.1", sha256="8e396eececae2b3b68db232c33b8810faa7c31f6df19f98f512739293d5829b7") version("2.38.1", sha256="0820eb8eea90408047e3715424bc6be771417047f683950fecb4bdd2e2cbbc6e") version("2.37.4", sha256="c8b7b4fa541f974cc32c1c6559d9bfca33651020a456ad6ee5fc9b0cacd00151") version("2.36.2", sha256="f5dbe79057e7d68e1a46fc04083fc558b26a49499b1b3f50e4f4893150970463") version("2.36", sha256="82942cd877a989f6d12d4ce2c757fb67ec53d8c5cd9af0537141ec5f84a2eea3") + depends_on("c", type="build") # generated + conflicts("%gcc@:4", when="@2.37:") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/util-linux/package.py b/var/spack/repos/builtin/packages/util-linux/package.py index bcd31b88d092ae..e4a67d8ed94ad6 100644 --- a/var/spack/repos/builtin/packages/util-linux/package.py +++ b/var/spack/repos/builtin/packages/util-linux/package.py @@ -18,6 +18,7 @@ class UtilLinux(AutotoolsPackage): license("GPL-2.0-only", checked_by="wdconinc") + version("2.40.2", sha256="7bec316b713a14c6be1a5721aa0e56a3b6170277329e6e1f1a56013cc91eece0") version("2.40", sha256="2a51d08cb71fd8e491e0cf633032c928f9a2848417f8441cb8cf7ef9971de916") version("2.39.3", sha256="40ea07584d56c310455471afa92c119ec259776a561af7159cc802344c2c370d") version("2.39.1", sha256="d7c8a58eb2c7248a32754eb3a3b6772e368b984d9907ada834c2cf3e13024270") @@ -38,6 +39,8 @@ class UtilLinux(AutotoolsPackage): version("2.29.1", sha256="a6a7adba65a368e6dad9582d9fbedee43126d990df51266eaee089a73c893653") version("2.25", sha256="7e43273a9e2ab99b5a54ac914fddf5d08ba7ab9b114c550e9f03474672bd23a1") + depends_on("c", type="build") # generated + depends_on("python@2.7:", type="build") depends_on("pkgconfig", type="build") depends_on("ncurses", type="link") diff --git a/var/spack/repos/builtin/packages/util-macros/package.py b/var/spack/repos/builtin/packages/util-macros/package.py index bf05bb135b8adc..1f6411e2bd9c26 100644 --- a/var/spack/repos/builtin/packages/util-macros/package.py +++ b/var/spack/repos/builtin/packages/util-macros/package.py @@ -14,11 +14,6 @@ class UtilMacros(AutotoolsPackage, XorgPackage): homepage = "https://gitlab.freedesktop.org/xorg/util/macros" xorg_mirror_path = "util/util-macros-1.19.1.tar.xz" - # note: url_for_version can only return a single url, no mirrors - def url_for_version(self, version): - if self.spec.satisfies("@:1.19"): - return self.urls[0].replace("xz", "bz2") - maintainers("robert-mijakovic", "wdconinc") license("MIT") @@ -29,6 +24,11 @@ def url_for_version(self, version): version("1.19.1", sha256="18d459400558f4ea99527bc9786c033965a3db45bf4c6a32eefdc07aa9e306a6") version("1.19.0", sha256="2835b11829ee634e19fa56517b4cfc52ef39acea0cd82e15f68096e27cbed0ba") + # note: url_for_version can only return a single url, no mirrors + def url_for_version(self, version): + if self.spec.satisfies("@:1.19"): + return spack.url.substitute_version(self.urls[0].replace("xz", "bz2"), version) + def setup_dependent_build_environment(self, env, dependent_spec): """Adds the ACLOCAL path for autotools.""" env.append_path("ACLOCAL_PATH", self.prefix.share.aclocal) diff --git a/var/spack/repos/builtin/packages/uvw/package.py b/var/spack/repos/builtin/packages/uvw/package.py index 685ab77ffbb723..b99312427166bf 100644 --- a/var/spack/repos/builtin/packages/uvw/package.py +++ b/var/spack/repos/builtin/packages/uvw/package.py @@ -21,6 +21,8 @@ class Uvw(CMakePackage): version("1.13.0", sha256="cc9944e5a2cdeb19bb74c61c3c02816c5a02b4339f3ad16e979bb7c8640e22c0") version("1.12.0", sha256="b7751294fa00e8a96cd7d70989beda7a6117f5d9f4751306b7b2bbbb4702aac8") + depends_on("cxx", type="build") # generated + variant("docs", default=False, description="Builds and install the documentation") depends_on("libuv", type="link") diff --git a/var/spack/repos/builtin/packages/vacuumms/package.py b/var/spack/repos/builtin/packages/vacuumms/package.py index 6b3bf03716318a..eb5418df90731a 100644 --- a/var/spack/repos/builtin/packages/vacuumms/package.py +++ b/var/spack/repos/builtin/packages/vacuumms/package.py @@ -44,6 +44,9 @@ class Vacuumms(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("test", default=True, description="enable CMake testing") variant("tiff", default=False, description="Build TIFF utilities") variant("cuda", default=False, description="Build CUDA applications and utilities") diff --git a/var/spack/repos/builtin/packages/vala/package.py b/var/spack/repos/builtin/packages/vala/package.py index e7e03a4462f4f4..5fbec5e05dcb09 100644 --- a/var/spack/repos/builtin/packages/vala/package.py +++ b/var/spack/repos/builtin/packages/vala/package.py @@ -32,6 +32,8 @@ class Vala(AutotoolsPackage): version("0.48.15", sha256="5f64283f8e69a48c73256cb93578c7db4c35c0b7df079568a4d5b6065b602a50") version("0.48.14", sha256="dca57de29f4ce18ee8c6b1e4f1b37ca3843d19dae5c455fceebccc5ae3ffe347") + depends_on("c", type="build") # generated + variant("doc", default=False, description="build valadoc") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/valgrind/package.py b/var/spack/repos/builtin/packages/valgrind/package.py index 0820d4c6b664b1..a87966faf9e1a1 100644 --- a/var/spack/repos/builtin/packages/valgrind/package.py +++ b/var/spack/repos/builtin/packages/valgrind/package.py @@ -27,6 +27,9 @@ class Valgrind(AutotoolsPackage, SourcewarePackage): license("GPL-2.0-or-later") version("develop", branch="master") + version("3.23.0", sha256="c5c34a3380457b9b75606df890102e7df2c702b9420c2ebef9540f8b5d56264d") + version("3.22.0", sha256="c811db5add2c5f729944caf47c4e7a65dcaabb9461e472b578765dd7bf6d2d4c") + version("3.21.0", sha256="10ce1618bb3e33fad16eb79552b0a3e1211762448a0d7fce11c8a6243b9ac971") version("3.20.0", sha256="8536c031dbe078d342f121fa881a9ecd205cb5a78e639005ad570011bdb9f3c6") version("3.19.0", sha256="dd5e34486f1a483ff7be7300cc16b4d6b24690987877c3278d797534d6738f02") version("3.18.1", sha256="00859aa13a772eddf7822225f4b46ee0d39afbe071d32778da4d99984081f7f5") @@ -41,6 +44,9 @@ class Valgrind(AutotoolsPackage, SourcewarePackage): version("3.10.1", sha256="fa253dc26ddb661b6269df58144eff607ea3f76a9bcfe574b0c7726e1dfcb997") version("3.10.0", sha256="03047f82dfc6985a4c7d9d2700e17bc05f5e1a0ca6ad902e5d6c81aeb720edc9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Activates MPI support for valgrind") variant("boost", default=True, description="Activates boost support for valgrind") variant("only64bit", default=True, description="Sets --enable-only64bit option for valgrind") diff --git a/var/spack/repos/builtin/packages/valijson/package.py b/var/spack/repos/builtin/packages/valijson/package.py index ceaadd05a68cb8..888737395417dc 100644 --- a/var/spack/repos/builtin/packages/valijson/package.py +++ b/var/spack/repos/builtin/packages/valijson/package.py @@ -20,3 +20,5 @@ class Valijson(CMakePackage): version("master", branch="master") version("1.0.2", sha256="35d86e54fc727f1265226434dc996e33000a570f833537a25c8b702b0b824431") version("1.0", sha256="6b9f0bc89880feb3fe09aa469cd81f6168897d2fbb4e715853da3b94afd3779a") + + depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/vampirtrace/package.py b/var/spack/repos/builtin/packages/vampirtrace/package.py index bc28a286d0466f..2809c5d74ff64e 100644 --- a/var/spack/repos/builtin/packages/vampirtrace/package.py +++ b/var/spack/repos/builtin/packages/vampirtrace/package.py @@ -16,6 +16,10 @@ class Vampirtrace(AutotoolsPackage): version("5.14.4", sha256="1719a1666dd274c221b781631958cae56aa8bcb3f22861fb4ba6526c1b465a30") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("mpi", default=True, description="Enable MPI support") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/vapor/package.py b/var/spack/repos/builtin/packages/vapor/package.py index 72507b8b86f8ff..e6a2bf2349235f 100644 --- a/var/spack/repos/builtin/packages/vapor/package.py +++ b/var/spack/repos/builtin/packages/vapor/package.py @@ -29,6 +29,9 @@ class Vapor(CMakePackage): preferred=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("doc", default=True, description="Build docs using Doxygen") variant("ospray", default=False, description="Enable OSPRay raytracing") diff --git a/var/spack/repos/builtin/packages/variorum/package.py b/var/spack/repos/builtin/packages/variorum/package.py index 09023d6d72c391..a1c0ce5f15f941 100644 --- a/var/spack/repos/builtin/packages/variorum/package.py +++ b/var/spack/repos/builtin/packages/variorum/package.py @@ -30,6 +30,10 @@ class Variorum(CMakePackage): version("0.2.0", sha256="b8c010b26aad8acc75d146c4461532cf5d9d3d24d6fc30ee68f6330a68e65744") version("0.1.0", tag="v0.1.0", commit="7747ee48cc60567bb3f09e732f24c041ecac894d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + ############ # Variants # ############ diff --git a/var/spack/repos/builtin/packages/varnish-cache/package.py b/var/spack/repos/builtin/packages/varnish-cache/package.py index 9d3fd83987ddbc..2950922511ee9c 100644 --- a/var/spack/repos/builtin/packages/varnish-cache/package.py +++ b/var/spack/repos/builtin/packages/varnish-cache/package.py @@ -20,6 +20,8 @@ class VarnishCache(AutotoolsPackage): version("6.3.0", sha256="c7170d4bc57f1d2454da046fc5e43e2d19a804448d2dd839fa5c33f76bd677bb") version("6.2.3", sha256="64cd273aa155c78c21e74def53622be5920c8a7d952fee74f0663e57a01c9a9d") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/vasp/package.py b/var/spack/repos/builtin/packages/vasp/package.py index 1f67e9b006bff9..aa937bc4ab4b1a 100644 --- a/var/spack/repos/builtin/packages/vasp/package.py +++ b/var/spack/repos/builtin/packages/vasp/package.py @@ -8,7 +8,7 @@ from spack.package import * -class Vasp(MakefilePackage): +class Vasp(MakefilePackage, CudaPackage): """ The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale materials modelling, @@ -18,14 +18,32 @@ class Vasp(MakefilePackage): homepage = "https://vasp.at" url = "file://{0}/vasp.5.4.4.pl2.tgz".format(os.getcwd()) + maintainers("snehring") manual_download = True + version("6.4.3", sha256="fe30e773f2a3e909b5e0baa9654032dfbdeff7ec157bc348cee7681a7b6c24f4") version("6.3.2", sha256="f7595221b0f9236a324ea8afe170637a578cdd5a837cc7679e7f7812f6edf25a") version("6.3.0", sha256="adcf83bdfd98061016baae31616b54329563aa2739573f069dd9df19c2071ad3") - version("6.2.0", sha256="49e7ba351bd634bc5f5f67a8ef1e38e64e772857a1c02f602828898a84197e25") - version("6.1.1", sha256="e37a4dfad09d3ad0410833bcd55af6b599179a085299026992c2d8e319bf6927") - version("5.4.4.pl2", sha256="98f75fd75399a23d76d060a6155f4416b340a1704f256a00146f89024035bc8e") - version("5.4.4", sha256="5bd2449462386f01e575f9adf629c08cb03a13142806ffb6a71309ca4431cfb3") + version( + "6.2.0", + sha256="49e7ba351bd634bc5f5f67a8ef1e38e64e772857a1c02f602828898a84197e25", + deprecated=True, + ) + version( + "6.1.1", + sha256="e37a4dfad09d3ad0410833bcd55af6b599179a085299026992c2d8e319bf6927", + deprecated=True, + ) + version( + "5.4.4.pl2", + sha256="98f75fd75399a23d76d060a6155f4416b340a1704f256a00146f89024035bc8e", + deprecated=True, + ) + version( + "5.4.4", + sha256="5bd2449462386f01e575f9adf629c08cb03a13142806ffb6a71309ca4431cfb3", + deprecated=True, + ) resource( name="vaspsol", @@ -34,270 +52,289 @@ class Vasp(MakefilePackage): when="+vaspsol", ) - variant("openmp", default=False, description="Enable openmp build") - with when("+openmp"): - conflicts("^fftw~openmp") - conflicts("^amdfftw~openmp") - conflicts("^amdblis threads=none") - conflicts("^amdblis threads=pthreads") - conflicts("^openblas threads=none") - conflicts("^openblas threads=pthreads") + variant("openmp", default=False, when="@6:", description="Enable openmp build") - variant("scalapack", default=False, description="Enables build with SCALAPACK") + variant("scalapack", default=False, when="@:5", description="Enables build with SCALAPACK") variant("cuda", default=False, description="Enables running on Nvidia GPUs") - variant("fftlib", default=False, description="Enables fftlib build") - with when("+fftlib"): - conflicts("@:6.1.1", msg="fftlib support started from 6.2.0") - conflicts("~openmp", msg="fftlib is intended to be used with openmp") + variant("fftlib", default=True, when="@6.2: +openmp", description="Enables fftlib build") variant( "vaspsol", default=False, + when="@:6.2", description="Enable VASPsol implicit solvation model\n" "https://github.com/henniggroup/VASPsol", ) variant("shmem", default=True, description="Enable use_shmem build flag") + variant("hdf5", default=False, when="@6.2:", description="Enabled HDF5 support") depends_on("rsync", type="build") depends_on("blas") depends_on("lapack") depends_on("fftw-api") + depends_on("fftw+openmp", when="+openmp ^[virtuals=fftw-api] fftw") + depends_on("amdfftw+openmp", when="+openmp ^[virtuals=fftw-api] amdfftw") + depends_on("amdblis threads=openmp", when="+openmp ^[virtuals=blas] amdblis") + depends_on("openblas threads=openmp", when="+openmp ^[virtuals=blas] openblas") depends_on("mpi", type=("build", "link", "run")) + # fortran oddness requires the below + depends_on("openmpi%aocc", when="%aocc ^[virtuals=mpi] openmpi") + depends_on("openmpi%gcc", when="%gcc ^[virtuals=mpi] openmpi") depends_on("scalapack", when="+scalapack") - depends_on("cuda", when="+cuda") - depends_on("qd", when="%nvhpc") + # wiki (and makefiles) suggest scalapack is expected in 6: + depends_on("scalapack", when="@6:") + depends_on("nccl", when="@6.3: +cuda") + depends_on("hdf5+fortran+mpi", when="+hdf5") + # at the very least the nvhpc mpi seems required + depends_on("nvhpc+mpi+lapack+blas", when="%nvhpc") conflicts( "%gcc@:8", msg="GFortran before 9.x does not support all features needed to build VASP" ) conflicts("+vaspsol", when="+cuda", msg="+vaspsol only available for CPU") - conflicts("+openmp", when="@:6.1.1", msg="openmp support started from 6.2") - - parallel = False + requires("%nvhpc", when="@6.3: +cuda", msg="vasp requires nvhpc to build the openacc build") + # the mpi compiler wrappers in nvhpc assume nvhpc is the underlying compiler, seemingly + conflicts("^[virtuals=mpi] nvhpc", when="%gcc", msg="nvhpc mpi requires nvhpc compiler") + conflicts("^[virtuals=mpi] nvhpc", when="%aocc", msg="nvhpc mpi requires nvhpc compiler") + conflicts( + "cuda_arch=none", when="@6.3: +cuda", msg="CUDA arch required when building openacc port" + ) def edit(self, spec, prefix): - if "%gcc" in spec: - if "+openmp" in spec: - make_include = join_path("arch", "makefile.include.linux_gnu_omp") - else: - make_include = join_path("arch", "makefile.include.linux_gnu") - elif "%nvhpc" in spec: - make_include = join_path("arch", "makefile.include.linux_pgi") - filter_file("-pgc++libs", "-c++libs", make_include, string=True) - filter_file("pgcc", spack_cc, make_include) - filter_file("pgc++", spack_cxx, make_include, string=True) - filter_file("pgfortran", spack_fc, make_include) - filter_file( - "/opt/pgi/qd-2.3.17/install/include", spec["qd"].prefix.include, make_include - ) - filter_file("/opt/pgi/qd-2.3.17/install/lib", spec["qd"].prefix.lib, make_include) - elif "%aocc" in spec: - if "+openmp" in spec: - if "@6.3.0" in spec: - copy( - join_path("arch", "makefile.include.gnu_ompi_aocl_omp"), - join_path("arch", "makefile.include.linux_aocc_omp"), - ) - make_include = join_path("arch", "makefile.include.linux_aocc_omp") - - elif "@6.3.2:" in spec: - make_include = join_path("arch", "makefile.include.aocc_ompi_aocl_omp") - else: - copy( - join_path("arch", "makefile.include.linux_gnu_omp"), - join_path("arch", "makefile.include.linux_aocc_omp"), - ) - make_include = join_path("arch", "makefile.include.linux_aocc_omp") - else: - if "@6.3.0:" in spec: - copy( - join_path("arch", "makefile.include.gnu_ompi_aocl"), - join_path("arch", "makefile.include.linux_aocc"), - ) - make_include = join_path("arch", "makefile.include.linux_aocc") - if "@6.3.2:" in spec: - make_include = join_path("arch", "makefile.include.aocc_ompi_aocl") - else: - copy( - join_path("arch", "makefile.include.linux_gnu"), - join_path("arch", "makefile.include.linux_aocc"), - ) - make_include = join_path("arch", "makefile.include.linux_aocc_omp") - filter_file("^CC_LIB[ ]{0,}=.*$", "CC_LIB={0}".format(spack_cc), make_include) - if "@6.3.0:" in spec: - filter_file("gcc", "{0} {1}".format(spack_fc, "-Mfree"), make_include, string=True) - else: - filter_file("gcc", "{0}".format(spack_fc), make_include, string=True) - filter_file("g++", spack_cxx, make_include, string=True) - - filter_file("^CFLAGS_LIB[ ]{0,}=.*$", "CFLAGS_LIB = -O3", make_include) - filter_file("^FFLAGS_LIB[ ]{0,}=.*$", "FFLAGS_LIB = -O3", make_include) - filter_file("^OFLAG[ ]{0,}=.*$", "OFLAG = -O3", make_include) - filter_file( - "^FC[ ]{0,}=.*$", "FC = {0}".format(spec["mpi"].mpifc), make_include, string=True - ) - filter_file( - "^FCL[ ]{0,}=.*$", - '"FCL = {0}".format(spec["mpi"].mpifc)', - make_include, - string=True, - ) - filter_file( - "-fallow-argument-mismatch", " -fno-fortran-main", make_include, string=True - ) - - filter_file("^OBJECTS_LIB[ ]{0,}=.*$", "OBJECTS_LIB ?=", make_include) - filter_file("-march=native", " ", make_include) - else: - if "+openmp" in spec: - make_include = join_path( - "arch", "makefile.include.linux_{0}_omp".format(spec.compiler.name) - ) - else: - make_include = join_path("arch", "makefile.include.linux_" + spec.compiler.name) - - # Recent versions of vasp have renamed the makefile.include files - # to leave out the linux_ string - if not os.path.exists(make_include): - make_include = make_include.replace("linux_", "") - os.rename(make_include, "makefile.include") - - # This bunch of 'filter_file()' is to make these options settable - # as environment variables - filter_file("^CPP_OPTIONS[ ]{0,}=[ ]{0,}", "CPP_OPTIONS ?= ", "makefile.include") - filter_file("^FFLAGS[ ]{0,}=[ ]{0,}", "FFLAGS ?= ", "makefile.include") - - filter_file("^LIBDIR[ ]{0,}=.*$", "", "makefile.include") - filter_file("^BLAS[ ]{0,}=.*$", "BLAS ?=", "makefile.include") - filter_file("^LAPACK[ ]{0,}=.*$", "LAPACK ?=", "makefile.include") - filter_file("^FFTW[ ]{0,}?=.*$", "FFTW ?=", "makefile.include") - filter_file("^MPI_INC[ ]{0,}=.*$", "MPI_INC ?=", "makefile.include") - filter_file("-DscaLAPACK.*$\n", "", "makefile.include") - filter_file("^SCALAPACK[ ]{0,} =.*$", "SCALAPACK ?=", "makefile.include") - - if "+cuda" in spec: - filter_file("^OBJECTS_GPU[ ]{0,}=.*$", "OBJECTS_GPU ?=", "makefile.include") - - filter_file("^CPP_GPU[ ]{0,}=.*$", "CPP_GPU ?=", "makefile.include") - - filter_file("^CFLAGS[ ]{0,}=.*$", "CFLAGS ?=", "makefile.include") - - if "+fftlib" in spec: - filter_file("^#FCL[ ]{0,}=fftlib.o", "FCL += fftlib/fftlib.o", "makefile.include") - filter_file("^#CXX_FFTLIB", "CXX_FFTLIB", "makefile.include") - filter_file("^#INCS_FFTLIB", "INCS_FFTLIB", "makefile.include") - filter_file("^#LIBS", "LIBS", "makefile.include") - filter_file( - "LIBS[ ]{0,}=.*$", "LIBS=-lstdc++ fftlib/fftlib.o -ldl", "makefile.include" - ) - if "+vaspsol" in spec: - copy("VASPsol/src/solvation.F", "src/") - - def setup_build_environment(self, spack_env): - spec = self.spec - cpp_options = [ - "-DMPI -DMPI_BLOCK=8000", + "-DMPI", + "-DMPI_BLOCK=8000", "-Duse_collective", "-DCACHE_SIZE=4000", "-Davoidalloc", "-Duse_bse_te", "-Dtbdyn", + "-Dfock_dblbuf", ] + objects_lib = ["linpack_double.o"] + llibs = list(self.compiler.stdcxx_libs) + cflags = ["-fPIC", "-DAAD_"] + fflags = ["-w"] + incs = [spec["fftw-api"].headers.include_flags] - if "+shmem" in spec: - cpp_options.append("-Duse_shmem") + if self.spec.satisfies("@6:"): + cpp_options.append("-Dvasp6") + + llibs.extend([spec["blas"].libs.ld_flags, spec["lapack"].libs.ld_flags]) + + fc = [spec["mpi"].mpifc] + fcl = [spec["mpi"].mpifc] + + include_prefix = "" + omp_flag = "-fopenmp" - if "%nvhpc" in self.spec: - cpp_options.extend(['-DHOST=\\"LinuxPGI\\"', "-DPGI16", "-Dqd_emulate"]) - elif "%aocc" in self.spec: - cpp_options.extend( - [ - '-DHOST=\\"LinuxAMD\\"', - "-Dfock_dblbuf", - "-Dsysv", - "-Dshmem_bcast_buffer", - "-DNGZhalf", - ] + if spec.satisfies("+shmem"): + cpp_options.append("-Duse_shmem") + objects_lib.append("getshmem.o") + + if spec.satisfies("@:6.2"): + include_prefix = "linux_" + include_string = f"makefile.include.{include_prefix}" + + # gcc + if spec.satisfies("%gcc"): + include_string += "gnu" + if spec.satisfies("+openmp"): + include_string += "_omp" + make_include = join_path("arch", include_string) + # nvhpc + elif spec.satisfies("%nvhpc"): + qd_root = join_path( + spec["nvhpc"].prefix, + f"Linux_{spec['nvhpc'].target.family.name}", + str(spec["nvhpc"].version.dotted), + "compilers", + "extras", + "qd", ) - if "@6.3.0:" and "^amdfftw@4.0:" in self.spec: + nvroot = join_path(spec["nvhpc"].prefix, f"Linux_{spec['nvhpc'].target.family.name}") + if spec.satisfies("@6.3:"): + cpp_options.extend(['-DHOST=\\"LinuxNV\\"', "-Dqd_emulate"]) + else: + cpp_options.extend(['-DHOST=\\"LinuxPGI\\"', "-DPGI16", "-Dqd_emulate", "-Mfree"]) + + fflags.extend(["-Mnoupcase", "-Mbackslash", "-Mlarge_arrays"]) + incs.append(f"-I{join_path(qd_root, 'include', 'qd')}") + llibs.extend([f"-L{join_path(qd_root, 'lib')}", "-lqdmod", "-lqd"]) + + if spec.satisfies("@:6.2"): + make_include = join_path("arch", f"{include_string}pgi") + filter_file("pgcc", spack_cc, make_include) + filter_file("pgc++", spack_cxx, make_include, string=True) + filter_file("pgfortran", spack_fc, make_include) + else: + include_string += "nvhpc" + if spec.satisfies("+openmp"): + include_string += "_omp" + if spec.satisfies("+cuda"): + include_string += "_acc" + make_include = join_path("arch", include_string) + omp_flag = "-mp" + filter_file(r"^QD[ \t]*\??=.*$", f"QD = {qd_root}", make_include) + filter_file("NVROOT[ \t]*=.*$", f"NVROOT = {nvroot}", make_include) + # aocc + elif spec.satisfies("%aocc"): + cpp_options.extend(['-DHOST=\\"LinuxAMD\\"', "-Dshmem_bcast_buffer", "-DNGZhalf"]) + fflags.extend(["-fno-fortran-main", "-Mbackslash", "-ffunc-args-alias"]) + if spec.satisfies("@6.3.0: ^amdfftw@4.0:"): cpp_options.extend(["-Dfftw_cache_plans", "-Duse_fftw_plan_effort"]) - if "+openmp" in self.spec: - cpp_options.extend(["-D_OPENMP"]) - cpp_options.extend(["-Mfree "]) + if spec.satisfies("+openmp"): + if spec.satisfies("@6.3.2:"): + include_string += "aocc_ompi_aocl_omp" + elif spec.satisfies("@=6.3.0"): + include_string += "gnu_ompi_aocl_omp" + else: + include_string += "gnu_omp" + else: + if spec.satisfies("@6.3.2:"): + include_string += "aocc_ompi_aocl" + elif spec.satisfies("@=6.3.0"): + include_string += "gnu_ompi_aocl" + else: + include_string += "gnu" + make_include = join_path("arch", include_string) + filter_file("^CC_LIB[ ]{0,}=.*$", f"CC_LIB={spack_cc}", make_include) + if spec.satisfies("@6:6.3.0"): + filter_file("gcc", f"{spack_fc} -Mfree", make_include, string=True) + filter_file( + "-fallow-argument-mismatch", " -fno-fortran-main", make_include, string=True + ) + # fj + elif spec.satisfies("@6.4.3: %fj target=a64fx"): + include_string += "fujitsu_a64fx" + omp_flag = "-Kopenmp" + fc.extend(["simd_nouse_multiple_structures", "-X03"]) + fcl.append("simd_nouse_multiple_structures") + cpp_options.append('-DHOST=\\"FJ-A64FX\\"') + fflags.append("-Koptmsg=2") + llibs.extend(["-SSL2BLAMP", "-SCALAPACK"]) + if spec.satisfies("+openmp"): + include_string += "_omp" + make_include = join_path("arch", include_string) + else: + if spec.satisfies("+openmp"): + make_include = join_path("arch", f"{include_string}{spec.compiler.name}_omp") + # if the above doesn't work, fallback to gnu + if not os.path.exists(make_include): + make_include = join_path("arch", f"{include_string}.gnu_omp") + else: + make_include = join_path( + "arch", f"{include_string}{include_prefix}" + spec.compiler.name + ) + if not os.path.exists(make_include): + make_include = join_path("arch", f"{include_string}.gnu") cpp_options.append('-DHOST=\\"LinuxGNU\\"') - if self.spec.satisfies("@6:"): - cpp_options.append("-Dvasp6") - - cflags = ["-fPIC", "-DADD_"] - fflags = [] - if "%gcc" in spec or "%intel" in spec: - fflags.append("-w") - elif "%nvhpc" in spec: - fflags.extend(["-Mnoupcase", "-Mbackslash", "-Mlarge_arrays"]) - elif "%aocc" in spec: - fflags.extend(["-fno-fortran-main", "-Mbackslash"]) - objects_lib = ["linpack_double.o", "getshmem.o"] - spack_env.set("OBJECTS_LIB", " ".join(objects_lib)) - - spack_env.set("BLAS", spec["blas"].libs.ld_flags) - spack_env.set("LAPACK", spec["lapack"].libs.ld_flags) - if "^amdfftw" in spec: - spack_env.set("AMDFFTW_ROOT", spec["fftw-api"].prefix) + if spec.satisfies("+openmp"): + cpp_options.extend(["-Dsysv", "-D_OPENMP"]) + llibs.extend(["-ldl", spec["fftw-api:openmp"].libs.ld_flags]) + fc.append(omp_flag) + fcl.append(omp_flag) else: - spack_env.set("FFTW", spec["fftw-api"].libs.ld_flags) - spack_env.set("MPI_INC", spec["mpi"].prefix.include) - - if "%nvhpc" in spec: - spack_env.set("QD", spec["qd"].prefix) + llibs.append(spec["fftw-api"].libs.ld_flags) - if "+scalapack" in spec: + if spec.satisfies("^scalapack"): cpp_options.append("-DscaLAPACK") - spack_env.set("SCALAPACK", spec["scalapack"].libs.ld_flags) - - if "+cuda" in spec: - cpp_gpu = [ - "-DCUDA_GPU", - "-DRPROMU_CPROJ_OVERLAP", - "-DCUFFT_MIN=28", - "-DUSE_PINNED_MEMORY", - ] - - objects_gpu = [ - "fftmpiw.o", - "fftmpi_map.o", - "fft3dlib.o", - "fftw3d_gpu.o", - "fftmpiw_gpu.o", - ] - - cflags.extend(["-DGPUSHMEM=300", "-DHAVE_CUBLAS"]) - - spack_env.set("CUDA_ROOT", spec["cuda"].prefix) - spack_env.set("CPP_GPU", " ".join(cpp_gpu)) - spack_env.set("OBJECTS_GPU", " ".join(objects_gpu)) - - if "+vaspsol" in spec: + if spec.satisfies("%nvhpc"): + llibs.append("-Mscalapack") + else: + llibs.append(spec["scalapack"].libs.ld_flags) + + if spec.satisfies("+cuda"): + if spec.satisfies("@6.3:"): + # openacc + cpp_options.extend(["-D_OPENACC", "-DUSENCCL"]) + llibs.extend(["-cudalib=cublas,cusolver,cufft,nccl", "-cuda"]) + fc.append("-acc") + fcl.append("-acc") + cuda_flags = [f"cuda{str(spec['cuda'].version.dotted[0:2])}", "rdc"] + for f in spec.variants["cuda_arch"].value: + cuda_flags.append(f"cc{f}") + fc.append(f"-gpu={','.join(cuda_flags)}") + fcl.append(f"-gpu={','.join(cuda_flags)}") + fcl.extend(list(self.compiler.stdcxx_libs)) + cc = [spec["mpi"].mpicc, "-acc"] + if spec.satisfies("+openmp"): + cc.append(omp_flag) + filter_file("^CC[ \t]*=.*$", f"CC = {' '.join(cc)}", make_include) + + else: + # old cuda thing + cflags.extend(["-DGPUSHMEM=300", "-DHAVE_CUBLAS"]) + filter_file(r"^CUDA_ROOT[ \t]*\?=.*$", spec["cuda"].prefix, make_include) + + if spec.satisfies("+vaspsol"): cpp_options.append("-Dsol_compat") + copy("VASPsol/src/solvation.F", "src/") + + if spec.satisfies("+hdf5"): + cpp_options.append("-DVASP_HDF5") + llibs.append(spec["hdf5:fortran"].libs.ld_flags) + incs.append(spec["hdf5"].headers.include_flags) if spec.satisfies("%gcc@10:"): fflags.append("-fallow-argument-mismatch") - if spec.satisfies("%aocc"): - fflags.append("-fno-fortran-main -Mbackslash -ffunc-args-alias") - # Finally - spack_env.set("CPP_OPTIONS", " ".join(cpp_options)) - spack_env.set("CFLAGS", " ".join(cflags)) - spack_env.set("FFLAGS", " ".join(fflags)) + filter_file(r"^VASP_TARGET_CPU[ ]{0,}\?=.*", "", make_include) + + if spec.satisfies("@:5"): + filter_file("-DscaLAPACK.*$\n", "", make_include) + + if spec.satisfies("+fftlib"): + cxxftlib = ( + f"CXX_FFTLIB = {spack_cxx} {omp_flag}" + f" -DFFTLIB_THREADSAFE{' '.join(list(self.compiler.stdcxx_libs))}" + ) + filter_file("^#FCL[ ]{0,}=fftlib.o", "FCL += fftlib/fftlib.o", make_include) + filter_file("^#CXX_FFTLIB.*$", cxxftlib, make_include) + filter_file( + "^#INCS_FFTLIB.*$", + f"INCS_FFTLIB = -I./include {spec['fftw-api'].headers.include_flags}", + make_include, + ) + filter_file(r"#LIBS[ \t]*\+=.*$", "LIBS = fftlib", make_include) + llibs.append("-ldl") + fcl.append(join_path("fftlib", "fftlib.o")) + + # clean multiline CPP options at begining of file + filter_file(r"^[ \t]+(-D[a-zA-Z0-9_=]+[ ]*)+[ ]*\\*$", "", make_include) + # replace relevant variables in the makefile.include + filter_file("^FFLAGS[ \t]*=.*$", f"FFLAGS = {' '.join(fflags)}", make_include) + filter_file(r"^FFLAGS[ \t]*\+=.*$", "", make_include) + filter_file( + "^CPP_OPTIONS[ \t]*=.*$", f"CPP_OPTIONS = {' '.join(cpp_options)}", make_include + ) + filter_file(r"^INCS[ \t]*\+?=.*$", f"INCS = {' '.join(incs)}", make_include) + filter_file(r"^LLIBS[ \t]*\+?=.*$", f"LLIBS = {' '.join(llibs)}", make_include) + filter_file(r"^LLIBS[ \t]*\+=[ ]*-.*$", "", make_include) + filter_file("^CFLAGS[ \t]*=.*$", f"CFLAGS = {' '.join(cflags)}", make_include) + filter_file( + "^OBJECTS_LIB[ \t]*=.*$", f"OBJECTS_LIB = {' '.join(objects_lib)}", make_include + ) + filter_file("^FC[ \t]*=.*$", f"FC = {' '.join(fc)}", make_include) + filter_file("^FCL[ \t]*=.*$", f"FCL = {' '.join(fcl)}", make_include) + + os.rename(make_include, "makefile.include") + + def setup_build_environment(self, spack_env): + if self.spec.satisfies("%nvhpc +cuda"): + spack_env.set("NVHPC_CUDA_HOME", self.spec["cuda"].prefix) def build(self, spec, prefix): - if "+cuda" in self.spec: - make("gpu", "gpu_ncl") + if spec.satisfies("@:6.2"): + if spec.satisfies("+cuda"): + make("DEPS=1", "all") + else: + make("DEPS=1", "std", "gam", "ncl") else: - make("std", "gam", "ncl") + make("DEPS=1, all") def install(self, spec, prefix): install_tree("bin/", prefix.bin) diff --git a/var/spack/repos/builtin/packages/vbfnlo/package.py b/var/spack/repos/builtin/packages/vbfnlo/package.py index 69d9e2807da875..77648aef6148a0 100644 --- a/var/spack/repos/builtin/packages/vbfnlo/package.py +++ b/var/spack/repos/builtin/packages/vbfnlo/package.py @@ -38,6 +38,9 @@ class Vbfnlo(AutotoolsPackage): sha256="13e33d73d8a8ef64094621f87e6f94e01712e76cc19a86298d0b52cfcb9decca", preferred=True, ) + + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated # version('2.7.0', sha256='0e96c0912599e3000fffec5305700b947b604a7b06c7975851503f445311e4ef') # Documentation is broken on some systems: diff --git a/var/spack/repos/builtin/packages/vbz-compression/package.py b/var/spack/repos/builtin/packages/vbz-compression/package.py index 52712253b46618..feba17e46cef5f 100644 --- a/var/spack/repos/builtin/packages/vbz-compression/package.py +++ b/var/spack/repos/builtin/packages/vbz-compression/package.py @@ -30,6 +30,9 @@ class VbzCompression(CMakePackage): version("1.0.0", commit="2db0e3f62fa7a612dc42dc802401c26781eed068", submodules=True) version("0.9.3", commit="9a748efcdd0754be835e1080cf7086f3451e17d1", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.11:", type="build") depends_on("zstd@1.3.1:") depends_on("hdf5@1.8.16:") diff --git a/var/spack/repos/builtin/packages/vc/package.py b/var/spack/repos/builtin/packages/vc/package.py index a5d549c360ffc6..98c2276544b27e 100644 --- a/var/spack/repos/builtin/packages/vc/package.py +++ b/var/spack/repos/builtin/packages/vc/package.py @@ -13,8 +13,9 @@ class Vc(CMakePackage): git = "https://github.com/VcDevel/Vc.git" url = "https://github.com/VcDevel/Vc/archive/refs/tags/1.3.3.tar.gz" - license("BSD-3-Clause") + license("BSD-3-Clause", checked_by="wdconinc") + version("1.4.5", sha256="eb734ef4827933fcd67d4c74aef54211b841c350a867c681c73003eb6d511a48") version("1.4.4", sha256="5933108196be44c41613884cd56305df320263981fe6a49e648aebb3354d57f3") version("1.4.3", sha256="988ea0053f3fbf17544ca776a2749c097b3139089408b0286fa4e9e8513e037f") version("1.4.2", sha256="50d3f151e40b0718666935aa71d299d6370fafa67411f0a9e249fbce3e6e3952") @@ -24,6 +25,10 @@ class Vc(CMakePackage): version("1.2.0", sha256="9cd7b6363bf40a89e8b1d2b39044b44a4ce3f1fd6672ef3fc45004198ba28a2b") version("1.1.0", sha256="281b4c6152fbda11a4b313a0a0ca18565ee049a86f35f672f1383967fef8f501") + depends_on("cxx", type="build") # generated + + depends_on("cmake@3.5:", type="build", when="@1.4.5:") + @run_before("cmake") def fetch_additional_sources(self): """Starting from 1.4:, the test suite requires both the virtest framework diff --git a/var/spack/repos/builtin/packages/vcftools/package.py b/var/spack/repos/builtin/packages/vcftools/package.py index e533200232f59f..adb359bbb220e3 100644 --- a/var/spack/repos/builtin/packages/vcftools/package.py +++ b/var/spack/repos/builtin/packages/vcftools/package.py @@ -23,6 +23,9 @@ class Vcftools(AutotoolsPackage): # version('0.1.15', sha256='31e47afd5be679d89ece811a227525925b6907cce4af2c86f10f465e080383e3') version("0.1.14", sha256="76d799dd9afcb12f1ed42a07bc2886cd1a989858a4d047f24d91dcf40f608582") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("perl", type=("build", "run")) depends_on("zlib-api") depends_on("pkgconfig") diff --git a/var/spack/repos/builtin/packages/vdt/package.py b/var/spack/repos/builtin/packages/vdt/package.py index 0b5a2aafdf9e90..8e6afa6eee3adb 100644 --- a/var/spack/repos/builtin/packages/vdt/package.py +++ b/var/spack/repos/builtin/packages/vdt/package.py @@ -22,6 +22,9 @@ class Vdt(CMakePackage): version("0.3.7", sha256="713a7e6d76d98f3b2b56b5216e7d5906e30f17865a5c7c889968e9a0b0664949") version("0.3.6", sha256="fb8f6386f2cd1eeb03db43f2b5c83a172107949bb5e5e8d4dfa603660a9757b0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "preload", default=False, diff --git a/var/spack/repos/builtin/packages/veccore/package.py b/var/spack/repos/builtin/packages/veccore/package.py index f8a7ab885ebd24..38f714e2fa422f 100644 --- a/var/spack/repos/builtin/packages/veccore/package.py +++ b/var/spack/repos/builtin/packages/veccore/package.py @@ -34,6 +34,8 @@ class Veccore(CMakePackage): version("0.4.0", sha256="0a38b958c92647c30b5709d17edaf39d241b92b988f1040c0fbe24932b42927e") version("0.3.2", sha256="d72b03df00f5e94b2d07f78ab3af6d9d956c19e9a1fae07267b48f6fc8d7713f") + depends_on("cxx", type="build") + variant("vc", default=False, description="Enable Vc backend") depends_on("vc@1.2.0:", when="@0.2.0: +vc") diff --git a/var/spack/repos/builtin/packages/vecgeom/package.py b/var/spack/repos/builtin/packages/vecgeom/package.py index e04d29d422733e..34695cf6b431f1 100644 --- a/var/spack/repos/builtin/packages/vecgeom/package.py +++ b/var/spack/repos/builtin/packages/vecgeom/package.py @@ -153,6 +153,8 @@ class Vecgeom(CMakePackage, CudaPackage): deprecated=True, ) + depends_on("cxx", type="build") + _cxxstd_values = (conditional("11", "14", when="@:1.1"), "17", conditional("20", when="@1.2:")) variant( "cxxstd", diff --git a/var/spack/repos/builtin/packages/veclibfort/package.py b/var/spack/repos/builtin/packages/veclibfort/package.py index 22d03f08735378..a6949f31130037 100644 --- a/var/spack/repos/builtin/packages/veclibfort/package.py +++ b/var/spack/repos/builtin/packages/veclibfort/package.py @@ -23,6 +23,9 @@ class Veclibfort(Package): version("0.4.3", sha256="fe9e7e0596bfb4aa713b2273b21e7d96c0d7a6453ee4b214a8a50050989d5586") version("0.4.2", sha256="c61316632bffa1c76e3c7f92b11c9def4b6f41973ecf9e124d68de6ae37fbc85") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Build shared libraries as well as static libs.") # virtual dependency diff --git a/var/spack/repos/builtin/packages/vecmem/package.py b/var/spack/repos/builtin/packages/vecmem/package.py index 30186fd24d977a..5eddb8b61a779d 100644 --- a/var/spack/repos/builtin/packages/vecmem/package.py +++ b/var/spack/repos/builtin/packages/vecmem/package.py @@ -13,10 +13,21 @@ class Vecmem(CMakePackage, CudaPackage): url = "https://github.com/acts-project/vecmem/archive/refs/tags/v0.5.0.tar.gz" list_url = "https://github.com/acts-project/vecmem/tags" - maintainers("wdconinc", "HadrienG2") + maintainers("wdconinc", "stephenswat") license("MPL-2.0-no-copyleft-exception") + version("1.6.0", sha256="797b016ac0b79bb39abad059ffa9f4817e519218429c9ab4c115f989616bd5d4") + version("1.5.0", sha256="5d7a2d2dd8eb961af12a1ed9e4e427b89881e843064ffa96ad0cf0934ba9b7ae") + version("1.4.0", sha256="545dfb4de4f9f3d773eef6a0e3297ebf981bb81950930d0991ad739e31ab16af") + version("1.3.1", sha256="09b108b0b48d564bbc1b9893ad9c3f7fa0b7914179f55be4c81f88a93e25f2e2") + version("1.3.0", sha256="53367db3084de56891ff885754c8fc2427d9ae69a351dd4d984558edf4162bad") + version("1.2.0", sha256="2cca8c1143803f209b58e49e9f2d58ebeeec4c815e7d99b0da9f61a319274aa9") + version("1.1.0", sha256="4d1f08a28268708819b68ed547eac912ec46e6707b059f0cc4aa7103a525164e") + version("1.0.0", sha256="59f478e036aed384eed1ecee1a99c5c52983534d3007d9f9203b7cb12c6ffa19") + version("0.27.0", sha256="f50a32214500767402930d4650243583769684c28fa29fe17f17f393a37ce0f2") + version("0.26.0", sha256="0e67acc197c4c1052288957c6419478c243aca718b64d383decd758d3c8f49ee") + version("0.25.0", sha256="90a87f00d45216cf4548fbcd6bb255dc15190873dc52936293a8c13f82e907f3") version("0.24.0", sha256="b395c013fba4e01f02939fefac14b357dbfd8e572b5c8f4ee5a1414adbd2ea93") version("0.22.0", sha256="b8811723bee60b0ea289d4c8b73363883e7c856859baf4cb6276b38816b0b258") version("0.21.0", sha256="97df3beb9a59b89b65c51ceb7e7c9b09172b3875b25f2d8fc070e4f9b061b631") @@ -41,21 +52,35 @@ class Vecmem(CMakePackage, CudaPackage): version("0.2.0", sha256="33aea135989684e325cb097e455ff0f9d1a9e85ff32f671e3b3ed6cc036176ac") version("0.1.0", sha256="19e24e3262aa113cd4242e7b94e2de34a4b362e78553730a358f64351c6a0a01") + depends_on("cxx", type="build") # generated + variant("hip", default=False, description="Build the vecmem::hip library") variant("sycl", default=False, description="Build the vecmem::sycl library") depends_on("cmake@3.17:", type="build") depends_on("hip", when="+hip") depends_on("sycl", when="+sycl") - depends_on("googletest", type="test") + + # FIXME: due to #29447, googletest is not available to cmake when building with --test, + # and we can choose between always depending on googletest, or using FetchContent + # depends_on("googletest", type="test") + + def setup_build_environment(self, env): + if self.spec.satisfies("+sycl"): + env.set("SYCLCXX", self.compiler.cxx) + if self.spec.satisfies("%oneapi"): + env.set("SYCLFLAGS", "-fsycl") def cmake_args(self): args = [ + self.define("FETCHCONTENT_FULLY_DISCONNECTED", False), # see FIXME above self.define_from_variant("VECMEM_BUILD_CUDA_LIBRARY", "cuda"), self.define_from_variant("VECMEM_BUILD_HIP_LIBRARY", "hip"), self.define_from_variant("VECMEM_BUILD_SYCL_LIBRARY", "sycl"), + self.define("BUILD_TESTING", self.run_tests), self.define("VECMEM_BUILD_TESTING", self.run_tests), - self.define("VECMEM_USE_SYSTEM_GOOGLETEST", True), + self.define("VECMEM_USE_SYSTEM_LIBS", True), + self.define("VECMEM_USE_SYSTEM_GOOGLETEST", False), # see FIXME above ] if "+cuda" in self.spec: diff --git a/var/spack/repos/builtin/packages/vectorclass-version2/package.py b/var/spack/repos/builtin/packages/vectorclass-version2/package.py index 784ece9330960f..dc9a83bc425efc 100644 --- a/var/spack/repos/builtin/packages/vectorclass-version2/package.py +++ b/var/spack/repos/builtin/packages/vectorclass-version2/package.py @@ -20,6 +20,8 @@ class VectorclassVersion2(Package): version("2.01.04", sha256="7885c343b1af9eb940f4debdd7cd19544130a06ed70e0000e1a8471fb9c15118") + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): # Put all cpp files to an include folder # (makes a filesystem view with this diff --git a/var/spack/repos/builtin/packages/veloc/package.py b/var/spack/repos/builtin/packages/veloc/package.py index 2deeb894a28871..9d42a6d8006883 100644 --- a/var/spack/repos/builtin/packages/veloc/package.py +++ b/var/spack/repos/builtin/packages/veloc/package.py @@ -29,6 +29,9 @@ class Veloc(CMakePackage): version("1.1", sha256="2bbdacf3e0ce4e7c9e360874d8d85b405525bdc7bd992bdb1f1ba49218072160") version("1.0", sha256="d594b73d6549a61fce8e67b8984a17cebc3e766fc520ed1636ae3683cdde77cb") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libpthread-stubs") depends_on("mpi") depends_on("boost") diff --git a/var/spack/repos/builtin/packages/verible/package.py b/var/spack/repos/builtin/packages/verible/package.py index 01194ea035844d..c993d69727edeb 100644 --- a/var/spack/repos/builtin/packages/verible/package.py +++ b/var/spack/repos/builtin/packages/verible/package.py @@ -65,6 +65,8 @@ class Verible(Package): url="https://github.com/chipsalliance/verible/archive/refs/tags/v0.0-3428-gcfcbb82b.tar.gz", ) + depends_on("cxx", type="build") # generated + maintainers("davekeeshan") depends_on("flex", type="build") diff --git a/var/spack/repos/builtin/packages/verilator/package.py b/var/spack/repos/builtin/packages/verilator/package.py index 75a2e6cd3d4853..7500e252d93163 100644 --- a/var/spack/repos/builtin/packages/verilator/package.py +++ b/var/spack/repos/builtin/packages/verilator/package.py @@ -33,7 +33,7 @@ class Verilator(AutotoolsPackage): designs with thousands of modules.""" homepage = "https://www.veripool.org/projects/verilator" - url = "https://github.com/verilator/verilator/archive/refs/tags/v5.022.tar.gz" + url = "https://github.com/verilator/verilator/archive/refs/tags/v5.026.tar.gz" git = "https://github.com/verilator/verilator.git" maintainers("davekeeshan") @@ -42,6 +42,7 @@ class Verilator(AutotoolsPackage): version("master", branch="master") + version("5.026", sha256="87fdecf3967007d9ee8c30191ff2476f2a33635d0e0c6e3dbf345cc2f0c50b78") version("5.024", sha256="88b04c953e7165c670d6a700f202cef99c746a0867b4e2efe1d7ea789dee35f3") version("5.022", sha256="3c2f5338f4b6ce7e2f47a142401acdd18cbf4c5da06092618d6d036c0afef12d") version("5.020", sha256="41ca9abfadf8d2413efbff7f8277379733d0095957fe7769dc38f8fd1bc899a6") @@ -70,21 +71,27 @@ class Verilator(AutotoolsPackage): version("4.110", sha256="603c23944577a5d53a2e09191d04d5c61740a77b58f3a590a70e56f4526a5a0b") version("4.108", sha256="ce521dc57754e5a325ff7000c434ce23674c8e1de30e1f2a6506dc3a33bd7c55") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") depends_on("help2man", type="build") depends_on("bison", type="build") depends_on("flex") - depends_on("ccache", type=("build", "run"), when="@5.018:") depends_on("perl", type=("build", "run")) + depends_on("ccache", type=("build", "run"), when="@5.018:") conflicts("%gcc@:6", msg="C++14 support required") # we need to fix the CXX and LINK paths, as they point to the spack # wrapper scripts which aren't usable without spack filter_compiler_wrappers("verilated.mk", relative_root="include") + filter_compiler_wrappers("verilated.mk", relative_root="share/verilator/include") + @when("@:5.022") def setup_run_environment(self, env): env.prepend_path("VERILATOR_ROOT", self.prefix) diff --git a/var/spack/repos/builtin/packages/verrou/package.py b/var/spack/repos/builtin/packages/verrou/package.py index dc0cba56c68d5f..a32b6a9299617c 100644 --- a/var/spack/repos/builtin/packages/verrou/package.py +++ b/var/spack/repos/builtin/packages/verrou/package.py @@ -25,14 +25,15 @@ class Verrou(AutotoolsPackage): url = "https://github.com/edf-hpc/verrou/archive/v2.0.0.tar.gz" git = "https://github.com/edf-hpc/verrou.git" - maintainers("HadrienG2") - license("GPL-2.0-only") version("develop", branch="master") version("2.2.0", sha256="d4ea3d19f0c61329723907b5b145d85776bb702643c1605a31f584484d2c5efc") version("2.1.0", sha256="b1ba49f84aebab15b8ab5649946c9c31b53ad1499f6ffb681c98db41ed28566d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # The server is sometimes a bit slow to respond timeout = {"timeout": 60} diff --git a/var/spack/repos/builtin/packages/vgm/package.py b/var/spack/repos/builtin/packages/vgm/package.py index 5ec8dd46eb636b..468e6272805080 100644 --- a/var/spack/repos/builtin/packages/vgm/package.py +++ b/var/spack/repos/builtin/packages/vgm/package.py @@ -33,6 +33,8 @@ class Vgm(CMakePackage): version("4-00", sha256="c24de76f919dca7c92b3c9fce7a39142c6e61fd39f691d2e4df15fe413b5190d") version("3-06", sha256="41948869f2e4dcfa31f4bad42b938c25dd174660c427feb2f9effa9af5e59c7d") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.8:", type="build") depends_on("clhep") depends_on("root") diff --git a/var/spack/repos/builtin/packages/viennarna/package.py b/var/spack/repos/builtin/packages/viennarna/package.py index c492c2ba1ef882..6c74d9b4f759ca 100644 --- a/var/spack/repos/builtin/packages/viennarna/package.py +++ b/var/spack/repos/builtin/packages/viennarna/package.py @@ -21,6 +21,10 @@ class Viennarna(AutotoolsPackage): version("2.4.3", sha256="4cda6e22029b34bb9f5375181562f69e4a780a89ead50fe952891835e9933ac0") version("2.3.5", sha256="26b62a00da21bc5597b580ab8fef4e624234ec446d7d3cb0ce22803a5d7074ca") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "sse", default=True, description="Enable SSE in order to substantially speed up execution" ) diff --git a/var/spack/repos/builtin/packages/viewres/package.py b/var/spack/repos/builtin/packages/viewres/package.py index 73ea05962684d4..66b4df553242fd 100644 --- a/var/spack/repos/builtin/packages/viewres/package.py +++ b/var/spack/repos/builtin/packages/viewres/package.py @@ -20,6 +20,8 @@ class Viewres(AutotoolsPackage, XorgPackage): version("1.0.5", sha256="9dee5e6b0a18961bb5c33f3f654605d45912087b6ba781cb2277d1941fa35a4b") version("1.0.4", sha256="fd2aaec85c952fd6984fe14d0fcbda4d2ab9849a9183e4787b0ef552a10a87a1") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxmu") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/vigra/package.py b/var/spack/repos/builtin/packages/vigra/package.py index 6178b1b1a64a2f..54de86618bfd10 100644 --- a/var/spack/repos/builtin/packages/vigra/package.py +++ b/var/spack/repos/builtin/packages/vigra/package.py @@ -23,6 +23,9 @@ class Vigra(CMakePackage): version("master", branch="master") version("1.11.1", sha256="a5564e1083f6af6a885431c1ee718bad77d11f117198b277557f8558fa461aaf") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("png", default=False, description="Include support for PNG images") variant("jpeg", default=False, description="Include support for JPEG images") variant("tiff", default=False, description="Include support for TIFF images") diff --git a/var/spack/repos/builtin/packages/vim/package.py b/var/spack/repos/builtin/packages/vim/package.py index 3b40a0249d0b99..c246f1c1cd766f 100644 --- a/var/spack/repos/builtin/packages/vim/package.py +++ b/var/spack/repos/builtin/packages/vim/package.py @@ -41,6 +41,9 @@ class Vim(AutotoolsPackage): version("8.0.0134", sha256="1b3e3e7d187eed55cbdb0a1dae6b8f3b885005fbae84222420877d7afa3b2310") version("7.4.2367", sha256="a9ae4031ccd73cc60e771e8bf9b3c8b7f10f63a67efce7f61cd694cd8d7cda5c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + _features = ("huge", "big", "normal", "small", "tiny") variant("cscope", default=False, description="build with cscope support") diff --git a/var/spack/repos/builtin/packages/virtualgl/package.py b/var/spack/repos/builtin/packages/virtualgl/package.py index d7f9330e60ccae..72e8a574a434e6 100644 --- a/var/spack/repos/builtin/packages/virtualgl/package.py +++ b/var/spack/repos/builtin/packages/virtualgl/package.py @@ -19,6 +19,9 @@ class Virtualgl(CMakePackage): version("2.5.2", sha256="4f43387678b289a24139c5b7c3699740ca555a9f10011c979e51aa4df2b93238") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # This package will only work with libjpeg-turbo, not other jpeg providers depends_on("libjpeg-turbo") depends_on("glu") diff --git a/var/spack/repos/builtin/packages/virtuoso/package.py b/var/spack/repos/builtin/packages/virtuoso/package.py index 806ca826717e7c..18b36fc3c2f390 100644 --- a/var/spack/repos/builtin/packages/virtuoso/package.py +++ b/var/spack/repos/builtin/packages/virtuoso/package.py @@ -17,6 +17,9 @@ class Virtuoso(AutotoolsPackage): version("7.2.5.1-dev", commit="3ff1d4b3de3977337baf909c264968b9f70b7d2c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("dbpedia-vad", default=False, description="DBpedia vad package") variant("demo-vad", default=False, description="Demo vad package") variant("fct-vad", default=True, description="Facet Browser vad package") diff --git a/var/spack/repos/builtin/packages/visit-cgns/package.py b/var/spack/repos/builtin/packages/visit-cgns/package.py index c85b86bc998f2a..ef611aa0492be3 100644 --- a/var/spack/repos/builtin/packages/visit-cgns/package.py +++ b/var/spack/repos/builtin/packages/visit-cgns/package.py @@ -39,6 +39,10 @@ class VisitCgns(CMakePackage): version("2.10.2", sha256="89ecdfaf197ef431685e31b75628774deb6cd75d3e332ef26505774403e8beff") version("2.10.1", sha256="6b53dea89a241fd03300a7a3a50c0f773e2fb8458cd3ad06816e9bd2f0337cd8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake", type="build") depends_on("cgns@3.3.1+int64~scoping~legacy", when="@2.10.1:3.1.4") depends_on("cgns+int64~scoping~legacy") diff --git a/var/spack/repos/builtin/packages/visit-ffp/package.py b/var/spack/repos/builtin/packages/visit-ffp/package.py index c12fe75ee1a3b2..6766495fd0eda0 100644 --- a/var/spack/repos/builtin/packages/visit-ffp/package.py +++ b/var/spack/repos/builtin/packages/visit-ffp/package.py @@ -32,6 +32,10 @@ class VisitFfp(CMakePackage): version("3.1.1", sha256="0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0") version("3.0.1", sha256="a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("stripack", default=True, description="Enable STRIPACK unit sphere Delaunay meshing") depends_on("cmake", type="build") diff --git a/var/spack/repos/builtin/packages/visit-mfem/package.py b/var/spack/repos/builtin/packages/visit-mfem/package.py index 76c3abf5f23159..9fb677fc889e99 100644 --- a/var/spack/repos/builtin/packages/visit-mfem/package.py +++ b/var/spack/repos/builtin/packages/visit-mfem/package.py @@ -39,6 +39,10 @@ class VisitMfem(CMakePackage): version("2.10.2", sha256="89ecdfaf197ef431685e31b75628774deb6cd75d3e332ef26505774403e8beff") version("2.10.1", sha256="6b53dea89a241fd03300a7a3a50c0f773e2fb8458cd3ad06816e9bd2f0337cd8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake", type="build") depends_on("mfem") depends_on("visit") diff --git a/var/spack/repos/builtin/packages/visit-silo/package.py b/var/spack/repos/builtin/packages/visit-silo/package.py index d31402e3f93651..3dc7a4bbc650e3 100644 --- a/var/spack/repos/builtin/packages/visit-silo/package.py +++ b/var/spack/repos/builtin/packages/visit-silo/package.py @@ -44,6 +44,10 @@ class VisitSilo(CMakePackage): version("2.10.2", sha256="89ecdfaf197ef431685e31b75628774deb6cd75d3e332ef26505774403e8beff") version("2.10.1", sha256="6b53dea89a241fd03300a7a3a50c0f773e2fb8458cd3ad06816e9bd2f0337cd8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake", type="build") depends_on("silo") depends_on("visit") diff --git a/var/spack/repos/builtin/packages/visit-unv/package.py b/var/spack/repos/builtin/packages/visit-unv/package.py index d7cbbf4ad2a0cc..768ac3f66e8d20 100644 --- a/var/spack/repos/builtin/packages/visit-unv/package.py +++ b/var/spack/repos/builtin/packages/visit-unv/package.py @@ -37,6 +37,10 @@ class VisitUnv(CMakePackage): version("2.10.2", sha256="89ecdfaf197ef431685e31b75628774deb6cd75d3e332ef26505774403e8beff") version("2.10.1", sha256="6b53dea89a241fd03300a7a3a50c0f773e2fb8458cd3ad06816e9bd2f0337cd8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake", type="build") depends_on("visit") diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py index 5163725ab805a0..ab24314e357bf1 100644 --- a/var/spack/repos/builtin/packages/visit/package.py +++ b/var/spack/repos/builtin/packages/visit/package.py @@ -71,6 +71,10 @@ class Visit(CMakePackage): version("3.1.1", sha256="0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0") version("3.0.1", sha256="a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + root_cmakelists_dir = "src" generator("ninja") diff --git a/var/spack/repos/builtin/packages/vite/package.py b/var/spack/repos/builtin/packages/vite/package.py index bf45ae8e66b135..3f760fd70dbe57 100644 --- a/var/spack/repos/builtin/packages/vite/package.py +++ b/var/spack/repos/builtin/packages/vite/package.py @@ -20,6 +20,9 @@ class Vite(CMakePackage): version("master", branch="master") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type="build") depends_on("qt+opengl") depends_on("glm") diff --git a/var/spack/repos/builtin/packages/vmatch/package.py b/var/spack/repos/builtin/packages/vmatch/package.py index e5778416c0d073..f533443886fc2f 100644 --- a/var/spack/repos/builtin/packages/vmatch/package.py +++ b/var/spack/repos/builtin/packages/vmatch/package.py @@ -15,5 +15,7 @@ class Vmatch(Package): version("2.3.0", sha256="5e18d0dddf04e86dad193fcdde6e48f3901365932634125602d8808f35acf979") + depends_on("c", type="build") # generated + def install(self, spec, prefix): install_tree(self.stage.source_path, prefix.bin) diff --git a/var/spack/repos/builtin/packages/vmc/package.py b/var/spack/repos/builtin/packages/vmc/package.py index 683f58c350af51..b7b04b7a89486f 100644 --- a/var/spack/repos/builtin/packages/vmc/package.py +++ b/var/spack/repos/builtin/packages/vmc/package.py @@ -23,6 +23,8 @@ class Vmc(CMakePackage): version("1-0-p2", sha256="46b4c82b0b7516502e88db920732fc78f06f0393ac740a17816f2eb53f80e75e") version("1-0-p1", sha256="4a20515f7de426797955cec4a271958b07afbaa330770eeefb5805c882ad9749") + depends_on("cxx", type="build") # generated + patch("dict_fixes_101.patch", when="@1-0-p1") depends_on("root@6.18.04: ~vmc") diff --git a/var/spack/repos/builtin/packages/volk/package.py b/var/spack/repos/builtin/packages/volk/package.py index 601c5190c301d3..79c02bbb0c6316 100644 --- a/var/spack/repos/builtin/packages/volk/package.py +++ b/var/spack/repos/builtin/packages/volk/package.py @@ -31,5 +31,8 @@ class Volk(CMakePackage): version("2.3.0", sha256="f42c928f561b128acfe4adb21227e4a62a3f6ab8103592fc3233765ff326d5fc") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@3.4:", type=("build", "run")) depends_on("py-mako@0.4.2:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/voropp/package.py b/var/spack/repos/builtin/packages/voropp/package.py index 5a07ef7130673a..641e2c5ec47d9a 100644 --- a/var/spack/repos/builtin/packages/voropp/package.py +++ b/var/spack/repos/builtin/packages/voropp/package.py @@ -20,6 +20,8 @@ class Voropp(MakefilePackage): version("0.4.6", sha256="ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e") + depends_on("cxx", type="build") # generated + def edit(self, spec, prefix): filter_file(r"CC=g\+\+", "CC={0}".format(self.compiler.cxx), "config.mk") filter_file(r"PREFIX=/usr/local", "PREFIX={0}".format(self.prefix), "config.mk") diff --git a/var/spack/repos/builtin/packages/votca-csg/package.py b/var/spack/repos/builtin/packages/votca-csg/package.py index 04ad3d39e51750..2be5343d725df2 100644 --- a/var/spack/repos/builtin/packages/votca-csg/package.py +++ b/var/spack/repos/builtin/packages/votca-csg/package.py @@ -83,6 +83,8 @@ class VotcaCsg(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8:", type="build") for v in [ "1.4", diff --git a/var/spack/repos/builtin/packages/votca-csgapps/package.py b/var/spack/repos/builtin/packages/votca-csgapps/package.py index 2654417761a2cd..16f9358e0a8093 100644 --- a/var/spack/repos/builtin/packages/votca-csgapps/package.py +++ b/var/spack/repos/builtin/packages/votca-csgapps/package.py @@ -67,6 +67,8 @@ class VotcaCsgapps(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + for v in ["1.4", "1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2", "1.6.3", "1.6.4"]: depends_on("votca-csg@%s" % v, when="@%s:%s.0" % (v, v)) depends_on("boost+exception+math+serialization+container") diff --git a/var/spack/repos/builtin/packages/votca-ctp/package.py b/var/spack/repos/builtin/packages/votca-ctp/package.py index e1846fe900ff7e..a56fbe0622a963 100644 --- a/var/spack/repos/builtin/packages/votca-ctp/package.py +++ b/var/spack/repos/builtin/packages/votca-ctp/package.py @@ -31,6 +31,9 @@ class VotcaCtp(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("cmake@2.8:", type="build") depends_on("votca-tools@1.5.1") depends_on("votca-csg@1.5.1") diff --git a/var/spack/repos/builtin/packages/votca-tools/package.py b/var/spack/repos/builtin/packages/votca-tools/package.py index bb47d42a67c345..990a5f683909d7 100644 --- a/var/spack/repos/builtin/packages/votca-tools/package.py +++ b/var/spack/repos/builtin/packages/votca-tools/package.py @@ -83,6 +83,8 @@ class VotcaTools(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + # https://github.com/votca/tools/pull/229, fix mkl in exported target patch( "https://github.com/votca/tools/pull/229.patch?full_index=1", diff --git a/var/spack/repos/builtin/packages/votca-xtp/package.py b/var/spack/repos/builtin/packages/votca-xtp/package.py index 5276740f710e2d..3156ab4f121982 100644 --- a/var/spack/repos/builtin/packages/votca-xtp/package.py +++ b/var/spack/repos/builtin/packages/votca-xtp/package.py @@ -78,6 +78,8 @@ class VotcaXtp(CMakePackage): deprecated=True, ) + depends_on("cxx", type="build") # generated + depends_on("cmake@2.8:", type="build") for v in [ "1.4.1", diff --git a/var/spack/repos/builtin/packages/votca/package.py b/var/spack/repos/builtin/packages/votca/package.py index e0edcfefc954c9..5952239472b041 100644 --- a/var/spack/repos/builtin/packages/votca/package.py +++ b/var/spack/repos/builtin/packages/votca/package.py @@ -25,6 +25,8 @@ class Votca(CMakePackage): version("2022.1", sha256="358119b2645fe60f88ca621aed508c49fb61f88d29d3e3fa24b5b831ed4a66ec") version("2022", sha256="7991137098ff4511f4ca2c6f1b6c45f53d92d9f84e5c0d0e32fbc31768f73a83") + depends_on("cxx", type="build") # generated + variant("mkl", default=False, description="Build with MKL support") variant( "new-gmx", default=False, description="Build against gromacs>2019 - no tabulated kernels" @@ -39,7 +41,10 @@ class Votca(CMakePackage): depends_on("expat") depends_on("fftw-api@3") depends_on("eigen@3.3:") - depends_on("boost") + depends_on("boost+filesystem+system+regex+timer") + depends_on("boost@1.71:") + depends_on("boost@1.71:1.84", when="@=2024") + depends_on("boost@1.71:1.82", when="@:2023") depends_on("mkl", when="+mkl") depends_on("hdf5+cxx~mpi") depends_on("gromacs~mpi@5.1:") diff --git a/var/spack/repos/builtin/packages/vpfft/package.py b/var/spack/repos/builtin/packages/vpfft/package.py index e2b09e2dc24e05..31f3830d30a13f 100644 --- a/var/spack/repos/builtin/packages/vpfft/package.py +++ b/var/spack/repos/builtin/packages/vpfft/package.py @@ -24,6 +24,8 @@ class Vpfft(MakefilePackage): version("develop") + depends_on("cxx", type="build") # generated + depends_on("eigen") depends_on("fftw") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/vpic/package.py b/var/spack/repos/builtin/packages/vpic/package.py index c51eaf3cb2fea6..7cfd778434a9ee 100644 --- a/var/spack/repos/builtin/packages/vpic/package.py +++ b/var/spack/repos/builtin/packages/vpic/package.py @@ -24,6 +24,9 @@ class Vpic(CMakePackage): version("develop", branch="master", submodules=True) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type="build") depends_on("mpi") diff --git a/var/spack/repos/builtin/packages/vsearch/package.py b/var/spack/repos/builtin/packages/vsearch/package.py index 29c9f563d47033..81b0613da13979 100644 --- a/var/spack/repos/builtin/packages/vsearch/package.py +++ b/var/spack/repos/builtin/packages/vsearch/package.py @@ -20,6 +20,9 @@ class Vsearch(AutotoolsPackage): version("2.13.3", sha256="e5f34ece28b76403d3ba4a673eca41178fe399c35a1023dbc87d0c0da5efaa52") version("2.4.3", sha256="f7ffc2aec5d76bdaf1ffe7fb733102138214cec3e3846eb225455dcc3c088141") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("m4", type="build") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/vsftpd/package.py b/var/spack/repos/builtin/packages/vsftpd/package.py index 33d197d039038a..a10eb6d31949ee 100644 --- a/var/spack/repos/builtin/packages/vsftpd/package.py +++ b/var/spack/repos/builtin/packages/vsftpd/package.py @@ -19,6 +19,8 @@ class Vsftpd(MakefilePackage): version("3.0.2", sha256="be46f0e2c5528fe021fafc8dab1ecfea0c1f183063a06977f8537fcd0b195e56") version("3.0.1", sha256="65487a9fccc0ae566df5999a84448a9ccb57b556b7643ffd345540299487784c") + depends_on("c", type="build") # generated + depends_on("libcap") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/vt/package.py b/var/spack/repos/builtin/packages/vt/package.py index 3f4027de7af7bf..5bd8e126ccf36d 100644 --- a/var/spack/repos/builtin/packages/vt/package.py +++ b/var/spack/repos/builtin/packages/vt/package.py @@ -16,6 +16,9 @@ class Vt(MakefilePackage): version("0.5772", sha256="b147520478a2f7c536524511e48133d0360e88282c7159821813738ccbda97e7") version("0.577", sha256="009e2592e787ab37e471b4e8a66520141bb2791ca78142ca1767d27036f460d0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") def install(self, spec, spack): diff --git a/var/spack/repos/builtin/packages/vtable-dumper/package.py b/var/spack/repos/builtin/packages/vtable-dumper/package.py index 7be75560d0400d..75bff498fe9f7b 100644 --- a/var/spack/repos/builtin/packages/vtable-dumper/package.py +++ b/var/spack/repos/builtin/packages/vtable-dumper/package.py @@ -18,6 +18,8 @@ class VtableDumper(MakefilePackage): version("1.1", sha256="f0a57a7b82a0a56845cea9ab56ad449e63f5f01c6a0c9f1467efa4ef60dd4a93") version("1.0", sha256="a222de5a19bf716ab2f35148f43bbf8a052772b54ff622c6387a4ba2440fb9a0") + depends_on("c", type="build") # generated + depends_on("libelf") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/vtk-h/package.py b/var/spack/repos/builtin/packages/vtk-h/package.py index 9a159e4e0bdd1c..011e479ff16e13 100644 --- a/var/spack/repos/builtin/packages/vtk-h/package.py +++ b/var/spack/repos/builtin/packages/vtk-h/package.py @@ -60,6 +60,9 @@ class VtkH(CMakePackage, CudaPackage): version("0.5.3", sha256="0c4aae3bd2a5906738a6806de2b62ea2049ac8b40ebe7fc2ba25505272c2d359") version("0.5.2", sha256="db2e6250c0ece6381fc90540317ad7b5869dbcce0231ce9be125916a77bfdb25") + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Build vtk-h as shared libs") variant("mpi", default=True, description="build mpi support") # set to false for systems that implicitly link mpi diff --git a/var/spack/repos/builtin/packages/vtk-m/package.py b/var/spack/repos/builtin/packages/vtk-m/package.py index 6c7e3cda9dfc5c..c17a85318a1c39 100644 --- a/var/spack/repos/builtin/packages/vtk-m/package.py +++ b/var/spack/repos/builtin/packages/vtk-m/package.py @@ -29,6 +29,7 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage): version("master", branch="master") version("release", branch="release") + version("2.2.0-rc1", sha256="32643cf3564fa77f8e2a2a5456a574b6b2355bb68918eb62ccde493993ade1a3") version( "2.1.0", sha256="9cf3522b6dc0675281a1a16839464ebd1cc5f9c08c20eabee1719b3bcfdcf41f", @@ -51,6 +52,8 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage): version("1.2.0", sha256="607272992e05f8398d196f0acdcb4af025a4a96cd4f66614c6341f31d4561763") version("1.1.0", sha256="78618c81ca741b1fbba0853cb5d7af12c51973b514c268fc96dfb36b853cdb18") + depends_on("cxx", type="build") # generated + variant("shared", default=False, description="build shared libs") variant("doubleprecision", default=True, description="enable double precision") @@ -139,6 +142,10 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage): # Patch patch("diy-include-cstddef.patch", when="@1.5.3:1.8.0") + # VTK-M PR#3215 + # https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3215 + patch("vtkm-mr3215-ext-geom-fix.patch", when="@2.1") + # VTK-M PR#2972 # https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2972 patch("vtkm-cuda-swap-conflict-pr2972.patch", when="@1.9 +cuda ^cuda@12:") @@ -147,6 +154,13 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage): # https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3160 patch("mr3160-rocthrust-fix.patch", when="@2.1:") + # Disable Thrust patch that is no longer needed in modern Thrust + patch( + "https://github.com/Kitware/VTK-m/commit/4a4466e7c8cd44d2be2bd3fe6f359faa8e9547aa.patch?full_index=1", + sha256="58dc104ba05ec99c359eeec3ac094cdb071053a4250f4ad9d72ef6a356c4346e", + when="@1.6.0: +cuda ^cuda@12.5:", + ) + def cmake_args(self): spec = self.spec options = [] @@ -192,6 +206,9 @@ def cmake_args(self): # vtk-m detectes tbb via TBB_ROOT env var os.environ["TBB_ROOT"] = spec["tbb"].prefix + if "+kokkos" in spec and "+rocm" in spec and spec.satisfies("^kokkos@4:"): + options.append(f"-DCMAKE_CXX_COMPILER:BOOL={spec['hip'].prefix.bin.hipcc}") + # Support for relocatable code if "~shared" in spec and "+fpic" in spec: options.append("-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON") @@ -226,14 +243,12 @@ def cmake_args(self): return options - # Delegate in the vtk-m built smoke test - def smoke_test(self): + def test_smoke_test(self): + """Build and run ctests""" spec = self.spec if "+examples" not in spec: - raise RuntimeError( - "Examples needed for smoke test missing", "reinstall with `+examples` variant" - ) + raise SkipTest("Package must be installed with +examples") testdir = "smoke_test_build" with working_dir(testdir, create=True): @@ -248,7 +263,4 @@ def smoke_test(self): @run_after("install") @on_package_attributes(run_tests=True) def build_test(self): - self.smoke_test() - - def test(self): - self.smoke_test() + self.test_smoke_test() diff --git a/var/spack/repos/builtin/packages/vtk-m/vtkm-mr3215-ext-geom-fix.patch b/var/spack/repos/builtin/packages/vtk-m/vtkm-mr3215-ext-geom-fix.patch new file mode 100644 index 00000000000000..ed82e5630e0107 --- /dev/null +++ b/var/spack/repos/builtin/packages/vtk-m/vtkm-mr3215-ext-geom-fix.patch @@ -0,0 +1,145 @@ +From 49518e5054c607942f644c82a5289e12b0f50476 Mon Sep 17 00:00:00 2001 +From: Kenneth Moreland +Date: Fri, 3 May 2024 09:22:56 -0400 +Subject: [PATCH] Fix bug with ExtractGeometry filter + +The `ExtractGeometry` filter was outputing datasets containing +`CellSetPermutation` as the representation for the cells. Although this is +technically correct and a very fast implementation, it is essentially +useless. The problem is that any downstream processing will have to know +that the data has a `CellSetPermutation`. None do (because the permutation +can be on any other cell set type, which creates an explosion of possible +cell types). + +Like was done with `Threshold` a while ago, this problem is fixed by deep +copying the result into a `CellSetExplicit`. This behavior is consistent +with VTK. +--- + .../changelog/extract-geometry-permutation.md | 13 +++++++ + .../testing/UnitTestExtractGeometryFilter.cxx | 13 ++++++- + .../worklet/ExtractGeometry.h | 34 +++++++------------ + 3 files changed, 37 insertions(+), 23 deletions(-) + create mode 100644 docs/changelog/extract-geometry-permutation.md + +diff --git a/docs/changelog/extract-geometry-permutation.md b/docs/changelog/extract-geometry-permutation.md +new file mode 100644 +index 0000000000..8a90495f76 +--- /dev/null ++++ b/docs/changelog/extract-geometry-permutation.md +@@ -0,0 +1,13 @@ ++# Fix bug with ExtractGeometry filter ++ ++The `ExtractGeometry` filter was outputing datasets containing ++`CellSetPermutation` as the representation for the cells. Although this is ++technically correct and a very fast implementation, it is essentially ++useless. The problem is that any downstream processing will have to know ++that the data has a `CellSetPermutation`. None do (because the permutation ++can be on any other cell set type, which creates an explosion of possible ++cell types). ++ ++Like was done with `Threshold` a while ago, this problem is fixed by deep ++copying the result into a `CellSetExplicit`. This behavior is consistent ++with VTK. +diff --git a/vtkm/filter/entity_extraction/testing/UnitTestExtractGeometryFilter.cxx b/vtkm/filter/entity_extraction/testing/UnitTestExtractGeometryFilter.cxx +index 675df8f77c..14de333666 100644 +--- a/vtkm/filter/entity_extraction/testing/UnitTestExtractGeometryFilter.cxx ++++ b/vtkm/filter/entity_extraction/testing/UnitTestExtractGeometryFilter.cxx +@@ -11,6 +11,7 @@ + #include + #include + ++#include + #include + + using vtkm::cont::testing::MakeTestDataSet; +@@ -41,11 +42,21 @@ public: + vtkm::cont::DataSet output = extractGeometry.Execute(dataset); + VTKM_TEST_ASSERT(test_equal(output.GetNumberOfCells(), 8), "Wrong result for ExtractGeometry"); + ++ vtkm::filter::clean_grid::CleanGrid cleanGrid; ++ cleanGrid.SetCompactPointFields(true); ++ cleanGrid.SetMergePoints(false); ++ vtkm::cont::DataSet cleanOutput = cleanGrid.Execute(output); ++ + vtkm::cont::ArrayHandle outCellData; +- output.GetField("cellvar").GetData().AsArrayHandle(outCellData); ++ cleanOutput.GetField("cellvar").GetData().AsArrayHandle(outCellData); + + VTKM_TEST_ASSERT(outCellData.ReadPortal().Get(0) == 21.f, "Wrong cell field data"); + VTKM_TEST_ASSERT(outCellData.ReadPortal().Get(7) == 42.f, "Wrong cell field data"); ++ ++ vtkm::cont::ArrayHandle outPointData; ++ cleanOutput.GetField("pointvar").GetData().AsArrayHandle(outPointData); ++ VTKM_TEST_ASSERT(outPointData.ReadPortal().Get(0) == 99); ++ VTKM_TEST_ASSERT(outPointData.ReadPortal().Get(7) == 90); + } + + static void TestUniformByBox1() +diff --git a/vtkm/filter/entity_extraction/worklet/ExtractGeometry.h b/vtkm/filter/entity_extraction/worklet/ExtractGeometry.h +index 97521335f2..449d7eae60 100644 +--- a/vtkm/filter/entity_extraction/worklet/ExtractGeometry.h ++++ b/vtkm/filter/entity_extraction/worklet/ExtractGeometry.h +@@ -10,11 +10,13 @@ + #ifndef vtkm_m_worklet_ExtractGeometry_h + #define vtkm_m_worklet_ExtractGeometry_h + ++#include + #include + + #include + #include + #include ++#include + #include + #include + #include +@@ -114,28 +116,13 @@ public: + } + }; + +- //////////////////////////////////////////////////////////////////////////////////// +- // Extract cells by ids permutes input data +- template +- vtkm::cont::CellSetPermutation Run(const CellSetType& cellSet, +- const vtkm::cont::ArrayHandle& cellIds) +- { +- using OutputType = vtkm::cont::CellSetPermutation; +- +- vtkm::cont::ArrayCopy(cellIds, this->ValidCellIds); +- +- return OutputType(this->ValidCellIds, cellSet); +- } +- +- //////////////////////////////////////////////////////////////////////////////////// +- // Extract cells by implicit function permutes input data + template +- vtkm::cont::CellSetPermutation Run(const CellSetType& cellSet, +- const vtkm::cont::CoordinateSystem& coordinates, +- const ImplicitFunction& implicitFunction, +- bool extractInside, +- bool extractBoundaryCells, +- bool extractOnlyBoundaryCells) ++ vtkm::cont::CellSetExplicit<> Run(const CellSetType& cellSet, ++ const vtkm::cont::CoordinateSystem& coordinates, ++ const ImplicitFunction& implicitFunction, ++ bool extractInside, ++ bool extractBoundaryCells, ++ bool extractOnlyBoundaryCells) + { + // Worklet output will be a boolean passFlag array + vtkm::cont::ArrayHandle passFlags; +@@ -149,7 +136,10 @@ public: + vtkm::cont::Algorithm::CopyIf(indices, passFlags, this->ValidCellIds); + + // generate the cellset +- return vtkm::cont::CellSetPermutation(this->ValidCellIds, cellSet); ++ vtkm::cont::CellSetPermutation permutedCellSet(this->ValidCellIds, cellSet); ++ ++ vtkm::cont::CellSetExplicit<> outputCells; ++ return vtkm::worklet::CellDeepCopy::Run(permutedCellSet); + } + + vtkm::cont::ArrayHandle GetValidCellIds() const { return this->ValidCellIds; } +-- +GitLab + diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py index aba885513bbb53..ff2eb0ca50988f 100644 --- a/var/spack/repos/builtin/packages/vtk/package.py +++ b/var/spack/repos/builtin/packages/vtk/package.py @@ -20,10 +20,15 @@ class Vtk(CMakePackage): url = "https://www.vtk.org/files/release/9.0/VTK-9.0.0.tar.gz" list_url = "https://www.vtk.org/download/" - maintainers("chuckatkins", "danlipsa") + maintainers("danlipsa", "vicentebolea") license("BSD-3-Clause") + version( + "9.3.1", + sha256="8354ec084ea0d2dc3d23dbe4243823c4bfc270382d0ce8d658939fd50061cab8", + preferred=True, + ) version("9.2.6", sha256="06fc8d49c4e56f498c40fcb38a563ed8d4ec31358d0101e8988f0bb4d539dd12") version("9.2.2", sha256="1c5b0a2be71fac96ff4831af69e350f7a0ea3168981f790c000709dcf9121075") version("9.1.0", sha256="8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96") @@ -49,6 +54,9 @@ class Vtk(CMakePackage): version("6.3.0", sha256="92a493354c5fa66bea73b5fc014154af5d9f3f6cee8d20a826f4cd5d4b0e8a5e") version("6.1.0", sha256="bd7df10a479606d529a8b71f466c44a2bdd11fd534c62ce0aa44fad91883fa34") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # VTK7 defaults to OpenGL2 rendering backend variant("opengl2", default=True, description="Enable OpenGL2 backend") variant("python", default=False, description="Enable Python support", when="@8:") @@ -171,8 +179,9 @@ class Vtk(CMakePackage): depends_on("utf8cpp", when="@9:") depends_on("gl2ps", when="@8.1:") depends_on("gl2ps@1.4.1:", when="@9:") - depends_on("proj@4", when="@8.2.0") - depends_on("proj@4:", when="@9:") + # "8.2.1a" uses an internal proj so this special cases 8.2.1a + depends_on("proj@4:7", when="@:8.2.0, 9:9.1") + depends_on("proj@8:", when="@9.2:") depends_on("cgns@4.1.1:+mpi", when="@9.1: +mpi") depends_on("cgns@4.1.1:~mpi", when="@9.1: ~mpi") with when("@9.1:"): @@ -208,6 +217,14 @@ class Vtk(CMakePackage): when="@9.1", ) + # vtk@9 does not compile with gcc 13 or 14 + # https://gitlab.kitware.com/vtk/vtk/-/issues/18782 + patch( + "https://gitlab.kitware.com/vtk/vtk/-/merge_requests/9996.diff", + sha256="dab51ffd0d62b00c089c1245e6b105f740106b53893305c87193d4ba03a948e0", + when="@9.1:9.2 %gcc@13:", + ) + @when("@9.2:") def patch(self): # provide definition for Ioss::Init::Initializer::Initializer(), @@ -270,6 +287,7 @@ def cmake_args(self): cmake_args.extend( [ "-DVTK_USE_EXTERNAL:BOOL=ON", + "-DVTK_MODULE_USE_EXTERNAL_VTK_fast_float:BOOL=OFF", "-DVTK_MODULE_USE_EXTERNAL_VTK_libharu:BOOL=OFF", "-DVTK_MODULE_USE_EXTERNAL_VTK_pegtl:BOOL=OFF", "-DHDF5_ROOT={0}".format(spec["hdf5"].prefix), diff --git a/var/spack/repos/builtin/packages/vvtest/package.py b/var/spack/repos/builtin/packages/vvtest/package.py index 8bc51b502204f1..106a497924e3ea 100644 --- a/var/spack/repos/builtin/packages/vvtest/package.py +++ b/var/spack/repos/builtin/packages/vvtest/package.py @@ -24,6 +24,8 @@ class Vvtest(Package): version("1.1.0", sha256="674585f12d393ab9745a5ab26f59cb0f0e213f9c597b37467125979b5955ca79") version("1.0.0", sha256="acd04e8e6635ed1b1725b793e8287a58831d6380759a81159142a6ff3397a8dd") + depends_on("c", type="build") # generated + depends_on("python@2.6.0:3", type=("build", "run")) def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/w3emc/package.py b/var/spack/repos/builtin/packages/w3emc/package.py index f27000dbda3033..ecbd078f8100b7 100644 --- a/var/spack/repos/builtin/packages/w3emc/package.py +++ b/var/spack/repos/builtin/packages/w3emc/package.py @@ -27,6 +27,9 @@ class W3emc(CMakePackage): version("2.9.0", sha256="994f59635ab91e34e96cab5fbaf8de54389d09461c7bac33b3104a1187e6c98a") version("2.7.3", sha256="eace811a1365f69b85fdf2bcd93a9d963ba72de5a7111e6fa7c0e6578b69bfbc") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("pic", default=True, description="Build with position-independent-code") variant("bufr", default=False, description="Build with BUFR routines", when="@2.10:") variant( diff --git a/var/spack/repos/builtin/packages/w3m/package.py b/var/spack/repos/builtin/packages/w3m/package.py index 80aa64adca3415..2027b7f90bca05 100644 --- a/var/spack/repos/builtin/packages/w3m/package.py +++ b/var/spack/repos/builtin/packages/w3m/package.py @@ -29,6 +29,9 @@ class W3m(AutotoolsPackage): version("0.5.3", sha256="e994d263f2fd2c22febfbe45103526e00145a7674a0fda79c822b97c2770a9e3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # mandatory dependency depends_on("bdw-gc") diff --git a/var/spack/repos/builtin/packages/w3nco/package.py b/var/spack/repos/builtin/packages/w3nco/package.py index 8fd23086ef4809..c8de32376eb16a 100644 --- a/var/spack/repos/builtin/packages/w3nco/package.py +++ b/var/spack/repos/builtin/packages/w3nco/package.py @@ -20,6 +20,9 @@ class W3nco(CMakePackage): version("2.4.1", sha256="48b06e0ea21d3d0fd5d5c4e7eb50b081402567c1bff6c4abf4fd4f3669070139") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + def flag_handler(self, name, flags): if name == "cflags": if ( diff --git a/var/spack/repos/builtin/packages/wannier90/package.py b/var/spack/repos/builtin/packages/wannier90/package.py index 8bb4310893611c..0e1e71fed100d0 100644 --- a/var/spack/repos/builtin/packages/wannier90/package.py +++ b/var/spack/repos/builtin/packages/wannier90/package.py @@ -27,6 +27,9 @@ class Wannier90(MakefilePackage): version("2.1.0", sha256="ee90108d4bc4aa6a1cf16d72abebcb3087cf6c1007d22dda269eb7e7076bddca") version("2.0.1", sha256="05ea7cd421a219ce19d379ad6ae3d9b1a84be4ffb367506ffdfab1e729309e94") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") depends_on("lapack") depends_on("blas") diff --git a/var/spack/repos/builtin/packages/warpx/package.py b/var/spack/repos/builtin/packages/warpx/package.py index ed1fb87c5c7766..fb7d66384ffcca 100644 --- a/var/spack/repos/builtin/packages/warpx/package.py +++ b/var/spack/repos/builtin/packages/warpx/package.py @@ -57,6 +57,8 @@ class Warpx(CMakePackage): version("21.06", sha256="a26039dc4061da45e779dd5002467c67a533fc08d30841e01e7abb3a890fbe30") version("21.05", sha256="f835f0ae6c5702550d23191aa0bb0722f981abb1460410e3d8952bc3d945a9fc") version("21.04", sha256="51d2d8b4542eada96216e8b128c0545c4b7527addc2038efebe586c32c4020a0") + + depends_on("cxx", type="build") # generated # 20.01+ requires C++14 or newer variant("app", default=True, description="Build the WarpX executable application") @@ -144,6 +146,7 @@ class Warpx(CMakePackage): with when("+openpmd"): depends_on("openpmd-api@0.13.1:") depends_on("openpmd-api@0.14.2:", when="@21.09:") + depends_on("openpmd-api@0.15.1:", when="@23.05:") depends_on("openpmd-api ~mpi", when="~mpi") depends_on("openpmd-api +mpi", when="+mpi") @@ -291,23 +294,31 @@ def copy_test_sources(self): install test subdirectory for use during `spack test run`.""" cache_extra_test_sources(self, [self.examples_src_dir]) - def test(self): - """Perform smoke tests on the installed package.""" + def run_warpx(self, dim): if "+app" not in self.spec: - print("WarpX smoke tests skipped: requires variant +app") - return - - # our executable names are a variant-dependent and naming evolves - for dim in self.spec.variants["dims"].value: - exe_nD = {"1": "warpx.1d", "2": "warpx.2d", "3": "warpx.3d", "rz": "warpx.rz"} - exe = find(self.prefix.bin, exe_nD[dim] + ".*", recursive=False)[0] - - cli_args = self._get_input_options(dim, True) - self.run_test( - exe, - cli_args, - [], - installed=True, - purpose="Smoke test for WarpX", - skip_missing=False, - ) + raise SkipTest("Package must be installed with +app") + if dim not in self.spec.variants["dims"].value: + raise SkipTest(f"Package must be installed with {dim} in dims") + dim_arg = f"{dim}d" if dim.isdigit() else dim + if self.spec.satisfies("@:23.05") and not dim.isdigit(): + dim_arg = dim_arg.upper() + exe = find(self.prefix.bin, f"warpx.{dim_arg}.*", recursive=False)[0] + cli_args = self._get_input_options(dim, True) + warpx = which(exe) + warpx(*cli_args) + + def test_warpx_1d(self): + """Run warpx 1d test""" + self.run_warpx("1") + + def test_warpx_2d(self): + """Run warpx 2d test""" + self.run_warpx("2") + + def test_warpx_3d(self): + """Run warpx 3d test""" + self.run_warpx("3") + + def test_warpx_rz(self): + """Run warpx rz test""" + self.run_warpx("rz") diff --git a/var/spack/repos/builtin/packages/watch/package.py b/var/spack/repos/builtin/packages/watch/package.py index 5b8712599f2d43..fae74fc445632a 100644 --- a/var/spack/repos/builtin/packages/watch/package.py +++ b/var/spack/repos/builtin/packages/watch/package.py @@ -21,6 +21,8 @@ class Watch(AutotoolsPackage): version("master", branch="master") version("3.3.15", tag="v3.3.15", commit="7bb949bcba13c107fa0f45d2d0298b1ad6b6d6cc") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/wayland/package.py b/var/spack/repos/builtin/packages/wayland/package.py index 488fbfe5a87ea7..e44b87c17af023 100644 --- a/var/spack/repos/builtin/packages/wayland/package.py +++ b/var/spack/repos/builtin/packages/wayland/package.py @@ -39,6 +39,9 @@ class Wayland(MesonPackage, AutotoolsPackage): version("1.17.93", sha256="293536ad23bfed15fc34e2a63bbb511167e8b096c0eba35e805cb64d46ad62ae") version("1.17.92", sha256="d944a7b999cfe6fee5327a2315c8e5891222c5a88a96e1ca73485978e4990512") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + with when("build_system=autotools"): depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/wcs/package.py b/var/spack/repos/builtin/packages/wcs/package.py index 0070396347acec..5b9800233c20c6 100644 --- a/var/spack/repos/builtin/packages/wcs/package.py +++ b/var/spack/repos/builtin/packages/wcs/package.py @@ -19,6 +19,8 @@ class Wcs(CMakePackage): version("master", branch="master") version("develop", branch="devel") + depends_on("cxx", type="build") # generated + depends_on("boost+graph+filesystem+regex+system") # TODO: replace this with an explicit list of components of Boost, diff --git a/var/spack/repos/builtin/packages/webbench/package.py b/var/spack/repos/builtin/packages/webbench/package.py index eaf47ee8d8ee29..67e47a24aa6318 100644 --- a/var/spack/repos/builtin/packages/webbench/package.py +++ b/var/spack/repos/builtin/packages/webbench/package.py @@ -16,6 +16,8 @@ class Webbench(MakefilePackage): version("1.5", commit="b1acf3c01cc914729fe188dfc8ed761858028d4f") + depends_on("c", type="build") # generated + depends_on("ntirpc") def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/weechat/package.py b/var/spack/repos/builtin/packages/weechat/package.py index c93b9658319591..b305941aa89d6a 100644 --- a/var/spack/repos/builtin/packages/weechat/package.py +++ b/var/spack/repos/builtin/packages/weechat/package.py @@ -18,6 +18,9 @@ class Weechat(CMakePackage): version("2.9", sha256="3a78063b76c42ba306eacf8f74cb8c9a260f8a61d1915d0b5d76f11d2be69a53") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("perl", default=False, description="Include perl support") variant("lua", default=False, description="Include lua support") variant("ruby", default=False, description="Include ruby support") diff --git a/var/spack/repos/builtin/packages/weighttp/package.py b/var/spack/repos/builtin/packages/weighttp/package.py index d27a8c070fbd35..9650d9707cf753 100644 --- a/var/spack/repos/builtin/packages/weighttp/package.py +++ b/var/spack/repos/builtin/packages/weighttp/package.py @@ -18,6 +18,8 @@ class Weighttp(AutotoolsPackage): version("0.3", sha256="376e2311af2decb8f6051e4f968d7c0ba92ca60cd563d768beb4868eb9679f45") version("0.2", sha256="bc2b3955126010ce27e0829285720f973df9f144e9cca2568569a657a3d5e634") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/wget/package.py b/var/spack/repos/builtin/packages/wget/package.py index ac6bce959358d8..41dcdf41939891 100644 --- a/var/spack/repos/builtin/packages/wget/package.py +++ b/var/spack/repos/builtin/packages/wget/package.py @@ -17,6 +17,8 @@ class Wget(AutotoolsPackage, GNUMirrorPackage): license("GPL-3.0-or-later WITH OpenSSL-Exception") + version("1.24.5", sha256="fa2dc35bab5184ecbc46a9ef83def2aaaa3f4c9f3c97d4bd19dcb07d4da637de") + version("1.21.4", sha256="81542f5cefb8faacc39bbbc6c82ded80e3e4a88505ae72ea51df27525bcde04c") version("1.21.3", sha256="5726bb8bc5ca0f6dc7110f6416e4bb7019e2d2ff5bf93d1ca2ffcc6656f220e5") version("1.21.2", sha256="e6d4c76be82c676dd7e8c61a29b2ac8510ae108a810b5d1d18fc9a1d2c9a2497") version("1.21.1", sha256="59ba0bdade9ad135eda581ae4e59a7a9f25e3a4bde6a5419632b31906120e26e") @@ -26,6 +28,8 @@ class Wget(AutotoolsPackage, GNUMirrorPackage): version("1.17", sha256="3e04ad027c5b6ebd67c616eec13e66fbedb3d4d8cbe19cc29dadde44b92bda55") version("1.16", sha256="b977fc10ac7a72d987d48136251aeb332f2dced1aabd50d6d56bdf72e2b79101") + depends_on("c", type="build") # generated + variant( "ssl", default="openssl", values=("gnutls", "openssl"), description="Specify SSL backend" ) diff --git a/var/spack/repos/builtin/packages/wgrib2/package.py b/var/spack/repos/builtin/packages/wgrib2/package.py index ac98b3da3d47ff..1cc9c824d92b5e 100644 --- a/var/spack/repos/builtin/packages/wgrib2/package.py +++ b/var/spack/repos/builtin/packages/wgrib2/package.py @@ -38,6 +38,9 @@ class Wgrib2(MakefilePackage): extension="tar.gz", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("netcdf3", default=True, description="Link in netcdf3 library to write netcdf3 files") variant( "netcdf4", default=False, description="Link in netcdf4 library to write netcdf3/4 files" diff --git a/var/spack/repos/builtin/packages/wgsim/package.py b/var/spack/repos/builtin/packages/wgsim/package.py index f2a6d25535b30b..8c471e56423607 100644 --- a/var/spack/repos/builtin/packages/wgsim/package.py +++ b/var/spack/repos/builtin/packages/wgsim/package.py @@ -20,6 +20,8 @@ class Wgsim(Package): version("2011.10.17", commit="a12da3375ff3b51a5594d4b6fa35591173ecc229") + depends_on("c", type="build") # generated + depends_on("zlib-api") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/which/package.py b/var/spack/repos/builtin/packages/which/package.py index 1c36d3ed396309..8fc8eb0fe14f45 100644 --- a/var/spack/repos/builtin/packages/which/package.py +++ b/var/spack/repos/builtin/packages/which/package.py @@ -18,6 +18,8 @@ class Which(AutotoolsPackage): version("2.21", sha256="f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad") + depends_on("c", type="build") # generated + executables = ["which"] @classmethod diff --git a/var/spack/repos/builtin/packages/whizard/package.py b/var/spack/repos/builtin/packages/whizard/package.py index 82f3ec6bd08e3c..5a3b0c86deeee3 100644 --- a/var/spack/repos/builtin/packages/whizard/package.py +++ b/var/spack/repos/builtin/packages/whizard/package.py @@ -44,6 +44,10 @@ class Whizard(AutotoolsPackage): version("2.8.1", sha256="0c759ce0598e25f38e04659f745c5963d238c4b5c12209f16449b6c0bc6dc64e") version("2.8.0", sha256="3b5175eafa879d1baca20237d18fb2b18bee89631e73ada499de9c082d009696") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "hepmc", default="3", diff --git a/var/spack/repos/builtin/packages/wi4mpi/package.py b/var/spack/repos/builtin/packages/wi4mpi/package.py index 808dc1d08bc5da..4e800940076ea3 100644 --- a/var/spack/repos/builtin/packages/wi4mpi/package.py +++ b/var/spack/repos/builtin/packages/wi4mpi/package.py @@ -27,6 +27,10 @@ class Wi4mpi(CMakePackage): version("3.2.2", sha256="23ac69740577d66a68ddd5360670f0a344e3c47a5d146033c63a67e54e56c66f") version("3.2.1", sha256="0d928cb930b6cb1ae648eca241db59812ee0e5c041faf2f57728bbb6ee4e36df") version("3.2.0", sha256="3322f6823dbec1d58a1fcf163b2bcdd7b9cd75dc6c7f78865fc6cb0a91bf6f94") + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated variant( "build_type", default="Release", diff --git a/var/spack/repos/builtin/packages/winbison/package.py b/var/spack/repos/builtin/packages/winbison/package.py index 877188c0cd5d17..5b492f3183140b 100644 --- a/var/spack/repos/builtin/packages/winbison/package.py +++ b/var/spack/repos/builtin/packages/winbison/package.py @@ -36,6 +36,9 @@ class Winbison(CMakePackage): version("2.5.14", sha256="2ace5c964fb4b45279544669950412dbe4e86908c03bd5ebc8c8d306e458e97d") version("2.4.12", sha256="fcffc223897e14f2b5dce2db1c832f297cc43a1204e4b3fd713f1dc410e956e4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + build_directory = "spack-build" cmake_dir = os.path.join(build_directory, "CMakeBuild") diff --git a/var/spack/repos/builtin/packages/wiredtiger/package.py b/var/spack/repos/builtin/packages/wiredtiger/package.py index 23675d7713b9e5..6f509117badb99 100644 --- a/var/spack/repos/builtin/packages/wiredtiger/package.py +++ b/var/spack/repos/builtin/packages/wiredtiger/package.py @@ -15,6 +15,9 @@ class Wiredtiger(AutotoolsPackage): version("10.0.0", sha256="4830107ac744c0459ef99697652aa3e655c2122005a469a49d221e692fb834a5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("python@3:", type=("build", "run"), when="+python") depends_on("swig", type=("build", "run"), when="+python") depends_on("lz4", when="+lz4") diff --git a/var/spack/repos/builtin/packages/wireshark/package.py b/var/spack/repos/builtin/packages/wireshark/package.py index 129677f177b435..951b1252385c1a 100644 --- a/var/spack/repos/builtin/packages/wireshark/package.py +++ b/var/spack/repos/builtin/packages/wireshark/package.py @@ -21,6 +21,9 @@ class Wireshark(CMakePackage): version("3.0.8", sha256="b4bd8189934d82330a053c5b10398f2b625b1e1c8818831ab61739b2d7aa7561") version("2.6.0", sha256="711c7f01d27a8817d58277a5487cef3e3c7bab1c8caaf8f4c92aa21015b9117f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("libssh", default=False, description="Build with libssh") variant("nghttp2", default=False, description="Build with nghttp2") variant("qt", default=False, description="Build with qt") diff --git a/var/spack/repos/builtin/packages/wonton/package.py b/var/spack/repos/builtin/packages/wonton/package.py index 6a6dcf0482391a..f73136012f539c 100644 --- a/var/spack/repos/builtin/packages/wonton/package.py +++ b/var/spack/repos/builtin/packages/wonton/package.py @@ -29,6 +29,9 @@ class Wonton(CMakePackage): version("1.2.10", sha256="c5c2c99f040f1fa5a8da21ac5ccbbc5b226d1fd43ce3eb14c76d211601b65a72") version("1.2.1", sha256="4f00513d1abe86f256214d2b5171b1575b2cd464df8609307c24cbc4c595c305") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("lapacke", default=True, description="Use LAPACKE solvers") # Variants for controlling parallelism diff --git a/var/spack/repos/builtin/packages/wordnet/package.py b/var/spack/repos/builtin/packages/wordnet/package.py index d7bd40e0920c4a..efaed4924b0563 100644 --- a/var/spack/repos/builtin/packages/wordnet/package.py +++ b/var/spack/repos/builtin/packages/wordnet/package.py @@ -16,6 +16,8 @@ class Wordnet(AutotoolsPackage): version("3.0", sha256="640db279c949a88f61f851dd54ebbb22d003f8b90b85267042ef85a3781d3a52") + depends_on("c", type="build") # generated + depends_on("tk") depends_on("tcl") diff --git a/var/spack/repos/builtin/packages/wps/package.py b/var/spack/repos/builtin/packages/wps/package.py index 3a3aaa69f5bafc..89633e7c8dd088 100644 --- a/var/spack/repos/builtin/packages/wps/package.py +++ b/var/spack/repos/builtin/packages/wps/package.py @@ -22,6 +22,10 @@ class Wps(Package): version("4.3", sha256="1913cb24de549f029d65635feea27f3304a8f42ec025954a0887651fc89d1e9e") version("4.2", sha256="3e175d033355d3e7638be75bc7c0bc0de6da299ebd175a9bbc1b7a121acd0168") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Serial variant recommended in WRF/WPS docs variant( "build_type", diff --git a/var/spack/repos/builtin/packages/wrf-io/package.py b/var/spack/repos/builtin/packages/wrf-io/package.py index 6b80fdeef76ea1..1d8353fa559601 100644 --- a/var/spack/repos/builtin/packages/wrf-io/package.py +++ b/var/spack/repos/builtin/packages/wrf-io/package.py @@ -22,6 +22,9 @@ class WrfIo(CMakePackage): version("develop", branch="develop") version("1.2.0", sha256="000cf5294a2c68460085258186e1f36c86d3d0d9c433aa969a0f92736b745617") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("openmp", default=False, description="Enable multithreading with OpenMP") depends_on("netcdf-c") diff --git a/var/spack/repos/builtin/packages/wrf/package.py b/var/spack/repos/builtin/packages/wrf/package.py index db4e6cac0eed82..6ffc1a42eacf6e 100644 --- a/var/spack/repos/builtin/packages/wrf/package.py +++ b/var/spack/repos/builtin/packages/wrf/package.py @@ -70,6 +70,11 @@ class Wrf(Package): maintainers("MichaelLaufer", "ptooley") tags = ["windows"] + version( + "4.5.2", + sha256="408ba6aa60d9cd51d6bad2fa075a3d37000eb581b5d124162885b049c892bbdc", + url="https://github.com/wrf-model/WRF/releases/download/v4.5.2/v4.5.2.tar.gz", + ) version( "4.5.1", sha256="9d557c34c105db4d41e727843ecb19199233c7cf82c5369b34a2ce8efe65e2d1", @@ -102,6 +107,9 @@ class Wrf(Package): url="https://github.com/wrf-model/WRF/archive/V3.9.1.1.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant( "build_type", default="dmpar", @@ -159,13 +167,13 @@ class Wrf(Package): patch("patches/4.0/tirpc_detect.patch", when="@4.0") patch("patches/4.0/add_aarch64.patch", when="@4.0") - patch("patches/4.2/arch.Config.pl.patch", when="@4.2:") + patch("patches/4.2/arch.Config.pl.patch", when="@4.2:4.5.1") patch("patches/4.2/arch.configure.defaults.patch", when="@=4.2") patch("patches/4.2/4.2.2_arch.configure.defaults.patch", when="@4.2.2") patch("patches/4.2/arch.conf_tokens.patch", when="@4.2:") patch("patches/4.2/arch.postamble.patch", when="@4.2") patch("patches/4.2/configure.patch", when="@4.2:4.3.3") - patch("patches/4.2/external.io_netcdf.makefile.patch", when="@4.2:") + patch("patches/4.2/external.io_netcdf.makefile.patch", when="@4.2:4.5.1") patch("patches/4.2/var.gen_be.Makefile.patch", when="@4.2:") patch("patches/4.2/Makefile.patch", when="@4.2") patch("patches/4.2/tirpc_detect.patch", when="@4.2") @@ -173,7 +181,7 @@ class Wrf(Package): patch("patches/4.2/add_aarch64_acfl.patch", when="@4.2:4.3.1 %arm target=aarch64:") patch("patches/4.2/configure_aocc_2.3.patch", when="@4.2 %aocc@:2.4.0") patch("patches/4.2/configure_aocc_3.0.patch", when="@4.2 %aocc@3.0.0:3.2.0") - patch("patches/4.2/hdf5_fix.patch", when="@4.2: %aocc") + patch("patches/4.2/hdf5_fix.patch", when="@4.2:4.5.1 %aocc") patch("patches/4.2/derf_fix.patch", when="@=4.2 %aocc") patch( "patches/4.2/add_tools_flags_acfl2304.patch", @@ -183,14 +191,14 @@ class Wrf(Package): patch("patches/4.3/add_aarch64.patch", when="@4.3.2:4.4.2 %gcc target=aarch64:") patch("patches/4.3/add_aarch64_acfl.patch", when="@4.3.2:4.4.2 %arm target=aarch64:") - patch("patches/4.4/arch.postamble.patch", when="@4.4:") + patch("patches/4.4/arch.postamble.patch", when="@4.4:4.5.1") patch("patches/4.4/configure.patch", when="@4.4:4.4.2") patch("patches/4.4/ifx.patch", when="@4.4: %oneapi") patch("patches/4.5/configure.patch", when="@4.5:") # Fix WRF to remove deprecated ADIOS2 functions # https://github.com/wrf-model/WRF/pull/1860 - patch("patches/4.5/adios2-remove-deprecated-functions.patch", when="@4.5: ^adios2@2.9:") + patch("patches/4.5/adios2-remove-deprecated-functions.patch", when="@=4.5.0 ^adios2@2.9:") # Various syntax fixes found by FPT tool patch( @@ -200,9 +208,9 @@ class Wrf(Package): ) patch("patches/4.2/configure_fujitsu.patch", when="@4 %fj") - patch("patches/4.3/Makefile.patch", when="@4.3:") + patch("patches/4.3/Makefile.patch", when="@4.3:4.5.1") patch("patches/4.3/arch.postamble.patch", when="@4.3:4.3.3") - patch("patches/4.3/fujitsu.patch", when="@4.3: %fj") + patch("patches/4.3/fujitsu.patch", when="@4.3:4.4 %fj") # Syntax errors in physics routines patch( "https://github.com/wrf-model/WRF/commit/7c6fd575b7a8fe5715b07b38db160e606c302956.patch?full_index=1", @@ -251,6 +259,10 @@ class Wrf(Package): depends_on("m4", type="build") depends_on("libtool", type="build") depends_on("adios2", when="@4.5: +adios2") + + conflicts( + "%oneapi", when="@:4.3", msg="Intel oneapi compiler patch only added for version 4.4" + ) phases = ["configure", "build", "install"] def setup_run_environment(self, env): @@ -259,7 +271,13 @@ def setup_run_environment(self, env): env.append_path("PATH", self.prefix.tools) def setup_build_environment(self, env): - env.set("NETCDF", self.spec["netcdf-c"].prefix) + # From 4.5.2 the split-netcdf patches are not needed, + # just tell the build system where netcdf and netcdf-c are: + if self.spec.satisfies("@4.5.2:"): + env.set("NETCDF", self.spec["netcdf-fortran"].prefix) + env.set("NETCDF_C", self.spec["netcdf-c"].prefix) + else: + env.set("NETCDF", self.spec["netcdf-c"].prefix) if "+pnetcdf" in self.spec: env.set("PNETCDF", self.spec["parallel-netcdf"].prefix) # Add WRF-Chem module @@ -381,6 +399,9 @@ def do_configure_fixup(self): config.filter("^DM_FC.*mpif90", "DM_FC = {0}".format(self.spec["mpi"].mpifc)) config.filter("^DM_CC.*mpicc", "DM_CC = {0}".format(self.spec["mpi"].mpicc)) + if self.spec.satisfies("@:4.0.3 %intel@2018:"): + config.filter(r"-openmp", "-qopenmp") + @run_before("configure") def fortran_check(self): if not self.compiler.fc: diff --git a/var/spack/repos/builtin/packages/wrk/package.py b/var/spack/repos/builtin/packages/wrk/package.py index cb2c400a48bef4..aada2b01337f83 100644 --- a/var/spack/repos/builtin/packages/wrk/package.py +++ b/var/spack/repos/builtin/packages/wrk/package.py @@ -22,6 +22,8 @@ class Wrk(MakefilePackage): version("4.0.0", sha256="8fa8fb05f4663d03c1ca7804367eb602882f9630441bd56e8e9aaf3a2bd26067") version("3.1.2", sha256="da88a25f0eeb9e1fd6a9dcf4a96859e9e758f9446f0787cf7c95e4ccde14eefc") + depends_on("c", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install("wrk", prefix.bin) diff --git a/var/spack/repos/builtin/packages/wsmancli/package.py b/var/spack/repos/builtin/packages/wsmancli/package.py index c5e53721315324..dc1dd65951676e 100644 --- a/var/spack/repos/builtin/packages/wsmancli/package.py +++ b/var/spack/repos/builtin/packages/wsmancli/package.py @@ -17,6 +17,9 @@ class Wsmancli(AutotoolsPackage): version("2.5.0", sha256="9e60e9b21d14328feadceeaf0c3c233d7ee701e7814010ede23367a9bd5efb33") version("2.3.2", sha256="b5ffd4c4cdbcde7cf8cf84be3a3c1b92d84ffb8b492e6008a83e090c760d6c2d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/wt/package.py b/var/spack/repos/builtin/packages/wt/package.py index eb43df3d582f6c..a26ba6d7ee16a9 100644 --- a/var/spack/repos/builtin/packages/wt/package.py +++ b/var/spack/repos/builtin/packages/wt/package.py @@ -19,6 +19,9 @@ class Wt(CMakePackage): version("master", branch="master") version("3.3.7", sha256="054af8d62a7c158df62adc174a6a57610868470a07e7192ee7ce60a18552851d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # wt builds in parallel, but requires more than 5 GByte RAM per -j # which most machines do not provide and crash the build parallel = False diff --git a/var/spack/repos/builtin/packages/wtdbg2/package.py b/var/spack/repos/builtin/packages/wtdbg2/package.py index f25566c8884584..f40d5e292d87ed 100644 --- a/var/spack/repos/builtin/packages/wtdbg2/package.py +++ b/var/spack/repos/builtin/packages/wtdbg2/package.py @@ -17,6 +17,8 @@ class Wtdbg2(MakefilePackage): version("2.5", sha256="a2ffc8503d29f491a9a38ef63230d5b3c96db78377b5d25c91df511d0df06413") version("2.3", sha256="fb61d38a4c60a39b3b194e63b855141c05ddcbe71cf244ae613766a9b0a56621") + depends_on("c", type="build") # generated + depends_on("zlib-api") depends_on("sse2neon", when="target=aarch64:") diff --git a/var/spack/repos/builtin/packages/wxparaver/package.py b/var/spack/repos/builtin/packages/wxparaver/package.py index 831831e76b8cd0..8e1d9c75432630 100644 --- a/var/spack/repos/builtin/packages/wxparaver/package.py +++ b/var/spack/repos/builtin/packages/wxparaver/package.py @@ -27,6 +27,9 @@ class Wxparaver(AutotoolsPackage): version("4.7.1", sha256="8cbec0c5e0f8a849820f6682cbb0920ea234bb7f20d1483e38ea5d0b0ee045cd") version("4.7.0", sha256="81e02bcc1853455b13435172a4336ba85ba05020887d322c9678c97def03d76f") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("boost@1.36: +serialization") depends_on("wxwidgets@2.8:") # NOTE: using external for this one is usually simpler depends_on("wxpropgrid@1.4:") diff --git a/var/spack/repos/builtin/packages/wxpropgrid/package.py b/var/spack/repos/builtin/packages/wxpropgrid/package.py index b105d4f92881bd..9c725872071dc1 100644 --- a/var/spack/repos/builtin/packages/wxpropgrid/package.py +++ b/var/spack/repos/builtin/packages/wxpropgrid/package.py @@ -17,6 +17,8 @@ class Wxpropgrid(Package, SourceforgePackage): version("1.4.15", sha256="f0c9a86656828f592c8e57d2c89401f07f0af6a45b17bbca3990e8d29121c2b8") + depends_on("cxx", type="build") # generated + depends_on("wxwidgets") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/wxwidgets/package.py b/var/spack/repos/builtin/packages/wxwidgets/package.py index 6415018345feef..6b896039b133bb 100644 --- a/var/spack/repos/builtin/packages/wxwidgets/package.py +++ b/var/spack/repos/builtin/packages/wxwidgets/package.py @@ -31,6 +31,9 @@ class Wxwidgets(AutotoolsPackage): version("3.0.2", sha256="346879dc554f3ab8d6da2704f651ecb504a22e9d31c17ef5449b129ed711585d") version("3.0.1", sha256="bd671b79ec56af8fb3844e11cafceac1a4276fb02c79404d06b91b6c19d2c5f5") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("opengl", default=False, description="Enable OpenGL support") patch("math_include.patch", when="@3.0.1:3.0.2") diff --git a/var/spack/repos/builtin/packages/x11perf/package.py b/var/spack/repos/builtin/packages/x11perf/package.py index ef3e402e6605e2..f7c94db6a96bc6 100644 --- a/var/spack/repos/builtin/packages/x11perf/package.py +++ b/var/spack/repos/builtin/packages/x11perf/package.py @@ -9,12 +9,14 @@ class X11perf(AutotoolsPackage, XorgPackage): """Simple X server performance benchmarker.""" - homepage = "https://cgit.freedesktop.org/xorg/app/x11perf" + homepage = "https://gitlab.freedesktop.org/xorg/app/x11perf" xorg_mirror_path = "app/x11perf-1.6.0.tar.gz" version("1.6.1", sha256="a1874618df0e30ae1a9b2470fb50e77a40c4a6f6ddf87a5c154f7a3b913ac0b3") version("1.6.0", sha256="d33051c4e93100ab60609aee14ff889bb2460f28945063d793e21eda19381abb") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxmu") depends_on("libxrender") diff --git a/var/spack/repos/builtin/packages/x264/package.py b/var/spack/repos/builtin/packages/x264/package.py index 086c83f45005fa..2d222278a30135 100644 --- a/var/spack/repos/builtin/packages/x264/package.py +++ b/var/spack/repos/builtin/packages/x264/package.py @@ -16,6 +16,8 @@ class X264(AutotoolsPackage): version("20240314", commit="585e01997f0c7e6d72c8ca466406d955c07de912") version("20210613", commit="5db6aa6cab1b146e07b60cc1736a01f21da01154") + depends_on("c", type="build") # generated + depends_on("nasm") def configure_args(self): diff --git a/var/spack/repos/builtin/packages/xalan-c/package.py b/var/spack/repos/builtin/packages/xalan-c/package.py index 29dfbed8fb5b15..6e01b278dab06b 100644 --- a/var/spack/repos/builtin/packages/xalan-c/package.py +++ b/var/spack/repos/builtin/packages/xalan-c/package.py @@ -22,6 +22,9 @@ class XalanC(CMakePackage): version("1.12", sha256="ee7d4b0b08c5676f5e586c7154d94a5b32b299ac3cbb946e24c4375a25552da7") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant( "transcoder", default="default", diff --git a/var/spack/repos/builtin/packages/xapian-core/package.py b/var/spack/repos/builtin/packages/xapian-core/package.py index 9117b3bb1f3774..025666420652ac 100644 --- a/var/spack/repos/builtin/packages/xapian-core/package.py +++ b/var/spack/repos/builtin/packages/xapian-core/package.py @@ -21,4 +21,7 @@ class XapianCore(AutotoolsPackage): version("1.4.11", sha256="9f16b2f3e2351a24034d7636f73566ab74c3f0729e9e0492934e956b25c5bc07") version("1.4.3", sha256="7d5295511ca2de70463a29e75f6a2393df5dc1485bf33074b778c66e1721e475") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/xauth/package.py b/var/spack/repos/builtin/packages/xauth/package.py index c4a792f1d44a8d..7d233c857529ae 100644 --- a/var/spack/repos/builtin/packages/xauth/package.py +++ b/var/spack/repos/builtin/packages/xauth/package.py @@ -10,7 +10,7 @@ class Xauth(AutotoolsPackage, XorgPackage): """The xauth program is used to edit and display the authorization information used in connecting to the X server.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xauth" + homepage = "https://gitlab.freedesktop.org/xorg/app/xauth" xorg_mirror_path = "app/xauth-1.0.9.tar.gz" license("custom") @@ -21,6 +21,8 @@ class Xauth(AutotoolsPackage, XorgPackage): version("1.0.10", sha256="5196821221d824b9bc278fa6505c595acee1d374518a52217d9b64d3c63dedd0") version("1.0.9", sha256="0709070caf23ba2fb99536907b75be1fe31853999c62d3e87a6a8d26ba8a8cdb") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxau") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/xbacklight/package.py b/var/spack/repos/builtin/packages/xbacklight/package.py index 0392228ac297fc..542bbabb41a32f 100644 --- a/var/spack/repos/builtin/packages/xbacklight/package.py +++ b/var/spack/repos/builtin/packages/xbacklight/package.py @@ -12,7 +12,7 @@ class Xbacklight(AutotoolsPackage, XorgPackage): supporting backlight brightness control and changes them all in the same way.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xbacklight" + homepage = "https://gitlab.freedesktop.org/xorg/app/xbacklight" xorg_mirror_path = "app/xbacklight-1.2.1.tar.gz" license("MIT") @@ -21,6 +21,8 @@ class Xbacklight(AutotoolsPackage, XorgPackage): version("1.2.2", sha256="9812497b95b28776539808ba75e8b8a2d48a57416e172e04e9580e65c76a61bb") version("1.2.1", sha256="82c80cd851e3eb6d7a216d92465fcf6d5e456c2d5ac12c63cd2757b39fb65b10") + depends_on("c", type="build") # generated + depends_on("libxcb") depends_on("xcb-util") diff --git a/var/spack/repos/builtin/packages/xbae/package.py b/var/spack/repos/builtin/packages/xbae/package.py index 64c6d3d99b1d70..38b74d64af9f99 100644 --- a/var/spack/repos/builtin/packages/xbae/package.py +++ b/var/spack/repos/builtin/packages/xbae/package.py @@ -17,6 +17,8 @@ class Xbae(AutotoolsPackage): version("4.60.4", sha256="eb72702ed0a36d043f2075a9d5a4545556da1b8dab4d67d85fca92f37aeb04a8") + depends_on("c", type="build") # generated + depends_on("libtool", type="build") depends_on("libxext") depends_on("libxmu") diff --git a/var/spack/repos/builtin/packages/xbiff/package.py b/var/spack/repos/builtin/packages/xbiff/package.py index 0e7f535e307bdd..0709fbf0e0ccaf 100644 --- a/var/spack/repos/builtin/packages/xbiff/package.py +++ b/var/spack/repos/builtin/packages/xbiff/package.py @@ -11,7 +11,7 @@ class Xbiff(AutotoolsPackage, XorgPackage): It only handles mail stored in a filesystem accessible file, not via IMAP, POP or other remote access protocols.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xbiff" + homepage = "https://gitlab.freedesktop.org/xorg/app/xbiff" xorg_mirror_path = "app/xbiff-1.0.3.tar.gz" license("X11") @@ -19,6 +19,8 @@ class Xbiff(AutotoolsPackage, XorgPackage): version("1.0.4", sha256="8a0ca5628e6893340a2448b461a103b48a174ae777500beb9a9f56f99330ce62") version("1.0.3", sha256="b4b702348674985741685e3ec7fcb5640ffb7bf20e753fc2d708f70f2e4c304d") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxmu") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/xbitmaps/package.py b/var/spack/repos/builtin/packages/xbitmaps/package.py index 172f716cbc141d..87d799efe55b2a 100644 --- a/var/spack/repos/builtin/packages/xbitmaps/package.py +++ b/var/spack/repos/builtin/packages/xbitmaps/package.py @@ -10,7 +10,7 @@ class Xbitmaps(AutotoolsPackage, XorgPackage): """The xbitmaps package contains bitmap images used by multiple applications built in Xorg.""" - homepage = "https://cgit.freedesktop.org/xorg/data/bitmaps/" + homepage = "https://gitlab.freedesktop.org/xorg/data/bitmaps/" xorg_mirror_path = "data/xbitmaps-1.1.1.tar.gz" license("MIT") diff --git a/var/spack/repos/builtin/packages/xbraid/package.py b/var/spack/repos/builtin/packages/xbraid/package.py index 1b95305693ed3d..4f77813bc5bf68 100644 --- a/var/spack/repos/builtin/packages/xbraid/package.py +++ b/var/spack/repos/builtin/packages/xbraid/package.py @@ -18,6 +18,10 @@ class Xbraid(MakefilePackage): version("2.3.0", sha256="706f0acde201c7c336ade3604679759752a74e2cd6c2a29a8bf5676b6e54b704") version("2.2.0", sha256="082623b2ddcd2150b3ace65b96c1e00be637876ec6c94dc8fefda88743b35ba3") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("mpi") @when("@:2.2.0") diff --git a/var/spack/repos/builtin/packages/xcalc/package.py b/var/spack/repos/builtin/packages/xcalc/package.py index ea4145c2725f0e..c9aae5b2b17111 100644 --- a/var/spack/repos/builtin/packages/xcalc/package.py +++ b/var/spack/repos/builtin/packages/xcalc/package.py @@ -10,7 +10,7 @@ class Xcalc(AutotoolsPackage, XorgPackage): """xcalc is a scientific calculator X11 client that can emulate a TI-30 or an HP-10C.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xcalc" + homepage = "https://gitlab.freedesktop.org/xorg/app/xcalc" xorg_mirror_path = "app/xcalc-1.0.6.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Xcalc(AutotoolsPackage, XorgPackage): version("1.0.7", sha256="2b00129583f51a45acfcaaa461750169e530996e190b31f7a92891846380f1f5") version("1.0.6", sha256="7fd5cd9a35160925c41cbadfb1ea23599fa20fd26cd873dab20a650b24efe8d1") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxt") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xcb-demo/package.py b/var/spack/repos/builtin/packages/xcb-demo/package.py index f023755b03afb4..09be1af0900ee9 100644 --- a/var/spack/repos/builtin/packages/xcb-demo/package.py +++ b/var/spack/repos/builtin/packages/xcb-demo/package.py @@ -14,6 +14,8 @@ class XcbDemo(AutotoolsPackage): version("0.1", sha256="19ace2812a05313747356dc5e2331a9a6f5eb46631a26819cf30eeeaa38077f9") + depends_on("c", type="build") # generated + depends_on("libxcb") depends_on("xcb-util") depends_on("xcb-util-image") diff --git a/var/spack/repos/builtin/packages/xcb-util-cursor/package.py b/var/spack/repos/builtin/packages/xcb-util-cursor/package.py index 27c00d90189a56..31b19f9a9bdab4 100644 --- a/var/spack/repos/builtin/packages/xcb-util-cursor/package.py +++ b/var/spack/repos/builtin/packages/xcb-util-cursor/package.py @@ -27,6 +27,8 @@ class XcbUtilCursor(AutotoolsPackage, XorgPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("libxcb@1.4:") depends_on("xcb-util-renderutil") depends_on("xcb-util-image") diff --git a/var/spack/repos/builtin/packages/xcb-util-errors/package.py b/var/spack/repos/builtin/packages/xcb-util-errors/package.py index 41d9db14853c91..0a4dea8c4b239e 100644 --- a/var/spack/repos/builtin/packages/xcb-util-errors/package.py +++ b/var/spack/repos/builtin/packages/xcb-util-errors/package.py @@ -25,6 +25,8 @@ class XcbUtilErrors(AutotoolsPackage, XorgPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("libxcb@1.4:") depends_on("xcb-proto") diff --git a/var/spack/repos/builtin/packages/xcb-util-image/package.py b/var/spack/repos/builtin/packages/xcb-util-image/package.py index 25ba66ca93dccf..0702e1e36d941c 100644 --- a/var/spack/repos/builtin/packages/xcb-util-image/package.py +++ b/var/spack/repos/builtin/packages/xcb-util-image/package.py @@ -27,6 +27,8 @@ class XcbUtilImage(AutotoolsPackage, XorgPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("libxcb@1.4:") depends_on("xcb-util") diff --git a/var/spack/repos/builtin/packages/xcb-util-keysyms/package.py b/var/spack/repos/builtin/packages/xcb-util-keysyms/package.py index fe95575ecb0f2f..af65e8994abb6c 100644 --- a/var/spack/repos/builtin/packages/xcb-util-keysyms/package.py +++ b/var/spack/repos/builtin/packages/xcb-util-keysyms/package.py @@ -27,6 +27,8 @@ class XcbUtilKeysyms(AutotoolsPackage, XorgPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("libxcb@1.4:") depends_on("xproto@7.0.8:") diff --git a/var/spack/repos/builtin/packages/xcb-util-renderutil/package.py b/var/spack/repos/builtin/packages/xcb-util-renderutil/package.py index 88cb1f338df1d6..59fa41039a667e 100644 --- a/var/spack/repos/builtin/packages/xcb-util-renderutil/package.py +++ b/var/spack/repos/builtin/packages/xcb-util-renderutil/package.py @@ -27,6 +27,8 @@ class XcbUtilRenderutil(AutotoolsPackage, XorgPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("libxcb@1.4:") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/xcb-util-wm/package.py b/var/spack/repos/builtin/packages/xcb-util-wm/package.py index 66b4776c33c323..b6386eb8035f0a 100644 --- a/var/spack/repos/builtin/packages/xcb-util-wm/package.py +++ b/var/spack/repos/builtin/packages/xcb-util-wm/package.py @@ -27,6 +27,8 @@ class XcbUtilWm(AutotoolsPackage, XorgPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("m4", type="build") depends_on("libxcb@1.4:") diff --git a/var/spack/repos/builtin/packages/xcb-util-xrm/package.py b/var/spack/repos/builtin/packages/xcb-util-xrm/package.py index cdf160d1491e8c..3eda838445698e 100644 --- a/var/spack/repos/builtin/packages/xcb-util-xrm/package.py +++ b/var/spack/repos/builtin/packages/xcb-util-xrm/package.py @@ -19,6 +19,8 @@ class XcbUtilXrm(AutotoolsPackage): # in order to build it. version("1.2", tag="v1.2", commit="a45b3d0bbaa94bf8a68405ab8c5c61404da464ce", submodules=True) + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/xcb-util/package.py b/var/spack/repos/builtin/packages/xcb-util/package.py index 65f539510fef62..060bdba882a70b 100644 --- a/var/spack/repos/builtin/packages/xcb-util/package.py +++ b/var/spack/repos/builtin/packages/xcb-util/package.py @@ -26,6 +26,8 @@ class XcbUtil(AutotoolsPackage, XorgPackage): url="https://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("libxcb@1.4:") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/xcdf/package.py b/var/spack/repos/builtin/packages/xcdf/package.py index 8de53544631fc7..2ab94a4c365816 100644 --- a/var/spack/repos/builtin/packages/xcdf/package.py +++ b/var/spack/repos/builtin/packages/xcdf/package.py @@ -17,6 +17,8 @@ class Xcdf(CMakePackage): version("3.01", sha256="39fe816f40d6af18e16e71ffcf958258fdac4959ac894a60d1b863efaa57754e") version("3.00.03", sha256="4e445a2fea947ba14505d08177c8d5b55856f8411f28de1fe4d4c00f6824b711") + depends_on("cxx", type="build") # generated + patch("remove_python_support.patch", when="@3.00.03") depends_on("python@3.7:", when="@3.01:") diff --git a/var/spack/repos/builtin/packages/xcfun/package.py b/var/spack/repos/builtin/packages/xcfun/package.py index 737e8b356ed862..8c9b0440deb753 100644 --- a/var/spack/repos/builtin/packages/xcfun/package.py +++ b/var/spack/repos/builtin/packages/xcfun/package.py @@ -22,6 +22,10 @@ class Xcfun(CMakePackage): version("2.0.1", sha256="719383c3fffdd5da5b005f56ffd97457b0b2fb48317e955263ef5384d53ddfca") version("2.0.0", sha256="34398e935c522d0b55e1803fd6116e7cd40677d1add8894ef08362361705cf25") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + extends("python") depends_on("cmake@3.14:", type="build") depends_on("python@3:") diff --git a/var/spack/repos/builtin/packages/xclip/package.py b/var/spack/repos/builtin/packages/xclip/package.py index 9335a847299565..0cd0e9c16e0cdc 100644 --- a/var/spack/repos/builtin/packages/xclip/package.py +++ b/var/spack/repos/builtin/packages/xclip/package.py @@ -21,6 +21,8 @@ class Xclip(AutotoolsPackage): version("0.13", commit="9aa7090c3b8b437c6489edca32ae43d82e0c1281") + depends_on("c", type="build") # generated + depends_on("libxmu") depends_on("libx11") depends_on("autoconf", type="build") diff --git a/var/spack/repos/builtin/packages/xclipboard/package.py b/var/spack/repos/builtin/packages/xclipboard/package.py index df29c0afefccb3..f9c14f6edb3f11 100644 --- a/var/spack/repos/builtin/packages/xclipboard/package.py +++ b/var/spack/repos/builtin/packages/xclipboard/package.py @@ -12,12 +12,14 @@ class Xclipboard(AutotoolsPackage, XorgPackage): CLIPBOARD selections for later use. It stores each CLIPBOARD selection as a separate string, each of which can be selected.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xclipboard" + homepage = "https://gitlab.freedesktop.org/xorg/app/xclipboard" xorg_mirror_path = "app/xclipboard-1.1.3.tar.gz" version("1.1.4", sha256="c40cb97f6c8597ba74a3de5c188d4429f686e4d395b85dac0ec8c7311bdf3d10") version("1.1.3", sha256="a8c335cf166cbb27ff86569503db7e639f85741ad199bfb3ba45dd0cfda3da7f") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxmu") depends_on("libxt@1.1:") diff --git a/var/spack/repos/builtin/packages/xclock/package.py b/var/spack/repos/builtin/packages/xclock/package.py index d7f3ff4c9c8d99..8b74db2e60d280 100644 --- a/var/spack/repos/builtin/packages/xclock/package.py +++ b/var/spack/repos/builtin/packages/xclock/package.py @@ -11,7 +11,7 @@ class Xclock(AutotoolsPackage, XorgPackage): the time in analog or digital form, continuously updated at a frequency which may be specified by the user.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xclock" + homepage = "https://gitlab.freedesktop.org/xorg/app/xclock" xorg_mirror_path = "app/xclock-1.0.7.tar.gz" license("MIT") @@ -22,6 +22,8 @@ class Xclock(AutotoolsPackage, XorgPackage): version("1.0.8", sha256="bb6f2439e6037759dc1682d80a3fe0232e7b55aa9b38548203e746d290b246bd") version("1.0.7", sha256="e730bd575938d5628ef47003a9d4d41b882621798227f5d0c12f4a26365ed1b5") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxmu") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xcmiscproto/package.py b/var/spack/repos/builtin/packages/xcmiscproto/package.py index d358bc2b9c8519..0cd8d9999fcdba 100644 --- a/var/spack/repos/builtin/packages/xcmiscproto/package.py +++ b/var/spack/repos/builtin/packages/xcmiscproto/package.py @@ -12,7 +12,7 @@ class Xcmiscproto(AutotoolsPackage, XorgPackage): This extension defines a protocol that provides Xlib two ways to query the server for available resource IDs.""" - homepage = "https://cgit.freedesktop.org/xorg/proto/xcmiscproto" + homepage = "https://gitlab.freedesktop.org/xorg/proto/xcmiscproto" xorg_mirror_path = "proto/xcmiscproto-1.2.2.tar.gz" version("1.2.2", sha256="48013cfbe4bd5580925a854a43e2bccbb4c7a5a31128070644617b6dc7f8ef85") diff --git a/var/spack/repos/builtin/packages/xcmsdb/package.py b/var/spack/repos/builtin/packages/xcmsdb/package.py index 4537b3f4383591..a918e086e55724 100644 --- a/var/spack/repos/builtin/packages/xcmsdb/package.py +++ b/var/spack/repos/builtin/packages/xcmsdb/package.py @@ -12,7 +12,7 @@ class Xcmsdb(AutotoolsPackage, XorgPackage): specified in section 7, Device Color Characterization, of the X11 Inter-Client Communication Conventions Manual (ICCCM).""" - homepage = "https://cgit.freedesktop.org/xorg/app/xcmsdb" + homepage = "https://gitlab.freedesktop.org/xorg/app/xcmsdb" xorg_mirror_path = "app/xcmsdb-1.0.5.tar.gz" license("custom") @@ -20,6 +20,8 @@ class Xcmsdb(AutotoolsPackage, XorgPackage): version("1.0.6", sha256="640b42c746eb34bdd71ca2850f2bc9fb0ade194c9f152a8d002425a0684df077") version("1.0.5", sha256="8442352ee5eb3ea0d3a489c26d734e784ef6964150c2a173401d0dc6638ca236") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/xcompmgr/package.py b/var/spack/repos/builtin/packages/xcompmgr/package.py index d555c4369c9963..3fcb79a1d1f8f2 100644 --- a/var/spack/repos/builtin/packages/xcompmgr/package.py +++ b/var/spack/repos/builtin/packages/xcompmgr/package.py @@ -11,7 +11,7 @@ class Xcompmgr(AutotoolsPackage, XorgPackage): XFIXES, DAMAGE, RENDER, and COMPOSITE extensions. It enables basic eye-candy effects.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xcompmgr" + homepage = "https://gitlab.freedesktop.org/xorg/app/xcompmgr" xorg_mirror_path = "app/xcompmgr-1.1.7.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Xcompmgr(AutotoolsPackage, XorgPackage): version("1.1.8", sha256="ba10933678a5665d06fa7096bd08f37316add8ed84aaacd7ba26a97e8f2e0498") version("1.1.7", sha256="ef4b23c370f99403bbd9b6227f8aa4edc3bc83fc6d57ee71f6f442397cef505a") + depends_on("c", type="build") # generated + depends_on("libxcomposite") depends_on("libxfixes") depends_on("libxdamage") diff --git a/var/spack/repos/builtin/packages/xconsole/package.py b/var/spack/repos/builtin/packages/xconsole/package.py index c9c395449f7d8d..b22ae751d821e7 100644 --- a/var/spack/repos/builtin/packages/xconsole/package.py +++ b/var/spack/repos/builtin/packages/xconsole/package.py @@ -10,7 +10,7 @@ class Xconsole(AutotoolsPackage, XorgPackage): """xconsole displays in a X11 window the messages which are usually sent to /dev/console.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xconsole" + homepage = "https://gitlab.freedesktop.org/xorg/app/xconsole" xorg_mirror_path = "app/xconsole-1.0.6.tar.gz" version("1.1.0", sha256="fe5d2ba99b754909b2a04ce4abf054cd1e3134a830d69aea82e8465cc9f73942") @@ -18,6 +18,8 @@ class Xconsole(AutotoolsPackage, XorgPackage): version("1.0.7", sha256="91bc7327643b1ca57800a37575930af16fbea485d426a96d8f465de570aa6eb3") version("1.0.6", sha256="28151453a0a687462516de133bac0287b488a2ff56da78331fee34bc1bf3e7d5") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxmu") depends_on("libxt@1.0:") diff --git a/var/spack/repos/builtin/packages/xcursor-themes/package.py b/var/spack/repos/builtin/packages/xcursor-themes/package.py index 316e7e42db1b8a..dedf61d02204e2 100644 --- a/var/spack/repos/builtin/packages/xcursor-themes/package.py +++ b/var/spack/repos/builtin/packages/xcursor-themes/package.py @@ -11,9 +11,12 @@ class XcursorThemes(Package, XorgPackage): originally created for the XFree86 Project, and now shipped as part of the X.Org software distribution.""" - homepage = "https://cgit.freedesktop.org/xorg/data/cursors" + homepage = "https://gitlab.freedesktop.org/xorg/data/cursors" xorg_mirror_path = "data/xcursor-themes-1.0.4.tar.gz" + version("1.0.7", sha256="dcb68b6265235db3064a4427e2bc5ae0d30f21f7468dd7534553715d1c39d009") + version("1.0.6", sha256="22638f7bd6257adf889d25af9c8a7b2cfdcf5a5e18339d25fbb092dbf6c663c1") + version("1.0.5", sha256="85636a3774debe830a15b9cd3c438171356fb451d7e3667212777a55d88f7897") version("1.0.4", sha256="8ed23bab13a4010fe4e95b37eefb634e31ac7cb8240b8b3b7d919c3a2db09503") depends_on("libxcursor") @@ -21,6 +24,7 @@ class XcursorThemes(Package, XorgPackage): depends_on("xcursorgen", type="build") depends_on("pkgconfig", type="build") depends_on("util-macros", type="build") + depends_on("util-macros@1.20:", type="build", when="@1.0.7:") def install(self, spec, prefix): configure("--prefix={0}".format(prefix)) diff --git a/var/spack/repos/builtin/packages/xcursorgen/package.py b/var/spack/repos/builtin/packages/xcursorgen/package.py index 0a082116b1b833..6672be219fae22 100644 --- a/var/spack/repos/builtin/packages/xcursorgen/package.py +++ b/var/spack/repos/builtin/packages/xcursorgen/package.py @@ -9,13 +9,15 @@ class Xcursorgen(AutotoolsPackage, XorgPackage): """xcursorgen prepares X11 cursor sets for use with libXcursor.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xcursorgen" + homepage = "https://gitlab.freedesktop.org/xorg/app/xcursorgen" xorg_mirror_path = "app/xcursorgen-1.0.6.tar.gz" version("1.0.8", sha256="b8bb2756918343b8bc15a4ce875e9efb6c4e7777adba088280e53dd09753b6ac") version("1.0.7", sha256="6bc32d4977ffd60c00583bfd217f1d1245ca54dafbfbbcdbf14f696f9487b83e") version("1.0.6", sha256="4559f2b6eaa93de4cb6968679cf40e39bcbe969b62ebf3ff84f6780f8048ef8c") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxcursor") depends_on("libpng@1.2.0:") diff --git a/var/spack/repos/builtin/packages/xdbedizzy/package.py b/var/spack/repos/builtin/packages/xdbedizzy/package.py index 22e8a1de489a1f..1945ac1911682c 100644 --- a/var/spack/repos/builtin/packages/xdbedizzy/package.py +++ b/var/spack/repos/builtin/packages/xdbedizzy/package.py @@ -10,11 +10,13 @@ class Xdbedizzy(AutotoolsPackage, XorgPackage): """xdbedizzy is a demo of the X11 Double Buffer Extension (DBE) creating a double buffered spinning scene.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xdbedizzy" + homepage = "https://gitlab.freedesktop.org/xorg/app/xdbedizzy" xorg_mirror_path = "app/xdbedizzy-1.1.0.tar.gz" version("1.1.0", sha256="810e88b087b76f8b5993db4fc5165de3e5d29b0d4bf0e893750ee408fc7a5c0a") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/xdelta/package.py b/var/spack/repos/builtin/packages/xdelta/package.py index 551a4d2cba4bfa..eeba577cffc387 100644 --- a/var/spack/repos/builtin/packages/xdelta/package.py +++ b/var/spack/repos/builtin/packages/xdelta/package.py @@ -17,6 +17,9 @@ class Xdelta(AutotoolsPackage): version("3.0.11", sha256="28278a4d73127f3d2b00bbde179f8ee1f289ccd3f7f2ac7cd837f6580f90a7b7") version("3.0.10", sha256="a3f9c177ec2b91e6d8ec82ee7f0bcbbb2d18fed7d743d7577a990c01235e657d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/xditview/package.py b/var/spack/repos/builtin/packages/xditview/package.py index 48e809ab3ad132..4c0c9790b3ab9b 100644 --- a/var/spack/repos/builtin/packages/xditview/package.py +++ b/var/spack/repos/builtin/packages/xditview/package.py @@ -9,7 +9,7 @@ class Xditview(AutotoolsPackage, XorgPackage): """xditview displays ditroff output on an X display.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xditview" + homepage = "https://gitlab.freedesktop.org/xorg/app/xditview" xorg_mirror_path = "app/xditview-1.0.4.tar.gz" license("X11") @@ -18,6 +18,8 @@ class Xditview(AutotoolsPackage, XorgPackage): version("1.0.5", sha256="67c4522a24dd7e8762ae458fe216c5bddc12101af295e78c19ff7313fa8cbfad") version("1.0.4", sha256="73ad88cfc879edcc6ede65999c11d670da27575388126795d71f3ad60286d379") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxmu") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/xdm/package.py b/var/spack/repos/builtin/packages/xdm/package.py index 183ac75305c9b3..909b877c394634 100644 --- a/var/spack/repos/builtin/packages/xdm/package.py +++ b/var/spack/repos/builtin/packages/xdm/package.py @@ -9,7 +9,7 @@ class Xdm(AutotoolsPackage, XorgPackage): """X Display Manager / XDMCP server.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xdm" + homepage = "https://gitlab.freedesktop.org/xorg/app/xdm" xorg_mirror_path = "app/xdm-1.1.11.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Xdm(AutotoolsPackage, XorgPackage): version("1.1.12", sha256="8ea737945f69e172afbbc8b5060e4c7ea8079f402eb0a458572197c907020bb4") version("1.1.11", sha256="38c544a986143b1f24566c1a0111486b339b92224b927be78714eeeedca12a14") + depends_on("c", type="build") # generated + depends_on("libxmu") depends_on("libx11") depends_on("libxau") diff --git a/var/spack/repos/builtin/packages/xdmf3/package.py b/var/spack/repos/builtin/packages/xdmf3/package.py index 22a6d923455226..4909c669e3437d 100644 --- a/var/spack/repos/builtin/packages/xdmf3/package.py +++ b/var/spack/repos/builtin/packages/xdmf3/package.py @@ -22,6 +22,10 @@ class Xdmf3(CMakePackage): # but the current version, 3.x, is maintained on the master branch. version("2019-01-14", commit="8d9c98081d89ac77a132d56bc8bef53581db4078") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("shared", default=True, description="Enable shared libraries") variant("mpi", default=True, description="Enable MPI") diff --git a/var/spack/repos/builtin/packages/xdotool/package.py b/var/spack/repos/builtin/packages/xdotool/package.py index 66df65bb4784ff..877e9241873927 100644 --- a/var/spack/repos/builtin/packages/xdotool/package.py +++ b/var/spack/repos/builtin/packages/xdotool/package.py @@ -30,6 +30,8 @@ class Xdotool(MakefilePackage): "3.20150503.1", sha256="e8326883bd5e91bede7336cbee186e6e9143f40b3fb61c84afc9bb31b87e96d1" ) + depends_on("c", type="build") # generated + depends_on("libxext") depends_on("libxtst") depends_on("libxi") diff --git a/var/spack/repos/builtin/packages/xdpyinfo/package.py b/var/spack/repos/builtin/packages/xdpyinfo/package.py index 9cf8c460cd5a17..b558de378daddf 100644 --- a/var/spack/repos/builtin/packages/xdpyinfo/package.py +++ b/var/spack/repos/builtin/packages/xdpyinfo/package.py @@ -14,7 +14,7 @@ class Xdpyinfo(AutotoolsPackage, XorgPackage): and the server, and the different types of screens, visuals, and X11 protocol extensions that are available.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xdpyinfo" + homepage = "https://gitlab.freedesktop.org/xorg/app/xdpyinfo" xorg_mirror_path = "app/xdpyinfo-1.3.2.tar.gz" license("custom") @@ -22,6 +22,8 @@ class Xdpyinfo(AutotoolsPackage, XorgPackage): version("1.3.3", sha256="2ae7b8213ea839b8376843477496276e8d69550c48bff081e16376539fc27c5a") version("1.3.2", sha256="ef39935e8e9b328e54a85d6218d410d6939482da6058db1ee1b39749d98cbcf2") + depends_on("c", type="build") # generated + depends_on("libxext") depends_on("libx11") depends_on("libxtst") diff --git a/var/spack/repos/builtin/packages/xdriinfo/package.py b/var/spack/repos/builtin/packages/xdriinfo/package.py index d9d1b15ec36a14..b0ed3d5f9852d1 100644 --- a/var/spack/repos/builtin/packages/xdriinfo/package.py +++ b/var/spack/repos/builtin/packages/xdriinfo/package.py @@ -9,7 +9,7 @@ class Xdriinfo(AutotoolsPackage, XorgPackage): """xdriinfo - query configuration information of X11 DRI drivers.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xdriinfo" + homepage = "https://gitlab.freedesktop.org/xorg/app/xdriinfo" xorg_mirror_path = "app/xdriinfo-1.0.5.tar.gz" license("custom") @@ -18,6 +18,8 @@ class Xdriinfo(AutotoolsPackage, XorgPackage): version("1.0.6", sha256="c59d1d97d8b1066ea470407237c87fb131ca9f6c4db4652a6e9461ae03c698ad") version("1.0.5", sha256="e4e6abaa4591c540ab63133927a6cebf0a5f4d27dcd978878ab4a422d62a838e") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("expat") depends_on("libxshmfence") diff --git a/var/spack/repos/builtin/packages/xedit/package.py b/var/spack/repos/builtin/packages/xedit/package.py index dad2b3cdec2737..07bfc8ff269416 100644 --- a/var/spack/repos/builtin/packages/xedit/package.py +++ b/var/spack/repos/builtin/packages/xedit/package.py @@ -9,7 +9,7 @@ class Xedit(AutotoolsPackage, XorgPackage): """Xedit is a simple text editor for X.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xedit" + homepage = "https://gitlab.freedesktop.org/xorg/app/xedit" xorg_mirror_path = "app/xedit-1.2.2.tar.gz" license("BSD-3-Clause") @@ -17,6 +17,8 @@ class Xedit(AutotoolsPackage, XorgPackage): version("1.2.3", sha256="3c8be175613f72858b24d973b0d66ae2d3c9a48a5f0bd637920d85b283feede7") version("1.2.2", sha256="7e2dacbc2caed81d462ee028e108866893217d55e35e4b860b09be2b409ee18f") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxmu") depends_on("libxt@1.0:") diff --git a/var/spack/repos/builtin/packages/xerces-c/package.py b/var/spack/repos/builtin/packages/xerces-c/package.py index a9907e09dc0df3..a62f25746e37fc 100644 --- a/var/spack/repos/builtin/packages/xerces-c/package.py +++ b/var/spack/repos/builtin/packages/xerces-c/package.py @@ -28,6 +28,9 @@ class XercesC(AutotoolsPackage): version("3.1.4", sha256="9408f12c1628ecf80730bedbe8b2caad810edd01bb4c66f77b60c873e8cc6891") version("3.1.3", sha256="fc5e5e0247b108b8d64d75aeb124cabdee9b7fcd725a89fe2242b4637b25c1fa") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + # Whilst still using Autotools, can use full cxxstd with 'default' # If build is moved to CMake, then will also need a patch to Xerces-C's # CMakeLists.txt as a specific standard cannot be forced diff --git a/var/spack/repos/builtin/packages/xeus/package.py b/var/spack/repos/builtin/packages/xeus/package.py index ab4cd48d19bfea..624835fc75992d 100644 --- a/var/spack/repos/builtin/packages/xeus/package.py +++ b/var/spack/repos/builtin/packages/xeus/package.py @@ -22,6 +22,8 @@ class Xeus(CMakePackage): version("0.15.0", sha256="bc99235b24d5757dc129f3ed531501fb0d0667913927ed39ee24281952649183") version("0.14.1", sha256="a6815845d4522ec279f142d3b4e92ef52cd80847b512146a65f256a77e058cfe") + depends_on("cxx", type="build") # generated + variant("examples", default=False, description="Build examples") variant("shared", default=True, description="Build shared libraries") diff --git a/var/spack/repos/builtin/packages/xev/package.py b/var/spack/repos/builtin/packages/xev/package.py index d0f04600e1c51b..f5db651986b50f 100644 --- a/var/spack/repos/builtin/packages/xev/package.py +++ b/var/spack/repos/builtin/packages/xev/package.py @@ -15,7 +15,7 @@ class Xev(AutotoolsPackage, XorgPackage): debugging and development tool, and should not be needed in normal usage.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xev" + homepage = "https://gitlab.freedesktop.org/xorg/app/xev" xorg_mirror_path = "app/xev-1.2.2.tar.gz" license("MIT") @@ -26,6 +26,8 @@ class Xev(AutotoolsPackage, XorgPackage): version("1.2.3", sha256="a3c5fbf339f43ba625a6d84e52ab1a7170581505ef498be6aa4e7bdfbd8d5cef") version("1.2.2", sha256="e4c0c7b6f411e8b9731f2bb10d729d167bd00480d172c28b62607a6ea9e45c57") + depends_on("c", type="build") # generated + depends_on("libxrandr@1.2:") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xextproto/package.py b/var/spack/repos/builtin/packages/xextproto/package.py index 1b5f4ca83efc8f..47dc4a4df24520 100644 --- a/var/spack/repos/builtin/packages/xextproto/package.py +++ b/var/spack/repos/builtin/packages/xextproto/package.py @@ -9,7 +9,7 @@ class Xextproto(AutotoolsPackage, XorgPackage): """X Protocol Extensions.""" - homepage = "https://cgit.freedesktop.org/xorg/proto/xextproto" + homepage = "https://gitlab.freedesktop.org/xorg/proto/xextproto" xorg_mirror_path = "proto/xextproto-7.3.0.tar.gz" version("7.3.0", sha256="1b1bcdf91221e78c6c33738667a57bd9aaa63d5953174ad8ed9929296741c9f5") diff --git a/var/spack/repos/builtin/packages/xeyes/package.py b/var/spack/repos/builtin/packages/xeyes/package.py index 8d72001bb563c4..711ee12c490f42 100644 --- a/var/spack/repos/builtin/packages/xeyes/package.py +++ b/var/spack/repos/builtin/packages/xeyes/package.py @@ -9,7 +9,7 @@ class Xeyes(AutotoolsPackage, XorgPackage): """xeyes - a follow the mouse X demo, using the X SHAPE extension""" - homepage = "https://cgit.freedesktop.org/xorg/app/xeyes" + homepage = "https://gitlab.freedesktop.org/xorg/app/xeyes" xorg_mirror_path = "app/xeyes-1.1.1.tar.gz" license("MIT") @@ -18,6 +18,8 @@ class Xeyes(AutotoolsPackage, XorgPackage): version("1.1.2", sha256="4a675b34854da362bd8dff4f21ff92e0c19798b128ea0af24b7fc7c5ac2feea3") version("1.1.1", sha256="3a1871a560ab87c72a2e2ecb7fd582474448faec3e254c9bd8bead428ab1bca3") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxt") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/xf86bigfontproto/package.py b/var/spack/repos/builtin/packages/xf86bigfontproto/package.py index 7ef9adf3273b73..0504e17e492588 100644 --- a/var/spack/repos/builtin/packages/xf86bigfontproto/package.py +++ b/var/spack/repos/builtin/packages/xf86bigfontproto/package.py @@ -9,7 +9,7 @@ class Xf86bigfontproto(AutotoolsPackage, XorgPackage): """X.org XF86BigFontProto protocol headers.""" - homepage = "https://cgit.freedesktop.org/xorg/proto/xf86bigfontproto" + homepage = "https://gitlab.freedesktop.org/xorg/proto/xf86bigfontproto" xorg_mirror_path = "proto/xf86bigfontproto-1.2.0.tar.gz" version("1.2.0", sha256="d190e6462b2bbbac6ee9a007fb8eccb9ad9f5f70544154f388266f031d4bbb23") diff --git a/var/spack/repos/builtin/packages/xf86dga/package.py b/var/spack/repos/builtin/packages/xf86dga/package.py index 64a48a6b0889c1..4400f34a3dc636 100644 --- a/var/spack/repos/builtin/packages/xf86dga/package.py +++ b/var/spack/repos/builtin/packages/xf86dga/package.py @@ -9,11 +9,13 @@ class Xf86dga(AutotoolsPackage, XorgPackage): """dga is a simple test client for the XFree86-DGA extension.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xf86dga" + homepage = "https://gitlab.freedesktop.org/xorg/app/xf86dga" xorg_mirror_path = "app/xf86dga-1.0.3.tar.gz" version("1.0.3", sha256="acbf89f60a99b18c161d2beb0e4145a0fdf6c516f7f45fa52e547d88491f75c9") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxxf86dga@1.1:") diff --git a/var/spack/repos/builtin/packages/xf86dgaproto/package.py b/var/spack/repos/builtin/packages/xf86dgaproto/package.py index 7242c4c3ba9875..e60bdb49423a29 100644 --- a/var/spack/repos/builtin/packages/xf86dgaproto/package.py +++ b/var/spack/repos/builtin/packages/xf86dgaproto/package.py @@ -9,7 +9,7 @@ class Xf86dgaproto(AutotoolsPackage, XorgPackage): """X.org XF86DGAProto protocol headers.""" - homepage = "https://cgit.freedesktop.org/xorg/proto/xf86dgaproto" + homepage = "https://gitlab.freedesktop.org/xorg/proto/xf86dgaproto" xorg_mirror_path = "proto/xf86dgaproto-2.1.tar.gz" version("2.1", sha256="73bc6fc830cce5a0ec9c750d4702601fc0fca12d6353ede8b4c0092c9c4ca2af") diff --git a/var/spack/repos/builtin/packages/xf86driproto/package.py b/var/spack/repos/builtin/packages/xf86driproto/package.py index 953be0c91295a8..defa0dd09213e8 100644 --- a/var/spack/repos/builtin/packages/xf86driproto/package.py +++ b/var/spack/repos/builtin/packages/xf86driproto/package.py @@ -13,7 +13,7 @@ class Xf86driproto(AutotoolsPackage, XorgPackage): the video hardware without requiring data to be passed through the X server.""" - homepage = "https://cgit.freedesktop.org/xorg/proto/xf86driproto" + homepage = "https://gitlab.freedesktop.org/xorg/proto/xf86driproto" xorg_mirror_path = "proto/xf86driproto-2.1.1.tar.gz" license("MIT") diff --git a/var/spack/repos/builtin/packages/xf86miscproto/package.py b/var/spack/repos/builtin/packages/xf86miscproto/package.py index 69de74bb79465d..7487eb933cae2d 100644 --- a/var/spack/repos/builtin/packages/xf86miscproto/package.py +++ b/var/spack/repos/builtin/packages/xf86miscproto/package.py @@ -12,7 +12,7 @@ class Xf86miscproto(AutotoolsPackage, XorgPackage): supported by the XFree86 X server and versions of the Xorg X server prior to Xorg 1.6.""" - homepage = "https://cgit.freedesktop.org/xorg/proto/xf86miscproto" + homepage = "https://gitlab.freedesktop.org/xorg/proto/xf86miscproto" xorg_mirror_path = "proto/xf86miscproto-0.9.3.tar.gz" version("0.9.3", sha256="1b05cb76ac165c703b82bdd270b86ebbc4d42a7d04d299050b07ba2099c31352") diff --git a/var/spack/repos/builtin/packages/xf86rushproto/package.py b/var/spack/repos/builtin/packages/xf86rushproto/package.py index 4ad729f9155a2d..9ac71210a3c709 100644 --- a/var/spack/repos/builtin/packages/xf86rushproto/package.py +++ b/var/spack/repos/builtin/packages/xf86rushproto/package.py @@ -9,7 +9,7 @@ class Xf86rushproto(AutotoolsPackage, XorgPackage): """X.org XF86RushProto protocol headers.""" - homepage = "https://cgit.freedesktop.org/xorg/proto/xf86rushproto" + homepage = "https://gitlab.freedesktop.org/xorg/proto/xf86rushproto" xorg_mirror_path = "proto/xf86rushproto-1.1.2.tar.gz" version("1.1.2", sha256="7d420ae7e5f0dd94c6010c764c66acc93eed7df7f81bcf93d2a57739970ec841") diff --git a/var/spack/repos/builtin/packages/xf86vidmodeproto/package.py b/var/spack/repos/builtin/packages/xf86vidmodeproto/package.py index 1f310726d2e3da..65feeed2876407 100644 --- a/var/spack/repos/builtin/packages/xf86vidmodeproto/package.py +++ b/var/spack/repos/builtin/packages/xf86vidmodeproto/package.py @@ -12,7 +12,7 @@ class Xf86vidmodeproto(AutotoolsPackage, XorgPackage): This extension defines a protocol for dynamically configuring modelines and gamma.""" - homepage = "https://cgit.freedesktop.org/xorg/proto/xf86vidmodeproto" + homepage = "https://gitlab.freedesktop.org/xorg/proto/xf86vidmodeproto" xorg_mirror_path = "proto/xf86vidmodeproto-2.3.1.tar.gz" version("2.3.1", sha256="c3512b11cefa7558576551f8582c6e7071c8a24d78176059d94b84b48b262979") diff --git a/var/spack/repos/builtin/packages/xfd/package.py b/var/spack/repos/builtin/packages/xfd/package.py index e5a69e915920d3..1d11e330aad93b 100644 --- a/var/spack/repos/builtin/packages/xfd/package.py +++ b/var/spack/repos/builtin/packages/xfd/package.py @@ -10,7 +10,7 @@ class Xfd(AutotoolsPackage, XorgPackage): """xfd - display all the characters in a font using either the X11 core protocol or libXft2.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xfd" + homepage = "https://gitlab.freedesktop.org/xorg/app/xfd" xorg_mirror_path = "app/xfd-1.1.2.tar.gz" license("X11") @@ -19,6 +19,8 @@ class Xfd(AutotoolsPackage, XorgPackage): version("1.1.3", sha256="4a1bd18f324c239b1a807ed4ccaeb172ba771d65a7307fb492d8dd8d27f01527") version("1.1.2", sha256="4eff3e15b2526ceb48d0236d7ca126face399289eabc0ef67e6ed3b3fdcb60ad") + depends_on("c", type="build") # generated + depends_on("fontconfig") depends_on("gettext") depends_on("libxaw") diff --git a/var/spack/repos/builtin/packages/xfindproxy/package.py b/var/spack/repos/builtin/packages/xfindproxy/package.py index e2bb1ef186407b..5f81012e9b9613 100644 --- a/var/spack/repos/builtin/packages/xfindproxy/package.py +++ b/var/spack/repos/builtin/packages/xfindproxy/package.py @@ -14,11 +14,13 @@ class Xfindproxy(AutotoolsPackage, XorgPackage): services, starts new proxies when necessary, and makes sure that proxies are shared whenever possible.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xfindproxy" + homepage = "https://gitlab.freedesktop.org/xorg/app/xfindproxy" xorg_mirror_path = "app/xfindproxy-1.0.4.tar.gz" version("1.0.4", sha256="fa6152fcf9c16fbb2ef52259731df5df899a39a86894b0508456613f26ff924a") + depends_on("c", type="build") # generated + depends_on("libice") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/xfontsel/package.py b/var/spack/repos/builtin/packages/xfontsel/package.py index 5ad88b7f1ab018..a719a841c7e78e 100644 --- a/var/spack/repos/builtin/packages/xfontsel/package.py +++ b/var/spack/repos/builtin/packages/xfontsel/package.py @@ -11,7 +11,7 @@ class Xfontsel(AutotoolsPackage, XorgPackage): protocol fonts known to your X server, examine samples of each, and retrieve the X Logical Font Description ("XLFD") full name for a font.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xfontsel" + homepage = "https://gitlab.freedesktop.org/xorg/app/xfontsel" xorg_mirror_path = "app/xfontsel-1.0.5.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Xfontsel(AutotoolsPackage, XorgPackage): version("1.0.6", sha256="a7b025cb96b678f03caeb61a2770890359bdab34dc37e09d447b30c54c4df35e") version("1.0.5", sha256="9b3ad0cc274398d22be9fa7efe930f4e3749fd4b1b61d9c31a7fb6c1f1ff766e") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxmu") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/xforms/package.py b/var/spack/repos/builtin/packages/xforms/package.py index 003b57fef5e8c0..7474b1074d074d 100644 --- a/var/spack/repos/builtin/packages/xforms/package.py +++ b/var/spack/repos/builtin/packages/xforms/package.py @@ -19,6 +19,8 @@ class Xforms(AutotoolsPackage): version("1.2.3", sha256="7989b39598c769820ad451ad91e5cb0de29946940c8240aac94ca8238c2def61") version("1.0.91", sha256="88684237c77489bcb1fbc9a794621a2919aa800e1c0a6d83d679b97980e3441d") + depends_on("c", type="build") # generated + depends_on("libx11", type="link") depends_on("libxpm", type="link") depends_on("jpeg", type="link") diff --git a/var/spack/repos/builtin/packages/xfs/package.py b/var/spack/repos/builtin/packages/xfs/package.py index 0641d14a979a7d..1b4ebf3cd5a243 100644 --- a/var/spack/repos/builtin/packages/xfs/package.py +++ b/var/spack/repos/builtin/packages/xfs/package.py @@ -9,7 +9,7 @@ class Xfs(AutotoolsPackage, XorgPackage): """X Font Server.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xfs" + homepage = "https://gitlab.freedesktop.org/xorg/app/xfs" xorg_mirror_path = "app/xfs-1.1.4.tar.gz" license("X11") @@ -18,6 +18,9 @@ class Xfs(AutotoolsPackage, XorgPackage): version("1.2.0", sha256="56ebdc5ff85af332a0c5dc60c9b971551624bbc312bf6af3d13b925600ea367f") version("1.1.4", sha256="28f89b854d1ff14fa1efa5b408e5e1c4f6a145420310073c4e44705feeb6d23b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libxfont@1.4.5:", when="@:1.1") depends_on("libxfont2@2.0.1:", when="@1.2:") depends_on("font-util") diff --git a/var/spack/repos/builtin/packages/xfsdump/package.py b/var/spack/repos/builtin/packages/xfsdump/package.py index dde23593d41f59..481a7b506a3cc7 100644 --- a/var/spack/repos/builtin/packages/xfsdump/package.py +++ b/var/spack/repos/builtin/packages/xfsdump/package.py @@ -16,6 +16,8 @@ class Xfsdump(MakefilePackage): version("3.1.5", sha256="ba5bb91413ccb5a0eaffaa84f242baa08520a09f7b990b28bbd0d33a4390f7b6") version("3.1.4", sha256="a75d5c7dabd3dd4184008efcfd30d0c96b6ab318edaad9659ce180dfb9652b01") + depends_on("c", type="build") # generated + depends_on("gettext") depends_on("autoconf", type="build") depends_on("automake", type="build") diff --git a/var/spack/repos/builtin/packages/xfsinfo/package.py b/var/spack/repos/builtin/packages/xfsinfo/package.py index fc8b1ebca800ee..255d3b5c587251 100644 --- a/var/spack/repos/builtin/packages/xfsinfo/package.py +++ b/var/spack/repos/builtin/packages/xfsinfo/package.py @@ -13,13 +13,15 @@ class Xfsinfo(AutotoolsPackage, XorgPackage): clients and the server, and the font catalogues and alternate servers that are available.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xfsinfo" + homepage = "https://gitlab.freedesktop.org/xorg/app/xfsinfo" xorg_mirror_path = "app/xfsinfo-1.0.5.tar.gz" version("1.0.7", sha256="df874933710c9c38640496a2121d73272501b9620bdb95784e9e67b913788151") version("1.0.6", sha256="a817e553703748fe2d721b1fe8ea95687ee78f7aef25427ed72d9584494d91e1") version("1.0.5", sha256="56a0492ed2cde272dc8f4cff4ba0970ccb900e51c10bb8ec62747483d095fd69") + depends_on("c", type="build") # generated + depends_on("libfs") depends_on("xproto@7.0.17:") diff --git a/var/spack/repos/builtin/packages/xfsprogs/package.py b/var/spack/repos/builtin/packages/xfsprogs/package.py index b67540ecb7e6e1..2cc15a88613b0f 100644 --- a/var/spack/repos/builtin/packages/xfsprogs/package.py +++ b/var/spack/repos/builtin/packages/xfsprogs/package.py @@ -21,6 +21,8 @@ class Xfsprogs(AutotoolsPackage): version("4.20.0", sha256="beafdfd080352a8c9d543491e0874d0e8809cb643a3b9d352d5feed38d77022a") + depends_on("c", type="build") # generated + depends_on("libinih") depends_on("gettext") depends_on("uuid") diff --git a/var/spack/repos/builtin/packages/xfwp/package.py b/var/spack/repos/builtin/packages/xfwp/package.py index 2ee35cea525cf9..2d7c105280faed 100644 --- a/var/spack/repos/builtin/packages/xfwp/package.py +++ b/var/spack/repos/builtin/packages/xfwp/package.py @@ -9,11 +9,13 @@ class Xfwp(AutotoolsPackage, XorgPackage): """xfwp proxies X11 protocol connections, such as through a firewall.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xfwp" + homepage = "https://gitlab.freedesktop.org/xorg/app/xfwp" xorg_mirror_path = "app/xfwp-1.0.3.tar.gz" version("1.0.3", sha256="6fe243bde0374637e271a3f038b5d6d79a04621fc18162727782392069c5c04d") + depends_on("c", type="build") # generated + depends_on("libice") depends_on("xproto") diff --git a/var/spack/repos/builtin/packages/xgamma/package.py b/var/spack/repos/builtin/packages/xgamma/package.py index c5d08e2421fd31..47f1e0b3fe1b9c 100644 --- a/var/spack/repos/builtin/packages/xgamma/package.py +++ b/var/spack/repos/builtin/packages/xgamma/package.py @@ -10,7 +10,7 @@ class Xgamma(AutotoolsPackage, XorgPackage): """xgamma allows X users to query and alter the gamma correction of a monitor via the X video mode extension (XFree86-VidModeExtension).""" - homepage = "https://cgit.freedesktop.org/xorg/app/xgamma" + homepage = "https://gitlab.freedesktop.org/xorg/app/xgamma" xorg_mirror_path = "app/xgamma-1.0.6.tar.gz" license("custom") @@ -18,6 +18,8 @@ class Xgamma(AutotoolsPackage, XorgPackage): version("1.0.7", sha256="61f5ef02883d65ab464678ad3d8c5445a0ff727fe6255af90b1b842ddf77370d") version("1.0.6", sha256="66da1d67e84146518b69481c6283c5d8f1027ace9ff7e214d3f81954842e796a") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxxf86vm") diff --git a/var/spack/repos/builtin/packages/xgboost/package.py b/var/spack/repos/builtin/packages/xgboost/package.py index dd82b452d164b2..bfc451f8353336 100644 --- a/var/spack/repos/builtin/packages/xgboost/package.py +++ b/var/spack/repos/builtin/packages/xgboost/package.py @@ -37,6 +37,9 @@ class Xgboost(CMakePackage, CudaPackage): "1.3.3", tag="v1.3.3", commit="000292ce6d99ed658f6f9aebabc6e9b330696e7e", submodules=True ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("nccl", default=False, description="Build with NCCL to enable distributed GPU support") variant("openmp", default=True, description="Build with OpenMP support") diff --git a/var/spack/repos/builtin/packages/xgc/package.py b/var/spack/repos/builtin/packages/xgc/package.py index 4ddedf216b11a7..7e6629a34dc311 100644 --- a/var/spack/repos/builtin/packages/xgc/package.py +++ b/var/spack/repos/builtin/packages/xgc/package.py @@ -10,12 +10,14 @@ class Xgc(AutotoolsPackage, XorgPackage): """xgc is an X11 graphics demo that shows various features of the X11 core protocol graphics primitives.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xgc" + homepage = "https://gitlab.freedesktop.org/xorg/app/xgc" xorg_mirror_path = "app/xgc-1.0.5.tar.gz" version("1.0.6", sha256="8b5cfc547c04a2bd0807be700349522c0e717e34387019dd209eefa83cfa74f0") version("1.0.5", sha256="16645fb437699bad2360f36f54f42320e33fce5a0ab9a086f6e0965963205b02") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/xhmm/package.py b/var/spack/repos/builtin/packages/xhmm/package.py index fb3eb7f2706f71..b573f2a818424d 100644 --- a/var/spack/repos/builtin/packages/xhmm/package.py +++ b/var/spack/repos/builtin/packages/xhmm/package.py @@ -17,6 +17,9 @@ class Xhmm(MakefilePackage): version("20160104", commit="cc14e528d90932f059ac4fe94e869e81221fd732") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("lapack") def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/xhost/package.py b/var/spack/repos/builtin/packages/xhost/package.py index 9e083dcb2552d9..44c547cfa04bf6 100644 --- a/var/spack/repos/builtin/packages/xhost/package.py +++ b/var/spack/repos/builtin/packages/xhost/package.py @@ -10,7 +10,7 @@ class Xhost(AutotoolsPackage, XorgPackage): """xhost is used to manage the list of host names or user names allowed to make connections to the X server.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xhost" + homepage = "https://gitlab.freedesktop.org/xorg/app/xhost" xorg_mirror_path = "app/xhost-1.0.7.tar.gz" license("MIT") @@ -19,6 +19,8 @@ class Xhost(AutotoolsPackage, XorgPackage): version("1.0.8", sha256="e5aabce1533dc778ceb5bbc207105cf3770f710629caceaad64675b00c38c3f8") version("1.0.7", sha256="8dd1b6245dfbdef45a64a18ea618f233f77432c2f30881b1db9dc40d510d9490") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxmu") depends_on("libxau") diff --git a/var/spack/repos/builtin/packages/xineramaproto/package.py b/var/spack/repos/builtin/packages/xineramaproto/package.py index 43327786feaa59..fe47a592f6a56b 100644 --- a/var/spack/repos/builtin/packages/xineramaproto/package.py +++ b/var/spack/repos/builtin/packages/xineramaproto/package.py @@ -12,7 +12,7 @@ class Xineramaproto(AutotoolsPackage, XorgPackage): This is an X extension that allows multiple physical screens controlled by a single X server to appear as a single screen.""" - homepage = "https://cgit.freedesktop.org/xorg/proto/xineramaproto" + homepage = "https://gitlab.freedesktop.org/xorg/proto/xineramaproto" xorg_mirror_path = "proto/xineramaproto-1.2.1.tar.gz" version("1.2.1", sha256="d99e121edf7b310008d7371ac5dbe3aa2810996d476b754dc78477cc26e5e7c1") diff --git a/var/spack/repos/builtin/packages/xinit/package.py b/var/spack/repos/builtin/packages/xinit/package.py index 1d9bdf11d065bb..e0d70ec09b67ce 100644 --- a/var/spack/repos/builtin/packages/xinit/package.py +++ b/var/spack/repos/builtin/packages/xinit/package.py @@ -11,7 +11,7 @@ class Xinit(AutotoolsPackage, XorgPackage): first client program on systems that are not using a display manager such as xdm.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xinit" + homepage = "https://gitlab.freedesktop.org/xorg/app/xinit" xorg_mirror_path = "app/xinit-1.3.4.tar.gz" license("MIT") @@ -21,6 +21,9 @@ class Xinit(AutotoolsPackage, XorgPackage): version("1.4.0", sha256="17548a5df41621b87d395f1074dfb88b0dc6917f9127540b89c6de4a80f33776") version("1.3.4", sha256="754c284875defa588951c1d3d2b20897d3b84918d0a97cb5a4724b00c0da0746") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("libx11") depends_on("xproto@7.0.17:") diff --git a/var/spack/repos/builtin/packages/xinput/package.py b/var/spack/repos/builtin/packages/xinput/package.py index b6e9007af47b5b..32265c1bb651ec 100644 --- a/var/spack/repos/builtin/packages/xinput/package.py +++ b/var/spack/repos/builtin/packages/xinput/package.py @@ -9,7 +9,7 @@ class Xinput(AutotoolsPackage, XorgPackage): """xinput is a utility to configure and test XInput devices.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xinput" + homepage = "https://gitlab.freedesktop.org/xorg/app/xinput" xorg_mirror_path = "app/xinput-1.6.2.tar.gz" license("MIT") @@ -17,6 +17,8 @@ class Xinput(AutotoolsPackage, XorgPackage): version("1.6.3", sha256="9f29f9bfe387c5a3d582f9edc8c5a753510ecc6fdfb154c03b5cea5975b10ce4") version("1.6.2", sha256="2c8ca5ff2a8703cb7d898629a4311db720dbd30d0c162bfe37f18849a727bd42") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxext") depends_on("libxi@1.5.99.1:") diff --git a/var/spack/repos/builtin/packages/xkbcomp/package.py b/var/spack/repos/builtin/packages/xkbcomp/package.py index 3e5c6783d0a6b7..0b75d3709feb3f 100644 --- a/var/spack/repos/builtin/packages/xkbcomp/package.py +++ b/var/spack/repos/builtin/packages/xkbcomp/package.py @@ -14,18 +14,21 @@ class Xkbcomp(AutotoolsPackage, XorgPackage): keyboard. It also includes a number of keyboard controls designed to make keyboards more accessible to people with physical impairments.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xkbcomp" + homepage = "https://gitlab.freedesktop.org/xorg/app/xkbcomp" xorg_mirror_path = "app/xkbcomp-1.3.1.tar.gz" license("MIT") maintainers("wdconinc") + version("1.4.7", sha256="00cecc490fcbe2f789cf13c408c459673c2c33ab758d802677321cffcda35373") version("1.4.6", sha256="b216a2c8c0eab83f3dc4a3d5ee2bdf7827b30e49c8907035d0f222138eca0987") version("1.4.5", sha256="e88a4d86b9925ea1e8685dd5ea29c815abafb8ddf19bf5f1a1e0650839252c23") version("1.4.4", sha256="159fba6b62ef4a3fb16ef7fc4eb4fc26f3888652471ceb604c495783dda020bc") version("1.3.1", sha256="018e83a922430652d4bc3f3db610d2296e618c76c9b3fbcdccde975aeb655749") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxkbfile") diff --git a/var/spack/repos/builtin/packages/xkbevd/package.py b/var/spack/repos/builtin/packages/xkbevd/package.py index 6aec9481662a14..b19781d43983ca 100644 --- a/var/spack/repos/builtin/packages/xkbevd/package.py +++ b/var/spack/repos/builtin/packages/xkbevd/package.py @@ -9,12 +9,14 @@ class Xkbevd(AutotoolsPackage, XorgPackage): """XKB event daemon demo.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xkbevd" + homepage = "https://gitlab.freedesktop.org/xorg/app/xkbevd" xorg_mirror_path = "app/xkbevd-1.1.4.tar.gz" version("1.1.5", sha256="5d6b65a417be57e19a76277601da83271b19de6e71cb0e8821441f6fb9973c47") version("1.1.4", sha256="97dc2c19617da115c3d1183807338fa78c3fd074d8355d10a484f7b1c5b18459") + depends_on("c", type="build") # generated + depends_on("libxkbfile") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xkbprint/package.py b/var/spack/repos/builtin/packages/xkbprint/package.py index 92e1f634f8a351..9942bbd2a2f94d 100644 --- a/var/spack/repos/builtin/packages/xkbprint/package.py +++ b/var/spack/repos/builtin/packages/xkbprint/package.py @@ -10,13 +10,15 @@ class Xkbprint(AutotoolsPackage, XorgPackage): """xkbprint generates a printable or encapsulated PostScript description of an XKB keyboard description.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xkbprint" + homepage = "https://gitlab.freedesktop.org/xorg/app/xkbprint" xorg_mirror_path = "app/xkbprint-1.0.4.tar.gz" version("1.0.6", sha256="0d4602034cde190ca3d8f5c1051d34cebff5c0d92f7a32422a4de9d2313698ad") version("1.0.5", sha256="af5d91b7e5b05f7d081b66e93fca0112cca049b7b6a644b2637b344d52054ac3") version("1.0.4", sha256="169ebbf57fc8b7685c577c73a435998a38c27e0d135ce0a55fccc64cbebec768") + depends_on("c", type="build") # generated + depends_on("libxkbfile") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xkbutils/package.py b/var/spack/repos/builtin/packages/xkbutils/package.py index 734386b6baafc8..cb6cf1b028475a 100644 --- a/var/spack/repos/builtin/packages/xkbutils/package.py +++ b/var/spack/repos/builtin/packages/xkbutils/package.py @@ -10,13 +10,15 @@ class Xkbutils(AutotoolsPackage, XorgPackage): """xkbutils is a collection of small utilities utilizing the XKeyboard (XKB) extension to the X11 protocol.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xkbutils" + homepage = "https://gitlab.freedesktop.org/xorg/app/xkbutils" xorg_mirror_path = "app/xkbutils-1.0.4.tar.gz" version("1.0.6", sha256="d747d4ce5c390223e3bfdb13a1f673d3e19ae46ded25838cb8b28b1bafe1b9bd") version("1.0.5", sha256="b87072f0d7e75f56ee04455e1feab92bb5847aee4534b18c2e08b926150279ff") version("1.0.4", sha256="cf31303cbdd6a86c34cab46f4b6e0c7acd2e84578593b334a146142894529bca") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxt") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xkill/package.py b/var/spack/repos/builtin/packages/xkill/package.py index 52f43925797f12..fff9bfdc6fe807 100644 --- a/var/spack/repos/builtin/packages/xkill/package.py +++ b/var/spack/repos/builtin/packages/xkill/package.py @@ -11,7 +11,7 @@ class Xkill(AutotoolsPackage, XorgPackage): clients. This program is very dangerous, but is useful for aborting programs that have displayed undesired windows on a user's screen.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xkill" + homepage = "https://gitlab.freedesktop.org/xorg/app/xkill" xorg_mirror_path = "app/xkill-1.0.4.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Xkill(AutotoolsPackage, XorgPackage): version("1.0.5", sha256="98fab8a8af78d5aae4e1f284b580c60e3d25ed2a72daa4dbce419b28d8adaf8a") version("1.0.4", sha256="f80115f2dcca3d4b61f3c28188752c21ca7b2718b54b6e0274c0497a7f827da0") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxmu") diff --git a/var/spack/repos/builtin/packages/xl/package.py b/var/spack/repos/builtin/packages/xl/package.py index 479d31b548a6b6..379c35810beda5 100644 --- a/var/spack/repos/builtin/packages/xl/package.py +++ b/var/spack/repos/builtin/packages/xl/package.py @@ -30,8 +30,8 @@ def install(self, spec, prefix): @classmethod def determine_variants(cls, exes, version_str): - _r_exes = [e for e in exes if "_r" in e] - _exes = [e for e in exes if "_r" not in e] + _r_exes = [e for e in exes if e.endswith("_r")] + _exes = [e for e in exes if not e.endswith("_r")] _r_compilers = cls.determine_compiler_paths(exes=_r_exes) if _r_exes else None _compilers = cls.determine_compiler_paths(exes=_exes) if _exes else None diff --git a/var/spack/repos/builtin/packages/xload/package.py b/var/spack/repos/builtin/packages/xload/package.py index bee0e4037ed122..103729c83b5e17 100644 --- a/var/spack/repos/builtin/packages/xload/package.py +++ b/var/spack/repos/builtin/packages/xload/package.py @@ -10,7 +10,7 @@ class Xload(AutotoolsPackage, XorgPackage): """xload displays a periodically updating histogram of the system load average.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xload" + homepage = "https://gitlab.freedesktop.org/xorg/app/xload" xorg_mirror_path = "app/xload-1.1.3.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Xload(AutotoolsPackage, XorgPackage): version("1.1.3", sha256="9952e841d25ab2fd0ce5e27ba91858331c3f97575d726481772d4deb89432483") version("1.1.2", sha256="4863ad339d22c41a0ca030dc5886404f5ae8b8c47cd5e09f0e36407edbdbe769") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxmu") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/xlogo/package.py b/var/spack/repos/builtin/packages/xlogo/package.py index aa556d31abdfc1..1f809b927440d2 100644 --- a/var/spack/repos/builtin/packages/xlogo/package.py +++ b/var/spack/repos/builtin/packages/xlogo/package.py @@ -9,13 +9,15 @@ class Xlogo(AutotoolsPackage, XorgPackage): """The xlogo program simply displays the X Window System logo.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xlogo" + homepage = "https://gitlab.freedesktop.org/xorg/app/xlogo" xorg_mirror_path = "app/xlogo-1.0.4.tar.gz" version("1.0.6", sha256="0b0dbd90f53103b9241cc3a68c232213cec5c1d9a839604e59d128e4d81d1a4d") version("1.0.5", sha256="28f51b64e3bce6aa5ac0e35d0c12121e6e0311d3bd8b48664a57a74f6be651eb") version("1.0.4", sha256="0072eb3b41af77d5edfafb12998c7dd875f2795dc94735a998fd2ed8fc246e57") + depends_on("c", type="build") # generated + depends_on("libsm") depends_on("libxaw") depends_on("libxmu") diff --git a/var/spack/repos/builtin/packages/xlsatoms/package.py b/var/spack/repos/builtin/packages/xlsatoms/package.py index 7f28f2bd5b1432..4108c17e4f7f9d 100644 --- a/var/spack/repos/builtin/packages/xlsatoms/package.py +++ b/var/spack/repos/builtin/packages/xlsatoms/package.py @@ -9,13 +9,15 @@ class Xlsatoms(AutotoolsPackage, XorgPackage): """xlsatoms lists the interned atoms defined on an X11 server.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xlsatoms" + homepage = "https://gitlab.freedesktop.org/xorg/app/xlsatoms" xorg_mirror_path = "app/xlsatoms-1.1.2.tar.gz" version("1.1.4", sha256="e3b4dce0e6bf3b60bc308ed184d2dc201ea4af6ce03f0126aa303ccd1ccb1237") version("1.1.3", sha256="2a5a3ac0ded207c31ac1c2e9b8ae0030bba7ff604fea87a92781186ba71cbffa") version("1.1.2", sha256="5400e22211795e40c4c4d28a048250f92bfb8c373004f0e654a2ad3138c2b36d") + depends_on("c", type="build") # generated + depends_on("libxcb", when="@1.1:") depends_on("libx11", when="@:1.0") diff --git a/var/spack/repos/builtin/packages/xlsclients/package.py b/var/spack/repos/builtin/packages/xlsclients/package.py index bf42cd27cda516..94510a3b14b710 100644 --- a/var/spack/repos/builtin/packages/xlsclients/package.py +++ b/var/spack/repos/builtin/packages/xlsclients/package.py @@ -10,13 +10,15 @@ class Xlsclients(AutotoolsPackage, XorgPackage): """xlsclients is a utility for listing information about the client applications running on a X11 server.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xlsclients" + homepage = "https://gitlab.freedesktop.org/xorg/app/xlsclients" xorg_mirror_path = "app/xlsclients-1.1.3.tar.gz" version("1.1.5", sha256="225d75e4c0b0929f16f974e20931ab85204b40098d92a5479b0b9379120637e5") version("1.1.4", sha256="0b46e8289413c3e7c437a95ecd6494f99d27406d3a0b724ef995a98cbd6c33e8") version("1.1.3", sha256="4670a4003aae01e9172efb969246c3d8f33481f290aa8726ff50398c838e6994") + depends_on("c", type="build") # generated + depends_on("libxcb@1.6:", when="@1.1:") depends_on("libx11", when="@:1.0") diff --git a/var/spack/repos/builtin/packages/xlsfonts/package.py b/var/spack/repos/builtin/packages/xlsfonts/package.py index 4efceb02beea17..49e7b872f3b708 100644 --- a/var/spack/repos/builtin/packages/xlsfonts/package.py +++ b/var/spack/repos/builtin/packages/xlsfonts/package.py @@ -10,13 +10,15 @@ class Xlsfonts(AutotoolsPackage, XorgPackage): """xlsfonts lists fonts available from an X server via the X11 core protocol.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xlsfonts" + homepage = "https://gitlab.freedesktop.org/xorg/app/xlsfonts" xorg_mirror_path = "app/xlsfonts-1.0.5.tar.gz" version("1.0.7", sha256="b92d4954eaf525674ff83f7e85240ef166c240a774277f71c30674f9f7794171") version("1.0.6", sha256="870bbcfb903e790e730ea8ee964c72ce4a4df60f7a4b39541b88193d1e8c9453") version("1.0.5", sha256="2a7aeca1023a3918ad2a1af2258ed63d8f8b6c48e53841b3a3f15fb9a0c008ce") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("xproto@7.0.17:") diff --git a/var/spack/repos/builtin/packages/xmag/package.py b/var/spack/repos/builtin/packages/xmag/package.py index 18ece436a9755f..a11dc957d6a13d 100644 --- a/var/spack/repos/builtin/packages/xmag/package.py +++ b/var/spack/repos/builtin/packages/xmag/package.py @@ -9,7 +9,7 @@ class Xmag(AutotoolsPackage, XorgPackage): """xmag displays a magnified snapshot of a portion of an X11 screen.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xmag" + homepage = "https://gitlab.freedesktop.org/xorg/app/xmag" xorg_mirror_path = "app/xmag-1.0.6.tar.gz" license("custom") @@ -17,6 +17,8 @@ class Xmag(AutotoolsPackage, XorgPackage): version("1.0.7", sha256="bf94f5ac6ad0dd423b3ee8fb78710d1e47ad7e9fc8b4cf561851fba5370e38eb") version("1.0.6", sha256="07c5ec9114376dcd9a3303a38779e79b949d486f3b832d4a438550357d797aa5") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxmu") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/xman/package.py b/var/spack/repos/builtin/packages/xman/package.py index 48ed103f021cca..52b498c3fd1f20 100644 --- a/var/spack/repos/builtin/packages/xman/package.py +++ b/var/spack/repos/builtin/packages/xman/package.py @@ -10,7 +10,7 @@ class Xman(AutotoolsPackage, XorgPackage): """xman is a graphical manual page browser using the Athena Widgets (Xaw) toolkit.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xman" + homepage = "https://gitlab.freedesktop.org/xorg/app/xman" xorg_mirror_path = "app/xman-1.1.4.tar.gz" license("X11") @@ -18,6 +18,8 @@ class Xman(AutotoolsPackage, XorgPackage): version("1.1.5", sha256="ff0aeb164fcb736b381bd7722c27aa0284cafb9a5d1b3940c3c3ee0af642f204") version("1.1.4", sha256="72fd0d479624a31d9a7330e5fdd220b7aa144744781f8e78aa12deece86e05c7") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/xmessage/package.py b/var/spack/repos/builtin/packages/xmessage/package.py index 26727768863084..fff7c6901ee0cc 100644 --- a/var/spack/repos/builtin/packages/xmessage/package.py +++ b/var/spack/repos/builtin/packages/xmessage/package.py @@ -11,7 +11,7 @@ class Xmessage(AutotoolsPackage, XorgPackage): on an "okay" button to dismiss it or can select one of several buttons to answer a question. xmessage can also exit after a specified time.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xmessage" + homepage = "https://gitlab.freedesktop.org/xorg/app/xmessage" xorg_mirror_path = "app/xmessage-1.0.4.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Xmessage(AutotoolsPackage, XorgPackage): version("1.0.5", sha256="99533a90ab66e268180a8400796950a7f560ea9421e2c3f32284cabc1858806b") version("1.0.4", sha256="883099c3952c8cace5bd11d3df2e9ca143fc07375997435d5ff4f2d50353acca") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/xmh/package.py b/var/spack/repos/builtin/packages/xmh/package.py index 9f584775311a5d..875a90396a5227 100644 --- a/var/spack/repos/builtin/packages/xmh/package.py +++ b/var/spack/repos/builtin/packages/xmh/package.py @@ -11,13 +11,15 @@ class Xmh(AutotoolsPackage, XorgPackage): MH Message Handling System. To actually do things with your mail, it makes calls to the MH package.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xmh" + homepage = "https://gitlab.freedesktop.org/xorg/app/xmh" xorg_mirror_path = "app/xmh-1.0.3.tar.gz" version("1.0.5", sha256="3ab74096031ba89bcc88a46dbfa652837c4aeb6a36168ff9799782efe88128b8") version("1.0.4", sha256="2034f24fb3181b6e07ebf7235d2845a7ebb18d533aa405dbc99235eec4ab410f") version("1.0.3", sha256="f90baf2615a4e1e01232c50cfd36ee4d50ad2fb2f76b8b5831fb796661f194d2") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxmu") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/xmlf90/package.py b/var/spack/repos/builtin/packages/xmlf90/package.py index 5151ef10e21dfa..c8a0937c29a902 100644 --- a/var/spack/repos/builtin/packages/xmlf90/package.py +++ b/var/spack/repos/builtin/packages/xmlf90/package.py @@ -25,6 +25,8 @@ class Xmlf90(AutotoolsPackage): version("1.5.3", tag="xmlf90-1.5.3", commit="d55a5bcf8a0d4e592a03585209435d342d8e6d0f") version("1.5.2", tag="xmlf90-1.5.2", commit="b238aec8719b7c40c7b7252c5f200818a0d5004a") + depends_on("fortran", type="build") # generated + depends_on("autoconf@2.69:", type="build") depends_on("automake@1.14:", type="build") depends_on("libtool@2.4.2:", type="build") diff --git a/var/spack/repos/builtin/packages/xmlrpc-c/package.py b/var/spack/repos/builtin/packages/xmlrpc-c/package.py index 080b08658495c8..e32b2a0a012ef7 100644 --- a/var/spack/repos/builtin/packages/xmlrpc-c/package.py +++ b/var/spack/repos/builtin/packages/xmlrpc-c/package.py @@ -17,6 +17,9 @@ class XmlrpcC(AutotoolsPackage): version("1.51.06", sha256="06dcd87d9c88374559369ffbe83b3139cf41418c1a2d03f20e08808085f89fd0") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("curl", default=False, description="Build the XMLRPC curl client") depends_on("curl", when="+curl") diff --git a/var/spack/repos/builtin/packages/xmlto/package.py b/var/spack/repos/builtin/packages/xmlto/package.py index d70e6f6dda5cd0..6b87b226c6c62b 100644 --- a/var/spack/repos/builtin/packages/xmlto/package.py +++ b/var/spack/repos/builtin/packages/xmlto/package.py @@ -19,6 +19,8 @@ class Xmlto(AutotoolsPackage): version("0.0.28", sha256="2f986b7c9a0e9ac6728147668e776d405465284e13c74d4146c9cbc51fd8aad3") + depends_on("c", type="build") # generated + # FIXME: missing a lot of dependencies depends_on("docbook-xsl", type=("build", "run")) depends_on("libxml2", type=("build", "run")) # xmllint diff --git a/var/spack/repos/builtin/packages/xmodmap/package.py b/var/spack/repos/builtin/packages/xmodmap/package.py index d3544926c5c453..700564f1f3d5ff 100644 --- a/var/spack/repos/builtin/packages/xmodmap/package.py +++ b/var/spack/repos/builtin/packages/xmodmap/package.py @@ -13,7 +13,7 @@ class Xmodmap(AutotoolsPackage, XorgPackage): session startup script to configure the keyboard according to personal tastes.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xmodmap" + homepage = "https://gitlab.freedesktop.org/xorg/app/xmodmap" xorg_mirror_path = "app/xmodmap-1.0.9.tar.gz" license("MIT") @@ -22,6 +22,8 @@ class Xmodmap(AutotoolsPackage, XorgPackage): version("1.0.10", sha256="d4e9dc4cb034d0d774d059498d05348869934c52b0f24b0f3913823090b88640") version("1.0.9", sha256="73427a996f0fcda2a2c7ac96cfc4edd5985aeb13b48053f55ae7f63a668fadef") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("xproto@7.0.25:") diff --git a/var/spack/repos/builtin/packages/xmore/package.py b/var/spack/repos/builtin/packages/xmore/package.py index 782484dc156edd..2642215c4f3c00 100644 --- a/var/spack/repos/builtin/packages/xmore/package.py +++ b/var/spack/repos/builtin/packages/xmore/package.py @@ -9,12 +9,14 @@ class Xmore(AutotoolsPackage, XorgPackage): """xmore - plain text display program for the X Window System.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xmore" + homepage = "https://gitlab.freedesktop.org/xorg/app/xmore" xorg_mirror_path = "app/xmore-1.0.2.tar.gz" version("1.0.3", sha256="00e2f55ce4d2699a97f70060d309898c92ed2a42b9e16f21047a3654432a92b6") version("1.0.2", sha256="7371631d05986f1111f2026a77e43e048519738cfcc493c6222b66e7b0f309c0") + depends_on("c", type="build") # generated + depends_on("libxaw") depends_on("libxt") diff --git a/var/spack/repos/builtin/packages/xnnpack/package.py b/var/spack/repos/builtin/packages/xnnpack/package.py index 9549e256db2613..6611fe71907e79 100644 --- a/var/spack/repos/builtin/packages/xnnpack/package.py +++ b/var/spack/repos/builtin/packages/xnnpack/package.py @@ -22,6 +22,9 @@ class Xnnpack(CMakePackage): version("2020-03-23", commit="1b354636b5942826547055252f3b359b54acff95") # py-torch@1.6:1.7 version("2020-02-24", commit="7493bfb9d412e59529bcbced6a902d44cfa8ea1c") # py-torch@1.5 + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + generator("ninja") depends_on("cmake@3.5:", type="build") depends_on("python", type="build") diff --git a/var/spack/repos/builtin/packages/xorg-cf-files/package.py b/var/spack/repos/builtin/packages/xorg-cf-files/package.py index 0c9b7b9d33cf5f..d02e7c757c4561 100644 --- a/var/spack/repos/builtin/packages/xorg-cf-files/package.py +++ b/var/spack/repos/builtin/packages/xorg-cf-files/package.py @@ -12,7 +12,7 @@ class XorgCfFiles(AutotoolsPackage, XorgPackage): have not been verified or tested in over a decade), and for many of the libraries formerly delivered in the X.Org monolithic releases.""" - homepage = "https://cgit.freedesktop.org/xorg/util/cf" + homepage = "https://gitlab.freedesktop.org/xorg/util/cf" xorg_mirror_path = "util/xorg-cf-files-1.0.6.tar.gz" license("custom") diff --git a/var/spack/repos/builtin/packages/xorg-gtest/package.py b/var/spack/repos/builtin/packages/xorg-gtest/package.py index 1a22f1256536c3..55d1fddddd175f 100644 --- a/var/spack/repos/builtin/packages/xorg-gtest/package.py +++ b/var/spack/repos/builtin/packages/xorg-gtest/package.py @@ -15,6 +15,8 @@ class XorgGtest(AutotoolsPackage, XorgPackage): version("0.7.1", sha256="6cedc7904c698472783203bd686e777db120b808bb4052e451a822e437b72682") + depends_on("cxx", type="build") # generated + depends_on("libx11") depends_on("libxi") depends_on("xorg-server") diff --git a/var/spack/repos/builtin/packages/xorg-server/package.py b/var/spack/repos/builtin/packages/xorg-server/package.py index 3bafc23339d2d8..f72115569578af 100644 --- a/var/spack/repos/builtin/packages/xorg-server/package.py +++ b/var/spack/repos/builtin/packages/xorg-server/package.py @@ -19,6 +19,9 @@ class XorgServer(AutotoolsPackage, XorgPackage): "1.18.99.901", sha256="c8425163b588de2ee7e5c8e65b0749f2710f55a7e02a8d1dc83b3630868ceb21" ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("pixman@0.27.2:") depends_on("font-util") depends_on("libxshmfence@1.1:") diff --git a/var/spack/repos/builtin/packages/xorg-sgml-doctools/package.py b/var/spack/repos/builtin/packages/xorg-sgml-doctools/package.py index ac342052d41675..a796f927c12bc8 100644 --- a/var/spack/repos/builtin/packages/xorg-sgml-doctools/package.py +++ b/var/spack/repos/builtin/packages/xorg-sgml-doctools/package.py @@ -11,7 +11,7 @@ class XorgSgmlDoctools(AutotoolsPackage, XorgPackage): sheets used in building/formatting the documentation provided in other X.Org packages.""" - homepage = "https://cgit.freedesktop.org/xorg/doc/xorg-sgml-doctools" + homepage = "https://gitlab.freedesktop.org/xorg/doc/xorg-sgml-doctools" xorg_mirror_path = "doc/xorg-sgml-doctools-1.11.tar.gz" maintainers("wdconinc") diff --git a/var/spack/repos/builtin/packages/xphelloworld/package.py b/var/spack/repos/builtin/packages/xphelloworld/package.py index 3eec5ffc2163e5..47d4bca340d33c 100644 --- a/var/spack/repos/builtin/packages/xphelloworld/package.py +++ b/var/spack/repos/builtin/packages/xphelloworld/package.py @@ -9,11 +9,13 @@ class Xphelloworld(AutotoolsPackage, XorgPackage): """Xprint sample applications.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xphelloworld" + homepage = "https://gitlab.freedesktop.org/xorg/app/xphelloworld" xorg_mirror_path = "app/xphelloworld-1.0.1.tar.gz" version("1.0.1", sha256="ead6437c4dc9540698a41e174c9d1ac792de07baeead81935d72cb123196f866") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxaw") depends_on("libxprintapputil") diff --git a/var/spack/repos/builtin/packages/xplsprinters/package.py b/var/spack/repos/builtin/packages/xplsprinters/package.py index 901bfaa0e4836f..332064d4f4befe 100644 --- a/var/spack/repos/builtin/packages/xplsprinters/package.py +++ b/var/spack/repos/builtin/packages/xplsprinters/package.py @@ -9,11 +9,13 @@ class Xplsprinters(AutotoolsPackage, XorgPackage): """List Xprint printers.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xplsprinters" + homepage = "https://gitlab.freedesktop.org/xorg/app/xplsprinters" xorg_mirror_path = "app/xplsprinters-1.0.1.tar.gz" version("1.0.1", sha256="33377e499429ce3e100fbd7b59153c87ad79bf55872561db08419f69cac4fbfd") + depends_on("c", type="build") # generated + depends_on("libxp") depends_on("libxprintutil") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xpmem/package.py b/var/spack/repos/builtin/packages/xpmem/package.py index cd437e3cf76530..20d88b8ced1dd9 100644 --- a/var/spack/repos/builtin/packages/xpmem/package.py +++ b/var/spack/repos/builtin/packages/xpmem/package.py @@ -35,6 +35,8 @@ class Xpmem(AutotoolsPackage): version("2.6.3", sha256="ee239a32269f33234cdbdb94db29c12287862934c0784328d34aff82a9fa8b54") version("2.6.2", sha256="2c1a93b4cb20ed73c2093435a7afec513e0e797aa1e49d4d964cc6bdae89d65b") + depends_on("c", type="build") # generated + variant("kernel-module", default=True, description="Enable building the kernel module") # Added RHEL 8.3 kernel support diff --git a/var/spack/repos/builtin/packages/xpr/package.py b/var/spack/repos/builtin/packages/xpr/package.py index 291aa4e031add6..d1896a6843410e 100644 --- a/var/spack/repos/builtin/packages/xpr/package.py +++ b/var/spack/repos/builtin/packages/xpr/package.py @@ -10,13 +10,15 @@ class Xpr(AutotoolsPackage, XorgPackage): """xpr takes as input a window dump file produced by xwd and formats it for output on various types of printers.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xpr" + homepage = "https://gitlab.freedesktop.org/xorg/app/xpr" xorg_mirror_path = "app/xpr-1.0.4.tar.gz" version("1.1.0", sha256="fabd02fb1a52358d521f1be7422738bc8c9b511a8d82a163888f628db6f6cb18") version("1.0.5", sha256="7a429478279a2b0f2363b24b8279ff132cc5e83762d3329341490838b0723757") version("1.0.4", sha256="9ec355388ae363fd40239a3fa56908bb2f3e53b5bfc872cf0182d14d730c6207") + depends_on("c", type="build") # generated + depends_on("libxmu") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xprehashprinterlist/package.py b/var/spack/repos/builtin/packages/xprehashprinterlist/package.py index 5ad7f37fb3ccc2..b6477d53aae4b2 100644 --- a/var/spack/repos/builtin/packages/xprehashprinterlist/package.py +++ b/var/spack/repos/builtin/packages/xprehashprinterlist/package.py @@ -9,11 +9,13 @@ class Xprehashprinterlist(AutotoolsPackage, XorgPackage): """Rehash list of Xprint printers.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xprehashprinterlist" + homepage = "https://gitlab.freedesktop.org/xorg/app/xprehashprinterlist" xorg_mirror_path = "app/xprehashprinterlist-1.0.1.tar.gz" version("1.0.1", sha256="396986da064b584138cfcff79a8aed12590a9dab24f1cd2d80b08bc1cb896a43") + depends_on("c", type="build") # generated + depends_on("libxp") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xprop/package.py b/var/spack/repos/builtin/packages/xprop/package.py index b4e25b86f0c9ad..c97c07727d8acc 100644 --- a/var/spack/repos/builtin/packages/xprop/package.py +++ b/var/spack/repos/builtin/packages/xprop/package.py @@ -10,7 +10,7 @@ class Xprop(AutotoolsPackage, XorgPackage): """xprop is a command line tool to display and/or set window and font properties of an X server.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xprop" + homepage = "https://gitlab.freedesktop.org/xorg/app/xprop" xorg_mirror_path = "app/xprop-1.2.2.tar.gz" license("MIT") @@ -22,6 +22,8 @@ class Xprop(AutotoolsPackage, XorgPackage): version("1.2.3", sha256="82c13f40577e10b6f3f0160a21b1e46c00a0c719aa560618b961c453e1b5c80d") version("1.2.2", sha256="3db78771ce8fb8954fb242ed9d4030372523649c5e9c1a9420340020dd0afbc2") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("xproto@7.0.17:") diff --git a/var/spack/repos/builtin/packages/xproperty/package.py b/var/spack/repos/builtin/packages/xproperty/package.py index 9d8a0d1483192d..9944f6da8eb5da 100644 --- a/var/spack/repos/builtin/packages/xproperty/package.py +++ b/var/spack/repos/builtin/packages/xproperty/package.py @@ -20,6 +20,8 @@ class Xproperty(CMakePackage): version("master", branch="master") version("0.11.0", sha256="bf86a11c6758308aa0aa0f64d8dd24cd3e9d78378467b74002f552bfb75fc0eb") + depends_on("cxx", type="build") # generated + depends_on("xtl@0.7.0:0.7", when="@0.11.0:") # C++14 support diff --git a/var/spack/repos/builtin/packages/xproto/package.py b/var/spack/repos/builtin/packages/xproto/package.py index b7403f13bd03cb..fccbd571e4d188 100644 --- a/var/spack/repos/builtin/packages/xproto/package.py +++ b/var/spack/repos/builtin/packages/xproto/package.py @@ -16,7 +16,7 @@ class Xproto(AutotoolsPackage, XorgPackage): but are depended upon by many other X Window System packages to provide common definitions and porting layer.""" - homepage = "https://cgit.freedesktop.org/xorg/proto/x11proto" + homepage = "https://gitlab.freedesktop.org/xorg/proto/x11proto" xorg_mirror_path = "proto/xproto-7.0.31.tar.gz" version("7.0.31", sha256="6d755eaae27b45c5cc75529a12855fed5de5969b367ed05003944cf901ed43c7") diff --git a/var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py b/var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py index a9a148972290ed..b724478e973407 100644 --- a/var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py +++ b/var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py @@ -11,7 +11,7 @@ class Xproxymanagementprotocol(AutotoolsPackage, XorgPackage): way for application servers to easily locate proxy services available to them.""" - homepage = "https://cgit.freedesktop.org/xorg/proto/pmproto" + homepage = "https://gitlab.freedesktop.org/xorg/proto/pmproto" xorg_mirror_path = "proto/xproxymanagementprotocol-1.0.3.tar.gz" version("1.0.3", sha256="c1501045ec781f36b6f867611ab2b4e81be542f5c669b2fd0cc4ec1340c42bcf") diff --git a/var/spack/repos/builtin/packages/xqilla/package.py b/var/spack/repos/builtin/packages/xqilla/package.py index 03efa9b1b4bbdc..e4d7b21ee43746 100644 --- a/var/spack/repos/builtin/packages/xqilla/package.py +++ b/var/spack/repos/builtin/packages/xqilla/package.py @@ -17,6 +17,9 @@ class Xqilla(AutotoolsPackage, SourceforgePackage): version("2.3.3", sha256="8f76b9b4f966f315acc2a8e104e426d8a76ba4ea3441b0ecfdd1e39195674fd6") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("debug", default=False, description="Build a debugging version.") variant("shared", default=True, description="Build shared libraries.") diff --git a/var/spack/repos/builtin/packages/xrandr/package.py b/var/spack/repos/builtin/packages/xrandr/package.py index cbebdf46176c46..a6186fabf53722 100644 --- a/var/spack/repos/builtin/packages/xrandr/package.py +++ b/var/spack/repos/builtin/packages/xrandr/package.py @@ -10,7 +10,7 @@ class Xrandr(AutotoolsPackage, XorgPackage): """xrandr - primitive command line interface to X11 Resize, Rotate, and Reflect (RandR) extension.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xrandr" + homepage = "https://gitlab.freedesktop.org/xorg/app/xrandr" xorg_mirror_path = "app/xrandr-1.5.0.tar.gz" license("MIT") @@ -21,6 +21,8 @@ class Xrandr(AutotoolsPackage, XorgPackage): version("1.5.1", sha256="7b99edb7970a1365eaf5bcaf552144e4dfc3ccf510c4abc08569849929fb366e") version("1.5.0", sha256="ddfe8e7866149c24ccce8e6aaa0623218ae19130c2859cadcaa4228d8bb4a46d") + depends_on("c", type="build") # generated + depends_on("libxrandr@1.5:") depends_on("libxrender") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xrdb/package.py b/var/spack/repos/builtin/packages/xrdb/package.py index d60b5a4ddb0a6a..4b702d444fdbc4 100644 --- a/var/spack/repos/builtin/packages/xrdb/package.py +++ b/var/spack/repos/builtin/packages/xrdb/package.py @@ -9,7 +9,7 @@ class Xrdb(AutotoolsPackage, XorgPackage): """xrdb - X server resource database utility.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xrdb" + homepage = "https://gitlab.freedesktop.org/xorg/app/xrdb" xorg_mirror_path = "app/xrdb-1.1.0.tar.gz" license("MIT") @@ -19,6 +19,8 @@ class Xrdb(AutotoolsPackage, XorgPackage): version("1.1.1", sha256="d19f856296c5f1742a703afc620654efc76fedfb86e1afe0bff9f1038b9e8a47") version("1.1.0", sha256="44b0b6b7b7eb80b83486dfea67c880f6b0059052386c7ddec4d58fd2ad9ae8e9") + depends_on("c", type="build") # generated + depends_on("libxmu") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xrdcl-record/package.py b/var/spack/repos/builtin/packages/xrdcl-record/package.py index 606fade55c4295..684715eb9f8764 100644 --- a/var/spack/repos/builtin/packages/xrdcl-record/package.py +++ b/var/spack/repos/builtin/packages/xrdcl-record/package.py @@ -17,4 +17,6 @@ class XrdclRecord(CMakePackage): version("5.4.2", sha256="fb76284491ff4e723bce4c9e9d87347e98e278e70c597167bc39a162bc876734") + depends_on("cxx", type="build") # generated + depends_on("xrootd") diff --git a/var/spack/repos/builtin/packages/xrefresh/package.py b/var/spack/repos/builtin/packages/xrefresh/package.py index 21800da5fb75d7..e34713194f08dc 100644 --- a/var/spack/repos/builtin/packages/xrefresh/package.py +++ b/var/spack/repos/builtin/packages/xrefresh/package.py @@ -9,7 +9,7 @@ class Xrefresh(AutotoolsPackage, XorgPackage): """xrefresh - refresh all or part of an X screen.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xrefresh" + homepage = "https://gitlab.freedesktop.org/xorg/app/xrefresh" xorg_mirror_path = "app/xrefresh-1.0.5.tar.gz" license("MIT") @@ -19,6 +19,8 @@ class Xrefresh(AutotoolsPackage, XorgPackage): version("1.0.6", sha256="0dda726365d341c00aed0f9cfebf3d2cfaa0c661212c73c0114cbb4ce92f357e") version("1.0.5", sha256="b373cc1ecd37c3d787e7074ce89a8a06ea173d7ba9e73fa48de973c759fbcf38") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("xproto@7.0.17:") diff --git a/var/spack/repos/builtin/packages/xrootd/package.py b/var/spack/repos/builtin/packages/xrootd/package.py index f85e8af344d998..af368755b87ac3 100644 --- a/var/spack/repos/builtin/packages/xrootd/package.py +++ b/var/spack/repos/builtin/packages/xrootd/package.py @@ -20,6 +20,7 @@ class Xrootd(CMakePackage): license("LGPL-3.0-only") + version("5.7.0", sha256="214599bba98bc69875b82ac74f2d4b9ac8a554a1024119d8a9802b3d8b9986f8") version("5.6.9", sha256="44196167fbcf030d113e3749dfdecab934c43ec15e38e77481e29aac191ca3a8") version("5.6.8", sha256="19268fd9f0307d936da3598a5eb8471328e059c58f60d91d1ce7305ca0d57528") version("5.6.7", sha256="4089ce3a69fcf6566d320ef1f4a73a1d6332e6835b7566e17548569bdea78a8d") @@ -64,7 +65,16 @@ class Xrootd(CMakePackage): version("4.4.0", sha256="f066e7488390c0bc50938d23f6582fb154466204209ca92681f0aa06340e77c8") version("4.3.0", sha256="d34865772d975b5d58ad80bb05312bf49aaf124d5431e54dc8618c05a0870e3c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("davix", default=True, description="Build with Davix") + variant( + "ec", + default=True, + description="Build with erasure coding component support", + when="@5.7.0:", + ) variant("http", default=True, description="Build with HTTP support") variant("krb5", default=False, description="Build with KRB5 support") variant("python", default=False, description="Build pyxroot Python extension") @@ -94,7 +104,16 @@ class Xrootd(CMakePackage): values=("98", "11", "14", "17", "20"), multi=False, description="Use the specified C++ standard when building", - when="@5.2.0:", + when="@5.2.0:5.6.99", + ) + + variant( + "cxxstd", + default="17", + values=("98", "11", "14", "17", "20"), + multi=False, + description="Use the specified C++ standard when building", + when="@5.7.0:", ) variant( @@ -122,6 +141,7 @@ class Xrootd(CMakePackage): conflicts("^cmake@:3.0", when="@5.0.0") conflicts("^cmake@:3.15.99", when="@5.5.4:5.5") depends_on("davix", when="+davix") + depends_on("isa-l", when="+ec") depends_on("pkgconfig", type="build", when="+davix") depends_on("libxml2", when="+http") depends_on("uuid", when="@4.11.0:") @@ -204,6 +224,7 @@ def cmake_args(self): define_from_variant("ENABLE_READLINE", "readline"), define_from_variant("ENABLE_KRB5", "krb5"), define_from_variant("ENABLE_SCITOKENS", "scitokens-cpp"), + define_from_variant("ENABLE_XRDEC", "ec"), define_from_variant("XRDCL_ONLY", "client_only"), define("ENABLE_CEPH", False), define("ENABLE_CRYPTO", True), @@ -211,6 +232,7 @@ def cmake_args(self): define("ENABLE_MACAROONS", False), define("ENABLE_VOMS", False), define("FORCE_ENABLED", True), + define("USE_SYSTEM_ISAL", True), ] # see https://github.com/spack/spack/pull/11581 if "+python" in self.spec: diff --git a/var/spack/repos/builtin/packages/xrx/package.py b/var/spack/repos/builtin/packages/xrx/package.py index b354252f5c1ca3..4ff7f058f7190f 100644 --- a/var/spack/repos/builtin/packages/xrx/package.py +++ b/var/spack/repos/builtin/packages/xrx/package.py @@ -14,11 +14,13 @@ class Xrx(AutotoolsPackage, XorgPackage): browser must identify specific instances of the services in the request to invoke the application.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xrx" + homepage = "https://gitlab.freedesktop.org/xorg/app/xrx" xorg_mirror_path = "app/xrx-1.0.4.tar.gz" version("1.0.4", sha256="1ffa1c2af28587c6ed7ded3af2e62e93bad8f9900423d09c45b1d59449d15134") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxt") depends_on("libxext") diff --git a/var/spack/repos/builtin/packages/xsbench/package.py b/var/spack/repos/builtin/packages/xsbench/package.py index 5525b5be471770..f92a0c4fb6fa4a 100644 --- a/var/spack/repos/builtin/packages/xsbench/package.py +++ b/var/spack/repos/builtin/packages/xsbench/package.py @@ -24,6 +24,9 @@ class Xsbench(MakefilePackage, CudaPackage): version("14", sha256="595afbcba8c1079067d5d17eedcb4ab0c1d115f83fd6f8c3de01d74b23015e2d") version("13", sha256="b503ea468d3720a0369304924477b758b3d128c8074776233fa5d567b7ffcaa2") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=True, description="Build with MPI support") variant("openmp", default=True, description="Build with OpenMP support") variant("cuda", default=False, when="@19:", description="Build with CUDA support") diff --git a/var/spack/repos/builtin/packages/xscope/package.py b/var/spack/repos/builtin/packages/xscope/package.py index 43b8a3aa4dcd24..5bbddce9dde678 100644 --- a/var/spack/repos/builtin/packages/xscope/package.py +++ b/var/spack/repos/builtin/packages/xscope/package.py @@ -9,7 +9,7 @@ class Xscope(AutotoolsPackage, XorgPackage): """XSCOPE -- a program to monitor X11/Client conversations.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xscope" + homepage = "https://gitlab.freedesktop.org/xorg/app/xscope" xorg_mirror_path = "app/xscope-1.4.1.tar.gz" license("MIT") @@ -18,6 +18,8 @@ class Xscope(AutotoolsPackage, XorgPackage): version("1.4.2", sha256="e12d634a69ce1ec36b0afd1d40814215e262801a030ddf83d7d0348cd046b381") version("1.4.1", sha256="f99558a64e828cd2c352091ed362ad2ef42b1c55ef5c01cbf782be9735bb6de3") + depends_on("c", type="build") # generated + depends_on("xproto@7.0.17:") depends_on("xtrans") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/xsd/package.py b/var/spack/repos/builtin/packages/xsd/package.py index 44fa3fc14b1110..d820ef58fc4b70 100644 --- a/var/spack/repos/builtin/packages/xsd/package.py +++ b/var/spack/repos/builtin/packages/xsd/package.py @@ -18,6 +18,9 @@ class Xsd(MakefilePackage): version("4.0.0", sha256="eca52a9c8f52cdbe2ae4e364e4a909503493a0d51ea388fc6c9734565a859817") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("xerces-c") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/xsdk-examples/package.py b/var/spack/repos/builtin/packages/xsdk-examples/package.py index 4978f57049d925..6a08c12b04c7aa 100644 --- a/var/spack/repos/builtin/packages/xsdk-examples/package.py +++ b/var/spack/repos/builtin/packages/xsdk-examples/package.py @@ -24,6 +24,9 @@ class XsdkExamples(CMakePackage, CudaPackage, ROCmPackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("xsdk+cuda", when="+cuda") depends_on("xsdk~cuda", when="~cuda") for sm_ in CudaPackage.cuda_arch_values: diff --git a/var/spack/repos/builtin/packages/xset/package.py b/var/spack/repos/builtin/packages/xset/package.py index 8727bbdb435fca..ca8b35d147c02f 100644 --- a/var/spack/repos/builtin/packages/xset/package.py +++ b/var/spack/repos/builtin/packages/xset/package.py @@ -9,7 +9,7 @@ class Xset(AutotoolsPackage, XorgPackage): """User preference utility for X.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xset" + homepage = "https://gitlab.freedesktop.org/xorg/app/xset" xorg_mirror_path = "app/xset-1.2.3.tar.gz" license("MIT") @@ -18,6 +18,8 @@ class Xset(AutotoolsPackage, XorgPackage): version("1.2.4", sha256="3a05e8626298c7a79002ec5fb4949dcba8abc7a2b95c03ed5e0f5698c3b4dea0") version("1.2.3", sha256="5ecb2bb2cbf3c9349b735080b155a08c97b314dacedfc558c7f5a611ee1297f7") + depends_on("c", type="build") # generated + depends_on("libxmu") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xsetmode/package.py b/var/spack/repos/builtin/packages/xsetmode/package.py index bc477070784267..0b9012cdb91198 100644 --- a/var/spack/repos/builtin/packages/xsetmode/package.py +++ b/var/spack/repos/builtin/packages/xsetmode/package.py @@ -9,11 +9,13 @@ class Xsetmode(AutotoolsPackage, XorgPackage): """Set the mode for an X Input device.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xsetmode" + homepage = "https://gitlab.freedesktop.org/xorg/app/xsetmode" xorg_mirror_path = "app/xsetmode-1.0.0.tar.gz" version("1.0.0", sha256="9ee0d6cf72dfaacb997f9570779dcbc42f5395ae102180cb19382860b4b02ef3") + depends_on("c", type="build") # generated + depends_on("libxi") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xsetpointer/package.py b/var/spack/repos/builtin/packages/xsetpointer/package.py index 0a77e1f8440269..95fa11e3b00c3e 100644 --- a/var/spack/repos/builtin/packages/xsetpointer/package.py +++ b/var/spack/repos/builtin/packages/xsetpointer/package.py @@ -9,11 +9,13 @@ class Xsetpointer(AutotoolsPackage, XorgPackage): """Set an X Input device as the main pointer.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xsetpointer" + homepage = "https://gitlab.freedesktop.org/xorg/app/xsetpointer" xorg_mirror_path = "app/xsetpointer-1.0.1.tar.gz" version("1.0.1", sha256="54be93b20fd6f1deac67246d6e214a60b02dcfbf05295e43751f7a04edb986ac") + depends_on("c", type="build") # generated + depends_on("libxi", type="link") depends_on("libx11", type="link") depends_on("inputproto@1.4:") diff --git a/var/spack/repos/builtin/packages/xsetroot/package.py b/var/spack/repos/builtin/packages/xsetroot/package.py index 4c701d31dd39b8..51e6ebad4db489 100644 --- a/var/spack/repos/builtin/packages/xsetroot/package.py +++ b/var/spack/repos/builtin/packages/xsetroot/package.py @@ -9,7 +9,7 @@ class Xsetroot(AutotoolsPackage, XorgPackage): """xsetroot - root window parameter setting utility for X.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xsetroot" + homepage = "https://gitlab.freedesktop.org/xorg/app/xsetroot" xorg_mirror_path = "app/xsetroot-1.1.1.tar.gz" license("MIT") @@ -18,6 +18,8 @@ class Xsetroot(AutotoolsPackage, XorgPackage): version("1.1.2", sha256="9d007f5119be09924ac3a5d2bd506f32e6c164b82633c88d2aff26311e1a2a2b") version("1.1.1", sha256="6cdd48757d18835251124138b4a8e4008c3bbc51cf92533aa39c6ed03277168b") + depends_on("c", type="build") # generated + depends_on("libxmu") depends_on("libx11") depends_on("libxcursor") diff --git a/var/spack/repos/builtin/packages/xsimd/package.py b/var/spack/repos/builtin/packages/xsimd/package.py index b17899e084dee5..e869da903cedd6 100644 --- a/var/spack/repos/builtin/packages/xsimd/package.py +++ b/var/spack/repos/builtin/packages/xsimd/package.py @@ -33,6 +33,8 @@ class Xsimd(CMakePackage): version("4.0.0", sha256="67b818601c15ef15ea4d611a8cd7382588c340ebd9146c799a0210d212540455") version("3.1.0", sha256="d56288826f6b82fd9583f83ace6aa2306ba2ae82cec003de1d04ce17fbb1e91f") + depends_on("cxx", type="build") # generated + depends_on("googletest", type="test") # C++14 support diff --git a/var/spack/repos/builtin/packages/xsm/package.py b/var/spack/repos/builtin/packages/xsm/package.py index 5104bb886f8ad4..f14a71f49c5f4e 100644 --- a/var/spack/repos/builtin/packages/xsm/package.py +++ b/var/spack/repos/builtin/packages/xsm/package.py @@ -9,13 +9,15 @@ class Xsm(AutotoolsPackage, XorgPackage): """X Session Manager.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xsm" + homepage = "https://gitlab.freedesktop.org/xorg/app/xsm" xorg_mirror_path = "app/xsm-1.0.3.tar.gz" version("1.0.5", sha256="e8a2f64b5a37be39a81877cd4069745a226a31493080f03ae74b76fb3f17b7a6") version("1.0.4", sha256="d12fb0071719de5845d41602963988e4b889f482427c13ce8e515f5ca51c0564") version("1.0.3", sha256="f70815139d62416dbec5915ec37db66f325932a69f6350bb1a74c0940cdc796a") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxt@1.1.0:") depends_on("libice") diff --git a/var/spack/repos/builtin/packages/xstdcmap/package.py b/var/spack/repos/builtin/packages/xstdcmap/package.py index bf4d21b0edc909..e6935f4fde239b 100644 --- a/var/spack/repos/builtin/packages/xstdcmap/package.py +++ b/var/spack/repos/builtin/packages/xstdcmap/package.py @@ -12,13 +12,15 @@ class Xstdcmap(AutotoolsPackage, XorgPackage): create standard colormap definitions in order to facilitate sharing of scarce colormap resources among clients using PseudoColor visuals.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xstdcmap" + homepage = "https://gitlab.freedesktop.org/xorg/app/xstdcmap" xorg_mirror_path = "app/xstdcmap-1.0.3.tar.gz" version("1.0.5", sha256="70bd5909d6f1b4d9b038593f72ce70b0095a6f773e1dd8059136bbeb021b8771") version("1.0.4", sha256="7b1a23ba7ac623803101b6f9df37889fb1ef2f1bb53da25a415c8a88eebc8073") version("1.0.3", sha256="b97aaa883a9eedf9c3056ea1a7e818e3d93b63aa1f54193ef481d392bdef5711") + depends_on("c", type="build") # generated + depends_on("libxmu") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xtb/package.py b/var/spack/repos/builtin/packages/xtb/package.py index b8bab6d0d17079..6dfc4ed96550a1 100644 --- a/var/spack/repos/builtin/packages/xtb/package.py +++ b/var/spack/repos/builtin/packages/xtb/package.py @@ -20,6 +20,9 @@ class Xtb(MesonPackage): version("6.5.1", sha256="0922205cc224fe79e28f3d75be4e10c03efa8f3f666aedec8346fed82b272cad") version("6.5.0", sha256="5f780656bf7b440a8e1f753a9a877401a7d497fb3160762f48bdefc8a9914976") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + depends_on("blas") depends_on("lapack") depends_on("meson@0.57.2:", type="build") diff --git a/var/spack/repos/builtin/packages/xtcdata/package.py b/var/spack/repos/builtin/packages/xtcdata/package.py index fa87a2f6cf1792..1fb2064788aaad 100644 --- a/var/spack/repos/builtin/packages/xtcdata/package.py +++ b/var/spack/repos/builtin/packages/xtcdata/package.py @@ -16,4 +16,7 @@ class Xtcdata(CMakePackage): version("3.3.37", sha256="127a5ae44c9272039708bd877849a3af354ce881fde093a2fc6fe0550b698b72") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + root_cmakelists_dir = "xtcdata" diff --git a/var/spack/repos/builtin/packages/xtensor-blas/package.py b/var/spack/repos/builtin/packages/xtensor-blas/package.py index c43cd4a4da3cc8..3d4060979afed3 100644 --- a/var/spack/repos/builtin/packages/xtensor-blas/package.py +++ b/var/spack/repos/builtin/packages/xtensor-blas/package.py @@ -23,6 +23,8 @@ class XtensorBlas(CMakePackage): version("0.18.0", sha256="fba992bc08323bc40fd04d6549e50e43b97942624a51e08129102d18c135eec0") version("0.17.2", sha256="2798c7e230d0c4b2d357bba20a0ef23a2b774d892be31ebbf702cb9935ea9f64") + depends_on("cxx", type="build") # generated + depends_on("cmake@3.1:", type="build") # the information below can be found in the xtensor-blas README depends_on("xtensor@0.24.0:", when="@0.20:") diff --git a/var/spack/repos/builtin/packages/xtensor-python/package.py b/var/spack/repos/builtin/packages/xtensor-python/package.py index 0d277428cdf3fd..cd5d6caba30b7e 100644 --- a/var/spack/repos/builtin/packages/xtensor-python/package.py +++ b/var/spack/repos/builtin/packages/xtensor-python/package.py @@ -21,6 +21,8 @@ class XtensorPython(CMakePackage): version("0.23.1", sha256="450b25f5c739df174b2a50774b89e68b23535fdc37cb55bd542ffdb7c78991ab") version("0.17.0", sha256="30f2e8c99376e38f942d62c0d2959bc1e52a562a4f8cc5e27ddc4d572a25e34c") + depends_on("cxx", type="build") # generated + depends_on("xtensor", when="@develop") depends_on("xtensor@0.20.6:0.20", when="@0.23.1") depends_on("xtensor@0.15.1:0.15", when="@0.17.0") diff --git a/var/spack/repos/builtin/packages/xtensor/package.py b/var/spack/repos/builtin/packages/xtensor/package.py index b7f1a3fa9e9858..58c20ab95e585d 100644 --- a/var/spack/repos/builtin/packages/xtensor/package.py +++ b/var/spack/repos/builtin/packages/xtensor/package.py @@ -27,6 +27,8 @@ class Xtensor(CMakePackage): version("0.15.1", sha256="2f4ac632f7aa8c8e9da99ebbfc949d9129b4d644f715ef16c27658bf4fddcdd3") version("0.13.1", sha256="f9ce4cd2110386d49e3f36bbab62da731c557b6289be19bc172bd7209b92a6bc") + depends_on("cxx", type="build") # generated + variant("xsimd", default=True, description="Enable SIMD intrinsics") variant("tbb", default=True, description="Enable TBB parallelization") diff --git a/var/spack/repos/builtin/packages/xtl/package.py b/var/spack/repos/builtin/packages/xtl/package.py index c9d3029548c8d9..f3dcf90fa0bf76 100644 --- a/var/spack/repos/builtin/packages/xtl/package.py +++ b/var/spack/repos/builtin/packages/xtl/package.py @@ -25,6 +25,8 @@ class Xtl(CMakePackage): version("0.3.4", sha256="618536c3998091b0bdd7f8202e8bec9c34e82409c8ee0ea179a2759bdea426e2") version("0.3.3", sha256="1110364c2ea0a2536ec6673e46afcb8fa7e92a66593211270bbeb26b85342600") + depends_on("cxx", type="build") # generated + # C++14 support conflicts("%gcc@:4.8") conflicts("%clang@:3.6") diff --git a/var/spack/repos/builtin/packages/xtrans/package.py b/var/spack/repos/builtin/packages/xtrans/package.py index 83b2c02c38f58e..92a5c73d87dea3 100644 --- a/var/spack/repos/builtin/packages/xtrans/package.py +++ b/var/spack/repos/builtin/packages/xtrans/package.py @@ -12,7 +12,7 @@ class Xtrans(AutotoolsPackage, XorgPackage): single place to add new transport types. It is used by the X server, libX11, libICE, the X font server, and related components.""" - homepage = "https://cgit.freedesktop.org/xorg/lib/libxtrans" + homepage = "https://gitlab.freedesktop.org/xorg/lib/libxtrans" xorg_mirror_path = "lib/xtrans-1.3.5.tar.gz" license("MIT") @@ -23,5 +23,7 @@ class Xtrans(AutotoolsPackage, XorgPackage): version("1.4.0", sha256="48ed850ce772fef1b44ca23639b0a57e38884045ed2cbb18ab137ef33ec713f9") version("1.3.5", sha256="b7a577c1b6c75030145e53b4793db9c88f9359ac49e7d771d4385d21b3e5945d") + depends_on("c", type="build") # generated + depends_on("pkgconfig", type="build") depends_on("util-macros", type="build") diff --git a/var/spack/repos/builtin/packages/xtrap/package.py b/var/spack/repos/builtin/packages/xtrap/package.py index 9f2abfbb095a0b..99fef53039b9e8 100644 --- a/var/spack/repos/builtin/packages/xtrap/package.py +++ b/var/spack/repos/builtin/packages/xtrap/package.py @@ -9,12 +9,14 @@ class Xtrap(AutotoolsPackage, XorgPackage): """XTrap sample clients.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xtrap" + homepage = "https://gitlab.freedesktop.org/xorg/app/xtrap" xorg_mirror_path = "app/xtrap-1.0.2.tar.gz" version("1.0.3", sha256="c6b86b921a748acbf1d82590fbd9c4575f970220760088f0e0efac6fd93d6dc3") version("1.0.2", sha256="e8916e05bfb0d72a088aaaac0feaf4ad7671d0f509d1037fb3c0c9ea131b93d2") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxtrap") diff --git a/var/spack/repos/builtin/packages/xts/package.py b/var/spack/repos/builtin/packages/xts/package.py index 31ff532a8dc482..48597dd682e093 100644 --- a/var/spack/repos/builtin/packages/xts/package.py +++ b/var/spack/repos/builtin/packages/xts/package.py @@ -15,6 +15,8 @@ class Xts(AutotoolsPackage, XorgPackage): version("0.99.1", sha256="d04d987b9a9f8b3921dfe8de8577d0c2a0f21d2c4c3196948fc9805838a352e6") + depends_on("c", type="build") # generated + depends_on("libx11", type="link") depends_on("libxext", type="link") depends_on("libxi", type="link") diff --git a/var/spack/repos/builtin/packages/xv/package.py b/var/spack/repos/builtin/packages/xv/package.py index 1c7d328897b4ae..8947f35608f301 100644 --- a/var/spack/repos/builtin/packages/xv/package.py +++ b/var/spack/repos/builtin/packages/xv/package.py @@ -23,6 +23,8 @@ class Xv(CMakePackage): version("4.2.0", sha256="2871338c517a7444fc9d6a3d146bc2c5c7bd98b50c83369b24d24ad49fa0ab87") + depends_on("c", type="build") # generated + depends_on("libjpeg") depends_on("libpng") depends_on("libtiff") diff --git a/var/spack/repos/builtin/packages/xvidtune/package.py b/var/spack/repos/builtin/packages/xvidtune/package.py index eeb9d3096a2fb9..c1c8dd40928b67 100644 --- a/var/spack/repos/builtin/packages/xvidtune/package.py +++ b/var/spack/repos/builtin/packages/xvidtune/package.py @@ -10,7 +10,7 @@ class Xvidtune(AutotoolsPackage, XorgPackage): """xvidtune is a client interface to the X server video mode extension (XFree86-VidModeExtension).""" - homepage = "https://cgit.freedesktop.org/xorg/app/xvidtune" + homepage = "https://gitlab.freedesktop.org/xorg/app/xvidtune" xorg_mirror_path = "app/xvidtune-1.0.3.tar.gz" license("MIT") @@ -18,6 +18,8 @@ class Xvidtune(AutotoolsPackage, XorgPackage): version("1.0.4", sha256="e5982c9e6c5009f0061c187a9cc82368215bd004cfa464a3d738c90e1d258668") version("1.0.3", sha256="c0e158388d60e1ce054ce462958a46894604bd95e13093f3476ec6d9bbd786d4") + depends_on("c", type="build") # generated + depends_on("libxxf86vm") depends_on("libxt") depends_on("libxaw") diff --git a/var/spack/repos/builtin/packages/xvinfo/package.py b/var/spack/repos/builtin/packages/xvinfo/package.py index 5b1f3aabb1a773..a09ed8ca299b54 100644 --- a/var/spack/repos/builtin/packages/xvinfo/package.py +++ b/var/spack/repos/builtin/packages/xvinfo/package.py @@ -10,7 +10,7 @@ class Xvinfo(AutotoolsPackage, XorgPackage): """xvinfo prints out the capabilities of any video adaptors associated with the display that are accessible through the X-Video extension.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xvinfo" + homepage = "https://gitlab.freedesktop.org/xorg/app/xvinfo" xorg_mirror_path = "app/xvinfo-1.1.3.tar.gz" license("MIT") @@ -19,6 +19,8 @@ class Xvinfo(AutotoolsPackage, XorgPackage): version("1.1.4", sha256="43d06be36fe10f247295fbe2edf1062740064343f2228d6a61b4f9feac4f7396") version("1.1.3", sha256="1c1c2f97abfe114389e94399cc7bf3dfd802ed30ad41ba23921d005bd8a6c39f") + depends_on("c", type="build") # generated + depends_on("libxv") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xwd/package.py b/var/spack/repos/builtin/packages/xwd/package.py index 954b8b2d6d8d52..9f9fd8ccf7e55e 100644 --- a/var/spack/repos/builtin/packages/xwd/package.py +++ b/var/spack/repos/builtin/packages/xwd/package.py @@ -9,7 +9,7 @@ class Xwd(AutotoolsPackage, XorgPackage): """xwd - dump an image of an X window.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xwd" + homepage = "https://gitlab.freedesktop.org/xorg/app/xwd" xorg_mirror_path = "app/xwd-1.0.6.tar.gz" license("custom") @@ -18,6 +18,8 @@ class Xwd(AutotoolsPackage, XorgPackage): version("1.0.7", sha256="1c5e86806234a96a29c90be1872128293c6def5ba69ecb70e161efe325e2ba03") version("1.0.6", sha256="ff01f0a4b736f955aaf7c8c3942211bc52f9fb75d96f2b19777f33fff5dc5b83") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("libxkbfile") diff --git a/var/spack/repos/builtin/packages/xwidgets/package.py b/var/spack/repos/builtin/packages/xwidgets/package.py index aa108f75876e32..2ccdec69e0f35c 100644 --- a/var/spack/repos/builtin/packages/xwidgets/package.py +++ b/var/spack/repos/builtin/packages/xwidgets/package.py @@ -20,6 +20,8 @@ class Xwidgets(CMakePackage): version("master", branch="master") version("0.25.0", sha256="7b6d36999e3b926c40389167c48b33f234a075365f089f89571b33a160421d8e") + depends_on("cxx", type="build") # generated + depends_on("xtl@0.7.0:0.7", when="@0.25.0:") depends_on("xproperty@0.11.0:0.11", when="@0.25.0:") depends_on("xeus@1.0:1", when="@0.25.0:") diff --git a/var/spack/repos/builtin/packages/xwininfo/package.py b/var/spack/repos/builtin/packages/xwininfo/package.py index 7fb046f5f501c3..cbb43815696b65 100644 --- a/var/spack/repos/builtin/packages/xwininfo/package.py +++ b/var/spack/repos/builtin/packages/xwininfo/package.py @@ -10,7 +10,7 @@ class Xwininfo(AutotoolsPackage, XorgPackage): """xwininfo prints information about windows on an X server. Various information is displayed depending on which options are selected.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xwininfo" + homepage = "https://gitlab.freedesktop.org/xorg/app/xwininfo" xorg_mirror_path = "app/xwininfo-1.1.3.tar.gz" license("MIT") @@ -20,6 +20,8 @@ class Xwininfo(AutotoolsPackage, XorgPackage): version("1.1.4", sha256="3561f6c37eec416ad306f41ff24172b86cbed00854dff8912915e97d2cc17c34") version("1.1.3", sha256="784f8b9c9ddab24ce4faa65fde6430a8d7cf3c0564573582452cc99c599bd941") + depends_on("c", type="build") # generated + depends_on("libxcb@1.6:") depends_on("libx11") diff --git a/var/spack/repos/builtin/packages/xwud/package.py b/var/spack/repos/builtin/packages/xwud/package.py index 9a5098c512d0c4..a3aacae4a28b8a 100644 --- a/var/spack/repos/builtin/packages/xwud/package.py +++ b/var/spack/repos/builtin/packages/xwud/package.py @@ -10,13 +10,15 @@ class Xwud(AutotoolsPackage, XorgPackage): """xwud allows X users to display in a window an image saved in a specially formatted dump file, such as produced by xwd.""" - homepage = "https://cgit.freedesktop.org/xorg/app/xwud" + homepage = "https://gitlab.freedesktop.org/xorg/app/xwud" xorg_mirror_path = "app/xwud-1.0.4.tar.gz" version("1.0.6", sha256="262171b0c434966ddbbe8a54afb9615567ad74d4cc2e823e14e51e099ec3ab0d") version("1.0.5", sha256="24d51e236ec3d1dd57c73679136029a14808aee5a2edda152d61598ba018c697") version("1.0.4", sha256="b7c124ccd87f529daedb7ef01c670ce6049fe141fd9ba7f444361de34510cd6c") + depends_on("c", type="build") # generated + depends_on("libx11") depends_on("xproto@7.0.17:") diff --git a/var/spack/repos/builtin/packages/xxd-standalone/package.py b/var/spack/repos/builtin/packages/xxd-standalone/package.py index c0bf61e3c76574..7ba6f40e850f57 100644 --- a/var/spack/repos/builtin/packages/xxd-standalone/package.py +++ b/var/spack/repos/builtin/packages/xxd-standalone/package.py @@ -25,6 +25,9 @@ class XxdStandalone(MakefilePackage): version("8.2.1201", sha256="39032fe866f44724b104468038dc9ac4ff2c00a4b18c9a1e2c27064ab1f1143d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): mkdirp(prefix.bin) install(os.path.join(self.build_directory, "src", "xxd", "xxd"), prefix.bin) diff --git a/var/spack/repos/builtin/packages/xxdiff/package.py b/var/spack/repos/builtin/packages/xxdiff/package.py index 6acd871f836701..52fa2f0a3dbf57 100644 --- a/var/spack/repos/builtin/packages/xxdiff/package.py +++ b/var/spack/repos/builtin/packages/xxdiff/package.py @@ -19,6 +19,9 @@ class Xxdiff(MakefilePackage): version("master", branch="master") version("2023-01-10", commit="604300ea9875611726ba885fb14f872b964df579") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("flex@2.5.31:", type="build") depends_on("bison", type="build") depends_on("qt@5:", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/xxhash/package.py b/var/spack/repos/builtin/packages/xxhash/package.py index 1d9605426e2162..a4a94e56f39742 100644 --- a/var/spack/repos/builtin/packages/xxhash/package.py +++ b/var/spack/repos/builtin/packages/xxhash/package.py @@ -32,6 +32,9 @@ class Xxhash(MakefilePackage): version("0.5.1", sha256="0171af39eefa06be1e616bc43b250d13bba417e4741135ec85c1fe8dc391997d") version("0.5.0", sha256="9605cd18d40d798eb1262bc0c2a154e1a3c138a6a9a0c4c792e855d0c08c23e1") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + @property def build_targets(self): targets = [] diff --git a/var/spack/repos/builtin/packages/xyce/package.py b/var/spack/repos/builtin/packages/xyce/package.py index 7422419c30ac59..7d1631975c8683 100644 --- a/var/spack/repos/builtin/packages/xyce/package.py +++ b/var/spack/repos/builtin/packages/xyce/package.py @@ -60,6 +60,9 @@ class Xyce(CMakePackage): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("cmake@3.22:", type="build") depends_on("flex") depends_on("bison") diff --git a/var/spack/repos/builtin/packages/xz/package.py b/var/spack/repos/builtin/packages/xz/package.py index 70c0472860a01b..a5d4bbc89cecae 100644 --- a/var/spack/repos/builtin/packages/xz/package.py +++ b/var/spack/repos/builtin/packages/xz/package.py @@ -43,6 +43,8 @@ class Xz(MSBuildPackage, AutotoolsPackage, SourceforgePackage): version("5.2.1", sha256="679148f497e0bff2c1adce42dee5a23f746e71321c33ebb0f641a302e30c2a80") version("5.2.0", sha256="f7357d7455a1670229b3cca021da71dd5d13b789db62743c20624bdffc9cc4a5") + depends_on("c", type="build") # generated + variant("pic", default=False, description="Compile with position independent code.") variant( diff --git a/var/spack/repos/builtin/packages/yade/package.py b/var/spack/repos/builtin/packages/yade/package.py index eabbcc4ccd4b1c..5590d270a3a346 100644 --- a/var/spack/repos/builtin/packages/yade/package.py +++ b/var/spack/repos/builtin/packages/yade/package.py @@ -26,6 +26,8 @@ class Yade(CMakePackage): version("2017.01a", sha256="cd35caa6b6a017ee82f894e7d6f0826fddc1d921aea04b5896d3f1da95cb649b") version("2016.06a", sha256="6e7374d2dcb7c90026be9229a6b30373f9d82fdefd3dc1f952aa6262924f2579") + depends_on("cxx", type="build") # generated + depends_on("cmake", type="build") depends_on("gcc@11.4:", type=("build", "run")) depends_on("boost@1.47:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/yafyaml/package.py b/var/spack/repos/builtin/packages/yafyaml/package.py index 5959d295f292b8..5d2f4e3ff2a610 100644 --- a/var/spack/repos/builtin/packages/yafyaml/package.py +++ b/var/spack/repos/builtin/packages/yafyaml/package.py @@ -49,6 +49,8 @@ class Yafyaml(CMakePackage): version("0.5.1", sha256="7019460314e388b2d556db75d5eb734237a18494f79b921613addb96b7b7ce2f") version("0.5.0", sha256="8ac5d41b1020e9311ac87f50dbd61b9f3e3188f3599ce463ad59650208fdb8ad") + depends_on("fortran", type="build") # generated + depends_on("gftl-shared") depends_on("gftl") depends_on("cmake@3.12:", type="build") diff --git a/var/spack/repos/builtin/packages/yaksa/package.py b/var/spack/repos/builtin/packages/yaksa/package.py index e24ee70d050be5..7a3c16d023d5d9 100644 --- a/var/spack/repos/builtin/packages/yaksa/package.py +++ b/var/spack/repos/builtin/packages/yaksa/package.py @@ -29,6 +29,8 @@ class Yaksa(AutotoolsPackage, CudaPackage, ROCmPackage): version("0.3", sha256="c9e5291211bee8852831bb464f430ad5ba1541e31db5718a6fa2f2d3329fc2d9") version("0.2", sha256="9401cb6153dc8c34ddb9781bbabd418fd26b0a27b5da3294ecc21af7be9c86f2") + depends_on("c", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/yambo/package.py b/var/spack/repos/builtin/packages/yambo/package.py index 7df990c6f4425b..8b9609b7346059 100644 --- a/var/spack/repos/builtin/packages/yambo/package.py +++ b/var/spack/repos/builtin/packages/yambo/package.py @@ -28,6 +28,9 @@ class Yambo(AutotoolsPackage): version("4.2.1", sha256="8ccd0ca75cc32d9266d4a37edd2a7396cf5038f3a68be07c0f0f77d1afc72bdc") version("4.2.0", sha256="9f78c4237ff363ff4e9ea5eeea671b6fff783d9a6078cc31b0b1abeb1f040f4d") + depends_on("c", type="build") # generated + depends_on("fortran", type="build") # generated + variant("dp", default=False, description="Enable double precision") variant( "profile", diff --git a/var/spack/repos/builtin/packages/yaml-cpp/package.py b/var/spack/repos/builtin/packages/yaml-cpp/package.py index 5954481cff980c..4107b769dc7b7e 100644 --- a/var/spack/repos/builtin/packages/yaml-cpp/package.py +++ b/var/spack/repos/builtin/packages/yaml-cpp/package.py @@ -27,6 +27,8 @@ class YamlCpp(CMakePackage): version("0.5.3", sha256="decc5beabb86e8ed9ebeb04358d5363a5c4f72d458b2c788cb2f3ac9c19467b2") version("0.3.0", sha256="ab8d0e07aa14f10224ed6682065569761f363ec44bc36fcdb2946f6d38fe5a89") + depends_on("cxx", type="build") # generated + variant("shared", default=True, description="Build shared instead of static libraries") variant("pic", default=True, description="Build with position independent code") variant("tests", default=False, description="Build yaml-cpp tests using internal gtest") diff --git a/var/spack/repos/builtin/packages/yara/package.py b/var/spack/repos/builtin/packages/yara/package.py index e80978bd1c83db..7b2da9e1e8767d 100644 --- a/var/spack/repos/builtin/packages/yara/package.py +++ b/var/spack/repos/builtin/packages/yara/package.py @@ -17,6 +17,9 @@ class Yara(AutotoolsPackage): version("3.9.0", sha256="ebe7fab0abadb90449a62afbd24e196e18b177efe71ffd8bf22df95c5386f64d") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/yasm/package.py b/var/spack/repos/builtin/packages/yasm/package.py index 4c2f9ae8b690a4..46a921ac91e328 100644 --- a/var/spack/repos/builtin/packages/yasm/package.py +++ b/var/spack/repos/builtin/packages/yasm/package.py @@ -21,6 +21,8 @@ class Yasm(AutotoolsPackage): version("develop", branch="master") version("1.3.0", sha256="3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f") + depends_on("c", type="build") # generated + depends_on("autoconf", when="@develop") depends_on("automake", when="@develop") depends_on("libtool", when="@develop") diff --git a/var/spack/repos/builtin/packages/yoda/package.py b/var/spack/repos/builtin/packages/yoda/package.py index 9735ea9b5891d0..a545be413a6d75 100644 --- a/var/spack/repos/builtin/packages/yoda/package.py +++ b/var/spack/repos/builtin/packages/yoda/package.py @@ -73,6 +73,9 @@ class Yoda(AutotoolsPackage): version("1.0.4", sha256="697fe397c69689feecb2a731e19b2ff85e19343b8198c4f18a7064c4f7123950") version("1.0.3", sha256="6a1d1d75d9d74da457726ea9463c1b0b6ba38d4b43ef54e1c33f885e70fdae4b") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("root", default=False, description="Enable ROOT interface") depends_on("python", type=("build", "link", "run")) diff --git a/var/spack/repos/builtin/packages/yorick/package.py b/var/spack/repos/builtin/packages/yorick/package.py index fa3ef816f07b89..c4a97d688be80d 100644 --- a/var/spack/repos/builtin/packages/yorick/package.py +++ b/var/spack/repos/builtin/packages/yorick/package.py @@ -24,6 +24,10 @@ class Yorick(Package): version("2.2.04", sha256="4a4f3a18aed533cc5fadbb3d4bafb48f04834a22cbff6ad5c19d9dba74facbda") version("f90-plugin", branch="f90-plugin") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + variant("X", default=False, description="Enable X11 support") depends_on("libx11", when="+X") diff --git a/var/spack/repos/builtin/packages/yosys/package.py b/var/spack/repos/builtin/packages/yosys/package.py index 63d25d697ce3b0..e407d7a18a1e75 100644 --- a/var/spack/repos/builtin/packages/yosys/package.py +++ b/var/spack/repos/builtin/packages/yosys/package.py @@ -52,6 +52,9 @@ class Yosys(MakefilePackage): version("0.21", sha256="2b0e140f47d682e1069b1ca53b1fd91cbb1c1546932bd5cb95566f59a673cd8d") version("0.20", sha256="ee261487badf1b554616d555da8496a7c84ef21ae66a979ddd946b6949a780a4") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("abc", default=True, description="build with abc support") variant("ccache", default=False, description="build with ccache support") diff --git a/var/spack/repos/builtin/packages/z-checker/package.py b/var/spack/repos/builtin/packages/z-checker/package.py index fde46b05137a8c..87c22c954768a5 100644 --- a/var/spack/repos/builtin/packages/z-checker/package.py +++ b/var/spack/repos/builtin/packages/z-checker/package.py @@ -23,6 +23,9 @@ class ZChecker(AutotoolsPackage): version("0.6.0", sha256="b01c2c78157234a734c2f4c10a7ab82c329d3cd1a8389d597e09386fa33a3117") version("0.5.0", sha256="ad5e68472c511b393ee1ae67d2e3072a22004001cf19a14bd99a2e322a6ce7f9") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("mpi", default=False, description="Enable mpi compilation") depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/z3/package.py b/var/spack/repos/builtin/packages/z3/package.py index b42d46655abc8b..219fbe7b15ab75 100644 --- a/var/spack/repos/builtin/packages/z3/package.py +++ b/var/spack/repos/builtin/packages/z3/package.py @@ -28,6 +28,9 @@ class Z3(CMakePackage): version("4.8.7", sha256="8c1c49a1eccf5d8b952dadadba3552b0eac67482b8a29eaad62aa7343a0732c3") version("4.5.0", sha256="aeae1d239c5e06ac183be7dd853775b84698db1265cb2258e5918a28372d4a0c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("python", default=False, description="Enable python binding") depends_on("python", type="build", when="~python") depends_on("python", type=("build", "run"), when="+python") diff --git a/var/spack/repos/builtin/packages/zabbix/package.py b/var/spack/repos/builtin/packages/zabbix/package.py index 0d3b389b73360b..aeb8bfd1d11037 100644 --- a/var/spack/repos/builtin/packages/zabbix/package.py +++ b/var/spack/repos/builtin/packages/zabbix/package.py @@ -19,6 +19,9 @@ class Zabbix(AutotoolsPackage): version("4.0.24", sha256="c7e4962d745277d67797d90e124555ce27d198822a7e65c55d86aee45d3e93fc") version("4.0.23", sha256="652143614f52411cad47db64e93bf3ba1cd547d6ca9591296223b5f0528b3b61") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") diff --git a/var/spack/repos/builtin/packages/zerosum/package.py b/var/spack/repos/builtin/packages/zerosum/package.py index b7a5f8334cf975..01b16b70decf9c 100644 --- a/var/spack/repos/builtin/packages/zerosum/package.py +++ b/var/spack/repos/builtin/packages/zerosum/package.py @@ -21,6 +21,9 @@ class Zerosum(CMakePackage): version("main", branch="main") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("perfstubs", default=True, description="Enable PerfStubs support") variant("hwloc", default=True, description="Enable HWLOC support") variant("mpi", default=True, description="Enable MPI support") diff --git a/var/spack/repos/builtin/packages/zfp/package.py b/var/spack/repos/builtin/packages/zfp/package.py index 805c4dcafd3e82..00c671ddc9d4a4 100644 --- a/var/spack/repos/builtin/packages/zfp/package.py +++ b/var/spack/repos/builtin/packages/zfp/package.py @@ -43,6 +43,10 @@ class Zfp(CMakePackage, CudaPackage): url="https://github.com/LLNL/zfp/archive/0.5.1/zfp-0.5.1.tar.gz", ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + # Dependencies depends_on("cmake@3.9.0:", type="build") depends_on("cuda@7:", type=("build", "test", "run"), when="+cuda") diff --git a/var/spack/repos/builtin/packages/zfs/package.py b/var/spack/repos/builtin/packages/zfs/package.py index fb31c68811b315..b4197c639a4977 100644 --- a/var/spack/repos/builtin/packages/zfs/package.py +++ b/var/spack/repos/builtin/packages/zfs/package.py @@ -22,6 +22,8 @@ class Zfs(AutotoolsPackage): version("0.8.1", sha256="0af79fde44b7b8ecb94d5166ce2e4fff7409c20ed874c2d759db92909e6c2799") version("0.8.0", sha256="0fd92e87f4b9df9686f18e2ac707c16b2eeaf00f682d41c20ea519f3a0fe4705") + depends_on("c", type="build") # generated + depends_on("uuid") depends_on("libtirpc") depends_on("util-linux") diff --git a/var/spack/repos/builtin/packages/zig/package.py b/var/spack/repos/builtin/packages/zig/package.py index 87ada871d1bd62..aea0a86818ce81 100644 --- a/var/spack/repos/builtin/packages/zig/package.py +++ b/var/spack/repos/builtin/packages/zig/package.py @@ -17,12 +17,13 @@ class Zig(CMakePackage): license("MIT") + version("0.13.0", tag="0.13.0", commit="cf90dfd3098bef5b3c22d5ab026173b3c357f2dd") version("0.12.0", tag="0.12.0", commit="a685ab1499d6560c523f0dbce2890dc140671e43") version("0.11.0", tag="0.11.0", commit="67709b638224ac03820226c6744d8b6ead59184c") version("0.10.1", tag="0.10.1", commit="b57081f039bd3f8f82210e8896e336e3c3a6869b") - version( - "0.9.1", tag="0.9.1", commit="6d44a6222d6eba600deb7f16c124bfa30628fb60", deprecated=True - ) + + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated variant( "build_type", @@ -32,10 +33,10 @@ class Zig(CMakePackage): ) depends_on("llvm targets=all") - depends_on("llvm@13", when="@0.9.1") depends_on("llvm@15", when="@0.10.1") depends_on("llvm@16", when="@0.11.0") depends_on("llvm@17", when="@0.12.0") + depends_on("llvm@18", when="@0.13.0") depends_on("git", type="build") depends_on("ccache") diff --git a/var/spack/repos/builtin/packages/zip/11-typo-it-is-ambiguities-not-amgibuities.patch b/var/spack/repos/builtin/packages/zip/11-typo-it-is-ambiguities-not-amgibuities.patch new file mode 100644 index 00000000000000..aa61ba5fc5be19 --- /dev/null +++ b/var/spack/repos/builtin/packages/zip/11-typo-it-is-ambiguities-not-amgibuities.patch @@ -0,0 +1,26 @@ +From: Santiago Vila +Subject: manpage typo: amgibuities -> ambiguities +X-Debian-version: 3.0-12 + +--- a/man/zip.1 ++++ b/man/zip.1 +@@ -297,7 +297,7 @@ + If Zip64 support for large files and archives is enabled and + \fIzip\fR is used as a filter, \fIzip\fR creates a Zip64 archive + that requires a PKZIP 4.5 or later compatible unzip to read it. This is +-to avoid amgibuities in the zip file structure as defined in the current ++to avoid ambiguities in the zip file structure as defined in the current + zip standard (PKWARE AppNote) where the decision to use Zip64 needs to + be made before data is written for the entry, but for a stream the size + of the data is not known at that point. If the data is known to be smaller +--- a/zip.txt ++++ b/zip.txt +@@ -184,7 +184,7 @@ + + If Zip64 support for large files and archives is enabled and zip is + used as a filter, zip creates a Zip64 archive that requires a PKZIP 4.5 +- or later compatible unzip to read it. This is to avoid amgibuities in ++ or later compatible unzip to read it. This is to avoid ambiguities in + the zip file structure as defined in the current zip standard (PKWARE + AppNote) where the decision to use Zip64 needs to be made before data + is written for the entry, but for a stream the size of the data is not diff --git a/var/spack/repos/builtin/packages/zip/12-gcc14-no-implicit-declarations-fix.patch b/var/spack/repos/builtin/packages/zip/12-gcc14-no-implicit-declarations-fix.patch new file mode 100644 index 00000000000000..2f2f7c164b7c36 --- /dev/null +++ b/var/spack/repos/builtin/packages/zip/12-gcc14-no-implicit-declarations-fix.patch @@ -0,0 +1,71 @@ +diff --git a/unix/configure b/unix/configure +index 6a3d1d9..148a6d6 100644 +--- a/unix/configure ++++ b/unix/configure +@@ -509,17 +509,32 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null + # Check for missing functions + # add NO_'function_name' to flags if missing + +-for func in rmdir strchr strrchr rename mktemp mktime mkstemp ++for func_hdr in unistd/rmdir string/strchr string/strrchr stdio/renaae \ ++ stdlib/mktemp time/mktime stdlib/mkstemp + do +- echo Check for $func ++ hdr=${func_hdr%/*} ++ func=${func_hdr#*/} ++ echo -n Check for $func + echo "int main(){ $func(); return 0; }" > conftest.c + $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null +- [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`" +-done ++ if [ $? -ne 0 ] ; then ++ echo " ... in $hdr" ++ cat > conftest.c << _EOF_ ++#include <$hdr.h> ++int main(){ $func(); return 0; } ++_EOF_ ++ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`" ++ else ++ echo ++ fi ++ done + + + echo Check for memset +-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c ++cat > conftest.c << _EOF_ ++#include ++int main(){ char k; memset(&k,0,0); return 0; } ++_EOF_ + $CC -o conftest conftest.c >/dev/null 2>/dev/null + [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM" + +@@ -544,7 +559,7 @@ $CC -o conftest conftest.c >/dev/null 2>/dev/null + echo Check for errno declaration + cat > conftest.c << _EOF_ + #include +-main() ++int main() + { + errno = 0; + return 0; +@@ -556,6 +571,7 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null + + echo Check for directory libraries + cat > conftest.c << _EOF_ ++#include + int main() { return closedir(opendir(".")); } + _EOF_ + +diff --git a/timezone.c b/timezone.c +index 485ec02..325fd5a 100644 +--- a/timezone.c ++++ b/timezone.c +@@ -39,6 +39,7 @@ + + #include "zip.h" + #include "timezone.h" ++#include + #include + #include + diff --git a/var/spack/repos/builtin/packages/zip/package.py b/var/spack/repos/builtin/packages/zip/package.py index 67875af48221a6..3e387ec029053c 100644 --- a/var/spack/repos/builtin/packages/zip/package.py +++ b/var/spack/repos/builtin/packages/zip/package.py @@ -18,6 +18,8 @@ class Zip(MakefilePackage): version("3.0", sha256="f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369") + depends_on("c", type="build") # generated + depends_on("bzip2") # Upstream is unmaintained, get patches from: @@ -32,6 +34,11 @@ class Zip(MakefilePackage): patch("08-hardening-build-fix-1.patch") patch("09-hardening-build-fix-2.patch") patch("10-remove-build-date.patch") + patch("11-typo-it-is-ambiguities-not-amgibuities.patch") + + # Configure and header changes needed for comatibility with strict gcc14+ + # these are not from the debian branch + patch("12-gcc14-no-implicit-declarations-fix.patch", when="%gcc@14:") executables = ["^zip$"] diff --git a/var/spack/repos/builtin/packages/zlib-ng/package.py b/var/spack/repos/builtin/packages/zlib-ng/package.py index 6322d9769615b2..c8d8a98addd9c9 100644 --- a/var/spack/repos/builtin/packages/zlib-ng/package.py +++ b/var/spack/repos/builtin/packages/zlib-ng/package.py @@ -18,22 +18,17 @@ class ZlibNg(AutotoolsPackage, CMakePackage): license("Zlib") + version("2.2.1", sha256="ec6a76169d4214e2e8b737e0850ba4acb806c69eeace6240ed4481b9f5c57cdf") + version("2.1.7", sha256="59e68f67cbb16999842daeb517cdd86fc25b177b4affd335cd72b76ddc2a46d8") version("2.1.6", sha256="a5d504c0d52e2e2721e7e7d86988dec2e290d723ced2307145dedd06aeb6fef2") version("2.1.5", sha256="3f6576971397b379d4205ae5451ff5a68edf6c103b2f03c4188ed7075fbb5f04") version("2.1.4", sha256="a0293475e6a44a3f6c045229fe50f69dc0eebc62a42405a51f19d46a5541e77a") - version( - "2.1.3", - sha256="d20e55f89d71991c59f1c5ad1ef944815e5850526c0d9cd8e504eaed5b24491a", - deprecated=True, - ) - version( - "2.1.2", - sha256="383560d6b00697c04e8878e26c0187b480971a8bce90ffd26a5a7b0f7ecf1a33", - deprecated=True, - ) version("2.0.7", sha256="6c0853bb27738b811f2b4d4af095323c3d5ce36ceed6b50e5f773204fb8f7200") version("2.0.0", sha256="86993903527d9b12fc543335c19c1d33a93797b3d4d37648b5addae83679ecd8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("compat", default=True, description="Enable compatibility API") variant("opt", default=True, description="Enable optimizations") variant("shared", default=True, description="Build shared library") @@ -49,15 +44,7 @@ class ZlibNg(AutotoolsPackage, CMakePackage): # reused. build_system("autotools", "cmake", default="autotools") - # rpath shenanigans, see https://github.com/zlib-ng/zlib-ng/pull/1546 - with when("@2.1.3"): - patch("pr-1546.patch", when="platform=darwin") - patch("pr-1542.patch") # fix sse4.2 detection - patch("pr-1561.patch", when="build_system=autotools") # drop bash dependency - patch("pr-1562.patch") # improve intrinsics detection - # fix building with NVHPC, see https://github.com/zlib-ng/zlib-ng/pull/1698 - # (@2.1.0:2.1.3 need the same changes but in a different file) patch("pr-1698.patch", when="@2.1.4:%nvhpc+opt") with when("build_system=cmake"): @@ -80,7 +67,6 @@ def flag_handler(self, name, flags): class AutotoolsBuilder(autotools.AutotoolsBuilder): - @run_before("configure") def pretend_gcc(self): # All nice things (PIC flags, symbol versioning) that happen to the compilers that are diff --git a/var/spack/repos/builtin/packages/zlib-ng/pr-1542.patch b/var/spack/repos/builtin/packages/zlib-ng/pr-1542.patch deleted file mode 100644 index 675c2c1a3d0ac5..00000000000000 --- a/var/spack/repos/builtin/packages/zlib-ng/pr-1542.patch +++ /dev/null @@ -1,224 +0,0 @@ -From 8c5d5eca51d9e4cd9aa046dba8f939b3f4012256 Mon Sep 17 00:00:00 2001 -From: Hans Kristian Rosbach -Date: Fri, 21 Jul 2023 13:43:15 +0200 -Subject: [PATCH 1/3] Clean up SSE4.2 support, and no longer use asm fallback - or gcc builtin. - -Defines changing meaning: -X86_SSE42 used to mean the compiler supports crc asm fallback. -X86_SSE42_CRC_INTRIN used to mean compiler supports SSE4.2 intrinsics. - -X86_SSE42 now means compiler supports SSE4.2 intrinsics. - -This therefore also fixes the adler32_sse42 checks, since those were depending -on SSE4.2 intrinsics but was mistakenly checking the X86_SSE42 define. -Now the X86_SSE42 define actually means what it appears to. ---- - CMakeLists.txt | 5 +---- - arch/x86/insert_string_sse42.c | 36 +++++---------------------------- - cmake/detect-intrinsics.cmake | 23 +++------------------ - configure | 37 ++++++++-------------------------- - win32/Makefile.msc | 1 - - 5 files changed, 17 insertions(+), 85 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 420a5c78..1e42239a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -827,15 +827,12 @@ if(WITH_OPTIM) - endif() - if(WITH_SSE42) - check_sse42_intrinsics() -- if(HAVE_SSE42CRC_INLINE_ASM OR HAVE_SSE42CRC_INTRIN) -+ if(HAVE_SSE42_INTRIN) - add_definitions(-DX86_SSE42) - set(SSE42_SRCS ${ARCHDIR}/adler32_sse42.c ${ARCHDIR}/insert_string_sse42.c) - add_feature_info(SSE42_CRC 1 "Support SSE4.2 optimized CRC hash generation, using \"${SSE42FLAG}\"") - list(APPEND ZLIB_ARCH_SRCS ${SSE42_SRCS}) - set_property(SOURCE ${SSE42_SRCS} PROPERTY COMPILE_FLAGS "${SSE42FLAG} ${NOLTOFLAG}") -- if(HAVE_SSE42CRC_INTRIN) -- add_definitions(-DX86_SSE42_CRC_INTRIN) -- endif() - else() - set(WITH_SSE42 OFF) - endif() -diff --git a/arch/x86/insert_string_sse42.c b/arch/x86/insert_string_sse42.c -index 565d92f9..ae092a7e 100644 ---- a/arch/x86/insert_string_sse42.c -+++ b/arch/x86/insert_string_sse42.c -@@ -5,38 +5,13 @@ - * - */ - -+#ifdef X86_SSE42 - #include "../../zbuild.h" --#include --#ifdef _MSC_VER --# include --#endif -+#include - #include "../../deflate.h" - --#ifdef X86_SSE42_CRC_INTRIN --# ifdef _MSC_VER --# define HASH_CALC(s, h, val)\ -- h = _mm_crc32_u32(h, val) --# else --# define HASH_CALC(s, h, val)\ -- h = __builtin_ia32_crc32si(h, val) --# endif --#else --# ifdef _MSC_VER --# define HASH_CALC(s, h, val) {\ -- __asm mov edx, h\ -- __asm mov eax, val\ -- __asm crc32 eax, edx\ -- __asm mov h, eax\ -- } --# else --# define HASH_CALC(s, h, val) \ -- __asm__ __volatile__ (\ -- "crc32 %1,%0\n\t"\ -- : "+r" (h)\ -- : "r" (val)\ -- ); --# endif --#endif -+#define HASH_CALC(s, h, val)\ -+ h = _mm_crc32_u32(h, val) - - #define HASH_CALC_VAR h - #define HASH_CALC_VAR_INIT uint32_t h = 0 -@@ -45,6 +20,5 @@ - #define INSERT_STRING insert_string_sse42 - #define QUICK_INSERT_STRING quick_insert_string_sse42 - --#ifdef X86_SSE42 --# include "../../insert_string_tpl.h" -+#include "../../insert_string_tpl.h" - #endif -diff --git a/cmake/detect-intrinsics.cmake b/cmake/detect-intrinsics.cmake -index 9cbc5908..52c54dc8 100644 ---- a/cmake/detect-intrinsics.cmake -+++ b/cmake/detect-intrinsics.cmake -@@ -481,35 +481,18 @@ macro(check_sse42_intrinsics) - set(SSE42FLAG "-msse4.2") - endif() - endif() -- # Check whether compiler supports SSE4.2 CRC inline asm -+ # Check whether compiler supports SSE4.2 intrinsics - set(CMAKE_REQUIRED_FLAGS "${SSE42FLAG} ${NATIVEFLAG}") - check_c_source_compile_or_run( -- "int main(void) { -- unsigned val = 0, h = 0; -- #if defined(_MSC_VER) -- { __asm mov edx, h __asm mov eax, val __asm crc32 eax, edx __asm mov h, eax } -- #else -- __asm__ __volatile__ ( \"crc32 %1,%0\" : \"+r\" (h) : \"r\" (val) ); -- #endif -- return (int)h; -- }" -- HAVE_SSE42CRC_INLINE_ASM -- ) -- # Check whether compiler supports SSE4.2 CRC intrinsics -- check_c_source_compile_or_run( -- "#include -+ "#include - int main(void) { - unsigned crc = 0; - char c = 'c'; -- #if defined(_MSC_VER) - crc = _mm_crc32_u32(crc, c); -- #else -- crc = __builtin_ia32_crc32qi(crc, c); -- #endif - (void)crc; - return 0; - }" -- HAVE_SSE42CRC_INTRIN -+ HAVE_SSE42_INTRIN - ) - set(CMAKE_REQUIRED_FLAGS) - endmacro() -diff --git a/configure b/configure -index 8714590e..6b4e7fff 100755 ---- a/configure -+++ b/configure -@@ -1431,38 +1431,23 @@ EOF - } - - check_sse42_intrinsics() { -- # Check whether compiler supports SSE4.2 CRC inline asm -- cat > $test.c << EOF --int main(void) { -- unsigned val = 0, h = 0; -- __asm__ __volatile__ ( "crc32 %1,%0" : "+r" (h) : "r" (val) ); -- return (int) h; --} --EOF -- if try ${CC} ${CFLAGS} ${sse42flag} $test.c; then -- echo "Checking for SSE4.2 CRC inline assembly ... Yes." | tee -a configure.log -- HAVE_SSE42CRC_INLINE_ASM=1 -- else -- echo "Checking for SSE4.2 CRC inline assembly ... No." | tee -a configure.log -- HAVE_SSE42CRC_INLINE_ASM=0 -- fi -- -- # Check whether compiler supports SSE4.2 CRC intrinsics -+ # Check whether compiler supports SSE4.2 intrinsics - cat > $test.c << EOF -+#include - int main(void) { - unsigned crc = 0; - char c = 'c'; -- crc = __builtin_ia32_crc32qi(crc, c); -+ crc = _mm_crc32_u32(crc, c); - (void)crc; - return 0; - } - EOF - if try ${CC} ${CFLAGS} ${sse42flag} $test.c; then -- echo "Checking for SSE4.2 CRC intrinsics ... Yes." | tee -a configure.log -- HAVE_SSE42CRC_INTRIN=1 -+ echo "Checking for SSE4.2 intrinsics ... Yes." | tee -a configure.log -+ HAVE_SSE42_INTRIN=1 - else -- echo "Checking for SSE4.2 CRC intrinsics ... No." | tee -a configure.log -- HAVE_SSE42CRC_INTRIN=0 -+ echo "Checking for SSE4.2 intrinsics ... No." | tee -a configure.log -+ HAVE_SSE42_INTRIN=0 - fi - } - -@@ -1606,15 +1591,9 @@ case "${ARCH}" in - - check_sse42_intrinsics - -- if test ${HAVE_SSE42CRC_INTRIN} -eq 1 || test ${HAVE_SSE42CRC_INLINE_ASM} -eq 1; then -+ if test ${HAVE_SSE42_INTRIN} -eq 1; then - CFLAGS="${CFLAGS} -DX86_SSE42" - SFLAGS="${SFLAGS} -DX86_SSE42" -- -- if test ${HAVE_SSE42CRC_INTRIN} -eq 1; then -- CFLAGS="${CFLAGS} -DX86_SSE42_CRC_INTRIN" -- SFLAGS="${SFLAGS} -DX86_SSE42_CRC_INTRIN" -- fi -- - ARCH_STATIC_OBJS="${ARCH_STATIC_OBJS} adler32_sse42.o insert_string_sse42.o" - ARCH_SHARED_OBJS="${ARCH_SHARED_OBJS} adler32_sse42.lo insert_string_sse42.lo" - fi -diff --git a/win32/Makefile.msc b/win32/Makefile.msc -index 9ed26f28..3035072b 100644 ---- a/win32/Makefile.msc -+++ b/win32/Makefile.msc -@@ -31,7 +31,6 @@ WFLAGS = \ - -DX86_PCLMULQDQ_CRC \ - -DX86_SSE2 \ - -DX86_SSE42 \ -- -DX86_SSE42_CRC_INTRIN \ - -DX86_SSSE3 \ - -DX86_AVX2 - --- -2.39.2 - diff --git a/var/spack/repos/builtin/packages/zlib-ng/pr-1546.patch b/var/spack/repos/builtin/packages/zlib-ng/pr-1546.patch deleted file mode 100644 index 8966cdd36bf439..00000000000000 --- a/var/spack/repos/builtin/packages/zlib-ng/pr-1546.patch +++ /dev/null @@ -1,182 +0,0 @@ -From 101bc10dcef8d2cb45a51534180c7134001b07a9 Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Mon, 24 Jul 2023 09:37:57 +0200 -Subject: [PATCH 1/3] Relative paths CMAKE_INSTALL_*, absolute paths - CMAKE_INSTALL_FULL_*; use @rpath/libname as install name on macOS - ---- - CMakeLists.txt | 46 ++-------------------------------------------- - configure | 7 +------ - test/pkgcheck.sh | 2 +- - 3 files changed, 4 insertions(+), 51 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 003e66db7..46b85bc48 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -951,36 +951,8 @@ if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) - endif() - endif() - --# Refer to prefix symbolically to ease relocation by end user, --# as Makefile-generated .pc file does. --string(FIND "${CMAKE_INSTALL_INCLUDEDIR}" "${CMAKE_INSTALL_PREFIX}/" INCLUDEDIR_POS) --string(FIND "${CMAKE_INSTALL_LIBDIR}" "${CMAKE_INSTALL_PREFIX}/" LIBDIR_POS) --string(LENGTH "${CMAKE_INSTALL_PREFIX}/" INSTALL_PREFIX_LEN) -- --if(NOT IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") -- set(PC_INC_INSTALL_DIR "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") --elseif(INCLUDEDIR_POS EQUAL 0) -- string(SUBSTRING "${CMAKE_INSTALL_INCLUDEDIR}" "${INSTALL_PREFIX_LEN}" "-1" INCLUDEDIR_RELATIVE) -- set(PC_INC_INSTALL_DIR "\${prefix}/${INCLUDEDIR_RELATIVE}") --else() -- set(PC_INC_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}") --endif() -- --if(APPLE) -- option(WITH_RPATH "Enable RPATH for shared library" OFF) --endif() --if(NOT IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") -- if(APPLE AND WITH_RPATH) -- set(PC_LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") -- else() -- set(PC_LIB_INSTALL_DIR "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") -- endif() --elseif(LIBDIR_POS EQUAL 0) -- string(SUBSTRING "${CMAKE_INSTALL_LIBDIR}" "${INSTALL_PREFIX_LEN}" "-1" LIBDIR_RELATIVE) -- set(PC_LIB_INSTALL_DIR "\${exec_prefix}/${LIBDIR_RELATIVE}") --else() -- set(PC_LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") --endif() -+set(PC_INC_INSTALL_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}") -+set(PC_LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}") - - #============================================================================ - # zlib -@@ -1142,11 +1114,6 @@ if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS) - if(NOT APPLE) - set_target_properties(zlib PROPERTIES LINK_FLAGS - "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib${SUFFIX}.map\"") -- elseif(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}" OR NOT WITH_RPATH) -- # Match configure/make's behavior (i.e. don't use @rpath on mac when using absolute path). -- set_target_properties(zlib PROPERTIES INSTALL_NAME_DIR "@rpath/${CMAKE_INSTALL_FULL_LIBDIR}") -- else() -- set_target_properties(zlib PROPERTIES INSTALL_NAME_DIR "@rpath/${CMAKE_INSTALL_LIBDIR}") - endif() - endif() - if(MSYS) -@@ -1183,11 +1150,6 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zlib${SUFFIX}.h.in - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/gzread.c.in - ${CMAKE_CURRENT_BINARY_DIR}/gzread.c @ONLY) - --# Fix install directory after generating zlib.pc/zlib-ng.pc --if (NOT IS_ABSOLUTE CMAKE_INSTALL_LIBDIR AND WITH_RPATH) -- set(CMAKE_INSTALL_LIBDIR "/${CMAKE_INSTALL_LIBDIR}") --endif() -- - if (NOT ZLIB_SYMBOL_PREFIX STREQUAL "") - add_feature_info(ZLIB_SYMBOL_PREFIX ON "Publicly exported symbols have a custom prefix") - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zlib_name_mangling${SUFFIX}.h.in -@@ -1286,8 +1248,4 @@ endif() - - add_feature_info(INSTALL_UTILS INSTALL_UTILS "Copy minigzip and minideflate during install") - --if(APPLE) -- add_feature_info(WITH_RPATH WITH_RPATH "Enable RPATH for shared library") --endif() -- - FEATURE_SUMMARY(WHAT ALL INCLUDE_QUIET_PACKAGES) -diff --git a/configure b/configure -index 29a64badf..6881f7af5 100755 ---- a/configure -+++ b/configure -@@ -513,12 +513,7 @@ if test "$gcc" -eq 1 && ($cc $CFLAGS -c $test.c) >> configure.log 2>&1; then - SHAREDLIBM=${LIBNAME}.$VER1$shared_ext - SHAREDTARGET=$SHAREDLIBV - LDSHARED=${LDSHARED-"$cc"} -- case ${libdir} in -- /*) -- LDSHAREDFLAGS="-dynamiclib -install_name ${libdir}/${SHAREDLIBM} -compatibility_version ${VER1} -current_version ${VER3}" ;; -- *) -- LDSHAREDFLAGS="-dynamiclib -install_name @rpath/${libdir}/${SHAREDLIBM} -compatibility_version ${VER1} -current_version ${VER3}" ;; -- esac -+ LDSHAREDFLAGS="-dynamiclib -install_name @rpath/${SHAREDLIBM} -compatibility_version ${VER1} -current_version ${VER3}" - if libtool -V 2>&1 | grep Apple > /dev/null; then - AR="libtool" - else -diff --git a/test/pkgcheck.sh b/test/pkgcheck.sh -index 629f98ade..6641b300a 100644 ---- a/test/pkgcheck.sh -+++ b/test/pkgcheck.sh -@@ -81,7 +81,7 @@ Darwin) - sysctl -n machdep.cpu.features - sysctl -n machdep.cpu.leaf7_features - sysctl -n machdep.cpu.extfeatures -- CMAKE_ARGS="-DCMAKE_INSTALL_LIBDIR=lib -DPKGCONFIG_INSTALL_DIR=/lib/pkgconfig -DWITH_RPATH=on ${CMAKE_ARGS}" -+ CMAKE_ARGS="-DCMAKE_INSTALL_LIBDIR=lib ${CMAKE_ARGS}" - CONFIGURE_ARGS="--libdir=lib ${CONFIGURE_ARGS}" - ;; - *) - -From c6fbd1459eda454402c3450c670b7e538233b8d4 Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Mon, 24 Jul 2023 11:37:31 +0200 -Subject: [PATCH 2/3] relocatable pc files by default, while allowing - discouraged absolute paths for CMAKE_INSTALL_[LIB|INCLUDE]DIR - ---- - CMakeLists.txt | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 46b85bc48..1894d10d5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -951,8 +951,19 @@ if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) - endif() - endif() - --set(PC_INC_INSTALL_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}") --set(PC_LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}") -+# The user is allowed (but discouraged) to set absolute CMAKE_INSTALL_*DIR paths. -+# If they do, we copy these non-relocatable paths into the pkg-config file. -+if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") -+ set(PC_INC_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}") -+else() -+ set(PC_INC_INSTALL_DIR "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") -+endif() -+ -+if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") -+ set(PC_LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") -+else() -+ set(PC_LIB_INSTALL_DIR "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") -+endif() - - #============================================================================ - # zlib - -From 0bae8f7d8379e5863b7c9328f0d71a87a33ca02f Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Mon, 24 Jul 2023 10:20:32 +0200 -Subject: [PATCH 3/3] Remove relative configure --lib - ---- - test/pkgcheck.sh | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/test/pkgcheck.sh b/test/pkgcheck.sh -index 6641b300a..94a67a191 100644 ---- a/test/pkgcheck.sh -+++ b/test/pkgcheck.sh -@@ -81,11 +81,6 @@ Darwin) - sysctl -n machdep.cpu.features - sysctl -n machdep.cpu.leaf7_features - sysctl -n machdep.cpu.extfeatures -- CMAKE_ARGS="-DCMAKE_INSTALL_LIBDIR=lib ${CMAKE_ARGS}" -- CONFIGURE_ARGS="--libdir=lib ${CONFIGURE_ARGS}" -- ;; --*) -- CMAKE_ARGS="-DCMAKE_INSTALL_LIBDIR=lib ${CMAKE_ARGS}" - ;; - esac - diff --git a/var/spack/repos/builtin/packages/zlib-ng/pr-1561.patch b/var/spack/repos/builtin/packages/zlib-ng/pr-1561.patch deleted file mode 100644 index f87aea684bd916..00000000000000 --- a/var/spack/repos/builtin/packages/zlib-ng/pr-1561.patch +++ /dev/null @@ -1,210 +0,0 @@ -From f6fb1d350a7b8210cc9c45ed502b3cc34e4dac32 Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Mon, 21 Aug 2023 10:13:10 +0200 -Subject: [PATCH 2/3] PR #1561 - ---- - configure | 50 +++++++++++++++++++++++++------------------------- - 1 file changed, 25 insertions(+), 25 deletions(-) - -diff --git a/configure b/configure -index 6b4e7fff..fc78a135 100755 ---- a/configure -+++ b/configure -@@ -1,4 +1,4 @@ --#!/usr/bin/env bash -+#!/bin/sh - # configure script for zlib. - # - # Normally configure builds both a static and a shared library. -@@ -230,13 +230,13 @@ test=ztest$$ - # put arguments in log, also put test file in log if used in arguments - show() - { -- case "$*" in -+ case "$@" in - *$test.c*) - echo "=== $test.c ===" >> configure.log - cat $test.c >> configure.log - echo "===" >> configure.log;; - esac -- echo $* >> configure.log -+ echo "$@" >> configure.log - } - - # check for gcc vs. cc and set compile and link flags based on the system identified by uname -@@ -246,7 +246,7 @@ int main() {return getchar();} - EOF - - cc=${CC-${CROSS_PREFIX}gcc} --echo -n "Checking for compiler... " | tee -a configure.log -+printf "Checking for compiler... " | tee -a configure.log - case "$cc" in - *gcc*) gcc=1 ;; - *clang*) gcc=1 ;; -@@ -401,7 +401,7 @@ if test "$gcc" -eq 1 && ($cc $CFLAGS -c $test.c) >> configure.log 2>&1; then - SFLAGS="${SFLAGS} -DNDEBUG" - fi - if test -z "$uname"; then -- uname=$((uname -s || echo unknown) 2>/dev/null) -+ uname=$( (uname -s || echo unknown) 2>/dev/null) - fi - case "$uname" in - Linux* | linux* | GNU | GNU/* | solaris*) -@@ -483,7 +483,7 @@ if test "$gcc" -eq 1 && ($cc $CFLAGS -c $test.c) >> configure.log 2>&1; then - fi - RC="${CROSS_PREFIX}windres" - RCFLAGS="-I ${BUILDDIR}" -- if [ "$CC" == "mingw32-gcc" ]; then -+ if [ "$CC" = "mingw32-gcc" ]; then - case $ARCH in - i386 | i486 | i586 | i686) RCFLAGS="${RCFLAGS} -F pe-i386";; - esac; -@@ -498,7 +498,7 @@ if test "$gcc" -eq 1 && ($cc $CFLAGS -c $test.c) >> configure.log 2>&1; then - HP-UX*) - LDSHARED=${LDSHARED-"$cc"} - LDSHAREDFLAGS="-shared" -- case $((uname -m || echo unknown) 2>/dev/null) in -+ case $( (uname -m || echo unknown) 2>/dev/null) in - ia64) - shared_ext='.so' - SHAREDLIB='${LIBNAME}.so' ;; -@@ -539,14 +539,14 @@ else - gcc=0 - echo "$CC" | tee -a configure.log - if test -z "$uname"; then -- uname=$((uname -sr || echo unknown) 2>/dev/null) -+ uname=$( (uname -sr || echo unknown) 2>/dev/null) - fi - case "$uname" in - HP-UX*) SFLAGS=${CFLAGS-"-O +z"} - CFLAGS=${CFLAGS-"-O"} - LDSHARED=${LDSHARED-"ld"} - LDSHAREDFLAGS="-b" -- case $((uname -m || echo unknown) 2>/dev/null) in -+ case $( (uname -m || echo unknown) 2>/dev/null) in - ia64) - shared_ext='.so' - SHAREDLIB='${LIBNAME}.so' ;; -@@ -591,15 +591,15 @@ EOF - if ($CC -c $CFLAGS $test.c) 2>/dev/null; then - try() - { -- show $* -- test "$(\( $* \) 2>&1 | tee -a configure.log)" = "" -+ show "$@" -+ test "$( ("$@") 2>&1 | tee -a configure.log)" = "" - } - echo - using any output from compiler to indicate an error >> configure.log - else - try() - { -- show $* -- ( $* ) >> configure.log 2>&1 -+ show "$@" -+ ( "$@" ) >> configure.log 2>&1 - ret=$? - if test $ret -ne 0; then - echo "(exit code $ret)" >> configure.log -@@ -627,7 +627,7 @@ extern int getchar(); - int hello() {return getchar();} - EOF - if test $shared -eq 1; then -- echo -n "Checking for shared library support... " | tee -a configure.log -+ printf "Checking for shared library support... " | tee -a configure.log - # we must test in two steps (cc then ld), required at least on SunOS 4.x - if try $CC -w -c $SFLAGS $test.c && - try $LDSHARED $LDSHAREDFLAGS $LDFLAGS -o $test$shared_ext $test.o $LDSHAREDLIBC; then -@@ -784,7 +784,7 @@ fi - # Rename @ZLIB_SYMBOL_PREFIX@ to $symbol_prefix in gzread.c, zlib.h and zlib_name_mangling.h - sed < $SRCDIR/gzread.c.in "s/@ZLIB_SYMBOL_PREFIX@/$symbol_prefix/g" > gzread.c - sed < $SRCDIR/zlib${SUFFIX}.h.in "s/@ZLIB_SYMBOL_PREFIX@/$symbol_prefix/g" > zlib${SUFFIX}.h --if [[ ! -z $symbol_prefix ]]; then -+if [ ! -z "$symbol_prefix" ]; then - sed < $SRCDIR/zlib_name_mangling${SUFFIX}.h.in "s/@ZLIB_SYMBOL_PREFIX@/$symbol_prefix/g" > zlib_name_mangling${SUFFIX}.h - else - # symbol_prefix is not set, copy the empty mangling header -@@ -814,7 +814,7 @@ fi - echo >> configure.log - - # check for ptrdiff_t and save result in zconf.h --echo -n "Checking for ptrdiff_t... " | tee -a configure.log -+printf "Checking for ptrdiff_t... " | tee -a configure.log - cat > $test.c < - int fun(ptrdiff_t *a) { (void)a; return 0; } -@@ -826,7 +826,7 @@ else - sed < zconf${SUFFIX}.h "/^#ifdef NEED_PTRDIFF_T.* may be/s/def NEED_PTRDIFF_T\(.*\) may be/ 1\1 was/" > zconf${SUFFIX}.temp.h - mv zconf${SUFFIX}.temp.h zconf${SUFFIX}.h - -- echo -n "Checking for sizeof(void *)... " | tee -a configure.log -+ printf "Checking for sizeof(void *)... " | tee -a configure.log - cat > $test.c < - #define COMPILE_TIME_ASSERT(pred) struct s { int x: (pred) ? 1 : -1; } -@@ -864,7 +864,7 @@ if test $compat -eq 1; then - esac - fi - --if [[ ! -z $DEFFILE ]]; then -+if [ ! -z "$DEFFILE" ]; then - mkdir -p win32 - sed < $SRCDIR/$DEFFILE.in "s/@ZLIB_SYMBOL_PREFIX@/$symbol_prefix/g" > $DEFFILE - fi -@@ -1476,14 +1476,14 @@ EOF - - check_vgfma_intrinsics() { - # Check whether "VECTOR GALOIS FIELD MULTIPLY SUM AND ACCUMULATE" intrinsic is available -- echo -n "Checking for -mzarch... " | tee -a configure.log -+ printf "Checking for -mzarch... " | tee -a configure.log - if try $CC -x c -c /dev/null -o /dev/null -mzarch; then - echo Yes. | tee -a configure.log - vgfmaflag="${vgfmaflag} -mzarch" - else - echo No. | tee -a configure.log - fi -- echo -n "Checking for -fzvector... " | tee -a configure.log -+ printf "Checking for -fzvector... " | tee -a configure.log - if try $CC -x c -c /dev/null -o /dev/null -fzvector; then - echo Yes. | tee -a configure.log - vgfmaflag="${vgfmaflag} -fzvector" -@@ -1500,7 +1500,7 @@ int main(void) { - return c[0]; - } - EOF -- echo -n "Checking for VGFMA support... " | tee -a configure.log -+ printf "Checking for VGFMA support... " | tee -a configure.log - if try $CC -c $CFLAGS $vgfmaflag $test.c; then - HAVE_VGFMA_INTRIN=1 - echo "Yes." | tee -a configure.log -@@ -2156,11 +2156,11 @@ for file in $SRCDIR/*.c $SRCDIR/test/*.c $SRCDIR/test/fuzz/*.c $SRCDIR/$ARCHDIR/ - # Check that the include file exists in the current dir, - # otherwise it may be one of the system include header. - if test -e $SRCDIR/$i; then -- echo -n " \$(SRCDIR)/$i" -+ printf " \$(SRCDIR)/$i" - fi - # We also need to check whether the include file is in the ARCHDIR. - if test -e $SRCDIR/$ARCHDIR/$i; then -- echo -n " \$(SRCDIR)/$ARCHDIR/$i" -+ printf " \$(SRCDIR)/$ARCHDIR/$i" - fi - done) - obj=$(basename $(echo $file | sed -e 's/\.c/\.o/g' -e 's#^\./##g')) -@@ -2233,11 +2233,11 @@ for file in $SRCDIR/$ARCHDIR/*.c; do - # Check that the include file exists in the current dir, - # otherwise it may be one of the system include header. - if test -e $SRCDIR/$i; then -- echo -n " \$(SRCTOP)/$i" -+ printf " \$(SRCTOP)/$i" - fi - # We also need to check whether the include file is in the ARCHDIR. - if test -e $SRCDIR/$ARCHDIR/$i; then -- echo -n " \$(SRCDIR)/$i" -+ printf " \$(SRCDIR)/$i" - fi - done) - obj=$(basename $(echo $file | sed -e 's/\.c/\.o/g' -e 's#^\./##g')) --- -2.39.2 - diff --git a/var/spack/repos/builtin/packages/zlib-ng/pr-1562.patch b/var/spack/repos/builtin/packages/zlib-ng/pr-1562.patch deleted file mode 100644 index 70806e900c36c5..00000000000000 --- a/var/spack/repos/builtin/packages/zlib-ng/pr-1562.patch +++ /dev/null @@ -1,432 +0,0 @@ -From 13df84c54aaf06cc7aeb1813ef60b17591d29ea3 Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Mon, 21 Aug 2023 11:10:29 +0200 -Subject: [PATCH 3/3] PR #1562 - ---- - cmake/detect-intrinsics.cmake | 118 ++++++++++++---------------------- - configure | 115 ++++++++++----------------------- - 2 files changed, 73 insertions(+), 160 deletions(-) - -diff --git a/cmake/detect-intrinsics.cmake b/cmake/detect-intrinsics.cmake -index 52c54dc8..d476093f 100644 ---- a/cmake/detect-intrinsics.cmake -+++ b/cmake/detect-intrinsics.cmake -@@ -62,28 +62,19 @@ macro(check_avx512_intrinsics) - set(CMAKE_REQUIRED_FLAGS "${AVX512FLAG} ${NATIVEFLAG}") - check_c_source_compile_or_run( - "#include -- int main(void) { -- __m512i x = _mm512_set1_epi8(2); -- const __m512i y = _mm512_set_epi32(0x1020304, 0x5060708, 0x90a0b0c, 0xd0e0f10, -- 0x11121314, 0x15161718, 0x191a1b1c, 0x1d1e1f20, -- 0x21222324, 0x25262728, 0x292a2b2c, 0x2d2e2f30, -- 0x31323334, 0x35363738, 0x393a3b3c, 0x3d3e3f40); -- x = _mm512_sub_epi8(x, y); -- (void)x; -- return 0; -- }" -+ __m512i f(__m512i y) { -+ __m512i x = _mm512_set1_epi8(2); -+ return _mm512_sub_epi8(x, y); -+ } -+ int main(void) { return 0; }" - HAVE_AVX512_INTRIN - ) - - # Evidently both GCC and clang were late to implementing these - check_c_source_compile_or_run( - "#include -- int main(void) { -- __mmask16 a = 0xFF; -- a = _knot_mask16(a); -- (void)a; -- return 0; -- }" -+ __mmask16 f(__mmask16 x) { return _knot_mask16(x); } -+ int main(void) { return 0; }" - HAVE_MASK_INTRIN - ) - set(CMAKE_REQUIRED_FLAGS) -@@ -117,17 +108,11 @@ macro(check_avx512vnni_intrinsics) - set(CMAKE_REQUIRED_FLAGS "${AVX512VNNIFLAG} ${NATIVEFLAG}") - check_c_source_compile_or_run( - "#include -- int main(void) { -- __m512i x = _mm512_set1_epi8(2); -- const __m512i y = _mm512_set_epi8(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, -- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -- 56, 57, 58, 59, 60, 61, 62, 63, 64); -+ __m512i f(__m512i x, __m512i y) { - __m512i z = _mm512_setzero_epi32(); -- z = _mm512_dpbusd_epi32(z, x, y); -- (void)z; -- return 0; -- }" -+ return _mm512_dpbusd_epi32(z, x, y); -+ } -+ int main(void) { return 0; }" - HAVE_AVX512VNNI_INTRIN - ) - set(CMAKE_REQUIRED_FLAGS) -@@ -151,13 +136,11 @@ macro(check_avx2_intrinsics) - set(CMAKE_REQUIRED_FLAGS "${AVX2FLAG} ${NATIVEFLAG}") - check_c_source_compile_or_run( - "#include -- int main(void) { -- __m256i x = _mm256_set1_epi16(2); -+ __m256i f(__m256i x) { - const __m256i y = _mm256_set1_epi16(1); -- x = _mm256_subs_epu16(x, y); -- (void)x; -- return 0; -- }" -+ return _mm256_subs_epu16(x, y); -+ } -+ int main(void) { return 0; }" - HAVE_AVX2_INTRIN - ) - set(CMAKE_REQUIRED_FLAGS) -@@ -204,12 +187,8 @@ macro(check_neon_ld4_intrinsics) - #else - # include - #endif -- int main(void) { -- int stack_var[16]; -- int32x4x4_t v = vld1q_s32_x4(stack_var); -- (void)v; -- return 0; -- }" -+ int32x4x4_t f(int var[16]) { return vld1q_s32_x4(var); } -+ int main(void) { return 0; }" - NEON_HAS_LD4) - set(CMAKE_REQUIRED_FLAGS) - endmacro() -@@ -226,13 +205,9 @@ macro(check_pclmulqdq_intrinsics) - set(CMAKE_REQUIRED_FLAGS "${PCLMULFLAG} ${NATIVEFLAG}") - check_c_source_compile_or_run( - "#include -- int main(void) { -- __m128i a = _mm_setzero_si128(); -- __m128i b = _mm_setzero_si128(); -- __m128i c = _mm_clmulepi64_si128(a, b, 0x10); -- (void)c; -- return 0; -- }" -+ #include -+ __m128i f(__m128i a, __m128i b) { return _mm_clmulepi64_si128(a, b, 0x10); } -+ int main(void) { return 0; }" - HAVE_PCLMULQDQ_INTRIN - ) - set(CMAKE_REQUIRED_FLAGS) -@@ -252,13 +227,12 @@ macro(check_vpclmulqdq_intrinsics) - set(CMAKE_REQUIRED_FLAGS "${VPCLMULFLAG} ${NATIVEFLAG}") - check_c_source_compile_or_run( - "#include -- int main(void) { -- __m512i a = _mm512_setzero_si512(); -+ #include -+ __m512i f(__m512i a) { - __m512i b = _mm512_setzero_si512(); -- __m512i c = _mm512_clmulepi64_epi128(a, b, 0x10); -- (void)c; -- return 0; -- }" -+ return _mm512_clmulepi64_epi128(a, b, 0x10); -+ } -+ int main(void) { return 0; }" - HAVE_VPCLMULQDQ_INTRIN - ) - set(CMAKE_REQUIRED_FLAGS) -@@ -431,11 +405,8 @@ macro(check_sse2_intrinsics) - set(CMAKE_REQUIRED_FLAGS "${SSE2FLAG} ${NATIVEFLAG}") - check_c_source_compile_or_run( - "#include -- int main(void) { -- __m128i zero = _mm_setzero_si128(); -- (void)zero; -- return 0; -- }" -+ __m128i f(__m128i x, __m128i y) { return _mm_sad_epu8(x, y); } -+ int main(void) { return 0; }" - HAVE_SSE2_INTRIN - ) - set(CMAKE_REQUIRED_FLAGS) -@@ -457,14 +428,11 @@ macro(check_ssse3_intrinsics) - set(CMAKE_REQUIRED_FLAGS "${SSSE3FLAG} ${NATIVEFLAG}") - check_c_source_compile_or_run( - "#include -- int main(void) { -- __m128i u, v, w; -- u = _mm_set1_epi32(1); -- v = _mm_set1_epi32(2); -- w = _mm_hadd_epi32(u, v); -- (void)w; -- return 0; -- }" -+ __m128i f(__m128i u) { -+ __m128i v = _mm_set1_epi32(1); -+ return _mm_hadd_epi32(u, v); -+ } -+ int main(void) { return 0; }" - HAVE_SSSE3_INTRIN - ) - endmacro() -@@ -485,13 +453,8 @@ macro(check_sse42_intrinsics) - set(CMAKE_REQUIRED_FLAGS "${SSE42FLAG} ${NATIVEFLAG}") - check_c_source_compile_or_run( - "#include -- int main(void) { -- unsigned crc = 0; -- char c = 'c'; -- crc = _mm_crc32_u32(crc, c); -- (void)crc; -- return 0; -- }" -+ unsigned int f(unsigned int a, unsigned int b) { return _mm_crc32_u32(a, b); } -+ int main(void) { return 0; }" - HAVE_SSE42_INTRIN - ) - set(CMAKE_REQUIRED_FLAGS) -@@ -529,13 +492,12 @@ macro(check_xsave_intrinsics) - set(CMAKE_REQUIRED_FLAGS "${XSAVEFLAG} ${NATIVEFLAG}") - check_c_source_compiles( - "#ifdef _WIN32 -- # include -- #else -- # include -- #endif -- int main(void) { -- return _xgetbv(0); -- }" -+ # include -+ #else -+ # include -+ #endif -+ unsigned int f(unsigned int a) { return _xgetbv(a); } -+ int main(void) { return 0; }" - HAVE_XSAVE_INTRIN FAIL_REGEX "not supported") - set(CMAKE_REQUIRED_FLAGS) - endmacro() -diff --git a/configure b/configure -index fc78a135..e5a1965f 100755 ---- a/configure -+++ b/configure -@@ -1023,12 +1023,8 @@ fi - - # Check for __builtin_ctz() support in compiler - cat > $test.c << EOF --int main(void) { -- unsigned int zero = 0; -- long test = __builtin_ctz(zero); -- (void)test; -- return 0; --} -+long f(unsigned int x) { return __builtin_ctz(x); } -+int main(void) { return 0; } - EOF - if try ${CC} ${CFLAGS} $test.c $LDSHAREDLIBC; then - echo "Checking for __builtin_ctz ... Yes." | tee -a configure.log -@@ -1040,12 +1036,8 @@ fi - - # Check for __builtin_ctzll() support in compiler - cat > $test.c << EOF --int main(void) { -- unsigned long long zero = 0; -- long test = __builtin_ctzll(zero); -- (void)test; -- return 0; --} -+long f(unsigned long long x) { return __builtin_ctzll(x); } -+int main(void) { return 0; } - EOF - if try ${CC} ${CFLAGS} $test.c $LDSHAREDLIBC; then - echo "Checking for __builtin_ctzll ... Yes." | tee -a configure.log -@@ -1059,13 +1051,11 @@ check_avx2_intrinsics() { - # Check whether compiler supports AVX2 intrinsics - cat > $test.c << EOF - #include --int main(void) { -- __m256i x = _mm256_set1_epi16(2); -+__m256i f(__m256i x) { - const __m256i y = _mm256_set1_epi16(1); -- x = _mm256_subs_epu16(x, y); -- (void)x; -- return 0; -+ return _mm256_subs_epu16(x, y); - } -+int main(void) { return 0; } - EOF - if try ${CC} ${CFLAGS} ${avx2flag} $test.c; then - echo "Checking for AVX2 intrinsics ... Yes." | tee -a configure.log -@@ -1080,16 +1070,11 @@ check_avx512_intrinsics() { - # Check whether compiler supports AVX512 intrinsics - cat > $test.c << EOF - #include --int main(void) { -- __m512i x = _mm512_set1_epi8(2); -- const __m512i y = _mm512_set_epi32(0x1020304, 0x5060708, 0x90a0b0c, 0xd0e0f10, -- 0x11121314, 0x15161718, 0x191a1b1c, 0x1d1e1f20, -- 0x21222324, 0x25262728, 0x292a2b2c, 0x2d2e2f30, -- 0x31323334, 0x35363738, 0x393a3b3c, 0x3d3e3f40); -- x = _mm512_sub_epi8(x, y); -- (void)x; -- return 0; -+__m512i f(__m512i y) { -+ __m512i x = _mm512_set1_epi8(2); -+ return _mm512_sub_epi8(x, y); - } -+int main(void) { return 0; } - EOF - if try ${CC} ${CFLAGS} ${avx512flag} $test.c; then - echo "Checking for AVX512 intrinsics ... Yes." | tee -a configure.log -@@ -1133,17 +1118,11 @@ check_avx512vnni_intrinsics() { - # Check whether compiler supports AVX512-VNNI intrinsics - cat > $test.c << EOF - #include --int main(void) { -- __m512i x = _mm512_set1_epi8(2); -- const __m512i y = _mm512_set_epi8(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, -- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -- 56, 57, 58, 59, 60, 61, 62, 63, 64); -+__m512i f(__m512i x, __m512i y) { - __m512i z = _mm512_setzero_epi32(); -- z = _mm512_dpbusd_epi32(z, x, y); -- (void)z; -- return 0; -+ return _mm512_dpbusd_epi32(z, x, y); - } -+int main(void) { return 0; } - EOF - if try ${CC} ${CFLAGS} ${avx512vnniflag} $test.c; then - echo "Checking for AVX512VNNI intrinsics ... Yes." | tee -a configure.log -@@ -1158,12 +1137,8 @@ check_mask_intrinsics() { - # Check whether compiler supports AVX512 k-mask intrinsics - cat > $test.c << EOF - #include --int main(void) { -- __mmask16 a = 0xFF; -- a = _knot_mask16(a); -- (void)a; -- return 0; --} -+__mmask16 f(__mmask16 x) { return _knot_mask16(x); } -+int main(void) { return 0; } - EOF - if try ${CC} ${CFLAGS} ${avx512flag} $test.c; then - echo "Checking for AVX512 k-mask intrinsics ... Yes." | tee -a configure.log -@@ -1230,12 +1205,8 @@ check_neon_ld4_intrinsics() { - #else - # include - #endif --int main(void) { -- int stack_var[16]; -- int32x4x4_t v = vld1q_s32_x4(stack_var); -- (void)v; -- return 0; --} -+int32x4x4_t f(int var[16]) { return vld1q_s32_x4(var); } -+int main(void) { return 0; } - EOF - if try $CC -c $CFLAGS $neonflag $test.c; then - NEON_HAS_LD4=1 -@@ -1251,13 +1222,8 @@ check_pclmulqdq_intrinsics() { - cat > $test.c << EOF - #include - #include --int main(void) { -- __m128i a = _mm_setzero_si128(); -- __m128i b = _mm_setzero_si128(); -- __m128i c = _mm_clmulepi64_si128(a, b, 0x10); -- (void)c; -- return 0; --} -+__m128i f(__m128i a, __m128i b) { return _mm_clmulepi64_si128(a, b, 0x10); } -+int main(void) { return 0; } - EOF - if try ${CC} ${CFLAGS} ${pclmulflag} $test.c; then - echo "Checking for PCLMULQDQ intrinsics ... Yes." | tee -a configure.log -@@ -1273,13 +1239,11 @@ check_vpclmulqdq_intrinsics() { - cat > $test.c << EOF - #include - #include --int main(void) { -- __m512i a = _mm512_setzero_si512(); -+__m512i f(__m512i a) { - __m512i b = _mm512_setzero_si512(); -- __m512i c = _mm512_clmulepi64_epi128(a, b, 0x10); -- (void)c; -- return 0; -+ return _mm512_clmulepi64_epi128(a, b, 0x10); - } -+int main(void) { return 0; } - EOF - if try ${CC} ${CFLAGS} ${vpclmulflag} $test.c; then - echo "Checking for VPCLMULQDQ intrinsics ... Yes." | tee -a configure.log -@@ -1298,9 +1262,8 @@ check_xsave_intrinsics() { - #else - # include - #endif --int main(void) { -- return _xgetbv(0); --} -+unsigned int f(unsigned int a) { return _xgetbv(a); } -+int main(void) { return 0; } - EOF - if try ${CC} ${CFLAGS} ${xsaveflag} $test.c; then - echo "Checking for XSAVE intrinsics ... Yes." | tee -a configure.log -@@ -1415,11 +1378,8 @@ check_sse2_intrinsics() { - # Check whether compiler supports SSE2 intrinsics - cat > $test.c << EOF - #include --int main(void) { -- __m128i zero = _mm_setzero_si128(); -- (void)zero; -- return 0; --} -+__m128i f(__m128i x, __m128i y) { return _mm_sad_epu8(x, y); } -+int main(void) { return 0; } - EOF - if try ${CC} ${CFLAGS} ${sse2flag} $test.c; then - echo "Checking for SSE2 intrinsics ... Yes." | tee -a configure.log -@@ -1434,13 +1394,8 @@ check_sse42_intrinsics() { - # Check whether compiler supports SSE4.2 intrinsics - cat > $test.c << EOF - #include --int main(void) { -- unsigned crc = 0; -- char c = 'c'; -- crc = _mm_crc32_u32(crc, c); -- (void)crc; -- return 0; --} -+unsigned int f(unsigned int a, unsigned int b) { return _mm_crc32_u32(a, b); } -+int main(void) { return 0; } - EOF - if try ${CC} ${CFLAGS} ${sse42flag} $test.c; then - echo "Checking for SSE4.2 intrinsics ... Yes." | tee -a configure.log -@@ -1455,15 +1410,11 @@ check_ssse3_intrinsics() { - # Check whether compiler supports SSSE3 intrinsics - cat > $test.c << EOF - #include --int main(void) --{ -- __m128i u, v, w; -- u = _mm_set1_epi32(1); -- v = _mm_set1_epi32(2); -- w = _mm_hadd_epi32(u, v); -- (void)w; -- return 0; -+__m128i f(__m128i u) { -+ __m128i v = _mm_set1_epi32(1); -+ return _mm_hadd_epi32(u, v); - } -+int main(void) { return 0; } - EOF - if try ${CC} ${CFLAGS} ${ssse3flag} $test.c; then - echo "Checking for SSSE3 intrinsics ... Yes." | tee -a configure.log --- -2.39.2 - diff --git a/var/spack/repos/builtin/packages/zlib/package.py b/var/spack/repos/builtin/packages/zlib/package.py index 0e6813e2550d3e..32a40fb31dfd68 100644 --- a/var/spack/repos/builtin/packages/zlib/package.py +++ b/var/spack/repos/builtin/packages/zlib/package.py @@ -8,6 +8,7 @@ # The AutotoolsPackage causes zlib to fail to build with PGI import glob import os +import re import spack.build_systems.generic import spack.build_systems.makefile @@ -24,6 +25,9 @@ class Zlib(MakefilePackage, Package): url = "http://zlib.net/fossils/zlib-1.2.11.tar.gz" git = "https://github.com/madler/zlib.git" + tags = ["core-packages"] + libraries = ["libz", "zlib", "zlibstatic", "zlibd", "zlibstaticd"] + version("1.3.1", sha256="9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23") version("1.3", sha256="ff0ba4c292013dbc27530b3a81e1f9a813cd39de01ca5e0f8bf355702efa593e") version("1.2.13", sha256="b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30") @@ -48,6 +52,9 @@ class Zlib(MakefilePackage, Package): deprecated=True, ) + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + build_system("makefile", conditional("generic", when="platform=windows"), default="makefile") variant("pic", default=True, description="Produce position-independent code (for shared libs)") @@ -63,6 +70,18 @@ class Zlib(MakefilePackage, Package): license("Zlib") + @classmethod + def determine_version(cls, lib): + for library in cls.libraries: + for ext in library_extensions: + if ext == "dylib": + pattern = re.compile(rf"{library}\.(\d+\.\d+\.\d+)\.{ext}") + else: + pattern = re.compile(rf"{library}\.{ext}\.(\d+\.\d+\.\d+)") + match = re.search(pattern, lib) + if match: + return match.group(1) + @property def libs(self): shared = "+shared" in self.spec diff --git a/var/spack/repos/builtin/packages/zoltan/package.py b/var/spack/repos/builtin/packages/zoltan/package.py index 63427a6a9000c5..86121f412e65e6 100644 --- a/var/spack/repos/builtin/packages/zoltan/package.py +++ b/var/spack/repos/builtin/packages/zoltan/package.py @@ -28,6 +28,10 @@ class Zoltan(AutotoolsPackage): version("3.901", sha256="030c22d9f7532d3076e40cba1f03a63b2ee961d8cc9a35149af4a3684922a910") version("3.83", sha256="17320a9f08e47f30f6f3846a74d15bfea6f3c1b937ca93c0ab759ca02c40e56c") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + depends_on("fortran", type="build") # generated + patch("notparallel.patch", when="@3.8") variant("debug", default=False, description="Builds a debug version of the library.") diff --git a/var/spack/repos/builtin/packages/zookeeper/package.py b/var/spack/repos/builtin/packages/zookeeper/package.py index edac1784e72827..12d4e37eb90575 100644 --- a/var/spack/repos/builtin/packages/zookeeper/package.py +++ b/var/spack/repos/builtin/packages/zookeeper/package.py @@ -19,5 +19,8 @@ class Zookeeper(Package): version("3.4.11", sha256="f6bd68a1c8f7c13ea4c2c99f13082d0d71ac464ffaf3bf7a365879ab6ad10e84") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def install(self, spec, prefix): install_tree(".", prefix) diff --git a/var/spack/repos/builtin/packages/zopfli/package.py b/var/spack/repos/builtin/packages/zopfli/package.py index b1ec085cfb6230..8e5931a67d011a 100644 --- a/var/spack/repos/builtin/packages/zopfli/package.py +++ b/var/spack/repos/builtin/packages/zopfli/package.py @@ -19,6 +19,9 @@ class Zopfli(CMakePackage): version("1.0.3", sha256="e955a7739f71af37ef3349c4fa141c648e8775bceb2195be07e86f8e638814bd") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + def cmake_args(self): args = [self.define_from_variant("ZOPFLI_BUILD_SHARED", "shared")] diff --git a/var/spack/repos/builtin/packages/zsh/package.py b/var/spack/repos/builtin/packages/zsh/package.py index 913c83a73e0d40..7f7af8a24daa5c 100644 --- a/var/spack/repos/builtin/packages/zsh/package.py +++ b/var/spack/repos/builtin/packages/zsh/package.py @@ -26,6 +26,8 @@ class Zsh(AutotoolsPackage): version("5.3.1", sha256="fc886cb2ade032d006da8322c09a7e92b2309177811428b121192d44832920da") version("5.1.1", sha256="74e9453b5470b3c0970f9f93cfd603d241c3d7b1968adc0e4b3951073e8d3dec") + depends_on("c", type="build") # generated + # Testing for terminal related things causes failures in e.g. Jenkins. # See e.g. https://www.zsh.org/mla/users/2003/msg00845.html, # although the name of the option has evolved since then. diff --git a/var/spack/repos/builtin/packages/zstd/package.py b/var/spack/repos/builtin/packages/zstd/package.py index 5944e105b8a11f..e6b97661e27ee3 100644 --- a/var/spack/repos/builtin/packages/zstd/package.py +++ b/var/spack/repos/builtin/packages/zstd/package.py @@ -41,6 +41,9 @@ class Zstd(CMakePackage, MakefilePackage): version("1.3.0", sha256="0fdba643b438b7cbce700dcc0e7b3e3da6d829088c63757a5984930e2f70b348") version("1.1.2", sha256="980b8febb0118e22f6ed70d23b5b3e600995dbf7489c1f6d6122c1411cdda8d8") + depends_on("c", type="build") # generated + depends_on("cxx", type="build") # generated + variant("programs", default=False, description="Build executables") variant( "libs", diff --git a/var/spack/repos/builtin/packages/zstr/package.py b/var/spack/repos/builtin/packages/zstr/package.py index 26131cecf4764d..e056d9aea9452d 100644 --- a/var/spack/repos/builtin/packages/zstr/package.py +++ b/var/spack/repos/builtin/packages/zstr/package.py @@ -24,6 +24,8 @@ class Zstr(Package): version("1.0.1", sha256="e17e67e00ede182504b3165cebd802420770541465d4ba41df1a15bf4c2a63b7") version("1.0.0", sha256="9f4fa8cb0d2cbba03dfe67900c48b6e75c8380d9263a0ac71d795f11e0224b96") + depends_on("cxx", type="build") # generated + depends_on("zlib-api") def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/zziplib/package.py b/var/spack/repos/builtin/packages/zziplib/package.py index 13fc3fee33fef0..fbccabdc7de1f4 100644 --- a/var/spack/repos/builtin/packages/zziplib/package.py +++ b/var/spack/repos/builtin/packages/zziplib/package.py @@ -20,6 +20,8 @@ class Zziplib(AutotoolsPackage, CMakePackage): version("0.13.72", sha256="93ef44bf1f1ea24fc66080426a469df82fa631d13ca3b2e4abaeab89538518dc") version("0.13.69", sha256="846246d7cdeee405d8d21e2922c6e97f55f24ecbe3b6dcf5778073a88f120544") + depends_on("c", type="build") # generated + patch("python2to3.patch", when="@:0.13.69") # Switch to CMake from 0.13.70, first working release is 0.13.71 diff --git a/var/spack/repos/compiler_runtime.test/packages/gcc/package.py b/var/spack/repos/compiler_runtime.test/packages/gcc/package.py index ef28e411d304d5..6d8decc26b2dca 100644 --- a/var/spack/repos/compiler_runtime.test/packages/gcc/package.py +++ b/var/spack/repos/compiler_runtime.test/packages/gcc/package.py @@ -30,3 +30,6 @@ def runtime_constraints(cls, *, spec, pkg): ) # The version of gcc-runtime is the same as the %gcc used to "compile" it pkg("gcc-runtime").requires(f"@={str(spec.version)}", when=f"%{str(spec)}") + + # If a node used %gcc@X.Y its dependencies must use gcc-runtime@:X.Y + pkg("*").propagate(f"%gcc@:{str(spec.version)}", when=f"%{str(spec)}") diff --git a/var/spack/repos/compiler_runtime.test/packages/a/package.py b/var/spack/repos/compiler_runtime.test/packages/pkg-a/package.py similarity index 87% rename from var/spack/repos/compiler_runtime.test/packages/a/package.py rename to var/spack/repos/compiler_runtime.test/packages/pkg-a/package.py index 01cb6fe3ccc9ae..22ca47cf130330 100644 --- a/var/spack/repos/compiler_runtime.test/packages/a/package.py +++ b/var/spack/repos/compiler_runtime.test/packages/pkg-a/package.py @@ -5,9 +5,9 @@ from spack.package import * -class A(Package): +class PkgA(Package): homepage = "http://www.example.com" has_code = False version("1.0") - depends_on("b") + depends_on("pkg-b") diff --git a/var/spack/repos/compiler_runtime.test/packages/b/package.py b/var/spack/repos/compiler_runtime.test/packages/pkg-b/package.py similarity index 93% rename from var/spack/repos/compiler_runtime.test/packages/b/package.py rename to var/spack/repos/compiler_runtime.test/packages/pkg-b/package.py index e840a363a5c476..d4147bf47e646f 100644 --- a/var/spack/repos/compiler_runtime.test/packages/b/package.py +++ b/var/spack/repos/compiler_runtime.test/packages/pkg-b/package.py @@ -5,7 +5,7 @@ from spack.package import * -class B(Package): +class PkgB(Package): homepage = "http://www.example.com" has_code = False