Commit graph

18497 commits

Author SHA1 Message Date
kuramoto-fj
d86c345413
PFAPACK: Add new package (#20365)
* PFAPACK: Add new package

* PFAPACK : fix flake8 errors

* add type=(build, run) to the recipe
2020-12-25 09:16:38 -06:00
kuramoto-fj
b56d1a77ad
Lis: Add new package (#20548)
* Lis: Add new package

* delete unnecessary inner quotes
2020-12-25 09:15:13 -06:00
Toyohisa Kameyama
1daf6d3df7
openwsman: fix detect python executable (#20317)
* openwsman: fix detect python executable

- use spack's python insted of system's python
- Add variant to use python.
- fix dependency.
- support python2.

* format fixed.

* fix python command.
2020-12-25 09:13:31 -06:00
Tomoyasu Nojiri
a7017f8e38
openfdtd: Add version 2.6.0 (#20460) 2020-12-25 09:12:42 -06:00
Tomoyasu Nojiri
db5c6e8215
openstf: Add version 1.7.0 (#20461) 2020-12-25 09:12:11 -06:00
a-saitoh-fj
637620a408
New package: py-pydmd (#19809)
* New package: py-pydmd

* modified:package.py

* modified: package.py
2020-12-25 00:01:21 -06:00
lorddavidiii
9c03ddbb44
cfitsio: new versions and new url sheme (#20084)
* cfitsio: new versions and new url sheme

* cfitsio: fix version order
2020-12-24 23:59:28 -06:00
Tom Payerle
0150b394d7
mumps: Fix dependency issues in shared licenses (#20197)
See issue #19644
This script makes lib[cdsz]mumps.so explicitly depend on
libmumps_common.so (and libmpiseq.so if ~mpi)
2020-12-24 23:50:27 -06:00
Cameron Stanavige
52e03b5528
unifyfs: dependency changes and new release (#20271)
This updates the UnifyFS packages to account for the latest v0.9.1
release.

Updates required and optional dependencies for the respective
releases.

Locks margo and mercury dependencies at specific versions while
integration with their latest versions is still in progress.
2020-12-24 23:46:11 -06:00
Toyohisa Kameyama
5e0376bb3b
openipmi: fix dependency and add version 2.0.29 (#20276)
* openipmi: fix dependency and add version 2.0.29

- Add perl and readline dependency
- fix dependency type
- Fix readline bug in 2.0.27 (d1dd570cf7/)
- Add 2.0.29

* Add patch file.
2020-12-24 23:34:30 -06:00
Asher Mancinelli
09f6bd2a0f
adding cce to compilers that patch gdbm (#20353) 2020-12-24 23:07:22 -06:00
Sreenivasa Murthy Kolam
ba62dc3dce
fix rocm_3.8.0 build error for rocprim,rocrand,rocfft packages (#20446)
* fix rocm_3.8.0 build error for rocprim,rocrand,rocfft packages

* fix flake8 errors
2020-12-24 22:54:59 -06:00
Joshua S Brown
4c8b773a42
Add pem package file (#20447)
* Add pem package file

* Cleanup formatting

* Replace homepage with url to ReadtheDocs

* Simplify package description
2020-12-24 22:54:23 -06:00
Chuck Atkins
0a32e57e51
mesa: Add missing expat dependency (#20459) 2020-12-24 22:53:01 -06:00
Tomoyasu Nojiri
ac68113406
libjson: Fix install parameters (#20470) 2020-12-24 22:46:47 -06:00
Hadrien G
58cf6d7dbd
[acts] Add version 4 (#20472)
* Add acts v4

* Please flake8
2020-12-24 22:45:50 -06:00
Gilles Gouaillardet
c2ce7c65b3
xios: add support for Fujitsu compilers (#20474) 2020-12-24 22:44:56 -06:00
Filippo Spiga
de068f0b52
Adding CUDA 11.2.0 (#20477) 2020-12-24 22:42:47 -06:00
Toyohisa Kameyama
edb25911e8
salmon-tddft: new package. (#20543)
* salmon-tddft: new package.

* remove debug print.

* remove duplicate line.
2020-12-24 22:41:11 -06:00
QuellynSnead
6684cb165a
Starting with HDF5 1.10.0, the H5FD_class_t structure has a new (#20529)
"terminate" member.  Initialize it to NULL.
2020-12-24 22:35:19 -06:00
QuellynSnead
c214e4dd2d
fftw: PGI compiler has trouble with avx2/avx-512 SIMD support (#20546)
* PGI compiler has trouble with avx2 SIMD support
(https://github.com/FFTW/fftw3/issues/78)

* Hew to the project's preferred indentation standard.

* Expand '%nvhpc' logic to include '%pgi'.

* Exceeded the max line-length.

* Break up the long compound statement into nested if's.

* Inadvertently picked up an extraneous file.

* PGI compiler has trouble with avx2/avx-512 SIMD support, too.
2020-12-24 22:33:57 -06:00
QuellynSnead
e9f0473e26
zoltan: Add PGI runtime libs to LDFLAGS (#20547)
* Add PGI runtime libs to LDFLAGS when '%pgi' in spec.

* Revert "Add PGI runtime libs to LDFLAGS when '%pgi' in spec."

This reverts commit 31c3ef8ea22156fdeef6f82a29e9cea8ac86f006.

* Add PGI runtime libs to LDFLAGS when '%pgi' in spec.
2020-12-24 22:32:58 -06:00
Kody J. Everson
5add3a2f4d
Dropped parametis dependency in 0.82 release (#20481) 2020-12-24 17:32:33 -06:00
Tomoyasu Nojiri
81f91de50e
nbdkit: Fix configure arg (#20488) 2020-12-24 17:18:05 -06:00
Tiziano Müller
5d2c09e19e
Add libvori and support for libvori (and spglib) in CP2K (#20508)
* packages: initial commit of libvori

* cp2k: add support for libvori

* cp2k: add support for spglib
2020-12-24 17:12:34 -06:00
Mark Olesen
999b35cf5f
openfoam: update for version 20.12 (#20533)
Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-12-24 17:05:43 -06:00
a-saitoh-fj
4ef3fb9434
Fixed for merging patches for Fujitsu compiler in version 0.3.13 (#20539) 2020-12-24 17:05:01 -06:00
a-saitoh-fj
9066982168
Update to the latest version (1.6.0) (#20540) 2020-12-24 17:04:04 -06:00
kuramoto-fj
7d267e1440
mptensor: Add new package (#20542) 2020-12-24 16:59:02 -06:00
Tomoyasu Nojiri
b1a6e583c0
babelflow: Add spec (#20544) 2020-12-24 16:54:24 -06:00
Omri Mor
cfbe3aa056
Remove more variables from build environment (#20156)
GCC looks for included files based on several env vars.
Remove C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, and OBJC_INCLUDE_PATH
from the build environment to ensure it's clean and prevent
accidental clobbering.
2020-12-24 16:48:53 -06:00
Alexander Baumgarten
91e106ae7c
libgff: new package at version 2.0.0 (#20233)
* libgff: new package at version 2.0.0

* Removed default cmake function, fixed flake8 error

* Fixed errors
2020-12-24 16:48:01 -06:00
Michael Kuhn
2d1c4e4b5d
sqlite: add 3.34.0 (#20354) 2020-12-24 16:47:17 -06:00
Dr. Christian Tacke
741a0b498a
py-lxml: Add Version 4.6.1 (#20361)
Also switch homepage to https.
2020-12-24 16:46:43 -06:00
Paul R. C. Kent
763fc989c5
New versions: py-sphinxcontrib-bibtex 2.2.0 and py-pybtex-docutils 0.2.2 (#20438)
* Add v2.0.0

* Add 0.2.2

* Improve packages

* No trailing
2020-12-24 16:46:28 -06:00
Brian Van Essen
6c00ebab16
Add lbann cmake flags (#20452)
* Adding support for the CMake flags in LBANN that are missing.

* Added new flag to OpenCV dependency and removed negative variants
since OpenCV no longer turns on everything by default.  Removed CMake
flags in LBANN that have been deprecated.

* Removed type='build' flags from dependencies so that they get linked
into a environment's view.

* Removed type='build' flags from dependencies so that they get linked
into a environment's view.  Fixed DiHydrogen variant to enable
DistConv feature, renamed to +distconv from +legacy.  Added conflicts
line to indicated that DistConv and ROCm don't work with +half
support.

* Fixed Flake8 and cleaned up ordering of variants.

* Flake8

* Backed out changes to not mark and cmake and ninja as build
dependencies, which was introduced to make sure that they appear in
a spack environment.

* Backed out changes to not mark doc related packages as build
dependencies, which was introduced to make sure that they appear
in a spack environment.

* Fixed how recipe communicates the intent to build and run tests to the
package CMake.
2020-12-24 16:46:12 -06:00
Joshua S Brown
ee0ec12603
Add py-ez-setup package file (#20520)
* Add py-ez-setup package file

* Cleanup formatting

* Cleanup formatting take 2
2020-12-24 16:43:15 -06:00
tilne
805cc61036
Update ParallelCluster to v2.10.1 (#20524)
Signed-off-by: Tim Lane <tilne@amazon.com>
2020-12-24 16:42:53 -06:00
zorun
f2c523db1e
[gcc] Make ISL optional by adding a +graphite variant (#20531)
Fixes: #20515

Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org>
2020-12-24 20:17:35 +01:00
zorun
4ef33a4cd7
[gcc] Explicitly disable libs when they are not required (#20532)
This is to make sure that the build system doesn't pick up a library that
would happen to be available.

Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org>
2020-12-24 19:39:46 +01:00
Greg Becker
6947951aaf
bugfix: do not write empty default dicts/lists in envs (#20526)
Environment yaml files should not have default values written to them.

To accomplish this, we change the validator to not add the default values to yaml. We rely on the code to set defaults for all values (and use defaulting getters like dict.get(key, default)).

Includes regression test.
2020-12-23 20:29:38 -08:00
Massimiliano Culpo
91e86f9d0d concretizer: remove vestigial code and comment 2020-12-23 16:40:47 -08:00
Todd Gamblin
1571d6240b style: ensure that all packages pass spack style -a
- fix trailing whitespace and other issues uncovered by better flake8
  checking.

- fix extra whitespace printed by `spack style` command
2020-12-23 16:17:54 -08:00
Robert Cohn
0bb18d8a38
Add Intel oneAPI packages (#20411)
This creates a set of packages which all use the same script to install
components of Intel oneAPI. This includes:

* An inheritable IntelOneApiPackage which knows how to invoke the
  installation script based on which components are requested
* For components which include headers/libraries, an inheritable
  IntelOneApiLibraryPackage is provided to locate them
* Individual packages for DAL, DNN, TBB, etc.
* A package for the Intel oneAPI compilers (icx/ifx). This also includes
  icc/ifortran but these are not currently detected in this PR
2020-12-23 15:39:40 -08:00
Howard Pritchard
88a608a26c
papi: patch fortran tests for Cray FTN compiler (#20339)
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2020-12-23 09:31:19 -06:00
Tom Scogland
857749a9ba
add mypy to style checks; rename spack flake8 to spack style (#20384)
I lost my mind a bit after getting the completion stuff working and
decided to get Mypy working for spack as well. This adds a 
`.mypy.ini` that checks all of the spack and llnl modules, though
not yet packages, and fixes all of the identified missing types and
type issues for the spack library.

In addition to these changes, this includes:

* rename `spack flake8` to `spack style`

Aliases flake8 to style, and just runs flake8 as before, but with
a warning.  The style command runs both `flake8` and `mypy`,
in sequence. Added --no-<tool> options to turn off one or the
other, they are on by default.  Fixed two issues caught by the tools.

* stub typing module for python2.x

We don't support typing in Spack for python 2.x. To allow 2.x to
support `import typing` and `from typing import ...` without a
try/except dance to support old versions, this adds a stub module
*just* for python 2.x.  Doing it this way means we can only reliably
use all type hints in python3.7+, and mypi.ini has been updated to
reflect that.

* add non-default black check to spack style

This is a first step to requiring black.  It doesn't enforce it by
default, but it will check it if requested.  Currently enforcing the
line length of 79 since that's what flake8 requires, but it's a bit odd
for a black formatted project to be quite that narrow.  All settings are
in the style command since spack has no pyproject.toml and I don't
want to add one until more discussion happens. Also re-format
`style.py` since it no longer passed the black style check
with the new length.

* use style check in github action

Update the style and docs action to use `spack style`, adding in mypy
and black to the action even if it isn't running black right now.
2020-12-22 21:39:10 -08:00
Harsh Bhatia
a93f6ca619
Add patch to fix bazel build on power9 (#20512)
* fix bazel on power9

* small fix in tensorflow package

* removed import not needed anymore
2020-12-22 16:50:03 -06:00
Todd Gamblin
5f2a821183
concretizer: refactor conditional rules to be less repetitious (#20507)
We have to repeat all the spec attributes in a number of places in
`concretize.lp`, and Spack has a fair number of spec attributes. If we
instead add some rules up front that establish equivalencies like this:

```
    node(Package) :- attr("node", Package).
    attr("node", Package) :- node(Package).

    version(Package, Version) :- attr("version", Package, Version).
    attr("version", Package, Version) :- version(Package, Version).
```

We can rewrite most of the repetitive conditions with `attr` and repeat
only for each arity (there are only 3 arities for spec attributes so far)
as opposed to each spec attribute. This makes the logic easier to read
and the rules easier to follow.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-22 19:49:36 +01:00
Ben Bergen
97aa455f14
Patch meson.build llvm config strategy (#20451)
This patch logic resovles a linking issue with ncurses in the mesa
package. This appears to be a recurring problem that was identified in
the mesa gitlab issues here:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/2843

Using `_llvm_method = 'auto'` is broken. This patch replaces that with
`_llvm_method = 'config-tool'`, which is a hack, but makes it possible
to build.

I have commented on the closed issue (2843), referencing the original
author of the bug, and one of the mesa developers, so perhaps they will
fix the problem.
2020-12-22 10:39:56 -07:00
Tom Scogland
c1e4f3e131
Refactor flake8 handling and tool compatibility (#20376)
This PR does three related things to try to improve developer tooling quality of life:

1. Adds new options to `.flake8` so it applies the rules of both `.flake8` and `.flake_package` based on paths in the repository.
2. Adds a re-factoring of the `spack flake8` logic into a flake8 plugin so using flake8 directly, or through editor or language server integration, only reports errors that `spack flake8` would.
3. Allows star import of `spack.pkgkit` in packages, since this is now the thing that needs to be imported for completion to work correctly in package files, it's nice to be able to do that.

I'm sorely tempted to sed over the whole repository and put `from spack.pkgkit import *` in every package, but at least being allowed to do it on a per-package basis helps.

As an example of what the result of this is:

```
~/Workspace/Projects/spack/spack develop* ⇣
❯ flake8 --format=pylint ./var/spack/repos/builtin/packages/kripke/package.py
./var/spack/repos/builtin/packages/kripke/package.py:6: [F403] 'from spack.pkgkit import *' used; unable to detect undefined names
./var/spack/repos/builtin/packages/kripke/package.py:25: [E501] line too long (88 > 79 characters)

~/Workspace/Projects/spack/spack refactor-flake8*
1 ❯ flake8 --format=spack ./var/spack/repos/builtin/packages/kripke/package.py

~/Workspace/Projects/spack/spack refactor-flake8*
❯ flake8 ./var/spack/repos/builtin/packages/kripke/package.py
```

* qa/flake8: update .flake8, spack formatter plugin

Adds:
* Modern flake8 settings for per-path/glob error ignores, allows
  packages to use the same `.flake8` as the rest of spack
* A spack formatter plugin to flake8 that implements the behavior of
  `spack flake8` for direct invocations.  Makes integration with
  developer tooling nicer, linting with flake8 reports only errors that
  `spack flake8` would report.  Using pyls and pyls-flake8, or any other
  non-format-dependent flake8 integration, now works with spack's rules.

* qa/flake8: allow star import of spack.pkgkit

To get working completion of directives and spack components it's
necessary to import the contents of spack.pkgkit.  At the moment doing
this makes flake8 displeased.  For now, allow spack.pkgkit and spack
both, next step is to ban spack * and require spack.pkgkit *.

* first cut at refactoring spack flake8

This version still copies all of the files to be checked as befire, and
some other things that probably aren't necessary, but it relies on the
spack formatter plugin to implement the ignore logic.

* keep flake8 from rejecting itself

* remove separate packages flake8 config

* fix failures from too many files

I ran into this in the PR converting pkgkit to std.  The solution in
that branch does not work in all cases as it turns out, and all the
workarounds I tried to use generated configs to get a single invocation
of flake8 with a filename optoion to work failed.  It's an astonishingly
frustrating config option.

Regardless, this removes all temporary file creation from the command
and relies on the plugin instead.  To work around the huge number of
files in spack and still allow the command to control what gets checked,
it scans files in batches of 100.  This is a completely arbitrary number
but was chosen to be safely under common line-length limits.  One
side-effect of this is that every 100 files the command will produce
output, rather than only at the end, which doesn't seem like a terrible
thing.
2020-12-22 09:28:46 -08:00