Commit graph

13491 commits

Author SHA1 Message Date
Adam J. Stewart
95f5419502
py-ipykernel: fix bug in phase method (#19986)
* py-ipykernel: fix bug in phase method

* Fix bug in executable calling
2020-11-18 18:45:29 -08:00
Enrico Usai
bc5c475909
aws-parallelcluster: 2.10.0 release (#19976)
Updated boto3 dependency and removed useless comments.
2020-11-18 19:27:04 -06:00
Danny Taller
3b9155239b
hip support for umpire, chai, raja, camp (#19715)
* create HipPackage base class and do some refactoring

* comments and added conflict to raja for openmp with hip
2020-11-18 11:52:21 -08:00
Cyrus Harrison
676d68a979
add 0.6.0 conduit release and update for branch changes (#19696) 2020-11-18 12:34:14 -06:00
vvolkl
3069631f37
Add "hep" label to high energy physics packages (#19968)
* [hep] add hep tag to relevant packages

* [lcio] add hep label
2020-11-18 17:07:35 +00:00
Dr. Christian Tacke
eca1370abc
root: Add +spectrum variant to enable TSpectrum (#19971) 2020-11-18 16:37:37 +00:00
Axel Huebl
8b431d1774
py-ipykernel: fix install (#19617)
There is a post-install routine in `ipykernel` that needs to be
called for proper registration with jupyter.
2020-11-18 07:34:12 -06:00
Wouter Deconinck
a0a15b5cd0
qt: patch missing includes when +opengl %gcc@10: (#19963) 2020-11-18 07:51:51 -05:00
Massimiliano Culpo
532fc40e94
clingo: add master branch version (#19958)
* updated @master to point to the master branch
* also added a @spack that points to a fixed commit
2020-11-18 04:21:55 -08:00
Greg Becker
77b2e578ec
spack test (#15702)
Users can add test() methods to their packages to run smoke tests on
installations with the new `spack test` command (the old `spack test` is
now `spack unit-test`). spack test is environment-aware, so you can
`spack install` an environment and then run `spack test run` to run smoke
tests on all of its packages. Historical test logs can be perused with
`spack test results`. Generic smoke tests for MPI implementations, C,
C++, and Fortran compilers as well as specific smoke tests for 18
packages.

Inside the test method, individual tests can be run separately (and
continue to run best-effort after a test failure) using the `run_test`
method. The `run_test` method encapsulates finding test executables,
running and checking return codes, checking output, and error handling.

This handles the following trickier aspects of testing with direct
support in Spack's package API:

- [x] Caching source or intermediate build files at build time for
      use at test time.
- [x] Test dependencies,
- [x] packages that require a compiler for testing (such as library only
      packages).

See the packaging guide for more details on using Spack testing support.
Included is support for package.py files for virtual packages. This does
not change the Spack interface, but is a major change in internals.

Co-authored-by: Tamara Dahlgren <dahlgren1@llnl.gov>
Co-authored-by: wspear <wjspear@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-18 02:39:02 -08:00
sameershende
b81bbfb6e9
Added -level_zero -rocm -opencl flags and sha256 for TAU v2.30. (#19962)
* Added -level_zero -rocm -opencl flags and sha256 for TAU v2.30.

* Removed the depends_on clause for OpenCL and added a variant for OneAPI level_zero.

* remove depends_on rocm

* remove depends_on rocprofiler

Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com>
2020-11-17 19:09:24 -08:00
Massimiliano Culpo
7ffad278d3 concretizer: modified weights for providers and matching for externals
This commit address the case of concretizing a root spec with a
transitive conditional dependency on a virtual package, provided
by an external. Before these modifications default variant values
for the dependency bringing in the virtual package were not
respected, and the external package providing the virtual was added
to the DAG.

The issue stems from two facts:
- Selecting a provider has higher precedence than selecting default variants
- To ensure that an external is preferred, we used a negative weight

To solve it we shift all the providers weight so that:
- External providers have a weight of 0
- Non external provider have a weight of 10 or more

Using a weight of zero for external providers is such that having
an external provider, if present, or not having a provider at all
has the same effect on the higher priority minimization.

Also fixed a few minor bugs in concretize.lp, that were causing
spurious entries in the final answer set.

Cleaned concretize.lp from leftover rules.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
9a03fd2834 concretizer: don't require a provider for virtual deps if spec is external
This commit introduces a new rule:

real_node(Package) :- not external(Package), node(Package).

that permits to distinguish between an external node and a
real node that shouldn't trim dependency. It solves the
case of concretizing ninja with an external Python.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
e0ae60edc4 Added unit tests to for regressions on open concretizer bugs 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
930b05fab4 Add unit tests for dependencies being patched by parent 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
e7208b1598 tests: verify to handle dependencies conditional on other dependencies 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
d00e8394f8 concretizer: handle conflicts with compiler ranges correctly
As reported, conflicts with compiler ranges were not treated
correctly. This commit adds tests to verify the expected behavior
for the new concretizer.

The new rules to enforce a correct behavior involve:
- Adding a rule to prefer the compiler selected for
  the root package, if no other preference is set
- Give a strong negative weight to compiler preferences
  expressed in packages.yaml
- Maximize on compiler AND compiler version match
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
d4b83daa48 concretizer: added logic for preferred variants
If preferred variants are present, they'll
set the default value of a variant. Otherwise
the default value is what is encoded
in package.py
2020-11-17 10:04:13 -08:00
Themos Tsikas
72bc6cdf61
Build 7036 of Nag Fortran Compiler (#19954)
updated sha256sum of download .tgz
2020-11-17 11:14:22 -06:00
t-nojiri
7562e53a5a
clfft: Fix for aarch64 (#19873)
* clfft: Fix for aarch64

* clfft: Changed the patch application conditions.

* clfft: Changed Patch file
2020-11-17 09:59:14 -06:00
Keita Iwabuchi
8ba0ee7a0e
Metall package: add v0.7 (#19950)
* Metall: add version 0.2

* Add Metall v0.3

* Update Metall package to v0.4 and v0.5.

* Metall package: add v0.6

* Metall package: add v0.7
2020-11-17 09:58:36 -06:00
Tamara Dahlgren
6fa6af1070
Support parallel environment builds (#18131)
As of #13100, Spack installs the dependencies of a _single_ spec in parallel.
Environments, when installed, can only get parallelism from each individual
spec, as they're installed in order.  This PR makes entire environments build
in parallel by extending Spack's package installer to accept multiple root
specs.  The install command and Environment class have been updated to use
the new parallel install method.

The specs and kwargs for each *uninstalled* package (when not force-replacing
installations) of an environment are collected, passed to the `PackageInstaller`,
and processed using a single build queue.

This introduces a `BuildRequest` class to track install arguments, and it
significantly cleans up the code used to track package ids during installation.
Package ids in the build queue are now just DAG hashes as you would expect,

Other tasks:

- [x] Finish updating the unit tests based on `PackageInstaller`'s use of
      `BuildRequest` and the associated changes
- [x] Change `environment.py`'s `install_all` to use the `PackageInstaller` directly
- [x] Change the `install` command to leverage the new installation process for multiple specs
- [x] Change install output messages for external packages, e.g.:
       `[+] /usr` -> `[+] /usr (external bzip2-1.0.8-<dag-hash>`
- [x] Fix incomplete environment install's view setup/update and not confirming all 
       packages are installed (?)
- [x] Ensure externally installed package dependencies are properly accounted for in 
       remaining build tasks
- [x] Add tests for coverage (if insufficient and can identity the appropriate, uncovered non-comment lines)
- [x] Add documentation
- [x] Resolve multi-compiler environment install issues
- [x] Fix issue with environment installation reporting (restore CDash/JUnit reports)
2020-11-17 02:41:07 -08:00
vvolkl
ee5ae14a3b
[xerces-c] add netaccessor variant, new version (#19927)
* [xerces-c] add netaccessor variant, new version

* [geant4] add xerces-c netaccessor requirement

* [xerces-c] format
2020-11-16 16:12:53 -06:00
Wouter Deconinck
8752fc5872
[pythia6] needs CFLAGS/FFLAGS=-fcommon when %gcc@10: (#19947) 2020-11-16 16:12:20 -06:00
Jordan Ogas
385f5b8c53
node-js add gcc 4.8 conflict (#19945)
* add gcc 4.8 conflict

* commit suggestion

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-16 16:11:26 -06:00
eugeneswalker
81a7ae2c27
llvm: add variant: llvm_dylib (LLVM_BUILD_LLVM_DYLIB:Bool) (#19701) 2020-11-16 14:10:20 -08:00
Phil Tooley
42008e532f
WRF: Add version 3.9.1.1 and improve recipe robustness (#19882)
* Add WRF 3.9.1.1 and improve recipe robustness

* Include version 3.9.1.1 as common benchmarking workload
* Fix compilation against recent glibc (detect spack installed libtirpc)
* Detect and handle failed compilation (upstream use make -i)

* WRF: PR changes round 1
fix build jobs
fix maintainers
fix pkgconfig dependency
use Executable to run compile stage
repair some overzealous autoformatting by black

* WRF: make recipe py26 compatible

* wrf: recipe review changes round 2

* more python 26 fixes
2020-11-16 15:56:39 -06:00
Dr. Christian Tacke
8d50427c45
vgm: Switch all URLs to https (#19943) 2020-11-16 13:31:53 -06:00
Hadrien G
c512d0f408
[acts] Add versions 1.2.1 and 2.0.0 (#19936) 2020-11-16 13:28:55 -06:00
Ruben Di Battista
1fb8ae42e0
texlive: Fix install of @live version (#19941)
The unattended install using the pre-compiled binaries (tl-install)
needs a .profile file or it goes in interactive mode blocking the
install process forever
2020-11-16 13:26:31 -06:00
Satish Balay
6142ab56c7
Trilinos: update 13.0.1 (#19944) 2020-11-16 13:55:48 -05:00
Andreas Baumbach
a8fccdbddd
add new version py-wavelets@1.1.1 (#19930)
* add new version py-wavelets@1.1.1

* also update dependencies

* Update package.py
2020-11-16 10:41:17 -06:00
t-nojiri
793af74eb4
graphmap: Fix for aarch64 (#19935) 2020-11-16 10:41:00 -06:00
Matthieu Dorier
59d0c17654
Added new versions for the py-attrs package (#19938) 2020-11-16 10:39:49 -06:00
vvolkl
b6843e1a82
[dd4hep] switch to ninja generator to avoid running out of memory … (#19940)
* [dd4hep] switch to ninja generator to avoid running out of memory while compiling ddparsers

* [dd4hep] format
2020-11-16 10:38:50 -06:00
Dr. Christian Tacke
0aa55d426c
vmc: Add Version 1-0-p3 (#19942) 2020-11-16 10:36:32 -06:00
Andreas Baumbach
6aaa44c929
add new version py-tifffile@2020.10.1 (#19929)
* add new version py-tifffile@2020.10.1

* also update dependencies

* Update package.py
2020-11-16 10:08:40 -06:00
Tomoki, Karatsu
9c4733ab59
py-numpy: Add Fujitsu Fortran compiler to compiler type. (#19858)
* py-numpy: Add Fujitsu Fortran compiler to compiler type.

py-scipy: Specify Fujitsu to fcompiler types.

* Create patches applicable to each version.
2020-11-16 10:05:45 -06:00
Dr. Christian Tacke
5e904e37bb
singularity: added v3.6.4 (#19939) 2020-11-16 13:33:54 +01:00
Joseph Wang
b218991283
fix a typo in podio package script (#19928) 2020-11-15 11:33:19 -06:00
Xavier Delaruelle
9f24a4b783
environment-modules: add version 4.6.1 (#19926) 2020-11-14 20:24:54 -06:00
Brian Van Essen
55ec18a580
Bugfixes for lbann sw stack (#19903)
* Added guard for setting CUB_DIR to only when cuda variant is true

* Added support for OpenMP on OSX platforms

* Updated the way that LBANN, Hydrogen, and DiHydrogen handle
apple-clang with OpenMP and Clang installed on OS X via brew.

* Fixed bug in spec resolution

* Fixed merge conflict

* Fixed typo

* Fixed flake8
2020-11-14 18:59:12 -06:00
darmac
35511c178b
Add new package: druid (#19911) 2020-11-14 09:45:10 -06:00
ilbiondo
e6972c9d37
bpp-phyl-omics package (#19734) 2020-11-14 09:40:49 -06:00
G-Ragghianti
19b26f2938
PAPI package: added cuda and nvml support (#19896)
* Added cuda support

* Added cuda and nvml variants

* Refined version conflict logic.
2020-11-14 09:39:14 -06:00
ilbiondo
d439573c60
bpp-seq-omics package (#19733) 2020-11-14 08:35:27 -06:00
Adam J. Stewart
168dd6d03a
Don't use prefix.lib in tcl/tk/glib/etc (#19761) 2020-11-14 12:42:51 +01:00
darmac
cd7c2fca02
nbdkit: new package at v1.23.7 (#19922) 2020-11-14 12:39:13 +01:00
darmac
e549c32033
ncompress: new package at v4.2.4.6 (#19923) 2020-11-14 12:32:15 +01:00
Tomoki, Karatsu
e6b0019271
openblas: fix to build v0.3.11 or later with Fujitsu compiler. (#19853) 2020-11-14 12:29:30 +01:00