Compare commits

...

39 Commits

Author SHA1 Message Date
dependabot[bot]
53b8f91c02 build(deps): bump docker/login-action from 3.2.0 to 3.3.0 (#45378)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](0d4c9c5ea7...9780b0c442)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-24 13:40:12 -04:00
Todd Gamblin
a841ddd00c spack pkg grep: don't warn when grepping for quoted strings (#45412)
The `Executable` class emits a warning when you pass quoted arguments to it:

```
> spack pkg grep '"namespace"'
==> Warning: Quotes in command arguments can confuse scripts like configure.
  The following arguments may cause problems when executed:
      "namespace"
  Quotes aren't needed because spack doesn't use a shell. Consider removing them.
  If multiple levels of quotation are required, use `ignore_quotes=True`.
```

This is to warn new package authors who aren't used to calling build commands in python.
It's not useful for `spack pkg grep`, where we really are passing args on the command
line, and if we pass a quoted string, we probably meant to.

- [x] make `ignore_quotes` an instance variable, not just an argument to ``__call__`
- [x] set `ignore_quotes` to `True` in `spack pkg grep`

Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-07-24 08:11:32 -07:00
snehring
39455768b2 hybpiper: change package type, add version 2.1.8 (#45262)
Signed-off-by: Shane Nehring <snehring@iastate.edu>
2024-07-24 09:16:54 -05:00
afzpatel
e529a454eb CI: add ML ROCm stack (#45302)
* add ML ROCm stack

* add suggested changes

* remove py-torch and py-tensorflow-estimator

* add TF_ROCM_AMDGPU_TARGETS env variable and remove packages from pipeline

* remove py-jax and py-xgboost
2024-07-24 16:16:15 +02:00
AcriusWinter
1b5dc396e3 uftrace: change to executable declaration (#45403) 2024-07-23 18:32:06 -06:00
Wouter Deconinck
15a3ac0512 py-arrow: add v1.3.0 (switch to flit-core) (#45123) 2024-07-23 17:50:21 -06:00
Thomas Applencourt
52f149266f ruby: add v3.3.4 (#45334)
* Ruby Add 3.3.4

* Update package.py

* Update package.py
2024-07-23 17:38:52 -06:00
Teague Sterling
8d33c2e7c0 generate-ninja: new package (#45391)
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
2024-07-23 14:47:04 -07:00
Karol Krizka
b3d82dc3a8 ROOT should add_include_path virtual glu for consistency. (#45057) 2024-07-23 14:12:54 -05:00
eugeneswalker
0fb44529bb e4s rocm external ci stack: upgrade to v6.1.2 (#45356)
* e4s rocm external ci stack: upgrade to v6.1.2

* magma: add rocm-core 6.1.2
2024-07-23 09:52:52 -07:00
dependabot[bot]
6ea944bf17 build(deps): bump pytest from 8.2.2 to 8.3.1 in /lib/spack/docs (#45377)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.2.2 to 8.3.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.2.2...8.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-23 11:53:55 -04:00
dependabot[bot]
8c6177c47f build(deps): bump sphinx from 7.4.6 to 7.4.7 in /lib/spack/docs (#45376)
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 7.4.6 to 7.4.7.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v7.4.6...v7.4.7)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-23 11:53:43 -04:00
dependabot[bot]
b65d9f1524 build(deps): bump docker/setup-buildx-action from 3.4.0 to 3.5.0 (#45379)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](4fd812986e...aa33708b10)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-23 11:53:18 -04:00
dependabot[bot]
03e5dddf24 build(deps): bump docker/build-push-action from 6.4.1 to 6.5.0 (#45380)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.4.1 to 6.5.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](1ca370b3a9...5176d81f87)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-23 11:53:04 -04:00
dependabot[bot]
7bb892f7b3 build(deps): bump docker/setup-qemu-action from 3.1.0 to 3.2.0 (#45381)
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](5927c834f5...49b3bc8e6b)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-23 11:52:42 -04:00
Wouter Deconinck
66ed8ebbd9 gh: convert to GoPackage (#45351)
* gh: convert to GoPackage

* gh: fix style
2024-07-23 11:49:05 -04:00
Wouter Deconinck
0d326f83b6 GoPackage: default -modcacherw to ensure stage cleanup (#45350) 2024-07-23 11:48:52 -04:00
Dom Heinzeller
fc0955b125 Update and clean up hdf-eos2 package.py to fix build errors with Intel oneAPI (#45399) 2024-07-23 07:54:12 -07:00
Mikael Simberg
13ba1b96c3 fmt: add 11.0.2 (#45396) 2024-07-23 07:46:45 -07:00
Mikael Simberg
d66d169027 Remove # generated comments from many packages, add some missing depends_on("cxx") (#45395) 2024-07-23 10:31:22 +02:00
Manuela Kuhn
6decd6aaa1 py-mne-bids: add new package (#45374) 2024-07-22 17:11:18 -06:00
AcriusWinter
3c0ffa8652 uftrace: new test API, add 0.16 with libtraceevent, fix build (#45364)
Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2024-07-22 16:31:38 -06:00
Christoph Junghans
4917e3f664 votca: add v2024.1 (#45341) 2024-07-22 14:22:46 -06:00
Adam J. Stewart
b2a14b456e py-numpy: add v2.0.1 (#45354) 2024-07-22 14:04:09 -06:00
Teague Sterling
ab1580a37f linux-pam: add v1.5.1, v1.5.3, v1.6.0, v1.6.1 and additional variants (#45344)
* package/linux-pam: dependencies
* Adding variants to linux-pam
* Updating linux-pam variants
* Fixing variants for linux-pam after testing
* clean up flag handling
* clean up terrible tabs
* cant use default_args for compiler dependencies
* Change selinux to off by default

---------

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
2024-07-22 12:57:39 -07:00
Teague Sterling
c1f979cd54 libwnck: new package (#44641) 2024-07-22 21:27:45 +02:00
Teague Sterling
d124338ecb libgudev: new package (#44639) 2024-07-22 21:24:42 +02:00
Brad Geltz
d001f14514 geopm: Add v3.1 and update the needed dependencies (#44793) 2024-07-22 21:23:11 +02:00
Jordan Galby
c43205d6de asciidoc: Fix asciidoc@10 install (#44926) 2024-07-22 21:16:08 +02:00
snehring
54f1af5a29 libint: Fix build for 2.6.0, add libs property (#45034)
Signed-off-by: Shane Nehring <snehring@iastate.edu>
2024-07-22 20:55:34 +02:00
Alex Seaton
350661f027 heyoka: add current 4.0.x and 5.0.0 releases (#45314) 2024-07-22 20:16:39 +02:00
Philipp Edelmann
3699df2651 rayleigh: add v1.2.0 (#45333) 2024-07-22 20:05:44 +02:00
Andrew W Elble
63197fea3e dedisp: fix preinstall: it only takes self (#45328)
too many arguments here, only takes "self".
2024-07-22 20:00:14 +02:00
Martin Lang
f044194b06 libvdwxc: Fix configure with gcc-14 (#45093) 2024-07-22 19:54:49 +02:00
William Moses
29302c13e9 Update Enzyme to 0.0.135 (#45346) 2024-07-22 09:35:40 -07:00
Diego Alvarez S.
c4808de2ff Add nextflow 24.04.3 (#45357) 2024-07-22 09:29:46 -07:00
Alex Leute
c390a4530e py-colored: Added new version (#45361) 2024-07-22 09:17:13 -07:00
Teague Sterling
be771d5d6f node-js: add v17.9.1, v20.15.0, v21.7.3, v22.3.0, v22.4.0 (#45007)
* Adding new versions and compilation conflict for nodejs
* Update failed version for gcc14
* Updating conflicts notes for correctness/clarity/format
* Applying spack-ized versions of fix in https://github.com/nodejs/node/issues/52223 to adddress CI failures
* Update fix-old-glibc-random-headers.patch
* Update package.py
* Update fix-old-glibc-random-headers.patch
* Update fix-old-glibc-random-headers.patch
* Adding conflict for older glibc
* Fixing patch for older systems, need to undef
* Removing overly strict conflicts

---------

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
2024-07-22 08:32:34 -07:00
Wouter Deconinck
8b45fa089e geant4: support Qt5 and Qt6 (#45352)
* geant4: support qt5 and qt6
* geant4: update conflict msg
2024-07-22 13:38:46 +01:00
60 changed files with 871 additions and 273 deletions

View File

@@ -93,13 +93,13 @@ jobs:
path: dockerfiles
- name: Set up QEMU
uses: docker/setup-qemu-action@5927c834f5b4fdf503fca6f4c7eccda82949e1ee
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4
uses: docker/setup-buildx-action@aa33708b10e362ff993539393ff100fa93ed6a27
- name: Log in to GitHub Container Registry
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
with:
registry: ghcr.io
username: ${{ github.actor }}
@@ -107,13 +107,13 @@ jobs:
- name: Log in to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build & Deploy ${{ matrix.dockerfile[0] }}
uses: docker/build-push-action@1ca370b3a9802c92e886402e0dd88098a2533b12
uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445
with:
context: dockerfiles/${{ matrix.dockerfile[0] }}
platforms: ${{ matrix.dockerfile[1] }}

View File

@@ -1,4 +1,4 @@
sphinx==7.4.6
sphinx==7.4.7
sphinxcontrib-programoutput==0.17
sphinx_design==0.6.0
sphinx-rtd-theme==2.0.0
@@ -6,7 +6,7 @@ python-levenshtein==0.25.1
docutils==0.20.1
pygments==2.18.0
urllib3==2.2.2
pytest==8.2.2
pytest==8.3.1
isort==5.13.2
black==24.4.2
flake8==7.1.0

View File

@@ -72,7 +72,7 @@ def build_directory(self):
def build_args(self):
"""Arguments for ``go build``."""
# Pass ldflags -s = --strip-all and -w = --no-warnings by default
return ["-ldflags", "-s -w", "-o", f"{self.pkg.name}"]
return ["-modcacherw", "-ldflags", "-s -w", "-o", f"{self.pkg.name}"]
@property
def check_args(self):

View File

@@ -169,7 +169,9 @@ def pkg_hash(args):
def get_grep(required=False):
"""Get a grep command to use with ``spack pkg grep``."""
return exe.which(os.environ.get("SPACK_GREP") or "grep", required=required)
grep = exe.which(os.environ.get("SPACK_GREP") or "grep", required=required)
grep.ignore_quotes = True # allow `spack pkg grep '"quoted string"'` without warning
return grep
def pkg_grep(args, unknown_args):

View File

@@ -31,6 +31,7 @@ def __init__(self, name):
self.default_envmod = EnvironmentModifications()
self.returncode = None
self.ignore_quotes = False
if not self.exe:
raise ProcessError("Cannot construct executable for '%s'" % name)
@@ -188,7 +189,7 @@ def process_cmd_output(out, err):
fail_on_error = kwargs.pop("fail_on_error", True)
ignore_errors = kwargs.pop("ignore_errors", ())
ignore_quotes = kwargs.pop("ignore_quotes", False)
ignore_quotes = kwargs.pop("ignore_quotes", self.ignore_quotes)
timeout = kwargs.pop("timeout", None)
# If they just want to ignore one error code, make it a tuple.

View File

@@ -376,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-rocm6.1.1:2024.06.23
image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.1.2:2024.07.22
e4s-rocm-external-build:
extends: [ ".e4s-rocm-external", ".build" ]
@@ -726,6 +726,29 @@ ml-linux-x86_64-cuda-build:
- artifacts: True
job: ml-linux-x86_64-cuda-generate
########################################
# Machine Learning - Linux x86_64 (ROCm)
########################################
.ml-linux-x86_64-rocm:
extends: [ ".linux_x86_64_v3" ]
variables:
SPACK_CI_STACK_NAME: ml-linux-x86_64-rocm
ml-linux-x86_64-rocm-generate:
extends: [ ".generate-x86_64", .ml-linux-x86_64-rocm, ".tags-x86_64_v4" ]
image: ghcr.io/spack/ubuntu-22.04:v2024-05-07
ml-linux-x86_64-rocm-build:
extends: [ ".build", ".ml-linux-x86_64-rocm" ]
trigger:
include:
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
job: ml-linux-x86_64-rocm-generate
strategy: depend
needs:
- artifacts: True
job: ml-linux-x86_64-rocm-generate
#########################################
# Machine Learning - Darwin aarch64 (MPS)
#########################################

View File

@@ -27,186 +27,186 @@ spack:
comgr:
buildable: false
externals:
- spec: comgr@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: comgr@6.1.2
prefix: /opt/rocm-6.1.2/
hip-rocclr:
buildable: false
externals:
- spec: hip-rocclr@6.1.1
prefix: /opt/rocm-6.1.1/hip
- spec: hip-rocclr@6.1.2
prefix: /opt/rocm-6.1.2/hip
hipblas:
buildable: false
externals:
- spec: hipblas@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: hipblas@6.1.2
prefix: /opt/rocm-6.1.2/
hipcub:
buildable: false
externals:
- spec: hipcub@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: hipcub@6.1.2
prefix: /opt/rocm-6.1.2/
hipfft:
buildable: false
externals:
- spec: hipfft@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: hipfft@6.1.2
prefix: /opt/rocm-6.1.2/
hipsparse:
buildable: false
externals:
- spec: hipsparse@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: hipsparse@6.1.2
prefix: /opt/rocm-6.1.2/
miopen-hip:
buildable: false
externals:
- spec: miopen-hip@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: miopen-hip@6.1.2
prefix: /opt/rocm-6.1.2/
miopengemm:
buildable: false
externals:
- spec: miopengemm@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: miopengemm@6.1.2
prefix: /opt/rocm-6.1.2/
rccl:
buildable: false
externals:
- spec: rccl@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: rccl@6.1.2
prefix: /opt/rocm-6.1.2/
rocblas:
buildable: false
externals:
- spec: rocblas@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: rocblas@6.1.2
prefix: /opt/rocm-6.1.2/
rocfft:
buildable: false
externals:
- spec: rocfft@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: rocfft@6.1.2
prefix: /opt/rocm-6.1.2/
rocm-clang-ocl:
buildable: false
externals:
- spec: rocm-clang-ocl@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: rocm-clang-ocl@6.1.2
prefix: /opt/rocm-6.1.2/
rocm-cmake:
buildable: false
externals:
- spec: rocm-cmake@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: rocm-cmake@6.1.2
prefix: /opt/rocm-6.1.2/
rocm-dbgapi:
buildable: false
externals:
- spec: rocm-dbgapi@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: rocm-dbgapi@6.1.2
prefix: /opt/rocm-6.1.2/
rocm-debug-agent:
buildable: false
externals:
- spec: rocm-debug-agent@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: rocm-debug-agent@6.1.2
prefix: /opt/rocm-6.1.2/
rocm-device-libs:
buildable: false
externals:
- spec: rocm-device-libs@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: rocm-device-libs@6.1.2
prefix: /opt/rocm-6.1.2/
rocm-gdb:
buildable: false
externals:
- spec: rocm-gdb@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: rocm-gdb@6.1.2
prefix: /opt/rocm-6.1.2/
rocm-opencl:
buildable: false
externals:
- spec: rocm-opencl@6.1.1
prefix: /opt/rocm-6.1.1/opencl
- spec: rocm-opencl@6.1.2
prefix: /opt/rocm-6.1.2/opencl
rocm-smi-lib:
buildable: false
externals:
- spec: rocm-smi-lib@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: rocm-smi-lib@6.1.2
prefix: /opt/rocm-6.1.2/
hip:
buildable: false
externals:
- spec: hip@6.1.1
prefix: /opt/rocm-6.1.1
- spec: hip@6.1.2
prefix: /opt/rocm-6.1.2
extra_attributes:
compilers:
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
c: /opt/rocm-6.1.2/llvm/bin/clang++
c++: /opt/rocm-6.1.2/llvm/bin/clang++
hip: /opt/rocm-6.1.2/hip/bin/hipcc
hipify-clang:
buildable: false
externals:
- spec: hipify-clang@6.1.1
prefix: /opt/rocm-6.1.1
- spec: hipify-clang@6.1.2
prefix: /opt/rocm-6.1.2
llvm-amdgpu:
buildable: false
externals:
- spec: llvm-amdgpu@6.1.1
prefix: /opt/rocm-6.1.1/llvm
- spec: llvm-amdgpu@6.1.2
prefix: /opt/rocm-6.1.2/llvm
extra_attributes:
compilers:
c: /opt/rocm-6.1.1/llvm/bin/clang++
cxx: /opt/rocm-6.1.1/llvm/bin/clang++
c: /opt/rocm-6.1.2/llvm/bin/clang++
cxx: /opt/rocm-6.1.2/llvm/bin/clang++
hsakmt-roct:
buildable: false
externals:
- spec: hsakmt-roct@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: hsakmt-roct@6.1.2
prefix: /opt/rocm-6.1.2/
hsa-rocr-dev:
buildable: false
externals:
- spec: hsa-rocr-dev@6.1.1
prefix: /opt/rocm-6.1.1/
- spec: hsa-rocr-dev@6.1.2
prefix: /opt/rocm-6.1.2/
extra_atributes:
compilers:
c: /opt/rocm-6.1.1/llvm/bin/clang++
cxx: /opt/rocm-6.1.1/llvm/bin/clang++
c: /opt/rocm-6.1.2/llvm/bin/clang++
cxx: /opt/rocm-6.1.2/llvm/bin/clang++
roctracer-dev-api:
buildable: false
externals:
- spec: roctracer-dev-api@6.1.1
prefix: /opt/rocm-6.1.1
- spec: roctracer-dev-api@6.1.2
prefix: /opt/rocm-6.1.2
roctracer-dev:
buildable: false
externals:
- spec: roctracer-dev@4.5.3
prefix: /opt/rocm-6.1.1
prefix: /opt/rocm-6.1.2
rocprim:
buildable: false
externals:
- spec: rocprim@6.1.1
prefix: /opt/rocm-6.1.1
- spec: rocprim@6.1.2
prefix: /opt/rocm-6.1.2
rocrand:
buildable: false
externals:
- spec: rocrand@6.1.1
prefix: /opt/rocm-6.1.1
- spec: rocrand@6.1.2
prefix: /opt/rocm-6.1.2
hipsolver:
buildable: false
externals:
- spec: hipsolver@6.1.1
prefix: /opt/rocm-6.1.1
- spec: hipsolver@6.1.2
prefix: /opt/rocm-6.1.2
rocsolver:
buildable: false
externals:
- spec: rocsolver@6.1.1
prefix: /opt/rocm-6.1.1
- spec: rocsolver@6.1.2
prefix: /opt/rocm-6.1.2
rocsparse:
buildable: false
externals:
- spec: rocsparse@6.1.1
prefix: /opt/rocm-6.1.1
- spec: rocsparse@6.1.2
prefix: /opt/rocm-6.1.2
rocthrust:
buildable: false
externals:
- spec: rocthrust@6.1.1
prefix: /opt/rocm-6.1.1
- spec: rocthrust@6.1.2
prefix: /opt/rocm-6.1.2
rocprofiler-dev:
buildable: false
externals:
- spec: rocprofiler-dev@6.1.1
prefix: /opt/rocm-6.1.1
- spec: rocprofiler-dev@6.1.2
prefix: /opt/rocm-6.1.2
rocm-core:
buildable: false
externals:
- spec: rocm-core@6.1.1
prefix: /opt/rocm-6.1.1
- spec: rocm-core@6.1.2
prefix: /opt/rocm-6.1.2
specs:
# ROCM NOARCH
@@ -300,7 +300,7 @@ spack:
ci:
pipeline-gen:
- build-job:
image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.1.1:2024.06.23
image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.1.2:2024.07.22
cdash:
build-group: E4S ROCm External

View File

@@ -0,0 +1,93 @@
spack:
view: false
packages:
all:
require:
- target=x86_64_v3
- ~cuda
- +rocm
- amdgpu_target=gfx90a
gl:
require: "osmesa"
mpi:
require: openmpi
specs:
# Horovod
# - py-horovod
# Hugging Face
- py-transformers
# JAX
# Does not yet support Spack-installed ROCm
# - py-jax
# - py-jaxlib
# Keras
- py-keras backend=tensorflow
# - py-keras backend=jax
# - py-keras backend=torch
- py-keras-applications
- py-keras-preprocessing
- py-keras2onnx
# PyTorch
# Does not yet support Spack-installed ROCm
# - py-botorch
# - py-efficientnet-pytorch
# - py-gpytorch
# - py-kornia
# - py-lightning
# - py-pytorch-gradual-warmup-lr
# - py-pytorch-lightning
# - py-segmentation-models-pytorch
# - py-timm
# - py-torch
# - py-torch-cluster
# - py-torch-geometric
# - py-torch-nvidia-apex
# - py-torch-scatter
# - py-torch-sparse
# - py-torch-spline-conv
# - py-torchaudio
# - py-torchdata
# - py-torchfile
# - py-torchgeo
# - py-torchmetrics
# - py-torchtext
# - py-torchvision
# - py-vector-quantize-pytorch
# scikit-learn
- py-scikit-learn
- py-scikit-learn-extra
# TensorBoard
- py-tensorboard
- py-tensorboard-data-server
- py-tensorboard-plugin-wit
- py-tensorboardx
# TensorFlow
- py-tensorflow
- py-tensorflow-datasets
# version 2.16 is not available
# - py-tensorflow-estimator
- py-tensorflow-hub
- py-tensorflow-metadata
- py-tensorflow-probability
# XGBoost
# Does not yet support Spack-installed ROCm
# - py-xgboost
ci:
pipeline-gen:
- build-job:
image:
name: ghcr.io/spack/ubuntu-22.04:v2024-05-07
entrypoint: ['']
cdash:
build-group: Machine Learning

View File

@@ -6,7 +6,7 @@
from spack.package import *
class Asciidoc(AutotoolsPackage):
class Asciidoc(AutotoolsPackage, PythonPackage):
"""A presentable text document format for writing articles, UNIX man
pages and other small to medium sized documents."""
@@ -17,6 +17,12 @@ class Asciidoc(AutotoolsPackage):
license("GPL-2.0-only", checked_by="tgamblin")
build_system(
conditional("autotools", when="@:9"),
conditional("python_pip", when="@10:"),
default="python_pip",
)
version("master", branch="master")
version("10.2.0", sha256="684ea53c1f5b71d6d1ac6086bbc96906b1f709ecc7ab536615b0f0c9e1baa3cc")
version("9.1.0", sha256="5056c20157349f8dc74f005b6e88ccbf1078c4e26068876f13ca3d1d7d045fe7")
@@ -31,6 +37,9 @@ class Asciidoc(AutotoolsPackage):
depends_on("docbook-xml", type=("build", "run"))
depends_on("docbook-xsl", type=("build", "run"))
depends_on("python@3.5:", type=("build", "run"))
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
with when("build_system=python_pip"):
depends_on("py-setuptools", type="build")
with when("build_system=autotools"):
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")

View File

@@ -62,7 +62,7 @@ class Asio(AutotoolsPackage):
version("1.16.1", sha256="e40bbd531530f08318b7c7d7e84e457176d8eae6f5ad2e3714dc27b9131ecd35")
version("1.16.0", sha256="c87410ea62de6245aa239b9ed2057edf01d7f66acc3f5e50add9a29343c87512")
depends_on("cxx", type="build") # generated
depends_on("cxx", type="build")
depends_on("autoconf", type="build")
depends_on("automake", type="build")

View File

@@ -21,5 +21,8 @@ class Capstone(CMakePackage):
version("4.0.2", sha256="7c81d798022f81e7507f1a60d6817f63aa76e489aa4e7055255f21a22f5e526a")
version("4.0.1", sha256="79bbea8dbe466bd7d051e037db5961fdb34f67c9fac5c3471dd105cfb1e05dc7")
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
depends_on("c", type="build")
depends_on("cxx", type="build")
def cmake_args(self):
return ["-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=TRUE"]

View File

@@ -36,10 +36,10 @@ def edit(self, spec, prefix):
makefile.filter(r"^\s*INSTALL_DIR\s*\?=.*", "INSTALL_DIR ?= " + prefix)
@run_before("install")
def preinstall(self, spec, prefix):
def preinstall(self):
# The $PREFIX/dedisp/include and $PREFIX/dedisp/lib directories don't seem
# to be created automatically by the software's Makefile so manually create them
libdir = join_path(prefix, "lib")
incdir = join_path(prefix, "include")
libdir = join_path(self.prefix, "lib")
incdir = join_path(self.prefix, "include")
mkdirp(libdir)
mkdirp(incdir)

View File

@@ -27,8 +27,8 @@ 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
depends_on("c", type="build")
depends_on("cxx", type="build")
variant("shared", default=True, description="Build shared libraries.")

View File

@@ -24,6 +24,7 @@ class Enzyme(CMakePackage):
root_cmakelists_dir = "enzyme"
version("main", branch="main")
version("0.0.135", sha256="49c798534faec7ba524a3ed053dd4352d690a44d3cad5a14915c9398dc9b175b")
version("0.0.100", sha256="fbc53ec02adc0303ff200d7699afface2d9fbc7350664e6c6d4c527ef11c2e82")
version("0.0.81", sha256="4c17d0c28f0572a3ab97a60f1e56bbc045ed5dd64c2daac53ae34371ca5e8b34")
version("0.0.69", sha256="144d964187551700fdf0a4807961ceab1480d4e4cd0bb0fc7bbfab48fe053aa2")

View File

@@ -18,6 +18,7 @@ class Fmt(CMakePackage):
license("MIT")
version("11.0.2", sha256="40fc58bebcf38c759e11a7bd8fdc163507d2423ef5058bba7f26280c5b9c5465")
version("11.0.1", sha256="62ca45531814109b5d6cef0cf2fd17db92c32a30dd23012976e768c685534814")
version("11.0.0", sha256="583ce480ef07fad76ef86e1e2a639fc231c3daa86c4aa6bcba524ce908f30699")
version("10.2.1", sha256="312151a2d13c8327f5c9c586ac6cf7cddc1658e8f53edae0ec56509c8fa516c9")
@@ -46,6 +47,8 @@ class Fmt(CMakePackage):
version("3.0.0", sha256="1b050b66fa31b74f1d75a14f15e99e728ab79572f176a53b2f8ad7c201c30ceb")
version("master", branch="master")
depends_on("cxx", type="build")
variant(
"cxxstd",
default="11",

View File

@@ -166,8 +166,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
@@ -307,7 +312,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"))

View File

@@ -0,0 +1,50 @@
# 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 GenerateNinja(Package):
"""
A meta-build system that generates build files for Ninja.
This is a fork of the Google GN package with some minor features and bug fixes
"""
homepage = "https://github.com/o-lim/generate-ninja"
url = "https://github.com/o-lim/generate-ninja/archive/refs/tags/v0.4.1.tar.gz"
license("BSD", checked_by="teaguesterling")
version("0.4.1", sha256="1b2bec9dd18602a4af9dc8782ca809e44305f1435d43c55f35ec9eec50ca7e9a")
version("0.4.0", sha256="3575ed41eec49fe756dbd2c402f70cd80ba2952cc59ce2091d0a82b7bd3ce8a0")
version("0.3.2", sha256="82e949c3970d77b28c9df7cf3f3df409798b65848e05ff415009e7e2118460a8")
version("0.3.1", sha256="ed0112b434b80c322fcc9203646eaef17c306a804bf2ff5e5df91677c4e58678")
version("0.3.0", sha256="e6091d34cfc6bc625bfad4bbdc001e10ed951651d0ae98785b509bdfadad6822")
version("0.2.2", sha256="3146bdef1db9dfdc2d48bb5ee5e8e4ef9642ebea7cf39c432681685db8a11c86")
version("0.2.1", sha256="bf27ddde69bd0791ce86bd3ab9ead51dcfb00d3f202168057b721fdc39d417c5")
version("0.2.0", sha256="6cfd6f4a2f6d656e8d5f64d7f03a575a569b2c0f662d1d828ee790c9d9c2be25")
version("0.1.0", sha256="eb94e0bb170416010d3efa296fce63e7fec19f1e3e9b5988b2418166ec068896")
depends_on("ninja")
depends_on("python", type="build")
depends_on("llvm+clang", type="build")
def setup_build_environment(self, env):
env.set("DEPLOY", "1")
env.set("CC", self.spec["llvm"].home.bin.clang)
env.set("CXX", self.spec["llvm"].home.bin.join("clang++"))
phases = ["configure", "build", "install"]
# build_targets = ["bootstrap", "gn"]
out_dir = "out"
def configure(self, spec, prefix):
python("build/gen.py")
def build(self, spec, prefix):
ninja("-C", self.out_dir)
def install(self, spec, prefix):
mkdir(prefix.bin)
install(join_path(self.out_dir, "gn"), prefix.bin.gn)

View File

@@ -15,13 +15,14 @@ class GeopmRuntime(AutotoolsPackage):
homepage = "https://geopm.github.io"
git = "https://github.com/geopm/geopm.git"
url = "https://github.com/geopm/geopm/tarball/v3.0.1"
url = "https://github.com/geopm/geopm/tarball/v3.1.0"
maintainers("bgeltz", "cmcantalupo")
license("BSD-3-Clause")
tags = ["e4s"]
version("develop", branch="dev", get_full_repo=True)
version("3.1.0", sha256="2d890cad906fd2008dc57f4e06537695d4a027e1dc1ed92feed4d81bb1a1449e")
version("3.0.1", sha256="32ba1948de58815ee055470dcdea64593d1113a6cad70ce00ab0286c127f8234")
depends_on("c", type="build") # generated
@@ -29,7 +30,7 @@ class GeopmRuntime(AutotoolsPackage):
depends_on("fortran", type="build") # generated
variant("debug", default=False, description="Enable debug")
variant("docs", default=False, description="Create man pages with Sphinx")
variant("docs", default=False, when="@3.0.1", description="Create man pages with Sphinx")
variant("overhead", default=False, description="Track time spent in GEOPM API calls")
variant("beta", default=False, description="Enable beta features")
variant("mpi", default=True, description="Enable MPI dependent components")
@@ -60,30 +61,36 @@ class GeopmRuntime(AutotoolsPackage):
depends_on("libtool", type="build")
depends_on("file")
# Docs dependencies
depends_on("doxygen", type="build", when="+docs")
depends_on("py-sphinx", type="build", when="+docs")
depends_on("py-sphinx-rtd-theme@1:", type="build", when="+docs")
depends_on("py-sphinxemoji@0.2.0:", type="build", when="+docs")
depends_on("py-sphinx-tabs@3.3.1:", type="build", when="+docs")
depends_on("py-pygments@2.13.0:", type="build", when="+docs")
with when("@3.0.1"):
# Docs dependencies
# Moved to python3-geopm-doc as of v3.1
depends_on("doxygen", type="build", when="+docs")
depends_on("py-sphinx", type="build", when="+docs")
depends_on("py-sphinx-rtd-theme@1:", type="build", when="+docs")
depends_on("py-sphinxemoji@0.2.0:", type="build", when="+docs")
depends_on("py-sphinx-tabs@3.3.1:", type="build", when="+docs")
depends_on("py-pygments@2.13.0:", type="build", when="+docs")
# Other Python dependencies - from scripts/setup.py
depends_on("python@3.6:3", type=("build", "run"))
depends_on("py-setuptools@53.0.0:", type="build")
depends_on("py-cffi@1.14.5:", type="run")
depends_on("py-natsort@8.2.0:", type="run")
depends_on("py-numpy@1.19.5:", type="run")
depends_on("py-pandas@1.1.5:", type="run")
depends_on("py-tables@3.7.0:", type="run")
depends_on("py-psutil@5.8.0:", type="run")
depends_on("py-pyyaml@6.0:", type="run")
depends_on("py-docutils@0.18:", type="run", when="+checkprogs")
# Other Python dependencies - from scripts/setup.py
# Moved to python3-geopmdpy as of v3.1
depends_on("python@3.6:3", type=("build", "run"))
depends_on("py-setuptools@53.0.0:", type="build")
depends_on("py-cffi@1.14.5:", type="run")
depends_on("py-natsort@8.2.0:", type="run")
depends_on("py-numpy@1.19.5:", type="run")
depends_on("py-pandas@1.1.5:", type="run")
depends_on("py-tables@3.7.0:", type="run")
depends_on("py-psutil@5.8.0:", type="run")
depends_on("py-pyyaml@6.0:", type="run")
depends_on("py-docutils@0.18:", type="run", when="+checkprogs")
# Other dependencies
for ver in ["3.0.1", "develop"]:
depends_on(f"geopm-service@{ver}", type="build", when=f"@{ver}")
for ver in ["3.0.1", "3.1.0", "develop"]:
depends_on(f"geopm-service@{ver}", type=("build", "run"), when=f"@{ver}")
depends_on(f"py-geopmdpy@{ver}", type="run", when=f"@{ver}")
if ver != "3.0.1": # geopmpy integrated into autotools build until 3.1
depends_on(f"py-geopmpy@{ver}", type="run", when=f"@{ver}")
depends_on("py-setuptools-scm@7.0.3:", when="@3.1:", type="build")
depends_on("bash-completion")
depends_on("unzip")
depends_on("mpi@2.2:", when="+mpi")
@@ -96,6 +103,13 @@ class GeopmRuntime(AutotoolsPackage):
extends("python")
@property
def configure_directory(self):
if self.version == Version("3.0.1"):
return "."
else:
return "libgeopm"
@property
def install_targets(self):
target = ["install"]
@@ -105,20 +119,26 @@ def install_targets(self):
def autoreconf(self, spec, prefix):
bash = which("bash")
if not spec.version.isdevelop():
# Required to workaround missing VERSION files
# from GitHub generated source tarballs
with open("VERSION_OVERRIDE", "w") as fd:
fd.write(f"{spec.version}")
bash("./autogen.sh")
with working_dir(self.configure_directory):
if not spec.version.isdevelop():
if self.version == Version("3.0.1"):
version_file = "VERSION_OVERRIDE"
else:
version_file = "VERSION"
# Required to workaround missing VERSION files
# from GitHub generated source tarballs
with open(version_file, "w") as fd:
fd.write(f"{spec.version}")
bash("./autogen.sh")
def configure_args(self):
args = [
"--with-bash-completion-dir="
+ join_path(self.spec.prefix, "share", "bash-completion", "completions"),
"--disable-geopmd-local",
f"--with-geopmd={self.spec['geopm-service'].prefix}",
]
with when("@3.0.1"):
args = [
"--with-bash-completion-dir="
+ join_path(self.spec.prefix, "share", "bash-completion", "completions")
]
args += ["--disable-geopmd-local", f"--with-geopmd={self.spec['geopm-service'].prefix}"]
args += self.enable_or_disable("debug")
args += self.enable_or_disable("docs")

View File

@@ -18,13 +18,14 @@ class GeopmService(AutotoolsPackage):
homepage = "https://geopm.github.io"
git = "https://github.com/geopm/geopm.git"
url = "https://github.com/geopm/geopm/tarball/v3.0.1"
url = "https://github.com/geopm/geopm/tarball/v3.1.0"
maintainers("bgeltz", "cmcantalupo")
license("BSD-3-Clause")
tags = ["e4s"]
version("develop", branch="dev", get_full_repo=True)
version("3.1.0", sha256="2d890cad906fd2008dc57f4e06537695d4a027e1dc1ed92feed4d81bb1a1449e")
version("3.0.1", sha256="32ba1948de58815ee055470dcdea64593d1113a6cad70ce00ab0286c127f8234")
depends_on("c", type="build") # generated
@@ -32,7 +33,7 @@ class GeopmService(AutotoolsPackage):
depends_on("fortran", type="build") # generated
variant("debug", default=False, description="Enable debug")
variant("docs", default=True, description="Create man pages with Sphinx")
variant("docs", default=True, when="@3.0.1", description="Create man pages with Sphinx")
variant("systemd", default=True, description="Enable use of systemd/DBus")
variant("liburing", default=True, description="Enables the use of liburing for batch I/O")
variant(
@@ -69,24 +70,30 @@ class GeopmService(AutotoolsPackage):
depends_on("libtool", type="build")
depends_on("file")
# Docs dependencies
depends_on("doxygen", type="build", when="+docs")
depends_on("py-docstring-parser@0.13.0:", type="build", when="+docs")
depends_on("py-sphinx", type="build", when="+docs")
depends_on("py-sphinx-rtd-theme@1:", type="build", when="+docs")
depends_on("py-sphinxemoji@0.2.0:", type="build", when="+docs")
depends_on("py-sphinx-tabs@3.3.1:", type="build", when="+docs")
depends_on("py-pygments@2.13.0:", type="build", when="+docs")
with when("@3.0.1"):
# Docs dependencies
# Moved to python3-geopm-doc as of v3.1
depends_on("doxygen", type="build", when="+docs")
depends_on("py-docstring-parser@0.13.0:", type="build", when="+docs")
depends_on("py-sphinx", type="build", when="+docs")
depends_on("py-sphinx-rtd-theme@1:", type="build", when="+docs")
depends_on("py-sphinxemoji@0.2.0:", type="build", when="+docs")
depends_on("py-sphinx-tabs@3.3.1:", type="build", when="+docs")
depends_on("py-pygments@2.13.0:", type="build", when="+docs")
# Other Python dependencies - from service/setup.py
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")
depends_on("py-jsonschema@3.2.0:", type="run")
depends_on("py-pyyaml@6.0:", type="run")
depends_on("py-setuptools@53.0.0:", type="build")
# Other Python dependencies - from service/setup.py
# Moved to python3-geopmdpy as of v3.1
depends_on("py-setuptools@53.0.0:", type="build")
depends_on("py-dasbus@1.6.0:", type=("build", "run"))
depends_on("py-psutil@5.8.0:", type=("build", "run"))
depends_on("py-jsonschema@3.2.0:", type=("build", "run"))
depends_on("py-pyyaml@6.0:", type=("build", "run"))
depends_on("py-cffi@1.14.5:", type="run")
# Other dependencies
for ver in ["3.1.0", "develop"]:
depends_on(f"py-geopmdpy@{ver}", type="run", when=f"@{ver}")
depends_on("py-setuptools-scm@7.0.3:", when="@3.1:", type="build")
depends_on("bash-completion")
depends_on("unzip")
depends_on("systemd", when="+systemd")
@@ -97,15 +104,24 @@ class GeopmService(AutotoolsPackage):
extends("python")
configure_directory = "service"
@property
def configure_directory(self):
if self.version == Version("3.0.1"):
return "service"
else:
return "libgeopmd"
def autoreconf(self, spec, prefix):
bash = which("bash")
with working_dir("service"):
with working_dir(self.configure_directory):
if not spec.version.isdevelop():
if self.version == Version("3.0.1"):
version_file = "VERSION_OVERRIDE"
else:
version_file = "VERSION"
# Required to workaround missing VERSION files
# from GitHub generated source tarballs
with open("VERSION_OVERRIDE", "w") as fd:
with open(version_file, "w") as fd:
fd.write(f"{spec.version}")
bash("./autogen.sh")

View File

@@ -6,7 +6,7 @@
from spack.package import *
class Gh(Package):
class Gh(GoPackage):
"""GitHub's official command line tool."""
homepage = "https://github.com/cli/cli"
@@ -43,14 +43,10 @@ class Gh(Package):
depends_on("go@1.21:", type="build", when="@2.33.0:")
depends_on("go@1.22:", type="build", when="@2.47.0:")
phases = ["build", "install"]
def setup_build_environment(self, env):
# Point GOPATH at the top of the staging dir for the build step.
env.prepend_path("GOPATH", self.stage.path)
def build(self, spec, prefix):
make()
def install(self, spec, prefix):
make("install", "prefix=" + prefix)
class GoBuilder(spack.build_systems.go.GoBuilder):
@property
def build_args(self):
args = super().build_args
args.extend(["-trimpath", "./cmd/gh"])
return args

View File

@@ -34,8 +34,8 @@ 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
depends_on("c", type="build")
depends_on("cxx", type="build")
variant("sized_delete", default=False, description="Build sized delete operator")
variant(

View File

@@ -120,9 +120,11 @@ def fix_configure(self):
filter_file("CC=./\\$SZIP_CC", "", "configure")
def flag_handler(self, name, flags):
if self.spec.compiler.name == "apple-clang":
if name == "cflags":
if name == "cflags":
flags.append(self.compiler.cc_pic_flag)
if self.spec.compiler.name in ["apple-clang", "oneapi"]:
flags.append("-Wno-error=implicit-function-declaration")
flags.append("-Wno-error=implicit-int")
return flags, None, None
@@ -160,15 +162,4 @@ def configure_args(self):
if "zlib" in self.spec:
extra_args.append("--with-zlib={0}".format(self.spec["zlib-api"].prefix))
# https://forum.hdfgroup.org/t/help-building-hdf4-with-clang-error-implicit-declaration-of-function-test-mgr-szip-is-invalid-in-c99/7680
# -fPIC: https://github.com/spack/spack/issues/43792
if self.spec.satisfies("%apple-clang"):
extra_args.append(
"CFLAGS=-Wno-error=implicit-function-declaration {0}".format(
self.compiler.cc_pic_flag
)
)
else:
extra_args.append("CFLAGS={0}".format(self.compiler.cc_pic_flag))
return extra_args

View File

@@ -18,6 +18,11 @@ class Heyoka(CMakePackage):
# SPDX identifier of the project's license.
license("MPL-2.0")
version("5.0.0", sha256="e9a4b5683a08706addc1b448e232f1e269d78586859fe3f4d93d4c5eee3bc8ae")
version("4.0.3", sha256="47608e785607782d896ae2347a29a143cdb7e5c602f48f5ea795cf682051dbee")
version("4.0.2", sha256="8eba8fe0626c3d48affad3055e490e5d21430a420af867d7d52c18ed6b602ae0")
version("4.0.1", sha256="25ad39a716c5d548260d505225a13b7fa86534761b6e3d3de991d9d097ec615f")
version("4.0.0", sha256="bc375271773993bd89d604a269c4931e54fb8508c8235397d47f0b60b78f3cdf")
version("3.2.0", sha256="37db24fbaf0e65d740ffb20f76ac1c8ab9fbd6893dc87dfd483c965b71dbf465")
version("3.1.0", sha256="7eecab47f44a9fff022cf24f226763dab8b075a9fdaa543a42f64bb2634b3ad8")
version("3.0.0", sha256="03ccb6fb015ad43877781763c0f2f49bd6db64c8b9493174e589c970ef00d7f2")
@@ -49,7 +54,8 @@ class Heyoka(CMakePackage):
depends_on("cmake@3.18:", type="build")
# Required dependencies
depends_on("llvm@13:17")
depends_on("llvm@13:17", when="@:4")
depends_on("llvm@13:18", when="@5")
depends_on("boost@1.69: +serialization")
depends_on("fmt@9:10")
depends_on("spdlog")

View File

@@ -24,7 +24,7 @@ class HpxKokkos(CMakePackage, CudaPackage, ROCmPackage):
version("0.2.0", sha256="289b711cea26afe80be002fc521234c9194cd0e8f69863f3b08b654674dbe5d5")
version("0.1.0", sha256="24edb817d0969f4aea1b68eab4984c2ea9a58f4760a9b8395e20f85b178f0850")
depends_on("cxx", type="build") # generated
depends_on("cxx", type="build")
cxxstds = ("14", "17", "20")
variant(

View File

@@ -41,7 +41,7 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage):
version("1.2.0", sha256="20942314bd90064d9775f63b0e58a8ea146af5260a4c84d0854f9f968077c170")
version("1.1.0", sha256="1f28bbe58d8f0da600d60c3a74a644d75ac777b20a018a5c1c6030a470e8a1c9")
depends_on("cxx", type="build") # generated
depends_on("cxx", type="build")
generator("ninja")

View File

@@ -7,7 +7,7 @@
from spack.package import *
class Hybpiper(Package):
class Hybpiper(PythonPackage, Package):
"""HybPiper was designed for targeted sequence capture, in which DNA
sequencing libraries are enriched for gene regions of interest,
especially for phylogenetics. HybPiper is a suite of Python scripts
@@ -17,24 +17,51 @@ class Hybpiper(Package):
homepage = "https://github.com/mossmatters/HybPiper"
url = "https://github.com/mossmatters/HybPiper/archive/v1.2.0.tar.gz"
git = "https://github.com/mossmatters/HybPiper/HybPiper.git"
maintainers("snehring")
license("GPL-3.0-or-later")
version("2.1.8", sha256="ff358a560d6dbbec4fdac67457451cb4e6ca21b8661044c43902aa013d805e47")
version("1.3.1", sha256="7ca07a9390d1ca52c72721774fa220546f18d3fa3b58500f68f3b2d89dbc0ecf")
version("1.2.0", sha256="34c7b324e9bcacb6ccfe87dc50615d6f93866433b61a59291707efa858b6df57")
build_system(
conditional("python_pip", when="@2.1:"),
conditional("generic", when="@:1.3.1"),
default="python_pip",
)
depends_on("python@2.7:", type=("build", "run"))
depends_on("python@3.9:", type=("build", "run"), when="@2.1:")
depends_on("py-biopython", type=("build", "run"))
depends_on("py-biopython@1.80:", type=("build", "run"), when="@2.1:")
depends_on("py-matplotlib", type=("build", "run"), when="@2.1:")
depends_on("py-pandas", type=("build", "run"), when="@2.1:")
depends_on("py-pebble", type=("build", "run"), when="@2.1:")
depends_on("py-progressbar2", type=("build", "run"), when="@2.1:")
depends_on("py-psutil", type=("build", "run"), when="@2.1:")
depends_on("py-scipy", type=("build", "run"), when="@2.1:")
depends_on("py-seaborn", type=("build", "run"), when="@2.1:")
depends_on("exonerate")
depends_on("exonerate@2.4:", when="@2.1:")
depends_on("bbmap", when="@2.1:")
depends_on("blast-plus")
depends_on("spades")
depends_on("parallel")
depends_on("blast-plus@2.9.0:", when="@2.1:")
depends_on("bwa")
depends_on("diamond", when="@2.1:")
depends_on("mafft", when="@2.1:")
depends_on("parallel")
depends_on("samtools")
depends_on("samtools@1.14", when="@2.1:")
depends_on("spades")
depends_on("spades@3.15.4:", when="@2.1:")
def setup_run_environment(self, env):
env.set("HYBPIPER_HOME", self.prefix)
@when("@:1.3.1")
def install(self, spec, prefix):
mkdirp(prefix.bin)
install("*.py", prefix.bin)

View File

@@ -0,0 +1,22 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Libgudev(MesonPackage):
"""Provides GObject bindings for libudev."""
homepage = "https://gitlab.gnome.org/GNOME/libgudev/"
url = "https://download.gnome.org/sources/libgudev/238/libgudev-238.tar.xz"
maintainers("teaguesterling")
license("LGPL2.1", checked_by="teaguesterling")
version("238", sha256="61266ab1afc9d73dbc60a8b2af73e99d2fdff47d99544d085760e4fa667b5dd1")
with default_args(type=("build", "link", "run")):
depends_on("glib@2.38:")
depends_on("systemd@251:") # For libuvdev

View File

@@ -227,34 +227,47 @@ def build(self, spec, prefix):
# now build the library
with working_dir(os.path.join(self.build_directory, "generated")):
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",
]
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)
config_args = [
f"--prefix={prefix}",
"--enable-shared",
f"--with-boost={spec['boost'].prefix}",
f"--with-cxx-optflags={self.optflags}",
]
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()
else:
cmake_args = [
"..",
f"-DCMAKE_INSTALL_PREFIX={prefix}",
"-DLIBINT2_BUILD_SHARED_AND_STATIC_LIBS=ON",
]
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", "build")):
path = join_path(self.build_directory, "generated")
if self.spec.satisfies("@2.9.0:"):
path = join_path(path, "build")
with working_dir(path):
make("check")
@when("@2.6.0:")
def install(self, spec, prefix):
with working_dir(os.path.join(self.build_directory, "generated", "build")):
path = join_path(self.build_directory, "generated")
if self.spec.satisfies("@2.9.0:"):
path = join_path(path, "build")
with working_dir(path):
make("install")
@when("@:2.6.0")
@@ -269,3 +282,7 @@ def patch(self):
"export/fortran/Makefile",
string=True,
)
@property
def libs(self):
return find_libraries("libint2", self.spec.prefix, shared=True, recursive=True)

View File

@@ -52,6 +52,7 @@ class Librsvg(AutotoolsPackage):
depends_on("libffi")
depends_on("shared-mime-info")
depends_on("py-docutils", type="build")
def url_for_version(self, version):
url = "https://download.gnome.org/sources/librsvg/"

View File

@@ -0,0 +1,50 @@
# 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 Libtraceevent(MakefilePackage):
"""Library to parse raw trace event formats."""
homepage = "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git"
url = "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/libtraceevent-1.8.2.tar.gz"
git = "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git"
maintainers("Jordan474")
license("LGPL-2.1-or-later AND GPL-2.0-or-later")
version("1.8.2", sha256="919f0c024c7b5059eace52d854d4df00ae7e361a4033e1b4d6fe01d97064a1b9")
variant("doc", default=False, description="Build documentation")
depends_on("c", type="build")
depends_on("asciidoc", when="+doc", type="build")
depends_on("xmlto", when="+doc", type="build")
def patch(self):
set_executable("Documentation/install-docs.sh.in")
@property
def common_targets(self):
return [
"prefix=" + self.prefix,
"pkgconfig_dir=" + join_path(self.prefix.lib, "pkgconfig"),
]
@property
def build_targets(self):
result = self.common_targets + ["all"]
if "+doc" in self.spec:
result.append("doc")
return result
@property
def install_targets(self):
result = self.common_targets + ["install"]
if "+doc" in self.spec:
result.append("doc-install")
return result

View File

@@ -0,0 +1,13 @@
diff --git a/configure b/configure
index 494ea9f..1ca6516 100755
--- a/configure
+++ b/configure
@@ -17006,7 +17006,7 @@ int
main ()
{
- fftw_plan *plan;
+ fftw_plan plan;
fftw_complex *a1, *a2;
fftw_execute_dft(plan, a1, a2);

View File

@@ -54,3 +54,12 @@ def configure_args(self):
args += ["--without-mpi"]
return args
# misuse of fftw_plan in m4 for fftw detection (configure fails with gcc 14)
# two patches for (1) m4 macro from upstream and (2) pre-generated configure in tarball
patch(
"https://gitlab.com/libvdwxc/libvdwxc/-/commit/9340f857515c4a2e56d2aa7cf3a21c41ba8559c3.diff",
sha256="b9ad695e54a25d7ffa92f783bb0a31d3b421225f97958972e32ba42893844b80",
when="@:0.4.0",
)
patch("fftw-detection.patch", when="@:0.4.0")

View File

@@ -0,0 +1,76 @@
# 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 Libwnck(MesonPackage, AutotoolsPackage):
"""Window Navigator Construction Kit"""
homepage = "https://gitlab.gnome.org/GNOME/libwnck"
url = "https://download.gnome.org/sources/libwnck/3.4/libwnck-3.4.9.tar.xz"
list_url = "https://download.gnome.org/sources/libwnck/"
list_depth = 2
def url_for_version(self, version):
base = "https://download.gnome.org/sources/libwnck"
dirname = version.up_to(1) if version >= Version("40") else version.up_to(2)
filename = f"libwnck-{version.up_to(3)}.tar.xz"
return f"{base}/{dirname}/{filename}"
license("GPLv2", checked_by="teaguesterling")
version("43.0", sha256="905bcdb85847d6b8f8861e56b30cd6dc61eae67ecef4cd994a9f925a26a2c1fe")
version("40.1", sha256="03134fa114ef3fbe34075aa83678f58aa2debe9fcef4ea23c0779e28601d6611")
version("3.36.0", sha256="bc508150b3ed5d22354b0e6774ad4eee465381ebc0ace45eb0e2d3a4186c925f")
version("3.24.1", sha256="afa6dc283582ffec15c3374790bcbcb5fb422bd38356d72deeef35bf7f9a1f04")
version("3.20.1", sha256="1cb03716bc477058dfdf3ebfa4f534de3b13b1aa067fcd064d0b7813291cba72")
version("3.14.1", sha256="bb643c9c423c8aa79c59973ce27ce91d3b180d1e9907902278fb79391f52befa")
version("3.4.9", sha256="96e6353f2701a1ea565ece54d791a7bebef1832d96126f7377c54bb3516682c4")
variant("cairo", default=True, description="Build with cairo support")
variant("install_tools", default=True, description="Install WNCK tools")
variant("xres", default=True, description="Build with xres support")
variant("introspection", default=True, description="Build with gobject-introspection support")
variant(
"startup_notification", default=True, description="Build with startup-notification support"
)
variant("gtk_doc", default=False, description="Build documentation")
build_system(
conditional("meson", when="@3.31:"),
conditional("autotools", when="@:3.24"),
default="meson",
)
with default_args(type="build"):
depends_on("pkgconfig@0.9.0:")
depends_on("gettext", when="@3.31:")
depends_on("intltool@0.40.6:", when="@:3.24")
depends_on("cmake", when="build_system=meson")
depends_on("gtk-doc@1.9:", when="+gtk_doc")
with default_args(type=("build", "link", "run")):
depends_on("glib@2")
depends_on("gdk-pixbuf")
depends_on("gtkplus@3.22:")
depends_on("cairo+X+gobject", when="+cairo")
depends_on("libxres", when="+xres")
depends_on("gobject-introspection", when="+introspection")
depends_on("startup-notification", when="+startup_notification")
def configure_args(self):
args = []
args += self.enable_or_disable("introspection")
args += self.enable_or_disable("install_tools")
args += self.enable_or_disable("startup_notification")
args += self.enable_or_disable("gtk_doc")
return args
def setup_dependent_build_environment(self, env, dep_spec):
if self.spec.satisfies("+introspection") and dep_spec.satisfies("+introspection"):
env.append_path("XDG_DATA_DIRS", self.prefix.share)

View File

@@ -14,20 +14,56 @@ class LinuxPam(AutotoolsPackage):
license("BSD-3-Clause")
version("1.5.1", sha256="201d40730b1135b1b3cdea09f2c28ac634d73181ccd0172ceddee3649c5792fc")
version("1.6.1", sha256="f8923c740159052d719dbfc2a2f81942d68dd34fcaf61c706a02c9b80feeef8e")
version("1.6.0", sha256="fff4a34e5bbee77e2e8f1992f27631e2329bcbf8a0563ddeb5c3389b4e3169ad")
version("1.5.3", sha256="7ac4b50feee004a9fa88f1dfd2d2fa738a82896763050cd773b3c54b0a818283")
version("1.5.2", sha256="e4ec7131a91da44512574268f493c6d8ca105c87091691b8e9b56ca685d4f94d")
version("1.5.1", sha256="201d40730b1135b1b3cdea09f2c28ac634d73181ccd0172ceddee3649c5792fc")
version("1.5.0", sha256="02d39854b508fae9dc713f7733bbcdadbe17b50de965aedddd65bcb6cc7852c8")
version("1.4.0", sha256="cd6d928c51e64139be3bdb38692c68183a509b83d4f2c221024ccd4bcddfd034")
version("1.3.1", sha256="eff47a4ecd833fbf18de9686632a70ee8d0794b79aecb217ebd0ce11db4cd0db")
depends_on("c", type="build") # generated
variant("unix", default=True, description="Build pam_unix model")
variant("selinux", default=False, description="Build with selinux support")
variant("nls", default=False, description="Build with natural language support")
variant("xauth", default=False, description="Build with xauth support")
variant("openssl", default=False, description="Build with openssl support")
variant("lastlog", default=False, description="Build pam_lastlog model")
variant("regenerate-docu", default=False, description="Regenerate docs")
depends_on("libtirpc")
depends_on("libxcrypt")
depends_on("xauth", when="+xauth")
depends_on("c", type="build")
with default_args(type="build"):
depends_on("m4")
depends_on("autoconf")
depends_on("automake")
depends_on("libtool")
depends_on("gettext", when="+nls")
with when("+regenerate-docu"):
depends_on("bison")
depends_on("flex")
depends_on("yacc")
def flag_handler(self, name, flags):
if name == "ldflags" and self.spec.satisfies("+nls"):
flags += ["-lintl"] # Addresses https://github.com/spack/spack/issues/44637
return (flags, None, None)
def configure_args(self):
return [
"--disable-nls",
"--disable-regenerate-docu",
f"--includedir={self.prefix.include.security}",
]
args = [f"--includedir={self.prefix.include.security}"]
args += self.enable_or_disable("nls")
args += self.enable_or_disable("openssl")
args += self.enable_or_disable("unix")
args += self.enable_or_disable("lastlog")
args += self.enable_or_disable("selinux")
args += self.enable_or_disable("regenerate-docu")
if self.spec.satisfies("+xauth"):
xauth = self.spec["xauth"]
args.append(f"--with-xauth={xauth.prefix.bin.xauth}")
return args

View File

@@ -65,6 +65,7 @@ class Magma(CMakePackage, CudaPackage, ROCmPackage):
"6.0.2",
"6.1.0",
"6.1.1",
"6.1.2",
]:
depends_on(f"rocm-core@{ver}", when=f"@2.8.0: +rocm ^hip@{ver}")
depends_on("python", when="@master", type="build")

View File

@@ -32,8 +32,8 @@ 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("c", type="build")
depends_on("cxx", type="build")
depends_on("cmake@3.0:", type="build")

View File

@@ -29,8 +29,8 @@ 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("c", type="build")
depends_on("cxx", type="build")
depends_on("blake3", when="@2.2:")
depends_on("mimalloc")

View File

@@ -14,6 +14,11 @@ class Nextflow(Package):
maintainers("dialvarezs", "marcodelapierre")
version(
"24.04.3",
sha256="e258f6395a38f044eb734cba6790af98b561aa521f63e2701fe95c050986e11c",
expand=False,
)
version(
"24.04.1",
sha256="d1199179e31d0701d86e6c38afa9ccade93f62d545e800824be7767a130510ba",

View File

@@ -0,0 +1,22 @@
diff --git a/deps/cares/config/linux/ares_config.h b/deps/cares/config/linux/ares_config.h
index 3cb135a..88934ad 100644
--- a/deps/cares/config/linux/ares_config.h
+++ b/deps/cares/config/linux/ares_config.h
@@ -116,7 +116,7 @@
#define HAVE_GETNAMEINFO 1
/* Define to 1 if you have `getrandom` */
-#define HAVE_GETRANDOM 1
+#undef HAVE_GETRANDOM
/* Define to 1 if you have `getservbyport_r` */
#define HAVE_GETSERVBYPORT_R 1
@@ -329,7 +329,7 @@
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/random.h> header file. */
-#define HAVE_SYS_RANDOM_H 1
+#undef HAVE_SYS_RANDOM_H
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1

View File

@@ -22,17 +22,22 @@ class NodeJs(Package):
license("Unicode-TOU")
# Current (latest features) - odd major number
version("21.7.3", sha256="ce1f61347671ef219d9c2925313d629d3fef98fc8d7f5ef38dd4656f7d0f58e7")
version("19.2.0", sha256="aac9d1a366fb57d68f4639f9204d1de5d6387656959a97ed929a5ba9e62c033a")
version("17.9.1", sha256="1102f5e0aafaab8014d19c6c57142caf2ba3ef69d88d7a7f0f82798051796027")
version("15.3.0", sha256="cadfa384a5f14591b84ce07a1afe529f28deb0d43366fb0ae4e78afba96bfaf2")
version("13.8.0", sha256="815b5e1b18114f35da89e4d98febeaba97555d51ef593bd5175db2b05f2e8be6")
version("13.5.0", sha256="4b8078d896a7550d7ed399c1b4ac9043e9f883be404d9b337185c8d8479f2db8")
# LTS (recommended for most users) - even major number
version(
"18.12.1",
sha256="ba8174dda00d5b90943f37c6a180a1d37c861d91e04a4cb38dc1c0c74981c186",
"22.4.0",
sha256="b62cd83c9a57a11349883f89b1727a16e66c02eb6255a4bf32714ff5d93165f5",
preferred=True,
)
version("22.3.0", sha256="6326484853093ab6b8f361a267445f4a5bff469042cda11a3585497b13136b55")
version("20.15.0", sha256="01e2c034467a324a33e778c81f2808dff13d289eaa9307d3e9b06c171e4d932d")
version("18.12.1", sha256="ba8174dda00d5b90943f37c6a180a1d37c861d91e04a4cb38dc1c0c74981c186")
version("16.18.1", sha256="3d24c9c3a953afee43edc44569045eda56cd45cd58b0539922d17da62736189c")
version("14.21.1", sha256="76ba961536dc11e4dfd9b198c61ff3399e655eca959ae4b66d926f29bfcce9d3")
version("14.16.1", sha256="5f5080427abddde7f22fd2ba77cd2b8a1f86253277a1eec54bc98a202728ce80")
@@ -79,9 +84,16 @@ class NodeJs(Package):
# https://github.com/spack/spack/issues/19310
conflicts(
"%gcc@:4.8",
msg="fails to build with gcc 4.8 (see https://github.com/spack/spack/issues/19310",
msg="fails to build with gcc 4.8 (see https://github.com/spack/spack/issues/19310)",
)
conflicts(
"%gcc@14:", when="@:19", msg="fails to build with gcc 14+ due to implicit conversions"
)
# See https://github.com/nodejs/node/issues/52223
patch("fix-old-glibc-random-headers.patch", when="^glibc@:2.24")
def setup_build_environment(self, env):
# Force use of experimental Python 3 support
env.set("PYTHON", self.spec["python"].command.path)

View File

@@ -24,7 +24,7 @@ class PikaAlgorithms(CMakePackage):
version("0.1.0", sha256="64da008897dfa7373155595c46d2ce6b97a8a3cb5bea33ae7f2d1ff359f0d9b6")
version("main", branch="main")
depends_on("cxx", type="build") # generated
depends_on("cxx", type="build")
generator("ninja")

View File

@@ -51,7 +51,7 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage):
version("0.1.0", sha256="aa0ae2396cd264d821a73c4c7ecb118729bb3de042920c9248909d33755e7327")
version("main", branch="main")
depends_on("cxx", type="build") # generated
depends_on("cxx", type="build")
generator("ninja")

View File

@@ -19,6 +19,7 @@ class PyArrow(PythonPackage):
license("Apache-2.0")
version("1.3.0", sha256="d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85")
version("1.2.3", sha256="3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1")
version("1.2.2", sha256="05caf1fd3d9a11a1135b2b6f09887421153b94558e5ef4d090b567b47173ac2b")
version("1.2.1", sha256="c2dde3c382d9f7e6922ce636bf0b318a7a853df40ecb383b29192e6c5cc82840")
@@ -26,9 +27,12 @@ class PyArrow(PythonPackage):
version("0.14.7", sha256="67f8be7c0cf420424bc62d8d7dc40b44e4bb2f7b515f9cc2954fb36e35797656")
version("0.14.1", sha256="2d30837085011ef0b90ff75aa0a28f5c7d063e96b7e76b6cbc7e690310256685")
depends_on("python@3.8:", type=("build", "run"), when="@1.3:")
depends_on("python@3.6:", type=("build", "run"), when="@1.2.1:")
depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@:0.16.0")
depends_on("py-setuptools", type="build")
depends_on("py-setuptools", type="build", when="@:1.2")
depends_on("py-flit-core@3.2:3", type="build", when="@1.3:")
depends_on("py-python-dateutil", type=("build", "run"))
depends_on("py-typing-extensions", type=("build", "run"), when="@1.2.1: ^python@:3.7")
depends_on("py-typing-extensions", type=("build", "run"), when="@1.2.1:1.2 ^python@:3.7")
depends_on("py-python-dateutil@2.7.0:", type=("build", "run"), when="@1.2.1:")
depends_on("py-types-python-dateutil@2.8.10:", type=("build", "run"), when="@1.3:")

View File

@@ -14,6 +14,7 @@ class PyBlosc2(PythonPackage):
license("BSD-3-Clause")
version("2.6.2", sha256="8ca29d9aa988b85318bd8a9b707a7a06c8d6604ae1304cae059170437ae4f53a")
version("2.2.8", sha256="59065aac5e9b01b0e9f3825d8e7f69f64b59bbfab148a47c54e4115f62a97474")
version("2.0.0", sha256="f19b0b3674f6c825b490f00d8264b0c540c2cdc11ec7e81178d38b83c57790a1")

View File

@@ -17,6 +17,8 @@ class PyColored(PythonPackage):
homepage = "https://gitlab.com/dslackw/colored"
pypi = "colored/colored-1.4.2.tar.gz"
version("2.2.4", sha256="595e1dd7f3b472ea5f12af21d2fec8a2ea2cf8f9d93e67180197330b26df9b61")
version("1.4.2", sha256="056fac09d9e39b34296e7618897ed1b8c274f98423770c2980d829fd670955ed")
depends_on("py-setuptools", type="build")
depends_on("py-setuptools", type="build", when="@1.4.2")
depends_on("py-flit-core@3.2.0:3", type="build", when="@2.2.4:")

View File

@@ -12,13 +12,14 @@ class PyGeopmdpy(PythonPackage):
homepage = "https://geopm.github.io"
git = "https://github.com/geopm/geopm.git"
url = "https://github.com/geopm/geopm/tarball/v3.0.1"
url = "https://github.com/geopm/geopm/tarball/v3.1.0"
maintainers("bgeltz", "cmcantalupo")
license("BSD-3-Clause")
tags = ["e4s"]
version("develop", branch="dev")
version("develop", branch="dev", get_full_repo=True)
version("3.1.0", sha256="2d890cad906fd2008dc57f4e06537695d4a027e1dc1ed92feed4d81bb1a1449e")
version("3.0.1", sha256="32ba1948de58815ee055470dcdea64593d1113a6cad70ce00ab0286c127f8234")
depends_on("c", type="build") # generated
@@ -31,13 +32,23 @@ class PyGeopmdpy(PythonPackage):
depends_on("py-jsonschema@3.2.0:", type="run")
depends_on("py-pyyaml@6.0:", type="run")
depends_on("py-setuptools@53.0.0:", type="build")
depends_on("py-setuptools-scm@7.0.3:", when="@3.1:", type="build")
depends_on("py-build@0.9.0:", when="@3.1:", type="build")
build_directory = "service"
@property
def build_directory(self):
if self.version == Version("3.0.1"):
return "service"
else:
return "geopmdpy"
def setup_build_environment(self, env):
if not self.spec.version.isdevelop():
env.set("SETUPTOOLS_SCM_PRETEND_VERSION", self.version)
@run_before("install")
def populate_version(self):
# @develop builds will have a version of 0.0.0
if not self.spec.version.isdevelop():
with working_dir(join_path("service", "geopmdpy")):
if self.version == Version("3.0.1"):
with working_dir(join_path(self.build_directory, "geopmdpy")):
with open("version.py", "w") as fd:
fd.write(f"__version__ = '{self.spec.version}'")

View File

@@ -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 PyGeopmpy(PythonPackage):
"""The Global Extensible Open Power Manager (GEOPM) Service provides a
user interface for accessing hardware telemetry and settings securely."""
homepage = "https://geopm.github.io"
git = "https://github.com/geopm/geopm.git"
url = "https://github.com/geopm/geopm/tarball/v3.1.0"
maintainers("bgeltz", "cmcantalupo")
license("BSD-3-Clause")
tags = ["e4s"]
version("develop", branch="dev", get_full_repo=True)
version("3.1.0", sha256="2d890cad906fd2008dc57f4e06537695d4a027e1dc1ed92feed4d81bb1a1449e")
depends_on("python@3.6:3", type=("build", "run"))
depends_on("py-setuptools@53.0.0:", type="build")
depends_on("py-setuptools-scm@7.0.3:", when="@3.1:", type="build")
depends_on("py-build@0.9.0:", when="@3.1:", type="build")
depends_on("py-cffi@1.14.5:", type="run")
depends_on("py-natsort@8.2.0:", type="run")
depends_on("py-numpy@1.19.5:", type="run")
depends_on("py-pandas@1.1.5:", type="run")
depends_on("py-tables@3.7.0:", type="run")
depends_on("py-psutil@5.8.0:", type="run")
depends_on("py-pyyaml@6.0:", type="run")
depends_on("py-docutils@0.18:", type="run")
build_directory = "geopmpy"
def setup_build_environment(self, env):
if not self.spec.version.isdevelop():
env.set("SETUPTOOLS_SCM_PRETEND_VERSION", self.version)

View File

@@ -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 PyMneBids(PythonPackage):
"""MNE-BIDS: Organizing MEG, EEG, and iEEG data according to the BIDS
specification and facilitating their analysis with MNE-Python."""
homepage = "https://mne.tools/mne-bids"
pypi = "mne_bids/mne_bids-0.15.0.tar.gz"
git = "https://github.com/mne-tools/mne-bids"
license("BSD-3-Clause")
version("0.15.0", sha256="8a3ac7fb586ba2be70eb687c67ae060b42693078c56232180b27161124c22f72")
variant("full", default=False, description="Enable full functionality.")
depends_on("python@3.9:", type=("build", "run"))
depends_on("py-hatchling", type="build")
depends_on("py-hatch-vcs", type="build")
depends_on("py-mne@1.5:", type=("build", "run"))
depends_on("py-numpy@1.21.2:", type=("build", "run"))
depends_on("py-scipy@1.7.1:", type=("build", "run"))

View File

@@ -22,6 +22,7 @@ class PyNumpy(PythonPackage):
license("BSD-3-Clause")
version("main", branch="main")
version("2.0.1", sha256="485b87235796410c3519a699cfe1faab097e509e90ebb05dcd098db2ae87e7b3")
version("2.0.0", sha256="cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864")
version("1.26.4", sha256="2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010")
version("1.26.3", sha256="697df43e2b6310ecc9d95f05d5ef20eacc09c7c4ecc9da3f235d39e71b7da1e4")
@@ -74,9 +75,8 @@ 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
depends_on("c", type="build")
depends_on("cxx", type="build")
# Based on PyPI wheel availability
with default_args(type=("build", "link", "run")):

View File

@@ -562,6 +562,7 @@ def setup_build_environment(self, env):
for pkg_dep in rocm_dependencies:
pkg_dep_cap = pkg_dep.upper().replace("-", "_")
env.set(f"{pkg_dep_cap}_PATH", spec[pkg_dep].prefix)
env.set("TF_ROCM_AMDGPU_TARGETS", ",".join(self.spec.variants["amdgpu_target"].value))
else:
env.set("TF_NEED_ROCM", "0")

View File

@@ -19,14 +19,15 @@ class Rayleigh(MakefilePackage):
maintainers("tukss")
version("main", branch="main")
version("1.2.0", sha256="e90acf18d47f6066fa68fd7b16c70ad9781a00be9e97467e9a388773e21e9e09")
version("1.1.0", sha256="93fbbdbde6088807638e4dcbd4d622203fd4753c1831bab2cb8eaeca5cba45c3")
version("1.0.1", sha256="9c9e3b0b180f32a889f158e2ea2967f4ac2bb2124f5d264f230efb8c8f19ea36")
version("1.0.0", sha256="4f2e8249256adff8c4b0bc377ceacf8a6441dcee54b7d36c784f05a454dc6dcf")
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("c", type="build")
depends_on("fortran", type="build")
depends_on("mpi")
depends_on("fftw-api@3")

View File

@@ -771,7 +771,7 @@ def add_include_path(dep_name):
add_include_path("xproto")
if "+opengl" in spec and "platform=darwin" not in spec:
add_include_path("glew")
add_include_path("mesa-glu")
add_include_path("glu")
if "platform=darwin" in spec:
# Newer deployment targets cause fatal errors in rootcling, so
# override with an empty value even though it may lead to link

View File

@@ -24,6 +24,7 @@ class Ruby(AutotoolsPackage, NMakePackage):
license("Ruby AND BSD-2-Clause AND MIT", checked_by="tgamblin")
version("3.3.4", sha256="fe6a30f97d54e029768f2ddf4923699c416cdbc3a6e96db3e2d5716c7db96a34")
version("3.3.2", sha256="3be1d100ebf2a0ce60c2cd8d22cd9db4d64b3e04a1943be2c4ff7b520f2bcb5b")
version("3.3.0", sha256="96518814d9832bece92a85415a819d4893b307db5921ae1f0f751a9a89a56b7d")
version("3.1.0", sha256="50a0504c6edcb4d61ce6b8cfdbddaa95707195fab0ecd7b5e92654b2a9412854")

View File

@@ -19,7 +19,7 @@ class Stdexec(CMakePackage):
version("23.03", sha256="2c9dfb6e56a190543049d2300ccccd1b626f4bb82af5b607869c626886fadd15")
version("main", branch="main")
depends_on("cxx", type="build") # generated
depends_on("cxx", type="build")
depends_on("cmake@3.23.1:", type="build")

View File

@@ -22,8 +22,8 @@ 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
depends_on("c", type="build")
depends_on("cxx", type="build")
variant("shared", default=True, description="Build the client library as a shared library")

View File

@@ -22,8 +22,8 @@ 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("c", type="build")
depends_on("cxx", type="build")
depends_on("capstone")
depends_on("dbus")

View File

@@ -13,7 +13,7 @@ class Uftrace(AutotoolsPackage):
"""Dynamic function graph tracer for Linux which demangles C, C++ and Rust calls"""
homepage = "https://uftrace.github.io/slide/"
url = "https://github.com/namhyung/uftrace/archive/v0.11.tar.gz"
url = "https://github.com/namhyung/uftrace/archive/v0.16.tar.gz"
git = "https://github.com/namhyung/uftrace.git"
executables = ["^uftrace$"]
maintainers("bernhardkaindl")
@@ -23,11 +23,10 @@ class Uftrace(AutotoolsPackage):
# The build process uses 'git describe --tags' to get the package version
version("master", branch="master", get_full_repo=True)
version("0.11", sha256="101dbb13cb3320ee76525ec26426f2aa1de4e3ee5af74f79cb403ae4d2c6c871")
version("0.10", sha256="b8b56d540ea95c3eafe56440d6a998e0a140d53ca2584916b6ca82702795bbd9")
version("0.16", sha256="dd0549f610d186b6f25fa2334a5e82b6ddc232ec6ca088dbb41b3fe66961d6bb")
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
depends_on("c", type="build")
depends_on("cxx", type="build") # full demangler support with libstdc++
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")
@@ -38,16 +37,12 @@ class Uftrace(AutotoolsPackage):
depends_on("lsof", type="test")
depends_on("pkgconfig", type="build")
depends_on("libunwind")
depends_on("libtraceevent")
depends_on("ncurses")
depends_on("python@2.7:", when="+python2")
depends_on("python@3.5:", when="+python3")
depends_on("lua-luajit")
# Fix the version string if building below another git repo. Submitted upstream:
@when("@:0.11")
def patch(self):
filter_file("shell git", "shell test -e .git && git", "Makefile")
def check(self):
make("test", *["V=1", "-j{0}".format(max(int(make_jobs), 20))])
# In certain cases, tests using TCP/IP can hang. Ensure that spack can continue:
@@ -59,26 +54,23 @@ def install(self, spec, prefix):
def installcheck(self):
pass
def test(self):
def test_uftrace(self):
"""Perform stand-alone/smoke tests using the installed package."""
uftrace = self.prefix.bin.uftrace
self.run_test(
uftrace,
["-A", ".", "-R", ".", "-P", "main", uftrace, "-V"],
[
r"dwarf",
r"luajit",
r"tui",
r"sched",
r"dynamic",
r"main\(2, ",
r" getopt_long\(2, ",
r" .*printf.*\(",
r"} = 0; /\* main \*/",
],
installed=True,
purpose="test: testing the installation",
)
uftrace = which(self.prefix.bin.uftrace)
options = (["-A", ".", "-R", ".", "-P", "main", uftrace, "-V"],)
expected = [
r"dwarf",
r"luajit",
r"tui",
r"sched",
r"dynamic",
r"main\(2, ",
r" getopt_long\(2, ",
r" .*printf.*\(",
r"} = 0; /\* main \*/",
]
out = uftrace(*options, output=str.split, error=str.split)
check_outputs(expected, out)
@classmethod
def determine_version(cls, exe):

View File

@@ -22,7 +22,7 @@ class Ut(CMakePackage):
version("2.0.0", sha256="8b5b11197d1308dfc1fe20efd6a656e0c833dbec2807e2292967f6e2f7c0420f")
version("1.1.9", sha256="1a666513157905aa0e53a13fac602b5673dcafb04a869100a85cd3f000c2ed0d")
depends_on("cxx", type="build") # generated
depends_on("cxx", type="build")
generator("ninja")

View File

@@ -20,6 +20,7 @@ class Votca(CMakePackage):
maintainers("junghans")
version("master", branch="master")
version("2024.1", sha256="68669a7d09020f780d2633eb865c6c53e5fb38d155f80c9670ebf9d10d10bee6")
version("2024", sha256="7f342e857f4a6ba6d25937f63830afa3c32cbd906255c8d78aa6c500cfd418c8")
version("2023", sha256="6150a38c77379d05592a56ae4392a00c4636d02198bb06108a3dc739a45115f8")
version("2022.1", sha256="358119b2645fe60f88ca621aed508c49fb61f88d29d3e3fa24b5b831ed4a66ec")

View File

@@ -22,6 +22,8 @@ class Whip(CMakePackage, CudaPackage, ROCmPackage):
version("0.2.0", sha256="d8fec662526accbd1624922fdf01a077d6f312cf253382660e4a2f65e28e8686")
version("0.1.0", sha256="5d557794f4afc8332fc660948a342f69e22bc9e5d575ffb3e3944cf526db5ec9")
depends_on("cxx", type="build")
depends_on("cmake@3.22:", type="build")
# Exactly one of +cuda and +rocm need to be set