Compare commits

...

2977 Commits

Author SHA1 Message Date
Todd Gamblin
764cafc1ce update CHANGELOG.md for 0.15.4 2020-08-13 00:41:59 -07:00
Todd Gamblin
091b45c3c7 bump version number for 0.15.4 2020-08-13 00:33:31 -07:00
Massimiliano Culpo
1707448fde Move Python 2.6 unit tests to Github Actions (#17279)
* Run Python2.6 unit tests on Github Actions
* Skip url tests on Python 2.6 to reduce waiting times
* Skip foreground background tests on Python 2.6 to reduce waiting times
* Removed references to Travis in the documentation
* Deleted install_patchelf.sh (can be installed from repo on CentOS 6)
2020-08-13 00:33:31 -07:00
Patrick Gartung
4d25481473 Buildcache: bindist test without invoking spack compiler wrappers. (#15687)
* Buildcache:
   * Try mocking an install of quux, corge and garply using prebuilt binaries
   * Put patchelf install after ccache restore
   * Add script to install patchelf from source so it can be used on Ubuntu:Trusty which does not have a patchelf pat package. The script will skip building on macOS
   * Remove mirror at end of bindist test
   * Add patchelf to Ubuntu build env
   * Revert mock patchelf package to allow other tests to run.
   * Remove depends_on('patchelf', type='build') relying instead on
   * Test fixture to ensure patchelf is available.

* Call g++ command to build libraries directly during test build

* Flake8

* Install patchelf in before_install stage using apt unless on Trusty where a build is done.

* Add some symbolic links between packages

* Flake8

* Flake8:

* Update mock packages to write their own source files

* Create the stage because spec search does not create it any longer

* updates after change of list command arguments

* cleanup after merge

* flake8
2020-08-13 00:33:31 -07:00
Massimiliano Culpo
ecbfa5e448 Use "fetch-depth: 0" to retrieve all history from remote 2020-08-13 00:33:31 -07:00
Massimiliano Culpo
c00773521e Simplified YAML files for Github Actions workflows
Updated actions where needed
2020-08-13 00:33:31 -07:00
Massimiliano Culpo
a4b0239635 Group tests with similar duration together
Style and documentation tests take just a few minutes
to run. Since in Github actions one can't restart a single
job but needs to restart an entire workflow, here we group
tests with similar duration together.
2020-08-13 00:33:31 -07:00
Todd Gamblin
303882834a docs: document releases and branches in Spack
- [x] Remove references to `master` branch
- [x] Document how release branches are structured
- [x] Document how to make a major release
- [x] Document how to make a point release
- [x] Document how to do work in our release projects
2020-08-13 00:33:31 -07:00
Todd Gamblin
5b63ec8652 Remove references to master from CI
- [x] remove master from github actions
- [x] remove master from .travis.yml
- [x] make `develop` the default branch for `spack ci`
2020-08-13 00:30:51 -07:00
Massimiliano Culpo
fc94dde3fc Moved flake8, shell and documentation tests to Github Action (#17328)
* Move flake8 tests on Github Actions

* Move shell test to Github Actions

* Moved documentation build to Github Action

* Don't run coverage on Python 2.6

Since we get connection errors consistently on Travis
when trying to upload coverage results for Python 2.6,
avoid computing coverage entirely to speed-up tests.
2020-08-13 00:30:51 -07:00
Robert Blake
c064088cf3 Bugfix for #17999: use cudart instead of cuda. (#18000)
This is needed because libcuda is used by the driver,
whereas libcudart is used by the runtime. CMake searches
for cudart instead of cuda.

On LLNL LC systems, libcuda is only found in compat and
stubs directories, meaning that the lookup of libraries
fails.
2020-08-12 23:58:10 -07:00
Todd Gamblin
c05fa25057 bugfix: fix spack -V with releases/latest and shallow clones (#17884)
`spack -V` stopped working when we added the `releases/latest` tag to
track the most recent release. It started just reporting the version,
even on a `develop` checkout. We need to tell it to *only* search for
tags that start with `v`, so that it will ignore `releases/latest`.

`spack -V` also would print out unwanted git eror output on a shallow
clone.

- [x] add `--match 'v*'` to `git describe` arguments
- [x] route error output to `os.devnull`
2020-08-12 23:58:10 -07:00
Patrick Gartung
8e2f41fe18 Buildcache create: change NoOverwriteException back to a warning as in v0.14 (#17832)
* Change buildcache create `NoOverwriteException` back to a warning.
2020-08-12 23:58:10 -07:00
Axel Huebl
50f76f6131 Hotfix: move CUDAHOSTCXX (#17826)
* Hotfix: move CUDAHOSTCXX

Set only in dependent packages.

* dependent compiler
2020-08-12 23:58:10 -07:00
Todd Gamblin
5f8ab69396 bugfix: fix spack buildcache list --allarch
`spack buildcache list` was trying to construct an `Arch` object and
compare it to `arch_for_spec(<spec>)`. for each spec in the buildcache.
`Arch` objects are only intended to be constructed for the machine they
describe. The `ArchSpec` object (part of the `Spec`) is the descriptor
that lets us talk about architectures anywhere.

- [x] Modify `spack buildcache list` and `spack buildcache install` to
      filter with `Spec` matching instead of using `Arch`.
2020-08-12 23:58:10 -07:00
Todd Gamblin
aff0e8b592 architecture: make it easier to get a Spec for the default arch
- [x] Make it easier to get a `Spec` with a proper `ArchSpec` from an
      `Arch` object via new `Arch.to_spec()` method.

- [x] Pull `spack.architecture.default_arch()` out of
      `spack.architecture.sys_type()` so we can get an `Arch` instead of
      a string.
2020-08-12 23:58:10 -07:00
eugeneswalker
7302dd834f allow GNUPGHOME to come from SPACK_GNUPGHOME in env, if set (#17139) 2020-08-12 22:57:57 -07:00
Todd Gamblin
0f25462ea6 update CHANGELOG.md for 0.15.3 2020-07-28 02:11:06 -07:00
Todd Gamblin
ae4bbbd241 bump version number for 0.15.3 2020-07-28 02:05:26 -07:00
Greg Becker
24bd9e3039 bugfix: allow relative view paths (#17721)
Relative paths in views have been broken since #17608 or earlier.

- [x] Fix by passing base path of the environment into the `ViewDescriptor`.
      Relative paths are calculated from this path.
2020-07-27 23:48:59 -07:00
Todd Gamblin
0efb8ef412 tutorial: Add boto3 installation to setup script 2020-07-27 15:55:44 -07:00
Patrick Gartung
69775fcc07 Relocation of sbang needs to be done when the spack prefix changes even if the install tree has not changed. (#17455) 2020-07-27 11:38:48 -07:00
Patrick Gartung
ce772420dd Relocate rpaths for all binaries, then do text bin replacement if the rpaths still exist after running patchelf/otool (#17418) 2020-07-27 11:28:50 -07:00
Greg Becker
9cc01dc574 add tutorial setup script to share/spack (#17705)
* add tutorial setup script to share/spack

* Add check for Ubuntu 18, fix xvda check, fix apt-get errors
  - now works on t2.micro, t2.small, and m instances
  - apt-get needs retries around it to work

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-07-27 01:18:16 -07:00
Todd Gamblin
8d8cf6201b bugfix: don't redundantly print ChildErrors (#17709)
A bug was introduced in #13100 where ChildErrors would be redundantly
printed when raised during a build. We should eventually revisit error
handling in builds and figure out what the right separation of
responsibilities is for distributed builds, but for now just skip
printing.

- [x] SpackErrors were designed to be printed by the forked process, not
      by the parent, so check if they've already been printed.
- [x] update tests
2020-07-26 22:43:10 -07:00
Gregory Becker
d6d839cd3e update changelog for 0.15.2 2020-07-23 16:04:26 -07:00
Gregory Becker
3534717151 bump version number for 0.15.2 2020-07-23 16:04:08 -07:00
Greg Becker
e289d481ea add tutorial public key to share/spack/keys dir (#17684) 2020-07-23 14:38:26 -07:00
Greg Becker
ed8250e055 cray: detect shasta os properly (#17467)
Fixes #17299

Cray Shasta systems appear to use an unmodified Sles or other Linux operating system on the backend (like Cray "Cluster" systems and unlike Cray "XC40" systems that use CNL).

This updates the CNL version detection to properly note that this is the underlying OS instead of CNL and delegate to LinuxDistro.
2020-07-23 14:01:09 -07:00
robo-wylder
40cd845479 environment-views: fix bug where missing recipe/repo breaks env commands (#17608)
* environment-views: fix bug where missing recipe/repo breaks env commands

When a recipe or a repo has been removed from Spack and an environment
is active, it causes the view activation to crash Spack before any
commands can be executed. Further, the error message it not at all clear
in explaining the issue.

This forces view regeneration to always start from scratch to avoid the
missing package recipes, and defaults add_view=False in main for views activated
by the `spack -e` option.

* add messages to env status and deactivate

Warn users that a view may be corrupt when deactivating an environment
or checking its status while active. Updated message for activate.

* tests for view checking

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2020-07-23 14:00:42 -07:00
Peter Scheibel
3b45241566 Update fetch order to match iteration order of MirrorReference (#17572) 2020-07-23 14:00:14 -07:00
Tamara Dahlgren
d5b0f85ea3 Reduce output verbosity with debug levels (#17546)
* switch from bool to int debug levels

* Added debug options and changed lock logging to use more detailed values

* Limit installer and timestamp PIDs to standard debug output

* Reduced verbosity of fetch/stage/install output, changing most to debug level 1

* Combine lock log methods; change build process install to debug

* Changed binary cache install messages to extraction messages
2020-07-23 13:59:12 -07:00
eugeneswalker
c6241e72a6 bugfix: use getattr for variation.prefix/suffix (#17669) 2020-07-23 13:56:45 -07:00
Todd Gamblin
f528022a7d bugfix: make compiler preferences slightly saner (#17590)
* bugfix: make compiler preferences slightly saner

This fixes two issues with the way we currently select compilers.

If multiple compilers have the same "id" (os/arch/compiler/version), we
currently prefer them by picking this one with the most supported
languages.  This can have some surprising effects:

* If you have no `gfortran` but you have `gfortran-8`, you can detect
  `clang` that has no configured C compiler -- just `f77` and `f90`. This
  happens frequently on macOS with homebrew. The bug is due to some
  kludginess about the way we detect mixed `clang`/`gfortran`.

* We can prefer suffixed versions of compilers to non-suffixed versions,
  which means we may select `clang-gpu` over `clang` at LLNL. But,
  `clang-gpu` is not actually clang, and it can break builds. We should
  prefer `clang` if it's available.

- [x] prefer compilers that have C compilers and prefer no name variation
  to variation.

* tests: add test for which()
2020-07-23 13:56:18 -07:00
Harmen Stoppels
665a47607e ci pipelines: activate environment without view (#17440) 2020-07-23 13:55:46 -07:00
Todd Gamblin
12958497dc bugfix: ignore Apple's "gcc" by default (#17589)
Apple's gcc is really clang. We previously ignored it by default but
there was a regression in #17110.

Originally we checked for all clang versions with this, but I know of
none other than `gcc` on macos that actually do this, so limiting to
`apple-clang` should be ok.

- [x] Fix check for `apple-clang` in `gcc.py` to use version detection
  from `spack.compilers.apple_clang`
2020-07-23 13:55:11 -07:00
Scott Wittenburg
3a8bc7ffc6 buildcache: list all mirrors even if one fails 2020-07-23 13:54:36 -07:00
Scott Wittenburg
9cbe358f84 Bugfix/install missing compiler from buildcache (#17536)
Ensure compilers installed from buildcache are registered.
2020-07-23 13:53:46 -07:00
Scott Wittenburg
27af499b52 adept-utils: 1.0.1 does not build w/ boost 1.73.0 or newer (#17560) 2020-07-23 13:52:37 -07:00
Harmen Stoppels
24dff9cf20 Fix security issue in CI (#17545)
The `spack-build-env.txt` file may contains many secrets, but the obvious one is the private signing key in `SPACK_SIGNING_KEY`. This file is nonetheless uploaded as a build artifact to gitlab. For anyone running CI on a public version of Gitlab this is a major security problem. Even for private Gitlab instances it can be very problematic.

Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
2020-07-23 13:52:09 -07:00
Dr Owain Kenway
e4265d3135 llvm-flang: Only build offload code if cuda enabled (#17466)
* llvm-flang Only build offload code if cuda enabled

The current version executes `cmake(*args)` always as part of the post install.  If device offload is not part of the build, this results in referencing `args` without it being set and the error:

```
==> Error: UnboundLocalError: local variable 'args' referenced before assignment

```

Looking at prevoous version of `llvm-package.py` this whole routine appears to be only required for offload, some indent `cmake/make/install` to be under the `if`.

* Update package.py

Add comment
2020-07-23 13:51:35 -07:00
Sajid Ali
5e5cc99147 clear mpicc and friends before each build (#17450)
* clear mpi env vars
2020-07-23 13:48:47 -07:00
Peter Josef Scheibel
1741279f16 Bump version to 0.15.1; update CHANGELOG and version references 2020-07-10 16:54:49 -07:00
Greg Becker
c2393fe566 spack install: improve error message with no args (#17454)
The error message was not updated when the behavior of Spack environments
was changed to not automatically activate the local environment in #17258.
The previous error message no longer makes sense.
2020-07-10 13:05:49 -07:00
Greg Becker
afbb4a5cba installation: skip repository metadata for externals (#16954)
When Spack installs a package, it stores repository package.py files
for it and all of its dependencies - any package with a Spack metadata
directory in its installation prefix.

It turns out this was too broad: this ends up including external
packages installed by Spack (e.g. installed by another Spack instance).
Currently Spack doesn't store the namespace properly for such packages,
so even though the package file could be fetched from the external,
Spack is unable to locate it.

This commit avoids the issue by skipping any attempt to locate and copy
from the package repository of externals, regardless of whether they
have a Spack repo directory.
2020-07-10 13:05:49 -07:00
Peter Scheibel
e2bec75057 add public spack mirror (#17077) 2020-07-10 13:05:49 -07:00
Todd Gamblin
054e0d1d11 bugfix: no infinite recursion in setup-env.sh on Cray
On Cray platforms, we rely heavily on the module system to figure out
what targets, compilers, etc. are available. This unfortunately means
that we shell out to the `module` command as part of platform
initialization.

Because we run subcommands in a shell, we can get infinite recursion if
`setup-env.sh` and friends are in some init script like `.bashrc`.

This fixes the infinite loop by adding guards around `setup-env.sh`,
`setup-env.csh`, and `setup-env.fish`, to prevent recursive
initializations of Spack. This is safe because Spack never shells out to
itself, so we do not need it to be initialized in subshells.

- [x] add recursion guard around `setup-env.sh`
- [x] add recursion guard around `setup-env.csh`
- [x] add recursion guard around `setup-env.fish`
2020-07-10 13:05:49 -07:00
cedricchevalier19
c8a83661c2 Fix gcc + binutils compilation. (#9024)
* fix binutils deptype for gcc

binutils needs to be a run dependency of gcc

* Fix gcc+binutils build on RHEL7+

static-libstdc++ is not available with system gcc.
Anyway, as it is for bootstraping, we do not really care depending on
a shared libstdc++.

Co-authored-by: Michael Kuhn <michael@ikkoku.de>
2020-07-10 13:05:49 -07:00
Michael Kuhn
4e4de51f0d autotools bugfix: handle missing config.guess (#17356)
Spack was attempting to calculate abspath on the located config.guess
path even when it was not found (None); this commit skips the abspath
calculation when config.guess is not found.
2020-07-10 13:05:49 -07:00
TZ
28549f300d inel-mpi: fix for wrong structure name instroduced in ea8a0be4 (#17382)
it's    mpi_compiler_wrappers
and not mpi_compiler._wrappers

fixes 2nd part of #17371
2020-07-10 13:05:49 -07:00
Adam J. Stewart
7717f00dac Fix Intel MPI super invocation, again (#17378) 2020-07-10 13:05:49 -07:00
Michael Kuhn
44681dbca5 autotools: Fix config.guess detection, take two (#17333)
The previous fix from #17149 contained a thinko that produced errors for
packages that overwrite configure_directory.
2020-07-10 13:05:49 -07:00
Gregory Becker
d4bf70d988 changelog for v0.15.0 2020-06-30 18:21:32 -05:00
Gregory Becker
49aebb44b1 bump version number 2020-06-30 18:21:32 -05:00
Glenn Johnson
37d7b5b199 Activate environment in container file (#17316)
* Activate environment in container file

This PR will ensure that the container recipes will build the spack
environment by first activating the environment.

* Deactivate environment before environment collection

For Singularity, the environment must be deactivated before running the
command to collect the environment variables. This is because the
environment collection uses `spack env activate`.
2020-06-30 18:17:58 -05:00
Greg Becker
cec55577d4 run github workflows on release branches (#17317) 2020-06-30 18:10:10 -05:00
Massimiliano Culpo
486b4671b6 Don't detect "classic" on Cray to avoid a compiler bug (#17314)
* Don't detect "classic" on Cray to avoid a compiler bug

* add tests

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2020-06-30 15:45:29 -05:00
Johannes Blaschke
1d55adfd2b Add fish shell support (#9279)
* share/spack/setup-env.fish file to setup environment in fish shell

* setup-env.fish testing script

* Update share/spack/setup-env.fish

Co-Authored-By: Elsa Gonsiorowski, PhD <gonsie@me.com>

* Update share/spack/qa/setup-env-test.fish

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* updates completions using `spack commands --update-completion`

* added stderr-nocaret warning

* added fish shell tests to CI system


Co-authored-by: becker33 <becker33@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Elsa Gonsiorowski, PhD <gonsie@me.com>
2020-06-30 14:26:27 -05:00
Greg Becker
212299a021 Cray compiler: fix implicit rpaths for classic versions (#17310)
* check link dirs for existence
2020-06-30 12:46:20 -05:00
Andrew Gaspar
c12885768d cmake v3.17.3 (#17313) 2020-06-30 11:37:06 -05:00
Andrew W Elble
78ac36204e half: fix __F16C__ include of immintrin.h (#17272)
Small fix so that immintrin.h gets included properly when the
compiler sets __F16C__. Upstream has been notified.
2020-06-30 11:27:34 -05:00
darmac
463d0d7bd9 filebench:remove autoreconf() (#17305) 2020-06-30 11:05:39 -05:00
albestro
55796203c4 add constrain for hpx 1.4.* and boost 1.73.0 (#17307)
https://github.com/STEllAR-GROUP/hpx/issues/4728#issuecomment-640685308
2020-06-30 11:03:26 -05:00
Tomoki, Karatsu
0fd71d24ba cleverleaf: Add C++ link flags for Fujitsu. (#17308) 2020-06-30 11:02:18 -05:00
Mark Olesen
c4c010c0bf Add OpenFOAM 2006 (2020-06) release (#17309)
Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-06-30 11:01:00 -05:00
Andrew Gaspar
e74008bcce Catch2 v2.12.3 (#17312)
Added master branch, too
2020-06-30 10:59:12 -05:00
vvolkl
b9385998a8 [whizard] Fix Runtime Compiler Paths (#17300)
* [whizard] fix runtime compilers

fix

* [whizard] flake8

* [whizard] add master branch
2020-06-30 10:38:15 -05:00
Jen Herting
b329f10c7b [py-mdanalysis] new version and added dependencies (#16819)
* [py-mdanalysis] new version and added dependencies

Original commit message:

Author: Andrew Elble <aweits@rit.edu>
Date:   Thu Nov 14 08:35:14 2019 -0500

    mdanalysis

* [py-mdanalysis] python is type build/run

* [py-mdanalysis] updated numpy version requirement for all listed versions of py-mdanalysis

* [py-mdanalysis] updated biopython version requirement for all listed versions of py-mdanalysis

* [py-mdanalysis] updated py-griddataformats version requirement for all listed versions of py-mdanalysis

* [py-mdanalysis] gsd only required after version 1.17.0 and requires gsd@1.4.0

* [py-mdanalysis] only requires mmtf-python after version 0.16.0 and requires version 1.0.0

* [py-mdanalysis] has required py-joblib since version 0.16

* [py-mdanalysis] updated py-scipy version requirement for all listed versions of py-mdanalysis

* [py-mdanalysis] updated py-matplotlib version requirement for all listed versions of py-mdanalysis

* [py-mdanalysis] has required py-mock since version 0.18.0

* [py-mdanalysis] py-scikit-learn only required after version 0.16.0 and only for +analysis variant

* [py-mdanalysis] Reordered and reformatted for readability

* [py-mdanalysis] flake8 fixes

* [py-mdanalysis] proactively adding version 1.0.0 while I'm here since major release

* [py-mdanalysis] fixing some forgotten colons
2020-06-30 09:29:45 -05:00
Jen Herting
14894a7b09 [py-crossmap] added version 0.3.9 (#17233)
* [py-crossmap] added version 0.3.9

* [py-crossmap] py-numpy not required

* [py-crossmap] py-cython must be >= 0.17
2020-06-30 09:28:13 -05:00
Jen Herting
f25d6e64f6 [ruby] fixing path to gcc such that users can use gem to install nati… (#17141)
* [ruby] fixing path to gcc such that users can use gem to install native gems to their home directory

* [ruby] working on making flake8 happier

* [ruby] Line can't really be split cleanly. Enhancing flake8's calm.

ya learn something new every day...

* [ruby] line break where requested

* [ruby] make raw string

* [ruby] only running for x86_64-linux everything else is untested

* [ruby] finding rbconfig.rb in a cross platform manner
2020-06-30 09:27:48 -05:00
Sinan
6d46fbb6f7 New package/graphblast (#17289)
* new package: GraphBlast

* polish

* add cuda_arch setup

* flake8

* the package requires cuda variant and dependency

* add comments

* define cuda_arch

* implement multiple and custom cuda arches

* tidy up, improve

* flake8

* improve style

* add variant description

* use patch method, add new version for latest commit building since master now fails

* remove gcc conflict, tidy up

* also indicate build range for boost

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@github>
2020-06-30 08:05:08 -05:00
Harsh Bhatia
6fb30acb77 dssp: new package at v3.1.4 (#17188)
Renamed xspp to hspp
2020-06-30 08:58:13 +02:00
Sinan
01dc8d6fc8 postgis: added package at v3.0.1 (#12635)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Sinan81 <Sinan81@github>
2020-06-30 08:14:33 +02:00
Sebastian Gottfried
5e1cb24bec py-mpi4py: Implement headers Property (#17295)
py-mpi4py installs its header files at a difficult-to-predict location:

    $prefix/lib/python-x.y/site-packages/mpi4py/include

With the new `headers` properties, dependent packages have now an easy
way to obtain this location:

    spec['py-mpi4py'].headers.directories[0]
2020-06-29 21:36:38 -05:00
iarspider
2de0053c08 New package: hepmcanalysis (#17296)
* [WIP] Add hepmcanalysis package

* Implement install() for hepmcanalysis

* Flake-8

Co-authored-by: iarspider <iarpsider@gmail.com>
2020-06-29 21:35:25 -05:00
Amjad Kotobi
17985959a4 R: new versions (#17297) 2020-06-29 21:33:57 -05:00
Adam J. Stewart
c8e2529eae GDAL: add v3.1.1 (#17302) 2020-06-29 21:26:49 -05:00
h-denpo
17fa1edf32 Some files could not be created due to errors, which have been fixed. (#17250)
added support for Fujitsu compiler.
2020-06-29 21:26:26 -05:00
Fabien Bruneval
6f824b598c cp2k: variant tuning lmax was broken (#17266)
* cp2k: variant tuning `lmax` was broken

- `spack install cp2k lmax=6` now works

* Update var/spack/repos/builtin/packages/cp2k/package.py

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

* Update var/spack/repos/builtin/packages/cp2k/package.py

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

* Update var/spack/repos/builtin/packages/cp2k/package.py

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

* Update var/spack/repos/builtin/packages/cp2k/package.py

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

* Update var/spack/repos/builtin/packages/cp2k/package.py

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

* Update var/spack/repos/builtin/packages/cp2k/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-29 21:24:25 -05:00
Fabian Brandt
4a10faff87 New package py-networkit (6.1, 7.0) (#17195) 2020-06-29 21:23:53 -05:00
iarspider
49f19e1710 New package: coin3d (#17251)
* New package: coin3d

* Update package.py

* Flake-8

* Update var/spack/repos/builtin/packages/coin3d/package.py

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

* Add link-time dependencies

* Add configure flags for boost; remove version 4.0.0 (doesn't compile)

Co-authored-by: iarspider <iarpsider@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-29 21:23:02 -05:00
Greg Becker
b52390dacc cray compilers: fix bug with verifying cray compilers (#17303)
* fix bug with verifying cray compilers
2020-06-29 20:26:46 -05:00
Greg Becker
d71fdc9719 remove three commands that have been deprecated since v0.13.0 (#17291)
* remove three commands that have been deprecated since v0.13.0
2020-06-29 11:15:56 -05:00
Michael Kuhn
b07d38b3be autotools: Fix config.guess detection (#17149)
The config.guess detection used a relative path that did not work in
combination with `check_call`. Use an absolute path instead.
2020-06-29 10:08:22 -05:00
Massimiliano Culpo
789d060ff6 Detect FE compilers automatically on Cray (#17267)
* cray: detect frontend compilers automatically

This commit permits to detect frontend compilers
automatically, with the exception of cce.

Co-authored-by: Gregory Becker <becker33.llnl.gov>
2020-06-29 09:53:08 -05:00
darmac
7161b33364 nfs-utils: fix compile error on debian (#17292)
use pkgconfig to detect libtirpc
2020-06-29 15:18:51 +02:00
iarspider
01357d4925 New package: fjcontrib + new variants for fastjet (#17255)
* New package: fjcontrib + new variants for fastjet

* Flake-8

* Flake-8 once more

* Update package.py

* Allow choosing which plugins to build

Build all plugins by default.

* Flake-8

* Always build all plugins

* Update package.py

Co-authored-by: iarspider <iarpsider@gmail.com>
2020-06-29 09:46:44 +01:00
George Hartzell
e6bb8360d0 Fix indentation in containerize example (#17228)
[george.hartzell@172-16-193-97 spack-explore-docker]$ spack containerize
Running `spack containerize` with the example `spack.yaml` file fails
with an error that ends like so:

```
[...]
  File "/local_scratch/hartzell/tmp/spack-explore-docker/lib/spack/external/ruamel/yaml/scanner.py", line 165, in need_more_tokens
    self.stale_possible_simple_keys()
  File "/local_scratch/hartzell/tmp/spack-explore-docker/lib/spack/external/ruamel/yaml/scanner.py", line 309, in stale_possible_simple_keys
    "could not find expected ':'", self.get_mark())
ruamel.yaml.scanner.ScannerError: while scanning a simple key
  in "/local_scratch/hartzell/tmp/spack-explore-docker/spack.yaml", line 26, column 1
could not find expected ':'
  in "/local_scratch/hartzell/tmp/spack-explore-docker/spack.yaml", line 28, column 5
```

Indenting the block string fixes the problem for me.

CentOS 7,

```
$ spack --version
0.14.2-1529-ec58f28c2
```
2020-06-29 08:58:51 +02:00
Kshitij Mehta
d27ea3be1c codar-cheetah: added v1.1.0 and v1.0.0 (#17286) 2020-06-29 08:10:30 +02:00
Wouter Deconinck
4ea4c2e63f geant4: depends on "qt@5: +opengl" when +qt (#17264)
The Geant4 cmake check requires Qt5OpenGL_FOUND, so we must require
the Qt5 +opengl variant. If not, the cmake phase fall through to Qt4
and fails due to a missing Qt4::QtGui target.

In Geant4InterfaceOptions.cmake:
```
  if(Qt5Core_FOUND
      AND Qt5Gui_FOUND
      AND Qt5Widgets_FOUND
      AND Qt5OpenGL_FOUND
      AND Qt5PrintSupport_FOUND)
```

Ref: https://github.com/Geant4/geant4/blob/master/cmake/Modules/Geant4InterfaceOptions.cmake#L90
(5baee230e93612916bcea11ebf822756cfa7282c, Import Geant4 10.6.0 source tree)
2020-06-29 08:09:29 +02:00
Tomoki, Karatsu
4425e83750 fujitsu-mpi: added "headers" and "libs" methods (#17253) 2020-06-29 08:06:09 +02:00
Greg Becker
77351bd287 Restore compilers.yaml default directory (#17283) 2020-06-29 08:03:22 +02:00
Seth R. Johnson
56db9647b1 Prevent libffi 3.3 from adding contradictory tuning flags (#17285)
Fixes #17187
2020-06-28 13:31:59 -05:00
Sinan
9a8e9f265e package/qgis: add new versions (#17284)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-06-28 13:30:58 -05:00
Amjad Kotobi
02d5b8c425 intel: added new versions (#17287) 2020-06-28 13:30:21 -05:00
Dr. Christian Tacke
7aac150617 vmc: New Package (#17282)
"""The Virtual Monte Carlo (VMC) library"""
2020-06-28 13:28:42 -05:00
darmac
68633fac5c redis: add config file from source code (#17225)
* redis: add config file from source code

* Update var/spack/repos/builtin/packages/redis/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-28 13:26:04 -05:00
Axel Huebl
064618e1ea WarpX: Development Branch (#17163)
* WarpX: Development Branch

Update the name of our development branch.

* WarpX version: develop keyword

development is not a "newest"-like keyword, but `master`/`develop`/`dev` are.

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

* Renamed: develop version

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-28 01:23:11 -07:00
Greg Becker
cc28493449 make gcc build on aarch64 (#17280) 2020-06-27 18:51:11 -05:00
Axel Huebl
d7c46d8c57 CUDA: CUDAHOSTCXX Env (#16869)
This is a general CMake CUDA language hint to use the CXX
compiler has host compiler for NVCC. Seems like a good
default since we do not express the CUDA compiler in Spack
otherwise yet (e.g. no `self.compiler.cuda` or
`self.compiler.cudahostcxx`).
2020-06-27 15:36:18 -05:00
Adam J. Stewart
edf776aeb9 Add support for macOS Big Sur (#17236)
* Add support for macOS Big Sur

* Big Sur is actually macOS 11.0
2020-06-27 15:07:21 -05:00
Dr. Christian Tacke
f7aecd9d6e perl-date-manip: New Package Date::Manip (#17259) 2020-06-27 14:54:50 -05:00
vvolkl
0ddfcf097b [gaudi] new version, cleanup (#17268) 2020-06-27 14:42:23 -05:00
Fabian Brandt
a640befb60 Patch needed also for version 7.0 (#17269) 2020-06-27 14:41:24 -05:00
Hans Pabst
1345d30750 LIBXSMM 1.16.1 (#17274) 2020-06-27 14:39:35 -05:00
albestro
81b4c03f56 migrate to git and update commit (#17276) 2020-06-27 14:39:01 -05:00
David Gardner
00fd63f5ee superlu-mt: add pic and int64 variants (#11361)
* add pic and int64 variants

* update to Language-specific PIC flags
2020-06-27 09:52:32 -05:00
Greg Becker
56b4abbe38 env: no automatic activation (#17258)
* env: no automatic activation

* Ensure ci rebuild jobs activate the environment (no longer automagic)

Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
2020-06-26 17:20:15 -05:00
Scott Wittenburg
dfac09eade Use json for buildcache index (#15002)
* Start moving toward a json buildcache index

* Add spec and database index schemas

* Add a schema for buildcache spec.yaml files

* Provide a mode for database class to generate buildcache index

* Update db and ci tests to validate object w/ new schema

* Remove unused temporary upload-s3 command

* Use database class to generate buildcache index

* Do not generate index with each buildcache creation

* Make buildcache index mode into a couple of constructor args to Database class

* Use keyword args for  _createtarball 

* Parse new json index when we get specs from buildcache

Now that only one index file per mirror needs to be fetched in
order to have all the concrete specs for binaries available on the
mirror, we can just fetch and refresh the cached specs every time
instead of needing to use the '-f' flag to force re-reading.
2020-06-26 17:05:56 -05:00
Greg Becker
c39983eb1a build_environment: verify compiler executables exist are are accessible (#17260)
* build_environment: verify compiler executables exist and are accessible

* fix existing tests

* test compiler executable verification
2020-06-26 16:12:22 -05:00
Omar Padron
1ed035def6 fix sorting issue with ci workarounds (#17277) 2020-06-26 14:24:08 -05:00
cedricchevalier19
529c659bd0 First fix for SPACK_DEPENDENCIES problem when doing setup (#10715)
* First fix for SPACK_DEPENDENCIES problem when doing setup

* Get rid of transitive include path in setup.

* Export SPACK_INCLUDE_DIRS into spconfig.py
2020-06-26 14:06:43 -05:00
Adam J. Stewart
c8e6a9e535 Fix super invocation in Intel packages (#17248) 2020-06-26 14:04:35 -05:00
eugeneswalker
d8da1e6dbc spack ci generate: allow use of --output-file <file> with wo/ preceding path (#17275) 2020-06-26 11:18:29 -07:00
Jeffrey Salmond
1602b7a561 add environment-awareness to buildcache create (#16580)
* add buildcache create test

* add functionality and test to create buildcache from environment

* use env.concretized_user_specs rather than env.roots to get concretized specs, as suggested in review from becker33
2020-06-26 10:01:12 -05:00
Greg Becker
ec108dbebd Allow spack remove -f and spack uninstall to work on matrices (#17222)
* Allow `spack remove -f` and `spack uninstall` to work on matrices

Allow Environment.remove(force=True) to remove the concrete spec from the environment
even when the user spec cannot be removed because it is in a matrix.
2020-06-26 09:57:22 -05:00
Massimiliano Culpo
c401c63156 Allow detection for "-classic" version of CCE (#17256)
* cce: detect modules based on the classic backend

* cce: tweaked version checks for clang based options

* Added unit test for cce flags
2020-06-25 21:20:09 -05:00
Adam J. Stewart
cecd300693 py-azureml-sdk: add new package (and deps) (#17261) 2020-06-25 20:15:21 -05:00
Axel Huebl
e6bf0b01c4 Ascent & Conduit: ~python default (#17230)
* Ascent: ~python default

Packages that build optional python bindings do not build them by default in Spack:
https://spack.readthedocs.io/en/latest/packaging_guide.html#variant-names

This reduces long dependency trees and build times, e.g. for apps just using C/C++/Fortran bindings of a library.

* Conduit: ~python default

Packages that build optional python bindings do not build them by
default in Spack:
  https://spack.readthedocs.io/en/latest/packaging_guide.html#variant-names

This reduces long dependency trees and build times, e.g. for apps
just using C/C++/Fortran bindings of a library.
2020-06-25 20:14:57 -05:00
Dr. Christian Tacke
49b0ac804b munge: Update homepage URL (#17257) 2020-06-25 22:33:38 +02:00
Ge Wenjun
740a9d88f9 add new package: datatransferkit (#17158)
* add new package: datatransferkit

* fix style

* remove the build type;add~dtk;'shared' variant;homepage

* add maintainer
2020-06-25 14:57:31 -05:00
manifest
d2b56dbce3 add sra-toolkit@2.10.7 (#16947)
* sra-tools

* sra-tools style fix

* sratoolkit version update
2020-06-25 14:33:26 -05:00
Michael Kuhn
e8465ce81c libtirpc: Add 1.2.6 (#17209)
Earlier versions do not compile with gcc@10:.
2020-06-25 14:32:34 -05:00
Andrey Prokopenko
9f3e542d30 Update ArborX for new Kokkos (#17213)
* Update ArborX for new Kokkos

* Set maintainer
2020-06-25 14:20:31 -05:00
Omar Padron
7c54aa2eb0 add workaround for gitlab ci needs limit (#17219)
* add workaround for gitlab ci needs limit

* fix style/address review comments

* convert filter obj to list

* update command completion

* remove dict comprehension

* add workaround tests

* fix sorting issue between disparate types

* add indeces to format
2020-06-25 14:27:20 -04:00
Greg Becker
096bd69a94 prevent multiple version sigils in the same spec (#17246)
* prevent multiple version sigils in the same spec

* fix packages with malformed versions
2020-06-25 12:34:09 -05:00
Greg Becker
f936e3a1db environment spec lists: improve ability to query architecture in when clauses (#17056) 2020-06-25 19:13:26 +02:00
Erik Schnetter
e04c89f086 mpich: Allow building with external hwloc library (#15305)
This is in principle supported already, but requires a patch to avoid build errors.

Closes #15302

Co-authored-by: Michael Kuhn <michael.kuhn@informatik.uni-hamburg.de>
2020-06-25 18:27:48 +02:00
Massimiliano Culpo
14599f09be Separate Apple Clang from LLVM Clang (#17110)
* Separate Apple Clang from LLVM Clang

Apple Clang is a compiler of its own. All places
referring to "-apple" suffix have been updated.

* Hack to use a dash in 'apple-clang'

To be able to use autodoc from Sphinx we need
a valid Python name for the module that contains
Apple's Clang code.

* Updated packages to account for the existence of apple-clang

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

* Added unit test for XCode related functions

Co-authored-by: Gregory Becker <becker33@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-25 11:18:48 -05:00
Peter Scheibel
a31c115d79 Fix global activation check for upstream extendees (#17231)
* short-circuit is_activated check when the extendee is installed upstream

* add test for checking activation status of packages with an extendee installed upstream
2020-06-25 08:27:27 -05:00
manifest
5c712a03a1 msmc2: added package at v2.1.2 (#17170)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-25 10:43:33 +02:00
Greg Becker
b26e93af3d spack config: new subcommands add/remove (#13920)
spack config add <value>: add nested value value to the configuration scope specified
spack config remove/rm: remove specified configuration from the relevant scope
2020-06-25 09:38:01 +02:00
Brian Van Essen
089a21dd1d Update the version of Cereal. (#17244) 2020-06-24 23:00:06 -05:00
John Jolly
d8a7cfc36a chill: Patch to include gmp, isl, and libquadmath (#16996)
The rose library uses the `strtoflt128` and `quadmath_snprintf`
functions. In order to successfully link the rose library, chill must
also link the GCC libquadmath library to resolve the two functions. This
patch changes the chill build to include this library.

Chill will also not compile unless headers from the gmp and isl
libraries are found in the includes path. Two patches - one each for gmp
and isl - modify the chill build process to add options to specify those
paths. These options follow the similar pattern as seen with BOOSTHOME
and ROSEHOME options which already exist in the chill build process.

Because of the addition of GMPHOME and ISLHOME options, build
requirements for gmp and isl are also added.
2020-06-24 22:53:09 -05:00
Tomoki, Karatsu
b2a4af764c vtk: Add patch for finding Fujitsu-MPI wrapper commands. (#17069) 2020-06-24 22:52:31 -05:00
Michael Kuhn
cee24fbc98 mvapich2: Fix build with gcc@10: (#17114) 2020-06-24 22:49:30 -05:00
Sergey Kosukhin
8d67279181 openjdk and jdk: extend the list of provided versions of java (#17151) 2020-06-24 22:43:30 -05:00
vvolkl
b8270559d9 [podio] patch to correctly load dictionaries in v00-10 (#17157) 2020-06-24 22:42:41 -05:00
Jen Herting
fe14c201dc New package: py-mmtf-python (#17201)
* mdanalysis

* [py-mmtf-python] fixed copyright

Co-authored-by: Andrew Elble <aweits@rit.edu>
2020-06-24 22:24:16 -05:00
oracleLee
e81533eb9b Update a supported package 'user-meamc' for lammps (#17207)
* Update package.py

* edit confliction when add package 'meam' 

 The USER-MEAMC fully replaces the MEAM package, which has been removed from LAMMPS after the 12 December 2018 version.
2020-06-24 22:23:17 -05:00
cedricchevalier19
a928f44fc0 Fix missing dependency in Mono (#17208)
* Add missing dependency on Python for Mono.

At build time

* Adding version 6.8.0.123 for mono
2020-06-24 22:22:40 -05:00
Cyrus Harrison
eee56295ce add cond py-mpi4py dep to conduit (#17211) 2020-06-24 22:19:28 -05:00
Chuck Atkins
30958649fb ecp-io-sdk: remove deprecated numa variant from unify-fs (#17212) 2020-06-24 22:18:49 -05:00
Glenn Johnson
7717532d14 The lapack-0.3.9-xerbl patch is no longer needed (#17217)
The lapack-0.3.9-xerbl patch is not needed for versions 0.3.10 and
above.
2020-06-24 22:12:48 -05:00
Jonathan R. Madsen
bed11a5a54 timemory: Updated nearly all options to default to OFF (#17221)
* Updated nearly all options to default to OFF

* Fixed imported but unused module flake error
2020-06-24 22:10:43 -05:00
Michio Ogawa
95f351de7e Updated MUMPS(5.3.3) (#17223)
* Updated MUMPS-5.3.3

* fixed E741 error(l -> ltr)
2020-06-24 22:09:44 -05:00
Adam J. Stewart
791267c3dc NCCL: add latest version (#17234) 2020-06-24 21:59:32 -05:00
Adam J. Stewart
cd2e945e4e py-horovod: add latest version (#17235) 2020-06-24 21:59:10 -05:00
Adam J. Stewart
ad708cde53 GPyTorch: add new package (#17237) 2020-06-24 21:58:31 -05:00
Adam Moody
b00bc2a18e dtcmp: add v1.1.1 (#17240)
Signed-off-by: Adam Moody <moody20@llnl.gov>
2020-06-24 21:58:09 -05:00
Adam Moody
e12784bcb1 lwgrp: add v1.0.3 (#17242) 2020-06-24 21:57:37 -05:00
Tamara Dahlgren
48d3e8d350 features: Add install failure tracking removal through spack clean (#15314)
* Add ability to force removal of install failure tracking data through spack clean

* Add clean failures option to packaging guide
2020-06-24 20:28:53 -05:00
Sergey Kosukhin
bc53bb9b7c Unset environment variables that are most commonly used by Autotools packages. (#8623) 2020-06-24 10:39:04 -05:00
Nichols A. Romero
ec58f28c20 quantum-espresso: fix for scalapack with openmpi (#17179) 2020-06-24 16:30:00 +02:00
Gilles Gouaillardet
577a88880e gromacs: fix fftw and update cmake dependencies (#17226)
* gromacs: fix fftw dependency

Only depend on fftw+mpi when gromacs is built with mpi,
and depend on fftw~mpi otherwise.

* gromacs: fix cmake dependency

master branch depends on cmake 3.11 (as specified in CMakeLists.txt
cmake dependency is also bumped to 3.11 when fj compilers are used
in order to fix OpenMP detection.
2020-06-24 05:47:55 -06:00
Michael Kuhn
fe0d3c22c6 perl: added v5.30.3 and v5.32.0 (#17220)
perl.org still recommends 5.30.3, so keep it as the preferred version.
2020-06-24 11:01:48 +02:00
Nichols A. Romero
4c055630d5 quantum-espresso: correctly cross-compile code for Cray and BG/Q (#17180) 2020-06-24 09:52:27 +02:00
Tom Payerle
fd710fc93e Some minor fixes to set_permissions() in file_permissions.py (#17020)
* Some minor fixes to set_permissions() in file_permissions.py

The set_permissions() routine claims to prevent users from creating
world writable suid binaries.  However, it seems to only be checking
for/preventing group writable suid binaries.

This patch modifies the routine to check for both world and group
writable suid binaries, and complain appropriately.

* permissions.py: Add test to check blocks world writable SUID files

The original test_chmod_rejects_group_writable_suid tested
that the set_permissions() function in
lib/spack/spack/util/file_permissions.py
would raise an exception if changed permission on a file with
both SUID and SGID plus sticky bits is chmod-ed to g+rwx and o+rwx.

I have modified so that more narrowly tests a file with SUID
(and no SGID or sticky bit) set is chmod-ed to g+w.

I have added a second test test_chmod_rejects_world_writable_suid
that checks that exception is raised if an SUID file is chmod-ed
to o+w

* file_permissions.py: Raise exception when try to make sgid file world writable

Updated set_permissions() in file_permissions.py to also raise
an exception if try to make an SGID file world writable.  And
added corresponding unit test as well.

* Remove debugging prints from permissions.py
2020-06-23 19:50:19 -05:00
Tamara Dahlgren
e74c8e71cc tests: check rpath presence not equality (#17216) 2020-06-23 17:17:35 -05:00
Matthias Wolf
0b57567824 Module index should not be unconditionally overwritten (#14837)
* Module index should not be unconditionally overwritten

Uncovered after we switched our CI to generate modules for packages
one-by-one rather than in bulk. This overwrote a complete module index
with an index with a single entry, and broke our downstream Spack
instances that needed the upstream module index.
2020-06-23 15:38:04 -05:00
victorusu
94cce5f963 Enable mysql for macos (#17177)
I get the following error message, if I do not use editline from the system.

```
>> 3090    Undefined symbols for architecture x86_64:
     3091      "_tgetent", referenced from:
     3092          _terminal_set in libedit.a(terminal.c.o)
     3093      "_tgetflag", referenced from:
     3094          _terminal_set in libedit.a(terminal.c.o)
     3095      "_tgetnum", referenced from:
     3096          _terminal_set in libedit.a(terminal.c.o)

     ...

     3110          _terminal_insertwrite in libedit.a(terminal.c.o)
     3111          _terminal_clear_EOL in libedit.a(terminal.c.o)
     3112          _terminal_clear_screen in libedit.a(terminal.c.o)
     3113          _terminal_beep in libedit.a(terminal.c.o)
     3114          ...
     3115    ld: symbol(s) not found for architecture x86_64
```
2020-06-23 21:29:45 +02:00
Tamara Dahlgren
96932d65a8 Added support for --fail-fast install option to terminate on first failure 2020-06-23 10:22:41 -07:00
Tamara Dahlgren
f54a8a77b4 Allow a single ctrl-c to terminate an install in progress 2020-06-23 10:22:41 -07:00
Michio Ogawa
0493e133c5 revocap-refiner: updated package (#17192) 2020-06-23 18:26:47 +02:00
Greg Becker
9067378c24 fix compiler environment handling to reset environment after (#17204)
bugfix: fix compiler environment handling to reset environment after
2020-06-23 09:26:15 -07:00
Massimiliano Culpo
239b709f97 Added unit tests to Github Actions (#16610)
* Added unit tests to Github Actions

* Set user e-mail and name for git tests to succeed

* Simplify setup.sh logic

* Replicate Travis script on Github Actions

* Update flags since '.' is not allowed

* Added badge, simplified workflow

* Remove pinning of coverage

* Remove unit tests run on Github Actions from Travis
2020-06-23 08:24:02 -05:00
Justin S
404ff9eb32 dock: new package at 6.9 (#17138) 2020-06-23 10:34:47 +02:00
darmac
91693ef32e strace: added v5.3 to v5.7 (#17193) 2020-06-23 10:20:28 +02:00
Amjad Kotobi
cfc390b41f r-spatialEco: added v1.3-2 (#17194) 2020-06-23 10:19:00 +02:00
Michael Kuhn
c41f13ef97 parallel-netcdf: add missing perl dependency (#17156)
parallel-netcdf's buildiface script needs perl during build.
2020-06-23 10:18:27 +02:00
Mosè Giordano
561f6d6c21 swfft: Add patch to make it build (#17196) 2020-06-23 10:17:32 +02:00
Jen Herting
6fdf5913ab py-gsd: new package at v1.9.3 (#17200)
Co-authored-by: Andrew Elble <aweits@rit.edu>
2020-06-23 09:49:05 +02:00
Howard Pritchard
07b6834ec5 OpenMPI: added v4.0.4 (#17202)
Bug fix release:

4.0.4 -- June, 2020
-----------------------
- Fix a memory patcher issue intercepting shmat and shmdt.  This was
  observed on RHEL 8.x ppc64le (see README for more info).
- Fix an illegal access issue caught using gcc's address sanitizer.
  Thanks to  Georg Geiser for reporting.
- Add checks to avoid conflicts with a libevent library shipped with LSF.
- Switch to linking against libevent_core rather than libevent, if present.
- Add improved support for UCX 1.9 and later.
- Fix an ABI compatibility issue with the Fortran 2008 bindings.
  Thanks to Alastair McKinstry for reporting.
- Fix an issue with rpath of /usr/lib64 when building OMPI on
  systems with Lustre.  Thanks to David Shrader for reporting.
- Fix a memory leak occurring with certain MPI RMA operations.
- Fix an issue with ORTE's mapping of MPI processes to resources.
  Thanks to Alex Margolin for reporting and providing a fix.
- Correct a problem with incorrect error codes being returned
  by OMPI MPI_T functions.
- Fix an issue with debugger tools not being able to attach
  to mpirun more than once.  Thanks to Gregory Lee for reporting.
- Fix an issue with the Fortran compiler wrappers when using
  NAG compilers.  Thanks to Peter Brady for reporting.
- Fix an issue with the ORTE ssh based process launcher at scale.
  Thanks to Benjamín Hernández for reporting.
- Address an issue when using shared MPI I/O operations.  OMPIO will
  now successfully return from the file open statement but will
  raise an error if the file system does not supported shared I/O
  operations.  Thanks to Romain Hild for reporting.
- Fix an issue with MPI_WIN_DETACH.  Thanks to Thomas Naughton for reporting.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-06-23 09:46:50 +02:00
Adam J. Stewart
f8e3e8289d py-torchvision: added v0.6.1 (#17203) 2020-06-23 09:45:36 +02:00
Wouter Deconinck
0ffbd79bd0 [hepmc3] gcc@9.3.0 patch for @3.1.2:3.2.1, conflicts for earlier @:3.1.1 (#17182)
See ba38f14d8f, which is included in master and released as of hepmc3@3.2.2
2020-06-23 09:44:44 +02:00
vvolkl
36e603c7d6 whizard: added zlib as a dependency (#17205) 2020-06-23 08:56:23 +02:00
Tomoki, Karatsu
1d10c6c730 caffe: use MPI compiler when using hdf5+mpi (#17125) 2020-06-23 08:54:54 +02:00
Michael Kuhn
55f26b0ccb lua: fix linking to ncurses (#17206)
PR #17108 broke the build. Spack's ncurses package does not provide a
libtermcap, so we need to use libtinfow.
2020-06-23 08:30:45 +02:00
vvolkl
735416dbf4 HEP generator update: evtgen, tauola, photos, pythia8, lhapdf, whizard (#16880)
* add package evtgen

fix formatting

add evtgen dependencies and update pythia8

fix formatting

* [evtgen] update versions

* [pythia8] add 'without-PACKAGE' args

* fix formatting

* Add LHAPDF

Co-authored-by: iarspider

* Add package whizard

fix formatting

* [pyhtia8, evtgen] add conflict msg re: circular dependencies

* [pyhtia8, evtgen] fix conflicts

* [pyhtia8, evtgen] fix msg string

* Set pythia8 default to ~evtgen
2020-06-22 13:16:06 -05:00
Jen Herting
985c5c7792 [py-macs2] new version and dependency (#16817)
* [py-macs2] Combined commit

- Added version 2.1.3.3
- added dependency py-cython

Author: Jen Herting <jen@herting.cc>
Date:   Tue May 26 16:41:28 2020 -0400

[py-macs2] added sha256=

Author: Andrew Elble <aweits@rit.edu>
Date:   Tue Oct 29 10:34:33 2019 -0400

migrated repos

* [py-macs2] fixed copyright

* [py-macs2] py-cython is build dependency
2020-06-22 13:15:46 -05:00
Omar Padron
224dc95159 Pre ci optimization (#16372)
* add initial optimization script

* integrate optimization in spack ci

* make optimization opt-in

* fix import error

* flake8 fixes

* update command completion

* work around vermin errors

* fix sphynx errors
2020-06-22 13:19:47 -04:00
Joseph Ciurej
42f2c168d2 swig: fix older builds on newer platforms by updating config files (#16854)
* swig: revise 'autotools' automated 'config.*' update mechanism to support 'config.sub' and adapt 'swig' accordingly
2020-06-22 10:44:29 -05:00
Brian Van Essen
4e9a98997a Added 8.0 RC to the versions (#17176) 2020-06-22 08:22:14 -05:00
G-Ragghianti
54cfec025f blaspp: moved to new git repo (#17184)
Extended the list of maintainers
2020-06-22 14:21:46 +02:00
darmac
a76545b813 dos2unix: add build dependency on gettext (#17191) 2020-06-22 13:37:26 +02:00
Brian Van Essen
0d08e18df5 Minor cleanup for conduit and hydrogen (#17136)
* Fix how the Conduit detects that the MPI compiler is the same as the
CC compiler and is more careful when it sets the MPI compilers to be
the Cray PE system compilers.

* Remove unnecessary push of the MPI compilers to the C compilers for Hydrogen.
2020-06-22 09:32:55 +02:00
Wouter Deconinck
3fc963b1f9 delphes: better specify the dependency on root (#17175)
Compiling delphes with default root cxxstd=11 fails, see e.g. https://sft.its.cern.ch/jira/si/jira.issueviews:issue-html/ROOT-9492/ROOT-9492.html
2020-06-22 09:31:57 +02:00
iarspider
0b74285a14 py-pyheadtail: added new package at v1.14.1 (#17159)
Co-authored-by: iarspider <iarpsider@gmail.com>
2020-06-22 08:52:19 +02:00
Hans Pabst
73b3bbbd22 libxsmm: added v1.16 (#17185) 2020-06-22 08:36:46 +02:00
Christoph Junghans
e91d7988e5 votca-*: added v1.6.1 (#17186) 2020-06-22 08:36:01 +02:00
Michael Kuhn
0cddfb9d8a meson: added v0.54.3 (#17190) 2020-06-22 08:30:17 +02:00
Adam J. Stewart
4bfa844de0 SciPy: add v1.5.0 (#17189) 2020-06-22 08:20:04 +02:00
Adam J. Stewart
c7f6608f5e NumPy: add v1.19.0 (#17183) 2020-06-20 17:46:10 -05:00
Chris White
a20ba315f5 Axom/Conduit: Fix error when fortran is not defined (#17171)
* Fix error when fortran is not defined

* Guard more ~fortran cases
2020-06-19 14:31:09 -05:00
G-Ragghianti
844312f213 Updated slate package to use new git repo. Added maintainer. (#17165)
* Updated slate package to use new git repo.  Added maintainer.
2020-06-19 11:10:03 -05:00
Alexander Knieps
b73536b4ad Update to swipl package (#17173)
* Added version 8.2.0, added dependency for documentation build, added variants for documentations

* Renamed variant '+man' to '+html'

Co-authored-by: Alexander Knieps <a.knieps@fz-juelich.de>
2020-06-19 11:03:25 -05:00
Adam J. Stewart
b80d5e74e5 PyTorch: add v1.5.1 (#17167) 2020-06-18 17:24:38 -05:00
Adam J. Stewart
5a0c5de50b py-pandas: add v1.0.5 (#17161) 2020-06-18 17:24:27 -05:00
Adam J. Stewart
33e6d0f378 py-matplotlib: add v3.2.2 (#17160) 2020-06-18 17:24:14 -05:00
Massimiliano Culpo
6d9f0262de libjpeg-turbo: fixed sha256 (#17154) 2020-06-18 14:44:32 +02:00
lorddavidiii
68c13d76f9 arpack-ng: fix build with gcc@10: (#17131) 2020-06-18 14:43:52 +02:00
darmac
2a13bad8eb atop: fix ld error (#17150) 2020-06-18 14:42:52 +02:00
Sinan
1de20f00b6 arrayfire: added cudnn as a dependency when +cuda (#17146)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-06-18 11:20:17 +02:00
Omar Padron
82eb71cb95 Explicitly install setuptools in docker images (#17143) 2020-06-18 11:16:24 +02:00
Shintaro Iwasaki
910d258706 argobots, bolt: updates to package.py (#17117) 2020-06-18 11:11:59 +02:00
Itaru Kitayama
4fe78bceaa cube and libjpeg-turbo: added cube v4.5 and libjpeg-turbo v2.0.4 (#17132) 2020-06-18 10:40:54 +02:00
Axel Huebl
2fd3ab3c9c Fetching from urls: Error Message (#16434)
* Fetching from urls: Error Message

Fix the error message when fetching from consecutive `urls` of a
package version. Each fail should show the currently failing URL,
not the first url.

Example multi-problem run that occured in real life:
```
==> 5821: Installing util-macros
curl: (28) Connection timed out after 10000 milliseconds
curl: (16) Error in the HTTP2 framing layer
curl: (22) The requested URL returned error: 403 Forbidden
==> Fetching https://www.x.org/archive/individual/util/util-macros-1.19.1.tar.bz2
==> Failed to fetch file from URL: https://www.x.org/archive/individual/util/util-macros-1.19.1.tar.bz2
    Curl failed with error 28
==> Fetching https://mirrors.ircam.fr/pub/x.org/individual/util/util-macros-1.19.1.tar.bz2
==> Failed to fetch file from URL: https://www.x.org/archive/individual/util/util-macros-1.19.1.tar.bz2
    Curl failed with error 16
==> Fetching http://xorg.mirrors.pair.com/individual/util/util-macros-1.19.1.tar.bz2
==> Failed to fetch file from URL: https://www.x.org/archive/individual/util/util-macros-1.19.1.tar.bz2
    URL https://www.x.org/archive/individual/util/util-macros-1.19.1.tar.bz2 was not found!
==> Fetching from https://www.x.org/archive/individual/util/util-macros-1.19.1.tar.bz2 failed.
==> Error: FetchError: All fetchers failed for spack-stage-util-macros-1.19.1-se2a2e74oyusj2r4esgcb7pr3qhh45ef
```

- `urls[0]`: HTTP2 layer error
- `urls[1]`: timeout
- `urls[2]`: missing file on mirror

* x.org: two more mirrors

x.org mirrors are a bit tricky, since many are out-of-sync or off.
A good package to test with is `util-macros`, which had a "recent"
release.
2020-06-18 10:37:32 +02:00
Adam J. Stewart
1f85d6eceb Docs: fix rst link to spack ci (#17147) 2020-06-18 09:44:03 +02:00
Toyohisa Kameyama
58e20430b1 minimap2: fix a typo in the recipe (#17148) 2020-06-18 09:43:06 +02:00
Seth R. Johnson
1bb94f2913 glib: fix 2.56 build with python@2 (#17144)
* glib: fix 2.56 build with python@2

* flake8
2020-06-17 23:32:25 -05:00
Joseph Ciurej
c8199ece65 python: fix patch issue for 2.7.X, 3.7.X (#17140)
* python: fixing patch issue for 2.7.X, 3.7.X versions (#17128)

* python: fixing the C/C++ 'distutils' patching for @3.7.0:3.7.1
2020-06-17 23:30:41 -05:00
Greg Becker
5b59e883c1 cray module do not work without CRAY_LD_LIBRARY_PATH (#17031)
Co-authored-by: Gregory Becker <becker33.llnl.gov>
2020-06-17 15:53:30 -07:00
Adam J. Stewart
c0cdc00409 oneDNN: add v1.5.0 (#17137) 2020-06-17 16:01:46 -05:00
Michael Kuhn
f7008f37d4 slurm: Fix build with gcc@10:
gcc@10: defaults to -fno-common, which breaks slurm up to version
20-02-1. For more details, see https://gcc.gnu.org/gcc-10/porting_to.html
2020-06-17 13:42:00 -07:00
Sergey Kosukhin
01b277ad0f openmpi: options for local transport (#16831) 2020-06-17 14:41:24 -05:00
Chris White
506f31b7a7 axom conduit mfem build fixes (#17121)
* honor global compiler flags

* Honor debug variant when using global compiler flags

* Add cppflags to c/cxx flags, clarify flag handling
2020-06-17 12:43:47 -05:00
vvolkl
03880f5413 Split hepmc Into hepmc and hepmc3 (#16892) 2020-06-17 12:13:27 -05:00
Michio Ogawa
ad18933ef4 FrontISTR: various updates to the package (#17089)
* Added maintainers
* Refined dependencies
* Changed git url
2020-06-17 17:45:51 +02:00
Sergey Kosukhin
eca08c77e3 openmpi: fixes for NAG compiler (#17073)
* openmpi: fixes for NAG compiler

* openmpi: more fixes
2020-06-17 10:32:08 -05:00
Seth R. Johnson
e90c229dab Fix/clarify some trilinos variants/dependencies (#17006)
- Parallel HDF5 isn't required -- the comment seems to be about a
  transitive dependency with pnetcdf.
- Boost usage should respect the variant, not automatically be reenabled
  when choosing DTK.
2020-06-17 09:34:53 -05:00
takanori-ihara
eb5f1886b7 py-tensorflow: Update for use with Fujitsu compiler (#17088)
* py-tensorflow: Update for use with Fujitsu compiler

* py-tensorflow: remove -march option

* fix flake8 error
2020-06-17 08:00:36 -05:00
darmac
dc0dfe9220 New package: lynx (#17099) 2020-06-16 23:04:00 -07:00
Muhammad Haseeb
d2b745b3d6 lua: requires -ltermcap when building (#17108) 2020-06-16 22:55:46 -07:00
Fabian Brandt
494a523636 libnetworkit: add version 7.0 (#17111) 2020-06-16 22:44:43 -07:00
Ryan Mast
0c28d8932f helics: Add version 2.5.2 2020-06-16 22:43:27 -07:00
Seth R. Johnson
93fcca900f vecgeom: add version 1.1.7 (#17120) 2020-06-16 22:42:56 -07:00
h-denpo
fd8971feec Modified for Fujitsu compiler. (#17124) 2020-06-16 22:36:08 -05:00
Glenn Johnson
8e6f0c353c Add patch for older versions of py-tensorflow (#17122)
Versions of py-tensorflow between versions 1.1 and 1.14 need a patch to
avoid an import error on the cloud package even if built without support
for the cloud package.
2020-06-16 22:35:03 -05:00
Toyohisa Kameyama
6e467d13a4 mxnet: avoid GNU parallel shuffle without openmp. (#17095) 2020-06-16 22:24:38 -05:00
takanori-ihara
b0c73c3325 bazel: Update for use with Fujitsu compiler (#16860)
* bazel: Update for use with Fujitsu compiler

* bazel: Fix for use with Fujitsu compiler

* bazel: Fix flake8 error

* bazel: add conflicts setting for use with Fujitsu compiler

* fix flake8 error

* fix flake8 error
2020-06-16 22:18:04 -05:00
takanori-ihara
84e117b497 Add compiler option to use with Fujitsu compiler (#17067)
* Add compiler option to use with Fujitsu compiler

* Fix flake8 error

* remove 1-1_fcc_tf_patch.patch

* fix flake8 error
2020-06-16 21:59:20 -05:00
Axel Huebl
896a14af82 Doc: E4S Build Cache Link (#16986)
Link to the E4S build cache in the according section of the docs.
2020-06-16 15:53:34 -07:00
Geoffrey Oxberry
4652b217cf pango: add libffi, glib, and other dependencies (#12384) 2020-06-16 15:34:18 -07:00
Andrew W Elble
ff816f76b3 ruby: add version 2.7.1 (#17112) 2020-06-16 21:35:49 +02:00
Tom Payerle
4a948060cf VTK: add version 9.0.0; update Python dependency constraints (#17019)
In Python 3.8, the reserved "tp_print" slot was changed from a function
pointer to a number, which broke the Python wrapping code in vtk@8
(causing "cannot convert 'std::nullptr_t' to 'Py_ssize_t'" errors in
various places).  This is fixed in vtk@9.0.0.

This patch:

1) adds vtk@9.0.0
2) updates depends_on constraints to only use python@3.8: for vtk@9:
   vtk@:8 depends on python@2, and vtk@8.0.1:8.9.9 depends on python@:3.7
3) Adds CMake flag VTK_PYTHON_VERSION=3 when using python@3 with vtk@9
2020-06-16 11:33:35 -07:00
psakievich
dc31afe67d Yaml spec parsing corner case (#17101)
* Catch yaml filename corner case in spec parser

* improved regex and remove redundant error checking

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2020-06-16 13:27:33 -05:00
Omar Padron
e816b66c94 fix docker image entrypoints (#17105)
Also removes extraneous prompt and ssh handling logic.
2020-06-16 14:11:13 -04:00
Joseph Ciurej
0095c4c25c python: fix distutils for python modules (e.g. matplotlib) with C and C++ source files (#16856)
* python: adding a distutils fix to improve build compatibility for C++ extension modules (e.g. py-matplotlib)

* python: added C/C++ distutils patches for python@3.6:3.8
2020-06-16 12:45:36 -05:00
Tomoki, Karatsu
4b48f70393 gobject-introspection: build sequentially when using the Fujitsu compiler. (#17092) 2020-06-16 14:51:29 +02:00
victorusu
0f484380f5 reframe: fix package bugs with v3.0 (#17104)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-16 13:49:47 +02:00
vvolkl
e28561241b ROOT: set LD_LIBRARY_PATH when ~rpath (#16899)
Allow Spack to build with ROOT as an external dependency by setting
LD_LIBRARY_PATH: given that the external package was not built by
Spack, dependents would not be able to locate libraries using RPATHs
when running ROOT binaries.
2020-06-15 23:31:41 -07:00
darmac
9f73e60ba9 Add new package: lzop (#17098) 2020-06-16 08:28:44 +02:00
John Jolly
8882dc0d96 chill: Update dependency versions
Specified Python to be v2.7 only, as Python3 support is not currently
implemented in chill.

Update chill dependency versions for the following libraries to the
specific versions:

* rose:  v0.9.13.0
* bison: v3.4.2

Both rose and iegenlib are build time dependencies, but are also run
time dependencies. Added 'run' to the build type for both dependencies.
2020-06-15 23:08:34 -07:00
Sergey Kosukhin
a492187973 hdf5: fix libtool files (#17009) 2020-06-15 23:05:46 -07:00
Andrew W Elble
7e322b3184 CUDA: remove preexisting log file before install (#17018)
cuda: 10.1 and onward, installers will crash if /tmp/cuda-installer.log
exists

Try to help if user owns the file, otherwise try to provide useful
info. Clean up the file post-install to try to avoid the whole issue.
2020-06-15 22:57:00 -07:00
Jen Herting
d4f0a8f70b [py-torchvision] added dependency of ffmpeg (#17032)
* [py-torchvision] added dependency of ffmpeg

* [py-torchvision] needs ffmpeg >= 3.1. See: https://github.com/pytorch/vision/issues/1597

* [py-torchvision] ffmpeg dependency is only for py-torchvision versions >= 0.4.2.
2020-06-15 22:46:35 -07:00
Amjad Kotobi
0111f2932f pcre2: add version 10.35; JIT support (#17037) 2020-06-15 22:44:04 -07:00
Jose E. Roman
f54c9ae305 SLEPc: added v3.13.3 (#17085) 2020-06-16 06:25:30 +02:00
Kai Torben Ohlhus
e8fc7871da openblas: added v0.3.10. (#17086)
[OpenBLAS 0.3.10](https://github.com/xianyi/OpenBLAS/releases/tag/v0.3.10) was released.
2020-06-16 06:22:48 +02:00
Sinan
06c06a5665 arrayfire: added new package at v3.7.0 (#15598)
Co-authored-by: Sinan81 <Sinan81@github>
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-06-16 06:15:50 +02:00
darmac
6f07f8ae3e netdata: added new package at v1.22.1 (#17094) 2020-06-16 06:08:45 +02:00
darmac
d1aa54115c cyrus-sasl: added new package at 2.1.27 (#17096) 2020-06-16 06:00:53 +02:00
darmac
70be1038fd memtester: added new package at v4.3.0 (#17097) 2020-06-16 05:59:31 +02:00
Miroslav Stoyanov
32558525f6 heffte: added v1.0 (#17102) 2020-06-16 05:44:47 +02:00
David Beckingsale
cb028aaf12 Update master to main for RAJA and Umpire (#17107) 2020-06-16 05:35:23 +02:00
h-denpo
01d9063bb1 ffb: prevent the architecture to be always "x86_64" (#17093) 2020-06-16 05:29:35 +02:00
Todd Gamblin
e5066664ab README: Update LLNL release number to Apache-2.0/MIT version (#17109)
The release number in the README had not been updated since we did the
relicense to Apache-2.0 OR MIT in v0.12.0. LLNL-CODE-811652 is Spack's
new LLNL release number.
2020-06-15 17:10:49 -07:00
Matthias Diener
24ff34335b dateutils: add version 0.4.7 (#17106) 2020-06-15 22:50:56 +02:00
Itaru Kitayama
eb26b4666f Add 4.5 release to cubelib (#17090) 2020-06-15 15:21:35 -05:00
Massimiliano Culpo
5fc88a7c65 Skip failing test on MacOS (#17072)
* Skip failing test on MacOS

* Update setup-python action and unpin coverage
2020-06-15 13:24:56 -05:00
darmac
6c2e14dfca grafana: added new package at v6.7.3 (#16788) 2020-06-15 15:56:29 +02:00
Sinan
1501de59ed Package/py-lmfit: add new version (#16975)
* save edits

* tidy up

* Update var/spack/repos/builtin/packages/py-lmfit/package.py

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

* add python version constraints

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Sinan81 <Sinan81@github>
2020-06-14 08:36:10 -05:00
Mark W. Krentel
aa50c2c7d0 hpctoolkit: add version 2020.06.12 (#17081)
Add versions 2020.06.12 and develop.
Switch default for variant papi to true.
2020-06-13 09:01:42 -05:00
Sinan
59e4caad1d add dependency for icd variant, or else build fails (#17079)
Co-authored-by: Sinan81 <Sinan81@github>
2020-06-13 09:00:46 -05:00
Greg Becker
58332d028e clang: add 'version_argument', remove redundant method (#17071) 2020-06-13 15:31:24 +02:00
Sinan
b9cf50d571 New package: ocl-icd (#17078)
* new package: ocl-icd

* flake8

Co-authored-by: Sinan81 <Sinan81@github>
2020-06-12 21:23:55 -05:00
victorusu
82f84fb61b Reframe 3.0 (#17005)
* Add pygelf Python package

* Update ReFrame package version

* Address styling remarks

* Update var/spack/repos/builtin/packages/reframe/package.py

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

* Update var/spack/repos/builtin/packages/reframe/package.py

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

* Update var/spack/repos/builtin/packages/reframe/package.py

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

* Update var/spack/repos/builtin/packages/reframe/package.py

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

* Update var/spack/repos/builtin/packages/reframe/package.py

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

* Address PR remarks

* Remove setuptools runtime dependency

* Address PR remarks

* Address PR remarks

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-12 20:38:17 -05:00
健美猞猁
50a50875f9 py-healpy: a new package. (#17001)
* py-healpy: a new package.

* Use internal libraries within py-healpy.

* Fix python dependencies.

* Fix python dependency.
2020-06-12 20:36:24 -05:00
Ross Miller
a69a213b9b New recipe for building the Log4C package (#17038)
* New recipe for building the Log4C package

* Update Copyright notice
2020-06-12 20:19:28 -05:00
darmac
4053036388 fix depends issue and support for aarch64 (#17045) 2020-06-12 20:18:38 -05:00
Peter Scheibel
2b58b3a1bf replace 'no' with 'none' as possible value of 'threads' variant (#17063) 2020-06-12 20:12:35 -05:00
Amjad Kotobi
416e94be72 xrootd: new versions (#17076) 2020-06-12 20:06:15 -05:00
Greg Becker
ea8a0be465 add compilers to mpi setup_run_environment methods forall mpi implementations (#17015) 2020-06-12 14:05:12 -07:00
Andrew W Elble
67b86623a2 bazel: patch to allow py-tensorflow (and likely other bazel packages) to build. (#17013)
bazel uses gcc's -MF option to write dependencies to a
file. Post-compilation, bazel reads this file and makes some
determinations.

"Since gcc is given only relative paths on the command line,
 non-system include paths here should never be absolute. If they
 are, it's probably due to a non-hermetic #include, & we should stop
 the build with an error."

Spack directly injects absolute paths, which appear in this file and
cause bazel to fail the build despite the fact that compilation
succeeded.

This patch disables this failure mode by default, and allows for it
to be turned back on by using the '~nodepfail' variant.
2020-06-12 13:25:34 -07:00
h-denpo
0c1f1af571 New package: FrontFlow Blue (#16901)
* New package: FrontFlow Blue
       Computational Fluid Dynamics Software for aeroacoustics

* Modify Package ->MakefilePackage

* Update var/spack/repos/builtin/packages/ffb/package.py

Co-authored-by: Greg Becker <becker33@llnl.gov>

* Update var/spack/repos/builtin/packages/ffb/package.py

Co-authored-by: Greg Becker <becker33@llnl.gov>

Co-authored-by: Greg Becker <becker33@llnl.gov>
2020-06-12 12:31:04 -07:00
John Jolly
b90780d256 cscope: Link tinfow instead of tinfo
Whenever attempting to use any ncurses functionality within cscope, a
page fault would result within the ncurses library.

    Program received signal SIGSEGV, Segmentation fault.
    0x00007ffff7fad3cf in termattrs_sp () from .../lib/libncursesw.so.6
    (gdb) bt
    #0  0x00007ffff7fad3cf in termattrs_sp () from .../lib/libncursesw.so.6
    #1  0x00007ffff7faa794 in _nc_setupscreen_sp () from .../lib/libncursesw.so.6
    #2  0x00007ffff7fa614c in newterm_sp () from .../lib/libncursesw.so.6
    #3  0x00007ffff7fa65b9 in newterm () from .../lib/libncursesw.so.6
    #4  0x00007ffff7fa2970 in initscr () from .../lib/libncursesw.so.6
    #5  0x0000000000403dc2 in main (argc=<optimized out>, argv=0x7fffffffcea8) at main.c:574

This is due to a conflict between libtinfo.so and libtinfow.so. Both are
linked into cscope:

    $ ldd $(which cscope)
    /bin/bash: .../lib/libtinfo.so.6: no version information available (required by /bin/bash)
        linux-vdso.so.1 (0x00007fff5dbcb000)
        libncursesw.so.6 => .../lib/libncursesw.so.6 (0x00007f435cc69000)
        libtinfo.so.6 => .../lib/libtinfo.so.6 (0x00007f435cc2c000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f435ca29000)
        libtinfow.so.6 => .../lib/libtinfow.so.6 (0x00007f435c9e8000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f435cca7000)

Specifically linking libtinfow.so instead of libtinfo.so resolves the
issue.

All instances of '...' above represent the path to the installed ncurses
for Spack.
2020-06-12 12:29:43 -07:00
Sinan
f44a93e4f7 New package: alps (#17023) 2020-06-12 12:27:40 -07:00
Harsh Bhatia
cb20f0152c pygpu: fix linking with gpuarray (#17033)
* add build_ext_args to link pygpu with gpuarray
* libgpuarray: add version 0.7.6
2020-06-12 12:20:57 -07:00
Harmen Stoppels
804b6f2483 libtree package: add version 1.2.0, 1.1.4, and 1.1.3 (#17035) 2020-06-12 11:39:40 -07:00
Patrick Gartung
08c21e4e74 Buildcache: Fix bug in binary string replacement (#17075)
* Fix bug in binary string replacement that results in padding being added multiple times

* Update comment

* Update comment again
2020-06-12 13:38:33 -05:00
Matthias Diener
c4756159f3 New package: clinfo (#17042) 2020-06-12 11:37:34 -07:00
Axel Huebl
42e6cb769e Geant4 +Python: fix module load (#17046)
Adding `extends('python')` makes sure that a

```
spack load -r geant4 +python
python -c "import Geant4"
```

find the module.
2020-06-12 11:28:05 -07:00
Axel Huebl
34fb4b30dc libffi 3.3: float128 ppc patch (#17043)
Apply a patch to fix builds on Power7 and 8, wrongly requesting
float128 support.

Upstream patch: libffi/libffi#561
2020-06-12 11:25:06 -07:00
Adam J. Stewart
4e39dc7174 readline: fix linking to ncurses 2020-06-12 11:05:28 -07:00
Robert Blake
50aba2729b New package: antimony (#17061) 2020-06-12 10:42:59 -07:00
Brian Van Essen
dcd22517c7 hydrogen: add version 1.3.4 (#17066) 2020-06-12 09:53:50 -07:00
Tom Payerle
e1e455ef3f magics: add version 4.2.4 (#17054)
* Add version 4.2.4
* Update checksum for 4.1.0
* Version @4: requires python and py-jinja2 to build
2020-06-12 09:53:08 -07:00
Michael Kuhn
f2ae9ffdf5 gcc: Add 7.5.0 2020-06-12 09:37:53 -07:00
Massimiliano Culpo
3609f36e60 Renamed flags.py to basics.py 2020-06-11 10:06:32 -07:00
Massimiliano Culpo
bbac630aac Reworked tests on compilers to separate version detection
Tests on version detection are now separate from other
tests done on compiler.
2020-06-11 10:06:32 -07:00
Sinan
b50b930d6a New package: py-uncertainties (#16997) 2020-06-11 08:26:43 -07:00
codeandkey
9820a23abd py-gpy: new package at 1.9.9 2020-06-11 08:25:14 -07:00
Justin S
19dba603ad py-paramz: new package at 0.9.5 (#17026) 2020-06-10 18:57:08 -07:00
Massimiliano Culpo
478a8aff0e Move to temporary directory before running dev-build test (#17028)
Without this the test would leave spurious "spack-build-*.txt"
files in the current working directory.
2020-06-10 08:10:57 -07:00
Axel Huebl
2827dca905 ADIOS 2.6.0: New Options (#17025)
Control new options/dependencies in ADIOS2 to avoid pick-up of system
packages.
2020-06-10 10:19:41 -04:00
Toyohisa Kameyama
f6020d259a adios2: fix to build on Fujitsu MPI and Fujitsu compiler (#17034) 2020-06-10 14:53:09 +02:00
asmaahassan90
0de12be52a add gaussian-view (#16890) 2020-06-09 16:58:34 -07:00
Joseph Ciurej
9a18fbbc3e lib/spack : expand spack config vars in 'include' section (#16210)
* Changed the 'include' config section to use 'substitute_path_variables' to allow for Spack config variables to be used (e.g. $spack).

* Fixed a bug with 'include' section path expansion and added a test case for 'include' paths with embedded config variables.
2020-06-09 16:57:27 -07:00
Rob Latham
31791f269b teach spack how to build pmix from git (#16973)
* teach spack how to build pmix from git

* add variant for new REST feature

* reorder package to match guidance
2020-06-09 16:16:38 -05:00
Robert Blake
872ab21103 Add new package: wcs (#16958)
* Adding a package for wcs.

* Turning on sbml for wcs.

* The cpp flag needs to be available for wcs.

* Wcs needs SBML to properly define the namespace.

* Flake8 fixes.

* Fixing the help string with the description.

* Changing cpp to use the new variant syntax.

* Fixing flake8 errors.

* Forgot to delete one last fixme comment.

* Spack "develop" needs to link to repo "devel"

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

Co-authored-by: Robert Blake <rob.c.blake.3@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-09 16:13:54 -05:00
Joseph Ciurej
806a19c6b6 libffi: add patch for building with clang on power (#16855)
* libffi: add patch for building with '%clang target=power*'

* libffi: fix version of clang/power patch
2020-06-09 13:52:01 -07:00
darmac
8b1ffebe00 Add new package: py-workload-automation 2020-06-09 12:02:49 -07:00
victorusu
a52945613d New package: py-pygelf (#17004) 2020-06-09 11:54:59 -07:00
Rob Latham
07e97e3ebc jansson: add versions 2.10 to 2.13.1 (#17011) 2020-06-09 11:53:20 -07:00
Massimiliano Culpo
25a837bf79 Testing: create mock executable fixture (#16999) 2020-06-09 11:00:23 -07:00
Greg Becker
2421d903b0 SpecList: fix recursion for references (#16897)
* SpecList: fix and refactor variable expansion
2020-06-09 08:52:46 -07:00
Jen Herting
11b5fa7170 [util-linux] disabling systemd (#17008)
If systemd support is enabled, install will attempt to modify files in
system systemd directories.
2020-06-09 17:23:29 +02:00
Nathan
f70b72edc5 Set the BOOST_ROOT environment variable when library is loaded (#16818)
* Adding BOOST_ROOT env variable

* Update var/spack/repos/builtin/packages/boost/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-09 08:01:55 -05:00
Massimiliano Culpo
2e20ee8ea2 suite-sparse: build libraries without running demos (#17007)
fixes #16638
2020-06-09 06:54:50 +02:00
oracleLee
9cda38c03d Update miniconda3@4.8.2 (#17003)
* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2020-06-08 22:48:59 -05:00
Adam J. Stewart
bcf8ebff4f Cray: fix Blue Waters support and user-built MPIs on Cray (#16593)
* Cray: fix Blue Waters support

* pkg-config env vars needed on Blue Waters

* cray platform: fix support for user-build MPI on cray machines

* reintroduce cray environment cleaning behind cnl version guard

* cray platform: fix support for user-build MPI on cray machines

Co-authored-by: Gregory <becker33@llnl.gov>
2020-06-08 16:44:07 -07:00
Ryan Mast
6f9bfec32e HELICS: add version 2.5.1 (#17014) 2020-06-08 14:37:49 -07:00
darmac
4d064fd56c rt-tests: fix build error (#16998)
This is a makefile package and needs to invoke make.
2020-06-08 10:51:59 -07:00
darmac
f8b5e413b4 Add new package: py-devlib (#16982)
* Add new package: py-devlib

* Update var/spack/repos/builtin/packages/py-devlib/package.py

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

* add depends

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-08 08:33:40 -05:00
vvolkl
8995b3ad3a Add Package HSF-CMakeTools (#16951)
* [hsf-cmaketools] add package

* fix formatting

* Apply suggestions from code review

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

* [hsf-cmaketools] remove cmake_prefix_path which is set already by spack

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-08 08:30:23 -05:00
Amjad Kotobi
c76ab4d8fe R: url-version custom, release 4 (#16962)
* R: url-version custom, release 4

* r: pcre condition
2020-06-08 08:28:21 -05:00
iarspider
3ea65818e1 Add py-storm@0.23 and update URL (#16991)
* Add py-storm@0.23 and update URL

* Update package.py
2020-06-08 14:09:48 +02:00
Justin S
d9738f569d ltr-retriever: new package at v2.8.7 (#16832)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-08 08:07:34 +02:00
Greg Becker
bd1a0a9ad4 view remove: directly check whether specs own files before removing from view (#16955)
Bugfix for hardlinks and copies
2020-06-08 06:43:52 +02:00
Mark W. Krentel
763760cfe0 hpcviewer, ibm-java: updates versions (#16987)
hpcviewer: added v2020.05.
ibm-java:  added v8.0.6.10.
2020-06-08 06:15:37 +02:00
iarspider
664c32efb4 py-ipykernel: added v5.1.1 (#16988) 2020-06-08 06:11:24 +02:00
Toyohisa Kameyama
b00f97f7cc boost: Don't use pre-compiled headers for Fujitsu compiler (#16914)
* boost: Dopn't use pre compile header.

* move %fj.
2020-06-07 09:39:53 -05:00
John Jolly
33923320a8 rose: Add build dependencies for flex and bison (#16981) 2020-06-07 09:36:14 -05:00
Sinan
a2c6f6a703 py-gast: add version 0.3.3 (#16945)
* py-gast: add version 0.3.3

* add python version constraints

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-06-07 09:33:03 -05:00
iarspider
6498b752d1 Add rpy2@3.0.4 (#16924)
* Add rpy2@3.0.4

* Style fixes

* Update package.py

* Proper Python version requirement
2020-06-06 16:33:34 -05:00
Toyohisa Kameyama
7bc44fa165 ffr: fix mpi programs to use mpi compiler wrapper. (#16948) 2020-06-06 16:30:43 -05:00
vvolkl
8f291c7e95 [prmon] add package (#16949) 2020-06-06 16:29:42 -05:00
Michael Kuhn
ad2dd4be01 mongo-c-driver: Add 1.16.2 (#16956)
This also updates libbson to the corresponding version and adds a few
missing older versions.
2020-06-06 16:18:48 -05:00
Matthieu Dorier
543f9f91d4 added CTRE package (#16964) 2020-06-06 16:14:40 -05:00
John Jolly
46a751081d gcc: Fix error 'size of array is negative' (#16969)
gcc 9.3.0 and glibc 2.31 (found in the base install of Ubuntu 20.04)
cause the gcc package to error during build with the error:

    "size of array 'assertion_failed__####' is negative"

Previous to this fix, the error was resolved for v8.1.0 <= gcc <= v9.2.0
via two patches.

This fix backports those patches for v5.3.0 <= gcc <= v7.4.0

Potentially these patches need to be backported to versions of gcc
before v5.3.0, but other compile issues need to be resolved for earlier
versions of gcc first.

Fixes #16968
2020-06-06 16:14:11 -05:00
Tom Payerle
885808cc13 intel-tbb: Fix for #16938 add custom libs method (#16972)
* intel-tbb: Fix for #16938 add custom libs method

Override the libs method to look for libraries of form libtbb*
(instead of inherited which looks for libintel-tbb*)

* Fixing pre-existing flake8 issues
2020-06-06 16:12:46 -05:00
darmac
c835b93109 Add new package: py-louie (#16983) 2020-06-06 16:02:15 -05:00
darmac
77fbdff8a2 Add new package: lxc (#16984) 2020-06-06 16:00:59 -05:00
Sinan
36f9550178 py-mysqlclient: relax dependency constraint, add new versions (#16985)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-06-06 16:00:29 -05:00
Sinan
73d13461b1 ensure xla is turned off (#16974)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-06-06 15:51:19 -05:00
Sinan
7b6e1ae9d3 py-astunparse: add version 1.6.3 (#16946)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-06-06 15:50:16 -05:00
darmac
c5ac168f31 protobuf: support aarch64 @2.5.0 (#16862)
* protobuf: support aarch64 @2.5.0

* refine cmake args

* fix patch name
2020-06-06 15:47:30 -05:00
Nithin Senthil Kumar
944f0abb36 Update package for MVAPICH2 2.3.4 release (#16960)
Co-authored-by: senthilkumar.16 <senthilkumar.16@nowlab.cse.ohio-state.edu>
2020-06-06 12:51:27 +02:00
John Jolly
d755cc8ce9 iegenlib: add build dependencies for automake and libtool (#16980) 2020-06-06 09:55:14 +02:00
Andrew Gaspar
374f1a62e2 py-flake8: add version 2.8.2 (#16959)
* py-flake8: add version 3.8.2
  * This version depends on different versions of py-pycodestyle
    and py-pyflakes
  * When built for python@:3.7, this depends on the
    py-importlib-metadata backport library
* py-pycodestyle: add version 2.6.0
* py-pyflakes: add version 2.2.0
2020-06-05 18:25:42 -07:00
Amjad Kotobi
27eb7d9f5f xrootd: add version 4.12.1 (#16966) 2020-06-05 18:18:00 -07:00
Sinan
a08f3dd505 New package: py-asteval (#16976) 2020-06-05 18:16:13 -07:00
Michael Kuhn
bfa05628cb pkgconf: Add 1.7.3 2020-06-05 18:14:20 -07:00
Christoph Junghans
76abf35813 cajita: got merged in cabana (#16971) 2020-06-05 12:38:07 -06:00
Tomoki, Karatsu
89cc507cf6 cmake: add linker option for VerifyFortranC when using Fujitsu compiler. (#16963) 2020-06-05 13:29:36 +02:00
Tomoki, Karatsu
c3be6d903a cmake: modify FindMPI.cmake to treat Fujitsu MPI correctly (#16864) 2020-06-05 13:25:02 +02:00
Tomoki, Karatsu
8be7823cc5 suite-sparse: change the condition to add C11 flag. (#16859) 2020-06-05 13:17:41 +02:00
Greg Becker
94e77333e6 spack dev-build: Do not mark -u builds in database (#16333)
Builds can be stopped before the final install phase due to user requests. Those builds 
should not be registered as installed in the database.

We had code intended to handle this but:

  1. It caught the wrong type of exception
  2. We were catching these exceptions to suppress them at a lower level in the stack

This PR allows the StopIteration to propagate through a ChildError, and catches it
properly. Also added to an existing test to prevent regression.
2020-06-05 00:35:16 -07:00
Massimiliano Culpo
5b272e3ff3 commands: use a single ThreadPool for spack versions (#16749)
This fixes a fork bomb in `spack versions`. Recursive generation of pools
to scrape URLs in `_spider` was creating large numbers of processes.
Instead of recursively creating process pools, we now use a single
`ThreadPool` with a concurrency limit.

More on the issue: having ~10 users running at the same time spack
versions on front-end nodes caused kernel lockup due to the high number
of sockets opened (sys-admin reports ~210k distributed over 3 nodes).
Users were internal, so they had ulimit -n set to ~70k.

The forking behavior could be observed by just running:

    $ spack versions boost

and checking the number of processes spawned. Number of processes
per se was not the issue, but each one of them opens a socket
which can stress `iptables`.

In the original issue the kernel watchdog was reporting:

    Message from syslogd@login03 at May 19 12:01:30 ...
    kernel:Watchdog CPU:110 Hard LOCKUP
    Message from syslogd@login03 at May 19 12:01:31 ...
    kernel:watchdog: BUG: soft lockup - CPU#110 stuck for 23s! [python3:2756]
    Message from syslogd@login03 at May 19 12:01:31 ...
    kernel:watchdog: BUG: soft lockup - CPU#94 stuck for 22s! [iptables:5603]
2020-06-05 00:08:32 -07:00
eugeneswalker
92e24950e5 add erlang version 23.0 (#16961) 2020-06-04 22:49:46 -07:00
Andrew Gaspar
0d43e41da0 Rust v1.44.0 (#16957)
* libgit2 v1.0.1

* Rust 1.44.0

* Fix flake8
2020-06-04 16:59:14 -05:00
Andrew Gaspar
0a3601a3f1 libgit2 v1.0.1 (#16952) 2020-06-04 16:34:19 -05:00
eugeneswalker
44ec8cc4e4 sz: patch in ctag optionality from robertu94/sz 3637a87f986c (#16953) 2020-06-04 09:16:11 -07:00
eugeneswalker
b64ec7fba4 pass hwloc to configure via useropt; use lib/ or lib64/ as appropriate for libunwind (#16941) 2020-06-04 06:58:33 -07:00
Adam J. Stewart
7617054a5d Fix obsolete references to wx package (#16944) 2020-06-04 08:05:48 -05:00
Adam J. Stewart
0dd1d1f21a NumPy: add 1.18.5 (#16943) 2020-06-04 08:05:22 -05:00
iarspider
ad50a02188 Add matplotlib 3.1.0 (#16921) 2020-06-03 22:26:13 -05:00
iarspider
6f4631ee48 Add py-jupyter-core@4.6.1 (#16922) 2020-06-03 22:25:38 -05:00
Seth R. Johnson
104a0c4259 Trilinos: add Stratimikos package (#16925)
Stratimikos is an optional dependency for our project. It depends on
Thyra, and thyra has subpackages that should be enabled based on
tpetra/epetra/epetraext.
2020-06-03 22:25:09 -05:00
Mathew Cleveland
02548c56fa + Add opppy-0_1_3 (#16926)
+ Update maintainers for OPPPY package
+ remove "run" requirement for setuptools and sphynx

Co-authored-by: Cleveland <cleveland@lanl.gov>
2020-06-03 22:16:46 -05:00
iarspider
16e8e434c2 Add pytest@5.3.4 (#16927)
Dropping atomicwrites dependency: https://github.com/pytest-dev/pytest/issues/6147
2020-06-03 22:15:01 -05:00
Seth R. Johnson
6f6c243699 mpfr: update hash for 4.0.2 patch (#16937) 2020-06-03 22:11:44 -05:00
Adam J. Stewart
61f61f3cde py-openpyxl: add 3.0.3 (#16940) 2020-06-03 22:09:58 -05:00
Adam J. Stewart
5a7b555314 IPython: fix setuptools dependency (#16915)
* IPython: fix setuptools dependency

* Remove extra colon
2020-06-03 22:09:40 -05:00
Adam J. Stewart
dd19d6f863 Fix parsing of EvtGen URL (#16883)
* Fix parsing of EvtGen URL

* Flake8 fix
2020-06-03 22:09:22 -05:00
Adam J. Stewart
a02fc8ae58 Ignore __pycache__ directory (#16836) 2020-06-03 22:09:06 -05:00
Tom Payerle
0fb671a19e Gnuplot fix 16928 (#16929)
* gnuplot: Fix for #16928

Dependency for --with-wx flag mistyped (should be wxwidgets)

* Revert "gnuplot: Fix for #16928"

This reverts commit 2b85814e5c.

* gnuplot: Fix for #16928

Dependency spec for --with-wx flag mistyped (should be wxwidgets, not
wx)
2020-06-03 22:08:07 -05:00
shanedsnyder
748be57790 update darshan-runtime & darshan-util versions (#16934)
* update darshan-runtime & darshan-util versions

includes up through the current release, 3.2.1

* remove pre-releases, not needed in spack
2020-06-03 18:05:46 -07:00
Peter Scheibel
24775697f5 Mirrors: add option to exclude packages from "mirror create" (#14154)
* add an --exclude-file option to 'spack mirror create' which allows a user to specify a file of specs to exclude when creating a mirror. this is anticipated to be useful especially when using the '--all' option

* allow specifying number of versions when mirroring all packages

* when mirroring all specs within an environment, include dependencies of root specs

* add '--exclude-specs' option to allow user to specify that specs should be excluded on the command line

* add test for excluding specs
2020-06-03 17:43:51 -07:00
eugeneswalker
0086c47546 patch lambda capture issue for @1.1906.1, fixed in upstream faodel@master (#16935) 2020-06-03 11:38:27 -07:00
Greg Becker
3347ef2de4 Feature: add option to create view by copying/relocating files (#16480)
* add subcommand `spack view copy/relocate`

* update bash completions

* add copy/relocate commands to view tests

* allow copied views to be removed
2020-06-03 09:45:13 -07:00
Sergey Kosukhin
7aa9cb0f7a Implicit rpaths for NAG/GCC mixed toolchain (#14782)
* Implicit rpaths for NAG.

* set up environment when checking for implicit rpaths
2020-06-03 09:42:13 -07:00
Massimiliano Culpo
70c3b0ba09 spack uninstall: improve help message (#16886)
fixes #12527

Mention that specs  can be uninstalled by hash also in
the help message. Reference `spack gc` in case people
are looking for ways to clean the store from build time
dependencies.

Use "spec" instead of "package" to avoid ambiguity in
the error message.
2020-06-03 16:30:12 +02:00
dmorone
600e2cfc4f amber: updated dependency constraint on cuda (#16919)
Fix message 'amber requires cuda version :10.1.243, but spec asked for 10.2.89'
2020-06-03 13:17:36 +02:00
Amjad Kotobi
eed82a19be openssh: added v8.3p1 and v8.1p1 (#16917) 2020-06-03 11:28:42 +02:00
Amjad Kotobi
417eb3c5b1 git: added v2.27.0 (#16918) 2020-06-03 11:24:08 +02:00
Justin S
5604c8d91a mummer4: new package at 4.0.0-beta2 (#16907) 2020-06-02 22:09:39 -05:00
Robert Blake
0e71e8716a Add new package: sbml (#16898)
* Adding a module for sbml.

* Adding support for all the languages.

* Update var/spack/repos/builtin/packages/sbml/package.py

Co-authored-by: Greg Becker <becker33@llnl.gov>

* Update var/spack/repos/builtin/packages/sbml/package.py

Co-authored-by: Greg Becker <becker33@llnl.gov>

Co-authored-by: Robert Blake <rob.c.blake.3@gmail.com>
Co-authored-by: Greg Becker <becker33@llnl.gov>
2020-06-02 17:54:50 -07:00
Adam J. Stewart
7f086af05e Ruby: add warning about Avira antivirus (#16882) 2020-06-02 15:05:50 -07:00
Massimiliano Culpo
d5ffec1b2f Unify tests for compiler command in the same file (#16891)
* Unify tests for compiler command in the same file

Tests for the "spack compiler" command were previously
scattered among different files.

* Tests should use mutable_config, since they modify the compiler list
2020-06-02 14:59:42 -07:00
Toyohisa Kameyama
76142124d2 alsa-lib: Add new version and python dependency. (#16905)
Add version 1.2.2.
Add conditional python dependency.
Add patch for 1.1.4.1 and python.
2020-06-02 14:23:14 -07:00
Justin S
5d37439a7b gmap-gsnap: add 2020-06-01 (#16906) 2020-06-02 14:21:00 -07:00
Chuck Atkins
5ace804dc2 Bump ADIOS to 2.6.0 (#16908) 2020-06-02 14:15:23 -07:00
iarspider
9a17d48455 Add ipython 7.5.0 (#16801)
* Add ipython 7.5.0

* Update dependencies

* Update package.py
2020-06-02 15:09:35 -05:00
takanori-ihara
b60ab6eefd ruby: fixed build with Fujitsu compilers (#16889) 2020-06-02 11:07:48 +02:00
Xavier Delaruelle
c7851f896c environment-modules: added v4.5.1 (#16896) 2020-06-02 11:06:02 +02:00
Greg Becker
2795414a80 Fix satisfaction checks for excluding variants from matrices (#16893)
Because of the way abstract variants are implemented, the following 
spec matrix does not work as intended:
```
matrix:
- [foo]
- [bar=a, bar=b]
exclude:
- bar=a
```
because abstract variants always satisfy any variant of the same
name, regardless of values.

This PR converts abstract variants to whatever their appropriate 
type is before running satisfaction checks for the excludes clause 
in a matrix.

fixes #16841
2020-06-02 11:02:28 +02:00
takanori-ihara
0875c6a5d0 py-grpcio: fixed build with Fujitsu compilers (#16900) 2020-06-02 10:55:55 +02:00
Axel Huebl
6aa0e9944e ccache: added v3.7.9 (#16902)
Add the latest CCache release. Fixes issues with `-x cu` that are
not present in the last checksummed release. This fixes workflows
with CMake.
2020-06-02 10:53:12 +02:00
Sinan
7f2db5c5b0 qt: add conflict for old gcc (#16904)
Co-authored-by: Sinan81 <Sinan81@github>
2020-06-02 10:51:35 +02:00
Michael Kuhn
6035b32748 go: added v1.14.4 and v1.13.12 (#16903) 2020-06-02 10:48:35 +02:00
Jonathon Anderson
feda2a3073 openmpi: add opa-psm2 dependency (#16873)
Also document with_or_without and enable_or_disable, (which are used
to configure the opa-psm2 dependency).
2020-06-01 15:33:24 -07:00
Amjad Kotobi
ab6905d5fa r-exactextractr: package type fixed (#16881)
* r-exactextractr: should inherit from RPackage
* r-exactextractr: fixed URL
2020-06-01 14:01:41 -07:00
Massimiliano Culpo
2a4ca34a61 Recognize system installed gcc-10 as compilers (#16884)
Now that the version number of GCC reached double digits, an update
to the regex is needed to recognize gcc-10 as an executable to be
inspected when searching for compilers.
2020-06-01 13:59:14 -07:00
t-karatsu
9741de504f netcdf-cxx4: Add 'doxygen' dependency. 2020-06-01 13:56:07 -07:00
Jianwen WEI
4387975556 miniforge3: add version 4.8.3-4. 2020-06-01 13:54:53 -07:00
mic84
fe74c22184 amrex: add version 20.06 (#16895) 2020-06-01 13:53:49 -07:00
Christoph Junghans
daea1fcef6 exampm: fix build (#16894)
* cabana: add mpi variant

* cajita: initial import

* exampm: update deps

* flake8
2020-06-01 13:58:09 -06:00
健美猞猁
de63e1c2ac healpix-cxx: added new package at v3.50.0 (#16846) 2020-06-01 06:13:35 +02:00
Greg Becker
b1bd777403 petsc: fix conditional activation of parmetis (#16533) 2020-05-31 14:13:10 -05:00
Hector Martinez-Seara
23a5f3f200 Updated unison to v2.51.2 (#16772)
The current package does not work. Also several ocaml versions do
not compile such as 4.09.0. Updated to the new ocaml version to
4.10.0, which is now a prerequisite.
2020-05-31 13:58:37 -05:00
iarspider
6282e337f3 Add new version of py-astroid (#16805)
* Add new version of py-astroid

* Add new version of py-lazy-object-proxy

* Apply suggestions from code review

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

* Apply suggestions from code review

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-31 13:54:33 -05:00
健美猞猁
3896a401db Install libsharp header files to include/libsharp. (#16847)
* Install libsharp header files to include/libsharp.

* Fix flake8 issues.

* Simplify specification of install path.
2020-05-30 23:09:27 -05:00
Jordan Ogas
66b8b5ab37 add charliecloud 0.16 (#16810)
* add charliecloud/0.16

* tidy comments
2020-05-30 22:10:50 -05:00
darmac
2fdb6b5e44 Add new package: canal (#16790) 2020-05-30 21:45:59 -05:00
takanori-ihara
e2fa74c533 Add new package:linsys-v (#16823) 2020-05-30 21:20:08 -05:00
Satish Balay
1ec8d928fa petsc@3.13: update superlu-dist dependency - as superlu-dist@6.3.1 has API change (#16849) 2020-05-30 21:10:34 -05:00
Erik Schnetter
b00080d2da ssht: Install include files into "include/ssht" (#16879) 2020-05-30 21:08:18 -05:00
Adam J. Stewart
9eebc6b4c1 horovod: added v0.19.4 (#16878) 2020-05-30 20:22:00 +02:00
Adam J. Stewart
d76eb1fa51 Pandas: add 1.0.4 (#16877) 2020-05-30 11:09:10 -05:00
noguchi-k
816f780be8 revocap-refiner: add space and remove unused function. (#16861) 2020-05-30 10:57:12 -05:00
darmac
7a363e2a3f Add new package: netkit-ftp (#16876)
* Add new package: netkit-ftp

* remove parallel constraint
2020-05-30 10:47:47 -05:00
Jen Herting
3a66d0773c perl-bioperl: fixed version 1.007002 (#16826)
* [perl-bioperl] fixed url for version 1.007002
* [perl-bioperl] fixed conditional method directives
2020-05-30 00:17:01 -07:00
Amjad Kotobi
857d2c9150 r-lfe: New package 2020-05-30 00:15:50 -07:00
Michael Kuhn
3cc0e1a333 cpio: add patch to fix build with gcc@10: (#16844) 2020-05-30 00:14:57 -07:00
Amjad Kotobi
58cc75ac29 git-lfs: add versions 2.10.0, 2.11.0 (#16850) 2020-05-30 00:14:24 -07:00
Ben Morgan
c35ced1465 geant4: New version 10.6.2 (#16868)
Update both main and data packages. Data versions have not changed
in new version.

Provide new python variant to build Python bindings for 10.6.2 and
newer. Add dependencies on python and Boost+python required by variant.
2020-05-30 00:13:24 -07:00
Sergey Kosukhin
9d1f71e89f repo: fix construction of UnknownPackageError (#16865)
Also improve the error messages
2020-05-29 20:07:44 +02:00
Nicholas Sly
ec5959694c Add netcdf-c~parallel-netcdf variant specification to netcdf-fortran~mpi. (#16671)
Co-authored-by: sly <sly@lanl.gov>
2020-05-29 09:48:03 -07:00
Christoph Junghans
11fc6c5791 examinimd/miniaero: fix build with kokkos-legacy (#16867)
* examinimd/miniaero: fix build with kokkos-legacy

* flake8
2020-05-29 10:17:55 -06:00
Robert Rosca
edd075a5e1 Mention that packages can be uninstalled by hash (#16863) 2020-05-29 13:23:02 +02:00
Greg Becker
bd95b7df86 spack module_cmd: set LD_LIBRARY_PATH for python in subshell. (#16827)
* Ensure python runs with proper ld_library_path within Spack regardless of environment
2020-05-29 11:57:21 +02:00
Jane Herriman
6af3272e1d Update error message when UnavailableCompilerVersionError is triggered (#16838)
Co-authored-by: Herriman <herriman1@panorama.llnl.gov>
2020-05-29 10:53:43 +02:00
Greg Becker
a21fab6fe4 compilers: add opt_flags and debug_flags properties (#16710) 2020-05-29 10:52:31 +02:00
0t1s1
2aca0cf565 gridlab-d: added new package. (#16816) 2020-05-29 09:37:12 +02:00
Greg Becker
38ac78489a bugfix: use flags when computing implicit rpaths (#16634)
* make verbose_flag a property

* tests
2020-05-28 17:11:28 -07:00
Christoph Junghans
623cc7427e legion: add v20.03.0 (#16848) 2020-05-28 14:58:55 -06:00
Marc Allen
712fc696ba npm: use mkdirp instead of mkdir (#16835)
fixes #16833

Co-authored-by: Marc Allen <mrcall@amazon.com>
2020-05-28 12:33:09 +02:00
Luca Heltai
a6779061d7 dealii: deal with nanoflann after 9.2.0 (#16839) 2020-05-28 12:02:34 +02:00
Adam J. Stewart
4351c2eb32 Update checksum for PyTorch patch (#16837) 2020-05-28 11:27:59 +02:00
Toyohisa Kameyama
ab65a8ee27 opencv: fix to build version 3.2.0 with Fujitsu compiler (#16840) 2020-05-28 11:23:15 +02:00
Joseph Ciurej
87cd375559 ffmpeg: add a maintainer to the package (#16830) 2020-05-27 22:51:19 +02:00
Toyohisa Kameyama
4d5a68731a ffmpeg: set compilers command. (#16799) 2020-05-27 21:04:37 +02:00
Massimiliano Culpo
8f208b17e2 spack containerize: allow 0.14.3 tag for next release 2020-05-27 10:21:14 -07:00
Massimiliano Culpo
187cb51b49 spack containerize: allow 0.14.1 and 0.14.2 tags
fixes #16727
2020-05-27 10:21:14 -07:00
Tom Payerle
6ddc077e08 libxv: videoproto is a build and link dependency (#16821)
fixes #16820

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-05-27 16:34:15 +02:00
Sergey Kosukhin
e73c39a5db concretize: fix UnboundLocalError due to import within a function (#16809) 2020-05-27 11:45:14 +02:00
Jen Herting
d8c7073a9f py-configargparse: new package at v1.2.3 (#16814) 2020-05-27 09:45:14 +02:00
Jen Herting
768419601d py-fits-tools: added package at v1.1.2 (#16815) 2020-05-27 09:43:26 +02:00
Tomoki, Karatsu
6b8775f6af py-torch: find openmp when %fj (#16822)
Fix for 'FindOpenMP.cmake' to detect openmp 
settings used by Fujitsu compiler.
2020-05-27 09:32:11 +02:00
Justin S
fcacf8dc9d plink-ng: new package at v200511 (#16750)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-05-27 09:20:27 +02:00
Christoph Junghans
ac7f6b98b5 quicksilver: initial commit (#16811) 2020-05-27 09:06:25 +02:00
Greg Becker
e9dcab9464 backwards compatibility for naming scheme (#16812)
* backwards compatibility for naming scheme
2020-05-26 14:06:25 -07:00
Massimiliano Culpo
c01433f60a spack.relocate: further coverage for ELF related functions (#16585)
* make_link_relative: added docstring

* make_elf_binaries_relative: added docstring, unit tests

* raise_if_not_relocatable: added docstring, added unit test for exceptional case

* relocate_links: removed unused arguments, added docstring and comments

Also fixed a possible bug that was issuing spurious
warning when a file was relocated successfully

* relocate_text: added docstring and comments, renamed arguments

* relocate_text_bin: added docstring and comments, renamed arguments, unit tests
2020-05-26 11:47:31 -07:00
Mark Olesen
0b96082e74 openfoam: improve handling of wmake rules, version update
- add future-proofing for wmake rules locations:
  Accept wmake/rules/{ARCH}{COMP} or wmake/rules/{ARCH}/{COMP}

- compiler option is now '-spack' instead of 'RpathOpt'
  which now seems to be a bit harsh on the eyes.
  Now have compilations such as 'linux64GccDPInt32-spack',
  which is moderately easier to read.

- add OpenFOAM 1912, patch 200506

STYLE: adjust for new flakey8 indentation rules
2020-05-26 10:55:56 -07:00
Dr. Christian Tacke
2c6406c003 grpc: allow building shared libraries (#16356) 2020-05-26 16:30:18 +02:00
darmac
d7fb8701c2 su2: new package at v7.0.3 (#16787) 2020-05-26 11:17:25 +02:00
darmac
7383d923f0 blogbench: added new package at v1.1 (#16793) 2020-05-26 11:16:43 +02:00
iarspider
45b86e2c1d py-hypothesis: added v5.3.0 (#16804) 2020-05-26 09:42:54 +02:00
Sergey Kosukhin
ff44a6d03f hdf: new version, variants and refactoring (#16469)
* hdf: new version, variants and refactoring.

* libc provides rpc

* Fix szip-related configure argument.

* Update dependent packages.
2020-05-25 19:20:04 -05:00
Sergey Kosukhin
15d2883abe openmpi: get rid of implicit system dependencies (#16758)
* openmpi: get rid of implicit system dependencies

* Python 2 compatibility.

* Rename pbspro to openpbs and revert packages.yaml.

* Remove virtual package 'sendmail'.
2020-05-25 19:14:47 -05:00
iarspider
3c36a7caab py-moreitertools: added v7.0.0 (#16802) 2020-05-25 22:18:40 +02:00
Amjad Kotobi
e90f51a802 r-spatialeco: New package (#16744) 2020-05-25 13:19:51 -05:00
Michael Kuhn
f12ae1bcd0 Fix typo for allow_sgid (#16806)
fixes #14425

The config: prefix should be included in the actual option name and
makes it impossible to change this option.
2020-05-25 18:49:35 +02:00
Stephen Herbein
c4031f0455 lua: fix compilation on Cray (#16713)
Problem: when calling `static_to_shared_library` on the `cray` arch, it
produces a non-sensical compiler command with no input files.  For
example, when installing lua@5.2.4, it produced:
'gcc -lm -ldl -o /big-long-spack-path/liblua.so.5.2.4'

Solution: do the same thing on `cray` that is done for `linux`
2020-05-25 15:18:47 +02:00
Tom Payerle
17e4a72191 netcdf-cxx4: remove erroneous variants (#16762)
fixes #16725

The dap, jna, pnetcdf, netcdf4, and ncgen4 variants added in #16047
are _not_ supported by the configure script for netcdf-cxx4 package 
(These appear to be configure args for netcdf-c package).
2020-05-25 15:15:30 +02:00
Peter Scheibel
768fa6bc53 bugfix: schema errors without line numbers (#16765)
* account for schema validation errors where the associated instance doesn't have a line number

* fix unrelated flake error (but it must be fixed because this PR touches this file and the flake rules have been updated since the last edit to this file)
2020-05-25 15:08:47 +02:00
Stephen Hudson
a3dc9cf848 libensemble: added v0.7.0 (#16773) 2020-05-25 14:35:44 +02:00
Michael Kuhn
30fb364452 py-gdbgui: added v0.13.2.0 (#16781) 2020-05-25 14:34:26 +02:00
Michael Kuhn
5a335e4985 py-pygdbmi: added v0.9.0.3 (#16778) 2020-05-25 14:33:41 +02:00
Mark W. Krentel
f370bc0fa2 libmonitor: added v2019.05.31 (#16774) 2020-05-25 14:31:16 +02:00
Michael Kuhn
9f2fc52165 py-pygments: added v2.6.1 (#16776) 2020-05-25 14:23:41 +02:00
Michael Kuhn
d0e4414bb6 libunwind: fix build with gcc@10: (#16782) 2020-05-25 14:22:51 +02:00
Michael Kuhn
232cdb85a5 python: added v3.8.3 (#16775) 2020-05-25 13:59:47 +02:00
Michael Kuhn
0c735b8f1a meson: added v0.54.2 (#16777) 2020-05-25 13:52:13 +02:00
Michael Kuhn
8395db361c py-flask: added v1.1.2 and v0.12.4 (#16779) 2020-05-25 13:51:08 +02:00
Amjad Kotobi
5df64769e3 r-matlab: new package at v1.0.2 (#16785) 2020-05-25 13:48:24 +02:00
darmac
6f85dc66a7 testdfsio: added new package at v0.0.1 (#16789) 2020-05-25 13:46:42 +02:00
darmac
99d9967b8b sqoop: added new package at v1.99.7 (#16786) 2020-05-25 13:41:08 +02:00
Michael Kuhn
995714cba5 glib: added v2.64.3 (#16800) 2020-05-25 13:32:42 +02:00
darmac
04f60afc08 ffsb: added new package at v5.2.1 (#16791) 2020-05-25 13:16:55 +02:00
Tomoki, Karatsu
821c729ec0 netlib-scalapack: specify MPI's location for Fujitsu-MPI. (#16798)
Fujitsu-MPI wrapper commands aren't recognized from 'FindMPI' 
function of 'cmake'. If we are using the Fujitsu compiler and Fujitsu MPI, 
specify the MPI path information explicitly.
2020-05-25 13:12:13 +02:00
David Pape
6d913ddab7 likwid: fixed failing build on powerpc (#16797)
Fixes #16783
2020-05-25 13:10:12 +02:00
Kevin Huck
bc145b2b3f TAU: remove ~nls constraint on binutils dependency
TAU does not require ~nls.
2020-05-22 19:40:28 -07:00
Stephen Herbein
5108fe314b flux-sched: add dependency type for flux-core 2020-05-22 19:37:47 -07:00
Stephen Herbein
a74ee4d27a flux: add dependency types for python dependency
Flux requires `build` for python and many of the python packages because
it builds python bindings.  Beyond the bindings, the Flux front-end
commands now use python too, hence the `run` type. Finally, Flux's
`pymod` module is linked against the python interpreter, so the package
requires a `link` dependency on python too.
2020-05-22 19:37:47 -07:00
Stephen Herbein
9e3470d797 flux: add latest releases and checksum
The next release 0.17.0 will also require python3.6+, pre-emptively
prepare for that release.  Also support current master branch.
2020-05-22 19:37:47 -07:00
Amjad Kotobi
eee6942c8b r-nimble: New package 2020-05-22 19:30:41 -07:00
Amjad Kotobi
9bcf4480b5 r-rferns: New package 2020-05-22 19:20:52 -07:00
Luca Heltai
55eb192234 dealii: 9.2.0 release (#16743) 2020-05-22 19:19:19 -07:00
Amjad Kotobi
3a336b328a r-reticulate: add version; dependencies (#16747)
* Add version 1.15
* Add link dependency on r-rcpp
* Add dependency on r-rappdirs
2020-05-22 19:17:11 -07:00
Sergey Kosukhin
e18c5316bd cdo: fix url for version 1.9.8 2020-05-22 19:12:10 -07:00
Miroslav Stoyanov
86dd42ec70 tasmanian: add version 7.1 (#16769) 2020-05-22 19:10:21 -07:00
Michael Kuhn
be570aa655 zstd: Add 1.4.5 2020-05-22 19:07:29 -07:00
Adam J. Stewart
f17352f6f7 py-horovod: add 0.19.3 (#16768) 2020-05-22 19:20:25 -05:00
Seth R. Johnson
6ac8cf8126 IWYU: fix 0.14 build (#16761)
* IWYU: fix 0.14 build

The CMake patch used for 0.13 hadn't been applied to the master when
0.14 was released, and this version of IWYU requires C++14 or higher.

* Flake8
2020-05-22 15:07:59 -05:00
Seth R. Johnson
04046c15de Mark Valgrind as conflicting with macOS > 10.13 (#16759)
```
    '/var/folders/fy/x2xtwh1n7fn0_0q2kk29xkv9vvmbqb/T/s3j/spack-stage/spack-stage-valgrind-3.15.0-mtir7ubjz7mqmjbb7bogze2qm35hl4ze/spack-src/configure' '--prefix=/ornldev/code/spack/opt/spack/clang-11.0.0-apple/valgrind/mtir7ub' '--enable-only64bit' '--build=amd64-darwin'
1 error found in build log:
     43    checking host system type... x86_64-pc-darwin
     44    checking for a supported CPU... ok (x86_64)
     45    checking for a 64-bit only build... yes
     46    checking for a 32-bit only build... no
     47    checking for a supported OS... ok (darwin)
     48    checking for the kernel version... unsupported (18.7.0)
  >> 49    configure: error: Valgrind works on Darwin 10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x and 17.x (Mac OS X 10.6/7/8/9/10/11 and macOS 10.12/13)
```
2020-05-22 15:07:45 -05:00
Seth R. Johnson
106a121b83 [Trilinos] Make MPI optional (#16685)
* Make MPI optional for Trilinos

* Use 'define' and 'define_from_variant' in trilinos package
2020-05-22 14:40:21 -05:00
Ethan Stam
7449bf8bab ParaView: conflict ~opengl2 with versions 5.5 and up (#16742) 2020-05-22 10:33:19 -05:00
Rob Latham
ed037edd26 prrte uses libev data structues, not libevent (#16530)
* use libevent not libev

* Add Ralph Castain as a maintainer
2020-05-22 10:31:10 -05:00
noguchi-k
d51635e6bd ffr: add flag to use fixed format in which the length of one line of the source code is 255 when building with Fujitsu compiler. (#16737)
* ffr: add flag to use fixed format in which the length of one line of the source code is 255 when building with Fujitsu compiler.

* ffr: changed to elif.
2020-05-22 10:28:57 -05:00
Carlos Bederián
1d936a8cc6 julia: Fix LLVM build failing with newer versions of CMake (#16738) 2020-05-22 10:24:54 -05:00
Justin S
d2d35f80d1 fraggenescan: new package at v1.31 (#16587)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-22 17:17:43 +02:00
Seth R. Johnson
c9df2dea95 IWYU: update include-what-you-use version (#16760) 2020-05-22 08:55:29 -05:00
Mathias Anselmann
c6d7405009 superlu-dist: added v6.2.0 and v6.3.1 (#16704) 2020-05-22 14:58:53 +02:00
Carlos Bederián
0581e6abb3 julia: added v1.4.1 (#16739) 2020-05-22 13:56:35 +02:00
Justin S
407f1bdb92 genometools: require cairo pdf backend (#16753) 2020-05-22 13:49:50 +02:00
Cody Balos
f6bef306ec sundials: added v5.2.0 and v5.3.0 (#16752) 2020-05-22 13:39:57 +02:00
Toyohisa Kameyama
75b0d0b145 charmpp: added support to Fujitsu compilers. (#16756) 2020-05-22 13:31:31 +02:00
Tomoki, Karatsu
a9b64bcaf1 autotools: delete args from postdep objects when %fj (#16274) 2020-05-21 20:50:57 +02:00
Amjad Kotobi
661832a6c6 r-boruta: new package at v7.0.0 (#16746) 2020-05-21 17:52:55 +02:00
Amjad Kotobi
7d55b88c43 r-caracas: new package at v1.0.0 (#16748) 2020-05-21 17:48:58 +02:00
Cameron Stanavige
6445c2e807 unifyfs: update gotcha dependency version (#16736)
The dev branch of UnifyFS now depends on the latest release of
GOTCHA, and will future releases.

This updates our spackage to depend on the correct version of GOTCHA
depending on the version of UnifyFS being installed.
2020-05-20 22:35:22 -05:00
Amjad Kotobi
18d1531263 r-spatstat: New package (#16729)
* r-spatstat: New package

* r-spatstat: version dependency added
2020-05-20 22:34:37 -05:00
Antonio Arena
4118a01774 Install gaussian using their scripts (#16723)
* Create VMD recipe

This is a new recipe to install VMD on Spack-managed hosts.

* Fix lint errors.

* Use plain Package

As per peer-review:
- Use Package to build
- Use configure to create a Makefile
- Use install to copy files to prefix directory

* Move VMD package to correct path, duh...

* Restructure description so first short paragraph can be used by module files.

* Add an empty line as suggested by peer-review. That's how you separate paragraphs.

* Remove extra spaces.

* Use setup_build_environment since that's where you're supposed to export OS variblaes. Thanks to peer-review for spotting this.

* Create VMD recipe

This is a new recipe to install VMD on Spack-managed hosts.

* Fix lint errors.

* Use plain Package

As per peer-review:
- Use Package to build
- Use configure to create a Makefile
- Use install to copy files to prefix directory

* Move VMD package to correct path, duh...

* Add Cubist (#16069)

* Add Cubist

* enhance recipe

* Not using OS module anymore

* remove white space

* Fix build shell

* make Flake8 happy

* use bash shell for build

* Convert it To MakefilePackage as per peer-review

* dbcsr: expose all options, check openblas feats (#16034)

* dbcsr: expose all options, check openblas feats

* dbcsr: use Ninja to build, ensure serialized tests

* dbcsr: add myself as maintainer

* MPark.Variant: GCC 7.3.1 Conflict (#16081)

* MPark.Variant: GCC 7.3.1 Conflict

Due to an ICE in this specific patch-release of GCC, compile
errors in downstream packages should be avoided with a clean
conflict.

* Fix superfluous spaces

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Fix typo

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

* Move VMD package to correct path, duh...

* Add an empty line as suggested by peer-review. That's how you separate paragraphs.

* New matlab versions (#16086)

* Add new version 1.1.1 (#16087)

* New package bonniepp added (#16091)

* openbabel: fix compilation errors (#16090)

- Disable maeparser as it is broken with CMake
- Added missing dependencies

* singularity: updated maintainer list (#16093)

* New version xrootd-4.11.3 (#16092)

* I added Gaussian 16. I also execute bsd/install to fix scripts instead of filtering them.

* revert VMD so only Gaussian is in my PR.

* revert VMD so only Gaussian is in my PR.

* revert VMD so only Gaussian is in my PR.

* I added myself as a package maintainer.

Co-authored-by: asmaahassan90 <31959389+asmaahassan90@users.noreply.github.com>
Co-authored-by: Tiziano Müller <tiziano.mueller@chem.uzh.ch>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
Co-authored-by: Amjad Kotobi <amjadkotbi@gmail.com>
Co-authored-by: athanasio <athanasio@users.noreply.github.com>
Co-authored-by: Carlos Arango Gutierrez <arangogutierrez@gmail.com>
2020-05-20 22:34:03 -05:00
Toyohisa Kameyama
51ff18ef8d mxnet: Fix dependency and add new version. (#16714)
* mxnet: Fix dependency and add new version.

1. Fix opencv and numpy dependency.
2. Add version 1.6.0.

* typo in patch is fixed.
fixed spec access.
2020-05-20 22:33:31 -05:00
Jeremy
bcd5dd6e3e add SST packages and dependencies (#16618) 2020-05-20 22:15:02 -05:00
Greg Becker
cfb6f21236 externals: allow package prefs to configure default not buildable (#16735)
Allows `all` to be configured non-buildable in packages.yaml.

The following config would only allow zlib to be built by Spack, all other packages would have to be found as externals.

```
packages:
  all:
    buildable: False
  zlib:
    buildable: True
```
2020-05-20 17:09:07 -07:00
Tamara Dahlgren
92989fbbfd tests: check presence not equality for rpath changes (#16637)
Fixes #16636
2020-05-20 18:11:26 +02:00
Adam J. Stewart
cc08070da9 py-scikit-learn: add latest version (#16731) 2020-05-19 20:59:11 -05:00
Christoph Junghans
46ab939249 mantevo: update urls to new website (#16732) 2020-05-19 16:19:17 -05:00
Andrew W Elble
7fe6c0945a py-tensorflow-estimator: new version 2.2.0 (#16726) 2020-05-19 14:29:13 -05:00
Hadrien G
9c16a728fd Add new Acts release (#16718) 2020-05-19 13:16:57 -05:00
Thomas Madlener
7948344bcd Introduce version 1.0.0 for py-xenv and remove unreleased development release (#16722)
Problems in 0.0.4 should be fixed for 1.0.0
2020-05-19 13:14:45 -05:00
ddeidda
20f2a6c2e8 update URL and sha256 for aws-parallelcluster 2.7.0 (#16717)
Signed-off-by: ddeidda <ddeidda@amazon.com>
2020-05-19 10:58:46 -05:00
Dr. Christian Tacke
63f09a6662 openssl: Be Explicit About perl Usage (#16721)
The openssl build process can use the wrong perl for
various reasons, including:
* Wrong value in PERL env var
* The build process first looks for `perl5`, which the
  spack system does not provide, but some other
  distributions provide it. That way, the build process can
  end up using the wrong perl.

Stop all of these problems by explicitly setting PERL to
the to be used dependency.
2020-05-19 10:58:04 -05:00
darmac
31ab62fb5e Add new package: http-post (#16678)
* Add new package: http-post

* refine version name
2020-05-19 10:56:52 -05:00
darmac
05aacb584e Add new package: http-ping (#16675)
* Add new package: http-ping

* refine version name
2020-05-19 10:56:22 -05:00
Scott Wittenburg
b1f1f5dddb Pipelines: Ensure consistent spack version for entire pipeline
Also retry jobs always, as script failure is not confined to only our
spack ci rebuild command exit code.
2020-05-19 09:40:02 -06:00
vvolkl
31ccf80294 [podio] fix root cxxstd dependency (#16708) 2020-05-18 21:52:18 -05:00
darmac
9d766ae1fa Add new package: http-load (#16676)
* Add new package: http-load

* refine version format

* fix date/version error
2020-05-18 21:41:00 -05:00
darmac
3f6164053d Add new package: http-get (#16677)
* Add new package: http-get

* refine version name
2020-05-18 21:40:34 -05:00
Greg Becker
84889ef3a3 move source dir to last cmake arg (#16709) 2020-05-18 16:39:13 -07:00
Adam J. Stewart
cf4c48c37e TensorFlow: add new versions (#16703) 2020-05-18 16:38:37 -05:00
Justin S
294a91b580 r-decipher: new package at 2.12.0 (#16705) 2020-05-18 16:37:06 -05:00
Justin S
d768b34f17 angsd: add 0.933, add misc programs to install (#16669)
* angsd: add 0.933, add misc programs to install

* angsd: add r variant
2020-05-18 16:07:35 -05:00
Utkarsh Ayachit
154a442817 paraview: use kits by default (#16698)
Adding a variant to enable/disable kits and making the default use kits.
2020-05-18 12:59:40 -05:00
Amjad Kotobi
d957c621ef r-tensor: New package (#16697) 2020-05-18 11:53:17 -05:00
Amjad Kotobi
864d4a2232 r-goftest: New package (#16699) 2020-05-18 11:51:26 -05:00
Nick Robison
0b37188e4f Update Apache arrow to 0.17.1 (#16701)
Update Arrow to the latest version.

Also add an additional dependency on `thrift` when building with Parquet support.
2020-05-18 11:49:44 -05:00
darmac
28ef9cad3b Add new package: hyperscan (#16681)
* Add new package: hyperscan

* hyperscan: remove cmake_args()
2020-05-18 11:36:00 -05:00
archxlith
931932d65d New package: py-pyeda (#16416)
* New package: py-pyeda

* py-pyeda: added dep for python 3.3 or greater

* [py-pyeda] Added space in depends_on python line
2020-05-18 10:01:59 -05:00
Adam J. Stewart
2d464f69f8 PyYAML: fix linking to libyaml (#16682) 2020-05-18 09:57:51 -05:00
h-denpo
ce8cf5d9b0 revocap-refiner: fixed typo in pic flags (#16694) 2020-05-18 10:04:10 +02:00
Toyohisa Kameyama
ffdd94dd9f hwloc: Add libudev variant. (#16615)
* hwloc: Add libudev variant.

* typo fix.

* Wrong version for libudev variant is fixed.

* Add maintainers.
2020-05-17 20:00:23 -05:00
Marko Kabic
a4d64402ae Add new version of COSMA: 2.2.0 (#16672)
* Updated versions of COSMA.

* Added an empty line for formatting.

* Switched to sha256.

* Renamed gpu variant to cuda. Extending the CudaPackage base class.
2020-05-17 12:40:48 -05:00
Amjad Kotobi
045063da7f r-spatstat-data: New package (#16688) 2020-05-17 12:28:26 -05:00
Amjad Kotobi
d776e52979 r-rms: New package (#16683)
* r-rms: New package

* r-rms: deleted duplicated dependency

* r-rms: deleting comma
2020-05-17 12:27:33 -05:00
Amjad Kotobi
9685792f83 r-spatialpack : New package (#16664)
* r-spatialpack : New package

* r-spatialpack : R dependeny added type

* r-spatialpack: Description was missing
2020-05-17 10:22:52 -05:00
Michael Kuhn
41907639c4 py-scipy: Fix build with gcc@10: (#16687) 2020-05-16 20:55:20 -05:00
Justin S
babfd144ad py-fastcluster: new package at 1.1.26 (#16588)
* py-fastcluster: new package at 1.1.26

* py-fastcluster: add py-setuptools dep
2020-05-16 16:12:50 -05:00
Amjad Kotobi
5912b8c7cd r-yaimpute: New package (#16658) 2020-05-16 16:07:58 -05:00
Amjad Kotobi
f71768b1d6 r-envstats: New package (#16659) 2020-05-16 16:07:10 -05:00
h-denpo
a97ce63218 New package frontistr (#16660)
"""Open-Source Large-Scale Parallel FEM Program for
        Nonlinear Structural Analysis"""
2020-05-16 16:06:25 -05:00
Amjad Kotobi
6ca1052999 r-spatstat-utils : New package (#16663) 2020-05-16 16:03:49 -05:00
Mark W. Krentel
b858eebc51 hpctoolkit: add dependency on gotcha (#16670) 2020-05-16 15:59:33 -05:00
Paul
32238391a9 Add Go versions 1.14.3 and 1.13.11 (#16673) 2020-05-16 15:55:51 -05:00
darmac
110b15f20e Add new package: hiredis (#16679) 2020-05-16 15:51:01 -05:00
darmac
b6498c44af Add new package: guacamole-server (#16680) 2020-05-16 15:50:24 -05:00
TZ
2ebadbc267 intel-mpi: add libfabrics directory to SPACK_COMPILER_EXTRA_RPATHS (#15214)
workaround for not finding an appropriate libfabrics.so with Intel
MPI 2019+. Fixes #11140 and #12493
2020-05-16 10:40:40 -05:00
Amjad Kotobi
983f05ac41 r-polspline: new package (#16648)
* r-polspline: new package

* r-polspline: updated urls
2020-05-16 09:07:34 -05:00
Omar Padron
97d7ef678d fix catalyst so that it doesn't depend on a particular spelling of python (#16667) 2020-05-15 15:11:32 -04:00
Greg Becker
32a9adcf60 modules: use projections format for naming schemes (#16629)
* update tcl naming_scheme to use projections

* add projections to lmod modules
2020-05-15 11:12:52 -07:00
Stephen Hudson
955a3db206 py-petsc4py: allow ~mpi variant (#16595)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-15 15:14:06 +02:00
Michael Kuhn
90e15cae16 likwid: fix build with gcc@10: (#16641) 2020-05-15 13:23:57 +02:00
Michael Kuhn
154504da71 binutils: fix build with gcc@10: (#16661)
The issue seems to be fixed in the development version already.
2020-05-15 13:13:04 +02:00
Scott Wittenburg
e0572a7d96 Pipelines: Support DAG scheduling and dynamic child pipelines
This change also adds a code path through the spack ci pipelines
infrastructure which supports PR testing on the Spack repository.
Gitlab pipelines run as a result of a PR (either creation or pushing
to a PR branch) will only verify that the packages in the environment
build without error.  When the PR branch is merged to develop,
another pipeline will run which results in the generated binaries
getting pushed to the binary mirror.
2020-05-14 21:11:07 -07:00
Scott Wittenburg
47b3dda1aa Support os-specific $padding in config:install_tree
Providing only $padding or ${padding} results in an attempt to
substitute a padding of maximum system path length, while leaving
room for the parts of the install path spack generates.  Providing
$padding-<len> or ${padding-<len>} simply substitutes padding of
the specified length.
2020-05-14 21:11:07 -07:00
Toyohisa Kameyama
ea818caca3 namd: build on aarch64. (#16639) 2020-05-14 20:17:53 -05:00
Robert Blake
b987444871 Fixing the build directory for cardioid. (#16640)
* Fixing the build directory for cardioid.

* These imports are no longer needed due to deletions.

Co-authored-by: Robert Blake <rob.c.blake.3@gmail.com>
2020-05-14 20:16:55 -05:00
Michael Kuhn
5875bc6d6b scorep: Fix build with gcc@10: (#16642) 2020-05-14 20:10:58 -05:00
Andrew W Elble
e21b4731a9 lammps: set LAMMPS_POTENTIALS in the runtime environment (#16643)
so lammps can find the installed potential files
2020-05-14 20:09:41 -05:00
Jen Herting
b562059d2a New package: maloc (#16631)
* [maloc] created template

* [maloc] added some build dependencies

* [maloc] added homepage and description

* [maloc] added doc variant in an attempt to disable documentation. Still builds doc though... at least when there is a system doxygen found. Having doxygen being a dependency here can bring python in and cause issues for dependents, even when listed as only a build dependency. Maybe this is a bug?

* [maloc] flake8 and fixme removal

* [maloc] shorted description
2020-05-14 20:06:21 -05:00
Andrew W Elble
8c025324af ucx: cuda / gdrcopy variants (#16605)
picking up where #15724 left off.
2020-05-14 20:04:06 -05:00
健美猞猁
0ed2fa3b9b miniforge3: a new package. (#16644) 2020-05-14 19:50:11 -05:00
Michael Kuhn
c168e1b85e at-spi2-core: Add 2.36.0 (#16645)
The pkg-config file of newer versions of at-spi2-core includes
dependencies for xtst, recordproto, inputproto and fixesproto, so they
have to be available at runtime as well.
2020-05-14 19:49:02 -05:00
Michael Kuhn
670a5e8766 atk: Add 2.36.0 (#16646) 2020-05-14 19:48:21 -05:00
Michael Kuhn
232aa9ff2e at-spi2-atk: Add 2.34.2 (#16647) 2020-05-14 19:47:55 -05:00
Amjad Kotobi
0844e56d6d r-hmisc: new version and updated dependency (#16649) 2020-05-14 19:46:02 -05:00
Amjad Kotobi
1eb5a12019 r-survival: new version and updated dependency (#16650) 2020-05-14 19:44:35 -05:00
Greg Becker
445cae5c81 Feature: Allow lmod configuration to set core specs (#16517)
Packages built with lmod core_compiler are placed in `Core`.

Other packages may belong in `Core`. For example, python may be built with a proprietary compiler for performance, but belong on the `Core` directory.

With this PR, lmod config can include a `core_specs` list. Any package that satisfies a spec in that list is placed in `Core`, regardless of its compiler or dependencies.
2020-05-14 11:27:37 -07:00
Michael Kuhn
20b3e41831 adios2: Fix build with gcc@10: (#16570) 2020-05-13 19:46:13 -07:00
Nathan
48a35409e0 Spack Package for ns-3 (#16630)
* Adding ns3 spack

* Format and cleanup of ns3 spack package

* Removing comments and fixing boost variant

* Fixing formating
2020-05-13 21:16:17 -05:00
Adam J. Stewart
bc948c4418 py-horovod: add new version (#16635) 2020-05-13 17:52:27 -05:00
Nathan
c50b586e06 Helics: add python variant (#16625)
* Adding varient for python interface in HELICS

* Append python interface to pythonpath

* cleaning up blank lines

* Update var/spack/repos/builtin/packages/helics/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-13 17:25:07 -05:00
Greg Becker
7411fe2d43 cmake build system: filter system paths from rpaths (#16612) 2020-05-13 14:31:33 -07:00
Ben Bergen
37e307e8cd Added alias and bash completion for spacktivate (#16472) 2020-05-13 12:02:38 -06:00
Nick Booher
f294c264a1 revbayes: Update checksum (#16628) 2020-05-13 12:54:21 -05:00
Toyohisa Kameyama
66b896d286 conda4aarch64:New Package. (#16617) 2020-05-13 12:49:42 -05:00
Michael Kuhn
a9ee4da670 ncl: Fix build with gcc@10: (#16624) 2020-05-13 12:45:12 -05:00
Amjad Kotobi
9b8082ecf3 r-exactextractr: new package (#16626) 2020-05-13 12:42:16 -05:00
Nichols A. Romero
fa57f1da29 QE Update May 2020 (#16627)
* Clarify comments about QMCPACK-to-QE converter.

* Allow hdf5=serial with QE 6.4.1 + qmcpack, but apply filter_file.

* Ammend comments about the use of the filter_file.
2020-05-13 12:41:16 -05:00
lpritch-lanl
043d507540 py-pint: added versions up to v0.11 (#16537)
Co-authored-by: Lori Pritchett-Sheats <lpritch@pn2002926.lanl.gov>
2020-05-13 16:47:01 +02:00
Michael Kuhn
308f016f31 parallel-netcdf: fix build with gcc@10: (#16620) 2020-05-13 16:44:50 +02:00
Amjad Kotobi
f6fbf8b8d3 r-xml2: new version & updated dependencies (#16604)
* r-xml2: new version & updated dependencies

* r-xml2: updated dependencies
2020-05-13 09:22:53 -05:00
Tomoki, Karatsu
a740c361cd ppopen-appl-fdm: added support to Fujitsu compilers. (#16616) 2020-05-13 15:10:07 +02:00
Toyohisa Kameyama
4777284f08 charmpp: support for aarch64. (#16619) 2020-05-13 15:06:25 +02:00
Michael Kuhn
b4052eb3b8 tcsh: fix build with gcc@10: (#16621) 2020-05-13 14:57:12 +02:00
Michael Kuhn
aaf3388cfe esmf: fix build with gcc@10: (#16622) 2020-05-13 14:53:49 +02:00
Peter Scheibel
701fc1fdb1 Update docs on "spack external find" (#16482)
This improves the documentation for `spack external find` in several ways:

* Provide a code example of implementing `determine_spec_details` for a package
* Explain how to define executables to look for (and also e.g. that they are treated as regular expressions and so can pull in unexpected files).
* Add the "why" for a couple of constraints (i.e. explain that this logic only works for build/run deps because it examines `PATH` for executables)
* Spread the docs between build customization and packaging sections
* Add cross-references
* Add a label so that `spack external find` is linked from the command reference.
2020-05-12 17:08:08 -07:00
Chris White
fdf38ec991 Fix axom install target (#16613) 2020-05-12 16:57:25 -07:00
Pariksheet Nanda
f43b7824ca py-plotly: unfix dependency versions (fixes #16544) (#16546)
* py-plotly: unfix dependency versions (fixes #16544)

* py-plotly: add missing dependencies for #16546

* py-plotly: match setup.py instead of requirements.txt for #16546
2020-05-12 17:06:18 -05:00
Justin S
0f2a581276 velvetoptimiser: new package at 2.2.6 (#16611) 2020-05-12 17:05:19 -05:00
Amjad Kotobi
ab92407940 r-testthat : dependencies and version updated (#16576)
* r-testthat : dependencies and version updated

* Adding version conditions for dependencies

* r-testthat: Fix dependecies condition
2020-05-12 17:05:01 -05:00
Adam J. Stewart
b4e587bd0b py-scikit-learn: add new version (#16607) 2020-05-12 16:43:56 -05:00
Justin S
1d76067d7a zstd: add 1.4.4 (#16608) 2020-05-12 16:43:43 -05:00
Massimiliano Culpo
11fa61665f travis: use bionic as default for Linux (#16521)
Modifications:

- [x] Travis now uses `bionic` as a default (`xenial` used for Python 3.5, `trusty` for Python 2.6)
- [x] Shell unit tests have been factored into their own run
- [x] `kcov` is built only for tests that upload coverage results

Overall with this we shave 3-4 mins. on each run and add an additional run of about 3 min. For some reason `kcov` 38 fails forwarding output when used with Python unit tests, so I used v34 for that and v38 (latest) for shell testing. Previously we were using v25.
2020-05-12 13:56:01 -07:00
Adam J. Stewart
6b41fb88a9 py-threadpoolctl: add new package (#16606) 2020-05-12 14:33:10 -05:00
Nick Booher
9bdf4564db revbayes: update for 1.1.0 (#16603)
* revbayes: update for 1.1.0

* revbayes: Fix flake8
2020-05-12 14:26:44 -05:00
Greg Becker
0307111dd8 bugfix: reorder variants in Spec strings (#16462)
* change print order for variants to avoid zsh parsing bugs

* change tests for new variant parse order
2020-05-12 10:23:42 -07:00
Amjad Kotobi
154c0f5771 new version r-rcurl (#16550)
* new version r-rcurl

* RCurl dependency R version updated

* Adding version conditions
2020-05-12 11:42:58 -05:00
Amjad Kotobi
78d8dd0815 new version r-cli (#16553)
* new version r-cli

* r-cli : dependencies updated

* Adding version conditions for dependencies
2020-05-12 11:42:20 -05:00
Amjad Kotobi
bfa707dfc4 new version r-ellipsis (#16556)
* new version r-ellipsis

* r-ellipsis : R dependency updated

* Adding version conditions for dependencies
2020-05-12 11:41:41 -05:00
Amjad Kotobi
d4c8c8b80d r-rematch2 : new package (#16563)
* r-rematch2 : new package

* Updating URL
2020-05-12 11:41:20 -05:00
Amjad Kotobi
b99a5369ce r-roxygen : dependencies and version updated (#16565)
* r-roxygen : dependencies and version updated

* Dependencies updated for condition
2020-05-12 11:40:55 -05:00
Amjad Kotobi
7528e1eb45 r-purrr : dependencies and version update (#16566)
* r-purrr : dependencies and version update

* Dependencies updated for condition
2020-05-12 11:39:39 -05:00
Amjad Kotobi
173823e77d r-rversions : new package (#16572)
* r-rversions : new package

* URL updated r-rversions
2020-05-12 11:39:08 -05:00
Amjad Kotobi
14b80ecaf2 r-withr : dependencies and version updated (#16577)
* r-withr : dependencies and version updated

* Adding version conditions for dependencies
2020-05-12 11:36:25 -05:00
Amjad Kotobi
7c327ed447 r-knitr : dependencies and version updated (#16579)
* r-knitr : dependencies and version updated

* Adding version conditions for dependencies
2020-05-12 11:35:41 -05:00
Tomoki, Karatsu
278f8eb7fe modylas: Add flag to use preprocessor when building with Fujitsu compiler. (#16598) 2020-05-12 11:34:28 -05:00
Jose E. Roman
8b06bd7198 New patch release SLEPc 3.13.2 (#16601) 2020-05-12 11:33:46 -05:00
Andrew W Elble
e36aa96392 py-horovod: link dependency for py-torch (#16600)
fix for same reasons as #16495.
2020-05-12 11:24:30 -05:00
Toyohisa Kameyama
7813e41464 caffe: fixed build error (#16520)
* opencv 3.2 requires cmake 3.11 or older.
caffe dependency is changed.

* revert opencv variant to caffe.
backport to opencv errors.
2020-05-12 09:39:19 -05:00
Sergey Kosukhin
d1a5dc792e py-dask: new version (#16531)
* py-dask: new version

* py-dask: update the constraints.

* py-dask: add a list of maintainers.
2020-05-12 09:35:11 -05:00
Michael Kuhn
15112f9dba gcc: fix several issues (#16599)
- GCC has moved to Git
- The develop/master version requires flex
- Add myself as a maintainer
- Set the library path in the zstd patch
2020-05-12 13:56:58 +02:00
Todd Gamblin
a44f487a1d z3: update python dependency (#16597)
-[x] `z3` needs a dependency on `py-setuptools`
-[x] `z3` has a run dependency on `python`, so we might as well make
     building with the python bindings default
2020-05-12 11:15:42 +02:00
Justin S
80e7a61597 prokka: new package at v1.14.6 (#16282) 2020-05-12 10:09:01 +02:00
Todd Gamblin
269bcfe1c8 clingo: update package (#16594)
`clingo` has some undocumented dependencies:
- `bison`, for which the default macos version is too old
- `re2c`, which isn't always available

Also, the python installation was not set up properly. Clingo by default
does an install in `~/.local`, so we need to disable that and add a few
other options to get things right.

- [x] add `bison` dependency
- [x] add `re2c` dependency
- [x] make `doxygen` dependency optional (and patch if needed)
- [x] add options to fix `python` build
- [x] make python build optional but on by default
2020-05-12 09:41:31 +02:00
Tomoki, Karatsu
a59b92d303 xabclib: added support for Fujitsu compiler. (#16596)
- Added Fujitsu compiler options that have the same functions as the options added for GCC
- Added option to link C objects
2020-05-12 09:40:11 +02:00
Sajid Ali
b526a90220 Charm++: fix build prefix; add ucx/pmi support (#15666)
* Add pmi support (required by ucx, ofi, and gni backends)
* Add support for ucx backend
* Add dependency on MPI for pmi=simplepmi, slurmpmi, or slurmpmi2
* Remove charmpp as an MPI provider since the changes in this PR can
  add MPI as a dependency (mentioned previously)
* Install into transport_protocol-OS-arch subdirectory to match
  default charmpp installation behavior (which helps dependents find it)
2020-05-11 16:27:38 -07:00
Greg Becker
fa702b8311 python: add -fwrapv to cflags for python@3.8.0: %intel (#16592) 2020-05-11 18:02:56 -05:00
Michael Kuhn
35c3478fcd fio: Add 3.19 (#16571)
Earlier versions are not compatible with gcc@10:.
2020-05-11 16:54:28 -05:00
Michael Kuhn
97779e3539 adios: Fix build with gcc@10: (#16569) 2020-05-11 16:54:08 -05:00
asmaahassan90
1367b63e99 Add avizo version 2020.1 (#16567) 2020-05-11 12:56:50 -05:00
Adam J. Stewart
98fd62254f py-plac: remove erroneous argparse dependency (#16584) 2020-05-11 12:56:07 -05:00
Michael Kuhn
5ed5c55ebd mpich: Fix build with gcc@10: (#16568) 2020-05-11 12:55:36 -05:00
Massimiliano Culpo
43c9ad3421 Remove 'spack bootstrap' and associated docs (#15179)
fixes #15145

This commit removes the outdated `spack bootstrap`
command and any reference to it in the documentation
and unit tests.
2020-05-11 10:55:18 -07:00
Amjad Kotobi
4c666034dc r-rstudioapi : new version (#16574) 2020-05-11 12:49:27 -05:00
Amjad Kotobi
3ddf6c0845 r-rlang : new version (#16575) 2020-05-11 12:48:51 -05:00
Amjad Kotobi
5e348f7133 r-digest : version updated (#16578) 2020-05-11 12:43:38 -05:00
Andrew Gaspar
2c009a3226 Map the spack skylake arch to Kokkos BDW, rather than SKX (#16583)
SKX includes AVX-512 extensions that consumer Skylake processors do
not have. Therefore, map Skylake to the prior arch to work on
these systems. Skylake-X processors will still map as the
skylake_avx512 spack arch and get the correct optimzations.
2020-05-11 12:33:34 -05:00
Justin S
20a4e5efe8 stata: add new libpng dependency (#16582) 2020-05-11 12:32:36 -05:00
Michael Kuhn
cd2e906702 netcdf-fortran: Fix build with gcc@10: (#16573) 2020-05-11 12:31:40 -05:00
Jen Herting
c220a22b69 New package: py-mmcv (#16536)
* [py-mmcv] Created template

* [py-mmcv] added description and homepage

* [py-mmcv] requires python 3.6+

* [py-mmcv] added dependencies

* [py-mmcv] depends on opencv

* [py-mmcv] cleaned up fixmes

* [py-mmcv] requires numpy >= 1.11.1
2020-05-11 12:14:22 -05:00
Michael Kuhn
03d0a7ee1e gcc: added v10.1.0 (#16525) 2020-05-11 16:22:19 +02:00
Sinan
ff6a0fc7b0 py-configobj: remove url function (#16522)
It seems the pypi version of the package somehow compiles just fine

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-05-11 10:43:56 +02:00
takanori-ihara
e08792cbcb py-jupyterlab: added package at v2.1.0 (#16562) 2020-05-11 10:35:44 +02:00
takanori-ihara
fa8dede6cd Add new package:py-jupyterlab-server (#16561) 2020-05-10 21:32:53 -05:00
Adam J. Stewart
c03d4688e4 PyTorch: fix master and mkldnn builds (#16560) 2020-05-10 19:40:00 -05:00
Amjad Kotobi
7d3b40fba4 new version r-rcpp (#16549) 2020-05-10 17:39:20 -05:00
Amjad Kotobi
6c820dd6b5 new version r-glue (#16558) 2020-05-10 17:38:51 -05:00
Amjad Kotobi
36941e3d94 new version r-pkgbuild (#16559) 2020-05-10 17:38:38 -05:00
Amjad Kotobi
5dc51c21bb new version r-jsonlite (#16557) 2020-05-10 17:38:26 -05:00
Amjad Kotobi
f32d561e9b new version r-dt (#16555) 2020-05-10 15:31:58 -05:00
Amjad Kotobi
3210e5999e new version r-covr (#16554) 2020-05-10 15:31:08 -05:00
Amjad Kotobi
ff869a7d68 new version r-callr (#16552) 2020-05-10 15:29:18 -05:00
Adam J. Stewart
358242d2a8 DGL: add new version (#16547) 2020-05-10 10:04:28 -05:00
Massimiliano Culpo
8c12030498 Fix MacOS tests on develop
The -u option allows to update the current head,
so tests won't fail if we are on develop
2020-05-09 17:41:57 -07:00
Axel Huebl
29105da445 macOS nightly: +1hr py-jupyter
check if failures ares actually a real timeout or an error that
just causes a hang.
2020-05-09 17:41:10 -07:00
Axel Huebl
2b234b7a66 macOS nightly: two cores
All GitHub actions provide two cores. Just make sure this does not
get oversubscribed with potentially visible additional physical
cores.
2020-05-09 17:41:10 -07:00
Massimiliano Culpo
05203ec3fb Add unit test on MacOS using Github Actions (#14220)
- Remove macos tests from travis
- Add macos tests in github actions.
2020-05-09 13:35:14 -07:00
vvolkl
69ea6de069 [dd4hep] variant and run env updates (#16524)
* [dd4hep] variant and run env updates

* address comments from #16524
2020-05-09 14:54:07 -05:00
Larry Knox
6e46603470 Add maintainers and variants for building with default earlier api versions. (#16534)
* Add maintainers.
Add variants for building with default earlier api versions.

* Update var/spack/repos/builtin/packages/hdf5/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-09 13:05:55 -05:00
Jen Herting
54fee4b400 New package: py-addict (#16535)
* [py-addict] created template

* [py-addict] added homepage and description

* [py-addict] cleaned up fixmes

* [py-addict] depends on py-setuptools
2020-05-09 13:05:33 -05:00
Nichols A. Romero
a868b1c756 QMCPACK Update May 2020 (#16542)
* Add naromero77 as a maintainer for QMCPACK Spack package.

* Add QMCPACK 3.9.2

* Remove QE-to-QMCPACK wave function converter from QMCPACK Spack package. Already been moved to QE Spack package.
2020-05-09 13:05:11 -05:00
iarspider
b668bde7ec Fix dependency of geant4 (amends #16497) (#16504)
* Fix dependency of geant4 (amends #16497)

* Update geant4-data dependencies

* Reviewer comments (part 1/2)

* Reviewer comments (part 2/2)

* Update var/spack/repos/builtin/packages/geant4-data/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-09 19:04:20 +01:00
Massimiliano Culpo
b06bc31029 Increase coverage of spack.relocate (#16475)
- add docstrings and make parameter names consistent in `relocate.py`
- Make `replace_prefix_*` and other functions private (as they are implementation details)
- remove unused function _replace_prefix_nullterm()

- Add unit tests for `relocate.py` functions
  - add patchelf to Travis and use it during tests
  - add hello_world fixture with a compiled binary, so we can test relocation
2020-05-09 10:41:50 -07:00
Cyrus Harrison
8671ac6a1a update visit package with 3.1.1 release and add comments (#16498) 2020-05-09 10:28:33 -07:00
Todd Gamblin
7b8e5c8999 bugfix: don't use sys.stdout as a default arg value (#16541)
After migrating to `travis-ci.com`, we saw I/O issues in our tests --
tests that relied on `capfd` and `capsys` were failing. We've also seen
this in GitHub actions, and it's kept us from switching to them so far.

Turns out that the issue is that using streams like `sys.stdout` as
default arguments doesn't play well with `pytest` and output redirection,
as `pytest` changes the values of `sys.stdout` and `sys.stderr`. if these
values are evaluated before output redirection (as they are when used as
default arg values), output won't be captured properly later.

- [x] replace all stream default arg values with `None`, and only assign stream
      values inside functions.
- [x] fix tests we didn't notice were relying on this erroneous behavior
2020-05-09 00:56:18 -07:00
Todd Gamblin
5883e9df53 ci: update Travis badge in README.md to point to travis-ci.com 2020-05-09 00:56:18 -07:00
Adam J. Stewart
790e9ac6de spaCy: add new package for en_core_web_sm model (#16539) 2020-05-08 22:20:38 -05:00
Keita Iwabuchi
4c42946201 Metall: add version 0.2 (#16502) 2020-05-08 12:31:20 -05:00
takanori-ihara
89c92a0206 Add new package:py-pytest-check-links (#16503) 2020-05-08 12:30:47 -05:00
Sergey Kosukhin
e1c49d11bf py-netcdf4: a couple of improvements (#16505)
* py-netcdf4: avoid recompilation and make the older versions to work with HDF5@1.10:

* py-netcdf4: add a new version and introduce a maintainer list.
2020-05-08 12:27:28 -05:00
Frédéric Simonis
1e9313a191 precice: Fix conflict with boost 1.73.0 (#16507) 2020-05-08 12:26:37 -05:00
Christoph Junghans
b9415c6b53 graphviz: fix cairo backend (#16511) 2020-05-08 12:25:38 -05:00
iarspider
08528a7379 Gaudi: separate variant for building documentation (#16515)
* Gaudi: separate variant for building documentation

* Update package.py
2020-05-08 12:24:42 -05:00
h-denpo
fae55550f9 New package (#16519)
Large Scale Assembly, Structural Correspondence,
       Multi Dynamics Simulator.In this program,
       a part of functions of ADVENTURE_Solid ver.1.1 module
2020-05-08 12:22:04 -05:00
iarspider
652e179ae6 Gaudi: syntax fix (#16523) 2020-05-08 12:17:48 -05:00
Amjad Kotobi
33e88db2d6 new version xrootd-4.12.0 (#16528) 2020-05-08 12:05:54 -05:00
Amjad Kotobi
9eaf7e42c8 new version r-git2r-0.27.1 (#16529) 2020-05-08 12:05:30 -05:00
Axel Huebl
f5844d3d81 all_urls: add urls[0] for versions (#16435)
This adds the `url` alternative `urls` to `package.all_urls`. With
this addition, one can find again new versions with
`spack versions <package>` for packages that are populated with
from mixin mirror `urls`.

Example: `util-macros` from x.org mixin.
2020-05-08 10:12:45 +02:00
Erik Schnetter
4ebff5cef9 Documentation: typo in option description (#16518) 2020-05-07 22:23:16 -07:00
iarspider
e2d42672b7 Config option to disable setting S_ISGID bit when creating installation directory (#14479)
* Add config option to disable setting S_ISGID bit when creating installation directory. 

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-05-07 17:21:53 -07:00
iarspider
08f449ae9a "spack checksum" QoL (#14311)
* Non-interactive mode for spack checksum; allow passing 'package@version' to spack checksum

* Flake8 fixes

* Update checksum.py

Fix typo

* Update spack-completion script

* Automatically set non-interactive mode if more than one version passed

* Update lib/spack/spack/cmd/checksum.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Add documentation and update spack-completion

* Flake8

* Rename option

* Update spack-completion

* Update lib/spack/spack/cmd/checksum.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update checksum.py

* Update stage.py

* Update create.py

Use batch mode when adding a new package

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-07 18:34:36 -05:00
Elizabeth Fischer
bff5708a4f Revert changes to qt (#16516)
Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-05-07 18:32:44 -05:00
Peter Scheibel
1ed564a1e6 Testing: fix unintended interactions between tests, part 2 (#16429)
This fixes some errors with setting up test configuration. These
errors do not cause current Spack tests to fail but do create
red herring issues elsewhere (see #15666). Fixing these errors
leads to more errors in tests that depended on the original
misconfigured state, so those are also addressed here.

This is an update to #16003 which accounts for some unit tests with
conflicting config/mutable_config fixtures. These conflicts were
not exposed until the mutable_config fixture was fixed. Details are
included below. The change which builds on #16003 is prefixed with
"(new)".

* For tests that use the real Spack package repository, the config
  needs to avoid using MPI providers that are not intended to be
  installed by Spack. Without this, it is possible that Spack tests
  which concretize the MPI virtual will end up trying to use an
  implementation that it shouldn't (e.g. one that is always
  provided externally). See #15666 for an example.
* The mutable_config test fixture was not initializing the scope
  roots to the right directories (so the resulting config was empty).
* The current_host fixture in the concretize.py tests was using the
  config fixture rather than mutable_config, and was polluting the
  config cache for other tests.
* One test in concretize.py was clearing a nonexistent cache
  (PackagePrefs._packages_config_cache). This reference has been
  removed.
* The test 'test_preferred_compilers' was was depending on cross
  test config pollution to succeed. The initial spec before
  concretization has been updated to updated to be explicit about
  the desired result.
* (new) For tests that use install_mockery and mutable_config,
  replace install_mockery with a separate install_mockery_mutable_config
  fixture that is exactly the same as install_mockery but uses the
  mutable_config fixture to avoid conflicts.
2020-05-07 14:01:58 -07:00
Adam J. Stewart
d7bd070ae9 GDAL: add 3.1.0 (#16509) 2020-05-07 14:41:38 -05:00
Themos Tsikas
3c3d431492 NAG Compiler 7.0 (Build 7017) download checksum (#16510) 2020-05-07 14:41:21 -05:00
Andrew Gaspar
0103084558 Add Rust 1.43.1 (#16512) 2020-05-07 14:38:21 -05:00
h-denpo
4b65efa8ae ADD New package revocap-refiner (#16499)
* ADD New package revocap-refiner
    """The University of Tokyo, CISS Project:
        Geometric processing, mesh processing, mesh generation"""

* Modify     homepage = "https://github.com/FrontISTR/REVOCAP_Refiner"
Modify    version('master', branch='master')
Modify    depends_on('swig', type='build')
Modify        install_tree('Refiner', prefix.include.refine)
Delete         mkdirp(prefix.include)
2020-05-07 08:44:23 -05:00
darmac
762e74e1e3 Add new package: ganglia (#16382)
* Add new package: ganglia

* ganglia: fix the libexpat depends
2020-05-07 08:41:28 -05:00
Hadrien G
14685ae552 Adapt to the latest Acts developments (#16385)
* Adapt to the latest Acts developments

A long time ago, the Acts project (whose name was then capitalized ACTS) used
to maintain multiple software repositories:

- The heart of the tracking toolkit was located in the `acts-core` repository
- Fast simulation extensions were located in the `acts-fatras` repository
- Advanced usage examples were located in the `acts-framework` repository

This multi-repository organization, however, has been a source of constant
pain, which is why the various projects were gradually merged into a single
mono-repo, called `acts`. Today, with the integration of `acts-framework`,
this merging process is reaching completion.

The present pull request adapts the Acts package to this evolution by...

- Renaming the package to `acts`, reflecting the new repository name
- Renaming the `test` variant to `unit_tests`, reflecting current CMake naming
- Adding the new build variants that were inherited from `acts-framework`
- Acknowledging the change of semantics of the `examples` variant, and only
  supporting the new ones (as the former variant was almost unused)
- Liberally using alphabetical order to make the package code more readable
- Recording a large number of conflicts, some of which are introduced by the
  merging of `acts-framework` and some of which already existed before
- Using the new capitalization of "Acts"

* Add acts v0.23

* Update dd4hep version requirement

* Add acts v0.22.1 bugfix
2020-05-07 08:40:31 -05:00
asmaahassan90
edd60f95c3 Add PGI version 19.7 and export OMPI variables (#16484)
* add PGI version 19.7

* use openmpi in pgi

exporting openmpi enviroment variables when installed with pgi

* fix lint
2020-05-07 08:38:05 -05:00
Todd Gamblin
b196e4396a bugfix: spack shouldn't fail in an incomplete environment (#16473)
Fixed #15884.

Spack asks every package linked into an environment to tell us how
environment variables should be modified when a spack environment is
activated. As part of this, specs in an environment are symlinked into
the environment's view (see #13249), and the package calculates
environment modifications with *the default view as the prefix*.

All of this works nicely for pointing the user's environment at the view
*if* every package is successfully linked. Unfortunately, right now we
only track what specs "should" be in a view, not which specs actually
are. So we end up calculating environment modifications on things that
aren't linked into thee view, and the exception isn't caught, so lots of
spack commands end up failing.

This fixes the issue by ignoring and warning about specs where
calculating environment modifications fails. So we can still keep using
Spack even if the current environment is incomplete.

We should probably also just avoid computing env modifications *entirely*
for unlinked packages, but right now that is a slow operation (requires a
lot of YAML parsing). We should revisit that when we have some better
state management for views, but the fix adopted here will still be
necessary, as we want spack commands to be resilient to other types of
bugs in `setup_run_environment()` and friends. That code is in packages
and we have to assume it could be buggy when we call it outside of builds
(as it might fail more than just the build).
2020-05-07 02:30:09 -07:00
Eisuke Kawashima
05dcfe829e neovim: added v0.4.3 (#16410)
Use neovim's vendored dependencies for 0.4 and later
2020-05-07 10:29:27 +02:00
Tomoki, Karatsu
830f3f79d9 openfoam: correspond to build with Fujitsu compiler. (#15941)
* openfoam: correspond to build with Fujitsu compiler.

* openfoam: add rules for Fujitsu compiler (on linuxARM64)

- the Fujitsu compiler is a clang derivative, so use a modified
  version of the clang rules if upstream does not supply anything
2020-05-06 21:55:09 -05:00
takanori-ihara
50a2690ce1 Add new package:py-json5 (#16273)
* Add new package:py-json5

* Remove unnecessary line
2020-05-06 21:53:16 -05:00
iarspider
8845358f10 New version of pylint + fix dependencies (#16443)
* New version of pylint + fix dependencies

* Update package.py

* Update package.py
2020-05-06 21:51:04 -05:00
Glenn Johnson
9c218079f0 Install RMPISNOW wrapper in prefix.bin for r-snow (#16479)
If using mpirun, the R sessions can be started with a wrapper script
that helps set up the R session cluster. Put this wrapper in the PATH so
it is easily accessible.
2020-05-06 21:49:46 -05:00
Adam J. Stewart
18e1e2424f py-shapely: fix unit tests (#16500) 2020-05-06 20:44:55 -05:00
Sergey Kosukhin
2139c8e53e py-netcdf4: make sure we don't use system hdf5. (#16492) 2020-05-06 18:14:10 -05:00
Adam J. Stewart
b14befe61a Bazel: add new versions (#16493) 2020-05-06 18:12:40 -05:00
Adam J. Stewart
d2709fd376 TensorFlow: add new version (#16494) 2020-05-06 18:12:28 -05:00
Kevin Manalo
e8753fe972 OpenMPI - Update to 3.1.6 (#16496) 2020-05-06 18:12:14 -05:00
iarspider
638784e4c3 Add new version of Geant4 (#16497) 2020-05-06 18:11:40 -05:00
Adam J. Stewart
74b3ae4803 PyTorch/Torchvision: fix deptype (#16495) 2020-05-06 18:05:26 -05:00
yellowhat
d1983d7395 blis: FIX threads option, HPL: enable opemp variant for 2.3 (#16476)
* blis: FIX threads option

* HPL: openmp variant is ignored for 2.3

* blis: FIX flake8

* blis: FIX spacing

* Update var/spack/repos/builtin/packages/hpl/package.py

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

* hpl: FIX spec --> self.spec, FIX blas with amdblis

* HPL: fix flake8

* HPL: FIX flake8

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-06 15:36:29 -05:00
Elizabeth Fischer
1aacdc4e18 qscintilla (#16182)
* qscintilla

* Revert "qscintilla"

This reverts commit 00bd00ea3c.

* Move logic to qt package.

* flake8

Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-05-06 15:35:36 -05:00
Scott Wittenburg
6d1e9c3ff4 margo: update dependency on argobots (#16489) 2020-05-06 12:17:28 -07:00
Greg Becker
d0220a990c fix underscore/dash problems for mic_knl and skylake_avx512 (#16491) 2020-05-06 12:10:08 -07:00
Axel Huebl
bf203383bd macOS Package Builds (nightly) (#16345)
Add nightly builds for popular and commonly used packages on
macOS that should improve the onramp user experience if
working well.
2020-05-06 11:51:29 -07:00
Peter Scheibel
b030a81a5f Automatically find externals (#15158)
Add a `spack external find` command that tries to populate
`packages.yaml` with external packages from the user's `$PATH`. This
focuses on finding build dependencies. Currently, support has only been
added for `cmake`.

For a package to be discoverable with `spack external find`, it must define:
  * an `executables` class attribute containing a list of
    regular expressions that match executable names.
  * a `determine_spec_details(prefix, specs_in_prefix)` method

Spack will call `determine_spec_details()` once for each prefix where
executables are found, passing in the path to the prefix and the path to
all found executables. The package is responsible for invoking the
executables and figuring out what type of installation(s) are in the
prefix, and returning one or more specs (each with version, variants or
whatever else the user decides to include in the spec).

The found specs and prefixes will be added to the user's `packages.yaml`
file. Providing the `--not-buildable` option will mark all generated
entries in `packages.yaml` as `buildable: False`
2020-05-05 17:37:34 -07:00
Adam J. Stewart
7e5874c250 PyTorch: add patches to fix build (#16477) 2020-05-05 16:56:03 -05:00
Christoph Junghans
fbdd290877 kokkos: add v3.1.01 (#16470)
* kokkos: add v3.1.01

* kokkos: fix up versions

* kokkos-kernels: follow upstream versioning
2020-05-05 15:31:13 -06:00
Greg Becker
dd3762d0f9 cray platform: support cray Cluster and XC type machines (#12989)
Cray has two machine types. "XC" machines are the larger
machines more common in HPC, but "Cluster" machines are
also cropping up at some HPC sites. Cluster machines run
a slightly different form of the CrayPE programming environment,
and often come without default modules loaded. Cluster
machines also run different versions of some software, and run
a linux distro on the backend nodes instead of running Compute 
Node Linux (CNL).

Below are the changes made to support "Cluster" machines in
Spack. Some of these changes are semi-related general upkeep
of the cray platform.

* cray platform: detect properly after module purge

* cray platform: support machines running OSs other than CNL

Make Cray backend OS delegate to LinuxDistro when no cle_release file
favor backend over frontend OS when name clashes

* cray platform: target detection uses multiple strategies

This commit improves the robustness of target
detection on Cray by trying multiple strategies.

The first one that produces results wins. If
nothing is found only the generic family of the
frontend host is used as a target.

* cray-libsci: add package from NERSC

* build_env: unload cray-libsci module when not explicitly needed

cray-libsci is a package in Spack. The cray PrgEnv
modules load it implicitly when we set up the compiler.
We now unload it after setting up the compiler and
only reload it when requested via external package.

* util/module_cmd: more robust module parsing

Cray modules have documentation inside the module
that is visible to the `module show` command.
Spack module parsing is now robust to documentation 
inside modules.

* cce compiler: uses clang flags for versions >= 9.0

* build_env: push CRAY_LD_LIBRARY_PATH into everything

Some Cray modules add paths to CRAY_LD_LIBRARY_PATH
instead of LD_LIBRARY_PATH. This has performance benefits
at load time, but leads to Spack builds not finding their
dependencies from external modules.
Spack now prepends CRAY_LD_LIBRARY_PATH to
LD_LIBRARY_PATH before beginning the build.

* mvapich2: setup cray compilers when on cray

previously, mpich was the only mpi implementation to support
cray systems (because it is the MPI on Cray XC systems). 
Cray cluster systems use mvapich2, which now supports cray
compiler wrappers.

* build_env: clean pkgconf from environment

Cray modules silently add pkgconf to the user environment
This can break builds that do not user pkgconf.
Now we remove it frmo the environment and add it again if it
is in the spec. 

* cray platform: cheat modules for rome/zen2 module on naples/zen node

Cray modules for naples/zen architecture currently specify
rome/zen2. For now, we detect this and return zen for modules
named `craype-x86-rome`.

* compiler: compiler default versions

When detecting compiler default versions for target/compiler
compatibility checks, Spack previously ran the compiler without
setting up its environment. Now we setup a temporary environment
to run the compiler with its modules to detect its version.

* compilers/cce: improve logic to determine C/C++ std flags

* tests: fix existing tests to play nicely with new cray support

* tests: test new functionality

Some new functionality can only be tested on a cray system.
Add tests for what can be tested on a linux system.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-05-05 13:58:46 -07:00
Axel Huebl
7be7d672b7 OpenBLAS: Fix LLVM 9.0.0 ICE on macOS (#16471)
Recently added patch to port the LLVM 9.0.0 ICE with OpenBLAS and
AVX-512 instructions as well to AppleClang (11.0.3).
2020-05-05 13:45:01 -05:00
Sajid Ali
eff8e1d20b minor (#16467) 2020-05-05 13:43:00 -05:00
Massimiliano Culpo
aa9c98b6a2 Make usage example consistent with current MV variants (#16468)
Since #9481 Python's None is not permitted as a value for
MV variants. The string 'none' is used instead.

Add the same fix for the amgx and lammps packages
2020-05-05 20:22:32 +02:00
Jennifer Green
de71b2828f CMake: Cray XC40 system errors bootstrapping CMake (#16459)
* CMake: fix https://github.com/spack/spack/issues/16453 with a patch addressing both libhugetlbfs and icpc warnings on Cray XC40 systems

* Including CMake v3.17.2 in the patched versions
2020-05-05 14:02:49 -04:00
Christoph Junghans
ff3769e2e2 cabana: add v0.3.0 & shared variant (#16466) 2020-05-05 11:59:28 -05:00
Chris White
2cb4ae747d Add Axom spack package (#15432)
* Add OpenMP variant to Umpire

* Initial implementation of Axom package

* Add Axom spack package and fix required dependencies

* Fix overzealous tag replacement

* Attempt to fix version error

* Fix python version attempt #2

* Update raja and umpire

* remove sys_type check

* Address comments in axom package

* Address Greg's comments

* Fix flake8

* more flake8

* Simplify MPIEXEC and MPIEXEC_NUMPROC_FLAG

* Fix typo

* Revert back to slurm check, fix cuda_arch checks

* Fix cuda_arch variant forwarding

* Add cub variant

* Add py-shroud

* Address comments

* Fix shroud path in axom

* Fix merge conflict

* Fix backwards if

* Fix flake8 and add copyright

* format for consistency
2020-05-05 08:52:32 -07:00
Justin S
70c9dd37a7 exonerate-gff3: new package at 2.3.0 (#11830) 2020-05-05 10:51:59 -05:00
Justin S
0e60ec7f1c perl-bio-searchio-hmmer: new package at 1.7.3 (#16281)
* perl-bio-searchio-hmmer: new package at 1.7.3

* perl-bio-searchio-hmmer: add dependencies
2020-05-05 10:50:06 -05:00
Axel Huebl
6013060c60 WarpX: RZ + PSATD (#16464)
Add additionally required dependencies to WarpX that are needed
for transformations in RZ geometry with spectral (PSATD) solvers.
2020-05-05 10:48:23 -05:00
Tim Haines
33b129b919 Boost: Add version 1.73.0 (#16442) 2020-05-05 08:26:11 -05:00
vvolkl
c2791a4baa [dd4hep] fix python setup (#16461) 2020-05-05 08:25:26 -05:00
Benjamin Tovar
f1bb0f8aad cctools to 7.1.5 (#16450)
* change homepage to readthedocs

* update cctools version to 7.1.5

* change http to https
2020-05-05 08:24:42 -05:00
Christoph Junghans
04cb1800a6 lammps: added v20200505 (#16463) 2020-05-05 09:54:30 +02:00
Greg Becker
3ae76d8c1e bugfix: config:install_hash_length ignored (#15919) 2020-05-04 23:10:25 -07:00
Adam J. Stewart
b9ed788589 py-shapely: add master version (#16465) 2020-05-04 23:42:17 -05:00
Elizabeth Fischer
4c323e49bf libspatialite: Update for proj@6 (#16173)
* libspatialite

* flake8

* Added proper version constrain

* Update var/spack/repos/builtin/packages/libspatialite/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/libspatialite/package.py

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

Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-04 19:44:54 -05:00
Elizabeth Fischer
76bd143c30 libsecret (#16174)
* libsecret

* Update package.py

Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-05-04 19:44:23 -05:00
vvolkl
e575ba2773 bugfix: Update run-time dependencies of py-xenv (#16460)
Otherwise, if I run `xenv` after `spack load py-xenv` it fails with:
```
Traceback (most recent call last):
  File "/home/vavolkl/spack/opt/spack/linux-centos7-broadwell/gcc-8.3.0/py-xenv-develop_2018-12-20-lqbxakapsepqo5w3sjhhokj5o7c5jei2/bin/xenv", line 6, in <module>
    from pkg_resources import load_entry_point
ModuleNotFoundError: No module named 'pkg_resources'
```
2020-05-04 19:41:19 -05:00
vvolkl
befd472594 [gaudi] fixes and patches (#16433)
* [gaudi] fixes and patches

* Update var/spack/repos/builtin/packages/gaudi/package.py

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

* Update var/spack/repos/builtin/packages/gaudi/package.py

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

* Apply suggestions from code review

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

* [gaudi] add older versions and fold +tests into +optional

* [gaudi] set run environment

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-04 19:40:13 -05:00
Greg Becker
8e2f5ba861 environments: allow sigils to apply to entire reference (#15245)
* environments: allow sigils to apply to entire reference
2020-05-04 15:11:10 -07:00
Amjad Kotobi
6c07260d27 ecFlow added UI & GUI flag with new version (#16444)
* ecFlow added UI & GUI flag with new version

* Fix1
2020-05-04 16:57:06 -05:00
Elizabeth Fischer
5adf703414 py-palletable: Add new version (#16445)
Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-05-04 16:55:54 -05:00
Elizabeth Fischer
43d2c7f3b5 py-cf-units: Add new version (#16446)
Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-05-04 16:53:12 -05:00
René Widera
e808a52176 update isaac and issac-server to v1.5.0 (#16452)
Update package.py with the latest release [ISAAC v1.5.0].
2020-05-04 16:47:12 -05:00
Matthias Diener
fe350224b6 pocl: add version 1.5 (#16455)
* pocl: add version 1.5

* update clang version
2020-05-04 16:46:30 -05:00
Matthias Diener
0a4e078648 hwloc: add version 2.2.0 (#16456) 2020-05-04 16:45:55 -05:00
Shintaro Iwasaki
0475edfbf2 BOLT: add 1.0 (#16457) 2020-05-04 16:45:28 -05:00
Shintaro Iwasaki
acf0c90283 argobots: mark 1.0 as preferred (#16458)
By default, Spack chooses 1.0rc2 instead of 1.0 though 1.0 is the stable and
newer release.  We manually mark the version 1.0 as preferred.
2020-05-04 16:44:50 -05:00
Oliver Breitwieser
1cff717ca8 Fix git-related commands not working in worktrees
If spack is checked out in a git worktree (see [1]), all git-related
commands fail because the `spack_is_git_repo()`-check is not thorough
enough.

When developing in a feature-branch in a seperate worktree, this is
annoying as all unittests regarding git-related spack commands fail,
cluttering the test results with false-positives.

[1]: https://git-scm.com/docs/git-worktree

Change-Id: I94b573a2c0e058e9ccc169e7ee6561626fbb06fd
2020-05-04 14:39:25 -07:00
Elizabeth Fischer
dea5d913db Updates to Python for macOS (#16449)
Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-05-04 16:30:59 -05:00
Elizabeth Fischer
7b31f5474b grass: new versions (#16181)
* grass

* Update var/spack/repos/builtin/packages/grass/package.py

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

Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-04 16:25:19 -05:00
Axel Huebl
87f78137a5 LAPACKC++: added "shared" variant (#16419)
We can control the shared/static build of CMake and the default in
Spack is to build shared libraries. The old, uncontrolled default
of this package is a static build.
2020-05-04 09:39:20 +02:00
Dr. Christian Tacke
d5adad6953 singularity: added missing dependencies (#16430)
See:

https://sylabs.io/guides/3.5/user-guide/quick_start.html#install-system-dependencies

for pkg-config and libseccomp
2020-05-04 09:02:38 +02:00
Nichols A. Romero
860c54335d QE-to-QMCPACK wave function converter relocation + some bug fixes (#16422)
* Revise description of patch variant.

* Add qmcpack variant. Apply QE-to-QMCPACK wave function converter patch.

* Clean-up, document, and re-organize.

* ELPA patches did not nead when=`+patch` variant.

* Need to be more precise here with QE version numbers.

* satisfies seems to be necessary here in order to get correct behaviour.

* Buglet with zlib link line.

* Update var/spack/repos/builtin/packages/quantum-espresso/package.py

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

* Update var/spack/repos/builtin/packages/quantum-espresso/package.py

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

* Fix for QE-to-QMCPACK wave function converter w.r.t. QE 6.3. Also adjust comments to reflect changes in code.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-03 14:53:01 -06:00
Adam J. Stewart
caad59e7c7 NumPy: add 1.18.4 (#16441) 2020-05-03 13:29:15 -05:00
vvolkl
ed9e19df06 Add new HEP package: fastjet (#16439)
* [fastjet] initial commit

* [fastjet] remove beta versions
2020-05-03 13:27:18 -05:00
vvolkl
3c2f46aabf Add new HEP package: Delphes (#16440)
* [delphes] initial commit

* [delphes] formatting fixes
2020-05-03 11:13:03 -05:00
Adam J. Stewart
1af31d24fd GEOS: add new version (#16437) 2020-05-02 23:38:46 -05:00
Adam J. Stewart
eb4451dd1e py-shapely: new version, Python 3.7 fix (#16438) 2020-05-02 23:38:30 -05:00
Adam J. Stewart
2e63e08192 py-cartopy: update package, fix PROJ.6 support (#16436) 2020-05-02 20:13:12 -05:00
Matthias Diener
1bc104e00e colordiff: add version 1.0.19 (#16431) 2020-05-02 13:26:56 -05:00
Jonathon Anderson
08f88b4be6 Add a gpfs variant to openmpi package (#15793)
Open MPI will detect and link against GPFS if it is present
on the system. This variant allows this to be disabled, even
if GPFS is present.
2020-05-02 11:07:50 -05:00
Sajid Ali
adafdf0644 add hydra/pmix conflict (#16428) 2020-05-01 20:51:54 -05:00
Matthias Diener
668dcb78a1 py-opentuner: add version 0.8.2 (#16423) 2020-05-01 20:50:54 -05:00
Jen Herting
acabe2deba [ncbi-magicblast] added version 1.5.0 (#16424) 2020-05-01 20:50:26 -05:00
Justin S
cf59220edc stata: add version 16 (#16425) 2020-05-01 20:50:13 -05:00
mic84
c7552c0c72 amrex: New version 20.05 (#16427) 2020-05-01 20:47:18 -05:00
Kelly (KT) Thompson
b5b7ef2ce6 Provide update for py-pyside2 version 5.14.2.1. (#16426) 2020-05-01 17:32:31 -05:00
Justin S
f38820f89c tbl2asn: new package at 20200301 (#16280)
* tbl2asn: new package at 20200301

* tbl2asn: remove unused url

* tbl2asn: use spack decompression, fix permissions

* tbl2asn: change version
2020-05-01 16:40:09 -05:00
Peter Scheibel
40df44e021 Revert "Testing: fix unintended interactions between tests (#16003)" (#16420)
This was breaking tests on develop.
2020-05-01 13:39:43 -07:00
Peter Scheibel
31d12d380f Testing: fix unintended interactions between tests (#16003)
* For tests that use the real Spack package repository, the config
  needs to avoid using MPI providers that are not intended to be
  installed by Spack. Without this, it is possible that Spack tests
  which concretize the MPI virtual will end up trying to use an
  implementation that it shouldn't (e.g. one that is always
  provided externally). See #15666 for an example.
* The mutable_config test fixture was not initializing the scope
  roots to the right directories (so the resulting config was empty).
* The current_host fixture in the concretize.py tests was using the
  config fixture rather than mutable_config, and was polluting the
  config cache for other tests.
* One test in concretize.py was clearing a nonexistent cache
  (PackagePrefs._packages_config_cache). This reference has been
  removed.
* The test 'test_preferred_compilers' was was depending on cross
  test config pollution to succeed. The initial spec before
  concretization has been updated to updated to be explicit about
  the desired result.
2020-05-01 10:47:46 -07:00
Axel Huebl
d0dfa1ea4d dev-build: --drop-in <shell> (#14887)
* dev-build: --drop-in <shell>

Add a `--drop-in <shell>` option to `spack dev-build`.
This option will automatically run a
`spack build-env <spec> -- <shell>` at the end of a `dev-build`, e.g.
to quickly drop-and-devel into a build phase of a package.

Example usage:
```
spack dev-build --before cmake --drop-in bash openpmd-api@develop
```

* build_env: drop in unit test

Co-authored-by: Greg Becker <becker33@llnl.gov>
2020-05-01 09:37:21 -07:00
Toyohisa Kameyama
40f70c4d4f mt-metis: New package. (#16380)
* mt-metis: New package.

* variant to 1 line.

* delete useless lines.
2020-05-01 10:51:27 -05:00
Matt Larsen
69a0fbd2cb raja: add awareness of the cuda architecture (#16377) 2020-05-01 10:07:12 +02:00
Jean-Laurent Picard
4f6c4743e3 arborx: fix build with new kokkos-legacy (#16413) 2020-05-01 09:30:27 +02:00
Christoph Junghans
7a56e6fce1 gromacs: add v2020.2 (#16408) 2020-04-30 19:01:07 -06:00
Satish Balay
4c69bc9d16 amrex: repo went through history rewrite - so use updates sha256sums (#16379) 2020-04-30 15:13:45 -05:00
Adam J. Stewart
022c287e47 Fix typos in new AutotoolsPackage function (#16406) 2020-04-30 15:13:04 -05:00
Michael Kuhn
a24a12f229 sqlite: Add 3.31.1 (#16404) 2020-04-30 15:12:51 -05:00
Michael Kuhn
efbd8c1555 readline: Fix homepage (#16403) 2020-04-30 15:12:38 -05:00
Michael Kuhn
9920684600 gettext: Add 0.20.2 (#16402) 2020-04-30 15:12:26 -05:00
Michael Kuhn
f04b0d99a8 glib: Add 2.64.2 (#16401) 2020-04-30 15:12:13 -05:00
Michael Kuhn
d2fc61a019 libffi: Add 3.3 (#16400) 2020-04-30 15:12:00 -05:00
Michael Kuhn
c2704a6037 perl: Add 5.30.2 (#16396) 2020-04-30 15:11:46 -05:00
Michael Kuhn
7adcb23978 libxml2: Add 2.9.10 (#16399) 2020-04-30 14:29:50 -05:00
Michael Kuhn
15c1fbc677 meson: Add 0.54.1 (#16398) 2020-04-30 14:29:36 -05:00
Michael Kuhn
6855e8e10f pcre: Add 8.44 (#16397) 2020-04-30 14:29:24 -05:00
Ben Bergen
6d7daf0def Resolves: https://github.com/spack/spack/issues/16394 (#16395)
Build problem with gcc 10.x
2020-04-30 11:16:00 -06:00
Adam J. Stewart
b55b7d5707 Fix kokkos-kernels tuple unpacking (#16393) 2020-04-30 11:36:50 -05:00
Christoph Junghans
cfb307b8e7 lammps: fix build with kokkos (#16390) 2020-04-30 10:29:08 -06:00
Adam J. Stewart
6c24142ebd Fix coreutils configure_args (#16391) 2020-04-30 11:13:23 -05:00
Christoph Junghans
74c9ba551a cabana: add v0.2 and fix kokkos deps (#16389) 2020-04-30 09:49:02 -06:00
darmac
b0ecaa1093 Add new package: bashtop (#16383) 2020-04-30 10:45:48 -05:00
Satish Balay
b2df39ea3a petsc: switch hdf5 spec from --with-hdf5-dir to --with-hdf5-lib (#16376)
This way - we can detect and use hdf5:hl,fortran - if enabled, but not require it as a dependency
2020-04-30 10:40:25 -05:00
Satish Balay
3a3f871718 xsdk: update to mfem and py-petsc4py changes (#16378)
mfem variant hypre is now rolled into variant mpi - so update spec accordingly

mfem@4.0.1-xsdk+superlu-dist is broken and unsupported - so disable it

with the addition of py-petsc4py@3.13.0 - conretizer gets confused and is not picking py-petsc4py@3.12.0 as a compatible dependency with petsc@3.12. So manually specify it.
Also depends_on('py-libensemble@0.5.2+petsc4py ^py-petsc4py@3.12.0' causes concretizer to hang forever
2020-04-30 10:33:02 -05:00
Christoph Junghans
d5d4e16f3d graphviz: fix cairo dep (#16387) 2020-04-30 10:29:20 -05:00
Christoph Junghans
f005ec016b kokkos: fix typos (#16388) 2020-04-30 09:09:13 -06:00
Jeremy
598c233f78 Update kokkos for new 3.x build systems (#16358)
* change old Makefile-based Kokkos to kokkos-legacy

* add Kokkos 3.x packages

Co-authored-by: Jeremiah J Wilke <jjwilke@kokkos-dev-2.sandia.gov>
2020-04-30 08:13:47 -06:00
Teodor Nikolov
9627cbbe1b lapackpp and blaspp: added packages (develop branch) (#16373) 2020-04-30 16:05:45 +02:00
Toyohisa Kameyama
54b71b2b69 JHPCN-DF: added package at v1.1.0 (#16384) 2020-04-30 15:03:35 +02:00
Benoit Coste
6c751f931c py-pyquaternion: added package at v0.9.5 (#16386) 2020-04-30 14:50:28 +02:00
Chris Green
9698907e74 Spack command extensions: error-handling (#13635)
Generally speaking, errors that are encountered when attempting to load
command extensions now terminate the running Spack instance.

* Added new exceptions `spack.cmd.PythonNameError` and
  `spack.cmd.CommandNameError`.
* New functions `spack.cmd.require_python_name(pname)` and
  `spack.cmd.require_cmd_name(cname)` check that `pname` and `cname`
  respectively meet requirements, throwing the appropriate error if not.
* `spack.cmd.get_module()` uses `require_cmd_name()` and passes through
  exceptions from module load attempts.
* `spack.cmd.get_command()` uses `require_cmd_name()` and invokes
  `get_module()` with the correct command-name form rather than the
  previous (incorrect) Python name.
* Added New exceptions `spack.extensions.CommandNotFoundError` and
  `spack.extensions.ExtensionNamingError`.
* `_extension_regexp` has a new leading underscore to indicate expected
  privacy.
* `spack.extensions.extension_name()` raises an `ExtensionNamingError`
  rather than using `tty.warn()`.
* `spack.extensions.load_command_extension()` checks command source
  existence early and bails out if missing. Also, exceptions raised by
  `load_module_from_file()` are passed through.
* `spack.extensions.get_module()` raises `CommandNotFoundError` as
  appropriate.
* Spack `main()` allows `parser.add_command()` exceptions to cause
  program end.

Tests:

* More common boilerplate has been pulled out into fixtures including
  `sys.modules` dictionary cleanup and resource-managed creation of a
  simple command extension with specified contents in the source file
  for a single named command.
* "Hello, World!" test now uses a command named `hello-world` instead of
  `hello` in order to verify correct handling of commands with hyphens.
* New tests for:
  * Missing (or misnamed) command.
  * Badly-named extension.
  * Verification that errors encountered during import of a command are
    propagated upward.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-04-29 18:18:48 -07:00
Carson Woods
d12e588c60 charliecloud: add more checksummed versions (#16146)
* Add more checksummed versions

* Remove all versions not supported by autotools build method

* Add old build system for older versions

* Add suggested changes
2020-04-29 17:22:22 -05:00
Adam J. Stewart
eef75ddd45 py-mypy: setuptools needed at run-time (#16375) 2020-04-29 13:50:34 -05:00
Dr. Christian Tacke
0385e84775 boost: Patch for boostorg/process/issues/116 (#16371)
Patch for "Unable to compile code using boost/process.hpp"
See: https://github.com/boostorg/process/issues/116
2020-04-29 12:53:58 -05:00
Nathan
b6b44948b8 prefix gets removed when adding additional configure options (#16335)
* prefix gets removed when adding additional configure options

* Update waf documentation to reflect the new change
2020-04-29 10:52:23 -05:00
darmac
42d7fd30c4 Add new package: brpc (#16309)
* Add new package: brpc

* change a patch for brpc

* refine brpc version

* refine brpc patch constraint
2020-04-29 09:58:35 -05:00
darmac
5697894b22 Add new package: graylog2-server (#16370) 2020-04-29 09:58:09 -05:00
darmac
890059c635 Add new package: libconfuse (#16368) 2020-04-29 09:57:38 -05:00
darmac
35b9901fa0 Add new package: fping (#16367) 2020-04-29 09:57:16 -05:00
darmac
0d9b003169 Add new package: trident (#16342)
* Add new package: trident

* remove unused source code
2020-04-29 08:20:05 -05:00
Jonathan R. Madsen
39bbe8f9d4 Update timemory to support new dependencies and expose more build options (#16241)
* Update timemory/package.py to support new dependencies and expose more build options

* Added missing 'use_arch' option handling

* Fixes for python 2.6

* Fix pyflake error F632

* F632 flake fixes

* Update package.py

* Update package.py

* 80 char width + added extra conflicts + fixed kokkos_modules reference

* 79 char width

* Removed submodule builds

- added allinea_map variant
- disabled caliper by default
- added ompt_{standalone,llvm} variants

* flake8 updates

* 79 char width
2020-04-29 08:19:17 -05:00
Joseph Ciurej
97e67b385c ffmpeg: add v1.0.10, v2.8.15; add '+avresample'; improve variant handling (#16359)
* ffmpeg: add older versions (i.e. 2.8.15, 1.0.10), add 'avresample' variant

* ffmpeg: update variant handling to support older versions (i.e. 2.8.15, 1.0.10)
2020-04-29 09:33:22 +02:00
Joseph Ciurej
c37857f995 openscenegraph: add v3.4.0, v3.4.1; add '+ffmpeg' (#16360)
* openscenegraph: add v3.4.0/3.4.1, update versioning to use git, improve dependency handling (esp. for ffmpeg, opengl)

* openscenegraph: add '+ffmpeg' variant, add 'jasper' dependency, clean up cmake config variables

* openscenegraph: reverted fetches to use checksums to improve reliability

* openscenegraph: add a few more explicit dependencies (e.g. png, tiff, glib).
2020-04-29 09:27:27 +02:00
Ryan Mast
6c0d4fb5e5 helics: fixed dependency on boost (#16363) 2020-04-29 09:10:33 +02:00
Dr. Christian Tacke
67ad8ed546 root: added v6.20.04, better variant handling (#16362)
* Add version 6.20.04
* This version still requires numpy for +python
* ROOT 6.20 renamed the define from python to pyroot:
  Add appropiate handling
2020-04-29 09:05:17 +02:00
Adam J. Stewart
8b4b7aacbb py-pandas: add 1.0.X release (#16366) 2020-04-28 23:14:17 -05:00
Ryan Mast
25c17e0ca6 helics: Add version 2.5.0 (#16364)
Add HELICS package version 2.5.0
2020-04-28 19:21:22 -05:00
Hadrien G
2d02769bea [dd4hep] Fix inappropriate patch line break (#16361)
Sometimes, text editors automate things a little too much...
2020-04-28 19:17:13 -05:00
Jeffrey Salmond
703111c01b Add amgx (#16357)
* add amgx package

* add amgx variants for mkl and magma support

* fix typo in cmake option

* flake8 fix formatting

* Apply suggestions from code review - use mkl virtual provider

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Apply suggestions from code review - fix copypasta

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-28 14:36:55 -05:00
Axel Huebl
00d83cd79d dev-build: stop before phase (#14699)
Add `-b,--before` option to dev-build command to stop before the phase in question.
2020-04-28 09:55:57 -07:00
Axel Huebl
7670ae468f Docs: Limit Microarch on Travis CI (#16200)
Update the travis CI docs: limiting the microarch is essential
for caching.
2020-04-28 11:54:02 -05:00
Carson Woods
6e63ff1688 netcdf-fortran: add new variants (#16046)
* Add additional variants to netcdf-fortran

* Fix duplicate variant

* Clean up variants based on review feedback

* Addtional variant changes

* Convert jna variant to single line

* Fix proper version constraints for jna variant
2020-04-28 11:15:19 -05:00
Stephen McDowell
4ed5cee940 jsoncpp add 1.9.2, patch %clang@10 for implicit conversion (#16153)
* add 1.9.2, patch %clang@10 for implicit conversion

* flake8: "fix" hanging indent (squash: because is that really more readable?)
2020-04-28 11:14:36 -05:00
darmac
af9c3b31de Add new package: figlet (#16355) 2020-04-28 11:12:50 -05:00
Cameron Smith
d3ffb12274 kokkos: add versions 3.0.00 and 3.1.00 (#16354) 2020-04-28 11:11:50 -05:00
darmac
48de131b08 bazel: support for aarch64 platform (#16350) 2020-04-28 11:07:46 -05:00
darmac
a1e03151b2 Add new package: etcd (#16348) 2020-04-28 11:07:02 -05:00
darmac
2f88af4d2c Add new package: kubernetes (#16347) 2020-04-28 11:06:24 -05:00
Jeffrey Salmond
4aed5daeba adjust petsc to build cuda only when requested explicitly (#16275)
* adjust petsc+cuda to build cuda only when requested explicitly

* activate petsc library support only when explicitly requested

* flake8 fixes
2020-04-28 10:52:39 -05:00
Carson Woods
27b7d4bd21 openmpi: add additional variants (#16044)
* Add variants to OpenMPI

* Add variant for toggling runpath

* Fix typo

* Remove blank line whitespace
2020-04-28 10:51:30 -05:00
Tom Payerle
aec3589679 netcdf-c: Patch to support hdf linked against libtirpc (#15994)
If hdf was built with +libtirpc, we need to add -ltirpc to our link
flags.
2020-04-28 09:43:53 -05:00
Massimiliano Culpo
50318e4ee3 travis: extend the list of e-mails being notified of failures (#16352) 2020-04-28 14:55:44 +02:00
Massimiliano Culpo
a540e36922 relocate: remove an assertion in _make_relative (#16351)
This was an oversight in #15654 since `os.path.isfile`
checks that the something is a file in the current
filesystem.
2020-04-28 14:53:22 +02:00
Christoph Junghans
9615ac42cf votca-*: fix stable deps (#16339) 2020-04-28 13:08:00 +02:00
darmac
cf31472e5a cassandra: added v3.11.6 and dependency on Java (#16341) 2020-04-28 13:04:31 +02:00
darmac
76e9171d25 colordiff: modified url to fix 404 error (#16349) 2020-04-28 10:59:52 +02:00
Christoph Junghans
fcbf0545c7 votca-*: add stable version (#16336)
* votca-*: add stable version

* votca-*: add myself as maintainer
2020-04-27 20:43:34 -05:00
Tiziano Müller
3115b5c758 CP2K: arch file improvements and blas-dependency simplification (#16074)
* cp2k: prettify arch-file, call pkg-config directly

this allows to re-use the arch-file without having to load the complete
Spack environment, for example after a dev-build

* cp2k: use consistency check instead of blas lib enum

this makes using other BLAS/LAPACK implementations possible without
explicitly adding support for them

* cp2k: add basic support for Cray and XL Compilers, correct Intel fp mode

* cp2k: add myself as maintainer

* cp2k: use "master" to denote the git version

* cp2k: use spack_cc/fc/cxx when possible, set CXX explicitly

* cp2k: set __MKL when using the MKL, not just the Intel compiler

* cp2k: drop self. when referencing spec where possible

* cp2k: add forgotten elpa+openmp dep

* cp2k: set C++14 for recent versions
2020-04-27 19:42:33 -05:00
Dr. Christian Tacke
f5a5a11c77 abseil-cpp: new Version, Build Shared Library (#16125)
* Add new version: "Abseil LTS branch, Feb 2020, Patch 1"
* Build shared libraries by default with new version
* Older versions do not support building shared libraries
2020-04-27 19:41:15 -05:00
Diego Magdaleno
f1a7fb2ffc Update bat and make the url dynamic (#16127)
* Update bat and make the url dynamic

- Now depending on the version it will calculate
the url

- This also fixes a weird issue that was reported
on Darwin, back when I reported that Rust wasn't
linking properly on Darwin #15887 on the comment
by hartzell i was also experiencing this issue

* Remove unnecessary stuff

- Removes the need for LLVM

- Removes the need for version calculation.

* Keep the versions on 1 line

* Pass flake8 tests
2020-04-27 19:40:35 -05:00
Diego Magdaleno
cd56882998 Add a new package Exa (#16126)
* Add new package exa

* Format and fix a silly typo

* Fix SHA256 SUM and make URL calculation dynamic

* Remove unnecessary URL calculation

* Update package.py

* Keep the version on 1 line

* Pass flake8 checks
2020-04-27 19:39:09 -05:00
asmaahassan90
b04b6e1449 Add ShengBTE (#16154)
* Add ShengBTE

Adding a new package; ShengBTE. I tried adding it a MakefilePackage, and use build_directory = 'Src', but it was as if the build_directory gets ignored and make complains about target not found. and using the make funtion here instead of os.system, I get errors that config.f90 is not found which is already available under Src as well.

* more enhancmenets

fix lint; use mkl spec; use build_directory variable

* one more fix

* Use Makefile template

* Update var/spack/repos/builtin/packages/shengbte/package.py

use mkl instead of intel-mkl as a dependency

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/shengbte/package.py

update recipe as suggested by reviewer

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* enhance recipe

remove white space; changes as suggested by reviewer

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-27 19:38:15 -05:00
Joseph Ciurej
f314ff6639 python : fix SSL for older Python versions (#16217)
* Fixed SSL pathing for older versions of Python (i.e. @:3.6.999).

* Fixed an issue where the 'python~ssl' variant wasn't properly being respected.

* Improved the '~ssl' patch by making it functional instead of diff-based (enables 3.X.Y patches).

* Fixed comment formatting to satisfy 'flake8' style requirements.
2020-04-27 19:36:33 -05:00
Tim Haines
204179eed3 elfutils: Add version 0.179 (#16334) 2020-04-27 19:26:28 -05:00
Christoph Junghans
8060bc6523 graphviz: add poppler support (#16331)
* graphviz: add poppler support

* graphviz: actually needs poppler+glib

* poopler: fix glib build, new version
2020-04-27 15:18:03 -06:00
Mark W. Krentel
08e53b67f8 hpcviewer: add version 2020.04 (#16332)
* hpcviewer: add version 2020.04

* ibm-java: add version 8.0.6.7
2020-04-27 16:04:02 -05:00
Brian Van Essen
a4b17b9503 cuDNN: Help dependents find libs/includes on Power arch (#16128)
On Power architectures cuDNN will install in a target directory. This
sets cuDNN_ROOT to point to the subdirectory to help dependents use
this install.
2020-04-27 13:15:46 -07:00
Amjad Kotobi
1c45153e00 ecflow added version 4.12.0 (#16327) 2020-04-27 13:19:41 -05:00
Amjad Kotobi
31eff3578f cmake added version 3.17.1 (#16326) 2020-04-27 13:19:10 -05:00
Benjamin Tovar
505a511af4 update cctools to version 7.1.3 (#16324) 2020-04-27 13:18:44 -05:00
iarspider
a277b96b39 Make mariadb provide mysql-client... (#16322)
... as well as mariadb. Needed for ROOT.
2020-04-27 11:01:48 -05:00
vvolkl
77812845b8 update podio version formatting (#16321)
* update podio version formatting

* [podio] formatting fixes
2020-04-27 11:01:09 -05:00
vvolkl
eda886f627 [dd4hep] url and other fixes (#16320) 2020-04-27 11:00:10 -05:00
Toyohisa Kameyama
d59f7398a3 MODYLAS: New package (#16317) 2020-04-27 10:57:14 -05:00
darmac
5938499be7 Add new package: stinger (#16316) 2020-04-27 10:55:07 -05:00
darmac
81b5475f8e Add new package: smartdenovo (#16310) 2020-04-27 09:55:35 -05:00
Massimiliano Culpo
fe46919e19 tulip: added new package at v5.4.0 (#16319)
closes #3479

Co-authored-by: Kate Isaacs <kisaacs@cs.arizona.edu>

Co-authored-by: Kate Isaacs <kisaacs@cs.arizona.edu>
2020-04-27 09:54:49 -05:00
George Hartzell
3f54e73025 singularity: better info re post-install step (#16311)
The singularity info should actually suggest where you might find the info about the post-install steps.

Co-authored-by: george.hartzell <george.hartzell@sana.com>
2020-04-27 13:41:04 +02:00
Toyohisa Kameyama
0477f829a2 xabclib: added package at v1.03 (#16271) 2020-04-27 13:33:28 +02:00
asmaahassan90
35717b556b spglib: added libs property (#16318) 2020-04-27 13:26:10 +02:00
Christoph Junghans
3ea21fef4b votca-csg: Block gromacs@2020 and newer (#16315) 2020-04-27 04:57:26 -06:00
Massimiliano Culpo
6b648c6e89 Improve the coverage of spack.relocate (#15654)
This PR introduces trivial refactoring in:
- `get_existing_elf_rpaths`
- `get_relative_elf_rpaths`
- `get_normalized_elf_rpaths`
- `set_placeholder`

mainly to be more consistent with practices used in other 
parts of the code and to simplify functions locally. It also 
adds or reworks unit tests for these functions and extends 
their docstrings.

Co-authored-by: Patrick Gartung <gartung@fnal.gov>
Co-authored-by: Peter J. Scheibel <scheibel1@llnl.gov>
2020-04-27 12:17:32 +02:00
Toyohisa Kameyama
ca4de491ba ppOpen-APPL/AMR-FDM: New package (#16199)
* ppOpen-APPL/AMR-FDM: New package

* separate build and install.

* Fix description.
2020-04-26 22:09:06 -05:00
Axel Huebl
4f3cc19ec7 qt: fix macOS w/ AppleClang (mesa libs) (#16302)
Building the `py-jupyter` stack on macOS with AppleClang breaks on
the `py-qtconsole` -> `py-qtconsole` -> `qt +opengl` package build
environment setup with:
```
 ==> Error: AttributeError: Query of package 'mesa' for 'libs' failed
 ...
 ==> Error: Failed to install qt due to ChildError: AttributeError: Query of package 'mesa' for 'libs' failed
```

This tries to add more library targets build by `mesa` to avoid this.
2020-04-26 17:07:13 -07:00
Axel Huebl
199ce66a3c libpciaccess: mirror (#16312)
Support mirrors for libpciaccess downloads.
2020-04-26 17:06:37 -07:00
Axel Huebl
af7e323f67 libbsd: mirror (#16313)
Add a mirror for `libbsd` to improve fetch stability.
libbsd.freedesktop.org sometimes failes in my nightly CI/CD scripts.
2020-04-26 17:06:27 -07:00
Axel Huebl
e8efeda14a py-profilehooks (new package) (#16305)
Adds the py-profilehooks package.
2020-04-26 17:08:21 -05:00
Axel Huebl
f202023876 py-blosc (new package) (#16307)
Add the py-blosc python package.
2020-04-26 11:46:40 -05:00
Axel Huebl
31e8d646af py-h5py: master (new version) (#16306)
Add the `master` branch of h5py as a version.
2020-04-26 11:45:04 -05:00
Adam J. Stewart
63a0647282 PyTorch: disable XNNPACK build (#16304) 2020-04-26 11:29:52 -05:00
Axel Huebl
75042c381c LLVM lldb 10.0: Python Link Dependency (#16299)
* LLVM: Python Dependency

Effort to expose the linked python library when building LLVM.
This might fix the forward propagation of libintl that comes
with the static python library build on darwin.

* LLDB Py: Remove Ignored Old Flags

Changed in LLVM 10.0+
2020-04-25 21:36:08 -07:00
Adam J. Stewart
4cd537f6c7 py-pyyaml: add new version and variant (#16301) 2020-04-25 15:43:14 -05:00
Adam J. Stewart
b5be99cdb7 libyaml: add new version (#16300) 2020-04-25 15:42:40 -05:00
Sajid Ali
9b0e4cd20b ucx : add version, modify variants (#16252)
* fixes

* remove extra newline
2020-04-25 12:39:33 -05:00
Adam J. Stewart
9bd0b0fbe1 py-spacy: add new package (#16293) 2020-04-25 10:35:57 -05:00
Jonathon Anderson
b796d2736c Version bump: jdk 14 (#15821) 2020-04-25 10:35:33 -05:00
Adam J. Stewart
5fce2ac96b py-thinc: add new package (#16295) 2020-04-24 23:50:56 -05:00
Joseph Ciurej
914f380bb6 Improved the accuracy of the dependencies for the 'visit' package. (#16297)
Added a fix for the 'visit' package when building variant '@3%gcc'.
2020-04-24 21:25:48 -05:00
Adam J. Stewart
b5bf816577 py-preshed: add new package (#16292) 2020-04-24 21:24:33 -05:00
Adam J. Stewart
d0ccab7d17 py-srsly: add new package (#16294) 2020-04-24 20:01:22 -05:00
Adam J. Stewart
dbd0fe8190 py-wasabi: add new package (#16296) 2020-04-24 20:01:09 -05:00
Adam J. Stewart
7a2f47d181 py-plac: add new package (#16291) 2020-04-24 20:00:55 -05:00
Adam J. Stewart
510d8821e5 py-nltk: add new package (#16290) 2020-04-24 20:00:42 -05:00
Adam J. Stewart
0ee023d29f py-murmurhash: add new package (#16289) 2020-04-24 20:00:28 -05:00
Adam J. Stewart
ab87617d55 py-cymem: add new package (#16288) 2020-04-24 20:00:15 -05:00
Adam J. Stewart
3153610bb8 py-catalogue: add new package (#16287) 2020-04-24 20:00:02 -05:00
Adam J. Stewart
441c16bafb py-blis: add new package (#16286) 2020-04-24 19:59:48 -05:00
Adam J. Stewart
89914f521e py-wheel: add new version (#16285) 2020-04-24 19:59:30 -05:00
Adam J. Stewart
0606091775 py-tqdm: add new version (#16284) 2020-04-24 19:59:15 -05:00
Axel Huebl
5828a8f7e6 spack env: activate note (#16279)
print a note on how to activate a newly created environment
2020-04-24 13:24:52 -07:00
Toyohisa Kameyama
051d0d935a Chainer: New Package. (#16251)
* Chainer: New Package.

* 1. Add maintainers.
2. fix dependency.
3. Add typing-extention@3.6.6 and fix version dependency.

* afixed dependency.

* remove python dependency for version 6.
2020-04-24 11:56:10 -05:00
Jeffrey Salmond
95a03f6759 Add vscode files to gitignore (#16270) 2020-04-24 09:31:03 +02:00
Todd Gamblin
c6ada206af tests: each mock package now has its own class (#16157)
Packages in Spack are classes, and we need to be able to execute class
methods on mock packages.  The previous design used instances of a single
MockPackage class; this version gives each package its own class that can
spider depenencies.  This allows us to implement class methods like
`possible_dependencies()` on mock packages.

This design change moves mock package creation into the
`MockPackageMultiRepo`, and mock packages now *must* be created from a
repo.  This is required for us to mock `possible_dependencies()`, which
needs to be able to get dependency packages from the package repo.

Changes include:

* `MockPackage` is now `MockPackageBase`
* `MockPackageBase` instances must now be created with
  `MockPackageMultiRepo.add_package()`
* add `possible_dependencies()` method to `MockPackageBase`
* refactor tests to use new code structure
* move package mocking infrastructure into `spack.util.mock_package`,
  as it's becoming a more sophisticated class and it gets lots in `conftest.py`
2020-04-23 18:21:49 -07:00
Adam J. Stewart
433a0b243f oneDNN: add new version (#16267) 2020-04-23 19:50:22 -05:00
Jeffrey Salmond
9b3a0355bb add fontconfig as vim dependency (#16268) 2020-04-23 19:50:05 -05:00
Christoph Junghans
a844467c25 eospac: prefer 6.4.0 (#16266) 2020-04-23 15:53:51 -06:00
Todd Gamblin
0c0f11caf6 spack info: allow variants section to be as wide as the terminal (#16254)
The variants table in `spack info` is cramped, as the *widest* it can be
is 80 columns.  And that's actually only sort of true -- the padding
calculation is off, so it still wraps on terminals of size 80 because it
comes out *slightly* wider.

This change looks at the terminal size and calculates the width of the
description column based on it.  On larger terminals, the output looks
much nicer, and on small terminals, the output no longer wraps.

Here's an example  for `spack info qmcpack` with 110 columns.

Before:
    Name [Default]          Allowed values          Description
    ====================    ====================    ==============================

    afqmc [off]             on, off                 Install with AFQMC support.
                                                    NOTE that if used in
                                                    combination with CUDA, only
                                                    AFQMC will have CUDA.
    build_type [Release]    Debug, Release,         The build type to build
                            RelWithDebInfo
    complex [off]           on, off                 Build the complex (general
                                                    twist/k-point) version
    cuda [off]              on, off                 Build with CUDA

After:
    Name [Default]          Allowed values          Description
    ====================    ====================    ========================================================

    afqmc [off]             on, off                 Install with AFQMC support. NOTE that if used in
                                                    combination with CUDA, only AFQMC will have CUDA.
    build_type [Release]    Debug, Release,         The build type to build
                            RelWithDebInfo
    complex [off]           on, off                 Build the complex (general twist/k-point) version
    cuda [off]              on, off                 Build with CUDA
2020-04-23 12:14:40 -07:00
Mark W. Krentel
686f0e21de libunwind: add 1.4.0 release and 1.5 stable branch (#16261) 2020-04-23 12:34:19 -05:00
Andrew Gaspar
2a3942fa4c Rust 1.43.0 (#16260) 2020-04-23 12:33:02 -05:00
Andrew W Elble
d5d232e207 tensorflow: compile against spack-provided protobuf (#16258)
This allows horovod to be built with frameworks=pytorch,tensorflow.

I tracked down the crash I observed in #15719, where loading torch
before tensorflow would cause a crash in:

google::protobuf::internal::(anonymous
namespace)::InitSCC_DFS(google::protobuf::internal::SCCInfoBase*)

The solution is to make tensorflow compile against the protobuf
version Spack provides, instead of allowing it to use it's own.
It's likely we'll want to go after some of the others
that are listed in third_party/systemlibs/syslibs_configure.bzl
in the future.
2020-04-23 11:14:09 -05:00
jthies
ca67df6e3d phist: don't apply patch to 1.9.0 (#16257) 2020-04-23 11:11:54 -05:00
darmac
6cad7a585d Go: support for aarch64 (#16083) 2020-04-23 11:01:20 -05:00
darmac
df2cfd26cd ambari: added package at v2.7.5 (#16149) 2020-04-23 12:43:12 +02:00
Massimiliano Culpo
19c5843871 Travis: change the spec we concretize on MacOS (#16256)
Since CMake can't build with GCC on MacOS, choose a
spec that doesn't have CMake in the DAG.
2020-04-23 11:40:23 +02:00
Michael Kuhn
b1133cb5db py-setuptools: added v44.1.0 and v46.1.3 (#16171) 2020-04-23 10:09:09 +02:00
Michael Kuhn
f07cdd7f7a openssl: added 1.1.1g (#16247) 2020-04-23 10:01:23 +02:00
darmac
807a08a69b enca: added package at v1.19 (#16255) 2020-04-23 09:59:32 +02:00
Joseph Ciurej
044985af80 cryptopp : added 'shared' variant and sse detection (#16213) 2020-04-23 09:38:10 +02:00
darmac
7c0aee4127 cpp-httplib: added package at v0.5.9 (#16228) 2020-04-23 09:35:14 +02:00
darmac
04457fe031 Py coilmq (#16203)
* Add new package: py-coilmq

* remove FIXME comment

* fix depends_on
2020-04-22 23:13:44 -05:00
darmac
fb1498abac Add new package: dnsmasq (#16253) 2020-04-22 23:13:04 -05:00
darmac
15882d7868 Add new package: py-django (#16234) 2020-04-22 23:09:06 -05:00
darmac
7299de74c6 Add new package py-sqlparse (#16231)
* Update var/spack/repos/builtin/packages/py-sqlparse/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Add new package py-sqlparse

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-22 20:40:25 -05:00
Massimiliano Culpo
6f9373dd66 spack info: replace "True, False" with "on, off" (#16235)
fixes #16184
2020-04-22 17:48:52 -07:00
Axel Huebl
d0bff870a6 macOS+GCC: Conflicts CMake, libuv, CPython (#16249)
The major building blocks in many software stacks:
- CPython
- CMake (libuv)

do not build on macOS with GCC. The main problem is that some macOS
framework includes pull in objective-c code and that code does get
misinterpreted as (invalid) C by GCC by default.
2020-04-22 19:41:33 -05:00
Vicente Adolfo Bolea Sanchez
4166c97a82 vtk-m: update Vtk-m pkg to its latest version v1.5.1 (#16192)
Last month VTK-m releases its lastest version named `v1.5.1`. This new
release only contains bugfixes related to compiler error / warnings.

- Depends on CMake >= 3.12
- Set VTKm_NO_ASSERT=ON by default
- add maintainers

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-04-22 18:54:55 -05:00
Mark W. Krentel
ec54f86c0b gotcha: add version 1.0.3 (#16239) 2020-04-22 16:48:41 -05:00
Kelly (KT) Thompson
650745746a Provide new version 0.6.10. (#16240) 2020-04-22 16:34:58 -05:00
Greg Becker
ec23e4ffe5 update compiler config with bootstrapped compiler when already installed (#16221)
Update compiler config with bootstrapped compiler when it was already installed and added config defaults to code so mutable_config test fixture works.
2020-04-22 14:26:29 -07:00
Adam J. Stewart
46e90692e8 PyTorch: add conflict for Apple Clang 11.0.3 (#16238)
* PyTorch: add conflict for Apple Clang 11.0.3

* Flake8 fix
2020-04-22 15:47:14 -05:00
Tim Haines
0d2ebbf996 hwloc: Add netloc variant (#16001)
hwloc depends on MPI when netloc is enabled. Note that OpenMPI depends on
netloc, so hwloc cannot use OpenMPI as the MPI provider when netloc is
enabled (this would result in a cyclic dependency).
2020-04-22 13:34:32 -07:00
George Hartzell
63ff121980 spack environments documentation: -E -> -e (#16242)
To specify an environment for a comment, the user can specify
"spack -e <env>". The documentation incorrectly specified "-E" (which
is actually used to ignore any implicit use of environments).
2020-04-22 13:04:17 -07:00
darmac
b874b3e1fe Add new package: isc-dhcp (#16230) 2020-04-22 11:23:40 -05:00
darmac
169b9bebd8 Add new package: kea (#16232) 2020-04-22 11:17:30 -05:00
darmac
769f350802 Add new package: py-asgiref (#16233) 2020-04-22 11:16:49 -05:00
Rao Garimella
d77576d85d update Jali version and dependent MSTK version (#16236)
Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2020-04-22 11:12:28 -05:00
Cameron Smith
e7906d6507 kokkos: generate_makefile calls cmake (#16237) 2020-04-22 11:11:55 -05:00
Sajid Ali
5f285fdd05 fix code-signing on macOS (#15592)
* rebase

* move if statement location

* remove whitespace

* spec to self.spec

* switch statements as per review

* fix erronous indent

* add missing cmake arg

* minor placement fix for cmake args

* edit comment

* fix erronous return

* clarify conflicts with messages

* remove duplicate comment

* simplify logic

* macos wasn't a variant, fix that

* remove extra blank line

* address reviewer comments on spaces
2020-04-22 09:49:07 -05:00
darmac
2a5592f419 Add new package: py-pid (#16202)
* Add new package: py-pid

* fix depends_on
2020-04-22 09:47:45 -05:00
asmaahassan90
d65b809f9b Add new versions to Avizo (#16204)
* Add new versions

add versions 2019.3 and 2019.4 and adjust the install stage accordingly

* one small fix

* fix lint

* re-ordering the versions
2020-04-22 09:44:03 -05:00
Joseph Ciurej
0419f2c6df Updated 'qt' to support '@5.12.7', '+debug', and '+opengl' with older OpenGL versions. (#16220) 2020-04-22 09:29:40 -05:00
Kelly (KT) Thompson
9c2819bdb3 libsm: added libuuid as dependency (#16226)
While building _visit_, I ran into an undefined symbol at link time. I tracked
the missing dependency to _libsm_ needing to know about _libuuid_ at link time.
2020-04-22 14:53:01 +02:00
darmac
be0aed9d8a libcgroup: added package at v0.41 (#16229) 2020-04-22 13:19:01 +02:00
Jeffrey Salmond
b065150354 metis: fix build when version > 5.0 (#16186) 2020-04-22 12:18:38 +02:00
Elizabeth Fischer
0b753b9a77 py-pyproj: added v2.6.0 (#16176)
Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-04-22 11:50:36 +02:00
Servesh
3e9af610e7 source-highlight: fix detection of boost (#16102)
Co-Authored-By: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-04-22 11:43:02 +02:00
darmac
ab35780fae buddy: added package at v2.4 (#16166) 2020-04-22 10:55:07 +02:00
darmac
4c9c6b2a68 linux-pam: added package at v1.3.1 (#16137)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-22 10:53:28 +02:00
darmac
1e243023d8 cmaq: added new package at v5.3.1 (#16224)
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-22 08:56:13 +02:00
jthies
ac228050ab Phist int64 variant (#16209)
* phist: add int64 variant and resulting conflicts and dependencies

* phist: use Trilinos TPLs as soon as they are in the spec, not just if +trilinos isexplicitly set
and remove a redundant depends-statement

* phist: use int as gotype for Trilinos dependency if ~int64

* phist: new version 1.9.0

* phist: remove trailing whitespace

* phist: updated checksum (version tag was moved)
2020-04-21 23:10:11 -05:00
darmac
1289d3589a Add new package: cmockery (#16225) 2020-04-21 23:01:49 -05:00
Axel Huebl
2f7e940872 Fix: Flex Reconfigure (#16194)
* Fix: Flex Reconfigure

Learn the `flex` package how to reconfigure itself when needed.
Fix #11551

Co-authored-by: Andrew W Elble <aweits@rit.edu>

* Autoreconf: only when actually desired

Co-authored-by: Andrew W Elble <aweits@rit.edu>
2020-04-21 22:36:02 -05:00
Andrew Gaspar
667fee0703 catch2 2.12.1 (#16211) 2020-04-21 16:52:50 -07:00
Axel Huebl
ca4c0b97ec Doc: Conflict Msg Pkg Guide (#16201)
Document the nice `msg=` argument in conflicts. Super useful
for less generic conflict guidance.
2020-04-21 16:22:30 -05:00
Joseph Ciurej
272c47207d Updated the 'opengl' package to include all older versions of the library. (#16219) 2020-04-21 16:20:45 -05:00
Adam J. Stewart
54ca52943d PyTorch: add 1.5.0 (#16212) 2020-04-21 16:20:11 -05:00
Michael Kuhn
f3aceddbfb py-tap-py: Add 3.0 and 2.6.2 (#16169) 2020-04-21 16:09:14 -05:00
Gregor Daiß
745804582b Add new package: sgpp (#15961)
* sgpp: Added recipe

* sgpp: Removed maintainer and updated patch

* sgpp: Added more conflicts

* sgpp: Added conflicts for older combigrid versions

* sgpp: Added one more maintainer

* sgpp: Add version 3.3.0 and sane defaults

* sgpp: Better description and c++11 conflicts

* sgpp: Updated maintainers

* sgpp: Fix flake8 errors

* sgpp: Fix dependencies and minor issues

- Added py-setuptools dependency
- Fixed zlib link dependency
- Added git url
- Using spec.satisfies where appropriate

* sgpp: Added testing to package

* sgpp: Remove simd variant and use spec instead

* sgpp: Remove java variant

* sgpp: Small bugfixes

* sgpp: Add datadriven patch and patch explanations
2020-04-21 16:03:46 -05:00
Andrew W Elble
f1050c4be2 compiler wrappers: don't override -isystem with -I (#16077)
If the Spack compiler wrapper encounters any "-isystem" option, then
when adding include directories for Spack dependencies, Spack will
use "-isystem" instead of "-I". This prevents Spack-generated "-I"
options from overriding the "-isystem" options generated by the build
system. To ensure that build-system "-isystem" directories are
searched first, Spack places all of its inserted "-isystem"
directories after.

The new ordering of -isystem includes is:

* -isystem from build system (not system directories)
* -isystem from Spack
* -isystem from build system (for directories like /usr/include)

The prior order of "-I" arguments is preserved (although as of this
commit Spack no longer generates -I if -isystem is detected):

* -I from build system (not system directories)
* -I from Spack (only if there are no "-isystem" options)
* -I from build system (for directories like /usr/include)
2020-04-21 13:56:50 -07:00
Glenn Johnson
74c159b883 New package: sumo (#16096)
* New package: sumo

This PR adds the sumo package, as well as the fox package as a
dependency. It also updates and adds some fixes for openscenegraph.

For fox, the patch is for the development version. That patch should not
be necessary in future versions as it has been applied upstream. The
stable version is 1.6.57 and is marked as preferred. This is the version
needed for sumo.

Added dependencies for openscenegraph as well as set constraints on qt
versions.

* Update var/spack/repos/builtin/packages/sumo/package.py

I had intended to set this version constraint but somehow did not.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Add dependency types to sumo recipe

- googletest: 'test'
- swig: 'build'
- java: 'build', 'run'

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-21 13:27:34 -05:00
Adam J. Stewart
4f5bd044d6 py-torchvision: add new version (#16208) 2020-04-21 11:43:30 -05:00
Michael Kuhn
752342430b gettext: Fix typo (#16206) 2020-04-21 09:33:51 -07:00
Michael Kuhn
eb7c0e5d7d gettext: Fix typo (#16206) 2020-04-21 08:49:59 -07:00
Michael Kuhn
b9655636ce gettext: Fix typo (#16206) 2020-04-21 08:48:48 -07:00
Andrew Gaspar
a41b9365a9 catch2: added v2.12 (#16207) 2020-04-21 17:15:59 +02:00
Michael Kuhn
cd5d477db9 qgis: Fix pkgconfig dependency (#16188) 2020-04-21 08:02:45 -05:00
Axel Huebl
6c8e15ee18 gettext: add missing iconv dependency (#16193)
`gettext` will pick up a random `iconv` dependency if not
specified, which crashes python and its own builds on macOS.
2020-04-20 21:47:04 -07:00
Christoph Junghans
ca86e56572 votca-*: remove rc versions (#16197) 2020-04-20 20:30:43 -06:00
darmac
e4805bb75f Add new package: sse2neon (#16168) 2020-04-20 16:59:51 -05:00
Adam J. Stewart
45fee6edbd Python: add latest Python 2 releases (#16191) 2020-04-20 16:57:08 -05:00
G-Ragghianti
5e69125e51 Implemented +shared and +static_tools variants (#16105) 2020-04-20 16:54:44 -05:00
Toyohisa Kameyama
c6ef9c2b87 Add ppOpen-APPL/FDM and ppOpen-APPL/FDM-AT. (#16116) 2020-04-20 16:36:36 -05:00
Toyohisa Kameyama
8e7f55e6d6 ppOpen-APPL/DEM-util: New package (#16120) 2020-04-20 16:29:06 -05:00
darmac
c2ca832883 Add new package: audacious (#16121) 2020-04-20 16:24:33 -05:00
darmac
e8a7e4f5ec Add new package: bgpdump (#16122) 2020-04-20 16:23:47 -05:00
darmac
cf12541281 Add new package: byacc (#16123)
* Add new package: byacc

* refine byacc info
2020-04-20 16:22:37 -05:00
Amjad Kotobi
a70e76d043 Package Bonniepp adding sbin to PATH (#16124) 2020-04-20 16:19:55 -05:00
Michael Kuhn
8635c0d804 rocksdb: Add 6.7.3 (#16189)
This also adds a shared variant, so we can build both the static and
shared libraries at the same time. It also adds a pkg-config file.
2020-04-20 16:16:51 -05:00
Michael Kuhn
e3966d2791 pixman: Add 0.40.0 (#16190) 2020-04-20 16:16:39 -05:00
Amjad Kotobi
78f1940646 update package py-graphviz version (#16131) 2020-04-20 16:11:07 -05:00
Hadrien G
ac17d0783a Add Acts v0.22 (#16141) 2020-04-20 16:08:44 -05:00
darmac
eb0d82a7e4 Add new package: codec2 (#16142) 2020-04-20 16:07:44 -05:00
darmac
126491288a Add new package: libsamplerate (#16143) 2020-04-20 16:07:18 -05:00
darmac
cab1d06d6a Add new package: collectd (#16144) 2020-04-20 16:06:31 -05:00
darmac
ed13319a4b Add new Package: accumulo (#16148) 2020-04-20 15:59:16 -05:00
Justin S
73e0dd9f61 prism: new package at 4.5 (#16187) 2020-04-20 15:39:53 -05:00
Michael Kuhn
1f49fb8ceb python: Add 3.7.7 (#16170) 2020-04-20 15:32:58 -05:00
Elizabeth Fischer
742a4b7e2a proj (#16175)
Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-04-20 15:21:36 -05:00
Elizabeth Fischer
3a9ce3ac4a glib (#16179)
Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-04-20 15:15:38 -05:00
Adam J. Stewart
0db2f00635 PyTorch: remove CUDA conflicts (#16136) 2020-04-20 14:57:56 -05:00
Todd Gamblin
de13ea2284 autotools: remove FORCE_UNSAFE_CONFIGURE from docs, commands, code (#16145)
Since #16132, we've consolidated the setting of FORCE_UNSAFE_CONFIGURE to
`autotools.py`, so we don't need to use it in packages like `coreutils`,
in our commands, or in our container recipes.

- [x] Remove FORCE_UNSAFE_CONFIGURE from packages
- [x] Remove FORCE_UNSAFE_CONFIGURE from container recipes
- [x] Remove FORCE_UNSAFE_CONFIGURE from `spack ci` command
2020-04-20 08:32:03 -07:00
darmac
e9e2d1d3ca Httpd: added package at v2.4.43 (#16152) 2020-04-20 09:32:39 +02:00
Glenn Johnson
dff5a4ba57 ngmerge: added package at v0.3 (#16160) 2020-04-20 09:26:22 +02:00
George Hartzell
c62f18304d Typo: vew -> view (#16155) 2020-04-19 20:13:44 -05:00
Adam J. Stewart
9a522505e4 Cython: add new version (#16159) 2020-04-19 19:30:21 -05:00
Adam J. Stewart
f9733058a4 NumPy: add new version (#16158) 2020-04-19 17:28:18 -05:00
Toyohisa Kameyama
f1d48a2a8e FrontFlow/Red: New Package. (#15965)
* FrontFlow/Red: New Package.

* fix comment.
use libs.ld_flags.

* typo fix.

* typo fix.
2020-04-18 22:58:43 -05:00
Veselin Dobrev
d9992a778f CEED v3.0 release (#15500)
* [mfem] A few updates: add 'strumpack' variant; add 'zlib'
       variant (same as 'gzstream'); fix optmization flag
       for v4.0.

* [mfem] flake8 fix

* [mfem] Add version 4.1

* [mfem] Add/tweak some 'conflicts' directives.

* [gslib] Add new release versions + 'develop' version.

* [petsc] Restrict hdf5 version to <= 1.10.99 since 1.12.0 fails

* [metis] Use the original metis url for v4.0.3.

* [conduit] Remove restrictions to the used hdf5 variant to allow
          building with other packages that use hdf5, e.g. petsc.

* [mfem] Few updates:
* Replace the 'gzstream' variant with 'zlib' variant.
* Do not add system library paths with -L flags.
* Allow '+pumi+shared' variant.
* Update the 'test_builds.sh' script.

* [occa] Add version 1.0.9.

* [mfem] Some OCCA and RAJA updates.

* [gslib] Fix the build for new versions of the library.

* [mfem] Add 'gslib' variant for GSLIB.

* [mfem] Add 'cuda' variant.

* [mfem] Add 'libceed' variant + a few more tweaks.

* [mfem] Add 'umpire' variant.

* [ceed] Add a draft for v3.0. Not tested. Just made sure that
       concretization works for 'ceed' and 'ceed+cuda'.

* [nek] Fix Nek5000/NekCEM

* [nek] Add Nek5000-v19 & polishing Nek packages

* [flake8] Fix flake8 failure

* petsc: use of HDF5 does not care about +hl+fortran

* [petsc] Temporarily allow any hypre version with petsc@develop.

[ceed] Remove the requirement for hypre@develop.

* [libceed] Do not explicitly set NVCCFLAGS for v0.5 and later.

* [laghos] Add version 3.0, pointing to dev branch for now.
         Do not set CXX at the make command line.
         Simplify the dependecy directives a little.

[ceed] Use laghos v3.0 for ceed v3.0.0.

* [laghos] Keep the injection of CXX in the makefile for laghos
         versions <= 2.0.

* [nekcem] Recovert hash-versions used by older versions of the
         'ceed' package.

* [occa] Disable hip autodetection because it fails on some machines.

* [laghos] Update v3.0 with the actual release source.

* [suite-sparse] Explicitly add the c11 flag to CFLAGS.

* Update package.py (#15749)

* [magma] Add forgotten specification of the 'cuda_arch' variant.

* [ceed] Use magma v2.5.3 for ceed v3.0.

* libceed-0.6

* mfem: depend on libceed 0.6:, not 0.6.0:

* [libceed] Add 'magma' variant -- enable MAGMA backend.

* [ceed] In v3.0, use '+magma' variant of libceed when cuda is enabled.

* Initial package for Remhos (needs to be updated with actual sha256

* Adding Remhos to CEED-3.0, for now @develop

* petsc: add 3.13.0 (using petsc-lite) and 3.12.5

* ceed: update to petsc@3.13.0:3.13.99

* Temporary fix

* [nekcem] Add hash-version for ceed v3.0.

* [nek5000] Simplify source urls.

* [nektools] Use the same sources and versions as in nek5000.

* [ceed] Update Nek-related package versions.

* libceed: add v0.6 portabilty fix

* libceed: better v0.6 portabilty fix

* Adding Remhos 1.0 release in CEED-3.0

* Updating hash for Remhos-1.0

* [petsc] Add cuda variant.

* [libceed] Flake8 fix.

* [petsc] Add cuda variant.

* [ceed] Fix the OCCA version to 1.0.9. Enable petsc+cuda when
       compiling ceed@3.0.0+cuda.

* nek5000: fix python 2.7+ syntax

* [laghos] Fix testing.

* [remhos] Fix testing.

* [remhos] For testing use the 'tests' target instead of 'test'.

* Add/update the maintainers for ceed, libceed, mfem, laghos, and remhos.

* [ceed] Remove unnecessary dependencies.

* libceed: activate AVX when supported

Co-authored-by: Thilina Rathnayake <thilinarmtb@gmail.com>
Co-authored-by: Jed Brown <jed@jedbrown.org>
Co-authored-by: Stan Tomov <tomov@eecs.utk.edu>
Co-authored-by: Tzanio <tzanio@llnl.gov>
2020-04-18 16:57:57 -07:00
Diego Magdaleno
d640bf899a autotools: set FORCE_UNSAFE_CONFIGURE to 1 in autotools.py (#16132)
This commit sets the `FORCE_UNSAFE_CONFIGURE` environment variable to 1 in autotools builds.

We see a lot of builds popping up and complaining about `FORCE_UNSAFE_CONFIGURE`.  This behavior is not actually part of `autoconf` per se.  It comes from this patch to `mknod.m4`, which is used by a lot of autoconf builds:

    * https://lists.gnu.org/archive/html/bug-gnulib/2010-07/msg00282.html

Which originated from this problem that someone had on AIX:

    * https://lists.gnu.org/archive/html/bug-gnulib/2010-07/msg00279.html

The gist of the problem seems to be that they want to check whether `mknod` can do something as root, but instead of checking whether they're running as root and using `su` or something to test this, they just made it harder to run `configure` as root.

This seems very ad hoc and this is one of many checks that are run as root in `configure`.  Many of them run before this check, so it's not clear that the `FORCE_UNSAFE_CONFIGURE` thing is even preventing bad things from happening.

So:
1. This only happens in `autotools` builds, so we should go ahead and put it into `autotools.py` instead of in the global build environment, and

2. The variable does too little and provides a false sense of security in the first place, so we'll just disable it and avoid the nuisance.  If we really feel strongly about this we can put some warnings in Spack about running as root, but at the top level, not in the middle of an already running script like `configure`.
2020-04-18 14:25:19 -07:00
Christoph Junghans
5d008dc37b votca-*: add v1.6 (#16139) 2020-04-18 08:16:48 -07:00
Todd Gamblin
eaccc58156 remove files accidentally committed with 0.14.0 (#16138) 2020-04-17 22:28:33 -07:00
Daryl W. Grunau
6cb11d489b DDD bugfix (#16095)
* DDD: apply extended-prompt patch

* DDD: apply extended-prompt patch

* use the upstream patch

Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2020-04-17 21:34:49 -05:00
Levi Baber
73d78ae176 py-cutadapt: add version 2.9 (#16135) 2020-04-17 18:35:33 -07:00
Adam J. Stewart
def1d5e637 MPFR: fix patch checksum, add dependencies (#15783)
* MPFR: fix patch checksum, add dependencies

* Update checksum again
2020-04-17 16:30:45 -05:00
Adam J. Stewart
ea8793f8f5 AutotoolsPackage: add aclocal for all build deps (#15784) 2020-04-17 16:30:21 -05:00
Adam J. Stewart
28995b25bc OpenMPI: add +cxx variant (#15477)
* OpenMPI: add +cxx variant

* C++ support will be removed in 5.0.X release
2020-04-17 16:29:50 -05:00
Adam J. Stewart
284e450c91 Language-specific PIC flags (#15474)
* Language-specific PIC flags

* Add tests for every compiler flag

* Fix bad rebase

* pic_flag -> cxx_pic_flag
2020-04-17 16:28:51 -05:00
Jordan Ogas
ad8977467b charliecloud: fix url (#16133) 2020-04-17 13:51:18 -07:00
Nichols A. Romero
ebd86bd1eb LLVM libomptarget fixes (#16104)
* Throw an error at spack install invocation instead of most of the way through the build process when cuda_arch is unspecified.

* Clean-up of CMake booleans. No actual change.

* Use CMake variables for hwloc and libelf installation directories and avoid injecting extra flags into CMAKE_CXX_FLAGS

* Conflict should only exist for +cuda variant.
2020-04-17 15:18:27 -05:00
Todd Gamblin
ac54b7d5c1 coreutils: add variant for g prefix
- [x] Add a `gprefix` variant to coreutils, so that the 'g' prefix on
  binaries is optional.
- [x] Make un-prefixed binaries the default again
2020-04-17 11:21:50 -07:00
Adam J. Stewart
85e089e3fa NCCL: add new version (#16130) 2020-04-17 13:14:36 -05:00
Adam J. Stewart
435470a93b oneDNN: add new version (#16129) 2020-04-17 13:14:22 -05:00
Andrew W Elble
985af94c45 singularity: new variants to enable non-suid and non-network builds (#16088)
Defaults are left as they are currently
2020-04-17 17:38:22 +02:00
ilbiondo
854a82bbec New package: Biopandas python package (#16066)
* Biopandas python package

* Update var/spack/repos/builtin/packages/py-biopandas/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-biopandas/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* remove scipy dependency

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-17 09:50:33 -05:00
Stan Tomov
950180ab03 magma: added v2.5.3 (#16097)
Also updated maintainer list
2020-04-17 11:33:24 +02:00
Michael Kuhn
791e354b2a py-gcovr: added new package at v4.2 (#16100) 2020-04-17 11:32:19 +02:00
darmac
4c81efcf0b open-iscsi: added new package at v2.1.1 (#16113) 2020-04-17 11:11:19 +02:00
darmac
330454acb0 aespipe: added new package at v2.4f (#16114) 2020-04-17 11:05:48 +02:00
Kai Germaschewski
a8eef2f812 sz: run "make clean" after configure (#15759)
At least the v2.0.2.0 tar ball contains compiled object files etc, which
cause the build to fail on other architectures (ppc64le in particular), so
this patch adds a `make clean` after configuring first.
2020-04-17 10:59:42 +02:00
darmac
dd3378bda4 asdcplib: added new package at v2.10.35 (#16118) 2020-04-17 10:42:14 +02:00
Harmen Stoppels
81a154de4a libtree: added v1.1.2 (#16119) 2020-04-17 10:30:05 +02:00
Axel Huebl
abbc47823d SourceForge: Mirror Mixin (#16112)
* SourceForge: Mirror Mixin

Add a mixing class for direct `CNAME`s to sourceforge mirrors.
Since the main gateway servers are often down, this could reduce
timeouts and fetch errors for sourceforge.net hosted software.

* SourceForge: unspectacular mirror replacement

add mirrors to all sourceforge packages with trivial
download logic.

tested fetch of latest version of each of these packages
with various mirrors before committing.

* SourceForge: xz

the author homepage is chronocially overrun and this is the offical
upload with many mirrors.
2020-04-16 21:35:30 -07:00
Todd Gamblin
e476a9061b bugfix: fix emacs support on macOS (#16110)
- fix missing self.spec
2020-04-16 17:40:37 -07:00
Axel Huebl
4d25632e59 macOS: Fix emacs Linking (#16106)
* macOS: Fix emacs Linking

Fix linking issue of emacs on macOS (clang and gcc).

Applies the same work-around as conda-forge:
  b051f6c928/recipe/build.sh

Homebrew avoids this by linking against the system ncurses lib:
  https://github.com/Homebrew/homebrew-core/blob/master/Formula/emacs.rb

* ncurses: fix outdated variant comment

this comment was build on the assumption that gnutls
triggers a termlib dependency in emacs. that's not the
case, ncurses itself depends on termlib when build with
this feature.
2020-04-16 17:30:24 -07:00
Axel Huebl
ddb6e99a28 libpng: github download
libpng still has its sourceforge page but is actively been
developed on github.

since the sourceforge urls are too often down (as seen in
my nightly CI/CD tests), just switch the download source to
GitHub instead.
2020-04-16 17:27:50 -07:00
Todd Gamblin
f6d26db939 macos: use DYLD_FALLBACK_LIBRARY_PATH instead of DYLD_LIBRARY_PATH
`DYLD_LIBRARY_PATH` can frequently break builtin macOS software when
pointed at Spack libraries.  This is because it takes *higher* precedence
than the default library search paths, which are used by system software.

`DYLD_FALLBACK_LIBRARY_PATH`, on the other hand, takes lower precedence.
At first glance, this might seem bad, because the software installed by
Spack in an environment needs to find *its* libraries, and it should not
use the defaults.  However, Spack's isntallations are always `RPATH`'d,
so they do not have this problem.

`DYLD_FALLBACK_LIBRARY_PATH` is thus useful for things built in an
environment that need to use Spack's libraries, that don't set *their*
RPATHs correctly for whatever reason. We now prefer it to
`DYLD_LIBRARY_PATH` in modules and in environments because it helps a
little bit, and it is much less intrusive.
2020-04-16 17:23:33 -07:00
Geoffrey Malcolm Oxberry
1f5ef5c876 darwin: cut DYLD_LIBRARY_PATH from default modules
This commit removes the DYLD_LIBRARY_PATH variable from the default
modules.yaml for darwin. The rationale behind deleting this
environment variable is that paths in this environment variable take
precedence over the default locations of libraries (usually the
install path of the library), which can lead to linking errors in some
circumstances. For example, executables intended to link with Apple's
system BLAS and LAPACK will instead link to a spack-installed
implementation (e.g., OpenBLAS), causing runtime errors.

These errors are resolved by instead relying on paths set in
DYLD_FALLBACK_LIBRARY_PATH, which is lower in precedence than default
locations of libraries.
2020-04-16 16:17:35 -07:00
Axel Huebl
bacbaeb563 ncurses: forward termlib libs (#16101)
These libs need to be forwarded, as in ncurses `pkg-config` file.
2020-04-16 17:27:30 -05:00
Axel Huebl
bb2849002b emacs: libxml2 deps (#16103)
emacs depends on libxml2.
2020-04-16 17:27:09 -05:00
Marc Allen
a704922c29 Bugfix: For spack buildcache check, Handle specs where only the hash is (#15663)
provided (#15662).

Prior to this fix, the checked Spec object would not be populated, and
concretization would fail.

Co-authored-by: Marc Allen <mrcall@amazon.com>
2020-04-16 14:06:13 -07:00
Glenn Johnson
07a4ac67b8 Add ncurses+termlib dependency to mesa (#16038)
Mesa links against libtinfo so needs to depend on ncurses. It also needs
a little help finding the library directory so an LDFLAGS configure
option is added.
2020-04-16 13:25:28 -05:00
Amjad Kotobi
2e4e34e6cc New version xrootd-4.11.3 (#16092) 2020-04-16 12:53:20 -05:00
Carlos Arango Gutierrez
5d7f4db9ad singularity: updated maintainer list (#16093) 2020-04-16 18:43:38 +02:00
athanasio
f912cce7ee openbabel: fix compilation errors (#16090)
- Disable maeparser as it is broken with CMake
- Added missing dependencies
2020-04-16 10:49:43 -05:00
Amjad Kotobi
e1777c5708 New package bonniepp added (#16091) 2020-04-16 10:49:30 -05:00
Harmen Stoppels
7dcc8a5463 Add new version 1.1.1 (#16087) 2020-04-16 09:50:48 -05:00
Antonio Arena
fd3cdffb40 New matlab versions (#16086) 2020-04-16 09:50:14 -05:00
Axel Huebl
125fc2e611 MPark.Variant: GCC 7.3.1 Conflict (#16081)
* MPark.Variant: GCC 7.3.1 Conflict

Due to an ICE in this specific patch-release of GCC, compile
errors in downstream packages should be avoided with a clean
conflict.

* Fix superfluous spaces

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Fix typo

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-16 09:48:19 -05:00
Tiziano Müller
7c5fc6acea dbcsr: expose all options, check openblas feats (#16034)
* dbcsr: expose all options, check openblas feats

* dbcsr: use Ninja to build, ensure serialized tests

* dbcsr: add myself as maintainer
2020-04-16 09:47:31 -05:00
asmaahassan90
7ac6f7fed9 Add Cubist (#16069)
* Add Cubist

* enhance recipe

* Not using OS module anymore

* remove white space

* Fix build shell

* make Flake8 happy

* use bash shell for build

* Convert it To MakefilePackage as per peer-review
2020-04-16 08:24:35 -05:00
ilbiondo
b0ec2788ab HAL: added new package at v2.1 (#16085)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-04-16 12:19:20 +02:00
darmac
04c6a781b6 Add new package: zookeeper-benchmark (#16067)
* Add new package: zookeeper-benchmark

* refine zookeeper version

* refine zookeeper version variant

* remove unused variant
2020-04-15 23:33:45 -05:00
darmac
f66bd41d9a Neo4j (#16068)
* Update var/spack/repos/builtin/packages/neo4j/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Add new package: neo4j

* refine neo4j package

* fix flake8 warning

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-15 20:45:46 -05:00
Harsh Bhatia
29e2475a68 update: memsurfer with python3 (#15636)
* update: memsurfer with python3

* flake8 compliance

* Update var/spack/repos/builtin/packages/memsurfer/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/memsurfer/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/memsurfer/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* removed build_type preferences at adamjstewart's suggestion

* Added build/run dependency on python3.7

as suggested by adam stewart

* more flake8 horror!

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-15 20:11:48 -05:00
Rao Garimella
05afce85fa Upgrade MSTK versions (#16079) 2020-04-15 18:13:47 -05:00
Carson Woods
a28c127043 netcdf-cxx4: bugfix (#16080)
* Add new variants

* Fix missing config_args variable
2020-04-15 18:05:42 -05:00
Todd Gamblin
bd3f24afe1 Merge branch 'releases/v0.14' into develop 2020-04-15 15:27:00 -07:00
Michael Kuhn
277350ceed Make tags case insensitive
Currently, tags are case sensitive, which is unintuitive:
```console
$ spack list -t hpc
==> 2 packages.
nek5000  nektools
$ spack list -t HPC
==> 1 packages.
mfem
$ spack list -t Hpc
==> 0 packages.
```

This change makes them case insensitive:
```console
$ spack list -t hpc
==> 3 packages.
mfem  nek5000  nektools
$ spack list -t HPC
==> 3 packages.
mfem  nek5000  nektools
$ spack list -t Hpc
==> 3 packages.
mfem  nek5000  nektools
```
2020-04-15 14:56:25 -07:00
Axel Huebl
d9630b572a x.org packages: mirror mixin
overhaul all x.org packages to use available mirrors.
2020-04-15 14:44:13 -07:00
Todd Gamblin
7a68a4d851 update CHANGELOG.md for 0.14.2 2020-04-15 14:32:01 -07:00
Todd Gamblin
a3bcd88f8d version bump: 0.14.2 2020-04-15 14:30:58 -07:00
Todd Gamblin
740f8fe1a9 bugfix: spack test should not output [+] for mock installs (#15609)
`spack test` has a spurious '[+] ' in the output:

```
lib/spack/spack/test/install.py .........[+] ......
```

Output is properly suppressed:

```
lib/spack/spack/test/install.py ...............
```
2020-04-15 14:30:58 -07:00
wspear
999c8e3a67 Added maintainers (#16078)
Co-authored-by: Wyatt Spear <wspear@cs.uoregon.edu>
2020-04-15 16:07:57 -05:00
ilbiondo
e41ac9af8a Sonlib (#16060)
* sonLib package as required by the HAL toolkit

* cleanup

* Update var/spack/repos/builtin/packages/sonlib/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/sonlib/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-15 16:04:06 -05:00
Kelly (KT) Thompson
fef4e80a6d New package: py-cmake-format (#16055)
* New package py-cmake-format

* wrap long lines

* Fix package description formatting.
2020-04-15 16:01:50 -05:00
Harmen Stoppels
f072d24c98 Bump version of libtree (#16051) 2020-04-15 15:57:21 -05:00
Todd Gamblin
430ca7c7cf spack install terminal output handling in foreground/background (#15723)
Makes the following changes:

* (Fixes #15620) tty configuration was failing when stdout was 
  redirected. The implementation now creates a pseudo terminal for
  stdin and checks stdout properly, so redirections of stdin/out/err
  should be handled now.
* Handles terminal configuration when the Spack process moves between
  the foreground and background (possibly multiple times) during a
  build.
* Spack adjusts terminal settings to allow users to to enable/disable
  build process output to the terminal using a "v" toggle, abnormal
  exit cases (like CTRL-C) could leave the terminal in an unusable
  state. This is addressed here with a special-case handler which
  restores terminal settings.

Significantly extend testing of process output logger:

* New PseudoShell object for setting up a master and child process
  and configuring file descriptor inheritance between the two
* Tests for "v" verbosity toggle making use of the added PseudoShell
  object
* Added `uniq` function which takes a list of elements and replaces
  any consecutive sequence of duplicate elements with a single
  instance (e.g. "112211" -> "121")

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-15 12:47:41 -07:00
Massimiliano Culpo
55f5afaf3c database: maintain in-memory consistency on remove (#15777)
The performance improvements done in #14693 where leaving the DB in an inconsistent state when specs were removed from it. This PR updates the DB internal state whenever the DB is written to a file.

Note that we still cannot properly enumerate installed dependents, so there is a TODO in this code. Fixing that will require the dependents dictionaries in specs to be re-keyed (either by hash, or not keyed at all -- a list would do).  See #11983 for details.
2020-04-15 12:47:16 -07:00
Andrew W Elble
6b559912c1 performance: add a verification file to the database (#14693)
Reading the database repeatedly can be quite slow.  We need a way to speed
up Spack when it reads the DB multiple times, but the DB has not been
modified between reads (which is nearly all the time).

- [x] Add a file containing a unique uuid that is regenerated at database
    write time. Use this uuid to suppress re-parsing the database
    contents if we know a previous uuid and the uuid has not changed.

- [x] Fix mutable_database fixture so that it resets the last seen
    verifier when it resets.

- [x] Enable not rereading the database immediately after a write. Make
    the tests reset the last seen verifier in between tests that use the
    database fixture.

- [x] make presence of uuid module optional
2020-04-15 12:47:00 -07:00
Peter Scheibel
9b5805a5cd Remove DB conversion of old index.yaml (#15298)
Removed the code that was converting the old index.yaml format into
index.json. Since the change happened in #2189 it should be
considered safe to drop this (untested) code.
2020-04-15 12:45:57 -07:00
Adam J. Stewart
c6c1d01ab6 Allow Spack Environments with '-h' in the name (#15429)
If a user invoked "spack env activate example-henv", Spack would
mistakenly interpret the "-h" from "example-henv" as the "-h" option.
This commit allows users to create and activate environments with
"-h" in the name.

This issue existed for bash shell support as well as csh support, and
this commit addresses both, along with some other unrelated csh
support issues.
2020-04-15 12:38:31 -07:00
Peter Scheibel
b9688a8c35 Environments/views: only override spec prefix for non-external packages (#15475)
* only override spec prefix for non-external packages

* add test that environment shell modifications respect explicitly-specified prefixes for external packages

* add clarifying comment
2020-04-15 12:37:37 -07:00
Jonathon Anderson
ed2781973c Source devnull in environment_after_sourcing_files (closes #15775) (#15791)
spack.util.environment_after_sourcing_files compares the local
environment against a shell environment after having sourced a
file; but this ends up including the default shell profile and
rc, which might differ from the local environment.

To change this, compare against the default shell environment,
expressed here as 'source /dev/null'.
2020-04-15 12:37:16 -07:00
Todd Gamblin
99bb88aead bugfix: TERM may not be in the environment on Cray (#15630) 2020-04-15 12:37:03 -07:00
Massimiliano Culpo
a85cce05a1 Blacklist Lmod variable modifications when sourcing files (#15778)
fixes #15775

Add all the variables listed here:

https://lmod.readthedocs.io/en/latest/090_configuring_lmod.html

to the list of those blacklisted when constructing environment
modifications by sourcing files.
2020-04-15 12:36:53 -07:00
Axel Huebl
e1e804168a Tests: Mirror Mixin Classes 2020-04-15 11:44:14 -07:00
Axel Huebl
7e5257e44a x.org: mirror mixin
According to my nightly CI/CD tests, x.org is another large provider
of software in common build chains that is often down.

Added a hand-selected amount of mirrors that is well up-to-sync.
Tested with `util-macros` that has a quite "recent" patch release.

Other packages to follow in an individual PR.
2020-04-15 11:44:14 -07:00
Todd Gamblin
a563884af3 spack install terminal output handling in foreground/background (#15723)
Makes the following changes:

* (Fixes #15620) tty configuration was failing when stdout was 
  redirected. The implementation now creates a pseudo terminal for
  stdin and checks stdout properly, so redirections of stdin/out/err
  should be handled now.
* Handles terminal configuration when the Spack process moves between
  the foreground and background (possibly multiple times) during a
  build.
* Spack adjusts terminal settings to allow users to to enable/disable
  build process output to the terminal using a "v" toggle, abnormal
  exit cases (like CTRL-C) could leave the terminal in an unusable
  state. This is addressed here with a special-case handler which
  restores terminal settings.

Significantly extend testing of process output logger:

* New PseudoShell object for setting up a master and child process
  and configuring file descriptor inheritance between the two
* Tests for "v" verbosity toggle making use of the added PseudoShell
  object
* Added `uniq` function which takes a list of elements and replaces
  any consecutive sequence of duplicate elements with a single
  instance (e.g. "112211" -> "121")

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-15 11:05:41 -07:00
Federico Ficarelli
94aa368af8 Fix grcp@1.27.0: (#16052)
Current default version was missing a dependency.
2020-04-15 11:32:08 -05:00
darmac
6eee7b6bb8 Add new package: mrbench (#16062) 2020-04-15 11:25:49 -05:00
darmac
c470a8da6a Add new package: kinesis (#16063) 2020-04-15 11:25:21 -05:00
Robert Pavel
8935406756 Added Laghos v3 to Proxy Apps v3 (#16070)
Also fixed upper bound for v2 apps
2020-04-15 11:13:07 -05:00
Michael Kuhn
a157b479c8 julea: New package (#16071) 2020-04-15 11:12:28 -05:00
ilbiondo
4afdaa5f4b IQ-TREE: added new package at v1.6.12 (#16064) 2020-04-15 16:37:25 +02:00
ilbiondo
666bc844be Phylobayes MPI: added new package at v1.8b (#16065) 2020-04-15 13:26:37 +02:00
Massimiliano Culpo
ff0ec9cf61 openfoam: set run environment by sourcing bashrc (#15949) 2020-04-15 12:21:02 +02:00
ilbiondo
d41e366d0d py-sonlib: added new package (#16058)
Co-Authored-By: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-04-15 10:35:01 +02:00
Dan Lipsa
fd2e6ee50f Apply same patch to version 10. (#15963) 2020-04-14 22:30:45 -05:00
Adam J. Stewart
69f7bae8fe libssh2: fix linking on macOS (#16012)
* libssh2: fix linking on macOS

* Fix libgit2 linkage to libssh2
2020-04-14 17:10:45 -05:00
Tyler Reddy
cba5f71eee MAINT: Charliecloud OSX error (#16049)
* MAINT: Charliecloud OSX error

* raise an appropriate error when attempting to build
Charliecloud on Mac OSX, since it will otherwise fail
with a more confusing configure stage link check failure

* Update var/spack/repos/builtin/packages/charliecloud/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* MAINT: PR 16049 revision

* remove an unused import

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-14 15:55:10 -06:00
Sajid Ali
9a18f8b1d7 fix typo (#16043) 2020-04-14 16:44:09 -05:00
Andrew W Elble
a031bc3166 new package: py-torch-nvidia-apex (#16050) 2020-04-14 16:43:30 -05:00
Carson Woods
993491c83c Add new variants (#16047) 2020-04-14 16:01:57 -05:00
Adam J. Stewart
293e4e80f1 py-memory-profiler: add new version (#16048) 2020-04-14 14:54:28 -05:00
Tiziano Müller
f917f7149e cp2k: add version 7.1 (#16037)
* cp2k: add version 7.1

* cp2k: add option to use COSMA for CP2K 8+
2020-04-14 13:33:49 -05:00
Carson Woods
8edd352c22 tau: remove deprecated variants (#16041)
* Add more tau variants

* Add more tau variants

* Remove deprecated packages

* Fix flake8 issue
2020-04-14 13:33:33 -05:00
Massimiliano Culpo
a11de1d29d Package extensions: fixed a link in docs (#16040)
* Moved link to the right place in the docs

* Fixed a few minor issues in extensions docs

Fixed a typo, added a subsubsection for better
navigation, reworded "modules in Python" as
"Python packages"
2020-04-14 12:54:53 -05:00
Andrew Gaspar
98cdd8777a Add support for pre-release builds of Rust (beta, master, nightly) (#16042) 2020-04-14 12:53:42 -05:00
Adam J. Stewart
94272cc7aa py-tokenizers: add 0.5.2 (#16039) 2020-04-14 12:41:33 -05:00
Harmen Stoppels
f393355781 libtree: new package at 1.0.3 (#16036)
* Add new package libtree

* Fix linter issues
2020-04-14 11:39:52 -05:00
Tom Payerle
e10c134745 pfft: fix to handle 'precision' variant in fftw (#16029)
* pfft: fix to handle 'precision' variant in fftw

pfft had been checking for +double, etc. in fftw spec, which no longer
are present (replaced by Multivalued variant precision).

* pfft: fix to handle 'precision' variant in fftw

pfft had been checking for +double, etc. in fftw spec, which no
longer are present (replaced by Multivalued variant precision).

(amended to use more idiomatic checks as suggested by @alalazo)
2020-04-14 11:14:20 -05:00
Justin S
71fb29fccf muscle: add 3.8.31 (#15974)
* muscle: add 3.8.31

* muscle: use build_directory property

* muscle: add url_for_version, fix version comparison
2020-04-14 11:13:16 -05:00
Axel Huebl
5acea35e82 sourceware.org: mirror urls (#15992)
sourceware.org is often quite overrun and times out or results in
certificate errors.

Since libffi, bzip2, elfutils, etc. are quite fundamental in
build chains, lets add some official mirrors.

libffi, bzip2, elfutils, lvm2, valgrind: add mirrors
2020-04-14 11:09:30 -05:00
Jordan Ogas
25e2548489 add charliecloud 0.15 (#16023) 2020-04-14 11:02:22 -05:00
Justin S
b131cc5ce0 py-vcf-kit: new package at 0.1.6 (#15976) 2020-04-14 15:51:52 +02:00
Antonio Arena
c6e257ae39 VMD: added new package at v1.9.3 (#16022) 2020-04-14 15:21:33 +02:00
darmac
5feed6bf6f httpress: added new package at v1.1.0 (#15935) 2020-04-14 12:25:30 +02:00
Adam J. Stewart
723fd5a101 Rust: add missing dependencies (#16015)
* Rust: add missing dependencies

* 1.43.X won't support Python 3 either
2020-04-13 17:02:37 -05:00
Andrew W Elble
92edc68922 bazel: increase logging during build, set job limit (#16024)
To better help in troubleshooting build issues. Job limit might also
help with the memory limit issues we've been seeing.
2020-04-13 16:35:39 -05:00
Antonio Arena
0a6d9f4c55 Patch Mathematica (#16019)
* Patch Mathematica

Mathematica installer moves all files and directories from installation directory to a backup one. The problem is that it also moves .spack to this backup location. Once it's done it does not move .spack back where it was.

My patch creates a copy of .spack to /tmp then moves it back right before exiting the install call.

* Make lint happy

* Use Spack native copy()

As suggested in peer-review let's:
- Copy .spack to stage directory so I don't have to use random
- Use Spack native copy() to do these operations

* Use join_path to create paths

As per peer-review suggestion:
- Use join_path to create paths
- Use copy_tree since we're copying a directory that could have sub-directories
2020-04-13 13:22:29 -05:00
Kai Torben Ohlhus
0c28a271ae suite-sparse: add version 5.7.2 (#16020)
Release notes: https://github.com/DrTimothyAldenDavis/SuiteSparse/releases/tag/v5.7.2
2020-04-13 11:03:30 -05:00
Jennifer Herting
0d364e71ec New version: py-notebook@6.0.3 (#15975)
* Update package.py to include py-notebook 6.0.3 and sha

* Update package.py

* [py-notebook] updated py-tornado version requirements

* [py-notebook] reworked and reordered for readability

* [py-notebook] updated version requirement for py-jupyter-client

* [py-notebook] updated version requirements for py-jupyter-core

Co-authored-by: ehdeec <ehdeec@rit.edu>
2020-04-13 10:59:54 -05:00
Adam J. Stewart
b0a39bd905 py-sacremoses: add new version (#16018) 2020-04-12 23:03:19 -05:00
Dr. Christian Tacke
ab0101ec69 boost: Fix for Version Comparison on Newer Clang on Darwin (#16014)
Applying to boost @1.56.0:1.72.0 as that's the version
range, where this patch can be cleanly applied. I was not
able to test this myself, but got positive feedback.

See: https://github.com/boostorg/build/issues/440
See: https://github.com/macports/macports-ports/pull/6726
2020-04-12 22:26:57 -05:00
Glenn Johnson
9a0dd631d5 new package: BART (#16016)
* new package: BART

This PR adds the BART (Berkeley Advanced Reconstruction Toolset)
package.

Despite the presence of CMake files, this package builds with a
Makefile. It looks like the project is moving away from cmake. The patch
for MKL has been committed upstream so should only be necessary for this
version of BART.  The Makefile patch is meant for working with Spack and
would not be useful upstream. The bart scripts are still setup to use
bart with the subcommands being individual binaries. This patches those
to use the single binary with built-in subcommands and assumes that
spack is providing the TOOLBOX environment variable and setting PATH.

* Update var/spack/repos/builtin/packages/bart/package.py

Yes, '==' make more sense for a single string.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* The python dependencies are run time only.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-12 19:41:37 -05:00
Jose E. Roman
a1fc761f18 New patch release SLEPc 3.13.1 (#16013)
* New patch release SLEPc 3.13.1

* Update var/spack/repos/builtin/packages/slepc/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-12 16:35:40 -05:00
Massimiliano Culpo
7e46da73dd database: maintain in-memory consistency on remove (#15777)
The performance improvements done in #14693 where leaving the DB in an inconsistent state when specs were removed from it. This PR updates the DB internal state whenever the DB is written to a file.

Note that we still cannot properly enumerate installed dependents, so there is a TODO in this code. Fixing that will require the dependents dictionaries in specs to be re-keyed (either by hash, or not keyed at all -- a list would do).  See #11983 for details.
2020-04-12 13:14:59 -07:00
Glenn Johnson
9209af950a new package: py-youtube-dl + fixes for dependencies (#15978)
* new package: py-youtube-dl + fixes for dependencies

This PR adds the py-youtube-dl program. In addition, there are a couple
of dependency packages that needed to be updated.

* ffmpeg
This is needed by py-youtube-dl. However, the spack ffmpeg recipe does
not include a lot of options, specifically, a dependency on openssl for
working with the https protocol.

- Added updated version.
- Added variants for the different licensing options.
- Added "meta" variants for X and drawtext. These turn on/off several
  options.
- Set variants and dependencies for many options. The defaults are based
  on the configuration settings in ffmpeg.
- Set dependencies that were missing or that will likely get pulled in
  from the system.

* libxml2
The ffmpeg+libxml2 variant initially failed to build. The issue is that
libxml2 sets the headers property to

include_dir = self.spec.prefix.include.libxml2

The ffmpeg configure looks for prefix.include and fills in the rest.
This could probably be patched in ffmpeg but the headers property in the
libxml2 recipe is not consistent with the environment module or the
pkgconfig file, both of which set the headers path to prefix.include.
This PR sets the libxml2 headers property to

include_dir = self.spec.prefix.include

A spot check of a few libxml2 dependents did not rreveal any problems
with this change.

* Comment out libxml2 dependency in ffmpeg

The header property issue of the spack libxml2 package will need to be
resolved in another PR before libxml2 can be enabled in ffmpeg.
2020-04-12 13:50:49 -05:00
Adam J. Stewart
f14f97ea78 py-transformers: add new package (#16011) 2020-04-12 11:41:20 -05:00
Adam J. Stewart
17450e18e0 py-tokenizers: add new package (#16010) 2020-04-12 10:22:55 -05:00
Adam J. Stewart
e4aa10d0c9 py-sacremoses: add new package (#16009) 2020-04-12 09:17:03 -05:00
Adam J. Stewart
e1b308af58 py-setuptools-rust: add new package (#16008) 2020-04-12 09:16:49 -05:00
Carson Woods
97dcf7b8ee tau: added new variants (#16005)
* Add more tau variants

* Add more tau variants
2020-04-11 19:44:26 -05:00
Andrew W Elble
a5f7cc887a new package: openmm (#16002)
* new package: openmm

* dependency adjustments

* 1. modify dependencies
2. openmm dynamically compiles cuda kernels during runtime,
   attempt to set up an environment that will work.

* Update var/spack/repos/builtin/packages/openmm/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-11 16:29:56 -05:00
Jennifer Herting
91e22b8ae5 [py-jupyter-core] added version 4.6.3 (#15991)
* [py-jupyter-core] added version 4.6.3

* [py-jupyter-core] updated python version requirement
2020-04-10 15:59:00 -05:00
Christoph Junghans
78a9f73874 votca-tools: add mkl support (#15997)
* votca-tools: add mkl support

* Update package.py
2020-04-10 14:36:28 -05:00
Christoph Junghans
8e597e8a7a votca-*: add v1.6_rc2 (#15999)
* votca-*: add v1.6_rc2

* votca-*: develop -> master
2020-04-10 14:36:09 -05:00
Paul
7b7458a0f4 Add Go versions 1.14.2 and 1.13.10 (#16000) 2020-04-10 14:35:51 -05:00
Christoph Junghans
c4360a918b gromacs: install header files (#15996) 2020-04-10 13:36:26 -05:00
Tom Payerle
a29956d71e gdal: Patch to support hdf linked against libtirpc (#15995)
If hdf was built with +libtirpc, we need to add -ltirpc to our link
flags.
2020-04-10 13:36:08 -05:00
Tom Payerle
343a499aa8 hdf: Add option to link against libtirpc package (#15993)
This adds a boolean 'libtirpc' variant to the hdf package.
Default is false, which will reproduce previous behavior (which
was to rely either on system xdr headers/library, or have hdf use
it's builtin xdr lib/headers (which are only for 32 bit))

If true, a dependency is added on 'libtirpc', and the LIBS and
CPPFLAGS are updated in the configure command to find the libtirpc
library and xdr.h header.

This is needed as RHEL8 (and presumably other distros have or will be)
removed xdr.h from glib-headers package,which was breaking the previous
behavior of using system xdr headers.
2020-04-10 13:23:05 -05:00
Andrew W Elble
c01a968ada new package: py-torchsummary (#15990)
* new package: py-torchsummary

* add numpy
2020-04-10 13:13:51 -05:00
Andrew W Elble
42b63e6b7e new package: py-torchaudio (#15989) 2020-04-10 10:53:12 -05:00
Andrew W Elble
aeb628ea74 opencv: assorted fixes (#15971)
* opencv: assorted fixes

1. depends on blas when +lapack
2. set cuda nvcc flags for cuda_arch
3. let cuda/contrib builds work
4. depends on hdf5 when cuda/contrib
5. depends on ant when +java
6. allow protobuf version to be different
7. let opencv recompile it's protoc files.

* ant is a build-time dependency

* register +cuda~contrib as impossible.
2020-04-10 09:49:32 -05:00
Tomoki, Karatsu
08a491b062 fujitsu compiler: Delete custom environment function. (#15988) 2020-04-10 09:38:02 -05:00
Andrew W Elble
3b3bd6e173 New package: tensorboardX (#15955)
* New package: tensorboardX

* prune back to just what's in setup.py for now
2020-04-10 09:37:18 -05:00
iarspider
77e144d6e5 Add new version of py-hypothesis (#15942)
* Add new version of py-hypothesis

* Update package.py

* Update package.py
2020-04-10 09:36:16 -05:00
Jacob Merson
d0fbe1add2 Update yaml-cpp package to enable for build of old api (#15983)
The old api is found in version 0.3.0 which uses a different release
name, so the url function was updated to properly find the older
releases. Also, this removes the boost constraint on the 0.3.0 version
which does not need it.
2020-04-10 09:35:36 -05:00
tilne
0d96e8a27d update URL and sha256 for aws-parallelcluster 2.6.1 (#15980)
Signed-off-by: Tim Lane <tilne@amazon.com>
2020-04-09 22:00:03 -05:00
Justin S
2d220c8eb0 py-clint: new package at 0.5.1 (#15905)
* py-clint: new package at 0.5.1

* py-clint: update py-setuptools dep type
2020-04-09 17:12:17 -05:00
Michael Kuhn
35c4f614c4 meson: Add 0.54.0 (#15952)
* meson: Add 0.54.0

This change also improves the rpath patch we are using. Instead of never
removing the rpath, we now only keep it if running within Spack to
guarantee consistent behavior of Meson.

* meson: Make ninja a hard dependency
2020-04-09 17:11:52 -05:00
Jennifer Herting
e0e092050c [py-pygdal] added version 3.0.4.6 (#15973) 2020-04-09 16:58:50 -05:00
noguchi-k
834a520af4 aperture-photometry: add new version (#15967) 2020-04-09 12:04:27 -05:00
Ryan Pepper
f683d714f8 Update doxygen package (#15969)
* Update doxygen package

* Add new version releases 1.8.16 and 1.8.17
* Add mscgen as an optional dependency.

* Update doxygen package.py

Fix typo in mscgen dependency specification

* Remove whitespace for flake8
2020-04-09 12:03:30 -05:00
George Hartzell
1b2638c9b1 primer3: move to github, add 2.5.0, fix 2.3.7 (#15958)
* primer3: move to github, add 2.5.0, fix 2.3.7

- The Primer3 project moved to GitHub.

  - update the URL
  - compare the tarballs 2.3.7 from Sourceforge and github, no
    significant differences (e.g. the Sourceforge tarball contained a
    couple of "tmp" files).
  - update the signature for the 2.3.7 tarball.

- @2.3.7 doesn't build with gcc@8.4.0, there's a dubious pointer/int
  comparison that causes an error.  It was fixed upstream in newer
  versions, apply simple patch to this version so that it continues to
  be build-able with newer compilers.  See:

  - https://github.com/primer3-org/primer3/issues/2
  - https://github.com/primer3-org/primer3/issues/3

- Add info for @2.5.0, which builds cleanly.

* Flake8 cleanup
2020-04-09 11:53:34 -05:00
Sergey Kosukhin
05a80523c8 NetCDF packages: switch to the official FTP server. (#15641) 2020-04-09 09:57:07 -05:00
Jennifer Herting
b75ba93589 New package: gtk-doc (#15768)
* [gtk-doc] created template

* [gtk-doc] using custom url to standardize on dotted version

* [gtk-doc] added description and homepage

* [gtk-doc] added dependencies and added pdf variant

* [gtk-doc] commented out pdf variant

* [gtk-doc] cleaned up leftover fixmes

* [gtk-doc] flake8

* [gtk-doc] readded url

* [gtk-doc] python packages are build and run dependencies
2020-04-09 09:56:33 -05:00
Massimiliano Culpo
e53a98cb4f papi: check existence of a fortran compiler (#15968)
fixes #5029
2020-04-09 15:33:24 +02:00
vvolkl
5320268033 [podio] add recipe for podio (#15726) 2020-04-09 10:29:19 +01:00
Andrew W Elble
ee0cbd7a17 py-torch: Fix v1.4.0 by adding v1.4.1 (#15761)
* py-torch: Fix v1.4.0 by adding v1.4.1

version/tag hack so that 1.4.0 is still workable.
see pytorch/pytorch#35149

* delete/disable fbgemm support in 1.4.0

* moved conflict
2020-04-09 10:50:08 +02:00
Peter Scheibel
75640f0ed9 NAG compiler fix: skip implicit RPATH detection (#15902)
* Skip collection of compiler link paths if compiler does not define a verbose flag

* modules config bug: allow user to configure a compiler without an explicit entry for loaded modules
2020-04-09 10:48:29 +02:00
darmac
6d8a59be5b uchardet: added package at v0.6.0 (#15937) 2020-04-09 09:19:52 +02:00
G-Ragghianti
f9c833e078 Papi packge: refactored to inherit from AutotoolsPackage (#15962) 2020-04-09 09:13:35 +02:00
darmac
93a53f1faf elasticsearch: change depends on from jdk to java (#15964) 2020-04-08 22:35:46 -05:00
Michael Kuhn
3c8bd21dae glib: Add new stable versions (#15947)
Newer versions of glib require Meson, so this PR adds support for that
using a hybrid approach. glib@5.28: will be built using Meson, older
versions still make use of Autotools.
2020-04-08 22:32:08 -05:00
T.Tian
e96750472e py-gpaw: Add libvdwxc as variant (#15948)
* Add libvdwxc as variant

* py-gpaw: add missing line for libvdwxc conditions
2020-04-08 22:22:19 -05:00
Aniruddha Marathe
9035dc6b3d - Fixes build issues. (#15951)
- Updates Kripke URL to its Github repository.
- Adds previous Kripke versions.
- Adds 'caliper' variant.
2020-04-08 22:13:13 -05:00
Andrew W Elble
8abffd4189 py-tensorflow-estimator: fix build (#15953)
Change the build to work again, and be more in line with the other
tensorflow packages. Add version 2.1.
2020-04-08 22:10:37 -05:00
Paul Ferrell
d05f25a4d0 Fixed bad expand option for openjdk versions. (#15956)
The most recent change to the openjdk package set expand=False for all versions
of the package. This means only the unexpanded archive will be installed, which is not correct.
2020-04-08 22:07:00 -05:00
Justin S
4886a2d5ef py-awesome-slugify: new package at 1.6.5 (#15907)
* py-awesome-slugify: new package at 1.6.5

* py-awesome-slugify: fix typo in version range

* py-awesome-slugify: update dependencies
2020-04-08 21:45:33 -05:00
Nichols A. Romero
bf4eec94ca F18 update April 2020 (#15930)
* Update dependencies and support variant for Fortran Intermediate Representation.

* Add Cmake flags that toggle Fortran Intermediate Representation on/off. Exclude Flang tests for now.

* f18+fir variant needs next release of llvm or master.

* Only build tests if you are pass in --test to spack install
2020-04-08 20:32:56 -05:00
Andrew W Elble
c5b625ca90 New package: py-tensorboard (#15829)
* New package: py-tensorboard

* some basic dependencies based on requirements.txt
remove the older version that doesn't build

* requested changes

* add additional dependencies

* more dependency changes
2020-04-08 12:46:36 -05:00
Andrew W Elble
c6c53df916 py-onnx: only use py-typing if python < 3.5 (#15931)
* py-onnx: only use py-typing if python < 3.5

avoids a 'Callable has no attribute __abc_registry' error. See
onnx/onnx#2199 and python/typing#573

* add version 1.6.0 while we're here.
2020-04-08 12:46:16 -05:00
iarspider
8ed8bb0a76 MariaDB: added v10.4.12 (#15943) 2020-04-08 14:34:56 +02:00
iarspider
fcf0c6cb68 pytest: added v4.6.9 (#15944) 2020-04-08 14:34:09 +02:00
darmac
62cc8158de http-parser: added package at v2.9.4 (#15936) 2020-04-08 09:04:01 +02:00
Xavier Delaruelle
4031e9a2a7 environment-modules: add version 4.5.0 (#15938)
Add new version 4.5.0 and update quarantine variable list to also
include LD_PRELOAD in addition to LD_LIBRARY_PATH (to avoid side-effect
when the first depends on the latter).
2020-04-08 09:01:22 +02:00
George Hartzell
66cec5a151 Update hugo version and add extended variant (#15933)
- Add info for version 0.68.3
- Add variant to package that enables the "extended" features.  It
  works with both of the existing versions (not sure how far back it
  goes, but confirmed that it's valid fro 0.53).

Tested on OS X with go@1.14.1.
2020-04-07 22:27:23 -05:00
darmac
e16593e551 Add new package: open-isns (#15914)
* Add new package: open-isns

* refine args
2020-04-07 22:27:04 -05:00
Justin S
998dc7a121 py-cyvcf2: new package at 0.11.7 (#15908)
* py-cyvcf2: new package at 0.11.7

* py-cyvcf2: update dependencies
2020-04-07 20:41:18 -05:00
Justin S
7927394fb3 py-yahmm: new package at 1.1.3 (#15909)
* py-yahmm: new package at 1.1.3

* py-yahmm: update dependencies
2020-04-07 20:41:01 -05:00
Justin S
233fc5ff23 py-unidecode: new package at 1.1.1 (#15906)
* py-unidecode: new package at 1.1.1

* py-unidecode: update py-setuptools dep type

* py-unidecode: add python version
2020-04-07 20:40:33 -05:00
Justin S
9b33788573 py-utils: new package at 1.0.1 (#15904)
* py-utils: new package at 1.0.1

* py-utils: update py-setuptools dep type

* py-utils: fix dependency condition
2020-04-07 20:39:39 -05:00
Justin S
cc4bf086b9 py-args: new package at 0.1.0 (#15903)
* py-args: new package at 0.1.0

* py-args: update dependencies
2020-04-07 20:39:03 -05:00
Massimiliano Culpo
fb0bcf4127 openfoam: modified flex to be a build + link dependency (#15917)
fixes #15863

Since openfoam-org needs FlexInclude.h "flex" needs to
be also a link dependency.
2020-04-07 17:04:54 -05:00
ktsai7
0ac77b815f update gasnet spackage cmake args (#15920)
* update gasnet spackage cmake args

* fix style errors

* trailing whitespace
2020-04-07 17:03:32 -05:00
Benjamin Tovar
0074995ecf updates CCTools to version 7.1.2 (#15923) 2020-04-07 17:03:18 -05:00
Nichols A. Romero
46bcbac719 Make use of Spack's builtin CUDA build system. (#15924) 2020-04-07 17:02:38 -05:00
Robert Pavel
36f7def307 Addded Draco@7.5.0:7.6.0 (#15926)
Updated version hashes for draco spackage to specify 7.5 and 7.6
2020-04-07 17:01:06 -05:00
George Hartzell
153c888432 Fix lua build, missing deref of self for spec (#15927)
Looks like something changed and a case was missed.

Function doesn't have a spec arg, need to dereference it off of
self.

Builds on OS X.
2020-04-07 17:00:53 -05:00
Satish Balay
45fe9add2e update versions: petsc4py@3.13.0 and slepc4py@3.13.0 (#15928) 2020-04-07 17:00:34 -05:00
Hadrien G
b405278c43 [acts-core] Add version 0.21 (#15922)
* Add ACTS v0.21

* Update var/spack/repos/builtin/packages/acts-core/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-07 17:00:01 -05:00
Scott Wittenburg
de95a9f5f3 pipelines: Document dynamic generation limitations 2020-04-07 15:20:01 -06:00
Carson Woods
fc19f7de6c ucx: add additional variants (#15925)
* Add more variants to ucx

* Fix flake8 issue
2020-04-07 15:18:40 -05:00
Jose E. Roman
fb841877c5 slepc 3.13 develop updates (#15897)
* slepc: updates for @devel

-  +arpack now works with int64
-  +blopex add conflict with int64
-  switch to using --with-arpack-lib [from --with-arpack-lib] with current slepc
-  use updated blopex with current slepc

* slepc: conflict with blopex should be in all versions

* slepc: add new downloads

* slepc: add whitespace around operator

Co-authored-by: Satish Balay <balay@mcs.anl.gov>
2020-04-07 15:13:32 -05:00
Andrew W Elble
dd463272e6 New package(s): py-pydeps and py-stdlib-list (#15828)
* New package(s): py-pydeps and py-stdlib-list

* requested changes

* Update var/spack/repos/builtin/packages/py-stdlib-list/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-07 13:59:24 -05:00
darmac
cb9c86e526 Add new package: shark (#15913) 2020-04-07 11:57:21 -05:00
Mark Olesen
8b275080ea update OpenFOAM patch versions (#15916)
Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-04-07 11:57:07 -05:00
Massimiliano Culpo
2dece3aee8 cryptsetup: restrict the version of automake if @2.2.1 (#15918)
* cryptsetup: restrict the version of automake if @2.2.1

fixes #15706

* Update var/spack/repos/builtin/packages/cryptsetup/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-07 11:56:54 -05:00
Themos Tsikas
375e1c62c7 NAG Compiler 7.0 (Build 7014) download checksum (#15899)
* NAG Compiler 7.0 (Build 7009) download checksum

* NAG Compiler 7.0 (Build 7014) download checksum
2020-04-07 11:38:11 -05:00
Jennifer Herting
e34ea80d52 New package: boinc-client (#15770)
* [boinc-client] Created template

* [boinc-client] removed non-client version

* [boinc-client] added description and homepage

* [boinc-client] specifically specify this as a client release

* [boinc-client] added dependencies

* [boinc-client] added variant: manager

* [boinc-client] added graphics variant

* [boinc-client] added dependency version specificity

* [boinc-client] systemd install path fix

* [boinc-client] added sqlite dependency

* [boinc-client] flake8

* [boinc-client] cleaned up left over fixme
2020-04-07 11:21:49 -05:00
LPettey-Arm
da9ba2b254 Add build number to Arm compiler version identification (#15809)
* Add capability for detecting build number for Arm compilers

* Fixing fleck8 errors and updating test_arm_version_detection function for more detailed Arm compielr version detection

* Ran flake8 locally and corrected errors

* Altering Arm compielr version check to remove else clause and be more consistent with other compielr version checks. Added test case so both the 'if' and 'else' conditionals of the Arm compiler version check have a test case

Co-authored-by: EC2 Default User <ec2-user@ip-172-31-7-135.us-east-2.compute.internal>
2020-04-07 10:58:54 -05:00
Massimiliano Culpo
f83d46bb79 intel: fixed version number (update4 is 18.0.5) (#15915)
fixes #15811

See https://software.intel.com/en-us/articles/intel-compiler-and-composer-update-version-numbers-to-compiler-version-number-mapping
2020-04-07 15:47:22 +02:00
Toyohisa Kameyama
ae94c52f1c ppOpen-APPL/FEM: New package. (#15911)
* ppOpen-APPL/FEM: New package.

* typo fix.
Update patch.
2020-04-07 08:43:46 -05:00
Adam J. Stewart
93e22426a6 Don't run linux build tests for doc PRs (#15895) 2020-04-07 09:09:08 +02:00
Adam J. Stewart
34bce8f4a2 Simplify Build Error template (#15864) 2020-04-06 19:28:13 -05:00
Adam J. Stewart
783793426d Package rename: DNNL -> oneDNN (#15910) 2020-04-06 19:27:34 -05:00
Matthias Diener
e7a529322f fish: add version 3.1.0 and switch to cmake (#15812)
Versions < 3 do not support building with CMake.
2020-04-06 19:25:39 -05:00
Diego Magdaleno
2542d80e10 Update nano and fix coreutils on Darwin (#15883)
* Fixed building coreutils on Darwin

* Bump nano version to 4.9

* Coreutils: Add program prefix g so we don't conflict with Apple utilities

* Fix intendation

* Make format more spack like

* Removed unnecesary changes

* Merge branch 'develop' of github.com:DiegoMagdaleno/spack into develop

Fix linking libgit2 on Darwin

* Revert "Merge pull request #3 from spack/develop"

This reverts commit 58dbbdb82b, reversing
changes made to dd7a413f48.

* Revert "Revert "Merge pull request #3 from spack/develop""

This reverts commit f956aa7b13.

* Revert "Merge branch 'develop' of github.com:DiegoMagdaleno/spack into develop"

This reverts commit 50321f7986.
2020-04-06 19:23:05 -05:00
Andrew W Elble
6ad0ca27c2 new package: nccl-tests (#15890)
* new package: nccl-tests

* fix dependency types
2020-04-06 19:21:36 -05:00
Andrew W Elble
26a754c023 new package: py-tensorboard-plugin-wit (#15898)
* new package: py-tensorboard-plugin-wit

dependency for py-tensorboard >= 2.2.0

* incorporate feedback
2020-04-06 19:21:16 -05:00
Carson Woods
379319ee2d pdt: add PIC support as variant (#15851)
* Add fPIC support as variant

* Fix variant to use compiler agnostic fPIC option
2020-04-06 16:20:21 -05:00
Andrew W Elble
9d906658b3 nccl: supports infiniband/RoCE since 2.3.5-5 (#15889)
loads libibverbs via dlopen(), add dependency on rdma-core
2020-04-06 16:19:55 -05:00
Andrew W Elble
ebd0b14ad1 new package: py-google-auth-oauthlib (#15900) 2020-04-06 16:10:43 -05:00
Adam J. Stewart
fab1f68399 Docs: fix Spack Environments command (#15891) 2020-04-06 11:54:22 -05:00
Adam J. Stewart
18a9a265fd py-smart-open: fix url/checksum, add deps (#15892) 2020-04-06 11:16:20 -05:00
Dr. Christian Tacke
b1bea70df1 nanomsg: add new Package (#15894) 2020-04-06 11:15:57 -05:00
François Trahay
55d15fc07e new packages: libbacktrace, libpfm, numap, numamma (#15868)
* new packages: libbacktrace, libpfm, numap, numamma

* numap: use the existing libpfm4 package

* formatting
2020-04-06 08:01:58 -05:00
Massimiliano Culpo
06f3381dfd Blacklist Lmod variable modifications when sourcing files (#15778)
fixes #15775

Add all the variables listed here:

https://lmod.readthedocs.io/en/latest/090_configuring_lmod.html

to the list of those blacklisted when constructing environment
modifications by sourcing files.
2020-04-06 10:02:03 +02:00
Jonathon Anderson
359d7adf7e Source devnull in environment_after_sourcing_files (closes #15775) (#15791)
spack.util.environment_after_sourcing_files compares the local
environment against a shell environment after having sourced a
file; but this ends up including the default shell profile and
rc, which might differ from the local environment.

To change this, compare against the default shell environment,
expressed here as 'source /dev/null'.
2020-04-06 10:00:42 +02:00
Christoph Junghans
268c2a19da boost: boost-python in 1.72.0 broken with cxxstd=98 (#15885)
* boost: boost-python in 1.72.0 broken with cxxstd=98

* py-espressopp: depend on boost with cxxstd=11
2020-04-05 18:42:27 -05:00
Adam J. Stewart
1249d73630 py-spatialist: add maintainer and new version, fix url and deps (#15878) 2020-04-05 17:31:09 -05:00
Adam J. Stewart
a08d5fed0a py-flake8-polyfill: fix url and deps (#15872) 2020-04-05 15:45:29 -05:00
Adam J. Stewart
2a074ce445 py-gensim: fix url and deps, add maintainer (#15870) 2020-04-05 15:45:17 -05:00
Adam J. Stewart
638e6d0f9e py-humanfriendly: add new version, fix url and deps (#15873) 2020-04-05 15:45:04 -05:00
Adam J. Stewart
e359bb91e9 py-pep8-naming: add new version, fix url and deps (#15874) 2020-04-05 15:44:50 -05:00
Adam J. Stewart
4dc034a8e5 py-progressbar2: add new version, fix url (#15875) 2020-04-05 15:44:36 -05:00
Adam J. Stewart
f5fde735b6 py-python-utils: add new version, fix url and deps (#15876) 2020-04-05 15:44:23 -05:00
Adam J. Stewart
d87f44e987 py-scoop: fix url and deps (#15877) 2020-04-05 15:44:10 -05:00
Adam J. Stewart
cf68193ebe py-tblib: add new version, fix url and deps (#15879) 2020-04-05 15:43:20 -05:00
Adam J. Stewart
a3b9dbcbfb package urls: pypi.org -> pypi.io (#15880) 2020-04-05 15:43:09 -05:00
Adam J. Stewart
68b4beb725 py-sphinx: add 3.0.0 (#15881) 2020-04-05 15:42:57 -05:00
Adam J. Stewart
05532f9e27 py-ecdsa: add new version, fix download url (#15871) 2020-04-05 15:42:44 -05:00
Stephen McDowell
51fbe518b8 verify other.exe attr exists before use in __eq__ (#15882) 2020-04-05 14:08:13 -05:00
健美猞猁
34627fcbe5 py-pywcs: a new package. (#15826)
* py-pywcs: a new package.

* Fix a flake8 issue.

* Add missing dependencies.

* run -> build.

* Add version specifications.
2020-04-05 11:21:54 -05:00
François Trahay
c99a88128a Version bump: eztrace-1.1-10 (#15866)
* version bump: eztrace-1.1-10

* 'trahay' is the maintainer for package 'eztrace'
2020-04-05 09:39:57 -05:00
Christoph Junghans
b4271d1a26 py-espressopp: pin py-numpy to py2 version (#15865) 2020-04-04 13:00:04 -05:00
darmac
7f8102d6d0 openjdk: support aarch64 platform (#15840) 2020-04-04 11:35:46 -05:00
Adam J. Stewart
9b9b46c0a9 Package rename: intel-mkl-dnn -> dnnl (#15852) 2020-04-04 11:35:23 -05:00
Nichols A. Romero
4ee9fd46bc LLVM support for mlir (#15859) 2020-04-04 11:12:21 -05:00
Simon Pintarelli
4bb1392d7d SIRIUS add version 6.5.1 and 6.5.2 (#15860) 2020-04-04 11:11:17 -05:00
健美猞猁
a7f418e0b2 Check if CPU family is x86_64. (#15862)
* Check if CPU family is x86_64.

* Remove the leading space.
2020-04-04 11:10:48 -05:00
Jennifer Herting
0891c5d854 New package: py-gluoncv (#15856)
* [py-gluoncv] created template

* [py-gluoncv] added description and homepage

* [py-gluoncv] added dependencies

* [py-gluoncv] unicode in readme is causing build to fail

* [py-gluoncv] cleaned up fixmes

* [py-gluoncv] removed unnecessary python dependency listing

* [py-gluoncv] added cython
2020-04-03 15:49:21 -05:00
G-Ragghianti
bf8fea1d53 Added support for new config process for papi@6:+lmsensors (#15858)
* Added support for new configuration process of lmsensors component for papi@6:

* Removed extraneous blank lines
2020-04-03 15:48:44 -05:00
Matthieu Dorier
4173c27868 unqlite: restricted patch to version 1.1.9 (#15857)
* restricted unqlite patch to version 1.1.9

* putting back the URL of the PR corresponding to the patch
2020-04-03 15:48:29 -05:00
G-Ragghianti
bae4f91bfe Add option "--first" for "spack load" (#15622)
* Implemented --first option for "spack load"

* added test for "spack load --first"

Co-authored-by: gragghia <gragghia@localhost.localdomain>
2020-04-03 13:33:20 -07:00
Peter Scheibel
0b99cc2261 Environments/views: only override spec prefix for non-external packages (#15475)
* only override spec prefix for non-external packages

* add test that environment shell modifications respect explicitly-specified prefixes for external packages

* add clarifying comment
2020-04-03 13:26:33 -07:00
Jennifer Herting
0a9d4f6720 New package: py-portalocker (#15854)
* [py-portalocker] Create template

* [py-portalocker] added homepage and description

* [py-portalocker] specified dependencies

* [py-portalocker] cleaned up fixmes

* [py-portalocker] removed unnecessary python dependency listing
2020-04-03 13:58:02 -05:00
G-Ragghianti
5e5b68c063 Papi package: updating with new bugfix version and variant (#15849)
* Added new variant "sde" to papi

* Updated papi with new version and new variant "sde"
2020-04-03 11:39:29 -05:00
Frédéric Simonis
be57c0f6e7 precice: Add version 2.0.2 (#15846) 2020-04-03 11:33:47 -05:00
Jennifer Herting
1461332e97 New package: libnotify (#15769)
* [libnotify] created template

* [libnotify] added homepage and description

* [libnotify] added dependencies

* [libnotify] patch location to docbook

* [libnotify] more dependency work

* [libnotify] reorder dependencies

* [libnotify] added variant docbook

* [libnotify] more accurate dependency version

* [libnotify] xsltproc still needed

* [libnotify] created test variant

* [libnotify] added gtkdoc varient

* [libnotify] cleaned up leftover fixme

* [libnotify] flake8

* [libnotify] test variant became self.run_tests

* [libnotify] pkgconfig is build dependency

* [libnotify] commented out broken variants

* [libnotify] flake8
2020-04-03 11:07:25 -05:00
健美猞猁
c0d2f70d02 py-stsci-distutils: new package at v0.3.8 (#15845) 2020-04-03 11:12:59 +02:00
Toyohisa Kameyama
87444aef7e ppOpen-APPL/BEM-AT: added new package at v0.1.0 (#15841) 2020-04-03 11:11:46 +02:00
健美猞猁
e227a684b9 py-d2to1: added v0.2.12 (#15844) 2020-04-03 10:29:25 +02:00
Adam J. Stewart
75a2f8046a Add commands to facilitate Spack/Python/OS reporting (#15834)
* Add --version arg to spack python command
* Add `spack debug report` command
2020-04-02 23:12:03 -07:00
Carson Woods
1662c3581b pmix: add option for toggling pmi backwards compatibility (#15838)
* Add option for toggling pmi backwards compatibility

* Remove trailing whitespace
2020-04-02 21:09:33 -05:00
Jennifer Herting
1d14f74d19 New Package: py-astropy-helpers (#15658)
* [py-astropy-helpers] created template

* [py-astropy-helpers] - removed boilerplate - added homepage - added depends_on('py-astropy')

* [py-astropy-helpers] Setuptools versioning

* [py-astropy-helpers] cleaned up unused build_args method

* [py-astropy-helpers] py-astropy is a runtime dependency

* [py-astropy-helpers] requires python@3.6:

* [py-astropy-helpers] cleaned up unnecessary older versions

* [py-astropy-helpers] turns out py-astropy isn't actually a dependency
2020-04-02 20:11:48 -05:00
Shintaro Iwasaki
73ac853c3d argobots: new version 1.0 (#15786) 2020-04-02 20:11:06 -05:00
Robert Mijakovic
37e9e450c9 Updates versions of Intel packages (#15839)
* update version: intel packages daal, ipp, mkl-dnn, mkl, mpi, parallel-studio, pin, tbb and makes url parameter consistent and always use single quote.

* Fixes a typo with one of the sha256 checksum..

* Adds version entries for new versions of Intel packages.

Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2020-04-02 19:39:44 -05:00
Carson Woods
0083c87c26 mpip: add demangling and setjmp variants (#15837)
* Add demangling to mpip

* Add setjmp support to mpip

* Flake8 fixes
2020-04-02 19:37:35 -05:00
Adam J. Stewart
4d2de863ef intel-mkl-dnn: add 1.3 2020-04-02 15:20:18 -07:00
Michael Kuhn
06ebb94f37 go: Add 1.14.1 and 1.13.9 2020-04-02 15:17:00 -07:00
Matthieu Dorier
8b52f9f37d unqlite: Patching unqlite to be able to build a shared library (#15830)
* Patching unqlite to be able to build a shared library

* Correcting a whitespace for flake8 to pass

* added comment about PR on unqlite

* extra commit to force github to merge
2020-04-02 17:15:45 -05:00
iarspider
144557e945 c-blosc: Add variants to disable building tests and benchmarks (#15789)
* Add variants to disable building tests and benchmarks

* Flake8

* Update package.py

* Update package.py

* Update package.py
2020-04-02 08:52:37 -05:00
Toyohisa Kameyama
1f6f395337 ppOpen-APPL/BEM: added new package at v0.5.0 (#15819) 2020-04-02 12:08:09 +02:00
健美猞猁
d2b6ef98f1 py-pyfits: added new package at v3.5 (#15825) 2020-04-02 12:07:22 +02:00
健美猞猁
d921974db1 py-ephem: added new package at v3.7.71 (#15438) 2020-04-02 11:13:17 +02:00
Kelly (KT) Thompson
8078089914 cmake: added v3.17.0 (#15822) 2020-04-02 11:06:21 +02:00
Jonathon Anderson
7d44a0090d cryptsetup: added v2.2.2, v2.2.3 and v2.3.1 (#15823)
Also confined the included patch to the earlier versions, as
indicated.
2020-04-02 10:55:20 +02:00
Jonathon Anderson
60f29a9f80 qt: added v5.14.2 (#15824) 2020-04-02 10:54:05 +02:00
Michael Bentley
c3c057f2b3 package: update flit and py-pyelftools versions (#15817)
* Update flit package to v2.1.0 and add dependencies

* flit: comment out bash dependency

The host system should have bash available and compiling bash through
spack failed for me.  I'm not sure if binutils and coreutils should
be listed as dependencies as well.

* Add new version of py-pyelftools

* py-pyelftools: add py-setuptools as a build dependency

* Address review comments
2020-04-01 22:05:58 -05:00
Carson Woods
bb0c79b504 package: add variants to cgns (#15816)
* Add additional configuration options for cgns

* Fix syntax errors

* Further syntax fixes

* Convert tabs to spaces

Co-authored-by: Carson Woods <carwood@sandia.gov>
2020-04-01 20:39:57 -05:00
Carson Woods
9b1820c2de package: add static library build option for yaml-cpp (#15814)
* Add static build option

* Fix flake8 errors and standardize spacing of build commands

Co-authored-by: Carson Woods <carwood@sandia.gov>
2020-04-01 20:39:04 -05:00
takanori-ihara
814996eebc New package:dhpmm-f (#15798)
* New package:dhpmm-f

* Remove unnecessary line
2020-04-01 20:38:09 -05:00
Todd Gamblin
5a814ad0c5 hdf5: prefer version 1.10 for now (#15810)
HDF5 1.12 broke backward compatibility, so we're preferring version 1.10
for now.  Packages that need the new API should specify:

    depends_on("hdf5@1.12:")

to be explicit. We can eventually change the preference, but at the
moment most libraries have not udpated to use the new HDF5.
2020-04-01 20:36:04 -05:00
Jonathon Anderson
e260eb4775 Version bump for slurm package (#15790) 2020-04-01 16:51:59 -05:00
Christoph Junghans
37c0039eb9 openssl: add v1.1.1f (#15802) 2020-04-01 13:57:19 -06:00
Erik Schnetter
8552efe54f amrex: New version 20.04 (#15808) 2020-04-01 13:41:23 -05:00
Robert Pavel
47f135534c Added v3 of Laghos (#15806)
* Added v3 of Laghos

Added v3 of Laghos as per
https://github.com/CEED/Laghos/blob/v3.0/README.md

* Update var/spack/repos/builtin/packages/laghos/package.py

Changed develop->master as per PR

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Made Metis Dependency Explicit

Added explicit metis dependency

* Folded @develop Laghos Deps in to @3.0:

Theoretically there will be a difference between develop and 3.0: in the
future but currently there is not

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-01 13:32:15 -05:00
Adam J. Stewart
64b14b64c0 OpenDX: add new package (#15737) 2020-04-01 13:30:03 -05:00
Robert Pavel
6ad717cc9d Fixed Remaining Shared Objects in Static Lua (#15787)
Fixed removal of remaining references and symlinks to so files when
building lua with static libraries
2020-04-01 12:31:01 -05:00
Nichols A. Romero
917c0a0efd Minor LLVM libomptarget fixes (#15788)
* Add myself as a maintainer

* This was a regression that occured in previous PR. Flang has been excised from LLVM for now until f18 is merged upstream.

* Libraries only needed when a GPU backend is present.
2020-04-01 12:28:36 -05:00
Sinan
67fbf257f0 Package/sfcgal fix typo (#15796)
* fix typo in dependency definition

* remove arbitrary dependency constraint

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-04-01 12:05:53 -05:00
Andrew Gaspar
58cb2e5092 Add libgit2 1.0.0 and 0.28.5 (#15801) 2020-04-01 12:02:55 -05:00
Greg Sjaardema
c3e8825f8e Spelling fixes (#15805)
* Spelling fixes

* spelling fixes

* spelling fixes

* spelling fixes

* spelling fix

* spelling fix

* spelling fix

* spelling fixes

* spelling fix
2020-04-01 12:02:26 -05:00
Axel Huebl
c430ad91c3 pybind11 2.5.0: Include Change (#13905)
Add pybind11, version 2.5.0.
This release adds improved include helpers.
2020-04-01 08:58:09 -07:00
Sinan
49aa28790c new package: py-spatialite (#12597)
* new package: py-spatialite

* make flake8 happy

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-04-01 08:09:39 -05:00
Dr. Christian Tacke
97cfef320c slurm: new version, system configuration path (#15466)
* Add version 18-08-9-1
* Add variant to allow setting the sysconfdir: See below

About sysconfdir:

slurm has a server and a client.
To use the correct communication channel, the client needs
to be able to read the correct config.  This config is in
PREFIX/etc.

Let's assume one has the server part installed as a system
package.  This generally is a good idea, so that the server
gets started during boot.  This means, that the config is
in /etc/slurm.

If one now wants to use the client part (library!) via
spack, one has a problem: spack's slurm looks in
SPACK-PACKAGE-PREFIX/etc for the config.

There needs to be a way to let the spack installed package
use the system's config.

So add a variant to override the path during build:
sysconfdir=/etc/slurm.

This is much like what happened in #15307 for munge.
2020-04-01 08:07:41 -05:00
Adam J. Stewart
a4b3edd68a Allow Spack Environments with '-h' in the name (#15429)
If a user invoked "spack env activate example-henv", Spack would
mistakenly interpret the "-h" from "example-henv" as the "-h" option.
This commit allows users to create and activate environments with
"-h" in the name.

This issue existed for bash shell support as well as csh support, and
this commit addresses both, along with some other unrelated csh
support issues.
2020-03-31 16:57:14 -07:00
Phil Tooley
315faf8b77 Extrae: update package shasum and binutils version (#15516)
Co-authored-by: telemin <telemin@protonmail.ch>
2020-03-31 16:14:43 -07:00
Greg Becker
336191c251 packages.yaml: allow virtuals to specify buildable: false (#14934)
Currently, to force Spack to use an external MPI, you have to specify `buildable: False`
for every MPI provider in Spack in your packages.yaml file. This is both tedious and
fragile, as new MPI providers can be added and break your workflow when you do a
git pull.

This PR allows you to specify an entire virtual dependency as non-buildable, and
specify particular implementations to be built:

```
packages:
all:
    providers:
        mpi: [mpich]
mpi:
    buildable: false
    paths:
        mpich@3.2 %gcc@7.3.0: /usr/packages/mpich-3.2-gcc-7.3.0
```
will force all Spack builds to use the specified `mpich` install.
2020-03-31 16:09:08 -07:00
Adam J. Stewart
8748160984 GMT: add 6.0.0 (#15785) 2020-03-31 15:44:17 -05:00
Adam J. Stewart
25a65638ff autoconf-archive: add new package (#15782) 2020-03-31 13:02:20 -05:00
Adam J. Stewart
663c3d21b5 JasPer: add 2.0.16 (#15781) 2020-03-31 12:08:26 -05:00
Massimiliano Culpo
7357b7023e Update link for codecov's browser extensions (#15779) 2020-03-31 09:49:25 -05:00
Ben Morgan
77e1384902 geant4: new version 10.6 plus simplifications (#15447)
* geant4: new version 10.6 plus simplifications

Add new 10.6.0 release, migrating download of source to use Geant4's
public release repo on CERN GitLab. Change versioning scheme to use
clearer and standard semantic scheme.

Update geant4-data and g4XXX data packages with new versions. Migrate
geant4-data as a BundlePackage of the g4XXX packages, installing links
to each under a single directory under share for geant4-data. Ensure
each g4XXX package exports the environment variable pointing to its
location expected by Geant4.

Remove "data" variant from Geant4 package and always use geant4-data.

Simplify cxxstd variant transport to dependencies.

* g4<DATA>: Use self to resolve correct prefix

* geant4, data: Fix flake8 errors

* g4photonevaporation: flake8 fix

* geant4: vecgeom version depends_on

Geant4 major.minor versions have specific dependencies on vecgeom
versions. Add missing vecgeom version for geant4 10.5, and match
version requirements for vecgeom in geant4 depends_on.

* geant4: c++17 patch specific for 10.4.3

* geant4: simplify geant4-data setup

* geant4: Use new define_from_variant function

* geant4: fix flake8 errors
2020-03-31 09:54:31 +01:00
Toyohisa Kameyama
628516c761 ppOpen-APPL/FVM: new package. (#15772)
* ppOpen-APPL/FVM: new package.

* copy_tree -> install_tree.
2020-03-30 23:02:14 -05:00
Satish Balay
864960937d superlu-dist: add new version 6.3.0 (#15766) 2020-03-30 19:52:31 -05:00
Ryan Mast
8bc6b290e5 helics: add new package (#15763)
* helics: add new package

* Remove FIXME boilerplate

* Use open @master: verison range for git dependency and remove mpi fix branch version

* Add blank line after spack import
2020-03-30 19:50:53 -05:00
Satish Balay
a96b742797 Balay/petsc 3.13.0 (#15767)
* petsc: add 3.13.0 (using petsc-lite) and 3.12.5

* petsc@3.13.0: update hdf5 and superlu-dist dependencies

* flake8 fix

* fixes for comments

Co-authored-by: Jed Brown <jed@jedbrown.org>
2020-03-30 19:50:29 -05:00
Adam J. Stewart
3c18d2a0e8 py-torch: make sure unit tests are registered (#15765) 2020-03-30 17:44:58 -05:00
Axel Huebl
3f50b9e08d CUDA 10.1+ supports ICC 19.0 (#15764)
Fix the CUDA-ICC conflict check.
Simplify the XL 17 check.
2020-03-30 16:24:05 -05:00
Adam J. Stewart
ccc7c9b86d py-horovod: fix compilation of ~cuda (#15719)
* py-horovod: fix compilation of ~cuda

* Rewrite py-horovod with only 3 variants

* Add upstream patch to workaround compilation issue
2020-03-30 16:09:17 -05:00
Andrew W Elble
6747ecde16 py-onnx: depends on cmake >= 3.1 (#15762)
* py-onnx: depends on cmake >= 3.1

* Update var/spack/repos/builtin/packages/py-onnx/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-03-30 14:58:57 -05:00
Amjad Kotobi
0c7fff6065 Update git version to 2.26.0 (#15756)
* Update git version to 2.26.0

* Fix1
2020-03-30 11:56:40 -05:00
Robert Pavel
8d1e88658d Aded Option to Disable Shared Lua library Generation (#15758)
* Aded Option to Disable Shared Lua library

Added option to disable generation of shared object library for lua to
avoid build issues on static only platforms

* Fixed Flake8 Issue with Lua Spackage

Fixed indentation issue with lua spackage
2020-03-30 11:56:23 -05:00
Hadrien G
abdada03a8 Add ACTS v0.20 and take move to GitHub into account (#15757) 2020-03-30 16:48:36 +01:00
Fabian Brandt
605b7b5d23 New package: libnetworkit (#15714)
* New package libnetworkit

* Fixed artificial dependency restriction
2020-03-30 08:17:21 -05:00
Carson Woods
e9d573d110 package: add additional configuration options to lmod (#15682)
* Add further configuration options

* Convert auto-swap to auto_swap. Might eventually switch to key-value pair instead.
2020-03-30 08:14:07 -05:00
Carson Woods
05b7ec48c5 Add additional config options to gdb (#15754) 2020-03-29 23:05:24 -05:00
Carson Woods
3cbc26cfa6 Add additional configuration options for binutils (#15753) 2020-03-29 23:05:11 -05:00
Todd Gamblin
3310eaab99 spack-python should exec spack python (#15738)
The current implementation of `spack-python` will leave an extra shell
around while it runs.  That shell should really replace itself with
spack.

- [x] add exec to spack-python script
2020-03-29 19:38:15 -07:00
Adam J. Stewart
757d768a07 py-mayavi: add new package (#15751) 2020-03-29 21:11:13 -05:00
Adam J. Stewart
7bed5e7c1a py-envisage: add new package (#15748) 2020-03-29 20:41:24 -05:00
Adam J. Stewart
0372582bf0 py-apptools: add new package (#15747) 2020-03-29 20:08:52 -05:00
Carson Woods
61c1322430 new package: intel-mpi-benchmarks (#15745)
* Add initial attempt at intel-mpi-benchmarks package

* Add more checksummed versions

* Changes to how makefile is handled

* First working install version. Needs tuning to support building specific benchmarks

* Add variant for building specific benchmarks rather than all of them

* Minor syntax change
2020-03-29 19:46:16 -05:00
Adam J. Stewart
17cd359ddf py-traitsui: add new package (#15744) 2020-03-29 19:38:02 -05:00
Adam J. Stewart
f1aab835fe CitcomS: add maintainer, master version, python dep (#15742) 2020-03-29 17:23:21 -05:00
Adam J. Stewart
4287d2290c py-pyface: add new package (#15743) 2020-03-29 17:22:24 -05:00
Adam J. Stewart
df4e89770a py-traits: add new package (#15741) 2020-03-29 16:34:18 -05:00
Jean-Paul Pelteret
4b3b023284 deal.II: Update dependencies and fix target for vectorisation (#15731)
* Update ADOL-C homepage url

* Update SymEngine to v0.6

* deal.II: Add code to add target vectorisation flags
2020-03-29 10:56:15 -05:00
Adam J. Stewart
c3d0973c3e motif: add pkgconfig dependency (#15736) 2020-03-29 10:55:57 -05:00
Patrick Gartung
cbcac72254 Buildcache keys command speed up (#15727)
* Limit the spidering to depth=0 for keys

* depth=0 is default argument
2020-03-28 16:49:34 -05:00
Andrew W Elble
beaa4fbe3c New package: gdrcopy (#15732)
* New package: gdrcopy

provides the userspace libraries for gdrcopy.

* Update var/spack/repos/builtin/packages/gdrcopy/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-03-28 16:44:23 -05:00
Daniele Cesarini
ddccad14c9 XIOS: add new versions (#15728)
* XIOS: add new versions

Patch has been removed because it was not applied to any previously
existing versions and it actually breaks the new versions added by this
PR.

* Sort versions from newest to oldest
2020-03-28 15:49:21 -05:00
Tom Scogland
a3e1b2bd58 llvm: libomptarget support (#14060)
This allows the llvm build to support:

* clang cuda
* libomptarget for:
  * current host
  * cuda
* bitcode compilation of libomptarget device runtime for inlining by 
  bootstrapping libomptarget
* split dwarf information support as an option for debug builds, if you need a
  debug build, for the love of all that's good in the universe use this flag
* adds necessary dependencies for shared library builds and libomp and
  libomp target to build correctly
* new version of z3 to make it sufficient to build recent llvm

The actual change is much smaller than the diff, this is because it's been formatted with black.  I realize this kinda sucks right now, but I'm hoping it will make future updates here less painful.
2020-03-28 13:20:06 -07:00
Kai Germaschewski
f3c2ebbfb8 fix gcc@8.4.0 build (#15729)
the gcc package.py includes patches for a sanitizer related bug that look
like they've been fixed in gcc 8.4.0, which caused `spack install` to fail.

This PR excludes patching gcc >= 8.4.0 and < 9.0.0.
2020-03-28 13:06:17 -05:00
Amjad Kotobi
c1d111af74 Add package swiftclient (#15700)
* Add package swiftclient

* Fix on url

* Package name changed to py-python-swiftclient and changes on dependencies
2020-03-28 12:14:05 -05:00
iarspider
6969526e0f py-statsmodels: update to 0.102 and fix dependencies (#15708)
* py-statsmodels: update to 0.102 and fix dependencies

* Update var/spack/repos/builtin/packages/py-statsmodels/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-03-28 12:13:47 -05:00
Daryl W. Grunau
8beeeeb74c new package ddd (#15717)
* new package ddd

* mitigate build/installs on case-insensitive filesystems

* add missing variants

* flake8 fixes

* flake8: E124 closing bracket does not match visual indentation

Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2020-03-28 12:12:49 -05:00
iarspider
33f424ff1d Update URL for new py2neo versions (#15324)
* Update URL for new py2neo versions

* Use pypi for py-py2neo

* Add version 4.3.0

* Update py2neo dependencies

* Apply suggestions from code review

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-03-28 09:15:28 -05:00
Christoph Junghans
0b1c0bdd6e xsbench: fix build of v19 (#15715)
* xsbench: fix build of v19

* Flake8
2020-03-28 09:11:37 -05:00
iarspider
27e4a4750d Hack to select iconv implementation - libiconv vs. libc iconv (#15437)
(re-do of #15213 due to changes in gnupg recipe)
2020-03-28 09:10:31 -05:00
Veselin Dobrev
9f7255da71 mesa: re-introduce the libs property (#15716)
They were originally added in #8904 and later removed (why?) in #10482.
2020-03-28 11:30:05 +01:00
Adam J. Stewart
db67b78fb9 py-petastorm: add new package (#15722) 2020-03-28 00:30:50 -05:00
Adam J. Stewart
33b19e7bf0 py-diskcache: add new package (#15721) 2020-03-27 22:20:15 -05:00
Greg Sjaardema
6e49f5f0e5 netcdf-c: remove maxdims and maxvars variant (#15524)
* NETCDF: Remove maxdims maxvars variant

I'm not sure of the correct protocol to do this, so decided to make a stab and hopefully it works or I'm told the correct way...

The `maxdims` and `maxvars` variants for the NetCDF package were, to the best of my knowledge, only ever used for the Exodus library in the SEACAS package.  In versions of NetCDF prior to 4.4.0, Exodus required that the `NC_MAX_DIMS` and `NC_MAX_VARS` be increased over the default values.  This requirement was removed in 4.4.0 and later.

I do not know of any way to make a variant depend on the version and since the `maxdims` and `maxvars` variants are integer values and not boolean, then every build of NetCDF will have  these variants.  Typically `maxdims=1024 maxvars=8192` and the build will patch the `netcdf.h` include file for every build even though it is (almost) never needed. 

The SEACAS package has a NetCDF version requirement of >4.6.2, so it no longer specifies the `maxdims` or `maxvars` variant and I could find no other package in spack that uses this variant either, so removal should not break anything *in* spack.  However, there is no guarantee that some other external package doesn't use the variant, so I'm not sure of the correct way to remove the variant.  

For this PR, I simply removed the variants.  If there is a way to specify use of the variant tied to a specific version, I couldn't find it anywhere...

* Address review comment

Removed `is_integral` and `import numbers` since `is_integral` was only place it was used.

* Add blank line for flake8
2020-03-27 21:55:04 -05:00
Sinan
f6f5604927 Package/qgis add versions 3.10.4 3.12.1 (#15720)
* add latest versions

* order dependencies alphabetically

* flake8

Co-authored-by: Sinan81 <Sinan81@github>
2020-03-27 21:36:33 -05:00
Andrew W Elble
aed516ad56 TensorFlow: let install take care of the headers (#15718)
* TensorFlow: let install take care of the headers

we don't need to manually install them.

* no longer need to import glob
2020-03-27 21:35:13 -05:00
Sinan
829bfb5788 magma now extends CudaPackage class, taking care of the gcc conflicts (#14471)
* magma now extends CudaPackage class, taking care of the gcc conflicts

* enforce +cuda; thus cuda is dependency via CudaPackage class

* add conflict

* use cuda_arch to set GPU_TARGET build option

* get rid of unnecessary constraint

* flake8

* impose cuda version dependency found empirically

* add variant description

* add conflict

Co-authored-by: Sinan81 <Sinan81@github>
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-03-27 15:28:54 -05:00
Benjamin Fovet
d909c6d89d Add new package CMinpack (#15606)
* Add new package CMinpack

* Add link to CMinpack PR#21
2020-03-27 14:29:49 -05:00
JeromeDuboisPro
2b915dc517 Adding mesa-glu 9.0.1 (2019) (#15705)
Adding mesa-glu 9.0.1 (2019)
2020-03-27 14:28:51 -05:00
iarspider
cd82228c78 py-multiprocess: add new version (0.70.9) and dependencies (#15710)
* py-multiprocess: add new version (0.70.9) and dependencies

* Add new version of py-dill

* Update package.py

* Update package.py
2020-03-27 12:57:29 -05:00
Daryl W. Grunau
f40080934e New package lesstif (#15703)
* new package lesstif

* incorporate more of the Homebrew build recipe

Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2020-03-27 12:57:04 -05:00
Adam J. Stewart
b6d2abf885 py-grpcio: add new version (#15713) 2020-03-27 11:43:16 -05:00
Sinan
b397af5d9c Package/qscintilla: python bindings via extend path (#15599)
* build python bindings within qscintilla package via extend_path trick

* add todo

* reflect new setup also in py-pyqt4 package

* get rid of qscintilla dependency

* also tweak qgis for the new setup

* generalize the building of python bindings

* generalize building of pythong bindings to all qt versions

* add qsci_api variant

* add qsci_variant for pyqt4 package as well; add comment

* pyqt dependency should build with +qsci_api variant enabled

* fix bugs

* improve style

* reflect recent changes

* flake8

* improve style

* more flake8

* more flake8

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-03-27 11:42:58 -05:00
Nichols A. Romero
c5e74fef32 QMCPACK Update March 2020 - Part 2 (#15616)
* Add some comments explaining the choice of flag_handler.

* Fix QMCPACK install method.

* Add support for ppconvert. This requires a custom build method.

* Fix QMCPACK setup_run_environment. Nexus should be properly supported now.

* Cleaner way to check for intel-mkl in spec.

* Remove build method and use build_targets property instead.

* Additional fixed for install method. Effectively restoring the original install method.

* Add the missing backslash to fix directory names.

* Update var/spack/repos/builtin/packages/qmcpack/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/qmcpack/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/qmcpack/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Omit these conflicts on mkl variants for now, will hopefully be supportted with new concretizer in a couple of months.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-03-27 11:38:28 -05:00
darmac
d7454baa55 util-linux: add libmount variant (#15631) 2020-03-27 11:35:08 -05:00
darmac
c3e41444ff Add new package: zfs (#15632) 2020-03-27 11:34:03 -05:00
Hector
fb5afb4cb4 add source-highlight variant to gdb (#15634) 2020-03-27 11:33:33 -05:00
noguchi-k
0ca5ad237a denovogear: fixed comparison error (#15638) 2020-03-27 11:29:30 -05:00
iarspider
953bd04cb3 Bison: add version 3.3.2 (#15707) 2020-03-27 11:21:42 -05:00
iarspider
0f8148b258 py-attrs: add version 19.3.0 (#15709) 2020-03-27 11:16:40 -05:00
Dr. Christian Tacke
16f104aafe intel-tbb: new download url, fix sha256 (#15675)
intel moved the repository around.
github changes the prefix inside the tar according to the
repository name.

So all sha256 have changed!

I verified that the tar contents for 2019.4 did not change
except for the prefix.
2020-03-27 10:59:05 -05:00
Amjad Kotobi
6e82761d4e New package Anaconda2 (#15676) 2020-03-27 10:58:50 -05:00
Andrew W Elble
108a0c99f1 TensorFlow: Make horovod compilation work (#15692)
* TensorFlow: Clean up/simplify the installation, make sure the headers are
installed so that horovod can find them successfully. Fix the 2.0.* builds.

* Backport of 837c8b6b upstream
"Remove contrib cloud bigtable and storage ops/kernels."
Allows 2.0.* releases to build with '--config=nogcp'

* comment regarding tensorflow issue #31187

Co-authored-by: Andrew W Elble <aweits@skl-a-00.rc.rit.edu>
2020-03-27 10:51:04 -05:00
Toyohisa Kameyama
7df7b65cec ppOpen-AT: New package (#15649)
* ppOpen-AT: New package

* use install instead of install-after.

* use install_tree.

* forget remove mkdir.
2020-03-27 08:16:48 -05:00
Brian Homerding
420b5dd4b9 MpiP: adding variant to build shared libraries (#10410) 2020-03-27 12:07:57 +01:00
darmac
e1238bae90 dpdk: added new package at v20.02 (#15635) 2020-03-27 10:21:16 +01:00
darmac
6a33c269bd sshpass: added new package (#15704) 2020-03-27 08:44:41 +01:00
iarspider
97c3addad3 cppgsl: added v2.1.0 (#15696)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-03-27 08:42:50 +01:00
Fabian Brandt
dcc4aabce1 New package libtlx (#15650)
* New package libtlx

* Replaced dash characters with ascii dash
2020-03-26 22:55:27 -05:00
Michael Kuhn
5f06e50902 meson: Add 0.53.2 and fix setuptools dependency (#15674)
py-setuptools is actually required for running meson.
2020-03-26 22:50:20 -05:00
Hector
0ebed5a618 fix gdb installation (#15679)
* fix gdb installation

* add reference url
2020-03-26 22:45:47 -05:00
Sinan
2828815a49 add new versions (#15688)
Co-authored-by: Sinan81 <Sinan81@github>
2020-03-26 22:41:57 -05:00
noguchi-k
5cb4db8570 gtkorvo-dill: fix argument type of clear_cache (#15689) 2020-03-26 22:41:25 -05:00
Toyohisa Kameyama
8293660217 ppOpen-MATH/MP: New package. (#15690)
* ppOpen-MATH/MP: New package.

* Fix quote.
2020-03-26 22:40:22 -05:00
Seth R. Johnson
e989c05cd0 Add include-what-you-use (#15691) 2020-03-26 22:38:56 -05:00
iarspider
209c7e3ddd xrootd: new version (4.11.2) (#15694) 2020-03-26 22:37:56 -05:00
iarspider
bbc76c3551 fmt: new version (6.1.2) (#15695) 2020-03-26 22:37:33 -05:00
iarspider
640df9c20b range-v3: add new version (0.10.0) (#15697) 2020-03-26 22:36:24 -05:00
Roman Briskine
ef7837410e Fix non-root installations; update homepage (#15701) 2020-03-26 22:32:19 -05:00
Jennifer Herting
7b4354b4c3 genometools: added v1.6.1 (#15657) 2020-03-26 15:01:24 +01:00
Andrew Gaspar
a0c8686105 catch2: added versions up to v2.11.3 (#15680) 2020-03-26 12:46:39 +01:00
Toyohisa Kameyama
9e51ba80c7 ppOpen-Math/VIS: added new package (#15665) 2020-03-26 08:37:25 +01:00
darmac
9f5873324e kmod: added package at v27 (#15633) 2020-03-26 07:50:28 +01:00
gauthier12
851fb173c8 med package: add version 4.0.0 (#15652) 2020-03-25 19:10:31 -07:00
iarspider
a2801a8deb OpenJDK: add version 8u222 (#15677) 2020-03-25 19:00:39 -07:00
Carson Woods
9f256ed953 darshan-util and darshan-runtime: add version 3.1.8 (#15681) 2020-03-25 19:00:15 -07:00
Dan Bonachea
e042bd9d89 UPC++ 2020.3.0 update (#15623)
## Summary

This PR updates and improves the Spack package for [UPC++](https://upcxx.lbl.gov).
I'm an LBL employee and developer on the UPC++ team, as well as the maintainer of this Spack package.

### Key Improvements:
* Adding new 2020.3.0 release and support for use of develop/master branches
    - Our build infrastructure underwent a major change in this release, switching from a hand-rolled Python2 script to a bash-based autoconf work-alike. 
    - The new build system is NOT using autotools (nor does it support some of the more esoteric autoconf options), but the user interface for common builds is similar.
* Add explicit support for an MPI optional dependency
    - New `mpi` variant enables use of the MPI-based spawner (most relevant on loosely coupled clusters), and the (unofficial) mpi-conduit backend
    - This variant is OFF by default, since UPC++ works fine without MPI on many systems, increasing the likelihood first-time Spack users get a working build without needing to correctly setup MPI
* Add support for post-install testing using the test support deployed in the new build infrastructure
* Fix or workaround a few bugs observed during testing 

### Status

The new package has been validated with a variety of specs across over seven different systems, including: NERSC cori, ALCF Theta, OLCF Summit, an in-house Linux cluster, and macOS laptops (Mojave and Catalina).
2020-03-25 16:05:13 -07:00
Axel Huebl
9c0b197460 WarpX: MPI, Backends, Ascent (#15647)
Expose serial/parallel build (MPI), CUDA/OpenMP backends, Clang, and
Ascent bindings.

Interestingly, `warpx +ascent` currently leads to an infinite loop in
the Spack concretizer.
2020-03-25 14:54:13 -07:00
Massimiliano Culpo
b42a96df98 provider index: removed import from + refactored a few parts (#15570)
Removed provider_index use of 'import from' and refactored a few routines to a further subclassing of _IndexBase for implementing user defined bindings of provider specs.
2020-03-25 09:48:05 -07:00
Axel Huebl
3aa225cd5c openPMD-api: added v0.11.1 (#15659)
Add the latest release with HDF5-1.12 compatibility.
2020-03-25 11:57:00 +01:00
xfzhao
f1aec94719 mothur: specify version of vsearch (#15661) 2020-03-25 11:50:30 +01:00
Ben Morgan
2480217387 gitconddb: new package at v0.1.1 (#15651)
Git-based conditions database for HEP and other experiments.

Use latest release version and current master to support Linux and
macOS. Add core known dependencies and conflicts related to C++17
support.

cxxstd variant added to help transitive dependencies, and for future
support for newer standards in future.
2020-03-25 11:28:06 +01:00
Hadrien G
b8db87e1dc ACTS: added v0.19 (#15671) 2020-03-25 10:49:53 +01:00
Sinan
24ca071652 pocl: add versions up to v1.4.0 (#15672)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-03-25 10:49:09 +01:00
Jeffrey Salmond
7e1e98cf8f julia: added v1.4.0 (#15673) 2020-03-25 10:46:04 +01:00
darmac
16eb86acf2 libwebp: fix sha256 checksum (#15639) 2020-03-25 00:07:34 -07:00
Stephanie Brink
4e6c07529d xz: add version 5.2.5 (#15656) 2020-03-24 23:05:26 -07:00
Matthias Diener
d099143999 charmpp: add version 6.10.1+cleanups
- change URL to http as our server only supports TLSv1.0, which
not all HTTPS clients accept anymore
- change name of development branch to 'master'
2020-03-24 23:04:41 -07:00
Carson Woods
25e50a9943 pmix: add version 2.2.3 (#15668) 2020-03-24 23:01:24 -07:00
Carson Woods
cfa8e69835 singularity: add version 3.5.3 (#15669) 2020-03-24 23:01:00 -07:00
Massimiliano Culpo
1a5e4232ed spack.repo: remove "import from" statements (#15505)
spack.repo: remove "import from" statements
2020-03-24 14:26:35 -07:00
eugeneswalker
862e13183d workaround for otf2's erroneous python2 configure requirement (#15653) 2020-03-24 14:11:38 -07:00
Amjad Kotobi
3b7c79b225 r-remotes: added v2.1.1 (#15627) 2020-03-24 10:10:33 +01:00
Tomoki, Karatsu
dfe4e980ea py-onnx: remove_dllexport_decl. (#15648) 2020-03-24 09:56:39 +01:00
Massimiliano Culpo
1b4de7813a spack.relocate: add unit test (#15610)
* relocate: removed import from statements
* relocate: renamed *Exception to *Error

This aims at consistency in naming with both
the standard library (ValueError, AttributeError,
etc.) and other errors in 'spack.error'.

Improved existing docstrings

* relocate: simplified search function by un-nesting conditionals

The search function that searches for patchelf has been
refactored to remove deeply nested conditionals.

Extended docstring.

* relocate: removed a condition specific to unit tests
* relocate: added test for _patchelf
2020-03-24 09:02:54 +01:00
Michael Kuhn
7e0ec0ec09 automake: Add 1.16.2 2020-03-23 18:52:02 -07:00
Peter Scheibel
8283068438 Bugfix: remove unit tests that install real packages (#15646)
Our unit tests run many times. Any unit test which actually installs
a package (which involves fetching code on the internet) is a severe
bug because it runs an installation many times (i.e. re-downloading
the same package for each version of Python that we run unit tests
for).

This reverts commit 25893f1, which added tests that install real
packages.
2020-03-23 18:10:44 -07:00
Andreas Baumbach
7b486fd84d py-ics: add version 0.7 2020-03-23 17:04:04 -07:00
Carson Woods
6a18bfbae8 CMake: add version 3.9.2 (#15644) 2020-03-23 17:03:25 -07:00
Carson Woods
e1f593b6c6 lmod: add version 7.8.1 (#15643) 2020-03-23 17:02:46 -07:00
Todd Gamblin
cde4375c96 Vendoring: remove dependency on Setuptools from vendored pytest (#15612)
If the Python used by Spack does not include Setuptools, then
'spack test' will fail because Spack's vendored pytest dependency
imports and uses Setuptools in some of its functions. It turns out
that Spack doesn't use the functionality those methods enable, so
this PR removes those functions and thereby allows 'spack test' to
run without Setuptools.
2020-03-23 16:55:07 -07:00
Todd Gamblin
54a6c25da6 Bugfix (config): enable "spack test" when in an active environment (#15618)
For any Spack test using Spack's YAML configuration, avoid using real
Spack configuration that has been cached by other tests and Spack
startup logic. Previously this was only done for tests using
'mutable_config' (i.e. those which expected to *change* the
configuration of Spack), but in fact all tests that read Spack config
should use it.

This was an issue when running tests within an environment, because
compiler configuration ends up being queried earlier, and the user's
real config "leaks" into the cache. Outside an environment, the cache
is never set until tests touch it, so we weren't seeing this issue.
2020-03-23 15:15:36 -07:00
Piotr Luszczek
d3c1a4c94b xsdk-examples: add new package at version 0.1.0 (#15621)
* xsdk-examples: add new package at version 0.1.0
2020-03-23 00:10:15 -05:00
Todd Gamblin
0323f84e79 bugfix: TERM may not be in the environment on Cray (#15630) 2020-03-22 20:47:04 -07:00
Todd Gamblin
d9c5b7de10 bugfix: spack test should not output [+] for mock installs (#15609)
`spack test` has a spurious '[+] ' in the output:

```
lib/spack/spack/test/install.py .........[+] ......
```

Output is properly suppressed:

```
lib/spack/spack/test/install.py ...............
```
2020-03-22 15:46:54 -07:00
Adam J. Stewart
62787a7a3b NCCL: add 1.2.2 (#15628) 2020-03-22 15:32:53 -05:00
Axel Huebl
a3e3413855 WarpX: Update ES and openPMD (#15611)
Update WarpX for recent developments:
- add openPMD I/O (default: ON)
- remove electro-static solver option (now a runtime option)
- enable tiny profiler by default
- depend on new CXX std support in make scripts for C++14
- WarpX only supports 2D and 3D in cartesian dims
2020-03-21 15:36:15 -07:00
Ben Morgan
bb4e9a7b32 davix: add cxxstd variant (#15593)
* davix: add cxxstd variant

Davix is written in C++, so add this variant to allow dependents to specify
this so a consistent ABI is used.

* davix: fix flake8 errors
2020-03-21 13:27:35 -05:00
Patrick Gartung
25893f154f Buildcache: attempt to build and install buildcaches in test environment (#15577)
* Put bindist.py on it's own branch

* Working on SL7 with python 3.6

* Flake8

* Put back clearing of compiler cache
2020-03-21 13:26:37 -05:00
Adam J. Stewart
983f9d3419 bash: add patches up to 5.0.16 (#15615) 2020-03-21 12:42:54 -05:00
Adam J. Stewart
7bde39d883 Fix bug in py-dgl installation, add unit tests (#15617) 2020-03-21 11:52:01 -05:00
darmac
4b771bc521 add new package: nfs-ganesha (#15580)
* add new pacakge: nfs-ganesha

* refine package.py

* update bison & flex as build depends
2020-03-21 10:42:08 -05:00
Todd Gamblin
5df9dd2b48 Merge branch 'releases/v0.14' into develop 2020-03-20 23:12:45 -07:00
Andrew W Elble
e4d225043f performance: add a verification file to the database (#14693)
Reading the database repeatedly can be quite slow.  We need a way to speed
up Spack when it reads the DB multiple times, but the DB has not been
modified between reads (which is nearly all the time).

- [x] Add a file containing a unique uuid that is regenerated at database
    write time. Use this uuid to suppress re-parsing the database
    contents if we know a previous uuid and the uuid has not changed.

- [x] Fix mutable_database fixture so that it resets the last seen
    verifier when it resets.

- [x] Enable not rereading the database immediately after a write. Make
    the tests reset the last seen verifier in between tests that use the
    database fixture.

- [x] make presence of uuid module optional
2020-03-20 17:05:51 -07:00
Patrick Gartung
e2125c26ce Buildcache: add unit tests for normalized path functions in relocate.py (#15607) 2020-03-20 16:54:27 -05:00
Ryan Mast
76c9e6d871 fix: change typo dependnecies to dependencies (#15602) 2020-03-20 16:02:01 -05:00
Ryan Mast
dc5c73968f swig: add version 4.0.1 (#15603) 2020-03-20 16:01:45 -05:00
Adam J. Stewart
64737e0632 py-torchtext: add new package (#15604) 2020-03-20 16:01:18 -05:00
Matthias Maiterth
42db143587 freeipmi: Initial commit (#15576)
* freeipmi: Initial commit

Added freeipmi package. Configure and build work fine, install only as root,
thus added warning and added reference to issue #4432 .

* freeipmi: fixed change requests
2020-03-20 14:51:51 -05:00
Benjamin Fovet
74ba247839 Add gmsh v4.5.4 with new options (#15591)
* Add gmsh v4.5.4 with new options

This adds OpenCASCADE as an alternative to the oce package.
A new variant 'privateapi' is added to enable the gmsh private API.

* Make oce conflict with opencascade in gmsh
2020-03-20 14:51:30 -05:00
Benjamin Fovet
d3fafaa868 Add Ceres Solver v1.14.0 with new variants (#15597)
* Add Ceres Solver version 1.14.0

* Add variants for Ceres Solver
2020-03-20 14:51:01 -05:00
Carson Woods
c45644afaa Add 33.2.1 version with checksum to lua-luaposix (#15600) 2020-03-20 14:50:07 -05:00
Adam J. Stewart
70577e4fd7 py-sentencepiece: add new package (#15601) 2020-03-20 14:42:54 -05:00
Todd Gamblin
e2b1737a42 update CHANGELOG.md for 0.14.1 2020-03-20 12:29:44 -07:00
Todd Gamblin
ff0abb9838 version bump: 0.14.1 2020-03-20 12:29:36 -07:00
Dan Lipsa
9c45c44738 Add version 5.8 and fix sqlite+column_metadata mismatch. (#15450) 2020-03-20 15:26:41 -04:00
Greg Becker
3826cdf139 multiprocessing: allow Spack to run uninterrupted in background (#14682)
Spack currently cannot run as a background process uninterrupted because some of the logging functions used in the install method (especially to create the dynamic verbosity toggle with the v key) cause the OS to issue a SIGTTOU to Spack when it's backgrounded.

This PR puts the necessary gatekeeping in place so that Spack doesn't do anything that will cause a signal to stop the process when operating as a background process.
2020-03-20 12:23:55 -07:00
Greg Becker
75fafcece9 multiprocessing: allow Spack to run uninterrupted in background (#14682)
Spack currently cannot run as a background process uninterrupted because some of the logging functions used in the install method (especially to create the dynamic verbosity toggle with the v key) cause the OS to issue a SIGTTOU to Spack when it's backgrounded.

This PR puts the necessary gatekeeping in place so that Spack doesn't do anything that will cause a signal to stop the process when operating as a background process.
2020-03-20 12:22:32 -07:00
Michael Kuhn
545fae8407 spack checksum: Use package's fetch_options (#15481)
This makes sure that a package's fetch_options are used when fetching
new versions to checksum. This allows working around problems with
slow servers or those requiring a cookie to be set.
2020-03-20 12:11:42 -07:00
Greg Becker
30b4704522 Cray bugfix: TERM missing while reading default target (#15381)
Bug: Spack hangs on some Cray machines

Reason: The TERM environment variable is necessary to run bash -lc "echo $CRAY_CPU_TARGET", but we run that command within env -i, which wipes the environment.

Fix: Manually forward the TERM environment variable to env -i /bin/bash -lc "echo $CRAY_CPU_TARGET"
2020-03-20 11:47:10 -07:00
Kai Germaschewski
09e13cf7cf Upstreams: don't write metadata directory to upstream DB (#15526)
When trying to use an upstream Spack repository, as of f2aca86 Spack
was attempting to write to the upstream DB based on a new metadata
directory added in that commit. Upstream DBs are read-only, so this
should not occur.

This adds a check to prevent Spack from writing to the upstream DB
2020-03-20 11:46:23 -07:00
Massimiliano Culpo
296d58ef6b Creating versions from urls doesn't modify class attributes (#15452)
fixes #15449

Before this PR a call to pkg.url_for_version was modifying
class attributes determining different results for subsequents
calls and an error when the urls was empty.
2020-03-20 11:45:40 -07:00
Greg Becker
ec720bf28d bugfix: fix install_missing_compilers option bug from v0.14.0 (#15416)
* bugfix: ensure bootstrapped compilers built before packages using the compiler
2020-03-20 11:44:59 -07:00
Todd Gamblin
1e42f0a545 bugfix: installer.py shouldn't be executable (#15386)
This is a minor permission fix on the new installer.py introduced in #13100.
2020-03-20 11:44:23 -07:00
eugeneswalker
2f8ff722a9 tau: add dependency on hwloc (#15589) 2020-03-20 11:44:03 -07:00
Patrick Gartung
62683eb4bf Add function replace_prefix_nullterm for use on mach-o rpaths. (#15347)
This recovers the old behavior of replace_prefix_bin that was
modified to work with elf binaries by prefixing os.sep to new prefix
until length is the same as old prefix.
2020-03-20 11:43:54 -07:00
Massimiliano Culpo
901bed48ec ArchSpec: fix semantics of satisfies when not concrete and strict is true (#15319) 2020-03-20 11:42:22 -07:00
Adam J. Stewart
cc8d9eee8e suite-sparse: fix installation for v5.X (#15326)
fixes #15184

GraphBLAS depends on m4 according to CMake error message
Do not use INSTALL= when compiling the library
2020-03-20 11:41:59 -07:00
Tamara Dahlgren
1c8f792bb5 testing: increase installer coverage (#15237) 2020-03-20 11:40:52 -07:00
Tamara Dahlgren
9a1ce36e44 bugfix: resolve undefined source_pkg_dir failure (#15339) 2020-03-20 11:40:39 -07:00
Adam J. Stewart
3f4d300c84 sentencepiece: add new package (#15596) 2020-03-20 13:39:39 -05:00
Massimiliano Culpo
59a7963785 Bugfix: resolve StopIteration message attribute failure (#15341)
Testing the install StopIteration exception resulted in an attribute error:

AttributeError: 'StopIteration' object has no attribute 'message'

This PR adds a unit test and resolves that error.
2020-03-20 11:39:28 -07:00
Tamara Dahlgren
733f9f8cfa Recover coverage from subprocesses during unit tests (#15354)
* Recover coverage from subprocesses during unit tests
2020-03-20 11:38:28 -07:00
Massimiliano Culpo
fa0a5e44aa Correct pytest.raises matches to match (#15346) 2020-03-20 11:35:49 -07:00
Tamara Dahlgren
5406e1f43d bugfix: Add dependents when initializing spec from yaml (#15220)
The new build process, introduced in #13100 , relies on a spec's dependents in addition to their dependencies. Loading a spec from a yaml file was not initializing the dependents.

- [x] populate dependents when loading from yaml
2020-03-20 11:34:23 -07:00
Seth R. Johnson
f3a1a8c6fe Uniquify suffixes added to module names (#14920) 2020-03-20 11:33:07 -07:00
Tamara Dahlgren
b02981f10c bugfix: ensure proper dependency handling for package-only installs (#15197)
The distributed build PR (#13100) -- did not check the install status of dependencies when using the `--only package` option so would refuse to install a package with the claim that it had uninstalled dependencies whether that was the case or not.

- [x] add install status checks for the `--only package` case.
- [x] add initial set of tests
2020-03-20 11:23:28 -07:00
Andrew W Elble
654914d53e Fix for being able to 'spack load' packages that have been renamed. (#14348)
* Fix for being able to 'spack load' packages that have been renamed.

* tests: add test for 'spack load' of a installed, but renamed/deleted package
2020-03-20 11:21:40 -07:00
Michael Kuhn
3753424a87 modules: store configure args during build (#11084)
This change stores packages' configure arguments during build and makes
use of them while refreshing module files. This fixes problems such as in
#10716.
2020-03-20 11:16:39 -07:00
Greg Becker
32a3d59bfa fetch_strategy: remove vestigial code (#15431) 2020-03-20 11:14:37 -07:00
Adam J. Stewart
6f3983b1c7 py-dgl: add new package (#15594) 2020-03-20 12:42:24 -05:00
Benjamin Fovet
e66a7530a1 Add NLopt version 2.6.1 (#15595) 2020-03-20 12:42:01 -05:00
Kevin Manalo
3b70c932aa papi: add version 6.0.0 (#15590) 2020-03-20 10:08:54 -07:00
Dr. Christian Tacke
cf45d38d24 root: Add version 6.20.{00,02} (#15487)
* Add version 6.20.{00,02}, don't yet mark it preferred
* It needs zstd
* It needs numpy (at least for 6.20.00:6.20.03)
* Reorder python dependencies a bit

* Add mlp variant, default False
  Older versions always include mlp, so no conflicts there.
* Disable tmva, because it needs mlp
* tmva needs mlp, so add conflict
2020-03-20 16:55:48 +00:00
Dr. Christian Tacke
03945c2541 Show the packaga name for a missing patch sha256 (#15441)
When a patches sha256 is missing, also show the
packagename, so that analyzing is easier.
2020-03-20 11:39:04 -05:00
Matthieu Dorier
d14a6e6bc7 Added two new versions of spdlog (#15586) 2020-03-20 09:19:06 -05:00
darmac
5f63fc5316 add new package: glusterfs (#15565)
* add new package: glusterfs

* fix list_depth for url

* remove list_depth

* add list_url for glusterfs
2020-03-20 09:18:24 -05:00
darmac
6cccce4932 add new package lksctp-tools (#15564)
Co-Authored-By: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-03-20 10:11:12 +01:00
Adam J. Stewart
03a88a2d3f py-decorator: added v4.4.2 (#15581) 2020-03-20 10:10:19 +01:00
Adam J. Stewart
b4f1f42e4f py-networkx: add 2.4 (#15582) 2020-03-20 10:09:48 +01:00
Adam J. Stewart
9a71a76461 py-tfdlpack: add new package (#15583) 2020-03-20 10:08:54 +01:00
Hadrien G
fdf363eaad acts-core: added v0.18, updated boost dependency (#15584) 2020-03-20 10:06:45 +01:00
Andreas Baumbach
3f83d4d8f5 htop: add missing python build dependency (#15585) 2020-03-20 10:05:30 +01:00
Kevin Huck
625bf187d2 perfstubs: added new package (#15547) 2020-03-20 09:41:36 +01:00
Andrew Gaspar
e2cf6f5b1b Improvements to Rust's Installation (#15395)
* Add sources and resources for each version of Rust

* install bootstrapping compiler into stage

* Add libgit2

* Install bootstrapping compiler correctly

* implement full rust bootstrap

* Remove support for Rust pre-1.14

Also add lots of comments

* Support only Rust 1.17 and newer

* Remove < 1.23 versions of Rust

* Change the layout of rust_releases for maintainability

* Remove LLVM variant

* Address flake8 issues

* Make libgit2 curl variant default False, conflict 0.28 and newer

* Remove binutils dependency

* Add ARM64 while we're at it

* flake8

* use the 'python' routine rather than relying on the correct python to be picked up
2020-03-19 22:57:41 -05:00
darmac
a89c5b36f0 add new package: bcache (#15563)
* add new package: bcache

* add depends: gettext for libintl
2020-03-19 22:57:04 -05:00
darmac
ce7cd7a5ab add new package: libiscsi (#15579) 2020-03-19 22:35:59 -05:00
Nithin Senthil Kumar
b522296a5a Update MVAPICH2 package for 2.3.3 release (#15578)
Co-authored-by: senthilkumar.16 <senthilkumar.16@nowlab.cse.ohio-state.edu>
2020-03-19 20:59:00 -05:00
Greg Becker
e5f8b093a9 Cray bugfix: TERM missing while reading default target (#15381)
Bug: Spack hangs on some Cray machines

Reason: The TERM environment variable is necessary to run bash -lc "echo $CRAY_CPU_TARGET", but we run that command within env -i, which wipes the environment.

Fix: Manually forward the TERM environment variable to env -i /bin/bash -lc "echo $CRAY_CPU_TARGET"
2020-03-19 15:11:50 -07:00
Teodor Nikolov
a61c53a5c9 cosma: added package at v2.0.2 (#15497)
* [new package] COSMA

* Use virtual dependencies
2020-03-19 14:50:12 -05:00
Jordan Ogas
f9e58a52da add charliecloud/0.14; remove umoci/skopeo; remove builder variant (#15573)
* add charliecloud/0.14; remove umoci/skopeo; remove builder variant

* fix typo

* add maintainer; add explicit config doc options; add py-requests as run dependency

* add autoconf build dependencies
2020-03-19 14:49:11 -05:00
Kai Germaschewski
b583b0e112 petsc fix hdf5 (#15572)
* petsc: add checksum for 3.12.4

* petsc: constrain hdf5 to <= 1.10.x

Current petsc will error when being build with hdf5 1.12, so this ensures that
a compatible hdf5 will be used. Fix suggested by @balay.
2020-03-19 11:42:19 -05:00
darmac
ef68d1f5df add new package: ntirpc (#15561) 2020-03-19 11:22:03 -05:00
darmac
8142b2dc6b add new package: yarn (#15562) 2020-03-19 11:21:37 -05:00
Yannik Stradmann
bfa72ed926 Add package: py-deprecated (#15571)
https://github.com/tantale/deprecated
2020-03-19 11:15:19 -05:00
Todd Gamblin
3255eaba0d refactor: spack.package.possible_dependencies() handles virtuals
- [x] move some logic for handling virtual packages from the `spack
  dependencies` command into `spack.package.possible_dependencies()`

- [x] rework possible dependencies tests so that expected and actual
  output are on the left/right respectively
2020-03-19 09:00:40 -07:00
Todd Gamblin
7cfa497912 bugfix: spack.package.possible_dependencies() should return virtuals
`spack.package.possible_dependencies()` was forgetting to pass the
`visited` dict to recursive calls; this fixes it
2020-03-19 09:00:40 -07:00
Michael Kuhn
0b1b8c3936 openssl: added v1.1.1e and v1.0.2u (#15568) 2020-03-19 15:34:18 +01:00
darmac
363cf9f9b1 update attr version to 2.4.48 (#15535)
* update attr version to 2.4.48

* attr: remove redundant make() in install()
2020-03-19 09:24:35 -05:00
Toyohisa Kameyama
a3cb1b8e7e amdblis + blis: fix spack info and libs query (#15566) 2020-03-19 12:28:18 +01:00
Adam J. Stewart
14e2c42bce py-matplotlib: add 3.2.1 (#15560) 2020-03-18 22:58:39 -05:00
Patrick Gartung
8bffa57ac4 Buildcache: fix relocation of binaries with relative rpaths (#15558) 2020-03-18 22:37:09 -05:00
Mark W. Krentel
69231c7d18 hpctoolkit: restore binutils 2.34 for master (#15556)
Hpctoolkit master was recently updated to test for and allow old
binutils <= 2.33.1 and/or new binutils 2.34.  Older hpctoolkit up to
2030.03.01 will forever require :2.33.1.

Adjust the libunwind dependency for safety with the current
concretizer.
2020-03-18 22:19:25 -05:00
Axel Huebl
7bcc41018f Split: Fabtest/libfabric (#15557)
Fabtests provides runtime analysis tools and examples of libfabric.

As with other projects that are tightly version-bound, e.g.
`py-adios` and `adios`, the fact that releases stem from the same
repo does not imply they should be the same package.

Remove resources, which complicate the libfabric build, and update
the fabtests package accordingly.
2020-03-18 18:04:01 -07:00
Kai Germaschewski
3df712a385 Upstreams: don't write metadata directory to upstream DB (#15526)
When trying to use an upstream Spack repository, as of f2aca86 Spack
was attempting to write to the upstream DB based on a new metadata
directory added in that commit. Upstream DBs are read-only, so this
should not occur.

This adds a check to prevent Spack from writing to the upstream DB
2020-03-18 16:41:18 -07:00
Kelly (KT) Thompson
1bcc80ec5d Trilinos: Add more variants (~netcdf ~matio ~glm) (#15483)
* Trilinos: Add more variants

+ Provide three new variants to allow building trilinos without netcdf, matio,
  or glm.
+ No change to defaults.

* Fix style issue.
2020-03-18 17:05:51 -05:00
Neil Flood
432bdeee85 Tuiview movetogithub (#15498)
* py-tuiview: Source has moved to github

* py-tuiview: Explicitly require +python on gdal dependency

* py-tuiview: Versions up to 1.1.99 are qt4 only

* py-tuiview: Add version 1.2.6, which is qt5 only

* Explicit version range on gdal dependency
2020-03-18 17:05:05 -05:00
Satish Balay
6a51d540f1 petsc@3.7 fix dependency of superlu-dist@5.1.3 (#15551) 2020-03-18 17:04:38 -05:00
Adam J. Stewart
51f8744ab7 py-horovod: set appropriate build env vars (#15548)
* py-horovod: set appropriate build env vars

* mxnet: add maintainer

* py-horovod: fetch git submodules

* py-torch: fix CUDA conflicts
2020-03-18 17:01:20 -05:00
ktsai7
77b11433b3 modified spackage for flecsi and cinch (#15555) 2020-03-18 15:46:29 -06:00
gauthier12
ff29599578 adol-c:updating sources location (#15532)
* adol-c:updating sources location

* Update var/spack/repos/builtin/packages/adol-c/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-03-18 15:13:57 -05:00
Sinan
3bcb5b3a59 package/QGIS: fix cmake/FindPyqt.py (#15455)
* fix cmake/FindPyqt.py

* apply patch

* generalize patch

* rename patch

* fix typo

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@github>
2020-03-18 13:19:46 -05:00
Sinan
056fc99676 Use python extend_path as pyqt sip fix (#15297)
* try extend path to solve PyQt5.sip not found issue

* disable private sip installation in sippackage class

* undo manual PyQt5 dir creation in py-sip site-packages dir

* fix typo

* fix typo

* also apply fix to PyQt4

* tidy up

* flake8 and tidy up

* tidy and undo hardcoding of python_include_dir

* replace hardcoded python inc dir

* fix minor issues

* rethink include dir variable name

* improve style

* add new versions

* implement new sip setup to qsci installation

* set sip-incdir correctly for the new setup

* setup extend_path thing before qsci python bindings

* take care of conflict

* flake8

* also extend for PyQt4

* improve style

* improve style

* SipPackage build sys should depend on py-sip

* consolidate extend_path fixes into SipPackage

* fix typo

* fix bugs

* flake8

* revert sip doc to pre-resource setup

* import os module

* flake8

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-03-18 13:19:27 -05:00
Nick Booher
156b59c2f1 revbayes: Update pre-build process (#15485) 2020-03-18 13:18:45 -05:00
Benjamin Tovar
8cdd78cd1d Cctools 7.1.0 (#15506)
* update to 7.1.0

* adds gettext as dependency (needed to link with python)

* disable python2 or python3 as needed
2020-03-18 13:14:45 -05:00
darmac
9372783de6 add new package: acl (#15514) 2020-03-18 13:12:40 -05:00
darmac
b52b082627 add new package: userspace-rcu (#15515) 2020-03-18 13:12:02 -05:00
Greg Sjaardema
73321dd3ea CGNS: Version update (#15523)
* CGNS: Version update

The CGNS library has several new versions.   There was a format-changing change in 3.4.0 which was removed for 3.4.1.  The change was then added again and released with a change to the major version (4.0.0).  Note that 4.0.0 should be close to the functionality of 3.4.0.

* CGNS: Add shared variant

Added the `shared`variant to make the CMake build correctly pick up the RPATH settings.
2020-03-18 13:09:28 -05:00
darmac
c3434e230a update util-linux to version: 2.33:2.35.1 (#15529) 2020-03-18 13:04:51 -05:00
Toyohisa Kameyama
530e864671 triangle: add X11 dependency. (#15533) 2020-03-18 13:03:03 -05:00
Toyohisa Kameyama
0fce7df1e9 xsetpointer: fix wrong dependency type. (#15534) 2020-03-18 13:02:35 -05:00
gauthier12
cfc5f3caec adding the fortran option for hdf5 dependency for comptatibility with petsc requirement (#15536) 2020-03-18 13:01:04 -05:00
Toyohisa Kameyama
209ec03f7e xts: add some dependencies. (#15537) 2020-03-18 13:00:28 -05:00
Robert Kalescky
6bb8b92bc3 Remove trailing newline. (#15539) 2020-03-18 12:59:52 -05:00
Robert Kalescky
4d449790d0 r-openssl requires C99. (#15541) 2020-03-18 12:59:27 -05:00
Adam J. Stewart
8ad366a978 py-numpy: add 1.18.2 (#15546) 2020-03-18 11:50:12 -05:00
Amjad Kotobi
6993b81bfd Add package anaconda3 (#15404) 2020-03-18 11:49:50 -05:00
Brian Van Essen
57ad02ad43 Added a package for the DiHydrogen distributed linear algebra library. (#15426)
* Added a package for the DiHydrogen distributed linear algebra library.

* Updated recipe to provide cuda architecture constaints.

* Addressed reviewer comments

* Fixed flake 8
2020-03-18 11:46:49 -05:00
Nichols A. Romero
e59b506506 QMCPACK Update March 2020 (#15511)
* Clean-up description of variants.

* Support AFQMC with CUDA.
2020-03-18 11:21:48 -05:00
Axel Huebl
958f26073e openPMD-api: HDF5 1.12.0 Support (#15530)
Fix API breakage in HDF5 1.12.0 for released versions.
2020-03-18 06:47:01 -07:00
Jim Galarowicz
586609102b Previous qt package file changes broke the openspeedshop gui build. (#15471)
* Previous qt changes broke the openspeedshop gui build.  This puts back the changes that caused the breakage.

* Update the qt version to be more robust.

Co-authored-by: Galarowicz, James <jgalarowicz@newmexicoconsortium.org>
2020-03-18 14:45:17 +01:00
eugeneswalker
847d5d3459 update checksum for intel-tbb@2020.1 (#15528) 2020-03-17 18:45:56 -07:00
Greg Sjaardema
787f89b7db SEACAS: Add versions 2020-03-16 and 2020-01-16 (#15525) 2020-03-17 18:02:31 -07:00
Sergey Kosukhin
06bf93b270 MPICH: optional libxml2 support; NAG patches (#15235)
* Add patches when building with NAG
* Make libxml2 support optional. Also include conflict for
  @:3.2~hydra+libxml2 since @:3.2~hydra does not require libxml2
  support
* Add '--disable-silent-rules' to get more verbose output during
  the build
2020-03-17 11:41:47 -07:00
Patrick Gartung
be8841cbc5 Remove PatchelfError and change patchelf error message to a warning. (#15518) 2020-03-17 10:49:24 -05:00
wspear
304f0e9ef1 Corrected compiler filtering for TAU makefiles (#15342)
* Implemented working file filtering to replace spack compiler wrapper with real compiler.

* Using string=True instead of re.escape. Using self.prefix.lib instead of appending /lib.

Co-authored-by: Wyatt Spear <wspear@cs.uoregon.edu>
2020-03-17 08:38:53 -07:00
Tomoki, Karatsu
c2e0ee6383 geant4: Removed unnecessary definition of xerces-c. (#15513) 2020-03-17 10:31:31 +00:00
Seth R. Johnson
05d0c7b477 Update and exetend VecGeom (#14520)
* Add new vecgeom versions, add cuda support, automate target options

* Add ROOT, GDML, and external VecCore support to VecGeom

* Address reviewer comments

* Update vecgeom for CUDA

* Update versions
2020-03-17 10:18:40 +00:00
darmac
402d89afa2 nfs-utils: added package at v2.4.2 (#15491) 2020-03-17 08:49:35 +01:00
Massimiliano Culpo
e3f97b37e6 Module files won't use CPATH by default, but language specific vars (#14749)
fixes #11555

Every path in CPATH is equivalent to a -I path to the compiler,
while every path in *_INCLUDE_PATH is equivalent to -isystem.
The latter avoids the noise due to warnings coming from 3rd party
libraries that a project depends on.

Added INCLUDE env variable (Intel Fortran, .mod files)
2020-03-17 08:36:56 +01:00
eugeneswalker
c92847a30c cap binutils version @:2.33.1 due to build failures with 2.34 (#15504) 2020-03-16 17:47:24 -07:00
Patrick Gartung
e48d24ee45 Warn only if link target is not relative and outside of the install prefix (#15512) 2020-03-16 18:43:11 -05:00
Seth R. Johnson
c9a715b190 veccore: added package at v0.6.0 (#15472) 2020-03-16 20:55:16 +01:00
Patrick Gartung
3029dde7ec When replacing path text in ELF binaries do not include null byte padding in search string (#15508) 2020-03-16 14:49:55 -05:00
Seth R. Johnson
a8706cc89b CMakePackage: convert variants to CMake arguments (#14376)
Add a 'define_from_variant` helper function to CMake-based Spack
packages to convert package variants into CMake arguments. For
example:

  args.append('-DFOO=%s' % ('ON' if '+foo' in self.spec else 'OFF'))

can be replaced with:

  args.append(self.define_from_variant('foo'))

The following conversions are handled automatically:

* Flag variants will be converted to CMake booleans
* Multivalued variants will be converted to semicolon-separated strings
* Other variant values are converted to CMake string arguments

This also adds a 'define' helper method to convert any variable to
a CMake argument. It has the same conversion rules as
'define_from_variant' (but operates directly on values rather than
requiring the user to supply the name of a package variant).
2020-03-16 11:41:19 -07:00
Erik Schnetter
55d5adfecf silo: depends on hdf5@:1.10.999 (#15495)
Silo does not build with HDF5 1.12.
2020-03-16 19:10:06 +01:00
Patrick Gartung
17e4df1e41 Buildcache: Install into non-default directory layouts (#13797)
* Buildcache: Install into non-default directory layouts

Store a dictionary mapping of original dependency prefixes to dependency hashes

Use the loaded spec to grab the new dependency prefixes in the new directory layout.

Map the original dependency prefixes to the new dependency prefixes using the dependency hashes.

Use the dependency prefixes map to replace original rpaths with new rpaths preserving the order.
For mach-o binaries, use the dependency prefixes map to replace the dependency library entires for libraries and executables and the replace the library id for libraries.

On Linux, patchelf is used to replace the rpaths of elf binaries.
On macOS, install_name_tool is used to replace the rpaths and  dependency libraries  of mach-o binaries and the id of mach-o libraries.
On Linux, macholib is used to replace the dependency libraries of mach-o binaries and the id of mach-o libraries.

Binary text with padding replacement is attempted for all binaries for the following paths:
spack layout root
spack prefix
sbang script location
dependency prefixes
package prefix
 Text replacement is attempted for all text files using the paths above.

Symbolic links to the absolute path of the package install prefix are replaced, all others produce warnings.
2020-03-16 08:42:23 -05:00
Melven Roehrig-Zoellner
0301ec32b4 tixi: added package at v3.0.3 (#15490) 2020-03-16 09:02:10 +01:00
Erik Schnetter
77e845d53c swig: added v4.0.1 (#15496) 2020-03-16 08:45:25 +01:00
Erik Schnetter
1e547f58ab ncurses: added v6.2 (#15494) 2020-03-16 08:43:21 +01:00
Erik Schnetter
410ad0b158 cmake: added v3.16.5 (#15492) 2020-03-16 08:42:49 +01:00
Matthieu Dorier
d24c64c936 unqlite: added package at v1.1.9 (#15501) 2020-03-16 08:33:42 +01:00
Erik Schnetter
96a037adf7 gcc: Don't apply macOS 9.2.0 patch for 9.3.0 (#15493)
The patch neither applies nor is necessary.
2020-03-15 15:43:23 -07:00
Tim Haines
471f23e456 Limit binutils to <= 2.33.1 (#15470)
HPCToolKit <= 2020.03.01 does not build with binutils 2.34.
2020-03-14 07:45:00 -05:00
Hans Pabst
38d04e29eb LIBXSMM 1.15 (#15482)
* LIBXSMM 1.15

* LIBXSMM: renamed development version according to the related branch on GitHub.
2020-03-13 14:44:26 -05:00
Adam J. Stewart
262a69c0a9 py-astpretty: add new package (#15484)
* py-astpretty: add new package

* pkg_resources needed at run-time
2020-03-13 14:40:58 -05:00
Michael Kuhn
14441e00dc package: Add fetch_options variable (#15317)
PR #15212 added a new connect_timeout option that can be overridden
using fetch_options but had to specified per-version. This adds a new
per-package variable that can be used to override fetch_options for
all versions in the package. This includes connect_timeout as well
as 'cookie' (e.g. for the jdk package).

Packages can combine package-level fetch_options with per-version
fetch_options, in which case the version fetch_options completely
override the package-level fetch_options.

This commit includes tests for the added behavior.
2020-03-13 11:41:19 -07:00
Melven Roehrig-Zoellner
7b00712fff pgi: add missing paths in setup_run_environment (#15480) 2020-03-13 13:07:35 -05:00
Thomas Kluyver
27bd4a5cdd Add py-h5glance versions 0.5 & 0.6 (#15461)
* Add py-h5glance versions 0.5 & 0.6

* List versions newest to oldest
2020-03-13 08:05:31 -05:00
Hadrien G
a3c319979b Add new ACTS version (#15479) 2020-03-13 12:57:32 +00:00
Adam J. Stewart
d1bf433d19 gitignore: pytest cache directory (#15476) 2020-03-13 09:39:34 +01:00
Hector
7ddd84ac14 Add source highlight package (#15473)
* add GNU source-highlight package

* fix flake8

* Allows the package to download from GNU mirrors
2020-03-12 19:26:45 -05:00
Michael Kuhn
9806149145 gcc: Add 9.3.0 (#15469) 2020-03-12 16:10:21 -05:00
noguchi-k
fddca6312c cpprestsdk: fix common error and, use boost@1.69.0 or lower (#15463) 2020-03-12 16:09:07 -05:00
Tamara Dahlgren
f2a13af43e testing: increase installer coverage (#15237) 2020-03-12 21:20:20 +01:00
David Böhme
b8064df495 Add Caliper v2.3.0 (#15468) 2020-03-12 13:37:15 -05:00
Amjad Kotobi
ed5b10d11f Add package jblob-3.0 (#15400) 2020-03-12 13:35:30 -05:00
Joe Koning
d87f09cc5e Change py-merlinwf to py-merlin (#15453)
* Change py-merlinwf to py-merlin to match PyPi.
Change py-merlin to py-merlin-info.

Move to py-merlin_info.

Add py-merlin-info back in.

* Update dependent packages for the new merlin name.

* Remove non-working pyre and the associated packages, exchanger,
py-pythia and py-mlerin-info from citcoms.

* Remove blank line.
2020-03-12 13:27:02 -05:00
Bryce Allen
6887cb3da4 pfunit: add max_array_rank=(int) variant (#15348)
* pfunit: add max_array_rank=(int) variant

* pfunit: flake8 line length fixes
2020-03-12 10:58:18 -06:00
Zhiyi Wu
d95766756c Update plumed 2.5.4 and 2.6.0 (#15462)
Co-authored-by: zhiyiwu <zhiyi.wu@gtc.ox.ac.uk>
2020-03-12 10:47:26 -06:00
Thomas Gruber
e916a9424c likwid: add compiler selection for ARM and POWER architecture (#14183)
Co-Authored-By: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-03-12 14:44:43 +01:00
Jeffrey Salmond
ad1a28ee48 plumed: add cython as dependency (#15460) 2020-03-12 12:01:52 +01:00
Massimiliano Culpo
59b6822a47 Creating versions from urls doesn't modify class attributes (#15452)
fixes #15449

Before this PR a call to pkg.url_for_version was modifying
class attributes determining different results for subsequents
calls and an error when the urls was empty.
2020-03-12 09:21:19 +01:00
Massimiliano Culpo
a22d52a67d Minor updates to CI configuration (#15458)
* Check on Python versions uses action/checkout@v2
* Update the apt cache before installing system packages
2020-03-12 08:19:42 +01:00
darmac
f4a5eb2b6d add new package: lmbench (#15457)
* add new package: lmbench

* refine LDFLAGS append call
2020-03-11 22:49:22 -05:00
Nick Booher
8bdbd96e68 revbayes: Update URLs and hashes for old archives (#15451)
* revbayes: Update URLs and hashes for old archives

* Switch to url_for_version

* Fix whitespace
2020-03-11 22:04:59 -05:00
Les Kurz
99e465663a Update package.py for HDF5 1.12.0 release (#15430)
* Update package.py

* Update package.py

* add upper bounds to production config_option

* fix config_options

* Fix mistaken changes.
2020-03-11 20:08:49 -05:00
darmac
77434c24a8 add new package: php (#15435) 2020-03-11 19:36:23 -05:00
Daryl W. Grunau
3e8f873b03 cpio: icc -no-gcc (#15446)
Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2020-03-11 19:35:10 -05:00
Michael Kuhn
e01817cb15 binutils: Add missing texinfo dependency (#15444) 2020-03-11 19:34:24 -05:00
darmac
a9a59ea3b4 add new package: keyutils (#15433) 2020-03-11 19:29:31 -05:00
Stephanie Brink
6af8e19b2d add hatchet python package (#15428) 2020-03-11 19:23:32 -05:00
Dr. Christian Tacke
12940f3448 libfabric@1.9.1: Add fabtests (#15440)
The test utils for the new version 1.9.1 are missing.
Add them.
2020-03-11 14:51:35 -05:00
Anthony Scemama
83584afa35 Package for the resultsFile Python module (#15088)
* Added resultsFile package

* Added comments

* Fixed PEP8

* Added Python3 package

* Removed py-setuptools
2020-03-11 14:44:36 -05:00
rvinaybharadwaj
87e69eed1c Horovod (#15380) 2020-03-11 12:00:02 -06:00
Tamara Dahlgren
20c77cade5 bugfix: resolve undefined source_pkg_dir failure (#15339) 2020-03-11 11:39:23 +01:00
Greg Becker
299fa6b5ca fetch_strategy: remove vestigial code (#15431) 2020-03-11 11:24:38 +01:00
Neil Flood
9b114c486f kealib: moved to github, added v1.4.12 (#15436) 2020-03-11 11:06:18 +01:00
Hector
6d8cd446c5 Add valgrind variant to petsc (#15427)
* Add PETSc valgrind dependency

* Remove +debug on valgrind dependency

* enh variant description
2020-03-10 20:41:00 -05:00
Seth R. Johnson
8ac06ece3d Fix OpenBLAS 0.2 build, 0.38+ Intel builds, and variant name (#15419)
* Remove ARCH argument in OpenBLAS < 0.3.0

* Fix Intel OpenBLAS that uses lapack 0.3.9

* Improve variant name consistency

see https://github.com/spack/spack/issues/15239
2020-03-10 16:40:03 -05:00
Mathias Anselmann
fc78456547 gcc: backporting fix for glibc 2.31 (#15403)
* backporting fix for building gcc >= 8.1.0 and gcc <= 9.2.0 with binutils 2.31

* removed trailing whitespace
2020-03-10 16:27:07 -05:00
Nisarg Patel
4ef0442a01 fix static mumps build error - Added a space at the end of ar vr for the static build to run successfully (#15407) 2020-03-10 16:23:41 -05:00
Toyohisa Kameyama
94b686e32b libxpresent: Add some dependencies. (#15417)
* libxpresent: Add some dependencies.

* Change *proto dependency type from build to link.
2020-03-10 16:22:24 -05:00
Toyohisa Kameyama
9fba110372 libxpresent: Add some dependencies. (#15417)
* libxpresent: Add some dependencies.

* Change *proto dependency type from build to link.
2020-03-10 16:22:04 -05:00
Tomoki, Karatsu
03c684954e r: Lower optimization level when using Fujitsu compiler@4.1.0. (#15418) 2020-03-10 16:21:14 -05:00
Dr. Christian Tacke
6993a82cb4 cryptsetup: Add pkgconfig dependency (#15422) 2020-03-10 16:18:59 -05:00
Elsa Gonsiorowski, PhD
9debb7e1b6 SCR: build with components (#14931)
* scr: add develop, legacy branches; version 2.0.0

squash! scr: add develop and legacy versions

* filo: package for SCR component

* spath: package for SCR component

* axl: update for versions 0.3 and 0.2

* scr: build with components

* spath: structure of +mpi if/else

* 👌 capitalization of ecp-veloc

* scr: branches are always greater than any version
2020-03-10 15:27:41 -05:00
broderickpt
c4c6accace contrib-spiral: submit SPIRAL package recipe and HCOL package recipe … (#15188)
* contrib-spiral: submit SPIRAL package recipe and HCOL package recipe (extension package for SPIRAL) to spack

* contrib-spiral: fix flake8 complaints for spiral & hcol

* contrib-spiral: Revisions to package recipes to address comments

* contrib-spiral: remove unecessary 'test' function

* contrib-spiral: update hcol package to install in <prefix>/namespaces/packages/hcol

* contrib-spiral: don't import os to hcol

* contrib-spiral: tweak hcol package recipe
2020-03-10 13:07:53 -05:00
Greg Becker
bbbee6700b bugfix: fix install_missing_compilers option bug from v0.14.0 (#15416)
* bugfix: ensure bootstrapped compilers built before packages using the compiler
2020-03-10 10:35:20 -07:00
Christoph Junghans
577860761b decompressor: add support for bz2 (#15424) 2020-03-10 10:46:45 -06:00
Sergey Kosukhin
7118e24664 Parallel-netcdf: update package. (#15359)
* Parallel-netcdf: update package.

* Add a temporary patch for version 'develop'.

* Rename version 'develop' to 'master'.

* Drop the patch for 'master'.
2020-03-10 11:29:57 -05:00
Seth R. Johnson
21634e805e libfabric: added v1.9.1 (#15405) 2020-03-10 17:09:46 +01:00
Christoph Junghans
7744070787 gromacs: remove simd variants (#13636) 2020-03-10 09:08:10 -06:00
TZ
48f8f0ec58 likwid: added v5.0.1 (#15421)
includes fixes for likwid-mpirun, better support for ARM and POWER, 
other bugfixes.

For full support of ARM and POWER, #14183 has to be merged, too.

Added TomTheBear as maintainer. He is the current main developer of
LIKWID.
2020-03-10 16:03:14 +01:00
Melven Roehrig-Zoellner
ebe7590310 bazel: add missing dependency on zip (#15402) 2020-03-10 10:18:29 +01:00
Mathias Anselmann
da677b3cb8 update binutils to 2.34 (#15401) 2020-03-10 10:15:31 +01:00
Justin S
b86aa4ec18 eagle: new package at v1.1.2 (#15409) 2020-03-10 10:05:34 +01:00
Tim Haines
65b131f373 Ignore Eclipse files and folders (#15413) 2020-03-10 09:58:40 +01:00
Howard Pritchard
f87dfb9828 openmpi: add version 4.0.3 (#15414)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-03-10 09:01:02 +01:00
Patrick Gartung
c7dda38826 Revert to gzip as the default buildcache compression as bzip2 is not always available. (#15412)
* Revert to gzip as the default buildcache compression as bzip2 is not always available.

* Flake8
2020-03-09 16:46:54 -05:00
ktsai7
fd69994c68 added cmake_args (#15411) 2020-03-09 14:07:11 -06:00
TZ
3f69cc9ec8 Gromacs: new version 2020.1 (#15399) 2020-03-09 11:35:54 -06:00
Toyohisa Kameyama
c919a7e302 exiv2: add zlib and expat dependency. (#15396) 2020-03-09 10:31:20 +01:00
Toyohisa Kameyama
c783493ace fast-global-file-status: add openssl dependency. (#15398) 2020-03-09 10:29:02 +01:00
Stephen McDowell
2beefc6bfe eigen variants have been removed (#15392)
* eigen variants have been removed

ref: https://github.com/spack/spack/pull/15357

* opencv ^eigen is ('build', 'run') dependency
2020-03-09 09:35:31 +01:00
Todd Gamblin
49ec260a9a bugfix: installer.py shouldn't be executable (#15386)
This is a minor permission fix on the new installer.py introduced in #13100.
2020-03-07 23:48:18 -08:00
Adam J. Stewart
6f8d1b41d0 gnupg: add 2.2.19, add missing pinentry dep (#15390) 2020-03-07 17:00:14 -06:00
Adam J. Stewart
cd4530ca1f libgcrypt: fix macOS tests (#15389) 2020-03-07 16:43:38 -06:00
Adam J. Stewart
b385ba0aa9 libgpg-error: add 1.37 (#15388) 2020-03-07 16:43:23 -06:00
Adam J. Stewart
a1e4b72794 pinentry: add new package (#15387) 2020-03-07 16:26:56 -06:00
Sinan
4e10eb08a9 new package: GunRock (#15383)
* new package: GunRock

* Update var/spack/repos/builtin/packages/gunrock/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* improve

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Sinan81 <Sinan81@github>
2020-03-07 13:31:29 -06:00
Massimiliano Culpo
b444fd25bb ArchSpec: fix semantics of satisfies when not concrete and strict is true (#15319) 2020-03-07 13:58:33 +01:00
Peter Scheibel
697719c181 Only use stable versions for public mirror (#15100)
* add --skip-unstable-versions option to 'spack mirror create' which skips sources/resource for packages if their version is not stable (i.e. if they are the head of a git branch rather than a fixed commit)

* '--skip-unstable-versions' should skip all VCS sources/resources, not just those which are not cachable
2020-03-07 13:38:08 +01:00
Simon Pintarelli
9fd3b2be89 sirius: add versions 6.4.4, 6.5.0 (#15374)
- new versions 6.4.4, 6.5.0
2020-03-06 18:32:23 -06:00
Andrew W Elble
5b44a65881 Fix for being able to 'spack load' packages that have been renamed. (#14348)
* Fix for being able to 'spack load' packages that have been renamed.

* tests: add test for 'spack load' of a installed, but renamed/deleted package
2020-03-06 16:29:01 -08:00
George Hartzell
5965a91880 New package: bat (#15345)
* New package: bat

Add package for bat:

     A cat(1) clone with wings.

* Update copyright date

* Embiggen comment re build env settings

Provide a bit more explanatory text about why setup_build_environment
needs to set LLVM_CONFIG_PATH and LIBCLANG_PATH.

Co-authored-by: George Hartzell <ghartzell@audentestx.com>
2020-03-06 18:12:31 -06:00
Dr. Christian Tacke
ce287bccf8 flatbuffers: Allow building shared libraries (#15375)
Added a shared variant, that switches between shared and
static library building, like with most cmake packages.
2020-03-06 12:16:30 -06:00
iarspider
6412b9e71a Add extra version of py-widgetsnbextension (#15372) 2020-03-06 11:21:33 -06:00
Robert Blake
cd38e87eef New package: gengetopt, tool for C command line parsers. (#15367)
* New package: gengetopt, tool for C command line parsers.

* Adding url for `spack version` and `spack checksum`
2020-03-06 10:59:08 -06:00
Massimiliano Culpo
58e57a6986 eigen: updated url to point to gitlab (#15357)
* eigen: updated url to point to gitlab

fixes #13890

Eigen migrated from bitbucket to gitlab

* eigen: simplified package (no dependencies other than stdlib)

* Added TODO list for future improvements
2020-03-06 15:53:24 +01:00
Mark W. Krentel
441340771d libunwind: remove version 2018.10.12, add stable branch (#15316)
* libunwind: remove version 2018.10.12, add stable branch

Finish cleaning up the libunwind version numbers.  The 2018.10.12
snapshot number didn't fit well with spack's ordering (my bad), and
1.4-rc1 is a near identical replacement.

Add a version for the 1.4-stable branch.

Add a variant for zlib compressed symbol tables (develop branch only).

Adjust packages caliper and hpctoolkit to adapt to the changes.

Add myself as maintainer.

* Flake

* Settle on renaming 'develop' to 'master' (to match the branch name)
and name the 'v1.4-stable' branch as '1.4-head'.  'stable' or
'1.4-stable' is a better name, but '1.4-head' (an infinity version)
sorts better.
2020-03-06 08:49:46 -06:00
Mathias Anselmann
8687ace8f9 Cscope: fix linking and update to v15.9 (#15358)
* explicitly link against libtinfo

* Update to v15.9

* fixed indentation

* fixed url definition

* added url vor current version again

* fixed indentation

* moving url_version to the bottom
2020-03-06 08:47:35 -06:00
Dr. Christian Tacke
83778f009e munge: new version, local state path, misc (#15307)
* Add version 0.5.14
* Add variant to allow setting the localstatedir: See below
* Add bzip2 dependency
* Add myself to maintainers (I just think, I can care for
  this package)

About localstatedir:

munge has a server and a client.
They communicate via unix domain sockets.
This socket is in PREFIX/var.
This package provides the client, the server, and
development part (headers, libraries).

Let's assume one has the server part installed as a system
package.  This generally is a good idea, so that the server
gets started during boot. This means, that the socket is in
the system's /var.

If one now wants to use the client part (library!) via
spack, one has a problem: spack's munge looks in
SPACK-PACKAGE-PREFIX/var for the socket.

There needs to be a way to let the spack installed package
use the system's socket.

So add a variant to override the path during build:
localstatedir=/var.
2020-03-06 08:03:20 -06:00
iarspider
4391bb5f23 Update pycairo to 1.18.1 and fix dependencies (#15352)
* Update pycairo to 1.18.1 and fix dependencies

* Typo
2020-03-06 08:01:45 -06:00
Axel Huebl
c40915db05 openPMD-api: 0.11.0 (#15371)
Add the latest release of openPMD-api.
2020-03-06 11:20:31 +01:00
Chris Green
da5144793e Allow overrides for spack.config set() and override(). (#14432)
Allows spack.config InternalConfigScope and Configuration.set() to
handle keys with trailing ':' to indicate replacement vs merge
behavior with respect to lower priority scopes.

Lists may now be replaced rather than merged (this behavior was
previously only available for dictionaries).

This commit adds tests for the new behavior.
2020-03-05 19:25:01 -08:00
Tamara Dahlgren
b2e7e7edaa Recover coverage from subprocesses during unit tests (#15354)
* Recover coverage from subprocesses during unit tests
2020-03-05 16:54:29 -08:00
Adam J. Stewart
dd8afca9d8 Add Checksum for 1.4.1.4 Release (#15363)
* Add Checksum for 1.4.1.4 Release

Add checksum for 1.4.1.4 release.  Mark myself as maintainer.  List develop version.

* Update var/spack/repos/builtin/packages/libhio/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-03-05 17:28:42 -06:00
Adam J. Stewart
aa0ab13a73 Python: add 3.8.2 (#15365) 2020-03-05 17:02:13 -06:00
Adam J. Stewart
656d1ac5ab Update legion versions (#15364) 2020-03-05 16:28:35 -06:00
eugeneswalker
8cce884078 unifyfs: add patch to fix #15292 (#15315)
It was reported that UnifyFS had a bug with the --enable-mpi-mount
config option, which corresponds to the auto-mount variant. This bug
was fixed in the UnifyFS dev branch, however remains broken for the
0.9.0 version.

This adds a patch to the unifyfs package to fix the auto-mount
variant when installing with version 0.9.0.

This also removes the openssl dependency as unifyfs does not directly
depend on it. This was said to be a non-explicit dependency in #15258.
However, if it is needed, it is likely a non-explicit dependency of
one of unifyfs's dependencies and should be added there.

Fixes: #15292
2020-03-05 13:54:25 -08:00
Adam J. Stewart
da853a5daa lammps: add most recent stable release (#15335)
* lammps: add most recent stable release

* Update var/spack/repos/builtin/packages/lammps/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-03-05 15:19:18 -06:00
Patrick Gartung
820d147e08 Allow buildcaches keys to find public keys on the e4s mirror (#15361) 2020-03-05 15:15:40 -06:00
Adam J. Stewart
28a75a4c35 lastz: declare ch as type int (#15350) 2020-03-05 15:06:20 -06:00
Adam J. Stewart
fde1b2088a update maintainers for bmi, darshan, and margo (#15356)
Signed-off-by: Phil Carns <carns@mcs.anl.gov>
2020-03-05 15:00:52 -06:00
Axel Huebl
24e6155bac New package: fd-find (#15344)
* New package: fd-find

Add package for fd-find:

    A simple, fast and user-friendly alternative to 'find'.

* Update copyright date
2020-03-05 10:14:40 -08:00
Axel Huebl
3a8800b6b4 New package: ripgrep (#15343)
Add package for ripgrep:

    ripgrep is a line-oriented search tool that recursively searches
    your current directory for a regex pattern.  ripgrep is similar to
    other popular search tools like The Silver Searcher, ack and grep.
2020-03-05 10:14:18 -08:00
Adam J. Stewart
9940392c2b New package: opensubdiv (#15310)
* [opensubdiv] created stub for opensubdiv

* [opensubdiv] added homepage and description

* [opensubdiv] removed boilerplate

* [opensubdiv] working on dependencies and variants

* [opensubdiv] fixed syntax error

* [opensubdiv] defined spec

* [opensubdiv] added dev version

* [opensubdiv] building on CudaPackage

* [opensubdiv] always build with open gl and depends_on('gl')

* [opensubdiv] applying cuda flags

* [opensubdiv] worked on doc variant

* [opensubdiv] added some x11 libraries

* [opensubdiv] depends on glfw

* [opensubdiv] locating glew

* [opensubdiv] added openmp variant

* [opensubdiv] flake8 fixing

* [opensubdiv] fixed develop version name

* [opensubdiv] fixed description to not need @
2020-03-05 10:52:20 -06:00
Massimiliano Culpo
752092f46a Correct pytest.raises matches to match (#15346) 2020-03-05 11:16:02 +01:00
Massimiliano Culpo
d9626cca50 Bugfix: resolve StopIteration message attribute failure (#15341)
Testing the install StopIteration exception resulted in an attribute error:

AttributeError: 'StopIteration' object has no attribute 'message'

This PR adds a unit test and resolves that error.
2020-03-05 10:26:50 +01:00
Adam J. Stewart
9edf812745 py-matplotlib: add 3.2.0 (#15349) 2020-03-04 21:56:00 -06:00
Peter Scheibel
c5dc4a722e xgboost: add version 0.90 (#15321) 2020-03-04 18:19:03 -08:00
Axel Huebl
1757ec9eae New version of simplejson (#15325) 2020-03-04 20:34:06 -05:00
Adam J. Stewart
b813887585 ADIOS2: Cleanup, Development Branch Name (#15334)
* ADIOS2: Version `master`

Rename branch version to supported, real development branch `master`.
The old name is legacy Spack when alternative development branch
names were not yet supported.

* ADIOS: Simplify via spec Variable

use the already defined local variable `spec` to shorten
lines
2020-03-04 19:24:16 -06:00
Adam J. Stewart
136a4897b7 ADIOS2: Testing Depends on Python (#15336)
Add the python dependency and CMake hints when build with tests.
`spack install --tests=root adios2`
2020-03-04 19:23:12 -06:00
Patrick Gartung
e2b3d52999 Add function replace_prefix_nullterm for use on mach-o rpaths. (#15347)
This recovers the old behavior of replace_prefix_bin that was
modified to work with elf binaries by prefixing os.sep to new prefix
until length is the same as old prefix.
2020-03-04 19:21:15 -06:00
Adam J. Stewart
d7f84c738e Fixed the sha has for 1.3.3. (#15331) 2020-03-04 19:19:16 -06:00
Adam J. Stewart
1973d1c53e libfabric: default 1.8.1 (#15337)
Since 1.9.0 is broken for Darwin, which impacts many developers, and
the fix is still a RC, let's keep the previous release as default.

This avoids distruption for OSX developers and CI.
2020-03-04 19:11:54 -06:00
Peter Scheibel
cf7dbbf65c Remove DB conversion of old index.yaml (#15298)
Removed the code that was converting the old index.yaml format into
index.json. Since the change happened in #2189 it should be
considered safe to drop this (untested) code.
2020-03-04 16:39:10 -08:00
Patrick Gartung
3ea0e91533 use os.sep instead of null byte to pad replacement paths in binaries (#15338)
* use os.sep instead of null byte to pad replacement paths in binaries

* Prefix the pading os.sep's
2020-03-04 17:15:09 -06:00
Adam J. Stewart
8eda1db50f precice: Add version 2.0.1 (#15318) 2020-03-04 13:19:41 -06:00
Adam J. Stewart
60439a5040 pgi-19.10 update version (#15330) 2020-03-04 13:18:46 -06:00
Adam J. Stewart
3be3b2d0e3 gcc: Add 8.4.0 (#15323) 2020-03-04 13:18:02 -06:00
Adam J. Stewart
1ade506f54 Add extra version of py-contextlib2 (#15322) 2020-03-04 13:17:09 -06:00
Adam J. Stewart
5cfd862f47 suite-sparse: fix installation for v5.X (#15326)
fixes #15184

GraphBLAS depends on m4 according to CMake error message
Do not use INSTALL= when compiling the library
2020-03-04 13:16:42 -06:00
Christoph Junghans
32a0f3274f ecp-proxy-apps: version bump (#14680) 2020-03-04 10:45:23 -07:00
Sergey Kosukhin
b472c13803 Fix FCFLAGS handling for Autotools packages (#14788)
Spack's fflags are meant for both f77 and fc. Therefore, they must
be passed as FFLAGS and FCFLAGS to the configure scripts of
Autotools-based packages.
2020-03-03 13:13:38 -08:00
sknigh
370e7c211d intel-xed does not support python>3.7 (#15308) 2020-03-03 13:38:55 -06:00
sknigh
cec341594d Added UQTk package (#14801)
* added UQTk package

* Add missing expat dependency to uqtk
2020-03-03 12:50:20 -06:00
Mark W. Krentel
fddb3f291c elfutils: increase connect timeout (#15262)
Increase the connect timeout for elfutils to 60 sec.  Elfutils (and
bzip2) tar files are on sourceware.org which is often slow to respond.
2020-03-03 11:27:57 -06:00
Brian Van Essen
f83d98a62d Protobuf's cmake environment does not properly handle being exported (#15293)
and found when using the RelWithDebInfo build type.  Change protobuf
to only support Release and Debug build types.
2020-03-03 11:27:01 -06:00
Mathias Anselmann
d6b0cf75ed cherry-picking global ordinal type variant from https://github.com/spack/spack/pull/14215 and setting dealii to GO int, to make it compile again (#15288)
Co-authored-by: Andrey Prokopenko <andrey.prok@gmail.com>
2020-03-03 11:26:20 -06:00
Dr. Christian Tacke
c4237e4a10 fairlogger: add version, other improvements (#15300)
* @develop needs the full git repo to use "git describe"
  properly

* If not specifying the cxxstd variant, let cmake use its
  default

* Improve fmt dependencies: fairlogger < 1.6.2 does not
  work with fmt >= 6.

* Small other stuff
2020-03-03 11:24:37 -06:00
Patrick Schratz
71855707ef Update package.py (#15299) 2020-03-03 11:02:02 -06:00
Jennifer Herting
a237781c48 Created package glfw (#15296)
* Created stub

* added description and homepage

* added dependencies

* removed extra boilerplae

* switched to the pkgconfig provider
2020-03-03 11:01:29 -06:00
Sergey Kosukhin
2d1592cca7 OpenMPI: patch for NAG. (#15301) 2020-03-03 11:00:27 -06:00
Mathias Anselmann
518d1439c7 Suite sparse compilation fix for 5.7.0 and 5.7.1 (#15289)
Suite-sparse 5.7.0 and 5.7.1 need separate make and make install run to be able to compile, too
2020-03-03 12:06:58 +01:00
George Hartzell
dc4e43682c Tmux should look for tinfo in -ltinfo (#15282)
Just `depend_on('ncurses')`, pkgconfig seems to cause the right thing
to happen if the package is built +termlib or ~termlib (tested both
ways on a CentOS 7 system).

Additional details in: https://github.com/spack/spack/issues/15281

Tested by building all of the releases of tmux on a CentOS 7 box.
2020-03-03 09:12:06 +01:00
Dr. Christian Tacke
b43812c7c4 boost: Add "container" library (#14878)
"container" is partly a misnomer, as it's realy
the extended allocators part of container.

But every part calls it container, so we do too.
2020-03-02 19:48:07 -06:00
Erik Schnetter
059203b2fd amrex: New version 20.03 (#15294) 2020-03-02 16:09:50 -06:00
Tamara Dahlgren
73f7301ec4 bugfix: ensure proper dependency handling for package-only installs (#15197)
The distributed build PR (#13100) -- did not check the install status of dependencies when using the `--only package` option so would refuse to install a package with the claim that it had uninstalled dependencies whether that was the case or not.

- [x] add install status checks for the `--only package` case.
- [x] add initial set of tests
2020-03-02 11:16:20 -08:00
Kai Torben Ohlhus
1db1ae6887 openblas: Add version 0.3.9. (#15287)
[OpenBLAS 0.3.9](https://github.com/xianyi/OpenBLAS/releases/tag/v0.3.9) was released.
2020-03-02 11:58:54 -06:00
Cody Melton
7df761564a Qmcpack: new variant +afqmc (#14882)
* add preliminary afqmc support in qmcpack

* afqmc updates

* fix spack typos

* edit AFQMC to only allow up 3.7 or above

* added NCCL library support for AFQMC build

* add CMAKE args for BUILD_AFQMC_WITH_NCCL

* update for just AFQMC support. No AFQMC+GPU support

* remove nccl for afqmc

* flake8 whitespace fix
2020-03-02 11:58:33 -06:00
Gregory Lee
8a4f02fb2d stat: new version 4.0.2 (#15290) 2020-03-02 09:51:28 -08:00
Sergey Kosukhin
e3b357ad87 Update flag_handler for 'netcdf-fortran'. (#14789)
* Update flag_handler for 'netcdf-fortran'.

* Refactoring.

* Enable old versions of netcdf-fortran for NAG.

* Disable parallel 'make check' for versions before 4.5.0.

* Fix shared libraries built with NAG instead of conflicting it.

* Add 'skosukhin' as a maintainer of 'netcdf-fortran'.
2020-03-02 08:40:37 -06:00
noguchi-k
aae59f4866 lastz: set compile commands for each compiler (#15284) 2020-03-02 08:05:31 -06:00
Glenn Johnson
c0032a3660 Update tcsh package (#15283)
This PR adds some fixes for the tcsh package.

- Adds new version
- adds list_url so fetching works for current and old tarballs
- sets ncurses dependency explicitly to `ncurses+termlib`

If `+termlib` is not set then it will link against the system libtinfo.
2020-03-01 22:00:57 -06:00
noguchi-k
27de7a2726 lastz: cast from char to signed char (#15263) 2020-03-01 19:58:27 -06:00
TZ
ac4d0c3af7 Quantum-Espresso: qe-6.5 fails to detect MKL for FFT (#15276)
* Quantum-Espresso: qe-6.5 fails to detect MKL for FFT

qe-6.5 fails to detect MKL for FFT if BLAS_LIBS is set due to
an unfortunate upsteam change in their autoconf/configure:
- qe-6.5/install/m4/x_ac_qe_blas.m4 only sets 'have_blas'
  but no 'have_mkl' if BLAS_LIBS is set (which seems to be o.k.)
- however, qe-6.5/install/m4/x_ac_qe_fft.m4 in 6.5 unfortunately
  relies on x_ac_qe_blas.m4 to detect MKL and set 'have_mkl'
- qe-5.4 up to 6.4.1 had a different logic and worked fine with
  BLAS_LIBS being set
However, MKL is correctly picked up by qe-6.5 for BLAS and FFT if
MKLROOT is set (which SPACK does automatically for ^intel-mkl).
Thus, do not set BLAS_LIBS when compiling qe-6.5 with intel-mkl.

* replace all '^intel-mkl' by '^mkl' to match other packages which also provide MKL

e.g. intel-parallel-studio+mkl as mentioned by @adamjstewart in #15276
2020-03-01 10:08:33 -06:00
George Hartzell
501fdc75b6 Update kallisto (with hackery on std_cmake_args) (#15278)
* Filter problematic flag from std_cmake_args

Including '-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON' in the cmake args causes
bits of cmake's output to end up in the autoconf-generated configure
script.  See https://github.com/spack/spack/issues/15274 and

* Don't build in parallel (sigh)

* Constrain hackery for newer versions...

... to newer versions.
2020-02-29 22:58:13 -06:00
Sinan
5fc43b3b0e QGIS: fix typos (#15279)
* fix typos

* minor improvement

* add version 3.4.15
2020-02-29 22:56:41 -06:00
Sinan
7150bd6224 New package: QGIS (#12388)
* [WIP] new package: qgis

* add maintainer

* further improvements

* reflect improvements to qscintilla installation paths

* comment out qtkeychain dependency as the package is created

* uncomment qtkeychaing dependency, since this package is now created

* a comment on webkit

* specify versions of dependencies, add variant

* fix variant description

* fix proj dependency logic

* adjust conflicts and dependencies so that one can compile qgis@2 with qt4, python2.7

* minor improvement

* fix some build errors, improve dependency specs

* qsci python bindings will be build by py-pyqt

* cmake variable QSCINTILLA_LIBRARY should point to library itself not the parent folder

* turn grass off explicitly, fix typo, turn qspatialite off explicitly

* fix typo

* specify more cmake options that doesn"t seem to be set properly, and use spack provided pkg-config

* fix libzip

* fix build issue with sqlite variant, add runtime dependencies

* add more runtime python package dependencies

* reflect variant name change in sqlite

* add maintainer, correct typo

* add TODO's

* add more versions

* improve style

* add latest versions

* netcdf -> netcdf-c

* add variants as shown in cmake config

* add conflict: v3.8.1 won't build if qt@5.13:

* change preferred version to latest long term release, 3.10.3

* add a zillion of build options

* improve style

* add descriptions for variants

* remove and already implemented compilation tip

* add "when" statements for optional dependencies

* make flake8 happy

* Update var/spack/repos/builtin/packages/qgis/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/qgis/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/qgis/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/qgis/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/qgis/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* convert conflicts to depends_on

* undo str conversion for path objects

* fix flake8 E131

* fix flake8 E128, E124

* improve style

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-29 18:52:43 -06:00
Mark W. Krentel
4c506c88f0 hpctoolkit: add version 2020.03.01 (#15277)
Add version 2020.03.01, deprecate Blue Gene to 2019.12.28 and earlier,
tighten a few dependencies.
2020-02-29 18:30:42 -06:00
Richard Berg
d105807a48 Add kraken2 (#15053) 2020-02-29 15:44:42 -06:00
Robert Blake
7562d4e934 Caliper depends on python3. (#15260)
* Caliper depends on python3.

The package needs to be told where to find it.

* More flake8 formatting edits.

* Change explicit python3 to spec['python'].command.path

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Removing defunct import for flake8

* Flake8 trailing whitespace warning.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-29 15:32:51 -06:00
Anthony Scemama
ece5ec8ade opam: added versions up to v2.0.6 (#15178) 2020-02-29 14:47:44 +01:00
rtohid
ecc7afdad6 HPX: added v1.4.1 and "stable" branch (#15198) 2020-02-29 14:44:09 +01:00
Roberto Di Remigio
4dbeb3563b MRCPP: New package. (#15201) 2020-02-29 14:41:02 +01:00
plamborn
0187807621 libhio: specify use of external json (#15209)
libhio has been building it's own json.  With this change, libhio will rely on the json installed by spack.
2020-02-29 14:25:21 +01:00
Glenn Johnson
94c2e7e7b4 Set http:// in homepage for a few packages (#15275)
This PR adds 'http://' to the homepage setting of a few packages that do
not have it set. Not having that set can cause problems with some wiki
apps when embedding the homepage value into markdown syntax.

- bowtie2
- exuberant-ctags
- perl-want
- samtools
2020-02-29 13:47:56 +01:00
George Hartzell
53f4db938f Update tree for v1.8.0 (#15272)
- add version info for v1.8.0

- v1.8.0 adds a new source file, `file.c`, which need to be included
  in our hardcoded list of objects to link.

  I discovered this while demonstrating "how easy it is to add a new
  package to Spack", only to scratch my head when it failed `spack
  install` but worked when I ran `make` in the stage dir.  Finally
  looked at tree/package.py and it All Became Clear.

  Perhaps someone should rewrite this to use MakefilePackage, but the
  Makefile starts off with a bunch of twisty turny "uncomment these
  lines to run on this platform", so it might not be worth it.
2020-02-28 17:52:41 -06:00
Anthony Scemama
c10fb2a974 Added package py-versioneer (#15130)
* Added package py-versioneer

* Update python version

* Added python2 to versioneer

* Added python2 to versioneer

* Update var/spack/repos/builtin/packages/py-versioneer/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Cleaning comments

* Removed temporarily @warner as a maintainer, waiting for answer

* Removed line

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-28 15:14:06 -06:00
George Hartzell
d3a2234af9 Add version info for the-silver-searcher@2.2.0 (#15270) 2020-02-28 15:13:05 -06:00
Rémi Lacroix
7ecee48c83 OpenMPI nolegacylaunchers: avoid a fork bomb (#15268)
Due to the use of backquotes, the replacement script for mpirun/mpiexec commands would recursively call itself, effectively causing a fork bomb.
2020-02-28 14:59:49 -06:00
Christoph Junghans
5329308b83 gromacs: add v2019.6 (#15267)
* gromacs: add v2019.6

* Update var/spack/repos/builtin/packages/gromacs/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-28 14:58:31 -06:00
iarspider
97e909ef0c Fix expect on linux (#15230) (#15269)
* Fix expect on linux

* Flake8
2020-02-28 14:57:45 -06:00
Erik Schnetter
38d5d7304d ssht: Correct recipe (#15217)
- Tell make about the source code path
- Install actual header files, not a wrapper with wrong paths
- Add a patch to prevent compiler warnings
- Improve description
2020-02-28 11:32:41 -06:00
Adam J. Stewart
513f9235c3 Fix detection of redhat enterprise compute node (#15253)
* Fix detection of redhat enterprise compute node

* Add comma

* Remove space
2020-02-28 11:27:15 -06:00
Seth R. Johnson
f2fa4c1e4b Add new version of libfabric that builds on macOS (#15254)
* Add new version of libfabric that builds on macOS

See https://github.com/ofiwg/libfabric/issues/5339
Fixes https://github.com/spack/spack/issues/15244

Also reduced copy-paste of URLs with `url_for_version`.

* Address reviewer feedback
2020-02-28 11:26:48 -06:00
eugeneswalker
886e072f1d unifyfs depends on openssl (#15258) 2020-02-28 11:24:53 -06:00
Howard Pritchard
e519bbadc3 UCX: add 1.7.0 (#15266)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-02-28 11:22:37 -06:00
Ben Morgan
ec75011a69 Add @drbenmorgan as maintainer for core HEP packages (#15264) 2020-02-28 09:34:07 -06:00
Glenn Johnson
8ee7ee6105 Fixups for jupyter (#15136)
* Fixups for jupyter

This PR fixes a few things for some jupyter related packages.

py-ipython:
- make the python depends_on statements reflect needs of different
  versions
- remove an unneeded conflicts directive

py-ipywidgets:
- add new version
- set version constraints for py-widgetsnbextension

py-jupyter-console
- add new version
- set python dependencies for versions as needed
- set version constraint for py-ipython
- set version constraints for py-prompt-toolkit

py-pyqt5
- build with py-sip

py-qtconsole
- add dependency on py-pyqt5

* Update var/spack/repos/builtin/packages/py-jupyter-console/package.py

Tweak version ranges.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-jupyter-console/package.py

Tweak version range.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Make py-pyqt5 a run dependency

Also, make formatting more consistent.

* Fix site_packages_dir

Change reference of site_packages_dir to self.site_packages_dir. Oddly,
this did not show up as a problem until I regenerated the module.

* Restore py-pyqt5 to previous state

* Explicitly set path to site_packages_dir

This change prevents an error when regenerating the py-pyqt5 module
file.

* Fix flake8 errors

* Make sure prefix is in join_path

* Fix flake8 errors

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-27 22:31:46 -06:00
Anwar Koshakji
1616aa7119 Fixed url for SLEPc package (#15257)
* Fixed url for SLEPc package

* Fixed homepage url for SLEPc package
2020-02-27 22:29:29 -06:00
Christoph Junghans
c7d3dee2f7 gsl: build against external cblas (#15261) 2020-02-27 22:29:08 -06:00
Glenn Johnson
f10710d5cd New package: py-librosa (#15223)
* New package: py-librosa

This PR adds the py-librosa package, along with new dependency packages
and some updates of existing dependency packages.

- new package: py-audioread
- new package: py-resampy
- new package: py-soundfile
- update package: py-numba
- update package: py-llvmlite

py-numba:
- add updated version
- adjust constraints

py-llvmlite:
- add updated version
- adjust constraints
- fix version specifications for llvm
- add environment function to set PIC

* Update var/spack/repos/builtin/packages/py-numba/package.py

Ah, yes, I see that `setuptools` is listed in the `install_requires` array. I missed that before.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Fix dependency

- Add dependency of py-soundfile depends on libsndfile
- Add new libsndfile package

* Add py-pytest-runner build dep

* Make numpy a variant for py-soundfile

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-27 22:28:16 -06:00
Seth R. Johnson
09a1f09fd0 Mark GCC7 and newer as conflicting with rhel6 without binutils (#14706)
When building gcc7 and gcc8 on RHEL6 with Spack and installing it as
a spack-available compiler, OpenBLAS will fail to compile because GCC
generates newer instructions than rhel6's `as` assembler knows about
(e.g. "vpermpd").

Building gcc8 with binutils succeeds, and it generates a GCC that can
then successfully build OpenBLAS. This is also expected to work for
gcc7 on RHEL6.
2020-02-27 18:56:48 -08:00
L. Diana Amorim
17fbf78593 Added version 0.12.0 to py-pyfftw (#15252)
* Added version 0.12.0 to fix issue #15218

* Added dependencies specs with compatible versions

* Switched py-scipy dependency to variant (default F)

* Removed variant py-scipy and didn't add py-dask

* Fixed typo: missing '

* Update var/spack/repos/builtin/packages/py-pyfftw/package.py

Fixing typos from version ranges in dependencies.

Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>

* Update var/spack/repos/builtin/packages/py-pyfftw/package.py

Removed repeating dependency option.

Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>

* Update var/spack/repos/builtin/packages/py-pyfftw/package.py

Limited version of py-numpy dependency to <2.0.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-27 20:31:34 -06:00
Christoph Junghans
a785e302cc portage: needs to be linked against lapack:c (#15259) 2020-02-27 20:23:45 -06:00
Jean-Paul Pelteret
7217592c24 Fix Trilinos 12.18.1 build when using Apple Clang 8.0.0 2020-02-27 18:22:09 -08:00
Jean-Paul Pelteret
7fc908e0e1 Update package: Trilinos + Mesquite 2020-02-27 18:22:09 -08:00
Robert Blake
b88c66cb52 Adding an option to build the C api for Umpire. (#15238)
* Adding an option to build the C api for Umpire.

This is useful if you need to link to a C code and you're using
a compiler suite that doesn't support fortran.

* Also updating the versions while I'm here.

* Adding conflict: Fortran requires C.

To ease transition and confusion, default to C-bindings being
present.  This shouldn't hurt anyone who is upgrading an existing
installation.
2020-02-27 20:17:55 -06:00
Glenn Johnson
4d5e75d825 new package: py-auxlib (#15221) 2020-02-27 20:12:32 -06:00
Massimiliano Culpo
7e13c9a6a0 Remove "triage" label from feature request 2020-02-27 16:34:24 -08:00
Massimiliano Culpo
2fbc774c8b Use checkout v2 to avoid issues on retriggering 2020-02-27 16:34:24 -08:00
Massimiliano Culpo
89f4ce964b Improved the feature request template 2020-02-27 16:34:24 -08:00
Massimiliano Culpo
b6531a760b Improved the build error template 2020-02-27 16:34:24 -08:00
Massimiliano Culpo
d36100e429 Improved the bug report template 2020-02-27 16:34:24 -08:00
Mark W. Krentel
fc20b352e7 hpcviewer: add version 2020.02 2020-02-27 15:40:55 -08:00
Roberto Di Remigio
d083c17242 New package: XCFun (#15199) 2020-02-27 15:40:21 -08:00
Michael Kuhn
f580b340f8 Add new timeout fetch_option
This allows packages to override the global connect_timeout.
2020-02-27 10:52:52 -08:00
Michael Kuhn
b7cfd05ef7 Generalize curl_options into fetch_options
This allows us to support higher-level concepts such as 'cookie' and
'timeout' without users having to specify curl options.
2020-02-27 10:52:52 -08:00
Michael Kuhn
7325c20794 config: Add a new option connect_timeout
connect_timeout can be used to increase the time Spack waits for the
server to answer. This can be used to work around slow connections or
servers.

Fixes #14700
2020-02-27 10:52:52 -08:00
Sheng Di
ffb9591dc9 release sz 2.1.8.3 (#15250) 2020-02-27 12:25:06 -06:00
Adam J. Stewart
6153eea2c2 CudaPackage: add support for Tesla K80 and older CUDA (#15031)
* CudaPackage: add support for Tesla K80 and older CUDA

* Flake8 fixes

* Fix cuda_arch when no arch is set

* Fine-tune cuda_arch=37,50 supported CUDA versions

* CUDA 6.5+ supports SM_37

* Add @svenevs as a maintainer
2020-02-27 12:16:20 -06:00
Glenn Johnson
167c75842a new package: py-cnvkit and py-pomegranate (#15222)
The py-pomegranate package is a dependency of py-cnvkit
2020-02-27 12:06:19 -06:00
Glenn Johnson
c34ed6e6b5 new package: py-pycifrw (#15224) 2020-02-27 11:55:10 -06:00
Glenn Johnson
2d0ae0deb2 new package: py-pycosat (#15225) 2020-02-27 11:53:30 -06:00
Glenn Johnson
130a77f322 New packages: py-pymc3 and py-arviz (#15226)
This PR adds py-pymc3 and py-arviz as a dependency.
2020-02-27 11:51:15 -06:00
Paul
0d2f8e314b Added go 1.14 (#15249) 2020-02-27 11:42:48 -06:00
TZ
d6d095a868 Docs: "spack env" is in the meantime called "spack build-env" (#15233) 2020-02-27 09:13:09 +01:00
Kai Torben Ohlhus
b37d7b8ed7 arpack-ng: ILP64 support (#15103)
Details about ILP64 support: `INTERFACE64=1` are described on the [ARPACK-NG GitHub website](https://github.com/opencollab/arpack-ng).
2020-02-27 07:19:24 +01:00
Anthony Scemama
9c194b22dc f77-zmq: add version 4.3.2 (#15204)
Version 4.3.1 only works with Python3. Version 4.3.2 also works
with Python2. These constraints were not listed before and are added
by this commit.
2020-02-26 19:05:46 -08:00
Andreas Baumbach
f1a12966b0 py-git-review: add version 1.28 (#15203) 2020-02-26 19:02:51 -08:00
Luca Carrogu
350235ba71 AWS ParallelCluster: add version 2.6.0 (#15240) 2020-02-26 19:02:24 -08:00
genric
9a1a346999 h5py: add version 2.10.0 (#15205)
Also add dependency on py-cached-property
2020-02-26 19:01:22 -08:00
Tamara Dahlgren
ed15adbb9e bugfix: Add dependents when initializing spec from yaml (#15220)
The new build process, introduced in #13100 , relies on a spec's dependents in addition to their dependencies. Loading a spec from a yaml file was not initializing the dependents.

- [x] populate dependents when loading from yaml
2020-02-26 18:49:29 -08:00
Kevin Huck
ebd248b27e SQLite shouldn't be enabled by default for TAU package (#15228)
Also Adding conflict for SQLite and ADIOS2 for older TAU releases
2020-02-26 17:14:09 -06:00
Seth R. Johnson
578e8031ce Default to +termlib for ncurses for LLVM (#15039)
LLVM is the only package that explicitly sets the "termlib" variant
of ncurses and it specifies +termlib. ncurses defaults to ~termlib;
if a package depends on LLVM and ncurses, there is a concretizer bug
that incorrectly detects a constraint conflict (see #267). Setting
+termlib as the default is a stopgap measure to avoid this conflict.

If other packages were to explicitly request ~termlib in the future,
the same issue would come up again (and could not be resolved by
adjusting the default of "termlib").

Setting +termlib on ncurses moves some symbols into a separate
"libtinfo". Not all packages may be able to detect libtinfo properly
so may require an update; vim, samtools, and libedit have been
updated to use ncurses+termlib (in the case of libedit, the only
necessary action was to add a newer version where the build system
was updated to check libtinfo).
2020-02-26 11:27:12 -08:00
Seth R. Johnson
6c445a2c0f Uniquify suffixes added to module names (#14920) 2020-02-26 18:03:28 +01:00
Anthony Scemama
1c227db7a9 Basis set exchange command-line tool (#15126)
* Flake8 OK

* Update var/spack/repos/builtin/packages/py-basis-set-exchange/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-basis-set-exchange/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Added missing dependencies proposed by @adamjstewart

* Without py-versioneer

* Added py-versioneer

* Python2 for bse

* Python build error

* Update var/spack/repos/builtin/packages/py-basis-set-exchange/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Removed py-versioneer, according to @adamjstewart

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-26 07:27:02 -06:00
Glenn Johnson
a568db00b8 A few edits for the Basic Usage Doc page (#15215)
This PR corrects a few minor things and adds a note about colorized
output.
2020-02-26 10:03:03 +01:00
Patrick Gartung
ae87828520 buildcache cmd: add explicit message with default output dir for buildcaches. (#15090)
* Make -d directory a required option. Print messages about where buildcaches will be written.

* Add mutually exclusive required options

* spack commands --update-completion

* Apply @opadron's patch

* Update share/spack/spack-completion.bash

* Incorporate @opadron's suggestions
2020-02-25 17:49:25 -06:00
Omar Padron
00090f8f97 add --only option to buildcache create cmd (#14921)
* add --only option to buildcache create cmd

replaces the --no-deps option
2020-02-25 17:32:20 -05:00
Omar Padron
8d750db9de remove catch-all exception handling in buildcache command (#15185)
* remove catch-all exception handling in buildcache command

* fix test
2020-02-25 14:10:50 -06:00
Patrick Gartung
676eb56ab2 Buildcache cmd: add install -o/--otherarch option for installing macOS buildcaches on linux (#15192)
* Buildcache command: add install option -o/--otherarch
This will allow matching specs from other archs, for example
installing macOS buildcaches on linux hosts.

* spack commands --update-completion
2020-02-25 11:01:59 -06:00
Kai Torben Ohlhus
8d8925c725 qrupdate: ILP64 support (#15104)
- When compiling qrupdate with `FFLAGS=-fdefault-integer-8` it can be perfectly used for larger problem dimensions.
- Improved the readability of the file with the added rules.
2020-02-25 10:36:54 +01:00
Kevin Huck
21afb13be6 Adding ADIOS2 and SQLite3 output support to TAU. Also fixing MPI include and library paths. (#15189)
Setup package to use MPI the way Spack recommends, and remove extra iowrapper option from configure
Making flake happy
2020-02-24 22:33:05 -06:00
OliverPerks
5c68caeb1e Update of OpenFOAM package.py (#15190) 2020-02-24 22:28:13 -06:00
Kai Torben Ohlhus
4a0b7c9d20 suite-sparse: add version 5.7.1 (#15195)
Release notes: https://github.com/DrTimothyAldenDavis/SuiteSparse/releases/tag/v5.7.1

Version 5.7.0 was an incomplete release.
2020-02-24 22:22:00 -06:00
ktsai7
9b3f5f3890 update flecsi and legion package.py (#15159)
* update flecsi and legion package.py

* comment out a conflict

* update to use extend
2020-02-24 13:22:25 -06:00
Michael Kuhn
45306206c7 docs: Fix tiny typo (#15181) 2020-02-24 10:58:21 -06:00
Michael Kuhn
94acd8f235 cmd/load: Fix usage output (#15180)
args.specs is a list, which results in output like this:
```
eval `spack load --sh ['libxml2', 'xz']`
```

We want this instead:
```
eval `spack load --sh libxml2 xz`
```
2020-02-24 09:46:41 -06:00
Michael Kuhn
a38eb70e30 modules: store configure args during build (#11084)
This change stores packages' configure arguments during build and makes
use of them while refreshing module files. This fixes problems such as in
#10716.
2020-02-24 15:34:57 +01:00
darmac
b1e097b035 add new package : agrep (#15165)
* add new package : agrep

* agrep: move binary to bin/
2020-02-24 08:00:34 -06:00
Anthony Scemama
48d6da3b6e Added extra versions of OCaml (#15177)
* Aded extra versions for OCaml

* Added maintainer
2020-02-24 07:59:59 -06:00
Robert Underwood
79dcf835b2 sz: update to version 2.1.8.1 (#15154)
The newer versions of SZ now uses CMake to build.
2020-02-24 07:55:39 -06:00
Glenn Johnson
c2e1319f2d Update py-bx-python package (#15175)
* Update py-bx-python package

- add update to py-bx-python
- switch to pypi downloads
- set dependencies

* Update var/spack/repos/builtin/packages/py-bx-python/package.py

I had initially pulled version 0.8.6 and then updated that to 0.8.8 but missed the change in the python specs between those two versions.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Fix version 0.7.4

- set dependency on python2
- add dependency on py-python-lzo
- add py-python-lzo package
- set py-numpy dependency to correspond to latest version that works
  with python2

* Add constraint for py-six dependency

* Update var/spack/repos/builtin/packages/py-bx-python/package.py

Ah, I had that `when` clause in and then took it out as it did not seem to be needed. I guess it is always better to be more explicit.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Remove py-numpy constraint

Let the concretizer catch the conflict with python2 and py-numpy
versions.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-24 07:54:08 -06:00
Glenn Johnson
6615fbccbc Update py-rseqc package (#15176)
This PR depends on #15175
- add updated version
- set depedencies
2020-02-23 22:15:47 -06:00
darmac
edca0e9da2 add new package : batctl (#15160)
* add new package : batctl

* batctl: move binary to bin/
2020-02-23 22:08:03 -06:00
darmac
fd3c08e925 add new package : bubblewrap (#15162)
* add new package : bubblewrap

* bubblewrap: remove some comment in package.py
2020-02-23 22:07:39 -06:00
Todd Gamblin
5aa1739bfa Merge branch 'releases/v0.14' into develop 2020-02-23 17:32:12 -08:00
Todd Gamblin
97d46dc36f update CHANGELOG.md for 0.14.0 2020-02-23 17:08:15 -08:00
Todd Gamblin
388960f044 version bump: 0.14.0 2020-02-23 17:08:15 -08:00
Michael Kuhn
a5461f5cba py-setproctitle: Add new package (#15170) 2020-02-23 12:46:22 -06:00
Michael Kuhn
b935d88282 create: Mention that python dependency does not have to be added (#15173)
A generic python dependency is already added implicitly by the
PythonPackage class.
2020-02-23 10:22:50 -08:00
iarspider
fd60977613 Separate HepMC2 and HepMC3 build recipes; Python3 support for HepMC3 (#15147)
* Fixes & additional variant(s) for HepMC3

* Syntax

* Restore recipe for HepMC2

* Remove FIXME

* Update package.py

* Apply suggestions from code review

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-23 12:07:00 -06:00
Seth R. Johnson
b927e3799f Fix silex build (#15172)
* Mark silo+silex as requiring QT4

* Add missing readline dependency to silo

* Fix silo QT4 usage and verify silex works on mac

```
-- darwin-mojave-x86_64 / clang@11.0.0-apple --------------------
7gdcud4 silo@4.10.2+fortran~mpi patches=7b5a1dc2a0e358e667088d77e7caa780967fa8ea60be89c44986605df9990abe +pic+shared+silex
pk3wbwd     hdf5@1.10.6~cxx~debug~fortran+hl~mpi+pic+shared+szip~threadsafe
slsy6ko         libszip@2.1.1
xj36ejk         zlib@1.2.11+optimize+pic+shared
u4662xx     libx11@1.6.4
3lpe6j3     qt@4.8.7~dbus~examples~framework freetype=none ~gtk~opengl patches=03f9893882c63a9a9617d9ecab9caf80661c96df13f596a9b24fc4579490144a,a4f37427b34d88df6a6adc16e1e6c805087d4f3a7c658e1797450b0912fcbf5d,f17e0b5fb1f43bccadf7298533eca57294f4acab11ed83b176c61c441f745c19 ~phonon+shared~sql~ssl~tools~webkit
shdhdbh         glib@2.56.3~libmount patches=c325997b72a205ad1638bb3e3ba0e5b73e3d32ce63b2d0d3282f3e3a2ff4663c tracing=none
msyeqht             gettext@0.20.1+bzip2+curses+git~libunistring+libxml2+tar+xz
ysmjykg                 bzip2@1.0.8+shared
w354vrb                 libxml2@2.9.9~python
jg6ekuh                     libiconv@1.16
b7n722h                     xz@5.2.4
zbgxvxi                 ncurses@6.1~symlinks~termlib
2e6sifw                 tar@1.32
7yg7qah             libffi@3.2.1
zg55iyu             pcre@8.43~jit+multibyte+utf
zqrlxlz             perl@5.30.0+cpanm+shared+threads
un7wzvl             python@3.7.4+bz2+ctypes+dbm~debug+libxml2+lzma~nis~optimizations patches=210df3f28cde02a8135b58cc4168e70ab91dbf9097359d05938f1e2843875e57 +pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4+uuid+zlib
l4gxq46                 expat@2.2.9~libbsd
3t4dwsv                 gdbm@1.18.1
h2bjtz2                     readline@8.0
ugvknwc                 openssl@1.1.1d+systemcerts
hsmq6ou                 sqlite@3.30.1~column_metadata+fts~functions~rtree
lpfob23         icu4c@65.1 cxxstd=11
lf66vbr         inputproto@2.3.2
afovyhg         libjpeg-turbo@2.0.3
5dgw556         libmng@2.0.3 build_type=RelWithDebInfo
3z4lw2w             lcms@2.9
flleuyu                 libtiff@4.0.10
67tigfp         libpng@1.6.37
```
2020-02-23 10:45:19 -06:00
Seth R. Johnson
629c69d383 Automatically run LLDB codesign script on mac (#15169)
Newer versions of LLVM provide a one-line command to set up LLDB code
signing. Now the build will abort only if this command fails.

https://lldb.llvm.org/resources/build.html#code-signing-on-macos
2020-02-22 13:09:22 -06:00
darmac
0ea6bab984 add new package : brltty (#15161) 2020-02-22 09:02:34 -06:00
darmac
50b5e6b94b add new package : audit-userspace (#15163) 2020-02-22 09:01:27 -06:00
darmac
1a479b5e9e add new package : apachetop (#15164) 2020-02-22 09:00:55 -06:00
darmac
3104bfe93e add new package : advancecomp (#15166) 2020-02-22 08:59:26 -06:00
darmac
f961f64215 add new package : acpid (#15167) 2020-02-22 08:58:54 -06:00
darmac
9f2cee43cf lighttpd : fix pcre depends (#15168) 2020-02-22 08:58:25 -06:00
Massimiliano Culpo
82be8965f2 Emit a sensible error message if compiler's target is overly specific (#14888)
* Emit a sensible error message if compiler's target is overly specific

fixes #14798
fixes #13733

Compiler specifications require a generic architecture family as
their target. This commit improves the error message that is
displayed to users if they edit compilers.yaml and use an overly
specific name.
2020-02-21 14:50:54 -08:00
Cody Balos
16a9464b5c sundials: add version 5.1.0 and trilinos variant (#15155)
* sundials: add version 5.1.0 and trilinos variant

* sundials: add version 5.1.0 and trilinos variant
2020-02-21 14:54:27 -06:00
Robert Blake
6764a9464d Changes necessary to build lbann@develop (#15153)
* Necessary changes to get lbann develop to compile.

* Reformatting for flake8

* More flake8 changes.

* Removing redundant clara dependency.
2020-02-21 14:42:37 -06:00
Erik Schnetter
6d8e0699f4 shtools: New package (#15133)
* shtools: New package

* shtools: Convert to MakefilePackage, use Spack's generic compiler flags

* shtools: Make function location explicit
2020-02-21 14:30:25 -06:00
iarspider
0bc4a778bd Add extra version of py-jsonschema (#14993)
* Add extra version of py-jsonschema

* Update dependencies

* Update dependencies + flake8

* Add py-pyrsistent package

* Update package.py

* Update var/spack/repos/builtin/packages/py-jsonschema/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

* Update package.py

* Apply suggestions from code review

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Apply suggestions from code review

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-21 14:29:42 -06:00
Erik Schnetter
4a5c64ab6e amrex: New version 20.02 (#15132) 2020-02-21 12:52:19 -06:00
Robert Blake
abfdabd34e Updating raja versions. (#15148) 2020-02-21 12:41:39 -06:00
Tim Haines
b399761106 Add clang compiler (#15152) 2020-02-21 12:32:55 -06:00
Nichols A. Romero
065cbf1bbe QE+QMCPACK Converter Update February 2020 (#15135)
* Add a variant to QE that suppresses upstream patching. Need in order to do ddependency patching.

* QE variant fails to build often. Set default variant to False as a user friendly change.

* QMCPACK converter patch collides with internal QE patches. Deactivate internal patches when performing dependency patching.

* Clearer description of QE patch variant that is also flake8 compliant.
2020-02-21 12:11:35 -06:00
Seth R. Johnson
08b5264607 Disable qt3d when opengl is disabled (#15149)
* Disable qt3d when opengl is disabled

* Remove `-skip qtquick3d` unless QT 5.14

Found while checking build of qt 5.14.
2020-02-21 12:11:12 -06:00
iarspider
fabd8693b9 Add extra version of py-sqlalchemy (#15109)
* Add extra version of py-sqlalchemy

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Apply suggestions from code review

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

* Update package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-21 12:10:27 -06:00
Tamara Dahlgren
38fc441a36 Updated installer module copyright (#15138)
Update the copyright for `installer.py`.
2020-02-20 16:55:42 -08:00
Andrew Kamal
48375adf17 Add decentralized-internet package (#15129)
* Create package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update var/spack/repos/builtin/packages/decentralized-internet/package.py

Commit suggestion

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-20 18:21:29 -06:00
Tamara Dahlgren
a03b252522 Restore package-related unsigned binary changes from PR 11107 (#15134)
Restore package-related unsigned binary changes from PR 11107
2020-02-20 14:03:47 -08:00
Peter Scheibel
2e387ef585 Package hashing: fix detection of directives (#14763)
The hashing logic looks for function calls that are Spack directives.
It expects that when a Spack directive is used that it is referenced
directly by name, and that the directive function is not itself
retrieved by calling another function. When the hashing logic
encountered a function call where the function was determined
dynamically, it would fail (attempting to access a name attribute
that does not happen to exist in this case).

This updates the hashing logic to filter out function calls where the
function is determined dynamically when looking for uses of Spack
directives.
2020-02-20 13:45:58 -08:00
Anthony Scemama
01bda12692 libf77zmq (#15125)
* libf77zmq

* Cleaning mkdirp

* Removed install function

* Renamed to f77-zmq

* Fixed Flake8

* Fixed Flake8
2020-02-20 15:34:25 -06:00
iarspider
c5134ff4f2 Add extra version of py-terminado (#15111)
* Add extra version of py-terminado

* Update package.py

* Update var/spack/repos/builtin/packages/py-terminado/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-20 15:30:43 -06:00
iarspider
19af86592b Add extra version of py-tornado; update dependencies (#15112)
* Add extra version of py-tornado

* Update package.py

* Update package.py

* Update package.py
2020-02-20 15:29:54 -06:00
iarspider
ea9aa2c7cb Add extra version of py-typing (#15113)
* Add extra version of py-typing

* Update package.py

* Fix typo

* Update package.py
2020-02-20 15:29:12 -06:00
iarspider
0d84ee6c68 Add extra version of py-sympy (#15110)
* Add extra version of py-sympy

* Update package.py
2020-02-20 15:28:45 -06:00
iarspider
e4968a495d Add extra version of py-widgetsnbextension (#15105)
* Add extra version of py-widgetsnbextension

* Update dependency version

* Update package.py

* Update package.py

* Update var/spack/repos/builtin/packages/py-widgetsnbextension/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-20 15:28:09 -06:00
iarspider
c784799895 Add extra version of py-urllib3 (#15114)
* Add extra version of py-urllib3

* Update package.py

* Update package.py

* Update package.py

* Update var/spack/repos/builtin/packages/py-urllib3/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-20 15:27:39 -06:00
iarspider
b5b19084de Add extra version of py-wheel (#15116)
* Add extra version of py-wheel

* Update package.py

* Update package.py
2020-02-20 15:26:59 -06:00
iarspider
8b72cb64dd Add extra version of vc (#15119)
* Add extra version of vc

* Update package.py

* Update package.py

* Update var/spack/repos/builtin/packages/vc/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-20 15:26:07 -06:00
Patrick Gartung
dd0e18d7b8 Use get_spec in relocated _try_install_from_binary_cache (#15131)
* Use get_spec in relocated _try_install_from_binary_cache
2020-02-20 13:07:32 -08:00
Massimiliano Culpo
d1929b2ea7 Compilers require an exact match on version during concretization (#14752)
Spack now requires an exact match of the compiler version
requested by the user. A loose constraint can be given to
Spack by using a version range instead of a concrete version
(e.g. 4.5: instead of 4.5).
2020-02-20 12:20:12 -08:00
Seth R. Johnson
a1e3a1653a Mark binutils-related conflicts (#15075)
* Mark conflicts with binutils on darwin

* Explicitly require binutils bootstrapping and mark conflict with nvptx

* Disable gold variant by default on darwin
2020-02-20 12:00:48 -06:00
snehring
f5b5036ad5 adding package igv (#15096)
* igv: adding package igv

* removing some remaining initial boilerplate

* changing path construction to be more correct

* adding in type for java dep, also forgot about prefix.bin etc
2020-02-20 11:45:57 -06:00
iarspider
40410102d2 Add extra version of py-werkzeug (#15115) 2020-02-20 11:35:28 -06:00
iarspider
b538885b08 Add extra version of py-wrapt (#15117) 2020-02-20 11:31:53 -06:00
iarspider
d9b8a9a8b3 Add extra version of py-zipp (#15118)
* Add extra version of py-zipp

* Update package.py
2020-02-20 11:31:01 -06:00
iarspider
545c436d33 Add extra version of xrootd (#15124) 2020-02-20 10:55:37 -06:00
iarspider
0ea7b83e71 Add extra version of py-setuptools (#15106) 2020-02-20 09:58:19 -06:00
iarspider
186ca13cf0 Add extra version of vecgeom (#15121) 2020-02-20 09:57:33 -06:00
iarspider
674c4379ee Add extra version of xapian-core (#15122) 2020-02-20 09:57:07 -06:00
iarspider
308a6bc601 Add extra version of xerces-c (#15123) 2020-02-20 09:56:47 -06:00
iarspider
43f8e9a260 Add extra version of prometheus-client (#15067)
* Add extra version of py-prometheus-client

* Update package.py

* Update package.py
2020-02-20 09:55:39 -06:00
iarspider
98895297b5 Add extra version of py-py4j (#15065)
* Add extra version of py-py4j

* Add test dependencies

* Update package.py
2020-02-20 09:55:15 -06:00
iarspider
64887e4821 Add extra version of py-sip (#15108) 2020-02-20 09:53:38 -06:00
iarspider
4e2a5388ac Add extra version of py-qtconsole (#15083)
* Add extra version of py-qtconsole

* Update package.py

* Update package.py
2020-02-20 09:53:04 -06:00
iarspider
9a5fa90c25 Add extra version of py-pyshp (#15072)
* Add extra version of py-pyshp

* Update package.py
2020-02-20 09:52:23 -06:00
Anthony Scemama
d98b98aae6 Package for IRPF90 (#15076)
* Added IRPF90 package

* PEP8

* SHA256

* Update var/spack/repos/builtin/packages/py-irpf90/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-20 09:50:21 -06:00
iarspider
4d62dda17a Add extra version of py-multiprocess (#15043)
* Add extra version of py-multiprocess

* Update dependency version

* Add url_for_version

* Flake-8

* Update package.py
2020-02-19 23:11:49 -06:00
iarspider
a02aadb4db Add extra version of py-packaging (#15047)
* Add extra version of py-packaging

* Update py-packaging

`attrs` dependency was only in 19.1
2020-02-19 23:09:45 -06:00
Dr. Christian Tacke
22a56a89c7 Use shutil.copy2 in install_tree (#15058)
Sometimes one needs to preserve the (relative order) of
mtimes on installed files.  So it's better to just copy
over all the metadata from the source tree to the install
tree. If permissions need fixing, that will be done anyway
afterwards.

One major use case are resource()s:
They're unpacked in one place and then copied to their
final place using install_tree(). If the resource is a
source tree using autoconf/automake, resetting mtimes
uncorrectly might force unwanted autoconf/etc calls.
2020-02-19 23:09:26 -06:00
iarspider
a47ab9c6b2 Add extra version of py-psutil (#15063)
* Add extra version of py-psutil

* Add optional dependency on enum34

* Update package.py

* Remove unused enum variant
2020-02-19 23:09:07 -06:00
iarspider
ef9ab2ebc4 Add extra version of py-ptyprocess (#15064) 2020-02-19 23:08:30 -06:00
iarspider
0be09abd9c Add extra version of py-pylint (#15068)
* Add extra version of py-pylint

* Update dependencies
2020-02-19 23:04:11 -06:00
Dr. Christian Tacke
66c3f89b78 libfabric: Always install fabtests (#15081)
libfabric used to install fabtests only when installed
using --test. fabtests has tools that are useful on a
running system, so they should be installed always.

* Rewrote the build/install part to always install
  fabtests alongside libfabric.
* Updated a few fabtests resources.
* Updated the test related stuff. Works for most versions
  now.
* Include tcp and udp fabrics so that the test suite works.
2020-02-19 22:59:16 -06:00
iarspider
47e8084fab Add extra version of py-python-gitlab (#15074)
* Add extra version of py-python-gitlab

* Update dependency version
2020-02-19 22:56:10 -06:00
iarspider
d9d863330b Add extra version of py-rsa (#15084) 2020-02-19 22:55:12 -06:00
iarspider
e258326133 Add extra version of py-scandir (#15085) 2020-02-19 22:54:07 -06:00
Adam J. Stewart
7a60a04402 Docs: configure_args -> cmake_args (#15102) 2020-02-19 22:48:56 -06:00
Mark W. Krentel
9b221d26b8 hpctoolkit: adjust libunwind dependency (#15099)
Change hpctoolkit's dependency on libunwind from 2018.10.12 to 1.4:.
In libunwind, 2018.10.12 is going away in favor of 1.4-rc1 (they're
nearly identical commits).

Remove the 'gpu' version.  This was a temporary branch that is now
folded into master.
2020-02-19 18:42:51 -06:00
Glenn Johnson
4cd1a5660e py-notebook: make py-setuptools a run dependency (#15095)
* py-notebook: make py-setuptools a run dependency

The py-setuptools dependency in py-notebook needs to be a run
dependency. The following message is received if it is not in the run
environment.

Traceback (most recent call last):  File "/opt/ssoft/apps/2020.1/linu
x-centos7-sandybridge/gcc-9.2.0/py-notebook-6.0.1-6usbn4c/bin/jupyter-notebook",
line 6, in <module>
    from pkg_resources import load_entry_point
Module NotFoundError: No module named 'pkg_resources'

* Remove extraneous whitespace
2020-02-19 18:41:27 -06:00
Oliver Breitwieser
65133daad7 Fix relocate.mime_type if slashes in subtype (#11788)
If the mimetype returned from `file -h -b --mime-type` contains slashes
in its subtype, the tuple returned from `spack.relocate.mime_type` will
have a size larger than two, which leads to errors.

Change-Id: I31de477e69f114ffdc9ae122d00c573f5f749dbb
2020-02-19 17:30:17 -06:00
iarspider
8825335056 Add extra version of py-scikit-learn (#15087) 2020-02-19 14:51:25 -06:00
iarspider
d1cbc14022 Add extra version of py-prompt-toolkit (#15062) 2020-02-19 14:50:30 -06:00
iarspider
f4d91cc3ec Add extra version of py-pickleshare (#15059)
* Add extra version of py-pickleshare

* Fix dependencies

* Flake-8
2020-02-19 13:37:36 -06:00
iarspider
c969fffbf0 Add extra version of py-pillow (#15060) 2020-02-19 13:35:22 -06:00
iarspider
1d986c3790 Add extra version of py-pip (#15061) 2020-02-19 13:34:56 -06:00
iarspider
f9b857f1b0 Add extra version of py-pyasn1 (#15066) 2020-02-19 13:32:23 -06:00
iarspider
3331b70f20 Add extra version of py-pyparsing (#15069) 2020-02-19 13:29:43 -06:00
iarspider
0c8738a860 Add extra version of py-pyproj (#15070) 2020-02-19 13:28:56 -06:00
iarspider
31f9b66e18 Add extra version of py-pyqt5 (#15071) 2020-02-19 13:28:24 -06:00
iarspider
dc46e219d1 Add extra version of py-pytest (#15073) 2020-02-19 13:26:18 -06:00
iarspider
129256de52 Add extra version of py-pytz (#15077) 2020-02-19 13:25:45 -06:00
iarspider
44c01e6b70 Add extra version of py-pyyaml (#15078) 2020-02-19 13:25:23 -06:00
iarspider
f46f238a33 Add extra version of py-jedi (#14990)
* Add extra version of py-jedi

* Update package.py

* Update package.py

Correct dependency types

* Update var/spack/repos/builtin/packages/py-jedi/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-jedi/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-jedi/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Add py-parso package

* Remove boilerplate from py-parso

* Flake-8

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-19 13:01:48 -06:00
iarspider
d3b1248c2d Add extra version of py-isort (#14988)
* Add extra version of py-isort

* Update package.py

* Update package.py

* Update var/spack/repos/builtin/packages/py-isort/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-isort/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-isort/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-isort/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-19 12:59:45 -06:00
iarspider
eac6c53afb Add extra version of py-dask; add new variant and dependencies (#14973)
* Add extra version of py-dask

* Update package.py

* Add extra dependencies for py-dask+distributed

* Update package.py

* Update var/spack/repos/builtin/packages/py-heapdict/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-heapdict/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-distributed/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-distributed/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update var/spack/repos/builtin/packages/py-distributed/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-distributed/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

* Update var/spack/repos/builtin/packages/py-distributed/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

* Flake-8

* Add patch step for py-distributed

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-19 12:59:03 -06:00
iarspider
e9862671c9 Add extra version of py-pyzmq (#15080) 2020-02-19 12:56:57 -06:00
Seth R. Johnson
2dac7b60a9 Fix gcc 8.3 build on macOS 10.14 (#15089) 2020-02-19 12:50:32 -06:00
Patrick Gartung
14025e89f6 Buildcache: join rpaths returned by get_existing_elf_rpaths with ':'. (#15086)
This reproduces the behavior expected by patchelf_is_relocatable test.
2020-02-19 11:41:02 -06:00
Tamara Dahlgren
f2aca86502 Distributed builds (#13100)
Fixes #9394
Closes #13217.

## Background
Spack provides the ability to enable/disable parallel builds through two options: package `parallel` and configuration `build_jobs`.  This PR changes the algorithm to allow multiple, simultaneous processes to coordinate the installation of the same spec (and specs with overlapping dependencies.).

The `parallel` (boolean) property sets the default for its package though the value can be overridden in the `install` method.

Spack's current parallel builds are limited to build tools supporting `jobs` arguments (e.g., `Makefiles`).  The number of jobs actually used is calculated as`min(config:build_jobs, # cores, 16)`, which can be overridden in the package or on the command line (i.e., `spack install -j <# jobs>`).

This PR adds support for distributed (single- and multi-node) parallel builds.  The goals of this work include improving the efficiency of installing packages with many dependencies and reducing the repetition associated with concurrent installations of (dependency) packages.

## Approach
### File System Locks
Coordination between concurrent installs of overlapping packages to a Spack instance is accomplished through bottom-up dependency DAG processing and file system locks.  The runs can be a combination of interactive and batch processes affecting the same file system.  Exclusive prefix locks are required to install a package while shared prefix locks are required to check if the package is installed.

Failures are communicated through a separate exclusive prefix failure lock, for concurrent processes, combined with a persistent store, for separate, related build processes.  The resulting file contains the failing spec to facilitate manual debugging.

### Priority Queue
Management of dependency builds changed from reliance on recursion to use of a priority queue where the priority of a spec is based on the number of its remaining uninstalled dependencies.  

Using a queue required a change to dependency build exception handling with the most visible issue being that the `install` method *must* install something in the prefix.  Consequently, packages can no longer get away with an install method consisting of `pass`, for example.

## Caveats
- This still only parallelizes a single-rooted build.  Multi-rooted installs (e.g., for environments) are TBD in a future PR.

Tasks:
- [x] Adjust package lock timeout to correspond to value used in the demo
- [x] Adjust database lock timeout to reduce contention on startup of concurrent
    `spack install <spec>` calls
- [x] Replace (test) package's `install: pass` methods with file creation since post-install 
    `sanity_check_prefix` will otherwise error out with `Install failed .. Nothing was installed!`
- [x] Resolve remaining existing test failures
- [x] Respond to alalazo's initial feedback
- [x] Remove `bin/demo-locks.py`
- [x] Add new tests to address new coverage issues
- [x] Replace built-in package's `def install(..): pass` to "install" something
    (i.e., only `apple-libunwind`)
- [x] Increase code coverage
2020-02-19 00:04:22 -08:00
Nichols A. Romero
2f4881d582 Add latest 3.9.x releases QMCPACK (#15056) 2020-02-18 23:50:07 -06:00
Kai Torben Ohlhus
26ad754f42 octave: enable 64-bit BLAS builds. (#15035)
* octave: enable 64-bit BLAS builds.

Perform necessary actions [as described in the manual](https://octave.org/doc/v5.2.0/Compiling-Octave-with-64_002dbit-Indexing.html).

* Update package.py
2020-02-18 23:49:27 -06:00
noguchi-k
4c215d1fed modern-wheel: add virtual destructor to BaseMultiParms class (#14899)
* modern-wheel: add virtual destructor

* modern-wheel: add maintainers
2020-02-18 23:48:46 -06:00
Tyler Reddy
a92543803c ENH: add catch2 CMake install (#15008)
* ENH: add catch2 CMake install

* add a variant allowing catch2 to be installed
via CMake, which is useful for generating a .cmake
config file for consumption by other projects

* Catch2: Simplify Package

- CMake install is also single-header for new releases
- testing triggered by Spack's test mechanism
- default to CMake build (better than simple copy, which is
  just for old releases to be installed)

* Catch: Remove Variant

We can control all installs with CMake to be quick and complete.
Old versions prior to 1.7.0 will be manually installed, as the
`make install` target is missing in those.
Releases 1.7.0-1.9.3 do not expose control over test builds.

* openPMD-api: Catch Lost single_header

... variant is gone :)

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2020-02-18 23:48:24 -06:00
eugeneswalker
0ea220db83 slate needs mercurial for build (#15055) 2020-02-18 15:26:31 -08:00
Hadrien G
11340a332d [hepmc] Finish the HepMC3 spackage update (#15036)
* Finish the HepMC3 spackage update

- Update CMake requirement per latest master
- Account for Python variant, add python dependency if used
- Account for ROOT I/O variant, add ROOT dependency if used

* Please flake8
2020-02-18 16:04:59 -06:00
Glenn Johnson
3ee0295fb2 Update and simplify julia package (#14756)
* Update and simplify julia package

The current Spack Julia package potentially installs a few julia
packages, with the installation being controlled by variants. There are
a couple of problems with this.

First, Julia handles packages very differently from systems such as R
and Python. Julia requires write access to the repository directories in
order for user installs of packages to work. If spack installs julia
packages then there will be a repository, DEPOT_PATH, in the
installation directory. If spack is used on an individual basis this
would work but would mean that package data is written to the spack
installation directory after installation. If spack is used to provide
packages for end users then user installs of julia packages will fail
due to lack of write access to the repository in the installation
directory. It seems best for spack to just install julia without any
julia packages, and drop the configuration for those packages.

Second, having spack install package as variants seems to be counter to
how spack works for other extendable systems, like R and Python. Julia
should be an extendable package in spack but it is not clear how to make
that work. As pointed out above, installing user packages requires write
access to the julia repositories, including the one in the install
directory. Essentially, a user package installation will try to update
metadata for *all* julia repositories.  Furthermore, each of those
repositories, assuming one per package with spack, would need to have
the Project.toml files merged to present the package stack to julia.
Again, it seems best for spack to just install julia itself and not try
to install julia packages, at least at this time. A good discussion on
this can be found at

https://discourse.julialang.org/t/how-does-one-set-up-a-centralized-julia-installation/13922.

This PR does the following:

- adds versions 1.2.0 and 1.3.1
- removes variants that correspond to julia packages
- changes python to build dependency as it seems to only be needed for
  LLVM
- the new versions can use Python-3
- removes dependencies for packages
- adds a conflict statement for Intel compiler, with comment
- add a setup_build_environment method to find GCC libraries
- make formatting consistent
- adds JULIA_CPU_TARGET option to correspond with target to help with
  running julia image on hardware older than build host
- added intel build options, for when they can be used
- removed code for installing packages
- removed code for julia config that was needed for packages

Note that versions below 0.5.1 fail to build, with or without these
changes. It is not clear why that is.

* Update var/spack/repos/builtin/packages/julia/package.py

Yes, need to use correct grammar even in the midst of numbers and symbols. Good catch!

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* More cleanup of Julia package

This commit does more cleanup and sets more constraints.

- Removed release-0.4 and release-0.5. I am not sure if those are
  actually useful but they are quite old and there are released versions
  from the same timeframe.
- Remove the binutils variant.
- Made cmake a build dependency for versions >= 1.
- Added git as a dependency for @master.
- Limit curl dependency to released versions.
- Do not use external curl for master. When I checked, using the
  external version failed but the internal curl worked.
- Versions <= 0.5.0 need an older version of openssl.
- Set conflicts directive for cxx variant.
- Added conflicts directive for needing +mkl with Intel compiler.
- Removed configuration settings as these prevented julia from working
  properly in all cases that I looked at.

* Fix flake8 error

Remove 'import sys' that is no longer used.

* More dependency tweaks

This commit sets further version constraints on dependencies. It really
looks like julia requires its internal dependencies more over time.

- curl only up to 0.5.0
- openssl only up to 0.5.0
- override with system curl up to version 0.5.0

* Fix spec for curl certs

Only depending on curl through 0.5.0.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 15:59:09 -06:00
Patrick Gartung
6f95967e95 buildcache: Check for tar.bz2 and set tar.gz if not found (#15054)
* Check for tar.bz2 and set tar.gz if not found

* Move check for tarfile after it is extracted
2020-02-18 15:49:55 -06:00
iarspider
53238af2dc Add extra version of py-cryptography (#14975)
* Add extra version of py-cryptography

* Update package.py

* Update package.py

* Update var/spack/repos/builtin/packages/py-cryptography/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-cryptography/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-cryptography/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

* Flake-8

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 14:26:02 -06:00
Elsa Gonsiorowski, PhD
813bfcfcbd ROSS: v7.2.0 and branches to match (#15052) 2020-02-18 14:25:37 -06:00
Seth R. Johnson
893f76da53 Fix OpenBLAS 0.3.8 build on darwin (#15041)
* Fix OpenBLAS 0.3.8 build on darwin

See https://github.com/xianyi/OpenBLAS/issues/2431, patched in
https://github.com/xianyi/OpenBLAS/issues/2431 .

* Add references for patchfile
2020-02-18 14:23:54 -06:00
Matthias Wolf
975acd4dfb py-hpcbench: new package (#14915)
* py-hpcbench: new package

* obey the flake8

* address comments, fix versions.

* Update var/spack/repos/builtin/packages/py-hpcbench/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 14:21:46 -06:00
iarspider
c0bae73d2f Add extra version of py-graphviz (#14981)
* Add extra version of py-graphviz

* Update package.py

* Update package.py

* Update var/spack/repos/builtin/packages/py-graphviz/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 12:56:18 -06:00
Michael Kuhn
c77b6923b8 npm: Add 6.13.7 (#15034) 2020-02-18 12:00:01 -06:00
iarspider
4bca09cc89 Add extra version of py-nbconvert (#15044) 2020-02-18 11:59:10 -06:00
iarspider
e488b36d59 Add extra version of py-pathlib2 (#15048) 2020-02-18 11:58:45 -06:00
iarspider
c8c53cc7e7 Add extra version of py-pbr (#15049) 2020-02-18 11:57:39 -06:00
iarspider
5b2d1a6a54 Add extra version of py-pexpect (#15050)
* Add extra version of py-pexpect

* Update package.py

Update dependency version
2020-02-18 11:57:08 -06:00
iarspider
74018df678 Add extra version of py-ipywidgets (#14987)
* Add extra version of py-ipywidgets

* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 11:55:47 -06:00
iarspider
db9ccc21b0 Add extra version of py-defusedxml (#14972)
* Add extra version of py-defusedxml

* Update package.py

* Update var/spack/repos/builtin/packages/py-defusedxml/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 11:50:19 -06:00
iarspider
1f54627cee Add extra version of py-logilab-common (#14997)
* Add extra version of py-logilab-common

* Update package.py

* Update var/spack/repos/builtin/packages/py-logilab-common/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 11:49:46 -06:00
iarspider
0ec908cd13 Fix allowed python versions of py-tables (#14073)
* Fix allowed python versions of py-tables

* Update package.py

* Update package.py

* I think I've finally got it

* Update package.py

* Update package.py

* Update package.py
2020-02-18 11:38:00 -06:00
iarspider
d08f53c5fb Add extra version of py-more-itertools (#15042) 2020-02-18 11:37:26 -06:00
iarspider
6f6e1a8c4a Add extra version of py-oauthlib (#15045) 2020-02-18 11:34:57 -06:00
iarspider
02f3fc6d7a Add extra version of py-owslib (#15046) 2020-02-18 11:34:30 -06:00
Greg Becker
82f76c44a0 skip gpg tests when no gpg executable (#14935)
* skip gpg tests when no gpg executable

* flake
2020-02-18 09:20:14 -08:00
Seth R. Johnson
f396106d1c Update davix versions and add version restriction for ROOT (#15038)
From ROOT cmake output:
```
-- Checking for module 'davix>=0.6.4'
--   Found davix, version 0.6.8
CMake Warning at cmake/modules/SearchInstalledSoftware.cmake:960 (message):
  Davix versions 0.6.8 to 0.7.0 have a bug and do not work with ROOT, please
  upgrade to 0.7.1 or later.
```
2020-02-18 09:31:59 -06:00
h-murai
fa28602092 an argument 'buf_size' of 'h5fget_file_image_c' should be intent(out). (#15011)
* an argument 'buf_size' of 'h5fget_file_image_c' should be intent(out).

* correct format errors

* some modifications based on the comments from the reviewer
2020-02-18 08:08:37 -06:00
noguchi-k
f95348074b pegtl: change to virtual destructor (#14939)
* pegtl: change to virtual destructor

* pegtl: fix patch
2020-02-18 08:08:10 -06:00
Matthias Wolf
86a3d58159 py-cookiecutter: new package (#14911)
* py-cookiecutter: new package

* address comments
2020-02-17 20:27:06 -06:00
Michael Kuhn
76bf5c53fa node-js: Add 12.16.0 and 13.8.0 (#15024) 2020-02-17 20:25:20 -06:00
Seth R. Johnson
1270b4d0df Fix CLHEP fetch URL and add new version (#15032) 2020-02-17 20:24:33 -06:00
Adam J. Stewart
342200774b spack extensions prints list of extendable packages (#14473)
* spack extensions prints list of extendable packages

* Update tab completion scripts
2020-02-17 17:41:47 -06:00
Adam J. Stewart
9f89dce52f Fix mercurial certificate finding, add latest version (#15026) 2020-02-17 17:41:30 -06:00
iarspider
1d7fc47672 Add new version of cairo (#14941)
* Add new version of cairo

* Update var/spack/repos/builtin/packages/cairo/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-17 17:41:07 -06:00
iarspider
80123e0d1a Add new version of ccache; update URL (#14942)
* Add new version of ccache; update URL

* Update var/spack/repos/builtin/packages/ccache/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-17 17:40:34 -06:00
iarspider
21156e6243 Add new version of davix (#14944)
* Add new version of davix

* Update package.py
2020-02-17 17:39:50 -06:00
iarspider
5ea7031019 Add extra version of py-autopep8 (#14970)
* Add extra version of py-autopep8

* Update package.py
2020-02-17 17:39:22 -06:00
iarspider
17f19ad407 Add extra version of py-dill (#14971)
* Add extra version of py-dill

* Update package.py
2020-02-17 17:38:53 -06:00
iarspider
6c93ef5088 Add extra version of py-futures (#14979)
* Add extra version of py-futures

* Update package.py
2020-02-17 17:25:46 -06:00
eugeneswalker
8783f16e36 libcircle depends on a provider of pkgconfig for build (#15029) 2020-02-17 17:21:58 -06:00
Seth R. Johnson
921cb6c860 Qt4 patches (#15025)
* Fix patch applicability

* Combine patches for missing qt3 headers and remove krell variant

The variant should have always been applied.

* Restrict QT patches to actual applicable versions/situations

- I researched the associated patches so now their `when=` should more
  closely match when they're actually needed.
- I sorted the patch order so they're grouped by version requirement
- I renamed the patches so they're listed by version requirements
2020-02-17 17:21:31 -06:00
iarspider
ccbdd3c902 Add new version of libunwind (#14947)
* Add new version of libunwind

* Update package.py
2020-02-17 17:20:50 -06:00
wspear
30d487509b Added new default tau version: 2.29. Added explicit zlib build requir… (#15010)
* Added new default tau version: 2.29. Added explicit zlib build requirement. Set up environment to use use elf and libz

* Changed zlib to link dependency. Removed elf library path load (wasn't able to reproduce the need for this)
2020-02-17 17:19:48 -06:00
iarspider
e781d8eb72 Add extra version of py-matplotlib; fix dependency on six (#15000)
* Add extra version of py-matplotlib

* Update dependency

* Update package.py

* Update var/spack/repos/builtin/packages/py-matplotlib/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-matplotlib/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-17 17:02:17 -06:00
iarspider
33edadb041 Add extra version of py-iminuit (#14982)
* Add extra version of py-iminuit

* Update package.py
2020-02-17 12:35:04 -06:00
Dr. Christian Tacke
03d32c868a cmake: Fix spack install inside ctest (#14889)
Disable the CMake install tests since they break under certain testing conditions.
2020-02-17 13:26:35 -05:00
iarspider
d6e4b4773a Add extra version + variants of py-lxml (#14999)
* Add extra version of py-lxml

* Extra variants for py-lxml

* Update var/spack/repos/builtin/packages/py-lxml/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-lxml/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-lxml/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-lxml/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-17 12:24:59 -06:00
eugeneswalker
38c3b55f19 libnrm needs pkg-config for build (#15007) 2020-02-17 12:05:31 -06:00
Michael Kuhn
b8c2141760 go: added v1.13.8 and v1.12.17 (#15022) 2020-02-17 11:43:25 +01:00
Carson Woods
bbd256e2fe package: Add newer version of PowerAPI package (#15005)
* Add newer commit of PowerAPI package

* Update naming scheme to be easier to read
2020-02-16 21:17:07 -06:00
Sergey Kosukhin
1cc7a3533b Fix header-only installation of Boost. (#14995) 2020-02-16 15:30:32 -06:00
Adam J. Stewart
60847abf0e gdb: fix installation (#15016) 2020-02-16 08:31:29 -06:00
Seth R. Johnson
8071369ffe Use separate build directory for gzip (#14994)
* Use separate build directory for gzip

At least on mac systems (perhaps because of a case sensitivity issue?)
gzip fails to build inside the source tree:
```
config.status: linking /var/folders/fy/x2xtwh1n7fn0_0q2kk29xkv9vvmbqb/T/spack-stage/s3j/spack-stage-gzip-1.10-iatwtuk2l5xgwmuh4pwu5bf27yezpydj/spack-src/GNUmakefile to GNUmakefile
config.status: executing depfiles commands
==> Executing phase: 'build'
==> [2020-02-14-09:32:45.502913] 'make' '-j12'
make: GNUmakefile: Too many levels of symbolic links
make: stat: GNUmakefile: Too many levels of symbolic links
make: *** No rule to make target `GNUmakefile'.  Stop.
```

* Simplify build directory and add gmake dependency
2020-02-16 08:31:11 -06:00
Seth R. Johnson
b9156895ec Remove unneeded dependency on gzip for libmng (#14992)
Libmng only needs gzip to compress man files for distribution, so it
builds fine without it. The spack
gzip currently fails to compile.

```
config.status: linking /var/folders/fy/x2xtwh1n7fn0_0q2kk29xkv9vvmbqb/T/spack-stage/s3j/spack-stage-gzip-1.10-iatwtuk2l5xgwmuh4pwu5bf27yezpydj/spack-src/GNUmakefile to GNUmakefile
config.status: executing depfiles commands
==> Executing phase: 'build'
==> [2020-02-14-09:32:45.502913] 'make' '-j12'
make: GNUmakefile: Too many levels of symbolic links
make: stat: GNUmakefile: Too many levels of symbolic links
make: *** No rule to make target `GNUmakefile'.  Stop.
```
2020-02-16 08:30:30 -06:00
iarspider
b261b80ebd Add new version of bison (#14940) 2020-02-15 23:18:20 -06:00
iarspider
d3db3c6a2b Add new version of clhep (#14943) 2020-02-15 23:15:59 -06:00
iarspider
0dbd3b21c8 Add new version of elasticsearch (#14945) 2020-02-15 23:14:01 -06:00
iarspider
fc190f397a Add new version of expat (#14948) 2020-02-15 23:11:33 -06:00
iarspider
8624bf65f9 Add new version of fontconfig (#14949) 2020-02-15 23:11:10 -06:00
iarspider
e833ef9cce Add extra version of freetype (#14950) 2020-02-15 23:10:42 -06:00
iarspider
1b95c33c82 Add extra version of gperf (#14951) 2020-02-15 23:10:21 -06:00
iarspider
978d960158 Add extra version of HepMC (#14952) 2020-02-15 23:09:58 -06:00
iarspider
df1e9317b8 Add extra version of highfive (#14953)
* Add extra version of HepMC

* Add extra version of highfive

* Undo changes to hepmc
2020-02-15 23:09:36 -06:00
iarspider
7f9cd886f3 Add extra version of imagemagick (#14954) 2020-02-15 23:09:06 -06:00
iarspider
7d96e496b2 Add extra version of jemalloc (#14955) 2020-02-15 23:08:37 -06:00
iarspider
e75b8c1230 Add extra version of json-c (#14956) 2020-02-15 23:08:13 -06:00
iarspider
41a2a5db2c Add extra version of libgit2 (#14957) 2020-02-15 23:07:38 -06:00
iarspider
8f877fdc65 Add extra version of libsodium (#14958) 2020-02-15 23:07:12 -06:00
iarspider
bab407a28a Add extra version of libsvm (#14959) 2020-02-15 23:06:48 -06:00
iarspider
8308d2d59d Add extra version of libxkbcommon (#14961) 2020-02-15 23:06:17 -06:00
iarspider
a6dc3fe40b Add extra version of nlohmann-json (#14962) 2020-02-15 23:05:54 -06:00
iarspider
12ec8e340f Add extra version of pcre (#14963) 2020-02-15 23:05:30 -06:00
iarspider
f547f2ce10 Add extra version of pixman (#14964) 2020-02-15 23:05:09 -06:00
iarspider
00de09268e Add extra version of py-absl-py (#14965) 2020-02-15 23:04:40 -06:00
iarspider
ee573540a0 Add extra version of py-asn1crypto (#14967) 2020-02-15 23:03:17 -06:00
iarspider
d7de6cf055 Add extra version of py-arrow (#14966) 2020-02-15 23:02:21 -06:00
iarspider
ad7c11c482 Add extra version of py-astroid (#14968) 2020-02-15 23:01:53 -06:00
iarspider
ff71844bf6 Add extra version of py-attrs (#14969) 2020-02-15 23:01:24 -06:00
Nichols A. Romero
98c4d15655 Flang - Support libomptarget offload to NVidia GPU (#15015)
* Modify Flang NVidia GPU variant to make use of built-in CudaPackage

* Add OpenMP Offload patch if March 2019 compiler is selected.

* Flang parallel build has a race condition.

* llvm-flang now uses built-in CudaPackage.

* Add variant for different build releases.

* Fix OpenMP target offload for NVidia GPUs.

* Additional commong flags that are needed with comments.

* NVidia BC required for libomp target requires special treatment. Use clang built in previous step to re-compile libomptarget.
2020-02-15 22:56:58 -06:00
iarspider
4f3287a9dc Add extra version of py-cython (#14974) 2020-02-15 22:52:36 -06:00
iarspider
45ee708596 Add extra version of py-coverage (#14976) 2020-02-15 22:48:10 -06:00
iarspider
959d9d2365 Add extra version of py-certifi (#14977) 2020-02-15 22:47:28 -06:00
iarspider
7c88bb937d Add extra version of py-backports-abc (#14978) 2020-02-15 22:47:05 -06:00
iarspider
c92201e6ab Add extra version of py-decorator (#14980) 2020-02-15 22:44:28 -06:00
iarspider
bcccf0d4e7 Add extra version of py-importlib-metadata (#14983) 2020-02-15 22:35:47 -06:00
iarspider
8313de5be0 Add extra version of py-ipaddress (#14984) 2020-02-15 22:35:23 -06:00
iarspider
4db0eb4917 Add extra version of py-ipykernel (#14985) 2020-02-15 22:33:04 -06:00
iarspider
8b5cc1e76f Add extra version of py-ipython (#14986) 2020-02-15 22:32:28 -06:00
iarspider
bff3a087ec Add extra version of py-jinja2 (#14989) 2020-02-15 22:27:53 -06:00
iarspider
bd24d53ceb Add extra version of py-jpype1; add numpy as optional (variant) dependency (#14991)
* Add extra version of py-jpype1

* Add numpy as optional (variant) dependency
2020-02-15 22:24:44 -06:00
iarspider
2c0bfd071f Add extra version of py-jupyter-client (#14996) 2020-02-15 22:21:48 -06:00
Glenn Johnson
e5e6791d97 package r-readbitmap Change jpeg dependency (#15004)
This PR corrects the jpeg dependency in r-readbitmap to use the jpeg
virtual dependency.
2020-02-15 21:50:54 -06:00
Justin S
4a7e4655ac mafft: add 7.453 (#15006) 2020-02-15 21:48:26 -06:00
Matthias Diener
3f5d889d2b cloc: add version 1.84 (#15012) 2020-02-15 21:34:11 -06:00
Keita Iwabuchi
b688bb549b Add a new package: Metall (#14903)
* Add a new package: Metall

* Fix errors in metall/package.py

* Update var/spack/repos/builtin/packages/metall/package.py

Change to https style URL

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update in metall/package.py. Change Metall to depend on Boost always

* Update in metall/package.py. Change to install Boost with the default variants

* Update metall/package.py. Removed a comment

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-15 00:34:32 -06:00
Patrick Gartung
baafa7ec84 Buildcache creation/extraction use temp tarfile to preserve hardlinks during copy to/from prefix. (#15003)
* Buildcache creation change the way prefix is copied to workdir.
* install_tree copies hardlinked files
* tarfile creates hardlinked files on extraction.
* create a temporary tarfile from prefix and extract it to workdir

* Use temp tarfile to move workdir to prefix to preserve hardlinks instead of copying
2020-02-14 16:10:28 -06:00
Scott Wittenburg
3c28e72d2f cuda: add libxml2 as a dependency for newer versions (#14758) 2020-02-14 12:13:30 -06:00
Paul
e65aa7569e docs: fix typo in arch in build settings examples (#14998) 2020-02-14 19:06:10 +01:00
Matthias Wolf
978a3bb7ef py-whichcraft: new package (#14907)
* py-whichcraft: new package

* address comment
2020-02-14 08:00:58 -06:00
Massimiliano Culpo
8c05221bc6 spack compiler info: quick fix for failing command (#14928)
fixes #14927
2020-02-13 20:32:55 -06:00
Sajid Ali
c607288a7c fix env vars before install (#14575) 2020-02-13 20:16:34 -06:00
Brian Van Essen
d524abad20 Updated both cub and nccl versions. Fixed a bug in the cub download (#14852)
url.
2020-02-13 20:10:02 -06:00
Adam J. Stewart
e0dfc3ddbf Fix shell detection: zsh5 -> zsh (#14858) 2020-02-13 20:07:09 -06:00
Glenn Johnson
8beb42e749 New package: r-codex (#14869)
This PR adds the r-codex package.

- new package: r-bsgenome-hsapiens-ucsc-hg19
2020-02-13 20:00:39 -06:00
Kai Torben Ohlhus
4fa29ceb50 openblas: add variant +consistentFPCSR (#14876)
Add the OpenBLAS variant `+consistentFPCSR`, by default `False`, which adds the compile definition `CONSISTENT_FPCSR=1` as documented in  OpenBLAS `Makefile.rule`.
2020-02-13 19:59:34 -06:00
Dr. Christian Tacke
690ed2fe98 [rsync] Use popt and zlib (#14755)
popt and zlib are available as spack packages.
So use them instead of building internal ones.
2020-02-13 19:55:41 -06:00
Glenn Johnson
7996bc809a New package: r-exomedepth (#14884)
This PR adds the r-exomedepth package and r-aod as a dependency.
2020-02-13 19:52:43 -06:00
Glenn Johnson
580c8f5b7e New package: r-exomecopy (#14885) 2020-02-13 19:51:18 -06:00
Glenn Johnson
46ae3f0570 New package: r-fdb-infiniummethylation-hg18 (#14890)
This PR adds the r-fdb-infiniummethylation-hg18 package and the needed
dependency of r-txdb-hsapiens-ucsc-hg18-knowngene.
2020-02-13 19:49:24 -06:00
Glenn Johnson
725336ee48 Update and fix the r-rhtslib package (#14863)
This PR adds an updated version to the r-rhtslib package as well as fix
the build.

- add patches to use compiler flags from R
- add variables for bzip2 and xz dependencies
- use the spack Makeconf file when building the in-tree htslib
- make patchelf available to allow R to remove reference to temporary
  installation directory in htslib shared object
- Add new version of r-rsamtools as the r-rsamtools and r-rhtlib
  packages are closely paired.
2020-02-13 19:47:37 -06:00
Seth R. Johnson
0d0ab60150 Patch silo for %clang@9 (#14892) 2020-02-13 19:45:55 -06:00
Alec Thomas
9046deae80 Add missing dep to git. (#14895)
As discussed in:
 https://spackpm.slack.com/archives/C5VL7V81G/p1581394270058800
2020-02-13 19:45:09 -06:00
asmaahassan90
413de215b2 Fix run environment (#14908)
* Fix run environment

Trying to install Avizo, i get "Error: NameError: name 'run_env' is not defined". Correcting it to be just "env"

* fix identation
2020-02-13 19:37:39 -06:00
Mark W. Krentel
1c5f72dbaa intel-tbb: update to new tar file names for 2020 versions (#14924)
Starting with 2020, the tar files are named v2020.0.tar.gz,
v2020.1.tar.gz, etc, not 2020_U1.tar.gz.

https://github.com/intel/tbb/releases

The previous commit (7a10478708) fixed the checksum mismatch, but
didn't update url_for_version (my bad).
2020-02-13 19:30:10 -06:00
Cameron Stanavige
4b7f057a4b unifyfs: remove numa dependency (#14925)
UnifyFS no longer has an option to depend on numa. This removes the
numa variant, dependency, and associated conflict.

This commit also

- renames the `pmpi` variant to the more appropriate `auto-mount`

- changes the preferred version to the most recent release
2020-02-13 19:28:33 -06:00
Matthias Diener
03ce5effa1 charmpp: add version 6.10.0, switch to https for download (#14930) 2020-02-13 19:26:26 -06:00
Matthias Diener
eb88dfee9a byobu: add version 5.131 (#14932) 2020-02-13 19:23:25 -06:00
eugeneswalker
1d25564230 libcircle depends on pkg-config for build (#14933) 2020-02-13 19:22:54 -06:00
Patrick Gartung
4dc67b79aa Replace direct call to patchelf with get_existing_elf_rpaths which handles exceptions. (#14929)
* Replace direct call to patchelf with get_existing_elf_rpaths which handles exceptions.

* Remove unused patchelf definition.

* Convert to set.
2020-02-13 11:34:20 -06:00
Massimiliano Culpo
681ad2ac44 hepmc: fixed wrong sha256 for latest versions (#14926) 2020-02-13 07:49:21 -06:00
Matthias Wolf
268f42bf7e py-binaryornot: new package (#14906) 2020-02-13 11:42:29 +01:00
Matthias Wolf
856734b804 py-poyo: new package (#14909) 2020-02-13 10:07:29 +01:00
Matthias Wolf
7252066a32 py-jinja2-time: new package (#14910) 2020-02-13 10:07:07 +01:00
Matthias Wolf
06c85ea5bf py-elasticsearch: added v7.5.1 and v6.4.0 (#14913) 2020-02-13 10:06:01 +01:00
Matthias Wolf
3dd844e597 py-clustershell: new package (#14914) 2020-02-13 10:03:45 +01:00
Matthias Wolf
fb482ae0c9 py-magic: new package (#14912) 2020-02-13 10:03:18 +01:00
Matthias Diener
a337d27874 gdb: added v9.1 (#14919) 2020-02-13 09:51:04 +01:00
Federico Ficarelli
de84bd3f24 hipsycl: new package and new 'sycl' virtual package (#14051) 2020-02-13 07:32:39 +01:00
eugeneswalker
5243d270d4 bmi depends on automake for build 2020-02-12 21:58:35 -08:00
noguchi-k
38303a6a79 macsio: cast JsonGetInt from int to unsigned int (#14736)
* macsio: cast from int to unsigned int

* macsio: apply a patch only when version is 1.1
2020-02-12 20:13:26 -06:00
Todd Gamblin
a7b43f1015 spack python: add -m option to run modules as scripts
It's often useful to run a module with `python -m`, e.g.:

    python -m pyinstrument script.py

Running a python script this way was hard, though, as `spack python` did
not have a similar `-m` option.  This PR adds a `-m` option to `spack
python` so that we can do things like this:

    spack python -m pyinstrument ./test.py

This makes it easy to write a script that uses a small part of Spack and
then profile it.  Previously thee easiest way to do this was to write a
custom Spack command, which is often overkill.
2020-02-12 16:45:41 -08:00
Chuck Atkins
90f3635afd protobuf: Fix intel compiler failures. (#14916) 2020-02-12 16:21:43 -05:00
Jon Rood
7e50cec5a4 Adding Intel LLVM compiler (#13618)
* Adding Intel LLVM compiler.

* Fixing some minor issues.

* Split build environment on run environment in intel-llvm.
2020-02-12 12:30:04 -06:00
Dan Lipsa
ca66ab6901 Paraview: fix PYTHONPATH for static build. (#14648)
* Fix PYTHONPATH for static build.

* Only for the latest version.
2020-02-12 13:24:09 -05:00
Axel Huebl
3b2c534e73 openPMD-api: Build Env Fix & Dev (#14904)
- fix a missing `env.` prefix in the build environment.
- rename development branch to same name as in git
2020-02-12 10:02:01 +01:00
Axel Huebl
b5a3ee636b WarpX: master is the new develop (#14898)
WarpX removed the `dev` branch in favor of a simpler,
`master`-centric development model.
`master` is the new development branch and there is no
stable branch anymore (we use tags and release branches
instead).
2020-02-11 20:47:50 -08:00
victorusu
78ce1c7ce4 New package: ReFrame (#14737) 2020-02-11 17:51:26 -08:00
Hadrien G
c8cb480eb7 ROOT: Add Pythia8 support (#14790) 2020-02-11 17:38:22 -08:00
darmac
cf120d7441 OpenCV package: add versions 4.2.0, 4.1.2, and 4.1.1(#14814) 2020-02-11 17:34:44 -08:00
Hadrien G
947dabc356 [dd4hep] Make DDDigi work with current TBB releases (#14791)
Add patch for DDDigi's broken TBB support. The issue is fixed in
DD4hep master so the patch is only required for 1.11.0
2020-02-11 17:17:05 -08:00
Sajid Ali
2c63ea49d1 New package: libvips (#14794) 2020-02-11 17:02:39 -08:00
darmac
630611a786 libdrm: add version 2.4.100 (#14809) 2020-02-11 16:57:18 -08:00
codeandkey
78f16d703d r-truncdist: new package at 1.0-2 2020-02-11 16:52:51 -08:00
Todd Gamblin
c56c4b334d bugfix: spack -V should use working_dir() instead of git -C
- `git -C` doesn't work on git before 1.8.5
- `working_dir` gets us the same effect
2020-02-11 16:52:06 -08:00
Jen Herting
582e7ce2c8 [mono] add version 6.8.0.105 2020-02-11 16:49:35 -08:00
Scott Wittenburg
c2885990b8 Fix intel-mkl package (#14856)
* Add cpio package

* intel-mkl: Depend on cli tool needed during build
2020-02-11 16:21:49 -06:00
Seth R. Johnson
5c33f638d7 Fix QT4 platform detection for linux clang (#14891)
* Fix QT4 platform name for linux clang

* Fix clang compiler flags on QT4
2020-02-11 14:00:02 -06:00
Frédéric Simonis
e8b6c40b31 precice: add version 2.0.0 (#14842)
Added python3 dependency
Added support for new CMake variables
2020-02-11 10:06:03 +01:00
Matthias Diener
7706b76d3a unifdef: added new package (#14880) 2020-02-11 10:03:44 +01:00
Christoph Junghans
1a41ec766a heffte: added v0.2 (#14881) 2020-02-11 10:02:17 +01:00
darmac
35df75ee77 hepmc: added versions up to v3.2.0 (#14805) 2020-02-11 09:46:59 +01:00
Brian Van Essen
490508d324 Hydrogen: update dependency on aluminum (#14760)
* Hydrogen now depends on `aluminum +nccl` vs. `aluminum +mpi_cuda`
* Hydrogen: Simplify Mac OS OpenMP-detection logic
* Aluminum: Add Mac OS OpenMP-detection logic
* LBANN: depend on conduit@0.4.0: instead of conduit@master
2020-02-10 12:13:47 -08:00
Massimiliano Culpo
357786ce6b Spack find: fix queries that specify dependencies (#14757)
Fixes #10019

If multiple instances of a package were installed in a single
instance of Spack, and they differed in terms of dependencies, then
"spack find" would not distinguish specs based on their dependencies.
For example if two instances of X were installed, one with Y and one
with Z, then "spack find X ^Y" would display both instances of X.
2020-02-10 11:22:21 -08:00
Peter Scheibel
4e32505770 libedit package: add version 3.1-20191231 (#14851)
This new version of libedit can make use of an ncurses dependency
built with +termlib (which moves some symbols into a separate
libtinfo).
2020-02-10 10:44:52 -08:00
Glenn P Johnson
37a6b8d54f Fix vim build with ^ncurses+termlib
This PR will set the approriate library if ncurses is built with a
separate tinfo library.
2020-02-10 10:25:35 -08:00
darmac
c77eeca61e icedtea: added versions up to v3.9.0 (#14806) 2020-02-10 11:08:45 +01:00
Glenn Johnson
745a843911 New package: r-biomartr (#14812)
This PR creates the r-biomartr package as well as needed new packages
and updates.

- new dependency: r-philentropy
- update: r-curl
2020-02-10 11:08:04 +01:00
Hadrien G
cb3dbea198 acts-core: added v0.16.0 (#14839)
* Adapt to ACTS v0.16

* ACTS uses the DD4hep XML components nowadays
2020-02-10 11:06:56 +01:00
Glenn Johnson
8aa1eba2e0 New package: r-watermelon (#14864)
This PR creates the r-watermelon package, along with dependencies.

- new package: r-fdb-infiniummethylation-hg19
- new package: r-illuminahumanmethylation450kanno-ilmn12-hg19
- new package: r-lumi
- new package: r-methylumi
- new package: r-roc
- new package: r-txdb-hsapiens-ucsc-hg19-knowngene
- updated package: r-matrixstats, new version needed as a dependency
2020-02-10 10:49:34 +01:00
Glenn Johnson
1ed0efec7d New package: r-suppdists (#14865) 2020-02-10 10:44:17 +01:00
Glenn Johnson
bd442e884a New package: r-imager (#14866)
This PR adds the r-imager package and dependencies.

- new package: r-bmp
- new package: r-readbitmap
2020-02-10 10:44:00 +01:00
Glenn Johnson
ad914c28d7 New package: r-proj (#14872) 2020-02-10 10:43:27 +01:00
Glenn Johnson
d00a3eda6b New package: r-proj4 (#14871) 2020-02-10 10:42:32 +01:00
Glenn Johnson
22df37c328 New package: r-pscbs (#14867)
This PR adds the r-pscbs package along with new dependencies and updates.

- new package: r-aroma-light
- new package: r-r-cache
- updated package: r-r-oo
2020-02-10 10:41:56 +01:00
Glenn Johnson
716978e00c New package: r-copula (#14874)
This PR adds the r-copula package and dependencies.

- new package: r-adgoftest
- new package: r-gsl
- new package: r-pspline
- new package: r-stabledist
2020-02-10 10:40:47 +01:00
Glenn Johnson
42c829adb4 New package: r-gsalib (#14873) 2020-02-10 10:38:44 +01:00
Kai Torben Ohlhus
4d173579cb openblas: added v3.8.0 (#14875) 2020-02-10 10:35:29 +01:00
darmac
f274d89c33 xterm: added versions up to v353 (#14829) 2020-02-10 09:44:50 +01:00
darmac
85b6e3e6d4 openldap: added v2.4.49 (#14815) 2020-02-10 09:40:46 +01:00
darmac
1c5838be5c pngquant : add depency on libpng (#14836) 2020-02-10 09:39:45 +01:00
Kai Torben Ohlhus
3ba5df3763 octave: add 5.2.0 (#14868)
Add version Octave 5.2.0 including sha256.
2020-02-09 21:04:09 -06:00
Glenn Johnson
30b30e11dc New package - r-rmariadb (#14762)
* New package - r-rmariadb

This PR creates the r-rmariadb package. It also includes an update to
the r-dbi package as a newer version of that is needed.

* Update var/spack/repos/builtin/packages/r-rmariadb/package.py

Argh, copy/paste. I wish the mirror would list itself as the archive site as well, but it just mirrors that data field from CRAN site. Thanks for catching that, I will make sure to look for that in the future.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Use mariadb-client

Use mariadb-client so people can set a preferred provider.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-09 19:26:31 -06:00
Todd Gamblin
6d2e6e1f4d Merge branch 'releases/v0.13' into develop 2020-02-09 15:51:39 -08:00
Mark W. Krentel
7a10478708 intel-tbb: fix sha256 sums for 2020 versions
Fixes #14850.  Commit 6b1958219 added versions 2020 and 2020.1 for
intel-tbb as part of updating several intel packages but added the
wrong sha256 sums for the github/01org repository.

Also, version 2020 is 2020, not 2020.0.

Add patch makefile-debug to restore the debug targets.
2020-02-09 12:26:38 -08:00
Dan Lipsa
e22ac814b0 Align default libxml2 settings for gettext and Python (#14795)
Python depends on gettext. Packages that depend on gettext and Python
together will encounter a concretizer bug which incorrectly detects
a constraint conflict. This sets the default value of +libxml2 in
Python to be the same as gettext so that packages which depend on
both (like mesa) can successfully concretize without adding manual
constraints.
2020-02-07 16:55:04 -08:00
codeandkey
3e5427078d r-evd: new package at 2.3-3 2020-02-07 14:51:24 -08:00
codeandkey
3a3a58a106 r-stargazer: new package at 5.2.2 2020-02-07 14:50:32 -08:00
Adam J. Stewart
d1d5f5f9e7 patch aws-parallelcluster so that it doesn't require enum34 (#14796)
* aws-parallelcluster always depends on enum34

* Build aws-parallelcluster without enum34

* Update homepage

* Add unit tests
2020-02-07 11:20:19 -06:00
Themos Tsikas
f685d538d8 NAG Compiler 7.0 (Build 7009) download checksum (#14840) 2020-02-07 09:33:37 -06:00
darmac
2c3e2669f2 imlib2: added v1.6.0 and v1.6.1 (#14807) 2020-02-07 14:05:50 +01:00
darmac
fd9b1fb6de libconfig: added v1.7.2 (#14808) 2020-02-07 14:04:40 +01:00
darmac
4cb8294800 lighttpd: added versions up to v1.4.55 (#14810) 2020-02-07 14:04:21 +01:00
darmac
5bfb0eb447 maven: added versions up to v3.6.3 (#14811) 2020-02-07 13:47:38 +01:00
darmac
1203134253 mysql: added v8.0.17, v8.0.18 and v8.0.19 (#14813) 2020-02-07 13:46:55 +01:00
darmac
fecb26763d pangomm: added versions up to v2.41.3 (#14816) 2020-02-07 13:43:43 +01:00
darmac
8c1845581d qwt: added v6.1.3 (#14820) 2020-02-07 13:41:30 +01:00
darmac
8c1aee1b78 skopeo: added v0.1.40 (#14824) 2020-02-07 13:30:44 +01:00
darmac
ef9cb97376 plplot: added v5.14.0 and v5.15.0 (#14817) 2020-02-07 13:30:12 +01:00
darmac
e4cac22462 qt: added v5.14.0 and v5.14.1 (#14821) 2020-02-07 13:26:14 +01:00
darmac
291c110700 rclone: added new versions up to v1.51.0 (#14822) 2020-02-07 13:23:00 +01:00
darmac
4d3bd1116c scala: added v2.12.10 and v2.13.1 (#14823) 2020-02-07 13:21:15 +01:00
darmac
7de3ea4e19 squashfs: added v4.4 (#14825) 2020-02-07 13:19:09 +01:00
darmac
710fabd68a wireshark: added new versions up to v3.2.1 (#14828) 2020-02-07 13:18:29 +01:00
darmac
f9889526f2 thrift: added v0.12.0 and v0.13.0 (#14831) 2020-02-07 13:14:16 +01:00
darmac
7d9a0fa180 hunspell : fix 1.7.0 sha256sum (#14832) 2020-02-07 13:13:22 +01:00
Oliver Breitwieser
22c9f5cbd8 Allow installing unsigned binary packages (#11107)
This commit introduces a `--no-check-signature` option for
`spack install` so that unsigned packages can be installed. It is
off by default (signatures required).
2020-02-06 18:59:16 -08:00
Figroc Chen
458c9a22bf tensorflow-serving-client: add new version 2.1.0 (#14786) 2020-02-06 12:20:55 -06:00
Matt Belhorn
b43f658c39 Adds fma and vsx features to entire power arch family. (#14759)
VSX alitvec extensions are supported by PowerISA from v2.06 (Power7+), but might
not be listed in features.

FMA has been supported by PowerISA since Power1, but might not be listed in
features.

This commit adds these features to all the power ISA family sets.
2020-02-06 16:42:05 +01:00
Robert Mijakovic
6b19582198 update version: intel packages daal, ipp, mkl-dnn, mkl, mpi, parallel… (#14783)
* update version: intel packages daal, ipp, mkl-dnn, mkl, mpi, parallel-studio, pin, tbb and makes url parameter consistent and always use single quote.

* Fixes a typo with one of the sha256 checksum..
2020-02-06 09:20:01 -06:00
Benoist LAURENT
f7e2e84647 Update package.py (#14784)
Fix download link
2020-02-06 09:18:16 -06:00
Massimiliano Culpo
759f6b6d13 Added optimized version of Blis for AMD (#14780)
The Blis package has been refactored to be able to
reuse the build logic for the fork of the project
optimized for AMD.
2020-02-06 07:58:51 -06:00
Figroc Chen
e62c82de7f grpc: added v1.25.0, v1.26.0 and v1.27.0 (#14781) 2020-02-06 13:20:37 +01:00
darmac
88289cd2c7 graphicsmagick: added versions up to v1.3.34 (#14778) 2020-02-06 11:12:10 +01:00
darmac
1a846abbe8 go: added v1.13.7 (#14777) 2020-02-06 10:54:10 +01:00
iarspider
f66f56287d geant4: add missing dependency on geant4-data (#14767) 2020-02-06 10:40:56 +01:00
darmac
f745b790f3 gnuplot: added v5.2.8 (#14776) 2020-02-06 10:34:04 +01:00
darmac
bb0b88f38a enchant: added v2.2.6 and v2.2.7 (#14775) 2020-02-06 10:33:16 +01:00
darmac
588c87c665 blis: added v0.6.1 (#14766) 2020-02-06 10:03:08 +01:00
darmac
c2460dbcd2 cln: added v1.3.5 and v1.3.6 (#14768) 2020-02-06 09:59:51 +01:00
darmac
3b38a45a76 gl2ps: added v1.4.0 (#14773) 2020-02-06 09:58:46 +01:00
darmac
29a906d20c ghostscript: added v9.27 and v9.50 (#14772) 2020-02-06 09:57:42 +01:00
darmac
0a92b54701 coreutils: added v8.30 and v8.31 (#14770) 2020-02-06 09:56:01 +01:00
darmac
2dab92742d atop: added versions up to v2.5.0 (#14765) 2020-02-06 08:51:34 +01:00
darmac
58a905ec76 ant: added versions up to v1.10.7 (#14764) 2020-02-06 08:46:13 +01:00
Glenn Johnson
1f6f812696 Update llvm, adjust dependency specs and conflicts (#14561)
This PR adds a new version of llvm and fixes the dependency specs.

- This package depends on libtinfo in all cases so change the ncurses
  dependency to reflect that
- if +lldb is in the spec but +python is not then do not build the lldb
  python support
- build lldb python support only if +python is in the spec with +lldb
- install the llvm python bindings if +python is in the spec
- install the clang python bindings if +clang and +python are in the spec
- Fixes for conflicts with ~clang
- Fix typo in conflict of compiler-rt and flang
2020-02-05 20:37:08 -06:00
Michael Kuhn
1a0c31703a acts-core package: build root with cxxstd=17 for 0.8.1 and newer (#14761)
The build fails if root uses an older C++ standard.
2020-02-05 17:45:17 -08:00
Cameron Smith
bce4bec059 PUMI package: add version 2.2.2 (#14751) 2020-02-05 17:32:35 -08:00
Themos Tsikas
ba25bb3050 NAG Compiler 6.2 (Build 6252) download checksum (#14750) 2020-02-05 08:02:46 -06:00
Seth R. Johnson
57cc7831bf qt: fix on Intel (#14748)
Follow up from #14745
2020-02-05 10:23:58 +01:00
Eisuke Kawashima
ffdde40f56 Bump Open Babel to 3 (#14738) 2020-02-04 21:05:19 -06:00
Seth R. Johnson
29a01f488c Fix QT on Intel (#14745)
- More robustly handle compiler version switching between QT4 and 5, and
  mac/linux, and gcc/intel/clang
- Remove assumption about intel linker being in path
2020-02-04 21:03:47 -06:00
Seth R. Johnson
731148e0e1 Use CMake for libmng package (#14747)
* Convert libmng to use CMake rather than autoconf

The autoconf script failed to recognize the intel compiler; it was
harwired to use gcc.

* Simplify cmake logic and remove unused variant
2020-02-04 19:33:33 -06:00
Seth R. Johnson
52d1f5b839 Remove python patch for inapplicable versions (#14746)
This patch was merged in to upstream python 3.7 and is fixed in 3.7.6.
2020-02-04 19:32:48 -06:00
Christoph Junghans
1974ad4e7f heffte: initial commit (#14744) 2020-02-04 15:06:03 -07:00
Jennifer Herting
d4d82281d1 [rust] added version 1.41.0 (#14742) 2020-02-04 15:11:36 -06:00
Jennifer Herting
997a0f4207 New version for mariadb and disable dtrace (#14734)
* [mariadb] added version 10.4.8

* [mariadb] disabled dtrace
2020-02-04 15:01:25 -06:00
Rao Garimella
b34e7ad28f MSTK package: add version 3.3.2 (#14689) 2020-02-04 11:15:45 -08:00
Christoph Junghans
603e2794db cray-libsci: initial commit (#14709)
* cray-libsci: initial commit
2020-02-04 10:18:20 -07:00
Massimiliano Culpo
1bbe0a1f74 abinit: fix dependency on fftw (#14739)
fixes #14578

Abinit's recipe requires double precision FFTW libraries
2020-02-04 15:29:21 +01:00
Dr. Christian Tacke
0ec9377852 pythia8: added old versions, build depend on rsync (#14740) 2020-02-04 15:27:57 +01:00
Nicolas Richart
19ff3c0f67 akantu: new package at v3.0.0 (#14685) 2020-02-04 11:04:59 +01:00
Andrew W Elble
4accc78409 Git fetching: add option to remove submodules (#14370)
Add an optional 'submodules_delete' field to Git versions in Spack
packages that allows them to remove specific submodules.

For example: the nervanagpu submodule has become unavailable for the
PyTorch project (see issue 19457 at
https://github.com/pytorch/pytorch/issues/). Removing this submodule
allows 0.4.1 to build.
2020-02-03 19:02:45 -08:00
Rob Latham
7d444f08e7 update pmdk to 1.8 (#14733)
new upstream release
- notable in that it has experimental powerpc-le support (e.g. summit)
- required a new patch to disable documentation
2020-02-03 19:15:52 -06:00
Massimiliano Culpo
42633b0869 octave: mkoctfile doesn't use compiler wrappers (#14726)
* Octave: moved the short description in its own paragraph

* Octave: patch mkoctfile.in.cc to avoid using compiler wrappers

* Added a check to ensure mkoctfile works correctly
2020-02-03 15:08:44 -06:00
Adam J. Stewart
74c8f25826 Add new versions of matplotlib (#14731) 2020-02-03 15:07:12 -06:00
Patrick Gartung
5ad44477b2 buildcache list: restore original behavior of allowing constraints like @version. (#14732) 2020-02-03 13:40:14 -06:00
albestro
94971d519c Fix CMake and update libarchive (#14684)
* update libarchive and fix version of libarchive cmake dependency

* (at least) libarchive 3.3.3 dependency from cmake 3.15.0

* cmake depends on libarchive 3.1.0 if not specified differently

currently it is applied to cmake <3.15.0

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-03 11:26:38 -05:00
Andrew W Elble
30dd7ae176 clingo: new versions (#14728)
5.3.0 and 5.4.0
2020-02-03 07:58:34 -06:00
Jean-Paul Pelteret
dcaa50c9d0 deal.II: Add patch for TBB version check (#14724) 2020-02-03 13:04:12 +01:00
Mark W. Krentel
3d9787a8bf hpcviewer: add version 2020.01 (#14718) 2020-02-02 09:26:21 -06:00
Jean-Paul Pelteret
44f60f9fec Update package: SymEngine 0.5.0 (#14722) 2020-02-02 09:25:51 -06:00
Adam J. Stewart
0c0aba579a octave: add maintainer (#14716) 2020-02-01 19:46:35 -06:00
Patrick Gartung
ab36008635 binary_distribution: Initialize _cached_specs at the module level and only search the mirrors in get_spec if spec is not in _cached_specs. (#14714)
* Initialize _cached_specs at the file level and check for spec in it before searching mirrors in try_download_spec.

* Make _cached_specs a set to avoid duplicates

* Fix packaging test

* Ignore build_cache in stage when spec.yaml files are downloaded.
2020-01-31 20:08:47 -06:00
Tim Haines
412c336113 boost: Add versions 1.71.0 and 1.72.0, use Clang toolset on Darwin (#14678)
* boost: Add versions 1.71.0 and 1.72.0

* Remove 'darwin' target

* Add hainest as maintainer
2020-01-31 17:56:40 -06:00
Kelly (KT) Thompson
0c9ac8d8d1 draco: update versions (#14690)
* draco: update versions

+ Added versions 7.3.0 and 7.4.0.
+ Change several variants to be default TRUE since most consumers need these
  variants enabled (eospac, lapack, parmetis, superlu-dist). Change variant name
  for `+superlu_dist` to use hyphen instead of underscore.  This makes the
  variant name consistent with the spackage name for `superlu-dist`.
+ Clean up `depends_on` instructions and avoid specifying `type` when possible.
+ Provide patch files that are necessary for some machines (mostly Cray
  machines).

* Remove trailing whitespace.

* Revert variant name to use underscore.

* add maintainer information.
2020-01-31 14:03:54 -06:00
Themos Tsikas
04e6fd60f3 NAG Fortran Compiler, 6.0 dropped (unavailable), 7.0 added (#14691)
* NAG Fortran Compiler, 6.0 dropped (unavailable), 7.0 added

* Update package.py

* Update package.py
2020-01-31 14:03:31 -06:00
Dr. Christian Tacke
6f4c90378a [libfabric@1.9.0] Fix C++ header usage (#14703)
Fix from libfabric's git for 1.9.0.

Compiling C++ software against libfabric@1.9.0 doesn't work
without this patch.

See: 2e95b0efd8
2020-01-31 14:01:58 -06:00
Matthieu Dorier
b7ee2d02e4 Fixed DIY package missing MPI dependency (#14704) 2020-01-31 14:01:17 -06:00
Todd Gamblin
c029c8ff89 spack -V is now more descriptive for dev branches
`spack -V` previously always returned the version of spack from
`spack.spack_version`.  This gives us a general idea of what version
users are on, but if they're on `develop` or on some branch, we have to
ask more questions.

This PR makes `spack -V` check whether this instance of Spack is a git
repository, and if it is, it appends useful information from `git
describe --tags` to the version.  Specifically, it adds:

  - number of commits since the last release tag
  - abbreviated (but unique) commit hash

So, if you're on `develop` you might get something like this:

    $ spack -V
    0.13.3-912-3519a1762

This means you're on commit 3519a1762, which is 912 commits ahead of
the 0.13.3 release.

If you are on a release branch, or if you are using a tarball of Spack,
you'll get the usual `spack.spack_version`:

    $ spack -V
    0.13.3

This should help when asking users what version they are on, since a lot
of people use the `develop` branch.
2020-01-31 20:59:21 +01:00
Christoph Junghans
d83309493f superlu-dist: enforce OpenMP=OFF (#14708) 2020-01-31 13:35:46 -06:00
Christoph Junghans
47ee690076 portage: fix compile on icc (#14707) 2020-01-31 13:35:20 -06:00
Adam J. Stewart
09e318fc84 Document how to use Spack to replace Homebrew/Conda (#13083)
* Document how to use Spack to replace Homebrew/Conda
* Initial draft; can iterate more as features become available
2020-01-31 19:31:14 +01:00
Massimiliano Culpo
9635ff3d20 spack containerize generates containers from envs (#14202)
This PR adds a new command to Spack:
```console
$ spack containerize -h
usage: spack containerize [-h] [--config CONFIG]

creates recipes to build images for different container runtimes

optional arguments:
  -h, --help       show this help message and exit
  --config CONFIG  configuration for the container recipe that will be generated
```
which takes an environment with an additional `container` section:
```yaml
spack:
  specs:
  - gromacs build_type=Release 
  - mpich
  - fftw precision=float
  packages:
    all:
      target: [broadwell]

  container:
    # Select the format of the recipe e.g. docker,
    # singularity or anything else that is currently supported
    format: docker
    
    # Select from a valid list of images
    base:
      image: "ubuntu:18.04"
      spack: prerelease

    # Additional system packages that are needed at runtime
    os_packages:
    - libgomp1
```
and turns it into a `Dockerfile` or a Singularity definition file, for instance:
```Dockerfile
# Build stage with Spack pre-installed and ready to be used
FROM spack/ubuntu-bionic:prerelease as builder

# What we want to install and how we want to install it
# is specified in a manifest file (spack.yaml)
RUN mkdir /opt/spack-environment \
&&  (echo "spack:" \
&&   echo "  specs:" \
&&   echo "  - gromacs build_type=Release" \
&&   echo "  - mpich" \
&&   echo "  - fftw precision=float" \
&&   echo "  packages:" \
&&   echo "    all:" \
&&   echo "      target:" \
&&   echo "      - broadwell" \
&&   echo "  config:" \
&&   echo "    install_tree: /opt/software" \
&&   echo "  concretization: together" \
&&   echo "  view: /opt/view") > /opt/spack-environment/spack.yaml

# Install the software, remove unecessary deps and strip executables
RUN cd /opt/spack-environment && spack install && spack autoremove -y
RUN find -L /opt/view/* -type f -exec readlink -f '{}' \; | \
    xargs file -i | \
    grep 'charset=binary' | \
    grep 'x-executable\|x-archive\|x-sharedlib' | \
    awk -F: '{print $1}' | xargs strip -s


# Modifications to the environment that are necessary to run
RUN cd /opt/spack-environment && \
    spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh

# Bare OS image to run the installed executables
FROM ubuntu:18.04

COPY --from=builder /opt/spack-environment /opt/spack-environment
COPY --from=builder /opt/software /opt/software
COPY --from=builder /opt/view /opt/view
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh

RUN apt-get -yqq update && apt-get -yqq upgrade                                   \
 && apt-get -yqq install libgomp1 \
 && rm -rf /var/lib/apt/lists/*

ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
```
2020-01-30 17:19:55 -08:00
Patrick Gartung
ed501eaab2 Bypass build_cache/index.html read when trying to download spec.yaml for concretized spec. (#14698)
* Add binary_distribution::get_spec which takes concretized spec
Add binary_distribution::try_download_specs for downloading of spec.yaml files to cache
get_spec is used by package::try_install_from_binary_cache to download only the spec.yaml
for the concretized spec if it exists.
2020-01-30 16:06:50 -06:00
Patrick Gartung
12a99f4a2d Use non-mutable default for names in binary_distribution::get_specs call (#14696)
* Use non-mutable default for names

* Make suggested change
2020-01-30 15:17:55 -06:00
Andrew W Elble
b072caadec fix: py-pillow build_ext vs. install (#14666)
Previously, the install stage would compile in things that were
disabled during the build_ext phase. This would also result in the
build pulling in locally installed versions of libraries that were
disabled. The install process doesn't honor the same command-line
flags that build_ext does, but does call build_ext again. Avoid the
whole issue by just writing the options to setup.cfg

Also, add the Imagemagick dependency for tests.
2020-01-30 14:42:48 -06:00
Peter Scheibel
7b2895109c Document how to add conditional dependencies (#14694)
* add short docs section on conditional dependencies
* add reference to spec syntax
* add note that conditional dependencies can save time
2020-01-30 12:34:54 -08:00
Peter Scheibel
b2adcdb389 Bugfix: put environment lock in the right place (#14692)
Locate the environment lock in the hidden environment directory
rather than the root of the environment.
2020-01-30 11:13:36 -08:00
Massimiliano Culpo
1e0408d05a Updated docstring and version of lmod to v8.3 (#14687) 2020-01-30 12:33:16 -06:00
Adam J. Stewart
ee35d949f9 Add GDAL 3.0.4 (#14688) 2020-01-30 12:08:47 -06:00
Patrick Gartung
23a7feb917 Limit the number of spec files downloaded to find matches for buildcaches (#14659)
* Limit the number of spec flies downloaded to find matches
2020-01-30 10:56:10 -06:00
Jennifer Herting
a5b2347cfe [py-joblib] added version 0.11 (#14672) 2020-01-30 02:27:04 -08:00
Jennifer Herting
23a759cda0 [r-manipulatewidget] added versions (#14674) 2020-01-30 02:26:48 -08:00
Jennifer Herting
39035e4517 [r-rgl] added version 0.100.19 (#14675) 2020-01-30 02:26:24 -08:00
Todd Gamblin
3519a17624 specs: avoid traversing specs when parsing
The Spec parser currently calls `spec.traverse()` after every parse, in
order to set the platform if it's not set.  We don't need to do a full
traverse -- we can just check the platforrm as new specs are parsed.

This takes about a second off the time required to import all packages in
Spack (from 8s to 7s).

- [x] simplify platform-setting logic in `SpecParser`.
2020-01-29 21:15:58 -08:00
Todd Gamblin
a2f8a2321d repo: avoid unnecessary spec parsing in filename_for_package_name()
`filename_for_package_name()` and `dirname_for_package_name()`
automatically construct a Spec from their arguments, which adds a fair
amount of overhead to importing lots of packages.  Removing this removes
about 11% of the runtime of importing all packages in Spack (9s -> 8s).

- [x] `filename_for_package_name()` and `dirname_for_package_name()` now
  take a string `pkg_name` arguments instead of specs.
2020-01-29 21:15:58 -08:00
Peter Scheibel
85ef1be780 environments: synchronize read and uninstall (#14676)
* `Environment.__init__` is now synchronized with all writing operations
* `spack uninstall` now synchronizes its updates to any associated environment
  * A side effect of this is that the environment is no longer updated piecemeal as specs are uninstalled - all specs are removed from the environment before they are uninstalled
2020-01-29 17:22:44 -08:00
Cameron Smith
488e25ea34 pumi: sim version check, meshes via submodule, ctest (#14597)
* pumi: sim version check, meshes via submodule, ctest

* Apply suggestions from code review

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* pumi: update comment on master version string

* pumi: description of simmodsuite_version_check variant

* pumi: add white space to variant description

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-29 18:29:07 -06:00
Greg Becker
bd60e0f137 fix cycle dependency in libxml+python (#13847)
* fix cycle dependency in libxml+python
* comment why we need these dependencies
2020-01-29 12:39:55 -08:00
noguchi-k
da189b8d1d Fastx-toolkit package: patch for Fujitsu compiler (#14218)
Specify the scope of pragma pack
2020-01-29 11:45:37 -08:00
Adam J. Stewart
ed4d544e8f Fix py-pillow tests (#14670) 2020-01-29 13:24:44 -06:00
Robert Pavel
b142914b24 Added MiniAMR@1.4.4 (#14667) 2020-01-29 13:24:22 -06:00
Robert Pavel
30c8e1d8a0 Added xsbench@19 to Version List (#14668) 2020-01-29 13:24:03 -06:00
Jennifer Herting
549aae7f72 [py-griddataformats] added new versions (#14671) 2020-01-29 13:23:22 -06:00
Michael Kuhn
52a7f94d9e pythia8: add new package (#14665) 2020-01-29 11:40:39 -06:00
Matthias Wolf
4e3617fe1d py-pyperf: add 1.6.{0,1} (#14662) 2020-01-29 09:00:03 -06:00
Matthias Wolf
1af36f0cdc flatbuffers: add 1.11.0 (#14663) 2020-01-29 08:58:41 -06:00
Matthias Wolf
53d891a501 py-black: update url, add 19.3b0 (#14664) 2020-01-29 08:56:54 -06:00
Tamara Dahlgren
60ed6d2012 bugfix: correct exception message matching in tests (#14655)
This commit makes two fundamental corrections to tests:
1) Changes 'matches' to the correct 'match' argument for 'pytest.raises' (for all affected tests except those checking for 'SystemExit');
2) Replaces the 'match' argument for tests expecting 'SystemExit' (since the exit code is retained instead) with 'capsys' error message capture.

Both changes are needed to ensure the associated exception message is actually checked.
2020-01-28 22:57:26 -08:00
t-karatsu
f7ec09d30b Fujitsu compiler: Defining option that is always added. (#14657) 2020-01-28 21:02:40 -06:00
Andrew W Elble
9d7e482497 git: add version 2.25.0 and fixup pcre dependency (#14649)
* git: add version 2.25.0 and fixup pcre dependency

pcre2 became optional in 2.14 and the default in 2.18. I noticed this
as git was compiling against the system pcre2 (spack was
specifying pcre as the dependency).

* missed a chunk from my internal repo
2020-01-28 21:01:25 -06:00
Peter Scheibel
69feea280d env: synchronize updates to environments (#14621)
Updates to environments were not multi-process safe, which prevented them from taking advantage of parallel builds as implemented in #13100.  This is a minimal set of changes to enable `spack install` in an environment to be parallelized:

- [x] add an internal lock, stored in the `.spack-env` directory, 
      to synchronize updates to `spack.yaml` and `spack.lock`
- [x] add `Environment.write_transaction` interface for this lock
- [x] makes use of `Environment.write_transaction` in `install`, 
      `add`, and `remove` commands

- `uninstall` is not synchronized yet; that is left for a future PR.
2020-01-28 17:26:26 -08:00
Glenn Johnson
e710656310 Set netcdf-fortran to build serially with Intel compiler (#14461)
* Set netcdf-fortran to build serially with Intel compiler

This PR turns off parallel builds when the Intel compiler is used.
Builds with the Intel compiler will fail otherwise.

* Change how parallel build is handled

Use patch from netcdf-fortran project to turn off parallel buildi for
version 4.5.2.
2020-01-28 15:13:51 -06:00
darmac
2b0b340aab racon: support aarch64 and fix install error (#14529)
* racon: support aarch64 and fix install error

* add aarch64 patch for racon
2020-01-28 15:12:40 -06:00
noguchi-k
ea0a549db3 pcma: set return value and change return type of function (#14579) 2020-01-28 15:08:35 -06:00
t-karatsu
492b600d29 diffutils: Changed the handling of undeclared functions from warning … (#14593)
* diffutils: Changed the handling of undeclared functions from warning to error.

* diffutils: Change the handling of warnings or error

* Delete '-Werror=implicit-function-declaration'

* Add '-Qunused-arguments'
2020-01-28 15:06:37 -06:00
Glenn Johnson
0605fc1557 Build graphite2 with Intel compiler (#14636)
This PR sets the definition of REGPARM when building with the Intel
compiler.
2020-01-28 15:03:13 -06:00
Matthias Diener
94def872ee Moreutils: add new package (#14653)
* moreutils: add new package

* fix flake8
2020-01-28 15:02:07 -06:00
Brian Van Essen
f17ce36da2 Fixed path for CEREAL and Protobuf (#14641) 2020-01-28 15:01:50 -06:00
Axel Huebl
2b6106524a openPMD-api: With ADIOS2 by Default (#14643)
Replace the deprecated ADIOS1 backend default with ADIOS2 default.
Disable sz since we do not need it and it conflicts with supported
version ranges between ADIOS2 and ADIOS1 if someone enables both.
2020-01-28 15:01:15 -06:00
noguchi-k
635fc62de0 powerapi: add a space between literal and identifier (#14645) 2020-01-28 14:59:59 -06:00
noguchi-k
da091c0cf5 med: add a space between literal and identifier (#14646) 2020-01-28 14:59:23 -06:00
Ben Morgan
16da648d03 intel-tbb: Fix install names on Darwin (#14650)
* intel-tbb: Fix install names on Darwin

Intel-TBB's libraries on Darwin are installed with "@rpath" prefixed
to their install names. This was found to cause issues building the root
package on Darwin due to libtbb not being found when running some of the
generated tools linking to it.

Follow example from other packages with the same issue and fixup up install
names for intel-tbb post install.

* intel-tbb: fix flake8 errors
2020-01-28 14:57:25 -06:00
Glenn Johnson
48a12c8773 Note about Intel compiler segfault with long paths (#14652)
This PR adds a note about segfaults with the Intel compiler when the
install paths are long and the dependencies many.
2020-01-28 14:57:06 -06:00
Greg Becker
52ab2421bb Fix handling of filter_file exceptions (#14651) 2020-01-28 12:49:26 -08:00
iarspider
67c6d99219 Fix for #14148 (#14595)
* Dirty hack to fix #14148

* A better way of checking if a package is taken from system

* Update var/spack/repos/builtin/packages/qt/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update qt/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-28 14:15:29 -06:00
Christoph Junghans
12b0340d2f ninja: add v1.10.0 (#14647) 2020-01-28 09:34:31 -08:00
Andrew W Elble
3f5bed2e36 make the new 'spack load' faster (#14628)
before, a 'time spack load singularity'
4.129u 0.346s 0:04.47 99.7%	0+0k 0+8io 0pf+0w

after, a 'time spack load singularity'
0.844u 0.319s 0:01.16 99.1%	0+0k 0+16io 0pf+0w
2020-01-27 20:53:52 -08:00
Owen Solberg
f58004e436 fix spack env loads example (#14558) 2020-01-27 20:49:53 -08:00
Adam Moody
6ab2c3caa3 mpifileutils: add v0.10 (#14644)
Signed-off-by: Adam Moody <moody20@llnl.gov>
2020-01-27 20:33:26 -08:00
Andrew W Elble
d86816bc1a Fix: hash-based references to upstream specs (#14629)
Spack commands referring to upstream-installed specs by hash have
been broken since 6b619da (merged September 2019), which added a new
Database function specifically for parsing hashes from command-line
specs; this function was inappropriately attempting to acquire locks
on upstream databases.

This PR updates the offending function to avoid locking upstream
databases and also updates associated tests to catch regression
errors: the upstream database created for these tests was not
explicitly set as an upstream (i.e. initialized with upstream=True)
so it was not guarding against inappropriate accesses.
2020-01-27 18:25:23 -08:00
Patrick Gartung
7badd69d1e Package source ID cannot be determined when the url can't be extrapolated for older version. (#14237) 2020-01-27 20:10:01 -06:00
Patrick Gartung
d0523ca087 Follow the example of spack arch (#14642) 2020-01-27 20:04:48 -06:00
Joe Koning
e01c39019c Add the py-merlinwf package (#14622)
* Add the py-merlinwf package

* Fix importlib-resources package name for spack naming convention.

* Add build to dependencies and add updated versions.

* Remove pytest-runner dependency.

* Fix typo.

* Add the py-tabulate dependency.

* Add sha256 for version 1.0.0

* Change to maestro version 1.1.5.

* Increase to version 1.0.4.

* Bump maestrowf version and prepare for new pypi version.

* Add sha256sum for version 1.1.5

* Add version 1.1.1.
Update maestrowf version to 1.1.7

* Add versions 1.0.5, 1.1.0, 1.1.1 and potential 1.2.0.

* Add version 1.2.0 and when on maestrowf@1.1.6.

* Add version 1.2.2 , remove 1.2.1 and 1.1.0.

* Update var/spack/repos/builtin/packages/py-merlinwf/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-merlinwf/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Remove mysql variant until new mysql interface module is enabled.
The mysql code may be removed.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-27 17:26:43 -06:00
Patrick Gartung
0ce4eef256 Only set tcl default. Remove lmod default. (#14640) 2020-01-27 14:55:09 -06:00
Patrick Gartung
9ffa053f18 Fix bug introduced by pull request 14467 being merged (#14639)
* Fix bug introduced by pull request 14467 being merged

* Only filter on platform and OS
2020-01-27 14:17:15 -06:00
Patrick Gartung
893b0792e4 Set module_roots in test/config/config.yaml to defaults. (#14517) 2020-01-27 14:03:15 -06:00
Massimiliano Culpo
b9629c36f2 Unified environment modifications in config files (#14372)
* Unified environment modifications in config files

fixes #13357

This commit factors all the code that is involved in
the validation (schema) and parsing of environment modifications
from configuration files in a single place. The factored out
code is then used for module files and compiler configuration.

Attributes were separated by dashes in `compilers.yaml` files and
by underscores in `modules.yaml` files. This PR unifies the syntax
on attributes separated by underscores.

Unit testing of environment modifications in compilers
has been refactored and simplified.
2020-01-27 08:40:47 -08:00
Erik Schnetter
0f3ae864a5 asdf-cxx: new package (#14637) 2020-01-27 14:50:18 +01:00
Erik Schnetter
b7b27d3862 amrex: Update to version 20.01 (#14635)
Now using Github releases instead of git commits.
2020-01-27 10:07:46 +01:00
Adam J. Stewart
eb79c82cba Fix Python version compatibility tests for vermin 0.10.0 (#14632) 2020-01-26 22:31:13 -08:00
Sinan
0e86961b84 pygdal and gdal versions should be in lockstep (#14630) 2020-01-26 18:35:16 -06:00
Adam J. Stewart
71f47b3b26 Add py-vermin package (#14631) 2020-01-26 18:34:56 -06:00
Erik Schnetter
02e077a7fa simulationio: Correct HDF5 dependency bounds (#14626)
The HDF5 dependency bound was inverted. (How did this ever compile? There is a cmake check.)
2020-01-26 17:22:43 -06:00
Erik Schnetter
87c55b79c5 hwloc: New version 2.1.0 (#14627) 2020-01-26 17:22:26 -06:00
Erik Schnetter
06e100d5cc curl: New version 7.68.0 (#14625) 2020-01-26 17:06:38 -06:00
Adam J. Stewart
f8be90cf3f Add TensorFlow 1.15.2 (#14624) 2020-01-26 15:41:09 -06:00
Patrick Gartung
d2098d337a When spack install checks for buildcaches only add urls for current arch. (#14467) 2020-01-25 21:15:12 -06:00
Erik Schnetter
a26e5caa57 h5cpp: Download from github release instead of git repo (#14573)
* h5cpp: Download from github release instead of git repo

* Correct typo in package description
2020-01-25 18:39:36 -06:00
Adam J. Stewart
cb3f4081a0 Add TensorFlow 2.0.1 (#14623) 2020-01-25 12:45:09 -06:00
Glenn Johnson
c700200959 Get vtk-8.2.0 to build (#14562)
This PR adds some extra dependencies needed for vtk-8.2.0. It also
handles the variable name changes to turn off some of the external
libraries.
2020-01-25 12:44:51 -06:00
Hadrien G
f569577747 acts-core: Add and adapt to ACTS v0.14.0 and v0.15.0 (#14580)
* Add and adapt to ACTS v0.14.0

* Add v0.15.0 too
2020-01-25 12:35:53 -06:00
Brian Homerding
1fd335d654 Removing flang variant from llvm package (#14600) 2020-01-25 12:26:11 -06:00
Adam Moody
1e09de73b7 libcircle: add v0.3 (#14611) 2020-01-25 12:22:21 -06:00
Greg Becker
a57edb7029 configure z3+python to build python libraries in its own prefix (#14604) 2020-01-24 21:16:48 -08:00
Glenn Johnson
71243f3f7b Get py-torch to build caffe2 (#14619)
* Get py-torch to build caffe2

This PR gets the py-torch package to build with caffe2, and closes
issue #14576. If building on a machine with CUDA but no GPU the build
will try to build with all compute capabilities. Older compute
capabilities are not supported so the build will fail. The list of
capabilities can be passed to the build using values set in the
cuda_arch variant. Likewise, conflicts are also set to catch if the
unsupported capabilities are listed in cuda_arch.

This PR also sets version constraints on using an external mkldnn for
newer versions. Currenly, only versions up to 0.4 use an external mkldnn
library. Also, the cuda variant is set to True, which restores
previous behavior.

* Update var/spack/repos/builtin/packages/py-torch/package.py

Fix typo.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Adjust conflicts

This commit adjusts the conflicts. There is an issue with the
cuda_arch=20 conflicts directive as there is a conflicting dependency
with any version >=1.1 and a cuda_arch=20 dependency specified in
CudaPackage that gets trapped first.

* Use a common message for conflicts

This commit adds a variable to contain the bulk of the message stringi
for the cuda_arch conflicts. This is used along with a version string
in the conflicts directives messages.

* Fix the strings

- Use a multiline string for the cuda_arch_conflict variable.
- No need for format() in the msg value.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-24 22:57:16 -06:00
Mathew Cleveland
35db2d05b7 py-opppy package: add version 0_1_2 (#14229) 2020-01-24 18:58:22 -08:00
iarspider
bb29932362 py-pygdal package: 2.4.0 depends on gdal 2.4.1 (#14075) 2020-01-24 18:34:37 -08:00
plamborn
f8e0f4251d libhio: remove autoreconf method (#14283)
The autoreconf is not necessary and can cause errors.
2020-01-24 18:20:02 -08:00
健美猞猁
9a6b3b3a07 New package: MBDyn (#14438) 2020-01-24 18:14:14 -08:00
Glenn Johnson
80745128b3 harfbuzz package: add conflict for @2.3.1: with intel compiler (#14386)
harfbuzz 2.3.1 (and presumably all future versions after it) does
not build with the Intel compiler
2020-01-24 18:05:50 -08:00
Adam J. Stewart
dcd8d7a620 Add spack config list command for tab completion (#14474)
* Add spack config list command for tab completion
* Update tab completion scripts
2020-01-24 17:28:20 -08:00
Sajid Ali
12a261523e New package: p3dfft3 (#14508) 2020-01-24 17:20:36 -08:00
Michael Kuhn
95ddd3d6f2 sbang: Fix perl binary detection
The perl binary can also be called `perlX.Y.Z` if using a development
build or simply using the versioned binary.

We were also dropping all sbang arguments, since `exec $interpreter_v`
was only using the first element of the `interpreter_v` array.
2020-01-24 17:06:51 -08:00
Kevin Huck
33d35768e6 Fixing GCC compiler setting for PDT package 2020-01-24 17:03:52 -08:00
Kevin Manalo
6fd2c66022 IOR package: add version 3.2.1 (#14582) 2020-01-24 16:56:59 -08:00
Jordan Ogas
1c9337a5e4 charliecloud package: add version 0.13; remove older versions (#14591)
* Add version 0.13 and update to use Autotools build system
* Remove all versions prior to 0.13 (which do not use Autotools)
2020-01-24 16:55:55 -08:00
Massimiliano Culpo
4d7d657366 bugfix: make _source_single_file work in venvs (#14569)
Using `sys.executable` to run Python in a sub-shell doesn't always work in a virtual environment as the `sys.executable` Python is not necessarily compatible with any loaded spack/other virtual environment.

- revert use of sys.executable to print out subshell environment (#14496)
- try instead to use an available python, then if there *is not* one, use `sys.executable`
- this addresses RHEL8 (where there is no `python` and `PYTHONHOME` issue in a simpler way
2020-01-24 16:49:45 -08:00
Piotr Luszczek
d646c8d8d5 magma: add new version 2.5.2 2020-01-24 15:27:01 -08:00
Jon Rood
d58390dbf7 Add version 0.6.3 of yaml-cpp. 2020-01-24 15:26:33 -08:00
Brian Van Essen
36fca2c29a Updated and cleaned up the recipe for the LBANN and Hydrogen packages. (#14612)
* Updated and cleaned up the recipe for the LBANN and Hydrogen packages.

* Flake8

* Added type test for catch2
2020-01-24 14:49:05 -06:00
Brian Van Essen
4a5835ef2c Added version for 10.2 compatibility (#14613)
* Added version for 10.2 compatibility

* Updated the preferred version
2020-01-24 09:30:38 -06:00
Seth R. Johnson
ca6e75c9f6 Use Spack target architecture to determine OpenBLAS target (#14380)
Openblas target is now determined automatically upon inspection of
`TargetList.txt`. If the spack target is a generic architecture family
(like x86_64 or aarch64) the DYNAMIC_ARCH setting is used
instead of targeting a specific microarchitecture.
2020-01-24 15:19:05 +01:00
Axel Huebl
b0fce56d5b openPMD-api: adios_config to run env (#14610)
Popular CMake find-scripts for ADIOS1 search for this binary instead
of looking up `CMAKE_PREFIX_PATH`.
2020-01-23 17:35:45 -08:00
Todd Gamblin
04a6a55cf8 commands: add simple spack commands --update-completion argument (#14607)
Instead of another script, this adds a simple argument to `spack
commands` that updates the completion script.  Developers can now just
run:

    spack commands --update-completion

This should make it simpler for developers to remember to run this
*before* the tests fail.  Also, this version tab-completes.
2020-01-23 14:48:06 -08:00
Adam J. Stewart
031fdfd7ca Add TensorFlow 1.15.1 (#14614) 2020-01-23 16:25:30 -06:00
Hadrien G
80ea96312f ftgl: Move to frankheckenbach fork + CMakePackage (#14221)
* Try to switch to a newer fork of ftgl

* Allow ROOT to be more flexible about ftgl versions

* Turn ftgl into a CMakePackage

* Update ROOT ftgl dep since 2.1.3 isn't a thing anymore

* Please flake8

* Try to bring back the doc variant

* Comment it out instead of removing it
2020-01-23 11:43:11 -06:00
Hadrien G
1a385a5178 root: Fix root+x breakage from #11129 (#14224)
* Fix root+x breakage from #11129

* Separate out +opengl breakage

* Not strictly X11-related, but more breakage from  #11129

* Another X11 breakage found while building 6.08.x

* Don't put system headers in SPACK_INCLUDE_DIRS + deduplicate

* xextproto is only a dependency in +x builds
2020-01-23 11:42:25 -06:00
Greg Becker
c9e01ff9d7 shell support: spack load no longer needs modules (#14062)
Previously the `spack load` command was a wrapper around `module load`. This required some bootstrapping of modules to make `spack load` work properly.

With this PR, the `spack` shell function handles the environment modifications necessary to add packages to your user environment. This removes the dependence on environment modules or lmod and removes the requirement to bootstrap spack (beyond using the setup-env scripts).

Included in this PR is support for MacOS when using Apple's System Integrity Protection (SIP), which is enabled by default in modern MacOS versions. SIP clears the `LD_LIBRARY_PATH` and `DYLD_LIBRARY_PATH` variables on process startup for executables that live in `/usr` (but not '/usr/local', `/System`, `/bin`, and `/sbin` among other system locations. Spack cannot know the `LD_LIBRARY_PATH` of the calling process when executed using `/bin/sh` and `/usr/bin/python`. The `spack` shell function now manually forwards these two variables, if they are present, as `SPACK_<VAR>` and recovers those values on startup.

- [x] spack load/unload no longer delegate to modules
- [x] refactor user_environment modification calculations
- [x] update documentation for spack load/unload

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-01-22 22:36:02 -08:00
Mark W. Krentel
5053dfa259 binutils, libiberty: add version 2.33.1 2020-01-22 21:50:10 -08:00
Adam J. Stewart
11f2b61261 Use spack commands --format=bash to generate shell completion (#14393)
This PR adds a `--format=bash` option to `spack commands` to
auto-generate the Bash programmable tab completion script. It can be
extended to work for other shells.

Progress:

- [x] Fix bug in superclass initialization in `ArgparseWriter`
- [x] Refactor `ArgparseWriter` (see below)
- [x] Ensure that output of old `--format` options remains the same
- [x] Add `ArgparseCompletionWriter` and `BashCompletionWriter`
- [x] Add `--aliases` option to add command aliases
- [x] Standardize positional argument names
- [x] Tests for `spack commands --format=bash` coverage
- [x] Tests to make sure `spack-completion.bash` stays up-to-date
- [x] Tests for `spack-completion.bash` coverage
- [x] Speed up `spack-completion.bash` by caching subroutine calls

This PR also necessitates a significant refactoring of
`ArgparseWriter`. Previously, `ArgparseWriter` was mostly a single
`_write` method which handled everything from extracting the information
we care about from the parser to formatting the output. Now, `_write`
only handles recursion, while the information extraction is split into a
separate `parse` method, and the formatting is handled by `format`. This
allows subclasses to completely redefine how the format will appear
without overriding all of `_write`.

Co-Authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-01-22 21:31:12 -08:00
Todd Gamblin
8011fedd9c bugfix: gpg2 is called 'gpg' on macOS
The gpg2 command isn't always around; it's sometimes called gpg.  This is
the case with the brew-installed version, and it's breaking our tests.

- [x] Look for both 'gpg2' and 'gpg' when finding the command
- [x] If we find 'gpg', ensure the version is 2 or higher
- [x] Add tests for version detection.
2020-01-22 17:34:31 -08:00
Axel Huebl
910df8cb4e openPMD-api: Default +adios1 (#14599)
Enable the ADIOS1 backend by default.
2020-01-22 15:49:27 -08:00
Massimiliano Culpo
74266ea789 tests: removed code duplication (#14596)
- [x] Factored to a common place the fixture `testing_gpg_directory`, renamed it as 
      `mock_gnupghome`
- [x] Removed altogether the function `has_gnupg2`

For `has_gnupg2`, since we were not trying to parse the version from the output of:
```console
$ gpg2 --version
```
this is effectively equivalent to check if `spack.util.gpg.GPG.gpg()` was found. If we need to ensure version is `^2.X` it's probably better to do it in `spack.util.gpg.GPG.gpg()` than in a separate function.
2020-01-22 14:04:16 -08:00
Axel Huebl
7a0990903f MPark.Variant: Patch NVCC C++14 Build 2 (#14434)
Update the patch to fix builds with NVCC <= 10.2.89 with
the accepted PR for upcoming releases of the library.
2020-01-22 11:29:02 -08:00
Sam Gutiérrez
ffbb0efc81 libquo: Update default version from 1.3 to 1.3.1. (#14585) 2020-01-22 11:14:26 -08:00
Todd Gamblin
2eadfa24e9 bugfix: hashes should use ordered dictionaries (#14390)
Despite trying very hard to keep dicts out of our hash algorithm, we seem
to still accidentally add them in ways that the tests can't catch. This
can cause errors when hashes are not computed deterministically.

This fixes an error we saw with Python 3.5, where dictionary iteration
order is random.  In this instance, we saw a bug when reading Spack
environment lockfiles -- The load would fail like this:

```
...
File "/sw/spack/lib/spack/spack/environment.py", line 1249, in concretized_specs
  yield (s, self.specs_by_hash[h])
KeyError: 'qcttqplkwgxzjlycbs4rfxxladnt423p'
```

This was because the hashes differed depending on whether we wrote `path`
or `module` first when recomputing the build hash as part of reading a
Spack lockfile.  We can fix it by ensuring a determistic iteration order.

- [x] Fix two places (one that caused an issue, and one that did
  not... yet) where our to_node_dict-like methods were using regular python
  dicts.

- [x] Also add a check that statically analyzes our to_node_dict
  functions and flags any that use Python dicts.

The test found the two errors fixed here, specifically:

```
E       AssertionError: assert [] == ['Use syaml_dict instead of ...pack/spack/spec.py:1495:28']
E         Right contains more items, first extra item: 'Use syaml_dict instead of dict at /Users/gamblin2/src/spack/lib/spack/spack/spec.py:1495:28'
E         Full diff:
E         - []
E         + ['Use syaml_dict instead of dict at '
E         +  '/Users/gamblin2/src/spack/lib/spack/spack/spec.py:1495:28']
```

and

```
E       AssertionError: assert [] == ['Use syaml_dict instead of ...ack/architecture.py:359:15']
E         Right contains more items, first extra item: 'Use syaml_dict instead of dict at /Users/gamblin2/src/spack/lib/spack/spack/architecture.py:359:15'
E         Full diff:
E         - []
E         + ['Use syaml_dict instead of dict at '
E         +  '/Users/gamblin2/src/spack/lib/spack/spack/architecture.py:359:15']
```
2020-01-21 23:36:10 -08:00
Scott Wittenburg
8283d87f6a pipelines: spack ci command with env-based workflow (#12854)
Rework Spack's continuous integration workflow to be environment-based.

- Add the `spack ci` command, which replaces the many scripts in `bin/`

- `spack ci` decouples the CI workflow from the spack instance:
  - CI is defined in a spack environment
  - environment is in its own (single) git repository, separate from Spack
  - spack instance used to run the pipeline is up to the user
  - A new `gitlab-ci` section in environments allows users to configure how
    specs in the environment should be mapped to runners
  - Compilers can be bootstrapped in the new pipeline workflow

- Add extensive documentation on pipelines (see `pipelines.rst` for further details)
- Add extensive tests for pipeline code
2020-01-21 22:35:18 -08:00
Todd Gamblin
4d794d63b5 python: add debug variant to enable pydebug (#14584) 2020-01-21 15:09:41 -08:00
Adam J. Stewart
796722aeee Add py-scipy 1.2.3 (#14583) 2020-01-21 15:29:50 -06:00
Glenn Johnson
900161d182 Update and fix samtools (#14507)
* Update and fix samtools

This PR adds samtools-1.10 and sets the htlib directory so that the
spack built htslib can be used. This PR also arranges the dependencies
so that the htslib sequence is grouped on its own. Finally, the bzip2
dependency is removed and python and perl run dependencies are added.

* Fix samtools when built with ncurses+termlib

* The CI flake8 tests require lowercase variable

Interestingly, this did not show up when I ran `spack flake8` locally.
2020-01-21 15:24:39 -06:00
Dr. Christian Tacke
5eed196f74 Use util.url.join for URLs in GNU Mirrors / reorder Mirrors (#14395)
* Reorder GNU mirrors (#14395)

As @adamjstewart commented in #14395, GNU suggests to use
their mirror. So reorder the mirror to the top.

GNU Doc: https://www.gnu.org/prep/ftp.en.html

* Use spack.util.url.join for URLs in GNU mirrors (#14395)

One should not use os.path.join for URLs. This does only
work on POSIX systems.

Instead use spack.util.url.join.
So every part in spack uses the same url joining method.
2020-01-21 13:14:38 -06:00
Michael Kuhn
54ecc4e504 cmake: Fix patch checksum (#14542)
Add patch locally to make sure checksum cannot change again.
2020-01-21 13:05:42 -06:00
Glenn Johnson
5db5040871 Use CudaPackage mixin for py-theano (#14577)
This PR adds the CudaPackage mixin class to py-theano. This replaces the
`gpu` variant with the `cuda` variant.
2020-01-21 09:27:41 -06:00
Adam J. Stewart
d10505678f Add new kcov package (#14574)
* Add new kcov package

* Fix linking error and add test
2020-01-20 19:22:05 -06:00
Sean Smith
f23a136d83 Update AWS ParallelCluster to 2.5.1 (#14571)
Signed-off-by: Sean Smith <seaam@amazon.com>
2020-01-20 15:19:28 -06:00
Cyrus Harrison
ca26eb6923 add conduit 0.5.1 release and allow conduit to build against statically linked python (#14559) 2020-01-19 20:22:03 -06:00
Olaf Mersmann
dbb149cd7f capnproto: New package. (#14557)
* capnproto: New package.

* capnproto: Fix flake8 errors.

* Remove characters invalid in Python 2.
2020-01-19 17:20:22 -06:00
Simon Pintarelli
818b00e302 py-voluptuous update versions (#14556) 2020-01-19 10:39:11 -06:00
Howard Pritchard
ba22af0de0 openmpi: swat btl/uct ucx 1.7 bug (#14522)
Unfortunately UCX 1.7.0 is appearing in RPMS before it's officially released.
There's a problem with Open MPI 4.0.x where x < 3 and this version of UCX,
namely that the UCT BTL fails to compile.

See https://github.com/open-mpi/ompi/issues/7128

This patch works around the problem by disabling the build of the UCT BTL
for releases 4.0.0 to 4.0.2.

add hppritcha (me) as maintainer

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-01-18 13:52:26 -06:00
Matthieu Dorier
d8b4bee0cd Added py-spdlog package (#14514)
* Added py-spdlog package

* pleasing flake-8

* pleasing flake-8

* addressed some comments from adamjstewart

* changed URL for archive

* replaced with pypi.io url
2020-01-18 13:51:55 -06:00
Martin Pokorny
cacd57d340 Updates to casacore package (#14552)
* Add +cfitsio variant to wcslib dependency

* Replace ncurses dependency with readline dependency

casacore explicitly may depend on readline, not ncurses

* Add workaround for casacore's readline dependency

casacore optionally depends upon readline, but it's CMakeLists.txt provides no
user control over whether or not readline becomes a dependency. As readline is
often present by default on systems, it's better for this package to explicitly
depend on readline in order to prevent linking to whatever system version of the
library happens to be found during the build process. This should be considered
a workaround until casacore's CMakeLists.txt is fixed.

* Apply workaround for casacore's dependency on SOFA

Similar to the issues with casacore's readline dependency, casacore's optional
dependency on SOFA does not provide the user with a means of controlling the
dependency during build time. Unlike the readline library, the SOFA library is
unlikely to exist on most systems by default. As the SOFA dependency is only
optionally used for testing casacore, requiring it by default is not a good
workaround. Until casacore's CMakeLists.txt is fixed, this variant has been
removed to avoid unexpected library dependencies in the installed package.

* Add newer casacore versions

* Add mpokorny to maintainer field
2020-01-17 20:02:51 -06:00
Valentin Reis
c6a6911821 aml: adds 'develop' and 'master' targets. (#14549)
Co-authored-by: mlhardware <57849932+mlhardware@users.noreply.github.com>
2020-01-17 16:38:12 -06:00
Kai Torben Ohlhus
9010d4fce5 suite-sparse: add 5.4.0, 5.5.0, and 5.6.0, GitHub releases (#14547)
- The suite-sparse author publishes new versions starting with 5.5.0 on GitHub, see https://github.com/DrTimothyAldenDavis/SuiteSparse/releases and http://faculty.cse.tamu.edu/davis/SuiteSparse/
  - change spack to download from there
  - updated sha256 checksums from GitHub for all available releases
- For versions 5.4.0, 5.5.0, 5.6.0 there is a slightly different compilation necessary: first `make default` then `make install`.

Summary of the version changes (+ added, -removed [because not available on GitHub]):
```
+ 5.6.0
+ 5.5.0
+ 5.4.0
  5.3.0
  5.2.0
+ 5.1.2
  5.1.0
+ 5.0.0
+ 4.5.6
  4.5.5
- 4.5.4
  4.5.3
- 4.5.1
```
2020-01-17 13:04:53 -06:00
darmac
4bb76cf5e8 add new package : erlang (#14548) 2020-01-17 13:03:08 -06:00
Sajid Ali
c52bcdd080 jdk temporary fix (#14550) 2020-01-17 12:58:58 -06:00
darmac
4d752e63e5 fix hadoop url and update versions (#14530) 2020-01-17 12:56:00 -06:00
Brian Van Essen
94bc6b06b1 Added new hashes for the protobuf and py-protobuf packates. (#14546)
* Added new hashes for the protobuf and py-protobuf packates.

* Fixed flake8
2020-01-16 17:02:50 -06:00
Adam J. Stewart
bdc9b89d86 Don't patch latest version of HDF5 (#14545) 2020-01-16 15:59:26 -06:00
Adam J. Stewart
563e261fa4 Add py-torchvision 0.5.0 (#14544) 2020-01-16 15:46:55 -06:00
Adam J. Stewart
38cd15d0e0 Add py-torch 1.4.0 (#14543) 2020-01-16 15:46:41 -06:00
Adam J. Stewart
808c80d65a Fix use of sys.executable for module/env commands (#14496)
* Fix use of sys.executable for module/env commands

* Fix unit tests

* More consistent quotation, less duplication

* Fix import syntax
2020-01-16 15:46:18 -06:00
Adam J. Stewart
7a61d1dbd1 Add include/pythonX.Y to CPATH (#14523) 2020-01-16 15:21:14 -06:00
Cameron Stanavige
0f68ed73c6 unifyfs: new release version (#14527)
This updates the UnifyFS package to account for the latest 0.9.0
version and removes support for version 0.2.0.
2020-01-16 15:16:59 -06:00
Howard Pritchard
876305adf0 mesa: check aarch64 system type as well (#14493)
to disabled use of libunwind.  Without this mesa fails to build
using recent Cray compilers - cce 9 and higher -  on aarch64 systems.

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2020-01-16 12:21:34 -06:00
noguchi-k
7319516749 falcon: Set Py_None to return value (#14532) 2020-01-16 12:14:52 -06:00
albestro
c763b68b7c update hpx package for the new release 1.4.0 (#14533) 2020-01-16 12:12:35 -06:00
darmac
f22855f6e7 add new package : geode (#14534)
* add new package : geode

* remove provides for gemfire
2020-01-16 12:11:30 -06:00
darmac
362e79bb3a add new package : ignite (#14539) 2020-01-16 12:04:41 -06:00
Glenn Johnson
5aeab7dbe5 Use CudaPackage mixin for py-torch (#14540)
This PR adds CudaPackage in order to pick up the cuda/compiler conflicts
defined in CudaPackage.
2020-01-16 12:02:53 -06:00
Michael Kuhn
8ad0be96aa perl: Fix binary detection (#14536)
It seems that stable versions of perl also install a `perlX.Y.Z` binary.
However, it seems that this binary can hang if used in conjunction with
Spack's sbang workaround, as observed during automake's build.
2020-01-16 10:11:53 -06:00
Kai Torben Ohlhus
b7f0493563 octave: add 5.1.0 (#14531)
Add version Octave 5.1.0 including sha256.
2020-01-15 22:55:24 -06:00
Glenn Johnson
8b1bf2d613 Update py-csvkit (#14525)
* Update py-csvkit

This PR updates the py-csvkit package. This version requires a python
stack based on agate and this PR includes the new dependency packages.

- py-agate-dbf
- py-agate-excel
- py-agate-sql
- py-agate
- py-dbfread
- py-isodate
- py-leather
- py-parsedatetime
- py-python-slugify
- py-pytimeparse
- py-text-unidecode

* Replace the copy/pasted apostrophes

Python 2 can not process the copy/pasted apostrophes so replace them
with standard single quote character.

* Add version constraints on dependencies
2020-01-15 22:45:04 -06:00
Olaf Mersmann
a48fb69601 Update RocksDB to current version (#14524)
* rocksdb: Fix for rocksdb issue 5303

* rocksdb: Explicitly disable features

* rocksdb: Add TBB variant.

* rocksdb: New version 5.18.3 and 6.5.3
2020-01-15 18:50:24 -06:00
Adam J. Stewart
3cd6938d80 Fix typo in modules docstring (#14521) 2020-01-15 15:16:12 -06:00
Glenn Johnson
027142bcfc Add version constraint to graphviz patches (#14377)
* Add version contraint to graphviz patches

This PR restricts the graphviz version that the patches for building
with the Intel compiler apply to. The two patches that were needed for
building graphviz-2.40.1 with the Intel compiler are not needed for
graphviz-2.42.2.

* Adjust the qt dependencies

The qt5 patch is only needed for graphviz-2.40.1. However, that version
will only compile with GCC-6 or greater.
2020-01-15 14:14:45 -06:00
Michael Kuhn
c2778d8898 perl: Add 5.30.1 (and 5.31.7) (#14509)
This also fixes actually building the development releases.
2020-01-15 14:12:51 -06:00
Michael Kuhn
e6e06aa2f3 mariadb-c-client: Add 3.1.6 and 3.1.5 (#14510) 2020-01-15 14:10:47 -06:00
Mark W. Krentel
b5d729a829 hpctoolkit: add version 2019.12.28 (#14519)
Add version 2019.12.28 and update the prereqs for the latest master.
2020-01-15 14:04:22 -06:00
Rao Garimella
946a80bd3d New package Jali - unstructured mesh infrastructure for multiphysics applications (#14498)
* add variant for enabling testing

* add variant for enabling testing

* enable tests and clean up other options

* enable tests and clean up other options

* add numbered versions

* add numbered versions

* updates to avoid enable_tests variant; correct versioning

* updates to avoid enable_tests variant; correct versioning

* fixes for style

* appropriate partitioners are enabled if 'all' is specified - so no need to check in spec

* revert accidental change to copyright

* remove erroneously re-introduced line about tests

* new spack recipe for build Jali - unstructured mesh infrastructure for multiphysics applications

* remove the +parallel condition for mstk, update 1.1.1 sha256sum and whitespace cleanup

* reformat description

* cut down description
2020-01-15 12:32:17 -06:00
Robert Mijakovic
a2f961bd6f Adds MPI_THREAD_MULTIPLE support for OpenMPI to the variant with UCX fabrics (#14194)
* Fixes:
1. MPI_THREAD_MULTIPLE problem with OpenMPI and UCX.

Changes:
1. OpenMPI provides two new depends_on options which result in UCX being compiled with multiple threads support. One implicit when OpenMPI 3.x is used, MPI_THREAD_MULTIPLE is enabled by default, and one explicit for OpenMPI <= 2.x, MPI_THREAD_MULTIPLE is disabled by default.
2. Extends UCX package to allow "Enable thread support in UCP and UCT" option.
3. Adds sha256 sums of UCX releases 1.6.1 and 1.2.0.

More details:
Fixes the issue with OpenMPI where programs which use MPI_THREAD_MULTIPLE will fail to execute because UCP worker didn't support it.
During the OpenMPI package installation it's the +thread_multiple spec was not propagated to UCX nor UCX handled it at all.
Now, the OpenMPI package is capable of handling +thread_multiple spec when UCX is request and the UCX package correctly handles +thread_multiple and compiles with the --enable-mt option.
Error message during runtime:
pml_ucx.c:226 Error: UCP worker does not support MPI_THREAD_MULTIPLE

* Adapts check of specs to read better and is the suggested form in the docs.

* Explicitly disables multithreading of UCX if +thread_multiple option is not used.
2020-01-15 12:31:18 -06:00
Glenn Johnson
0232c820ab Rework texlive package to install from source (#14332)
* Rework texlive package to install from source

This PR reworks the texlive package so that it installs from versioned
source distibution files. This is preferred over installing the binary
package for several reasons. For the binary installation:

1. Each component is downloaded, so can not use a spack mirror.
2. Changes in components over time are not reflected in spack hash.
3. Some of the binaries do not run due to glibc issues, depending on OS.

This PR keeps the binary installation as an option but it should be
considered deprecated, and probably rewmoved at some point.

This PR depends on zziplib from PR #14318.

* Fix flake8 issues
2020-01-15 11:35:07 -06:00
Glenn Johnson
f8acb95ad3 Convert encoding of script in interproscan (#14356)
One of the perl scripts was encoded with ISO-8859-1, which caused the
sbang replacement process to fail when spack uses python3. This PR
converts the ps_scan script to UTF-8 encoding.
2020-01-15 11:32:18 -06:00
Glenn Johnson
726a662c2c Change encoding for scripts in repeatmasker (#14358)
This PR converts ISO-8859 encoding to UTF-8 encoding for three scripts in
repeatmasker.

- the main RepeatMasker script
- SimpleBatcher.pm
- wublastToCrossmatch.pl

The ISO-8859 encoding prevented the sbang replacement of long paths when
spack uses python3.
2020-01-15 11:31:51 -06:00
Michael Kuhn
b69cf08cfb python: Add 3.7.6 and 3.7.5 (#14497) 2020-01-15 11:24:48 -06:00
Glenn Johnson
e7add79cba Update the icu4c package (#14450)
* Update the icu4c package

This PR makes several changes to the icu4c package

1. add updated version to 65.1
2. modify the default url as project has moved to github
3. set UTF-8 locale to support building from source files in UTF-8
format

Note that the older versions are not available on github so explicit urls
were used. This PR will close #14399.

* Consolidate the urls

Consolidate the URLs in the `version` directives by using an if test in
`url_for_version`.

* Put version and sha256 on same line

* Put top level url back
2020-01-14 22:05:55 -06:00
Glenn Johnson
9f6ac938b7 Update and fix bcftools package (#14505)
* Update and fix bcftools package

This PR updates bcftools to 1.10.2 and is dependent on PR #14504.

This PR also fixes builds of other versions. Versions 1.2-1.4 did not
use autotools so when the packaeg was converted to use autotools with
version 1.6 those older versions could no longer build. Also, those
versions needed to be patched to use an external htsllib. The method of
finding the external htslib is also different for those older versions.

In addition, this PR adds two variants to bcftools:

- libgsl
- perl-filters

Finally, dependencies for perl and python are added, and an unused
dependency for libzip was removed.

* Do not use '@' in variant description

The '@' character in a variant description will cause a problem with
`spack info`.

```
==> Error: Incomplete color format: '@' in
expressions, for @1.8:
```

* Fix error with python2 processing this package
2020-01-14 22:04:47 -06:00
Erik Schnetter
e78f3ed040 Update armadillo (#14499) 2020-01-14 17:49:49 -06:00
Erik Schnetter
ef68791210 Update HDF5 to 1.10.6 (#14500) 2020-01-14 17:49:21 -06:00
Erik Schnetter
8ffb9605d7 h5cpp: New package (#14501) 2020-01-14 17:48:49 -06:00
Justin S
4b1c356a27 trnascan-se: add and configure infernal dependency (#14502)
* trnascan-se: add and configure infernal dep

* trnascan-se: use patch() for infernal config
2020-01-14 17:47:48 -06:00
Erik Schnetter
ae6afaf8e1 mpich: Correct package name in output (#14503) 2020-01-14 17:46:39 -06:00
Glenn Johnson
ed9ab0668f Update htslib and add libcurl variant (#14504)
* Update htslib and add libcurl variant

This PR updates htslib to version 1.10.2 and adds a libcurl variant. The
libcurl variant defaults to True because, while it is optional, it is
highly recommended by the project developers.

Other things done:

- be consistent with quotes

* Change version in variant description

Apparently, `spack info` does not like the `@` character in a variant
description.

```
==> Error: Incomplete color format: '@' in
@1.3:.
```
2020-01-14 17:39:09 -06:00
Tom Scogland
df8ee438e5 stop word splitting from leaking out of setup-env (#14472)
The pathadd function was using setopt to configure zsh for word
splitting, which leaks out of the function and breaks default
functionality in a number of external zsh plugins and packages.  This
switches to emulate -L, just as the spack function uses, to keep the
setting local to the function.
2020-01-14 15:32:57 -08:00
Justin S
7ddbc9bc87 py-yajl: new package at 0.3.5 (#14278)
* py-yajl: new package at 0.3.5

* py-yajl: use PyPI mirror

* py-yajl: use short PyPI url

* remove py-ujson package

* py-yajl: remove unused imports
2020-01-14 17:23:32 -06:00
Justin S
30694aa501 gapfiller: traverse subdirectories in patch (#14375)
* gapfiller: traverse subdirectories in patch

* gapfiller: revert glob function change

* gapfiller: use more precise glob
2020-01-14 17:22:49 -06:00
Stephanie Brink
a18ab8f765 new package: variorum (#13624) 2020-01-14 12:01:01 -08:00
Rao Garimella
eefccd5d22 Update MSTK to 3.3.1 (#14494) 2020-01-14 13:08:57 -06:00
darmac
a04faa8f6b add new package : rocketmq (#14442)
* add new package : rocketmq

* remove url_for_version()
2020-01-14 11:59:40 -06:00
Adam J. Stewart
240a9e6284 Fix parsing of rocketmq URL (#14490) 2020-01-14 11:59:10 -06:00
darmac
7a88c17d3a add new package : py-ansible (#14436)
* add new package : py-ansible

* update license info

* update py-ansible depends
2020-01-14 11:58:48 -06:00
Kshitij Mehta
5c7a3e2d14 codar-cheetah: Added version 0.5 (#14487)
* codar-cheetah: Added version 0.5

* codar-cheetah: Dropped v0.1 as it was not built as a Python package.
2020-01-14 11:55:15 -06:00
Rob Latham
4c65324084 Sometimes debugging symbols are helpful (#14452) 2020-01-14 11:54:38 -06:00
Nichols A. Romero
6d8ec8890a Flang OpenMP target support for NVidia GPUs. (#14486)
* Flang OpenMP target support for NVidia GPUs.

* explictly disable gpu option with else clause.
2020-01-14 11:54:07 -06:00
eugeneswalker
2e5c9eb2e3 upcxx depends on python 2 >= 2.7.5 (#14462) 2020-01-14 11:53:38 -06:00
Elsa Gonsiorowski, PhD
4366977540 libcircle: add develop version from git master branch (#14420)
* libcircle: add develop version from git master branch

* Update var/spack/repos/builtin/packages/libcircle/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* libcircle: flake8 fix i think

* libcircle: naming things

* libcircle: 🐑 my sacrifice to the flake8 gods

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-13 21:23:56 -06:00
Hadrien G
c51db51bfb verrou: Add support for verrou v2.2.0 (#14480)
* Add support for verrou v2.2.0

* Add myself as a maintainer
2020-01-13 21:23:08 -06:00
t-karatsu
41c40d4ba4 r-mass: Add version '7.3-51.5' and fix checksum. (#14439) 2020-01-13 21:06:44 -06:00
darmac
713d7a3793 add new package : gpdb (#14440)
* add new package : gpdb

* update docstring and license info
2020-01-13 21:04:00 -06:00
darmac
e2e9f02d81 add new package : hive (#14443) 2020-01-13 21:01:27 -06:00
darmac
b33d108c1b add new package : drill (#14444) 2020-01-13 21:00:36 -06:00
darmac
737d2f55a8 Flume (#14445)
* add new package : flume

* add new package : flume
2020-01-13 21:00:06 -06:00
darmac
c41dfb0a75 add new package : flink (#14446) 2020-01-13 20:59:34 -06:00
Gregory Lee
35a696a965 added intel parallel 2020.0 and components (#14451) 2020-01-13 20:51:22 -06:00
Rob Latham
a76ef717bd Support for more libfabric providers (#14453)
Add support for (just about) every provider libfabric knows about
2020-01-13 20:47:48 -06:00
MIchele Martone
fa2e094c81 new package: librsb (#14455)
* new package: librsb

* flake8, be good

* no hardocded FC=gfortran
2020-01-13 20:46:20 -06:00
darmac
6c4c26f538 add new package : keepalived (#14463) 2020-01-13 20:36:16 -06:00
Glenn Johnson
0a666af326 Remove overlapping depends_on statement for py-basemap (#14475)
This PR resolves an overlapping dependency specification for py-basemap.
2020-01-13 20:34:13 -06:00
Rao Garimella
487731e207 Add version 3.3.0 to MSTK spackage (#14476) 2020-01-13 20:33:47 -06:00
Michael Kuhn
8660b0b5b8 python: Fix post-install script without C++ compiler (#14481) 2020-01-13 20:29:02 -06:00
Adam J. Stewart
5b1297378c Add Python 3.8.1 (#14484) 2020-01-13 20:27:57 -06:00
Adam J. Stewart
d78c52c291 Add GDAL 3.0.3 and 2.4.4 (#14485) 2020-01-13 20:27:41 -06:00
Axel Huebl
0d435630db openPMD-api: Depends on ADIOS 2.5.0 (#14489)
Only ADIOS2 versions we support.
2020-01-13 20:24:00 -06:00
Jonathon Anderson
673a725576 New package: qemu (#14184) 2020-01-13 15:52:18 -06:00
Tamara Dahlgren
eb7a4e1029 Fixes #14402 (#14483)
Check if patchelf is executable, not binary, in case a site is wrapping it.
2020-01-13 13:00:14 -08:00
Paul
5afc407faa Add Go version 1.13.6 and 1.12.15 (#14482) 2020-01-13 16:48:27 +01:00
Simon Pintarelli
465577847d SIRIUS, SpFFT: updated package recipes and versions (#14469) 2020-01-13 14:45:36 +01:00
darmac
6edc7a2558 racon: added v1.4.3, v1.4.2, v1.4.0 and v1.3.3 (#14478) 2020-01-13 14:23:33 +01:00
Sajid Ali
8917d58e7a syned: new package at develop (#14468) 2020-01-13 13:45:47 +01:00
Christoph Junghans
9c4479624c gromacs: add v2020 (#14477) 2020-01-13 09:45:20 +01:00
Nichols A. Romero
d1c708bdf3 LLVM-Flang package (#14389)
* Add 20181226 release of pgmath

* 20190329 release of pgmath requires match for CMPLX macro.

* Add llvm-flang package for Flang fork of LLVM

* Add new and old flang releases.

* Add cmake and python dependencies.

* Update dependencies on llvm-flang and pgmath.

* Fix cmake args and change spec to reflect llvm-flang package.

* change copyright date through 2020.

* Reference Flang package more explicitly.

* More robust support for python executable.

* import os no longer needed, picked up by flake8.

* Use built-in target spec. Variant and targets follow style in main LLVM package.

* Get rid of targets list and only support one target for now.

* Sparc does not appear to be supported in Flang.

* Raise InstallError if architecture not supported.
2020-01-11 16:13:03 -06:00
Adam J. Stewart
257e71d87a Reformat Bash tab completion script (#14456) 2020-01-10 11:32:50 -06:00
Adam J. Stewart
52df2309cb Add TensorFlow 2.1.0 (#14429)
* Add TensorFlow 2.1.0

* kafka and ignite are no longer supported
2020-01-09 11:01:51 -06:00
Hadrien G
b982015930 root: Configure ROOT correctly for python3 (#14225)
* Configure ROOT correctly for python3

* Record Python version conflict

* Code editing on a phone sucks
2020-01-09 09:33:10 -06:00
thelfer
ff23672591 new versions of TFEL and MGIS (#14249)
* fixes #967

* Version bump to 0.9.1

- Bugfixes for spack find
- 0.9.1 can read specs from current develop.

* Don't assume spack is in the path when building docs.

* Quick fix for relocation issues.

* elf relocation fix: cherry-picked from develop branch (#6889)

* Revert "Quick fix for relocation issues."

This reverts commit 57608a6dc4.

* Buildcache: relocate fixes (#6512)

* Updated function which checks if a binary file needs relocation.
  Previously this was incorrectly identifying ELF binaries as symbolic
  links (so they were being excluded from relocation). Added test to
  check that ELF binaries are not considered symlinks.

* relocate_text was not replacing paths in text files. Added test to
  check that text files are relocated properly (i.e. paths in the file
  are converted to the new prefix).

* Exclude backup files created by filter_file when installing from
  binary cache.

* Update write_buildinfo_file method signature to distinguish between
  the spec prefix and the working directory for the binary cache
  package.

* Final changes for v0.11.0 (#6318)

* Fix logo link in README.md to point to the develop branch. (#6969)

* Compiler flag handlers (#6415)

This adds the ability for packages to apply compiler flags in one of
three ways: by injecting them into the compiler wrapper calls (the
default in this PR and previously the only automated choice);
exporting environment variable definitions for variables with
corresponding names (e.g. CPPFLAGS=...); providing them as arguments
to the build system (e.g. configure).

When applying compiler flags using build system arguments, a package
must implement the 'flags_to_build_system_args" function. This is
provided for CMake and autotools packages, so for packages which
subclass those build systems, they need only update their flag
handler method specify which compiler flags should be specified as
arguments to the build system.

Convenience methods are provided to specify that all flags be applied
in one of the 3 available ways, so a custom implementation is only
required if more than one method of applying compiler flags is
needed.

This also removes redundant build system definitions from tutorial
examples

* Fix type issues with setting flag handlers (#6960)

The flag_handlers method was being set as a bound method, but when
reset in the package.py file it was being set as an unbound method
(all python2 issues). This gets the underlying function information,
which is the same in either case.

The bug was uncovered for parmetis in #6858. This is a partial fix.
Included are changes to the parmetis package.py file to make use of
flag_handlers.

* Bump version to 0.11.1

* Added flags to unit tests + OSX build done once per day (#6988)

* Adding flags to codecov reports

* OSX builds are triggered once a day

* Pull R list_urls from upstream.

* travis: removed /usr/local/include/c++ before installing gcc on OSX (#6515) (#7027)

"brew install gcc" fails for travis build because of an existing
/usr/local/include/c++. This commit removes the offending file
as suggested by brew.

* Fix gfortran 7 detection (#7017)

* Add NameError to exceptions caught from configure_args in module generation (#7173)

* Revert "Binary caching: remove symlinks, copy files instead (#9747)"

This reverts commit 058cf81312.

* Make Spack relocate text files in build caches with relative binaries

* add the tfel package

* fix the tfel package

* fix the tfel package

* fix the tfel package

* Taking Adam J. Steward' remarks into account

* fixes trailing white spaces

* Update description

* Update dependencies following @adamjstewart adices

* Style fixes

* Style fixes

* Add java optional support

* add the maintainers attribute (following @alalazo advice), disable interface not selected (following @adamjstewart advice)

* flake8 fixes

* Fix Cast3M and python-bindings support. Python detection is made compatible with cmake'FindPythonLibs module (at least how it is used in TFEL)

* Style fixes

* Style fixes

* Fix test on python version

* Follow @adamjstewart advices: code is much cleaner and readable

* Small fix

* Small fix

* Add comment

* Small fix in cmake option

* try again (trying to overcome Travis CI unstable build process)

* Add support for the MFrontGenericInterfaceSupport project (MGIS)

* Style fixes

* Package documentation update

* Package documentation update

* Fix a typo thanks to Andreas Baumbach review

* Follow Adam J. Stewart advices

* Fix type

* bugfix: add back r's for invalid regexes

* tutorial basics section: fix gcc install version

* version bump: v0.12.1

* bugfix: bring in .travis.yml from develop

* Add new TFEL' versions (3.0.4, 3.1.4 and 3.2.1). Add new MGIS version (1.0.1). Fix MGIS dependency

* merge with spack:develop

* add missing dependency

* new versions of  and

* Fix MGIS url. Fix duplicate variant in TFEL

* Fix tfel packaging according to Adam J. Stewart' advices

* Fix flake8 warning

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
Co-authored-by: Peter Scheibel <scheibel1@llnl.gov>
Co-authored-by: Greg Becker <becker33@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-09 09:32:17 -06:00
Dr. Christian Tacke
4bd4ed0f84 FairLogger: new package (#14427) (#14427)
* Fixed date on first copyright header.
* Rename dev version to develop
* Improve filter_file calling
* Be explicit for +pretty / ~pretty
2020-01-09 09:29:38 -06:00
asmaahassan90
75760e44f3 Add ADF (#14423)
* Add ADF

* Fix typo and lint

* fix lint again

* one more lint fix

* fix identation

* still stying to fix identation

* one final fix

* import needed libraries

* changes as per reviewer's request

fix setup environment function, enhance recipe

* add import os once again

* chnages as per reviewer's request
2020-01-09 09:28:20 -06:00
darmac
ffb6102a42 tomcat: new package (#14441) 2020-01-09 13:08:59 +01:00
darmac
9ae80a56a3 storm: new package (#14437) 2020-01-09 13:06:48 +01:00
t-karatsu
592a144feb rapidjson: delete '-march' flags when using Fujitsu compiler. (#14435) 2020-01-09 07:04:27 +01:00
Jeffrey Salmond
6b3e173331 Remove extensions from view in the correct order (#12961)
When removing packages from a view, extensions were being deactivated
in an arbitrary order. Extensions must be deactivated in preorder
traversal (dependents before dependencies), so when this order was
violated the view update would fail.

This commit ensures that views deactivate extensions based on a
preorder traversal and adds a test for it.
2020-01-08 15:52:39 -08:00
Glenn Johnson
4a84155caa fix build for qt5 and the Intel compiler (#14387)
* Set conflicts for qt5 and the Intel compiler

This PR sets a `conflicts` statement for QT5 and the Intel compiler.

* New patches for intel compiles

This commit adds two patches to get QT5 to compile with the intel
compilers. The two patches are very similar but the file being patched
was changed substantially between qt-5.11 and qt-5.12. The patch checks
versions of both GCC and Intel compilers to know when to use overflow
builtis. Essentially, GCC must be >= 5 and Intel must be >= 18.

The sqlite dependency needs the `+column_metadata` variant when the
Intel compiler is used. That is made conditional on the compiler but it
might make sense to make that the default for the sqlite dependency.

Some other changes were made based on testing builds of various QT5
versions with several Intel compilers.

- The libxext dependency is still needed for QT5
- A dependency on libxrender is needed
- The gtk option format needs to be constrained at the qt@5.7 level, not
  qt@5.8.
- An extra configure option is needed for the sql plugins RPATH
2020-01-08 13:02:37 -06:00
noguchi-k
f79649d2e3 lrslib: fix return value (#14422) 2020-01-08 12:41:39 -06:00
Chuck Atkins
26ffbe3d21 cmake: Create an optimized release build (#14414) 2020-01-08 13:17:53 -05:00
Corey adams
de93830b9a Adding a new package, scikit-build, which is useful for building Python Extensions (#14417)
* Adding a new package, scikit-build, which is very useful for building python extensions

* Update package.py

* Update package.py

Trying to address flake8 corrections

* Update var/spack/repos/builtin/packages/py-scikit-build/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-scikit-build/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-08 10:06:47 -06:00
Tim Haines
2028687efe spack.compilers.clang: add new version check (#14365) 2020-01-08 07:13:36 +01:00
Mark W. Krentel
8a82c930bb hpcviewer: add version 2019.12 (#14419)
Add conflicts for aarch64 and darwin.
2020-01-07 21:51:18 -06:00
Hadrien G
11501532d3 Record a new ROOT/GCC incompatibility (#14371) 2020-01-07 21:35:47 -06:00
Justin S
3e8b4a9b24 py-rapidjson: new package at 0.9.1 (#14280)
* py-rapidjson: new package at 0.9.1

* py-rapidjson: rename to py-python-rapidjson, use PyPI mirror

* py-python-rapidjson: add missing deps

* python-rapidjson: use short PyPI url

* py-python-rapidjson: remove extra dependencies
2020-01-07 16:40:22 -06:00
Justin S
a24498f7ba r-ldheatmap: new package at 0.99-7 (#14405) 2020-01-07 15:33:41 -06:00
Adam J. Stewart
c40ee08c8d NumPy 1.18.1 requires Cython 0.29.14 (#14418) 2020-01-07 15:22:27 -06:00
Sinan
e4f56378b1 Package/opencv: cudacodec fix (#14409)
* create new variant, fix build error

* flake8

* add conflict, re-arrange config arg for cudacodec
2020-01-07 13:19:18 -06:00
eugeneswalker
7546ca6d4d bugfix: Issue #14346, buildcache create s3 push fails when package w same DAG hash already exists at mirror (#14412) 2020-01-07 12:40:37 -06:00
Matthias Diener
777812df4e gdb: add version 8.3.1 (#14413) 2020-01-07 12:38:05 -06:00
Michael Kuhn
be3482de09 ncl: Add missing fontconfig dependency (#14411)
Moreover, cairo needs to have its freetype variant enabled.
2020-01-07 10:55:34 -06:00
Michael Kuhn
a5ae5aca36 gdal: Fix libgeotiff dependency (#14410)
gdal@2.4.3 is missing the libgeotiff dependency.
2020-01-07 10:55:01 -06:00
Massimiliano Culpo
08d0267c9a Spack can automatically remove unused specs (#13534)
* Spack can uninstall unused specs

fixes #4382

Added an option to spack uninstall that removes all unused specs i.e.
build dependencies or transitive dependencies that are left
in the store after the specs that pulled them in have been removed.

* Moved the functionality to its own command

The command has been named 'spack autoremove' to follow the naming used
for the same functionality by other widely known package managers i.e.
yum and apt.

* Speed-up autoremoving specs by not locking and re-reading the scratch DB

* Make autoremove work directly on Spack's store

* Added unit tests for the new command

* Display a terser output to the user

* Renamed the "autoremove" command "gc"

Following discussion there's more consensus around
the latter name.

* Preserve root specs in env contexts

* Instead of preserving specs, restrict gc to the active environment

* Added docs

* Added a unit test for gc within an environment

* Updated copyright to 2020

* Updated documentation according to review

Rephrased a couple of sentences, added references to
`spack find` and dependency types.

* Updated function naming and docstrings

* Simplified computation of unused specs

Since the new approach uses private attributes of the DB
it has been coded as a method of that class rather than a
freestanding function.
2020-01-07 08:16:54 -08:00
Adam J. Stewart
eddb42ed43 Fix outdated bash tab completion (#14392) 2020-01-06 23:18:14 -06:00
Adam J. Stewart
d2ed01a12c Add py-numpy 1.18.1 (#14406) 2020-01-06 17:48:27 -06:00
Justin S
e49a5adf04 r-snpstats: new package at 1.34.0 (#14404) 2020-01-06 16:21:38 -06:00
Justin S
e04a9031b0 r-genetics: new package at 1.3.8.1.2 (#14403) 2020-01-06 16:20:34 -06:00
Thom Troy
0950f5ffa3 Add updated kaldi and openfst (#14398)
* add openfst v1.6.7 and kaldi from 2019-09-29

* revert openfst package version in url
2020-01-06 16:19:42 -06:00
George Hartzell
37b11d0468 Add singularity@3.5.2 (#14401) 2020-01-06 16:12:50 -06:00
darmac
f3c0d23a3c Fastdfs (#14378)
* add new package : fastdfs

* refine install()

* remove redundant fastdfs/fastdfs/package.py

* fix install() error
2020-01-06 16:12:08 -06:00
Justin S
627fd1949d py-ujson: new package at 1.35 (#14279)
* py-ujson: new package at 1.35

* py-ujson: use PyPI mirror, add missing deps

* py-ujson: use short PyPI url
2020-01-06 15:53:26 -06:00
Seth R. Johnson
47750c8800 Fix QT on Linux+clang (#13684)
* Add platform flag to QT for linux+clang

* Extend QT platform support to more compilers and systems

* Unify QT5 configure options

* fixup! Unify QT5 configure options

* fixup! Unify QT5 configure options

* fixup! Unify QT5 configure options

* Fix newer flake8 and mac qt5 configure
2020-01-06 15:47:16 -06:00
Erik Schnetter
7cde359eb8 Nsimd: New package (#14226)
* Nsimd: New package

* Various cleanups as suggested during review
2020-01-06 15:40:58 -06:00
Adam J. Stewart
adffa45264 Reference spack help --spec in spack spec --help 2020-01-06 00:20:19 -08:00
asmaahassan90
c0672eb641 Add py-thirdorder recipe (#12791)
* Add Thirdorder recipe

* Remove white spaces

* Converting recipe to a PythonPackage base class

* remove trailing spaces

* remove line at end of file

* enhance recipe as per reviewer

* fix post_install as requested by reviewer

* rename dir to py-thirderorder

* change checksum to sha256
2020-01-05 12:28:10 -06:00
Adam J. Stewart
f7f4d1a02e Overhaul py-pillow package (#14385)
* Overhaul py-pillow package

* Fix bug where zlib and jpeg were always disabled
2020-01-04 22:49:39 -06:00
Adam J. Stewart
f0532e27da libwebp: CMakePackage -> AutotoolsPackage (#14384) 2020-01-04 22:48:45 -06:00
Glenn Johnson
8c8f3f228c Adjust constraints of gcc-5 (#14388)
This PR adjusts the constraints on isl with GCC-5. GCC-5.1 and GCC-5.2
need isl-0.14, not isl-0.15.
2020-01-04 22:47:06 -06:00
Adam J. Stewart
90f4860402 Add libs property to openjpeg package (#14383) 2020-01-04 16:46:53 -06:00
Adam J. Stewart
4d85979ec4 Add libs property to lcms package (#14382) 2020-01-04 16:46:40 -06:00
Adam J. Stewart
378016d350 py-torchvision 0.4.X does not support py-pillow 7.X.Y (#14381) 2020-01-04 14:21:29 -06:00
Xavier Delaruelle
d83d7ce694 environment-modules: add version 4.4.1 (#14379) 2020-01-04 12:56:09 -06:00
darmac
c22329c5e8 add new package : lucene (#14316)
* add new package : lucene

* update lucene version url
2020-01-04 11:34:28 -06:00
darmac
66bb19a593 add new package : kafka (#14315)
* add new package : kafka

* move url_for_version after depens_on()

* refine list_depth for kafka
2020-01-04 11:33:52 -06:00
darmac
c9729aaab7 add new package : tajo (#14314)
* add new package : tajo

* refine list_depth for tajo
2020-01-04 11:33:09 -06:00
Justin S
b9dc263801 py-intervaltree: new package at 3.0.2 (#14277)
* py-intervaltree: new package at 3.0.2

* py-intervaltree: fix checksum

* py-intervaltree: add py-setuptools dep

* py-intervaltree: use inclusive ranges

* py-intervaltree: change py-test dep type
2020-01-03 15:52:59 -06:00
Satish Balay
f7b9592eb9 petsc: add version 3.12.3 (#14374) 2020-01-03 13:35:54 -06:00
xfzhao
100593b83a new package: bref3 (#14256) 2020-01-03 10:22:09 +01:00
Glenn Johnson
729e43ffac Get py-numpy > 1.16 to build with Intel compiler (#14360)
Beginning with numpy > 1.16 when using older versions of gcc the
`std=c99` flag must be used. The Intel compiler depends on gcc for its
language extensions so the version of gcc is important. If the version
of gcc used by the Intel compiler is one that requires the `-std=c99`
flag then that flag will have to be used for a build with the Intel
compiler as well.

This PR tests the version of gcc used by the Intel compiler and will
abort the build if the gcc version is < 4.8 and inject the `-std=c99`
flag if >= 4.8 and < 5.1. This will cover the system gcc compiler and
any gcc environment module loaded at build time.
2020-01-02 19:30:13 -06:00
Sinan
39a09691c5 package/opencv fix mistake in conflict statement involving gcc (#13959)
* fix mistake in conflict

* extend CudaPackage to resolve cuda-gcc conflicts
2020-01-02 19:18:27 -06:00
Jonathan R. Madsen
e46548c3b8 Updated version to include v3.0.1 (#14353)
* Updated version to include v3.0.1

- this patch has a rather critical MT fix

* Update package.py

- Moved 3.0.1 above 3.0.0
2020-01-02 19:17:54 -06:00
Christoph Junghans
70184c6ea2 fix url for mantevo packages (#14366) 2020-01-02 19:17:32 -06:00
Sajid Ali
c3c1cf13e7 RHEL8 bugfix for module_cmd (#14349) 2020-01-02 15:30:11 -06:00
Glenn Johnson
ba0e144b07 Set preferred version of perl-bioperl (#14354)
Due to formatting differences, the older version of perl-bioperl was
getting picked up as the preferred version. This PR explicitly sets the
newer version to be preferred.
2020-01-02 15:29:35 -06:00
Matthieu Dorier
8e70fa52df added verbose variant to mercury package (#14355) 2020-01-02 15:29:18 -06:00
Gilles Gouaillardet
19c1312eb4 gromacs: depend on hwloc v1 (#14343)
Because of a bug in the current concretizer,
spack install gromacs
fails because gromacs depends on hwloc (default is v2), and Open MPI
(the default MPI library) depends on hwloc v1.
As discussed in https://github.com/spack/spack/issues/14339, this
workaround should be removed once the concretizer is fixed

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2020-01-02 15:16:22 -06:00
Adam J. Stewart
e26f517daf py-scikit-learn: add 0.22.1 (#14350) 2020-01-02 15:15:49 -06:00
Mike Kiernan
85fc6448f8 osu-micro-benchmarks: added version 5.6.2 (#14352) 2020-01-02 15:15:21 -06:00
Sinan
456aae2627 new package: py-zarr (#14326)
* create package py-zarr

* specify setuptools versions

* add more dependencies, improve style

* Update var/spack/repos/builtin/packages/py-zarr/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-zarr/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-zarr/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* add dependencies, remove python version constraint

* remove windows specific dependency

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-02 13:07:48 -06:00
Adam J. Stewart
3f190a432e MKL: set appropriate CMake env vars (#14274) 2020-01-02 12:41:42 -06:00
Todd Gamblin
6e828206b6 refactor: cleanup imports in spec.py
The imports in `spec.py` are getting to be pretty unwieldy.

- [x] Remove all of the `import from` style imports and replace them with
  `import` or `import as`
- [x] Remove a number names that were exported by `spack.spec` that
  weren't even in `spack.spec`
2020-01-02 08:05:00 -08:00
Todd Gamblin
9ed34f686f bugfix: cdash tests shoudln't modify working directory
The latest cdash test creates a local cdash_reports directory, but it
should do that in a tmpdir.
2020-01-02 00:01:15 -08:00
Todd Gamblin
4beb9fc5d3 tests: improved spack test command line options
Previously, `spack test` automatically passed all of its arguments to
`pytest -k` if no options were provided, and to `pytest` if they were.
`spack test -l` also provided a list of test filenames, but they didn't
really let you completely narrow down which tests you wanted to run.

Instead of trying to do our own weird thing, this passes `spack test`
args directly to `pytest`, and omits the implicit `-k`.  This means we
can now run, e.g.:

```console
$ spack test spec_syntax.py::TestSpecSyntax::test_ambiguous
```

This wasn't possible before, because we'd pass the fully qualified name
to `pytest -k` and get an error.

Because `pytest` doesn't have the greatest ability to list tests, I've
tweaked the `-l`/`--list`, `-L`/`--list-long`, and `-N`/`--list-names`
options to `spack test` so that they help you understand the names
better.  you can combine these options with `-k` or other arguments to do
pretty powerful searches.

This one makes it easy to get a list of names so you can run tests in
different orders (something I find useful for debugging `pytest` issues):

```console
$ spack test --list-names -k "spec and concretize"
cmd/env.py::test_concretize_user_specs_together
concretize.py::TestConcretize::test_conflicts_in_spec
concretize.py::TestConcretize::test_find_spec_children
concretize.py::TestConcretize::test_find_spec_none
concretize.py::TestConcretize::test_find_spec_parents
concretize.py::TestConcretize::test_find_spec_self
concretize.py::TestConcretize::test_find_spec_sibling
concretize.py::TestConcretize::test_no_matching_compiler_specs
concretize.py::TestConcretize::test_simultaneous_concretization_of_specs
spec_dag.py::TestSpecDag::test_concretize_deptypes
spec_dag.py::TestSpecDag::test_copy_concretized
```

You can combine any list option with keywords:

```console
$ spack test --list -k microarchitecture
llnl/util/cpu.py  modules/lmod.py
```

```console
$ spack test --list-long -k microarchitecture
llnl/util/cpu.py::
    test_generic_microarchitecture

modules/lmod.py::TestLmod::
    test_only_generic_microarchitectures_in_root
```

Or just list specific files:

```console
$ spack test --list-long cmd/test.py
cmd/test.py::
    test_list                       test_list_names_with_pytest_arg
    test_list_long                  test_list_with_keywords
    test_list_long_with_pytest_arg  test_list_with_pytest_arg
    test_list_names
```

Hopefully this stuff will help with debugging test issues.

- [x] make `spack test` send args directly to `pytest` instead of trying
  to do fancy things.
- [x] rework `--list`, `--list-long`, and add `--list-names` to make
  searching for tests easier.
- [x] make it possible to mix Spack's list args with `pytest` args
  (they're just fancy parsing around `pytest --collect-only`)
- [x] add docs
- [x] add tests
- [x] update spack completion
2020-01-01 21:37:02 -08:00
Sinan
de73121ebd new package: py-numcodecs (#14330)
* new package: py-numcodecs

* make msgpack variant
2020-01-01 23:09:29 -06:00
Adam J. Stewart
7a97dc3770 py-numpy: add 1.17.5 (#14341) 2020-01-01 15:05:23 -06:00
Todd Gamblin
9192f046d2 tests: rename checks in github actions
I usually want to look at the Travis CI output, but I currently have to
scroll down to see it. This renames checks to be a bit shorter and more
consistent with Travis's naming, and also so that actions appear lower
than travis and codecov in the list of checks.
2019-12-31 17:59:59 -08:00
Glenn Johnson
1ac0c51dad Modify create clue list so R packages are detected (#12277)
R packages can contain configure scripts so R needs to be before
autotools in the clue list.
2019-12-31 16:44:31 -06:00
Todd Gamblin
ffc91bd86e tests: move mock config.yaml files to common directory
Test configuration files (except modules.yaml) were in the root level of
test/data, but should really just be in their own directory.  The absence
of modules.yaml was also breaking module tests if we got module
preferences after tests started, as the mock modules.yaml was not in the
test directory.
2019-12-31 13:48:01 -08:00
Todd Gamblin
3017584c48 config: remove all module-scope calls to spack.config.get()
This avoids parsing modules.yaml on startup.
2019-12-31 13:48:01 -08:00
Todd Gamblin
9cc013cc0f modules: make the module hook more robust
The module hook would previously fail if there were no enabled module types.

- Instead of looking for a `KeyError`, default to empty list when the
  config variable is not present.

- Convert lambdas to real functions for clarity.
2019-12-31 13:48:01 -08:00
Todd Gamblin
58cb4e5241 hooks: remove pre_run hook to improve startup time.
- Remove legacy yaml_version_check() hook
- Remove the pre_run hook from `hook/__init__.py` and `main.py`

We want to discourage the use of pre-run hooks because they have to run
at startup.  To keep Spack fast, we should do things like this lazily
instead of in hooks that require spidering directories full of modules.
2019-12-31 13:48:01 -08:00
Sinan
5ddbd2fa6c new package: py-msgpack (#14329)
* new package: py-msgpack

* remove python dependency

* remove cython dependency
2019-12-31 15:14:40 -06:00
Adam J. Stewart
5b979aee81 Ignore coverage drop due to lack of macOS tests (#14333)
* Ignore coverage drop due to lack of macOS tests

* Fix codecov tree structure
2019-12-31 15:13:12 -06:00
Jonathan R. Madsen
026534dadb Updated versions and more variants (#14310)
* Updated versions and more variants

- Added 'develop' and '3.0.0' versions
- Added 'tau', 'upcxx', 'gotcha', and 'likwid'

* Added conflict handling for +cupti~cuda

* Removed extra cmake args line
2019-12-31 13:33:41 -06:00
darmac
b70a5245f2 add new package : libfastcommon (#14303)
* add new package : libfastcommon

* update libfastcommon install()
2019-12-31 11:46:07 -06:00
darmac
e92f6c70a6 add new package : moosefs (#14305)
* add new package : moosefs

* remove no-need depens : zlib
2019-12-31 11:45:45 -06:00
darmac
9ff6079986 add new package : opentsdb (#14317)
* add new package : opentsdb

* remove redundant url_for_version()
2019-12-31 11:43:27 -06:00
Glenn Johnson
9a0fd8db9a New package - zziplib (#14318)
This PR adds the zziplib package.
2019-12-31 11:42:59 -06:00
Sinan
62cd7e4490 new package: py-asciitree (#14327)
* new package: py-asciitree

* fix typo
2019-12-31 11:39:43 -06:00
Mark Olesen
3bf7998bb5 Add OpenFOAM 1912 (#14322) 2019-12-31 11:19:05 -06:00
Todd Gamblin
4af6303086 copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
Todd Gamblin
98ad6e39b5 bugfix: add required fixture for CDash authentication test (#14325) 2019-12-30 16:55:05 -08:00
Zack Galbreath
cc96758fdc Add support for authenticated CDash uploads (#14200) 2019-12-30 15:54:56 -08:00
Todd Gamblin
65ef6d5dcb refactor: rename mock_config fixture to mock_low_high_config
This avoids confusion with mock_configuration.
2019-12-30 13:01:31 -08:00
Todd Gamblin
b2e9696052 argparse: lazily construct common arguments
Continuing to shave small bits of time off startup --
`spack.cmd.common.arguments` constructs many `Args` objects at module
scope, which has to be done for all commands that import it.  Instead of
doing this at load time, do it lazily.

- [x] construct Args objects lazily

- [x] remove the module-scoped argparse fixture

- [x] make the mock config scope set dirty to False by default (like the
  regular scope)

This *seems* to reduce load time slightly
2019-12-30 13:01:31 -08:00
Todd Gamblin
e7dc8a2bea tests: refactor tests to avoid persistent global state
Previously, fixtures like `config`, `database`, and `store` were
module-scoped, but frequently used as test function arguments.  These
fixtures swap out global on setup and restore them on teardown.  As
function arguments, they would do the right set-up, but they'd leave the
global changes in place for the whole module the function lived in.  This
meant that if you use `config` once, other functions in the same module
would inadvertently inherit the mock Spack configuration, as it would
only be torn down once all tests in the module were complete.

In general, we should module- or session-scope the *STATE* required for
these global objects (as it's expensive to create0, but we shouldn't
module-or session scope the activation/use of them, or things can get
really confusing.

- [x] Make generic context managers for global-modifying fixtures.

- [x] Make session- and module-scoped fixtures that ONLY build filesystem
  state and create objects, but do not swap out any variables.

- [x] Make seeparate function-scoped fixtures that *use* the session
  scoped fixtures and actually swap out (and back in) the global
  variables like `config`, `database`, and `store`.

These changes make it so that global changes are *only* ever alive for a
singlee test function, and we don't get weird dependencies because a
global fixture hasn't been destroyed.
2019-12-30 13:01:31 -08:00
Todd Gamblin
e839432472 tests: make env tests that use configs non-destructive
Environment tests pushed config scopes but didn't properly remove them.

- [x] use `with env:` context manager instead of `env.prepare_config_scopes()`
2019-12-30 13:01:31 -08:00
Todd Gamblin
8e8235043d package_prefs: move class-level cache to PackagePref instance
`PackagePrefs` has had a class-level cache of data from `packages.yaml` for
a long time, but it complicates testing and leads to subtle errors,
especially now that we frequently manipulate custom config scopes and
environments.

Moving the cache to instance-level doesn't slow down concretization or
the test suite, and it just caches for the life of a `PackagePrefs`
instance (i.e., for a single cocncretization) so we don't need to worry
about global state anymore.

- [x] Remove class-level caches from `PackagePrefs`
- [x] Add a cached _spec_order object on each `PackagePrefs` instance
- [x] Remove all calls to `PackagePrefs.clear_caches()`
2019-12-30 13:01:31 -08:00
Adam J. Stewart
0699f8ac9d Add py-numpy 1.16.6 (#14313) 2019-12-29 20:04:04 -06:00
Glenn Johnson
25f217f5f2 Add support for graphite2 support to harfbuzz (#14300)
This PR adds graphite2 support to harfbuzz. This PR depends on PR #14299, which added the graphite2 package to spack.
2019-12-29 12:40:09 -06:00
Todd Gamblin
4d6462247e externals: avoid importing jinja2 on startup (#14308)
Jinja2 costs a tenth to a few tenths of a second to import, so we should avoid importing it on startup.

- [x] only import jinja2 within functions
2019-12-28 14:43:23 -08:00
Todd Gamblin
2dafeaf819 bugfix: colify_table should not revert to 1 column for non-tty (#14307)
Commands like `spack blame` were printig poorly when redirected to files,
as colify reverts to a single column when redirected.  This works for
list data but not tables.

- [x] Force a table by always passing `tty=True` from `colify_table()`
2019-12-28 11:26:31 -08:00
darmac
855f9afa6e add new package : jafka (#14304) 2019-12-28 12:20:55 -06:00
Glenn Johnson
bd345e16b8 New package - TECkit (#14301)
This PR adds the teckit package to spack.
2019-12-28 12:20:20 -06:00
Glenn Johnson
12692424a7 New package - graphite2 (#14299)
* New package - graphite2

This PR adds the Graphite2 package to Spack.

* Replace smart quotes with standard quotes
2019-12-28 12:19:21 -06:00
Johannes Blaschke
c0d5c360d5 setup-env-test: fix pipe redirect (#14306) 2019-12-27 22:37:47 -08:00
Dr. Christian Tacke
8ee75e19bd Improve info variant header (#14275)
In "spack info" the Variants header currently has two blank
lines under it. That's too much. It looks like the actual
content belongs to something else.

Instead underline the headers to make things more obvious.
2019-12-27 15:21:15 -08:00
Glenn Johnson
2166a91ec5 New package - libpaper (#14302)
This PR adds the paper library to spack.
2019-12-27 15:18:16 -08:00
Gregory Lee
6c957b6b62 added build dependences required after cairo package change (#14297)
* added build dependences required after cairo package change

* fixed pango build dependencies
2019-12-27 12:13:50 -06:00
Gregory Lee
08898a2ad7 patch cairo build files for build without fontconfig fixes #14112 (#14296)
* patch cairo build files for build without fontconfig

* added build dependencies for cairo
2019-12-26 16:20:16 -06:00
asmaahassan90
3315700da9 Add Avizo Recipe (#12792)
* Add Avizo Recipe

* make changes as per review

* fix home url and linting

* Fix url

* fix identation

* change checksum to sha256 instead of md5

* fix installation

* fix lint

* fix identation

* make it compatible with python 2.6

* enhancing recipe and fixing avizo licensing

changes as per suggestions from reviewer; fix licensing

* fix identation

* use new setup_run_environment function
2019-12-26 14:43:51 -06:00
t-karatsu
c7f1e2835b aspa: Fix common errors. (#14295)
* aspa: Fix common errors.

* defined new member 'Vec_value_type' in 'self' namespace.

* fix narrowing error.

* fix patch about typecast.
2019-12-26 14:42:59 -06:00
Massimiliano Culpo
2aa8132afd Migrate build tests from Travis to Github Actions (#13967)
This PR moves build smoke tests from TravisCI and migrates them to Github Actions. The result is that build tests are performed in parallel with unit tests and they don't hog additional resources on Travis. The workflow will not run if a PR only changes packages in the built-in repository, but will always run on pushes to develop or master.

* Removed build tests from Travis and passed them to Github Actions
* Store ~/.ccache in Github Actions cache
* Add filters on paths and make sure this workflow don't run
* Use paths-ignore and exclude only files in the built-in repo
* Added a badge to README.md
2019-12-25 00:06:48 -08:00
Todd Gamblin
61b4ad1837 tests: finish removing pyqver from the repository (#14294)
Remove a few remaining mentions of the pyqver package, which was removed in #14289.
2019-12-24 17:37:03 -08:00
Massimiliano Culpo
d333e14721 tests: check min required python version with vermin (#14289)
This commit removes the `python_version.py` unit test module
and the vendored dependencies `pyqver2.py` and `pyqver3.py`.
It substitutes them with an equivalent check done using
`vermin` that is run as a separate workflow via Github Actions.

This allows us to delete 2 vendored dependencies that are unmaintained
and substitutes them with a maintained tool.

Also, updates the list of vendored dependencies.
2019-12-24 09:28:33 -08:00
t-karatsu
1e2c9d960c a64fx: fix typo in GCC flags (#14286) 2019-12-24 17:45:03 +01:00
Matthias Diener
6a084a8289 intel-pin: add version 3.11 (#14292) 2019-12-24 10:06:51 -06:00
Matthias Diener
37c1d2d004 cmake: add version 3.16.2 (#14291) 2019-12-24 10:05:54 -06:00
Matthias Diener
ee8bc0df98 scons: add version 3.1.2 (#14290) 2019-12-24 10:05:18 -06:00
健美猞猁
748c552992 Bump nektar to 5.0.0. (#14288) 2019-12-24 10:01:16 -06:00
Todd Gamblin
7652d1a4c1 Merge branch 'releases/v0.13' into develop 2019-12-24 01:04:41 -08:00
Todd Gamblin
d7f2a32887 performance: dont' read spec.yaml files twice in view regeneration
`ViewDescriptor.regenerate()` calls `get_all_specs()`, which reads
`spec.yaml` files, which is slow.  It's fine to do this once, but
`view.remove_specs()` *also* calls it immediately afterwards.

- [x] Pass the result of `get_all_specs()` as an optional parameter to
  `view.remove_specs()` to avoid reading `spec.yaml` files twice.
2019-12-23 18:36:56 -08:00
Todd Gamblin
78b84e4ade performance: don't recompute hashes when regenerating environments
`ViewDescriptor.regenerate()` was copying specs and stripping build
dependencies, which clears `_hash` and other cached fields on concrete
specs, which causes a bunch of YAML hashes to be recomputed.

- [x] Preserve the `_hash` and `_normal` fields on stripped specs, as
  these will be unchanged.
2019-12-23 18:36:56 -08:00
Todd Gamblin
9b90d7e801 performance: reduce system calls required for remove_dead_links
`os.path.exists()` will report False if the target of a symlink doesn't
exist, so we can avoid a costly call to realpath here.
2019-12-23 18:36:56 -08:00
Todd Gamblin
c83e365c59 performance: only regenerate env views once in spack install
`spack install` previously concretized, writes the entire environment
out, regenerated views, then wrote and regenerated views
again. Regenerating views is slow, so ensure that we only do that once.

- [x] add an option to env.write() to skip view regeneration

- [x] add a note on whether regenerate_views() shouldn't just be a
  separate operation -- not clear if we want to keep it as part of write
  to ensure consistency, or take it out to avoid performance issues.
2019-12-23 18:36:56 -08:00
Todd Gamblin
0fb3280011 performance: add read transactions for install_all() and install()
Environments need to read the DB a lot when installing all specs.

- [x] Put a read transaction around `install_all()` and `install()`
  to avoid repeated locking
2019-12-23 18:36:56 -08:00
Todd Gamblin
6c9467e8c6 lock transactions: avoid redundant reading in write transactions
Our `LockTransaction` class was reading overly aggressively.  In cases
like this:

```
1  with spack.store.db.read_transaction():
2    with spack.store.db.write_transaction():
3      ...
```

The `ReadTransaction` on line 1 would read in the DB, but the
WriteTransaction on line 2 would read in the DB *again*, even though we
had a read lock the whole time.  `WriteTransaction`s were only
considering nested writes to decide when to read, but they didn't know
when we already had a read lock.

- [x] `Lock.acquire_write()` return `False` in cases where we already had
       a read lock.
2019-12-23 18:36:56 -08:00
Todd Gamblin
bb517fdb84 lock transactions: ensure that nested write transactions write
If a write transaction was nested inside a read transaction, it would not
write properly on release, e.g., in a sequence like this, inside our
`LockTransaction` class:

```
1  with spack.store.db.read_transaction():
2    with spack.store.db.write_transaction():
3      ...
4  with spack.store.db.read_transaction():
   ...
```

The WriteTransaction on line 2 had no way of knowing that its
`__exit__()` call was the last *write* in the nesting, and it would skip
calling its write function.

The `__exit__()` call of the `ReadTransaction` on line 1 wouldn't know
how to write, and the file would never be written.

The DB would be correct in memory, but the `ReadTransaction` on line 4
would re-read the whole DB assuming that other processes may have
modified it.  Since the DB was never written, we got stale data.

- [x] Make `Lock.release_write()` return `True` whenever we release the
      *last write* in a nest.
2019-12-23 18:36:56 -08:00
Todd Gamblin
eb8fc4f3be lock transactions: fix non-transactional writes
Lock transactions were actually writing *after* the lock was
released. The code was looking at the result of `release_write()` before
writing, then writing based on whether the lock was released.  This is
pretty obviously wrong.

- [x] Refactor `Lock` so that a release function can be passed to the
      `Lock` and called *only* when a lock is really released.

- [x] Refactor `LockTransaction` classes to use the release function
  instead of checking the return value of `release_read()` / `release_write()`
2019-12-23 18:36:56 -08:00
Todd Gamblin
779ac9fe3e performance: avoid repeated DB locking on view generation
`ViewDescriptor.regenerate()` checks repeatedly whether packages are
installed and also does a lot of DB queries.  Put a read transaction
around the whole thing to avoid repeatedly locking and unlocking the DB.
2019-12-23 18:36:56 -08:00
Gregory Lee
99dee90372 added master branch version to mpip (#14284) 2019-12-23 17:24:19 -06:00
Christoph Junghans
643cc95055 gromacs: add v2019.5 (#14285) 2019-12-23 17:24:03 -06:00
Nicholas Sly
9573fa2299 Added conflict with %pgi in libpciaccess package.py with relevant links in comments. (#14281) 2019-12-23 15:31:59 -06:00
Piotr Luszczek
ae8a72c0da netlib-scalapack: Add int overflow patch (#14276) 2019-12-23 13:06:29 -06:00
Adam J. Stewart
e2ec1c76ce Add py-boto3 1.10.44 (#14271) 2019-12-22 21:39:25 -06:00
Timo Heister
fa0d710626 add new package : libdap4 (#14267) 2019-12-22 21:36:47 -06:00
Adam J. Stewart
ded5cbec70 Add py-numpy 1.18.0 (#14269) 2019-12-22 21:36:28 -06:00
Adam J. Stewart
0950442ea0 Add awscli 1.16.308 (#14270) 2019-12-22 21:36:14 -06:00
Adam J. Stewart
013ff54731 Add py-botocore 1.13.44 (#14272) 2019-12-22 21:35:39 -06:00
Piotr Luszczek
2a3bf87484 Add new release and remove extraneous patches (#14273) 2019-12-22 18:10:19 -08:00
Glenn Johnson
3690bc44bd Set full xiar path when building cp2k with intel compiler (#14268) 2019-12-22 16:19:12 -06:00
justbennet
b83365c945 Updating preferred OpenMPI version to 3.1.5 (#14266) 2019-12-22 11:59:21 -08:00
Axel Huebl
249c1d9d81 openPMD-api: 0.10.3 (#14265)
Add latest release.
2019-12-22 10:01:28 -06:00
xfzhao
a10253a667 new module beagle (#14257) 2019-12-21 18:22:56 -06:00
Sajid Ali
8fe2c0a4fe Bump py-slepc4py version, update url (#14264)
* version bump

	modified:   var/spack/repos/builtin/packages/py-slepc4py/package.py

* slepc: update URL
slepc4py: add 3.11.0 and update maintainers

Co-authored-by: Satish Balay <balay@mcs.anl.gov>
2019-12-21 18:22:40 -06:00
Sajid Ali
96063f9168 use sys.executable instead of python in _source_single_file (#14252) 2019-12-21 00:02:28 -08:00
Sajid Ali
8522d1f0cf build bazel with jdk (#14258)
* build bazel with jdk

* Flake 8

* Fix typo
2019-12-20 19:40:05 -06:00
Massimiliano Culpo
80495d83ed microarchitectures: fix ppc flags for clang (#14196) 2019-12-20 14:40:54 -08:00
Adam J. Stewart
87d0ac804e npm: add Python 3 support (#14255) 2019-12-20 16:38:35 -06:00
Massimiliano Culpo
497fddfcb9 Fetching from URLs falls back to mirrors if they exist (#13881)
Users can now list mirrors of the main url in packages.

- [x] Instead of just a single `url` attribute, users can provide a list (`urls`) in the package, and these will be tried by in order by the fetch strategy.

- [x] To handle one of the most common mirror cases, define a `GNUMirrorPackage` mixin to handle all the standard GNU mirrors.  GNU packages can set `gnu_mirror_path` to define the path within a mirror, and the mixin handles setting up all the requisite GNU mirror URLs.

- [x] update all GNU packages in `builtin` to use the `GNUMirrorPackage` mixin.
2019-12-20 14:32:18 -08:00
Nichols A. Romero
1b93320848 PGMATH library symbols patch (#14254)
* Add symbols patch

* Apply symbols patch to pgmath

* Add github issue number for symbols patch.

* Add naromero77 as a maintainer.

* Patch only applied to March 2019 release and master.
2019-12-20 16:23:38 -06:00
Adam J. Stewart
abf8e09fe5 Add py-pyinstrument package (#14241) 2019-12-20 16:17:22 -06:00
Adam J. Stewart
73dbda8c5a node-js: add Python 3 support (#14242)
* node-js: add Python 3 support

* Update node-js, fix Python 3 support in v12
2019-12-20 16:17:04 -06:00
Hadrien G
3dd59c569e Latest versions of CMake need a hand for Python detection (#14247) 2019-12-20 14:52:53 -06:00
Hadrien G
3bb9d0feb4 root: Record that old versions of ROOT don't support modern GCC (#14250)
* Record that old versions of ROOT don't support modern GCC

* Well, actually I don't know about 6.07

* Fix typo and follow odd version recommendation from @chissg
2019-12-20 12:55:16 -06:00
Nichols A. Romero
f408535f2d QE Update Dec 2019 (#14238)
* Add QE 6.5

* Support for serial HDF5 case with serial (no mpi) QE is now supported but requires a patch for 6.4.1 and 6.5.

* Add naromero77 as a maintainer.
2019-12-20 12:53:36 -06:00
Hadrien G
97afe560d5 Do not apply the unuran patch to ROOT 6.06/xy, it is not compatible (#14245) 2019-12-20 12:53:20 -06:00
Adam J. Stewart
d01ceabca2 Add py-pyinstrument-cext package (#14240) 2019-12-20 11:59:18 -06:00
Hadrien G
71d10d76dc Adding myself as a ROOT maintainer (#14251) 2019-12-20 11:48:54 -06:00
Andras Wacha
72eef17ff9 Added hwloc dependency to gromacs (#14244) 2019-12-20 08:49:35 -07:00
Patrick Schratz
48fb5b8b17 R: added v3.6.2 (#14248) 2019-12-20 16:25:09 +01:00
Hadrien G
a5cab03d10 ACTS: added v0.13.0 and v0.12.1 (#14246) 2019-12-20 16:05:48 +01:00
Ethan Stam
e89915eacc New package: cinema_lib (#14231)
* Start cinema package

* Remove boilerplate and add description

* Formatting for pep8

* Correct milestone tag

* 'master' instead of 'develop'

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Two variants, both with numpy and other small changes

* When +image for scikit

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-19 19:37:22 -06:00
Chris Green
dc17d548c8 Add missing __init__.py under test, and correct bad file name from #13889. (#14228) 2019-12-19 17:27:53 -06:00
Chris Green
530a67c280 root: Add chissg as maintainer. (#14235) 2019-12-19 17:27:35 -06:00
Adam J. Stewart
01edc28fde Add py-scipy 1.4.1 (#14230) 2019-12-19 14:33:20 -06:00
Adam J. Stewart
ae52f41448 dmd: setup dependent build environment (#14198)
* dmd: setup dependent build environment

* Fix call signature of setup_dependent_build_environment
2019-12-19 12:47:04 -06:00
Hadrien G
5940ec0d74 Remove python2-ism in root package (#14223) 2019-12-19 12:45:09 -06:00
Todd Gamblin
af249d3cf6 package_sanity: add a test to enforce no nonexisting dependencies in builtin
We shouldn't allow packages to have missing dependencies in the mainline.

- [x] Add a test to enforce this.
2019-12-18 21:10:31 -08:00
Todd Gamblin
531f370e0d possible_dependencies() now reports missing dependencies
- Add an optional argument so that `possible_dependencies()` will report
  missing dependencies.
- Add a test to ensure it works.
- Ignore missing dependencies in `possible_dependencies()` by default.
2019-12-18 21:10:31 -08:00
Todd Gamblin
81b147cc0a package: add spack.package.possible_dependencies method
- this version allows getting possible dependencies of multiple packages
  or specs at once.

- New method handles calling `PackageBase.possible_dependencies` multiple
  times and passing `visited` dict around.
2019-12-18 21:10:31 -08:00
Todd Gamblin
a3799b2c7b performance: speed up spack find in environments
`Environment.added_specs()` has a loop around calls to
`Package.installed()`, which can result in repeated DB queries.  Optimize
this with a read transaction in `Environment`.
2019-12-18 16:07:28 -08:00
Todd Gamblin
0e9c8d236c performance: spack spec should use a read transacction with -I
`spack spec -I` queries the database for installation status and should
use a read transaction around calls to `Spec.tree()`.
2019-12-18 16:07:28 -08:00
Todd Gamblin
f73cdac731 concretization: improve performance by avoiding database locks
Checks for deprecated specs were repeatedly taking out read locks on the
database, which can be very slow.

- [x] put a read transaction around the deprecation check
2019-12-18 16:07:28 -08:00
Todd Gamblin
33335c9d0a performance: memoize spack.architecture.get_platform()
`get_platform()` is pretty expensive and can be called many times in a
spack invocation.

- [x] memoize `get_platform()`
2019-12-18 16:07:28 -08:00
t-karatsu
92c2c47f72 aspell: Rename 'darwin.patch' and apply it to all targets. (#14206) 2019-12-18 17:10:05 -06:00
Greg Sjaardema
8da6fcf324 NETCDF-C: Add latest release 4.7.3 (#14214)
Added checksum for latest NetCDF release 4.7.3
2019-12-18 17:09:50 -06:00
Greg Becker
67603d71bc Add dependencies for hpcrypt (#8067)
* Add dependencies for hpcrypt

* address review comments

* flake

* license-fix

* fix checksums

* Update py-hvace homepage

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* update py-hvac url

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-18 17:09:26 -06:00
t-karatsu
135cf4835f amrex: Define module directry when compiling with Fujitsu compiler. (#14124) 2019-12-18 13:47:21 -06:00
Michael Kuhn
52894f5c71 Fix pkgconfig dependencies (#14175)
pkgconfig is the virtual provider, pkg-config is an implementation.
2019-12-18 13:46:45 -06:00
Greg Sjaardema
5052ce803d PNETCDF: Update to include latest release 1.12.1 (#14213)
Added checksum for recent 1.12.1 release.
2019-12-18 13:45:19 -06:00
Greg Sjaardema
99a19596c4 SEACAS: Update to include new versions (#14212)
Added checksum and tag name for last two SEACAS releases.
2019-12-18 13:45:03 -06:00
Todd Gamblin
52ebc19b4e bugfix: don't fail if checking for "real" compiler version
doesn't understand a custom, user-defined compiler version.  However, if
the compiler's version check fails, you can't build anything with the
custom compiler.

- [x] Be more lenient: fall back to the custom compiler version and use
  it verbatim if the version check fails.
2019-12-18 11:37:59 -08:00
Todd Gamblin
4eb54b6358 bugfix: pgcc -V returns 2 on power machines
`pgcc -V` was failing on power machines because it returns 2 (despite
correctly printing version information).  On x86_64 machines the same
command returns 0 and doesn't cause an error.

- [x] Ignore return value of 2 for pgcc when doign a version check
2019-12-18 11:37:59 -08:00
Adam J. Stewart
fa5e8aa876 wireshark: remove non-existing dependencies (#14209) 2019-12-18 12:55:15 -06:00
Adam J. Stewart
09b17ea147 py-scikit-optimize: fix test dependency (#14210) 2019-12-18 12:47:35 -06:00
Marc Mengel
0607579fd3 New package: py-zc-lockfile (#13586)
* package py-zc-lockfile

* package py-zc-lockfile

* autopep8, docutils cleanup

* Update var/spack/repos/builtin/packages/py-zc-lockfile/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-zc-lockfile/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* dependency at wrong level

* license bits

* Remove py-zc-buildout dependency
2019-12-18 12:17:39 -06:00
darmac
201a62d957 add new package : filebench (#14158)
* add new package : filebench

* remove alpha version and duplicated autoheader cmd

* refine automake cmd in sh()

* refine filebench url as a stable tarball link
2019-12-18 11:30:10 -06:00
darmac
5a1b6e1cfc add new package : hama (#14159)
* add new package : hama

* mv hama/hama/package.py to hama/package.py
2019-12-18 11:29:48 -06:00
darmac
6e12c49c28 Hbase (#14161)
* add new package : hbase

* add hbase description

* refine hbase version and depends
2019-12-18 11:29:30 -06:00
Chris Green
ae3eac0b19 root: Rationalize and improve version, variant and ROOT option handling. (#14203)
* root: Rationalize and improve version, variant and ROOT option handling.

* Completely re-vamp CMake option handling for readability and maintainability:
  * Three categories of option: control, builtin and feature, alphabetically sorted.
  * Each option is described as a list: an option name followed by an optional value which is either Boolean or a string representing the name of a variant. If the value is omitted, it defaults to the option name.
  * New functions `_process_opts()` and `_process_opt()` (nested) to turn all supplied option/value specifications into CMake arguments.
  * Remove overly-terse per-option comments in favor of (much) more comprehensive notes in README.md.
* Variants and conflicts:
  * Remove `test` variant in favor of pegging ROOT `testing` option to the value of `self.run_tests` since the install is unaffected, per ROOT developer.
  * Remove commented-out and never-functional variants: `asimage`, `avahi`, `kerberos`, `ldap`, `libcxx`, `odbc`, `oracle`, `pythia8`, `xinetd`.
  * New variant `vmc` (default `OFF`) to control the Virtual Monte Carlo interface.
  * Conflict: `+opengl` is incompatible with `~x`.
  * Conflict: `http` is now an unconditional conflict due to dependency issues (see README.md).
* Remove commented-out and non-existent dependencies `avahi`, `kerberos`, `ldap`, `libcxx`, `odbc`, `oracle`, `pythia`, `veccore` (per #13949).
* New and changed options:
  * Option `pch` was inadvertently set to `OFF` due to its dependence on a nonexistent variant `pch`. As it happens its value is ignored in the ROOT configuration handling, so there was no deleterious effect. It has been fixed to `ON` to better reflect actual behavior pending enablement of tuntime C++ modules.
* Add new versions 6.18.0{0,2,4}:
  * Require CMake 3.9 for 6.18.00+.
  * Add conflicts for variants `qt4` and `table` representing ROOT build options for which support was discontinued. Remove redundant conflict on \@master.
  * C++ standard is now specified with `-DCMAKE_CXX_STANDARD=X` rather than `-Dcxx=X`.
* Remove old version 5.34.38 (wrong build system).

See README.md for more details of option-related changes.

* Flake8

* `rpath` option is a control option rather than a feature.
2019-12-18 11:14:47 -06:00
Jimmy Tang
3511245ca4 Add abseil-cpp package (#14208) 2019-12-18 09:33:44 -06:00
Hadrien G
9583bde739 Add new DD4hep release and some forgotten build requirements (#14195)
* Add new DD4hep release and some forgotten build requirements

* PR review suggestions

Use master naming convention for development branch, and put versions in decreasing order.
2019-12-18 09:32:23 -06:00
Sinan
a24b973fa4 package/gdal add v2.4.3 (#14204) 2019-12-17 21:57:39 -06:00
Nathan Pinnow
60a22f1a7a Update and Fix ROSE Package (#14186)
* rose: Update boost dependency for rose

* rose: Updated rose to version 0.9.12.45

* rose: Updated jdk dependency

* rose: Updated rose to version 0.9.13.0

* rose: Fixed formatting

* rose: Added maintainer and switch dependency to java@8
2019-12-17 18:18:24 -06:00
Axel Huebl
5db646d768 openPMD-api: 0.10.2 (#14201)
Add the latest release of openPMD-api, v0.10.2
2019-12-17 18:16:26 -06:00
darmac
07f522bed6 add new package : openresty (#14169)
* add new package : openresty

* remove rc version
2019-12-17 14:30:19 -06:00
darmac
6a0d15a5c9 add new package : nicstat (#14173)
* add new package : nicstat

* refine nicstat edit operation

* refine CMODEL regex expression
2019-12-17 14:29:56 -06:00
Brian Van Essen
dc69256a59 Added package for Half C++ header-only library. (#14189)
* Added package for Half C++ header-only library.

Fixed an checksum for Hydrogen 1.3.2.  Cleaned up the Clara package to
not create an empty bin directory.

* Fixed flake8

* Added maintainer
2019-12-17 14:29:31 -06:00
darmac
a52df46e2c add new package : haproxy (#14160)
* add new package : haproxy

* add url_for_version() and refine haproxy build code
2019-12-17 12:50:10 -06:00
darmac
cd8be44f62 add new package : cosbench (#14171)
* add new package : cosbench

* add cosbench depends and remove unstable version

* Update var/spack/repos/builtin/packages/cosbench/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/cosbench/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-17 12:48:27 -06:00
Sajid Ali
f657f73e94 tf verbosity to better enable debugging (#14177)
* tf verbosity

* Add more debug flags

	modified:   var/spack/repos/builtin/packages/py-tensorflow/package.py

* Fix later

* More debug/verbose options.

	modified:   var/spack/repos/builtin/packages/py-tensorflow/package.py
2019-12-17 12:46:34 -06:00
Shintaro Iwasaki
1a41380649 sollve: add a version 1.0a2 (#14188) 2019-12-17 12:38:32 -06:00
Yuanqi Wang
8bda848cb9 LAMMPS: Fix USER-REAXC package variant (#14192) 2019-12-17 12:35:06 -06:00
Adam J. Stewart
18c2029fef Fix argparse rST parsing of help messages (#14014)
Thanks!
2019-12-17 10:23:22 -08:00
Adam J. Stewart
189eb5b883 Add py-scipy 1.4.0 (#14193) 2019-12-17 10:00:03 -06:00
t-karatsu
d831db37ca adios2: Fix use of builtin __clear_cache (#14123) 2019-12-17 08:08:22 -05:00
Massimiliano Culpo
5eca4f1470 microarchitectures: readable names for AArch64 vendors (#13825)
Vendors for ARM come out of `/proc/cpuinfo` as hex numbers instead of readable strings.

- Add support for associating vendor names with the hex numbers.
- Also move these mappings from Python code to `microarchitectures.json`
- Move darwin feature name mappings to `microarchitectures.json` as well
2019-12-17 00:47:50 -08:00
Todd Gamblin
a4ff92e42d mrnet: remove nonexisting cti dependency (#14178)
MRNet had an optional dependency on `cti`, which doesn't exist.  Remove
it from the repo, at least until someone adds `cti` back.
2019-12-16 21:03:38 -06:00
Massimiliano Culpo
9ceec7e219 Harden shell detection when procfs is available (#13950) 2019-12-16 14:51:58 -08:00
Hadrien G
e366d5b559 New ACTS version (#14180) 2019-12-16 10:25:37 -06:00
darmac
9ece934084 add new package : py-s3cmd (#14166)
* add new package : py-s3cmd

* add some depends and move depends behind the version
2019-12-16 10:20:15 -06:00
Massimiliano Culpo
f80491826b Travis exits at the first failing test, pin codecov at v4.5.4 (#14179)
Before this commit we used to run the entire unit test suite
in the presence of a failure. Since we currently rely a lot
on the state of the filesystem etc. the end report was most
of the time showing spurious failures that were a consequence
of the first failing test.

This PR makes unit tests exit at the first failing test

Also, pin codecov at v4.5.4 (last one supporting Python 2.6)
2019-12-16 10:56:54 +01:00
Greg Becker
9f1d728646 match bootstrapped compiler to architecture (#14059) 2019-12-14 16:42:46 -08:00
Peter Scheibel
60580f5871 package hash: gracefully handle @when with non-string args (#14153)
* when constructing package hash, default to including a method in the content hash if we can't determine whether it would be included by examining the AST
* add a test for updated content-hash calculations
* refactor content hash tests to eliminate repeated lines
2019-12-14 14:31:39 -08:00
Mark W. Krentel
410bce91d4 hpctoolkit: update git branch for version 'gpu' (#14155) 2019-12-14 12:37:04 -06:00
Brian Van Essen
34128ca70d Updated Hydrogen version to 1.3.2 (#14156) 2019-12-14 12:36:33 -06:00
darmac
5e9fb6b309 add new package : memcached (#14162) 2019-12-14 12:28:51 -06:00
darmac
986df8c233 add new package : jstorm (#14163) 2019-12-14 12:27:39 -06:00
darmac
0f0e2c4397 add new package : logstash (#14164) 2019-12-14 12:26:43 -06:00
darmac
72390ecd62 add new package : pig (#14165) 2019-12-14 12:26:14 -06:00
darmac
43712b4982 add new package : rabbitmq (#14167) 2019-12-14 12:21:09 -06:00
darmac
2f4521d418 add new package : zookeeper (#14170) 2019-12-14 12:19:40 -06:00
darmac
f40520c6bf add new package : bind9 (#14172) 2019-12-14 12:16:39 -06:00
darmac
33028c8955 add new package : rt-tests (#14174) 2019-12-14 12:12:01 -06:00
Andras Wacha
f757b6f4e5 Patch: explicitly use xbitmaps include dir in the automake package (#14128)
* Patch: explicitly use xbitmaps include dir in the automake package

* Added dependencies required for autoreconf: libtool, autoconf, automake, m4
2019-12-14 10:54:27 -06:00
darmac
7e668b1153 add new package : cassandra (#14144)
* add new package : cassandra

* make stable version as a preferred one
2019-12-13 22:21:18 -06:00
Adam J. Stewart
43e9fe95ea Add latest version of jq (#14134) 2019-12-13 15:44:09 -06:00
Matthieu Dorier
f589f69a6c FIX: Making berkeley-db package fetch from correct links (#14147)
* making berkeley-db package fetch from oracle website

* removed blank space

* making flake8 happy

* fixing typos and order of versions
2019-12-13 15:19:59 -06:00
Dan Lipsa
0167ceb104 Add shared option to ParaView. (#14131)
* Add shared option to ParaView.

* Use append for one attribute
2019-12-13 15:19:31 -06:00
Adam J. Stewart
83baf35246 Add new aws-parallelcluster package (#14139) 2019-12-13 12:55:15 -06:00
Adam J. Stewart
268914e7a2 Add latest version of py-tabulate (#14138) 2019-12-13 12:54:59 -06:00
Adam J. Stewart
988b377382 Add latest version of py-ipaddress (#14137) 2019-12-13 12:54:42 -06:00
Adam J. Stewart
da501564cb Add latest version of py-botocore (#14136) 2019-12-13 12:54:23 -06:00
Adam J. Stewart
5db615feca Add latest version of py-boto3 (#14135) 2019-12-13 12:54:05 -06:00
Adam J. Stewart
2e19a9343b Add latest version of oniguruma (#14133) 2019-12-13 12:53:44 -06:00
Seth R. Johnson
c659408368 Update CMake to version 3.16 (#14152) 2019-12-13 12:53:19 -06:00
noguchi-k
3e5c926a95 gmodel: fix error (#14140) 2019-12-13 12:53:03 -06:00
darmac
481a920fe8 add new package : activemq (#14142) 2019-12-13 12:51:59 -06:00
darmac
3344bb0a96 add new package : alluxio (#14143) 2019-12-13 12:51:30 -06:00
Scott Wittenburg
2520806df2 docker: add file, adjust locale, and use python3 for ubuntu (#13508)
* docker: add missing module to ubuntu images
* docker: fix issue with missing locale
* docker: one package per line + rm python2 support
* docker: ubuntu image also needs 'file' for buildcache creation
2019-12-13 10:22:20 -08:00
Zack Galbreath
0f5724e908 Split out CDash options to a separate help document (#13704)
Prevent `spack help install` from getting too cluttered with CDash-specific documentation.
2019-12-13 10:15:22 -08:00
Peter Josef Scheibel
8c2305e867 Patch fetching: remove unnecessary argument 2019-12-13 08:38:50 +01:00
Peter Josef Scheibel
8199f22e7c Mirrors: skip attempts to fetch BundlePackages
BundlePackages use a noop fetch strategy. The mirror logic was assuming
that the fetcher had a resource to cach after performing a fetch. This adds
a special check to skip caching if the stage is associated with a
BundleFetchStrategy. Note that this should allow caching resources
associated with BundlePackages.
2019-12-13 08:38:50 +01:00
Peter Josef Scheibel
b62ba7609d Mirrors: avoid re-downloading patches
When updating a mirror, Spack was re-retrieving all patches (since the
fetch logic for patches is separate). This updates the patch logic to
allow the mirror logic to avoid this.
2019-12-13 08:38:50 +01:00
Peter Josef Scheibel
754dd6eb1f Mirrors: perform checksum of fetched sources
Since cache_mirror does the fetch itself, it also needs to do the
checksum itself if it wants to verify that the source stored in the
mirror is valid. Note that this isn't strictly required because fetching
(including from mirrors) always separately verifies the checksum.
2019-12-13 08:38:50 +01:00
Peter Josef Scheibel
b2cc50aa6a Mirrors: fix cosmetic symlink targets
The targets for the cosmetic paths in mirrrors were being calculated
incorrectly as of fb3a3ba: the symlinks used relative paths as targets,
and the relative path was computed relative to the wrong directory.
2019-12-13 08:38:50 +01:00
Peter Josef Scheibel
b64f458102 Allow repeated invocations of 'mirror create'
When creating a cosmetic symlink for a resource in a mirror, remove
it if it already exists. The symlink is removed in case the logic to
create the symlink has changed.
2019-12-13 08:38:50 +01:00
darmac
03203a86b4 fix libev url (#14066)
* fix libev url

* remove list_url in libev
2019-12-12 22:58:33 -06:00
Sinan
0d7b9de3be compile python with sqlite loadable extensions (#14132) 2019-12-12 22:58:16 -06:00
t-karatsu
ddfca1b2f2 cmake: Fix checksum of 4075.patch (#14125) 2019-12-12 13:57:23 -05:00
iarspider
d98b433a3c Fix py-jupyter-client version ranges (#14126) 2019-12-12 11:31:47 -06:00
Justin S
c2f45fb4da charmpp: fix build failing from broken hardlink (#13922)
* charmpp: fix build failing from broken hardlink

* charmpp: use setup_dependent_build_environment
2019-12-11 20:20:05 -06:00
Glenn Johnson
fec3a852c7 Fix replacement of embedded 'gcc' in augustus (#14116)
PR #13975 added makefile filtering to replace gcc/g++ with the spack
compiler. This conflicts with other filtering that is done in the package to
add paths for dependencies. The text of the dependency paths might
have 'gcc' in the path name, depending on the install_path_scheme, and
that was being replaced by the new compiler filters. That would mangle
the path to the dependecy resulting in a failed build.

This PR moves the compiler filters to be before the other filters to
make sure that the compiler is set before the dependency paths.
2019-12-11 20:19:27 -06:00
iarspider
695c09a8b7 Add missing dependency on setuptools to py-subprocess32 (#14074)
* Add missing dependency on setuptools to py-subprocess32

* Update package.py

* Update var/spack/repos/builtin/packages/py-subprocess32/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py
2019-12-11 20:18:39 -06:00
Brian Van Essen
53f73e280a Bugfix for bad hydrogen tags (#14119) 2019-12-11 20:17:10 -06:00
Adam J. Stewart
1f9d37c346 TensorFlow: must specify CUDA compute capabilities (#14118)
* TensorFlow: must specify CUDA compute capabilities

* Correctly restrict cuda_arch version ranges
2019-12-11 20:16:52 -06:00
Adam J. Stewart
7ec1917d9b Add try-except for Python installation (#14122) 2019-12-11 20:16:33 -06:00
Adam J. Stewart
47615566ea Fix JDK 8 download URLs (#14120) 2019-12-11 20:16:16 -06:00
iarspider
aac45154fd Fix py-ppft source extension (#14077)
* Fix py-ppft source extension

* PEP-8 fix

* Update package.py

* Apply suggestions from code review

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-11 14:05:14 -06:00
iarspider
d07e988fbc Fix py-pox build recipe (#14078)
* Fix py-pox build recipe

* PEP-8 fix

* Update package.py

* Apply suggestions from code review

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-11 14:04:50 -06:00
iarspider
a254f7011e Fix py-notebook for Python2 (#14079)
* Fix py-notebook for Python2

* PEP-8 fix

* Update package.py

* Update package.py

* Syntax fix

* Update var/spack/repos/builtin/packages/py-notebook/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-11 14:04:33 -06:00
iarspider
34adebc7cf Fix py-hypothesis (#14084)
* Fix py-hypothesis

* Update package.py

* Update package.py

* Update package.py
2019-12-11 14:04:18 -06:00
Dan Lipsa
6f7a58b142 Fix constexpr for llvm 9.0 (#14095) 2019-12-11 14:03:57 -06:00
Adam J. Stewart
69a91b5b6b Add grass 7.8.2 (#14115) 2019-12-11 14:00:38 -06:00
Brian Van Essen
ee0b9bfa5b Added new versions of hydrogen (#14103) 2019-12-11 12:23:25 -06:00
Michael Kuhn
927f496306 doxygen: Fix libiconv checks (#14106)
PR #10589 introduced a libiconv dependency to doxygen. This causes
problems on Linux systems, since the iconv symbols are included in libc,
which causes CMake to use the external header but not the external
library. Work around this by always using the external libiconv.
2019-12-11 12:22:59 -06:00
Glenn Johnson
f2979da2af Build xed CLI for the intel-xed package (#14114)
The xed CLI is handy, and can be gotten by building the examples in the
intel-xed package. This PR builds the examples and installs the xed CLI.
It would also be possible to install more of the example binaries if
someone thinks they are useful.
2019-12-11 12:13:27 -06:00
Mark Olesen
77482e102a openfoam relocated to https://develop.openfoam.com/Development/openfoam.git (#14101) 2019-12-11 12:12:30 -06:00
noguchi-k
b0a7c8487d diamond: fix narrowing error. (#14064)
* diamond: fix narrowing error

* diamond: fix patch

* diamond: add link to the patch source
2019-12-11 12:07:21 -06:00
iarspider
d4326038b9 Fix py-pkgconfig recipe (#14081)
* Fix py-pkgconfig recipe

* Update package.py

* Proper fix for py-pkgconfig
2019-12-11 12:06:18 -06:00
iarspider
bb3bae4bae Fix py-pathos source file extension (#14080)
* Fix py-pathos source file extension

* PEP-8 fix

* Add version 0.2.3 to spack

* Update package.py
2019-12-11 12:04:45 -06:00
iarspider
ec3d979899 Fix py-llvmlite (#14083)
* Fix py-llvmlite

* Update package.py

* Add llvmlite 0.29

* Update package.py
2019-12-11 12:03:48 -06:00
iarspider
5c2afd0535 Fix py-dill source archive extension (#14085)
* Fix py-dill source archive extension

* Add py-dill 0.2.7, remove extra str()

* Update package.py

* Update package.py

* Update package.py
2019-12-11 12:03:28 -06:00
Howard Pritchard
e7a03d07b6 llvm: fix for building llvm using Cray PE (#12734)
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2019-12-11 11:51:44 -06:00
iarspider
3cd6ca02d2 Fix json-c package (#14087)
* Fix json-c package

* Fix PEP-8

* Update package.py

* Update package.py
2019-12-10 17:34:50 -06:00
iarspider
ec060f3d9c Fix libgeotiff dependency of gdal (#14089)
* Fix libgeotiff dependency of gdal

* Update package.py

* Fix typo

* Update package.py
2019-12-10 17:34:35 -06:00
Justin S
2c31776007 openmolcas: new package at 19.11 (#14099)
* openmolcas: new package at 19.11

* openmolcas: fill description

* openmolcas: rewrite using CMakePackage

* openmolcas: add py-six dep

* openmolcas: use setup_build_environment, setup_run_environment

* openmolcas: remove redundant cmake dep

* openmolcas: explicitly cast Executable to str
2019-12-10 17:33:52 -06:00
Greg Becker
917224cb3c pytest: add __init__ files for all test subdirs (#13889)
* pytest: add __init__ files for all test subdirs

* add licenses to empty files

* Fix Sphinx warning message about comment within docstring

* Further fixes to Sphinx docstring
2019-12-10 15:19:09 -06:00
iarspider
5b3b522861 Alternative locations for tclConfig and tkConfig (#14071)
* Alternative locations for tclConfig and tkConfig

* Fix PEP-8
2019-12-10 15:18:19 -06:00
Eric Berquist
33f603734d Update tmux to 3.0a (#14096)
* Add tmux@2.9 and tmux@3.0a

* Fix checksums
2019-12-10 15:06:21 -06:00
Massimiliano Culpo
59d222c172 Better error message when setting unknown variants during concretization (#13128)
fixes #13124
2019-12-10 11:21:45 -08:00
Christoph Junghans
34f0195de8 gromacs-2018.8: fix checksum (#14069) 2019-12-10 12:33:41 -06:00
iarspider
fb6d29adfa ROOT: +http variant doesn't require any external dependency (#14072) 2019-12-10 12:29:11 -06:00
iarspider
f96216cf40 Fix py-pyasn1 version for py-pyasn1-modules (#14076) 2019-12-10 12:26:16 -06:00
iarspider
122264609e Fix for DD4Hep build: can't find boost (#14091) 2019-12-10 11:58:52 -06:00
iarspider
dd67868ef6 More variants for cairo (#14092) 2019-12-10 11:58:37 -06:00
Simo Tuomisto
9e8204d075 openfoam-org: Adding openfoam-org versions 6 and 7. (#12859)
This commit adds openfoam-org versions 6 and 7. It also adding new variant for metis and fixes openfoam-org's old environment modification functions.
2019-12-10 09:42:01 -06:00
Mark W. Krentel
c627e5a6fc intel-tbb: fix and cleanup patch version ranges (#14053)
Recent commit e9ee9eaf (#13989) fixed testing version ranges inside
patch when clauses.  Previously, it was necessary to write all revs
individually for packages with multiple length version numbers (2019
and 2019.1).

This fixes the build for the old 2017.* versions.
2019-12-09 17:11:47 -06:00
Omar Padron
0592c58030 Follow up/11117 fixes and testing (#13607)
* fix docstring in generate_package_index() refering to "public" keys as "signing" keys

* use explicit kwargs in push_to_url()

* simplify url_util.parse() per tgamblin's suggestion

* replace standardize_header_names() with the much simpler get_header()

* add some basic tests

* update s3_fetch tests

* update S3 list code to strip leading slashes from prefix

* correct minor warning regression introduced in #11117

* add more tests

* flake8 fixes

* add capsys fixture to mirror_crud test

* add get_header() tests

* use get_header() in more places

* incorporate review comments
2019-12-09 17:23:33 -05:00
Greg Becker
da9a562182 environments: allow 'add' command to add virtuals (#13787)
This PR allows virtual packages to be added to the specs list using
the add command.

Virtual packages are already allowed in named lists in spack
environments/stacks, and they are already allowed in the specs list
when added using the yaml directly.
2019-12-09 12:23:03 -08:00
Adam J. Stewart
23faffa2d0 TensorFlow: don't override HOME env var (#14054) 2019-12-09 11:22:57 -06:00
Matt Larsen
919a5421b7 fix incorrect gpu arch map for vtk-m package (#14057) 2019-12-09 11:18:51 -06:00
Andras Wacha
b33b8a3e29 Apply URLFetchStrategy to ftp:// and ftps:// url schemes (#13939)
* Apply URLFetchStrategy to ftp:// and ftps:// url schemes

* Corrected trailing whitespace error
2019-12-09 11:18:08 -06:00
George Hartzell
1d06949306 Tuneup docs re setting up sphinx for building docs (#14005)
I have, more than once, tried to install the list of things that need
to build the docs, only to discover that the list doesn't use Spack's
package names.  I'm tired of facepalming....

While I was there I touched up the prose about activating the new
Python packages; activating a python package doesn't add anything to
your PYTHONPATH, it links things into a directory that's *already* on
your PYTHONPATH.  Note that this all presupposes that you're using
that same python....
2019-12-08 16:22:25 -06:00
Adam J. Stewart
aa8d5d2e8c cbtf-krell: fix missing dependencies (#14021) 2019-12-08 15:51:04 -06:00
Adam J. Stewart
2266aab5c5 Add new r-condop package (#14050) 2019-12-08 09:29:51 -06:00
Adam J. Stewart
c72568d01b Add new r-earth package (#14049) 2019-12-08 09:06:53 -06:00
Adam J. Stewart
bf9661f18a Add new r-plotmo package (#14048) 2019-12-08 09:06:37 -06:00
Adam J. Stewart
0c1599403d Add new r-teachingdemos package (#14047) 2019-12-08 09:06:20 -06:00
Adam J. Stewart
cb258daf88 Add new r-graphlayouts package (#14046) 2019-12-08 09:06:04 -06:00
Adam J. Stewart
4593b7b693 Add new r-tidygraph package (#14045) 2019-12-08 09:05:46 -06:00
Adam J. Stewart
3547776921 py-torch: comment out non-existing deps (#14044) 2019-12-08 09:05:21 -06:00
Adam J. Stewart
aca67581e8 Add new py-requests-mock package (#14043) 2019-12-08 09:05:04 -06:00
Adam J. Stewart
99d2bcf64e py-luigi: fix test dependencies (#14042) 2019-12-08 09:04:45 -06:00
Christoph Junghans
16a61d1422 elpa: port to microarch (#13655)
* elpa: port to microarch

* flake8

* Update package.py

* Update var/spack/repos/builtin/packages/elpa/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-08 09:03:59 -06:00
Adam J. Stewart
4e24c4ca5f Add new py-pytest-mypy package (#14041) 2019-12-08 00:10:46 -06:00
Adam J. Stewart
4fb03f7222 Add new py-sphinxcontrib-issuetracker package (#14040) 2019-12-08 00:10:32 -06:00
Adam J. Stewart
8d21e39f00 py-python-htmlgen -> py-htmlgen (#14039) 2019-12-08 00:10:17 -06:00
Adam J. Stewart
fdc3176920 Add new py-asserts package (#14038) 2019-12-08 00:10:02 -06:00
Adam J. Stewart
4f7c28e9cd py-brian2: py-nosetests -> py-nose (#14037) 2019-12-07 23:21:27 -06:00
Adam J. Stewart
ab250a2e3a polymake: fix dependency name (#14034) 2019-12-07 22:14:48 -06:00
Adam J. Stewart
0a1d2a45f4 Add py-jupyter package (#14035) 2019-12-07 22:14:34 -06:00
Adam J. Stewart
db1026cb62 Add new py-wxmplot package (#14036) 2019-12-07 22:14:20 -06:00
Adam J. Stewart
891ccbea3f Add new py-stestr package (#14029) 2019-12-07 15:40:08 -06:00
Adam J. Stewart
c1826d9d32 Add new py-testrepository package (#14030) 2019-12-07 15:39:53 -06:00
Adam J. Stewart
129e548ac0 Add new py-testresources package (#14031) 2019-12-07 15:39:38 -06:00
Adam J. Stewart
71ec2db3a9 Add new py-testscenarios package (#14032) 2019-12-07 15:39:24 -06:00
Adam J. Stewart
e77a557ca1 Add new py-testtools package (#14033) 2019-12-07 15:39:11 -06:00
Adam J. Stewart
cec03c2db4 Add new py-python-subunit package (#14028) 2019-12-07 15:38:56 -06:00
Quinn
1a662f428e Add New package feh and supporting packages (#14013)
* Adding libid3tag package for supporting feh

* Adding libexif package for supporting feh

* Adding imlib2 package for supporting feh

* Adding the feh package

* Rewording the cleanup function for libid3tag

* Fixing some flake8 issues for imlib2 and libid3tag

* Adding sources for the patches and swapping rm for os.remove

* Flake8 fixes

* swapping md5sums for sha256sums
2019-12-07 15:38:41 -06:00
Adam J. Stewart
a9f6caf863 Add new py-hacking package (#14027) 2019-12-07 14:04:06 -06:00
Adam J. Stewart
c88b95bd28 Add new py-fixtures package (#14026) 2019-12-07 14:03:41 -06:00
Adam J. Stewart
e78865b3ab Add new py-extras package (#14025) 2019-12-07 14:03:06 -06:00
Adam J. Stewart
b6a6f28482 Add py-tox package (#14024) 2019-12-07 14:02:39 -06:00
Adam J. Stewart
9ece63242a Add latest version of py-importlib-metadata (#14023) 2019-12-07 14:02:16 -06:00
Adam J. Stewart
31b45d40d9 flann: fix missing dependencies (#14022) 2019-12-07 14:01:39 -06:00
Christoph Junghans
969bc948b5 votca*: add v1.6_rc1 (#14017)
* votca*: add v1.6_rc1

* votca: prefer v1.5.1
2019-12-07 10:04:15 -06:00
Axel Huebl
15bb5da99f openPMD-api: 0.10.1 (#14018)
Add the latest release of openPMD-api.
2019-12-07 10:02:53 -06:00
Axel Huebl
d705e96a63 Spec Header Dirs: Only first include/ (#13991)
* CUDA HeaderList: Unit Test

* Spec Header Dirs: Only first include/

Avoid matching recurringly nested include paths that usually
refer to internally shipped libraries in packages.
Example in CUDA Toolkit, shipping a libc++ fork internally
with libcu++ since 10.2.89:
`<prefix>/include/cuda/some/more/details/include/` or
`<prefix>/include/cuda/std/detail/libcxx/include`

regex: non-greedy first match of include

Co-Authored-By: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* CUDA: Re-Enable 10.2.89 as Default
2019-12-06 23:47:03 -08:00
Mark W. Krentel
9d9737f765 ibm-java: add version 8.0.6.0 (#14003)
* ibm-java: add version 8.0.6.0

Add version 8.0.6.0 and remove 8.0.5.30.  IBM is fairly aggressive
about removing old versions, and 8.0.5.30 is no longer available from
their download site.

* Restore version 8.0.5.30, although it is no longer available for
download from IBM.
2019-12-06 18:11:24 -06:00
Francesco Di Natale
01d35a4f3b Packages/py-maestrowf (#14010)
* Addition of repository branches to maestrowf.

* Addition of 1.1.5dev pre-release.

* Correction of a merge conflict.

* Addition of Maestro release 1.1.5

* Addition of Maestro release 1.1.6 (removal of 1.1.5)

* Sets 1.1.6 to the preferred version.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Tweak to the url to point to latest.
2019-12-06 18:10:58 -06:00
Adam J. Stewart
66a169e2a5 Add py-parameterized package (#14016) 2019-12-06 18:09:00 -06:00
Adam J. Stewart
350a5422ed Update py-theano dependencies (#14015) 2019-12-06 18:08:34 -06:00
nicolas le goff
d173ec6a35 mesquite: fix build of the no mpi variant. (#14012)
* mesquite: fix build of the no mpi variant.

* mesquite: added the --without-mpi option to configure.
2019-12-06 18:08:13 -06:00
Tamara Dahlgren
842e9d9375 docs: Alphabetize create cmd template options (#13993)
* Bugfix: Display template options for create command.

* Alphabetize "spack create" template options for readability

* Revert template choices format; alphabetize list

* flake8 fix
2019-12-06 18:07:45 -06:00
Greg Becker
99c9365974 Bugfix: spack find -p fails in environment (#13972)
* force spack find -p to print abstract specs without prefixes
* hashes have the same issue; improve handling of find -L to match find -l
2019-12-06 12:29:57 -08:00
Teodor Nikolov
65a292fbbf [Package: HPX] Fix Apex and OTF2 support (#13982)
* Fix Apex and OTF2 support

- Comment out apex as a dependncy: it is bundled with HPX.
- Apply a patch to v1.3.0 to correctly build with APEX.
- Add otf2 as a dependency when APEX is enabled.

* Remove depends_on('apex')
2019-12-06 12:41:55 -06:00
t-karatsu
06042ec7ec augustus: Set compile commands for each compiler and Fix for using 'boost' on Spack (#13975)
* augustus: Set compile commands for each compiler and Fix for using 'boost' on Spack

* fix for flake8

* delete 'string' args

* Fix args of filter_file func

* Fix args of other filter_file func
2019-12-06 12:39:23 -06:00
Galen Shipman
5d523dd689 Add patch to fix issue building current llvm develop master on power9 (#13986)
* Add patch to fix issue building current llvm develop master on power9

* Conform to proper block commenting

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-06 12:38:58 -06:00
Tamara Dahlgren
dd26cc4004 Fastmath: Added required version (#13990)
* Fastmath: Added required version

* Changed the version to 'latest' (per balay).
2019-12-06 12:38:29 -06:00
Tamara Dahlgren
5e49b76dd7 Ceed: Added required version (#14006) 2019-12-06 12:38:00 -06:00
t-karatsu
246799d4ce sz: Change optimization flags for Fujitsu compiler (#14007) 2019-12-06 12:05:16 -06:00
Paul
67e45096c8 Specify self for internal setup method (#14008) 2019-12-06 12:04:57 -06:00
Brian Homerding
5e20bd86e4 Convert llvm Spackage to use the monorepo (#11392)
* [WIP] Convert llvm spackage to use the monorepo

* Correcting python dependencies

* Adding develop version for llvm monorepo

* Python 2.6 Fix

* Build Flang fork in a different root_cmakelists_dir

* Formatting Fix

* Including flang package changes

* Removing explicit llvm dependencies variants

* flake8 fix

* Updating patches and llvm+flang logic

* Updating env setup API

* Add top level git

* Conflicting flang variant with other variants
2019-12-06 12:01:30 -06:00
Seth R. Johnson
f069a3feda Add h5sh python package (#14001)
* Add h5sh package

* Fix requirements and update version
2019-12-06 11:58:59 -06:00
Tamara Dahlgren
b0f59484d3 docs: Minimal BundlePackage build system doc (#13992)
* Minimal BundlePackage build system doc

* Add link to new bundlepackage file

* Fixed link bug and added create command example
2019-12-06 07:26:59 -08:00
Mark W. Krentel
f84ad57fe7 hpcviewer: add version 2019.09 (#14004)
Add version 2019.09.  Adjust the iteration through versions to
eliminate the need for version_list.
2019-12-05 18:59:30 -06:00
Dominik Dold
c3eafde7bf Add new TensorFlow package (#13112)
* add tensorflow

Change-Id: Id778c68d148cc42f0b478a9d10a8f937cb54cdc6

* make bazel and tensorflow build

Change-Id: Iae9005e8f4dcc8f1ed36ea9337d2430aeebb291f

* fix flake8

Change-Id: Ib05529dd796eab4a8855a5d7775cc4efea8e479d

* 2nd flake8 attempt

Change-Id: I46224be3a374b2a65793048b0c5178ea64adbd78

* replace md5 sums with sha256

* add version 1.13.2

* bazel() -> bazel('build',...

* specify versions of bazel dependency

* build with CUDA

* add TODOs

* add more todo"s

* improve enum34 dependency

* py-future is a dependency as of v1.14

* Update var/spack/repos/builtin/packages/tensorflow/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/tensorflow/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/tensorflow/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/tensorflow/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* enable nccl, cuda by default

* explain patches

* add todo

* remove unnecessary copt_flag

* use join

* join argument must be an iterable

* split long line; use same opts for non-cuda build

* without opt flags, configure hangs

* introduce build phases; re-arrange

* undo mistake

* restore unset tmp_path

* as of v1.14, nccl_install_path is parsed correctly, hence change ...prefix.lib to ...prefix

* now, version 1.14 compiles successfully with cuda

* add version 2.1.0

* specify bazel dependency for version 2.1.0-rc0

* account for deprecated bazel opts for v2.1.0-rc0

* disable mkldnn contraction kernel

* Flake8 fixes

* md5 -> sha256

* Fix TF and TF-estimator version deps

* Don't just comment out patch

* Add myself as a maintainer

* Patch py-astor to support newer py-setuptools

* Add more versions and bazel version constraints

* Add a build phase

* Add note about configure interactivity

* dev-build -> build-env

* Disable iOS build

* Use correct optimization flags

* Add variants for all possible features

* nccl isn't always a dependency

* Specify correct dependency versions for each release

* Libs may not be in lib or lib64

* Add py-opt-einsum package

* Add newer version of py-protobuf

* Add newer version of py-wrapt

* Fix Python 2.6 syntax error

* Code review

* Set more env vars for older versions

* Add more env vars, fix bazel versions, add conflicts

* Fix config options

* Specify version that support --config args

* Add py-future dependency for Python 2

* Fix cuda config flag and compute capabilities

* Fix installation on macOS, add unit tests

* Override cuda variant default to True on non-macOS

* Rename tensorflow to py-tensorflow

* Has to extend something

* Fix os.symlink call

* convert cuda_arc values to capabilities

* restore nccl prefix path for v1.13.1

* Revert to v2

* Remove extraneous period

* Add new version of jdk/openjdk

* More stable cuda_arch formatting

* Fix bazel unit tests

* Fix symlinking

* Fix unit tests

* +gcp by default until build error figured out
2019-12-05 18:48:20 -06:00
Scott Wittenburg
a288449f0b cdash: fix reporting issue with python 3 2019-12-05 11:37:03 -07:00
Chuck Atkins
831133a4c3 paraview: Adjust python version constraints (#13999)
py-matplotlib: No constraint necessary for py3 but py2 has an upper bound
py-numpy: No constraint necessary for py3 but py2 has an upper bound
2019-12-05 12:06:47 -06:00
Paul
9a0b1b6aef Added go 1.13.5 and 1.12.14 (#13997) 2019-12-05 11:29:00 -06:00
Chuck Atkins
fcc9a668bf py-pillow: allow older versions to build with python 3.4 (#14000) 2019-12-05 11:27:33 -06:00
Christoph Junghans
2da2fc8bc5 eospac: fix url (#13998) 2019-12-05 09:30:35 -07:00
Alexander Knieps
dbdc6c4a68 New package: swipl (#13978)
* New package: swipl

* Removed boilerplate, added maintainer

* Fixed python 2 incompatibility

* Update var/spack/repos/builtin/packages/swipl/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* swipl: Added conflict with intel compiler
2019-12-05 09:51:38 -06:00
Peter Scheibel
e9ee9eaf50 patching: do strict version range checking (#13989)
* apply strict constraint checks for patches, otherwise Spack may incorrectly treat a version range constraint as satisfied when mixing x.y and x.y.z versions
* add mixed version checks to version comparison tests
2019-12-04 22:27:08 -08:00
Todd Gamblin
55ee2aecdf Merge tag 'v0.13.2' into develop
v0.13.2

This release contains major performance improvements for Spack environments, as well as some bugfixes and minor changes.

* allow missing modules if they are blacklisted (#13540)
* speed up environment activation (#13557)
* mirror path works for unknown versions (#13626)
* environments: don't try to modify run-env if a spec is not installed (#13589)
* use semicolons instead of newlines in module/python command (#13904)
* verify.py: os.path.exists exception handling (#13656)
* Document use of the maintainers field (#13479)
* bugfix with config caching (#13755)
* hwloc: added 'master' version pointing at the HEAD of the master branch (#13734)
* config option to allow gpg warning suppression (#13744)
* fix for relative symlinks when relocating binary packages (#13727)
* allow binary relocation of strings in relative binaries (#13724)
2019-12-04 22:04:36 -08:00
Adam J. Stewart
ad5d612925 Add py-matplotlib 3.1.2 (#13994) 2019-12-05 00:00:20 -06:00
Todd Gamblin
b3d6eb79f5 Merge branch 'releases/v0.13' into develop 2019-12-04 21:41:41 -08:00
Todd Gamblin
3fee65cb92 version bump: 0.13.2 2019-12-04 21:36:42 -08:00
Axel Huebl
ba156dfcd8 CUDA: Keep 10.1.243 As Preferred (#13983)
Keep CUDA 10.1.243 as the preferred version until the issue
of including implementation details of libcu++ is addressed.
2019-12-04 21:28:10 -06:00
Peter Scheibel
e5f04f9abc Bugfix: allow missing modules if they are blacklisted (#13540)
`spack module loads` and `spack module find` previously failed if any upstream modules were missing.  This prevented it from being used with upstreams (or, really, any spack instance) that blacklisted modules.

This PR makes module finding is now more lenient (especially for blacklisted modules).

- `spack module find` now does not report an error if the spec is blacklisted
  - instead, it prints a single warning if any modules will be omitted from the loads file
  - It comments the missing modules out of the loads file so the user can see what's missing
  - Debug messages are also printed so users can check this with `spack -d...`

- also added tests for new functionality
2019-12-04 19:17:40 -08:00
Adam J. Stewart
ba7ac53b75 Fix spack test when SPACK_ROOT isn't set (#13980) 2019-12-04 18:05:08 -06:00
Stephen Hudson
e0e9fb4462 Update libensemble to v0.6.0 (#13987) 2019-12-04 18:01:05 -06:00
Adam J. Stewart
10f4445309 Add latest version of py-scikit-learn (#13979) 2019-12-04 11:47:07 -06:00
Massimiliano Culpo
e9f027210f Fixed x86-64 optimization flags for clang (#13913)
* Fixed x86-64 optimization flags for clang
* Fixed expected results in unit tests

Before the flags used where the one for llc, the underlying compiler from LLVM IR to machine assembly. It turns out that the semantic of `-march`, `-mtune` and `-mcpu` changes from clang front-end to llc.

I found no definitive reference for the flags submitted in this PR, but I checked the assembly on a vectorizable function using Godbolt's web-site.
2019-12-04 09:11:34 -08:00
Tim Haines
728f5a76f3 Add Elfutils 0.178 (#13976)
* Add elfutils-0.178

* Disable debuginfod server

* Fix flake8
2019-12-04 07:50:44 -06:00
Tim Haines
bb33b6b8e6 Use correct range check for the version (#13977)
Update to #13893
2019-12-04 07:50:05 -06:00
Sheng Di
ba87a7f53a Release a new version v2.1.8.0 for SZ (#13974)
* Release a new version v2.1.8.0 for SZ

* add maintainer

* add parallel = False to avoid potential compile issue
2019-12-03 22:35:46 -06:00
Rob Latham
92ee0659e2 mpich: update build requirements (#13966)
To build from git, MPICH will need newer autoconf, automake, and libtool than
typically available on many systems.
2019-12-03 17:13:52 -06:00
Rob Latham
c7dbb4f103 argobots: consistently use 'master' (#13965)
Commit 71cd91e4 changed "latest from git" to 'master' from former
'develop'.  Build dependencies still pointed to @develop, though
2019-12-03 12:09:15 -06:00
Cameron Smith
5ddf5e2e7b new package: Simmetrix SimModSuite (#8730)
* package for Simmetrix SimModSuite

* simmodsuite: passes flake8

* simmetrix: add version, set cmake prefix path

A given install will either use the libs built on rhel7 or rhel6.
For now, I'm sticking with the non-spack install convention of
placing the libraries into sub-directories named according to their
build process (os + compiler).

* simmetrix: add older version

* simmetrix: set build env paths

easier to build pumi using CMAKE_PREFIX_PATH

* simmetrix: address review comments

* simmetrix: add new version and remove old one

* simmetrix: flake8 fixes

* simmodsuite: oslib var is in self

* simmodsuite: update version and checksum

* simodsuite: set LD_LIBRARY_PATH for cad kernels

* update license

* update setup_environment calls

* increase indentation for flake8

* python3.8 flake8 fixes

* use spack consistent naming

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* sha256 required, update versions and hashes
2019-12-03 12:07:27 -06:00
t-karatsu
111dc8f823 kaldi: Change process of version analysis when using Fujitsu compiler. (#13960) 2019-12-03 10:34:05 -06:00
asmaahassan90
fb52f1c7e2 fix_cantera_installation (#13962)
For a successful cantera installation, googletest has to be installed with gmock on, and sundials has to be of version less than 3.2
2019-12-03 10:33:27 -06:00
Phil Carns
88680febc9 bump libfabric to 1.9.0 (#13964) 2019-12-03 10:32:53 -06:00
Yuanqi Wang
a5d872f510 Update MrBayes to 3.2.7a and correct MPI variants (#13929)
* Update MrBayes and correct MPI variant

* Use tarballs and remove autotools dependencies

* MrBayes: remove ISA variants
2019-12-03 10:31:00 -06:00
Jannek Squar
7e2d01b238 Update package libgpg error (#13697)
* Added build dependency on gawk

* Use virtual depdendency

* Added patch to prepare libgpg-error for use with gawk@5

* Added reasoning with link for need for patch
2019-12-03 10:29:15 -06:00
Chris White
cb38725a88 Add missing metis include to superlu-dist (#13956)
* Add missing metis include to superlu-dist

* Fix PEP-8 line length

* Fix PEP-8 indent
2019-12-02 18:30:23 -06:00
Sinan
4f8a2eeca2 add more versions (#13957) 2019-12-02 18:30:08 -06:00
Massimiliano Culpo
bca59f8d83 Speedup environment activation (#13557)
* Add a transaction around repeated calls to `spec.prefix` in the activation process
* cache the computation of home in the python package to speed up setting deps
* ensure that module-scope variables are only set *once* per module
2019-12-02 14:05:02 -08:00
Hector Martinez-Seara
1b624b9d45 amber: Improved package.py and added version 18 (#13945)
* amber: Improved package.py and added version 18

- Added amber 18 with ambertools 19
- Added all available patches
- Added +update variant to use the self update
- Added +openmp variant to get openmp optomizations
- Added +x11 variant when possible
- Splitted amber 16 and 18 dependencies
- We now detect the copiler type and compile accordingly
- Added cray variant which is a bit special (untested)
- Improved detection of possible cuda versions
- All compilation optimizations +mpi +openmp +cuda are compatible
- Updated to use setup_build_environment(), setup_run_environment()

* dealii: Added 'threads' variant that controls the TBB dependency (#13931)

* dealii: Added 'threads' variant that controls the DEAL_II_WITH_THREADS cmake option and the dependency on Intel TBB

* Update var/spack/repos/builtin/packages/dealii/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* amber: Improved package.py and added version 18

- Added amber 18 with ambertools 19
- Added all available patches
- Added +update variant to use the self update
- Added +openmp variant to get openmp optomizations
- Added +x11 variant when possible
- Splitted amber 16 and 18 dependencies
- We now detect the copiler type and compile accordingly
- Added cray variant which is a bit special (untested)
- Improved detection of possible cuda versions
- All compilation optimizations +mpi +openmp +cuda are compatible
- Updated to use setup_build_environment(), setup_run_environment()

* amber: Adding missing flex and bison dependencies

* Removed cray variant; flex and bison now build only

* amber: Improved package.py and added version 18

- Added amber 18 with ambertools 19
- Added all available patches
- Added +update variant to use the self update
- Added +openmp variant to get openmp optomizations
- Added +x11 variant when possible
- Splitted amber 16 and 18 dependencies
- We now detect the copiler type and compile accordingly
- Added cray variant which is a bit special (untested)
- Improved detection of possible cuda versions
- All compilation optimizations +mpi +openmp +cuda are compatible
- Updated to use setup_build_environment(), setup_run_environment()

* amber: Adding missing flex and bison dependencies

* Removed cray variant; flex and bison now build only

* dealii: Fixed flake8 issues

* amber: corrected typo

* amber: Removed unused variant python
2019-12-02 16:01:14 -06:00
Jim Galarowicz
6d127e29de Fix conflict with respect to openssl and qt3 built for openspeedshop. (#13946)
* Fix conflict with respect to openssl and qt3 built for openspeedshop.

* Another fix because the first was incorrect.
2019-12-02 13:13:31 -06:00
Justin M Wozniak
543f37ea51 eq-r: Fix use of Executable.__call__() (#13952) 2019-12-02 13:13:05 -06:00
Adam J. Stewart
71eaffa46b Version bump: 1.13.1 (#13942) 2019-12-02 06:58:30 -08:00
Todd Gamblin
2dffbec486 git: add .gitattributes file (#13947)
Add a line to .gitattributes so that `git grep -p` shows function names
properly for `*.py` files.  Without this, the class name is shown instead
of the function for python files.

This also causes diff output to use proper functions as hunk headers in
`diff` output.

Here's an example with `git grep -p`.

Before:

    $ git grep -p spack_cc var/spack/repos/builtin/packages/athena
    var/spack/repos/builtin/packages/athena/package.py=class Athena(AutotoolsPackage):
    var/spack/repos/builtin/packages/athena/package.py:            env.set('CC', spack_cc)
    var/spack/repos/builtin/packages/athena/package.py:            env.set('LDR', spack_cc)

After:

    $ git grep -p spack_cc var/spack/repos/builtin/packages/athena
    var/spack/repos/builtin/packages/athena/package.py=    def setup_build_environment(self, env):
    var/spack/repos/builtin/packages/athena/package.py:            env.set('CC', spack_cc)
    var/spack/repos/builtin/packages/athena/package.py:            env.set('LDR', spack_cc)

Here's an example with `diff`.

Before:

    $ git show c5da94eb58
    [...]
    @@ -28,6 +29,7 @@ print(u'\\xc3')

             # make it executable
             fs.set_executable(script_name)
    +        filter_shebangs_in_directory('.', [script_name])

             # read the unicode back in and see whether things work
             script = ex.Executable('./%s' % script_name)

After:

    $ git show c5da94eb58
    [...]
    @@ -28,6 +29,7 @@ def test_read_unicode(tmpdir):

             # make it executable
             fs.set_executable(script_name)
    +        filter_shebangs_in_directory('.', [script_name])

             # read the unicode back in and see whether things work
             script = ex.Executable('./%s' % script_name)
2019-12-02 01:35:38 -08:00
Alexander Knieps
8e3ff9b39c dealii: Added 'threads' variant that controls the TBB dependency (#13931)
* dealii: Added 'threads' variant that controls the DEAL_II_WITH_THREADS cmake option and the dependency on Intel TBB

* Update var/spack/repos/builtin/packages/dealii/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-01 13:34:26 -06:00
Sergei Shudler
c7568c9146 Package/sensei: PR request for SENSEI (in situ analysis tool) recipe (#12973)
* Created an initial recipe for Sensei

* Cleanup syntax

* Small fixes for the Sensei recipe

* Cosmetic fixes to comply with PEP8

* More cosmetic fixes before PR

* Added more documentation before PR

* Fixed flake8 errors

* Fixes following PR review

* Fixes to pass Flake8 passes

* Some changes following PR review and support for SENSEI 3

* Update var/spack/repos/builtin/packages/sensei/package.py

Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>

* Fixed Flake8 errors
2019-12-01 11:30:14 -06:00
Benjamin Fovet
fdd7a0e236 Add VTK version 8.2.0 (#13941) 2019-11-30 16:32:19 -06:00
jwallior
daaeb412a4 New python packages (#9974)
* New package: add py-jellyfish

* New package: add py-us

* New package: add py-xlwt

* New package: add py-svgpathtools

* New package: add py-svgwrite

* Change checksums to sha256

* Fix Copyright year.

* Add missing dependencies.
2019-11-30 16:32:02 -06:00
Benjamin Fovet
1c8a62aa86 Add package opencascade (#13938)
* Add new package : opencascade

* Remove boilerplate comment

* Fix flake8 errors

* Explicitly disable 3rd parties
2019-11-30 15:08:52 -06:00
Toyohisa Kameyama
c850e80bea cbtf: add rpcsvc-proto and libtirpc dependency. (#13798) 2019-11-30 13:08:24 -06:00
iarspider
aec5874b94 Mark py-argparse dependency everywhere with ^python@:2.6 (#13928)
* Mark py-argparse dependency everywhere with ^python@:2.6

* Update package.py

* Update package.py
2019-11-30 13:07:14 -06:00
Chris Green
c5da94eb58 Armor test script against shebang character limit if appropriate. (#12447) 2019-11-30 13:00:08 -06:00
darmac
46617b6f12 add new package : lshw (#13933)
* add new package : lshw

* update lshw package

* remove build methord
2019-11-30 01:13:23 -06:00
iarspider
94c8bf0322 Update Geant4 version and recipe (#13840)
* Update Geant4 version and recipe

According to the Geant4 developers, Geant4 supports Qt5 since at least 10.00.

* Update to new API
2019-11-29 16:21:51 -06:00
Adam J. Stewart
ab98ef1765 Mass conversion of setup_(dependent_)?environment (#13924)
* Mass conversion of setup_(dependent_)?environment

* prefix -> self.prefix
2019-11-29 15:00:44 -06:00
Mark W. Krentel
92ca639905 intel-tbb: fix and update patches for latest versions (#13932)
Commit 78724357 added versions 2019.5 to 2019.8 but failed to update
the patches for these versions.

1. gcc_generic-pedantic patch -- include this up through 2019.5.  This
was fixed in the TBB source tree in 2019.6.

2. tbb_cmakeConfig patch -- this needs to be modified (different file)
for 2019.5 and later.

3. tbb_gcc_rtm_key patch -- replace this with filter_file.  This is
simpler and eliminates the need to update the patch whenever the
surrounding context changes.
2019-11-29 13:18:56 -06:00
darmac
0f464b8d9f add new package : pipework (#13934) 2019-11-29 12:19:13 -06:00
darmac
e865856c84 add new package : qperf (#13935) 2019-11-29 12:18:41 -06:00
Peter Scheibel
cacfc3a6e1 Handle external perl (#13903)
* dont add perl bin directory to PATH when setting up env (this is already handled by spack core in a way that omits system dirs); also consolidate repeated logic between build/run env setup.

* the bin/ dir of each dependency is already added to PATH in Spack core, so there is no need to do this in the Perl package
2019-11-29 12:30:40 +01:00
iarspider
4dca63f007 Loosen restriction on setuptools version of py-backports-shutil-get-terminal-size: the bug seems to be fixed at least in setuptools 41.0.0 (#13927) 2019-11-28 11:54:01 -06:00
Tyler Reddy
008fe37941 BLD: enforce C++11 std for boost + xl_r (#13829)
* BLD: enforce C++11 std for boost + xl_r

* the spack `cxxstd` variant is not sufficient to enforce
`-std=c++11` usage in boost compile lines when `xl_r` compiler
spec is in use; while it would be nice if this were fixed
in a boost config file somewhere, for now this patch
allows boost to build on POWER9 with
an %xl_r compiler spec if the user specifies i.e.,:

`spack install boost@1.70.0+mpi cxxstd=11 %xl_r@16.1.1.5`

* Update var/spack/repos/builtin/packages/boost/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-27 23:08:54 -06:00
Glenn Johnson
e974f48be0 Build R without recommended packages (#12015)
The documentation states that Spack builds R without the recommmened
packages, with Spack handling the build of those packages to satisfy
dependencies. From the docs:

> Spack explicitly adds the --without-recommended-packages flag to
> prevent the installation of these packages. Due to the way Spack
> handles package activation (symlinking packages to the R installation
> directory), pre-existing recommended packages will cause conflicts for
> already-existing files. We could either not include these recommended
> packages in Spack and require them to be installed through
> --with-recommended-packages, or we could not install them with R and
> let users choose the version of the package they want to install. We
> chose the latter.

However, this is not what Spack is actually doing. The
`--without-recommended` configure option is not passed to R and
therefore those packages are built. This prevents R extension activation
from working as files in the recommended packages installed with R will
block linking of file from the respective `r-` packages.

This PR adds the `--without-recommended` flag to the configure options
of the R package. This will then have the Spack R build match what is
documented.
2019-11-27 20:58:12 -06:00
Justin S
1b24dfb8ba Replace git-based Bioconductor R packages (#12005)
* Replace git-based Bioconductor R packages

The current collection of bioconductor packages tend to have scattered
dependencies and missing versions. This commit replaces git-based
packages with tool-generated Spack package recipes with correct
dependencies and descriptions in place.

* Fix some broken package names, add periods to title docstrings

* r-clue: new package at 0.3-57

* r-genomeinfodbdata: add 1.2.1

* r-gofuncr: new package at 1.4.0

* r-pfam-db: add 3.8.2

* Add missed package r-genelendatabase

* update r-goseq package

* update r-glimma package

* update r-rots package

* r-org-hs-eg-db: add 3.8.2

* r-vgam: fix incorrect R version

* r-rnaseqmap: new package at 2.42.0

* r-rhdf5lib: new package at 1.6.0

* r-scrime: new package at 1.3.5

* r-delayedmatrixstats: new package at 1.6.0

* r-hdf5array: new package at 1.12.1

* r-biocfilecache: new package at 1.8.0

* r-ctc: add new versions, dependencies

* r-genemeta: new package at 1.56.0

* r-scrime: fix flake8

* r-ensembldb: add missing dependencies

* Added missing dependencies to packages with certain DESCRIPTIONS

* r-mapplots: new package at 1.5.1

* r-beachmat: new package at 2.0.0

* r-beeswarm: new package at 0.2.3

* r-biocneighbors: new package at 1.2.0

* r-biocsingular: new package at 1.0.0

* r-ecp: new package at 3.1.1

* r-enrichplot: new package at 1.4.0

* r-europepmc: new package at 0.3

* r-ggbeeswarm: new package at 0.6.0

* r-ggplotify: new package at 0.0.3

* r-ggraph: new package at 1.0.2

* r-gridgraphics: new package at 0.4-1

* r-rcppannoy: new package at 0.0.12

* r-rcpphnsw: new package at 0.1.0

* r-rsvd: new package at 1.0.1

* r-scater: new package at 1.12.2

* r-singlecellexperiment: new package at 1.6.0

* r-tximport: new package at 1.12.3

* r-upsetr: new package at 1.4.0

* r-vioplot: new package at 0.3.2

* r-readr: add 1.3.1

* r-matrixstats: add 0.54.0

* r-ecp: flake8 fix

* r-biocmanager: new package at 1.30.4

* update bioconductor packages requiring BiocManager, new versions

* r-lambda-r: add 1.2.3

* r-vegan: add 2.5-5

* r-cner, r-rcppannoy, r-reportingtools, r-rsvd: add missing newlines at EOF

* r-chemometrics: flake8 fixes

* r-vgam: flake8 fixes

* CRAN packages: use cloud.r-project.org

* Use DESCRIPTION for R version constraints over bioconductor releases

* Update missed packages ABAData, acde, affydata

* Update remaining missed packages

* bio: Drop 'when' clause from first checksummed versions

* bio: improve package description generation logic

* r-genomeinfodbdata: use explicit sha256 sums

* r-pfam-db: update dependencies, add 3.10.0

* update r-org-hs-eg-db

* r-dirichletmultinomial: re-add gsl

* r-polyclip: new package at 1.10-0

* r-farver: new package at 1.1.0

* r-tweenr: new package at 1.0.1

* r-ggforce: new package at 0.3.1

* r-ggforce: remove redundant dep

* r-ggraph: add missing deps

* r-rcpphnsw: remove redundant depends_on

* r-reportingtools: re-add r-r-utils dep

* r-rhdf5: add gmake dep

* r-rhtslib: add system dependencies

* r-rsamtools: add gmake dep

* r-farver: remove redundant dep

* r-tweenr: remove redundant dep

* r-variantannotation: add gmake dep

* r-rgraphviz: add graphviz dep

* r-vsn: correct r-hexbin constraint

* r-scater: fix obsolete deps

* r-variantannotation: fix gmake dep type

* r-scater: tighten R version constraints

* r-rsamtools: fix gmake dep type

* r-rhtslib: fix gmake dep type

* r-rhtslib: use xz over lzma

* r-rhdf5: fix gmake dep type

* r-farver: replace with newer recipe for 2.0.1

* r-mzr: remove old dependency

* r-reportingtools: remove builtin dependency

* r-mzr: add gmake dep

* r-rhtslib: make system libraries link deps

* r-genomeinfodbdata: fix R version constraints

* r-geoquery: remove old deps from new versions

* r-genomicfeatures: tighten r-rmysql dep

* r-ensembldb: tighten r-annotationhub dep

* r-complexheatmap: fix r-dendextend dep

* r-cner: fix utils dep name

* r-clusterprofiler: fix r-gosemsim version req

* r-biostrings: fix r-iranges version reqs

* r-rhdf5lib: add gmake dep

* r-oligoclasses: fix r-biocinstaller dep range

* r-organismdbi: fix r-biocinstaller dep range

* r-hdf5array: add gmake dep

* r-gtrellis: tighten r-circlize version req

* r-gostats: fix r-graph version req

* r-glimma: fix old dependency ranges

* r-biostrings: syntax fix

* r-organismdbi: syntax fix

* r-dose: fix r-igraph dep

* r-dose: fix r-scales, r-rvcheck deps

* r-affy: fix r-biocinstaller dep

* r-ampliqueso: fix homepage

* r-aneufinder: fix r-biocgenerics dep

* r-beachmat: fix changed deps

* r-biocneighbors: fix old R constraint

* r-biocmanager: rewrite recipe for 1.30.10

* Update var/spack/repos/builtin/packages/r-biocinstaller/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/r-oligoclasses/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-27 20:57:15 -06:00
Rene Gassmoeller
0f46c3452f Add version 2.1.0 to 'aspect' package (#13830) 2019-11-27 20:04:00 -06:00
iarspider
6d7250f59c Update cartopy version and fix recipe (#13898)
* Update cartopy version and fix recipe

Cartopy 0.17.0 works fine with proj 6

* Update cartopy version and fix recipe

Cartopy 0.17.0 works fine with proj 6

* Set ACCEPT_USE_OF_DEPRECATED_PROJ_API_H flag when building extension

* Add variants to py-cartopy recipe as suggested

* Fix proj dependency

* Split dependency

* Fix PEP-8; remove extra dependency
2019-11-27 20:01:05 -06:00
Nichols A. Romero
d7db42e201 QMCPACK Update Nov2019 (#13832)
* Bump up QE version number to 6.4.1.

* Fix QMCPACK conflicts.

* HDF5 dependencies where over specified which could cause unnecessary installs of HDF5.

* Update QMCPACK testing option.

* Remove support for serial QE 6.4.1 converter. Add support for parallel QE 6.4.1. converter with serial HDF5.

* Switch to setup_run_environment.

* Fix setup_run_environment call arguements.

* Fix typo.

* switch run_env to env
2019-11-27 16:37:51 -06:00
Ken Raffenetti
85ce22a0b8 mpich: Add ucx dependency (#13921) 2019-11-27 16:34:46 -06:00
Federico Ficarelli
484dab6bac cuda: add polymorphic package versions (#13912) 2019-11-27 15:45:07 -06:00
Marc Mengel
206e7bd5aa scm-git-archive python package (#13915)
* scm-git-archive python package

* flake8

* per comments
2019-11-27 15:43:19 -06:00
Marc Mengel
7125d7eebe New package: py-cheroot (#13583)
* package py-cheroot

* package py-cheroot

* autopep8, docutils cleanup

* Update var/spack/repos/builtin/packages/py-cheroot/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* missing deps

* flake8

* license bits

* Update var/spack/repos/builtin/packages/py-cheroot/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-cheroot/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-cheroot/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-cheroot/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* python dep

* flake8
2019-11-27 14:02:43 -06:00
Howard Pritchard
399336ae89 openmpi: add 3.1.5 and 3.0.5 (#13918)
Note to spack people: these are expected to be end of line releases for both the 3.1.5 an 3.0.5 releases

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2019-11-27 14:02:05 -06:00
Adam J. Stewart
3cc8c93883 json-fortran: get unit tests working (#13919) 2019-11-27 13:15:55 -06:00
iarspider
9e397042a7 Fix py-pyarrow recipe (#13914)
Fix name of one dependency
2019-11-27 12:21:01 -06:00
t-karatsu
515f1466c8 accfft: fix narrowing error. (#13909) 2019-11-27 10:15:22 -06:00
健美猞猁
f07131a390 Bump intel compiler suite to 2019u5. (#13835)
* Bump intel compiler suite to 2019u5.

* Remove a duplicate line.
2019-11-27 10:04:48 -06:00
Oliver Breitwieser
d207dceb3a Fix py-line-profiler incompatible decorators (#13911)
`@run_after` and `@when` are incompatible, issue #12736.
2019-11-27 15:30:53 +01:00
Hadrien G
51ee8aa639 ACTS: added version v0.11.1 (#13910) 2019-11-27 15:18:49 +01:00
Tim Haines
c80792fc06 Add version check when building intel-tbb with clang (#13893)
* Add version check when building with clang

* Update for flake8 formatting
2019-11-26 23:15:17 -06:00
Christoph Junghans
07325f5fd0 votca: help concretizer (#13906)
* votca: help concretizer

* flake8
2019-11-26 21:47:42 -06:00
darmac
cfe9550bfe add new package : sysstat (#13907) 2019-11-26 21:01:04 -06:00
Greg Becker
1450c30656 use semicolons instead of newlines in module/python command (#13904) 2019-11-26 17:09:24 -08:00
Adam J. Stewart
ad1ad83664 IntelPackage: setup_env -> setup_build_env (#13888) 2019-11-26 16:48:32 -06:00
Massimiliano Culpo
f6781d65f0 buildcache list: do not display duplicate specs (#13758)
fixes #13757
2019-11-26 13:24:15 -07:00
Eric Martin
11e3e332bd metabat: add versions 2.14 and 2.13 (#13369)
* metabat: add versions 2.14 and 2.13

* update build environment

* Update var/spack/repos/builtin/packages/metabat/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/metabat/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-26 14:14:11 -06:00
Axel Huebl
6bc2012ff1 MPark.Variant: Patch NVCC C++14 Build (#13901)
Fix an issue with NVCC when building with C++14.
2019-11-26 13:07:02 -07:00
Andreas Baumbach
3cfab76d25 update py-nbconvert (#13422)
* update py-nbconvert

* add setuptools dependency, like all the other jupyter packages
  it seems to be using setuptools for some commands all the time
  but requires it for the newest version
* added dependencies, not necessarily only needed for the latest one
* depends on new packages (defusedxml, pandocfilters, testpath)
* should also be moved to pypi sources?
* '@5:@5:' is a valid spec -> intended?

* make dependencies optional

* Update dependencies and add description

* relax py-mistune dependency restriction

* Update var/spack/repos/builtin/packages/py-nbconvert/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-26 12:25:48 -06:00
Andreas Baumbach
7764fd0833 new package: py-arrow (#13575)
* new package: py-arrow

* actually use dependencies from 0.14.7 not from current HEAD

* drop dependencies that dont appear in the source

* readd sphinx as doc dependency

* update dependencies

* drop doc-only dependencies
2019-11-26 12:24:02 -06:00
Roman Briskine
eb0561735d Update Mathematica recipe (#13679)
* Add licensing; replace url with url_for_version; create .spack dir during installation; symlink wolframscript; generate spec.yaml if missing

* Reverted url change, .spack directory creation, and spec.yaml generation

* Fix formatting issues
2019-11-26 12:22:31 -06:00
noguchi-k
18cf751d13 ocaml: fix url (#13749) 2019-11-26 12:21:29 -06:00
sknigh
260a4c4904 Days since OpenMPI+UCX trashed my cluster: 0 (#13818) 2019-11-26 12:20:17 -06:00
Matt Larsen
8b85a6ca14 silence vtkm logging until it does not report false positives to std::cerr (#13845) 2019-11-26 12:19:36 -06:00
darmac
b75f2e2c24 add new package : busybox@1.31.1 (#13871)
* add new package : busybox@1.31.1

* 1. add some other version for busybox
2. change Busybox class to MakefilePackage
3. move make('defconfig') and make() to build() function
4. change install_tree('', prefix) to install_tree('.', prefix)
2019-11-26 12:19:16 -06:00
darmac
327de3b3d4 add new package : blktrace (#13872)
* add new package : blktrace

* modify install_tree('', prefix) to install_tree('.', prefix)
2019-11-26 12:19:01 -06:00
noguchi-k
8ea4692ee9 lsof: fix url and checksum (#13801)
* lsof: fix url and checksum

* lsof: change the download url, add list url and version 4.91, 4.90
2019-11-26 12:10:14 -06:00
Massimiliano Culpo
77c206185b Remove warning from the "Custom Extensions" section of the docs (#13804)
Extensions have been available for a while and the overall design
seems solid enough to be feasible for extensions without losing
backward compatibility.
2019-11-26 09:30:49 -08:00
Axel Huebl
7a81c37bde Package Index: Build in Dockerhub (#13810)
* Package Index: Build in Dockerhub

Prepare to build the package index service, packages.spack.io,
on Dockerhub.

Local build (in spack root dir):
```
docker build -t spack/packages.spack.io:latest -f share/spack/docker/package-index/Dockerfile .
```

Local test:
```
docker run -p 8080:80 spack/packages.spack.io:latest
```

* Travis-CI: Remove Docker

Remove leftover docker stages from Travis-CI.

* Simplify Split Call
2019-11-26 10:11:29 -07:00
健美猞猁
1291ca3410 Bump miniconda2 miniconda3 to 4.7.12.1 . (#13897) 2019-11-26 10:52:07 -06:00
Rao Garimella
52d0940b42 Variant for enabling tests, versions, cleanup (#13882)
* add variant for enabling testing

* enable tests and clean up other options

* add numbered versions

* updates to avoid enable_tests variant; correct versioning

* fixes for style

* appropriate partitioners are enabled if 'all' is specified - so no need to check in spec

* define url so spack knows how to fetch the tar.gz files for different versions
2019-11-26 10:48:34 -06:00
Vivek Kale
07cda58bcc Updating package for SOLLVE (#12607)
* Add SOLLVE package with Shintaro's help on rebasing.

Co-authored-by: Vivek Kale <vivek.lkale@gmail.com>

* sollve: reflect suggestions by @adamjstewart

* sollve: update target detection

Copied from llvm/package.py.

* sollve: fix a few things

- url -> git
- remove git in version()
- explicit cmake options in else clauses
- add newlines for better readability
2019-11-26 10:45:27 -06:00
Hector Martinez-Seara
ad2cc38f22 Py-pymol package has been updated to the latest version (#13764)
* Added new package libmmtf-cpp required by py-pymol

* Added SPDX-License-Identifier to MIT

*  Updated py-pymol to version 2.3.0

* py-pymol: Added mising py-pmw dependency

* py-pymol: flake8 minor change

* py-pymol: Added patch for apbstools_tcltk8.6

This patch is borrowed from archlinux
https://bugs.archlinux.org/task/39526

* libmmtf-cpp: flake8 compliance

* libmmtf-cpp: flake8 compliance

* libmmtf-cpp: change license to  (Apache-2.0 OR MIT) when refering to the MIT license

* libmmtf-cpp: Added header text about license as in examples

* py-pymol: removed unnecesary dependency mesa-glu

* py-pymol: removed unnecesary patch

* py-pymol: Removed empty line at the end of the file to comply with flake8.
2019-11-26 10:42:39 -06:00
Christoph Junghans
7d3d03dea9 cmake: add support for xlf and ninja (#13796) 2019-11-26 11:29:25 -05:00
darmac
577391e62b httperf: added new package (#13875) 2019-11-26 13:38:48 +01:00
Joe Koning
c171ff6335 Add the py-coloredlogs package (#13852)
* Add the py-coloredlogs package

* Remove extraneous line.

* Remove dashed line.

* Add version for humanfriendly dep and build to type.

* Change source url to use pypi.
2019-11-25 16:56:34 -06:00
Hadrien G
b4049c484f Forgot a trailing _PLUGIN (#13884) 2019-11-25 16:56:09 -06:00
Andreas Baumbach
5c8e34160d add new versions to py-mistune (#13887) 2019-11-25 16:55:53 -06:00
Tim Haines
7872435753 Add intel-tbb versions 2019.5 to 2019.8 (#13891) 2019-11-25 16:52:46 -06:00
G-Ragghianti
0aab6068ff Improved library access for lm-sensors and implemented use in papi. (#13885)
* Improved library access for lm-sensors and implemented use in papi.

* Fixed comment formatting

* Removed explicit "None" from return of libs().

* Added two new software release versions.
2019-11-25 15:42:14 -06:00
René Widera
9c10b80591 add package cuda@10.2.89 (#13819)
* add package cuda@10.2.89

add CUDA 10.2 support

* CudaPackage: Add 10.2 Conflicts

* CUDA: Modernize Run Environment

See #11115
2019-11-25 13:23:48 -06:00
David M. Rogers
552ffed171 Updated LAMMPS package to use gpu and kokkos options. (#13886) 2019-11-25 13:22:31 -06:00
iarspider
3eb1a0226d Fix ROOT dependencies (for +r variant) (#13839) 2019-11-25 13:02:03 -06:00
Sinan
70e4377348 Mapnik: fix runtime error involving py-pycairo and PDF (#13865)
* fix runtime error involving py-pycairo and PDF

* Update var/spack/repos/builtin/packages/py-python-mapnik/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* fix env setup
2019-11-25 13:01:14 -06:00
Joe Koning
c349759acd Add the py-importlib-resources package (#13854)
* Add the py-importlib_re package

* Rename package to conform with spack naming convention.

* Rename package to py-importlib-resources
Add python depend modules for previous python versions and depends_on python.

* Add whitespaces.
2019-11-25 13:00:45 -06:00
Toyohisa Kameyama
87e757ee93 cctools: fix python related error. (#13802)
* cctools: fix python related error.

* patch bugfix.
2019-11-25 12:57:09 -06:00
Sinan
448e09e5b2 Add latest version of bazel (#13813)
* use bazel commit in #13112, and add version 0.24.1, and corresponding cc_env patch

* undo preferred java version by dodo47

* patch for v0.26

* Update install steps

* Add patches for more versions

* Add unit tests

* Update patches for new Spack env vars

* env is already defined, use spackEnv
2019-11-25 11:59:12 -06:00
Joe Koning
289aa6ad8a py-celery: added new package (#13851) 2019-11-25 16:28:06 +01:00
Joe Koning
be9c551add py-amqp: added new package (#13848)
* Add the py-amqp package

* Add the py-vine dependency.

* Add vine version and python dependency.
2019-11-25 16:26:59 +01:00
iarspider
53c2b618da py-qtpy: enable use with pyqt5, pyside and pyside2 (#13837) 2019-11-25 16:14:57 +01:00
Joe Koning
0cb5460a52 py-kombu: added new package (#13855) 2019-11-25 16:02:03 +01:00
t-karatsu
b8c18068c2 prank: use Spack compilers and remove x86_64 opts from Makefile (#13877) 2019-11-25 15:14:18 +01:00
darmac
3a94c032c7 netperf: added new package (#13876) 2019-11-25 15:12:32 +01:00
darmac
bb6a203fe1 ltp: added new package (#13878) 2019-11-25 14:38:25 +01:00
Hadrien G
fa37387373 ACTS v0.11.0 + adding maintainer (#13880) 2019-11-25 14:33:16 +01:00
darmac
2f2dd879f7 add new package : py-cssselect (#13879) 2019-11-25 14:32:04 +01:00
Oliver Breitwieser
4c4aba5f9e ack: Fix install modifying download cache (#13836)
This makes several installs from the same download cache impossible once
the hash of the used perl-install changes.

Fixes: #13824

Change-Id: I5f10d9d54ae999d0ca7e4171f989dfca2e6a7169
2019-11-24 17:33:49 -06:00
Christoph Junghans
959f52dbf5 tinker: initial commit (#13869) 2019-11-24 10:31:15 -07:00
Christoph Junghans
8b1d800d53 ncurses: don't run strip internally (#13843)
* ncurses: don't run strip internally

* setup_environment -> setup_build_environment

* fix ABI change
2019-11-23 20:47:59 -07:00
Adam J. Stewart
c3c5abb9cc py-matplotlib backend dependencies needed at runtime (#13867) 2019-11-23 21:23:45 -06:00
Adam J. Stewart
42a0061cb0 Add py-scipy 1.3.3 (#13866) 2019-11-23 16:50:02 -06:00
Joe Koning
c7472e0cbe Add the py-humanfriendly package (#13853) 2019-11-23 19:12:03 +01:00
Adam J. Stewart
e5588880d5 Fix setuptools dependency in py-snowballstemmer (#13844) 2019-11-23 15:25:24 +01:00
Joe Koning
0a14a0c48d Add the py-billiard package (#13849) 2019-11-23 14:14:28 +01:00
Joe Koning
836b6016e4 Add the py-parse package (#13856) 2019-11-23 09:36:29 +01:00
Joe Koning
2c8a867a81 Add the py-vine package (#13857) 2019-11-23 09:35:07 +01:00
Sajid Ali
ff64004a7b likwid: added version 5.0.0 (#13858) 2019-11-23 09:21:59 +01:00
Joe Koning
99650d6caf py-cached-property: added new package at v 1.5.1 (#13850) 2019-11-23 09:20:24 +01:00
darmac
b95961d26b ethtool: new package at version 4.8 (#13864) 2019-11-23 09:17:49 +01:00
Satish Balay
da883f2270 petsc: add version 3.12.2 (#13859) 2019-11-22 20:35:16 -06:00
George Hartzell
48420d0c24 New package: py-wub, with supporting fixes (#13773)
* Add py-wub, with supporting fixes

- add py-wub
- add py-pycmd because py-wub needs it
- update py-statsmodels, which needs at least v0.9.0 to work with
  python3.7 because cython.

* Update based on Adam's comments

* Fix dependency types for py-six in py-wub

* statsmodels tests fail, update comment w/ Issue #

The statsmodels tests weren't run in the previous version of the
package.  If I enable them, the fail.

Update the package comment with the statsmodels issue I opened to
track the problem:
https://github.com/statsmodels/statsmodels/issues/6263

* Update dependency types in py-wub/package.py

* flake8 cleanups

* Make statsmodels tests work

- need to use patsy@0.5.1:
- need to run the tests from within the build/lib* dir
2019-11-22 20:34:43 -06:00
Greg Becker
6c55a7c85f cmd/install: remove unused install_status option (#13751)
* cmd/install: remove unused install_status option

* update bash completions for spack install
2019-11-22 11:17:37 -07:00
Massimiliano Culpo
f53abbecd3 Remove mirrors from Travis cache (#13841) 2019-11-22 19:00:00 +01:00
Christoph Junghans
b23d2efd99 votca-*: add v1.5.1 (#13822) 2019-11-21 16:09:03 -07:00
Massimiliano Culpo
0684a58d16 Fixed detection for cascadelake microarchitecture (#13820)
fixes #13803
2019-11-21 13:09:48 -07:00
George Hartzell
73038a3f51 Add mg, a gnu-emacs like fork of microemacs (#13812)
* Add mg, a gnu-emacs like fork of microemacs

* Use Package, since not really an Autotools package

Switch from AutotoolsPackage to Package.  Even though mg has a
configure script, it's not really an Autotools package.

* Need to also provide --prefix to configure
2019-11-21 11:40:13 -07:00
Toyohisa Kameyama
bed7e40dcc cbtf-krell: add rpcsvc-proto and libtirpc dependency. (#13800) 2019-11-21 11:38:09 -07:00
Elizabeth Fischer
9a6a19d464 doxygen: added missing dependencies to the package (#10589)
See http://www.doxygen.nl/manual/install.html
2019-11-21 15:30:31 +01:00
t-karatsu
49b9365205 texinfo: fix unescaped braces, and update locale handling (#13815)
* texinfo: Fix unescaped braces for older version.

* texinfo: update locale handling.
2019-11-20 20:54:55 -07:00
Shintaro Iwasaki
71cd91e4c1 update Argobots and BOLT (#13765)
* argobots: update to 1.0rc2

* bolt: update to 1.0rc3

* argobots/bolt: add maintainers

* argobots: use "master" for the master branch
2019-11-20 19:04:46 -07:00
Douglas Duckworth
100fcc2c8e added hmmer v 3.3 (#13793) 2019-11-20 19:04:27 -07:00
Brian Van Essen
2f069b571d Updated versions numbers for Aluminum and Hydrogen. (#13814) 2019-11-20 19:04:01 -07:00
Paul Ferrell
fb3a3ba95e mirror bug fixes: symlinks, duplicate patch names, and exception handling (#13789)
* Some packages (e.g. mpfr at the time of this patch) can have patches
  with the same name but different contents (which apply to different
  versions of the package). This appends part of the patch hash to the
  cache file name to avoid conflicts.
* Some exceptions which occur during fetching are not a subclass of
  SpackError and therefore do not have a 'message' attribute. This
  updates the logic for mirroring a single spec (add_single_spec)
  to produce an appropriate error message in that case (where before
  it failed with an AttributeError)
* In various circumstances, a mirror can contain the universal storage
  path but not a cosmetic symlink; in this case it would not generate
  a symlink. Now "spack mirror create" will create a symlink for any
  package that doesn't have one.
2019-11-20 17:00:44 -07:00
t-karatsu
9cd778f152 ampliconnoise: Change return type of function. (#13766)
* ampliconnoise: Change function type.

* ampliconnoise: updated api call to setup run environment
2019-11-20 16:03:51 -07:00
健美猞猁
1e52aa750a find-circ: a new package. (#13767)
* find-circ: a new package.

* flake8.
2019-11-20 16:02:34 -07:00
健美猞猁
5e9ca0f939 miranda: a new package. (#13768) 2019-11-20 16:01:41 -07:00
Figroc Chen
ace47cecbe tensorflow-serving-client: add new package (#13771) 2019-11-20 16:01:04 -07:00
t-karatsu
af9281b843 bpp-suite: Clarify 'isinf' function's namespace. (#13777) 2019-11-20 15:52:44 -07:00
David Hows
ad4986be94 Fix for overlong shebang in valgrind (#13779)
Fix for some overlong shebangs in valgrind. Borrowed from verrou/package.py
2019-11-20 15:50:14 -07:00
noguchi-k
894267e02e py-numexpr3: fix version (#13781) 2019-11-20 15:49:13 -07:00
Ken Raffenetti
f25cf16b11 mpich: Add 3.3.2 (#13790) 2019-11-20 15:48:11 -07:00
Justin S
63874db562 genrich: new package at 0.6 (#13791) 2019-11-20 15:47:36 -07:00
Justin S
38ae7ab6cd sentieon-genomics: add 201808.07 (#13794) 2019-11-20 15:46:22 -07:00
Adam J. Stewart
4e4e3d192e Add old version of py-gast (#13806) 2019-11-20 15:21:03 -07:00
Adam J. Stewart
0d1e9c6e06 Add py-google-pasta package (#13807) 2019-11-20 15:20:47 -07:00
Adam J. Stewart
d43364d679 Add new py-grpcio package (#13808) 2019-11-20 15:20:28 -07:00
Adam J. Stewart
d19eb21181 Add c-ares 1.15.0 (#13809) 2019-11-20 15:20:08 -07:00
Adam J. Stewart
33059daff4 Add old versions and missing dependencies to py-protobuf (#13811) 2019-11-20 15:19:47 -07:00
Adam J. Stewart
ea42d67a9a Add old version of jdk (#13805)
* Add old version of jdk

* setup_environment -> setup_build_environment
2019-11-20 15:19:22 -07:00
Brian Van Essen
66cf530459 Added package for Clara command line parser (#13763)
* Added package for Clara command line parser
2019-11-20 00:12:43 -07:00
t-karatsu
513fe55fc3 Features/expand microarch for aarch64 (#13780)
* Add process to determine aarch64 microarchitecture

* add microarchitectures for thunderx2 and a64fx

* Add optimize flags for gcc on aarch64 family processors thunderx2 and a64fx.

* Add optimize flags for clang on aarch64 family processors thunderx2 and a64fx

* Add testing for thunderx2 and a64fx microarchitectures
2019-11-20 00:01:12 -07:00
albestro
f25a4ab089 add MAX_CPU_COUNT variant to HPX package (#13769)
* add MAX_CPU_COUNT variant to HPX package

* compatibility with python2

* correct variant description

Co-Authored-By: Mikael Simberg <mikael.simberg@iki.fi>

* add maintainers list
2019-11-19 12:49:32 -07:00
George Hartzell
d00be588e3 zlib: use setup_build_environment for build env (#13786)
zlib was using the deprecated setup_environment call.  Now it's using
the current setup_build_environment.

(noticed this in some `spack -d` output)
2019-11-19 12:29:35 -07:00
ktsai7
bb0667ceaf add more legion version and expose more flecsi options (#13741)
* add more legion version and expose more flecsi options

* formatting

* update version pointing to master to master

* fix indentation

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* use self.run_tests

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2019-11-18 23:51:41 -07:00
Greg Becker
99dfff4475 binary distribution: relocate text files properly in relative binaries (#13578)
* Make relative binaries relocate text files properly
* rb strings aren't valid in python 2
* move perl to new interface for setup_environment family methods
2019-11-18 14:13:42 -07:00
健美猞猁
e433a5dc0b py-rnacocktail: a new package. (#13761)
* py-rnacocktail: a new package.

* flake8.

* Add build-time dependencies.
2019-11-18 14:09:39 -07:00
albestro
e0746a2a07 fix libxml2 url (#13770)
http to https
2019-11-18 10:58:16 -07:00
Xavier Delaruelle
e5b3202352 environment-modules: add version 4.4.0 (#13772) 2019-11-18 10:53:06 -07:00
Massimiliano Culpo
ab62ad463d py-xattr: fix a package that was pointing to a fork (#13685)
The package now points to the official github repository for master
and to PyPI for release versions.
2019-11-18 12:09:47 +01:00
oracleLee
686e613e94 Update scalpel package.py (#13746)
* Update package.py

Update scalpel version 0.5.4

* Update package.py
2019-11-17 12:45:16 -07:00
Cyrus Harrison
d3c1547dba update to add ascent 0.5.0 release (#13709)
* fix metis src dl url

* update ascent, vtk-h and vtk-m recipes

* update conduit package

* fix vtk-m shas

* mfem conduit fix

* use vtk-h develop

* fix issue with stripped include paths in mfem

* more metis fixes

* simpler fix for mfem conduit include issue

* finish mfem changes

* pin to cmake 3.14, since we hit cuda issues with 3.15

* add rtd theme as dep for ascent

* add vtk-h 0.5.0 release, update ascent to use it

* add ascent 0.5.0 release

* fix cmake pin to allow all vers of 3.14

* fix format string error in mfem pkg

* review fixes for mfem pkg

* review fixes for vtk-h and vtk-m packages

* address review comments for ascent pkg

* changing default off of develop broke downstream use

* revert prefed
2019-11-17 12:36:14 -07:00
Axel Huebl
02f27fc45d openPMD-api: 0.10.0 (#13750)
Add latest release and first to be tagged by number in Spack,
version 0.10.0.
2019-11-17 12:35:40 -07:00
Hector Martinez-Seara
15207bae43 guile package: Handling the threads option. (#13730)
* guile package: Handling the threads option.

Currently guile by default tries to compile its thread variant.
However, the threaded version can only be compiled if bdw-gc is
compiled with some threads support. Currently, the default
compilation of the bdw garbage collector is compiled without any
thread support resulting in a compilation error.

I have changed the the default guile compilation to the non-threaded
version. I have also added the appropiated options for the bdw-gc
compilation in case the user prefers the threaded variant.

* guile package(flake8): fixed identation issues
2019-11-16 14:34:38 -07:00
Nick Booher
c8c8dca5b5 revbayes: add new versions (#13760) 2019-11-16 00:12:38 -07:00
Tim Fuller
3dbafb5ee7 Fix for issue #13754 (#13755)
* remove reference to `spack.store` in method definition

Referencing `spack.store` in method definition will cache the `spack.config.config` singleton variable too early, before we have a chance to add command line and environment scopes.
2019-11-15 13:32:58 -08:00
Adam J. Stewart
5510bba1fd Document use of the maintainers field (#12270)
* Document use of the maintainers field

* Use fake GitHub usernames

* GitHub action is not automatic yet
2019-11-15 13:58:24 -06:00
Greg Becker
c587c76537 Config option to allow gpg warning suppression (#13743)
Add a configuration option to suppress gpg warnings during binary
package verification. This only suppresses warnings: a gpg failure
will still fail the install. This allows users who have already
explicitly trusted the gpg key they are using to avoid seeing
repeated warnings that it is self-signed.
2019-11-14 16:22:01 -08:00
Satish Balay
40c77bf158 xsdk@0.5.0 (#13682)
Update:
 hypre@2.18.2
 mfem@4.0.1-xsdk
 superlu-dist@6.1.1
 trilinos@12.18.1
 - dtk-3.1
 petsc@3.12.1
 dealii@9.1.1
 pflotran@xsdk-0.5.0
 alquimia@xsdk-0.5.0
 sundials@5.0.0
 plasma@19.8.1
 magma@2.5.1
 amrex@19.08
 slepc@3.12.0
 omega-h@9.29.0
 strumpack@3.3.0
 pumi@2.2.1
 tasmanian@7.0
 phist@1.8.0

New:
 ginkgo@1.1.0
 py-libensemble@0.5.2
 precice@1.6.1
 butterflypack@1.1.0

Add variants:
 ginkgo
 libensemble
 precice
 butterflypack
 strumpack
 trilinos

tasmanian:  use ~openmp only on OSX
precice: disable on OSX
enable sundials+superlu-dist
sundials+superlu-dist requires OpenMP 4.5+ (so enable only for gcc@6.1+)
enable mfem+sundials
enable sundials+petsc+superlu_dist
remove hypre~internal-superlu
petsc: build with +batch on cray
precice: use ~petsc on cray
libensemble: add as runtime dependency for PYTHONPATH
2019-11-14 16:36:51 -06:00
t-karatsu
94c9e5f9a0 z3: bugfix about python dependency and fallthrough annotation. (#13713)
* z3:

* Fixed python dependency to always be required.

* bugfix about fallthrough annotation.

* z3: Add patch for before ver.4.4.1.

* Update var/spack/repos/builtin/packages/z3/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-14 16:28:05 -06:00
Seth R. Johnson
e670476024 Mark conflicts between newer packages and Intel 14 compilers (#13729)
* Mark compiler/version conflict for CMake

Intel 14 lacks some C++11 features needed to compile new versions of
cmake.
```
/tmp/s3j/spack-stage/spack-stage-cmake-3.15.5-46lgp4ybhopy2p4rr66rxnew5iaddvmg/spack-src/Source/
cm_static_string_view.hxx(28): error: expected an operator
   friend static_string_view operator"" _s(const char* data, size_t
                                     ^
```

* Mark compiler/version conflict for icu4c

With Intel 14.0.4 on Linux for icu4c 60.1 and higher:
```
locid.cpp(1156): error #1140: a using-declaration may not name a constructor or destructor
        using KeywordEnumeration::KeywordEnumeration;
```

* Mark compiler/version conflict for nasm

Error installing `nasm@2.14.02%intel@14.0.4`:
```
In file included from nasmlib/crc64.c(35):
./include/nasmlib.h(116): error: expected a ";"
  fatal_func nasm_assert_failed(const char *, int, const char *);
```

* Mark compiler/version conflict for bison

Installing `bison@3.4.2%intel@14.0.4`:
```
In file included from /tmp/s3j/spack-stage/spack-stage-bison-3.4.2-
uzjszv4owvqsymjpxtxvvegfavc6k5my/spack-src/lib/quotearg.c(33):
/tmp/s3j/spack-stage/spack-stage-bison-3.4.2-uzjszv4owvqsymjpxtxvvegfavc6k5my/spack-src/lib/
xalloc.h(51): warning #303: explicit type is missing ("int" assumed)
  extern _Noreturn void xalloc_die (void);
```

* Mark compiler/version conflict for icu4c

With `icu4c@60.1%intel@16.0.4` and `icu4c@64.1%intel@16.0.4`:

```
In file included from ucurr.cpp(26):
static_unicode_sets.h(130): error #913: invalid multibyte character sequence
      {POUND_SIGN, u'£'},
                     ^
```

* Change conflict comments into messages
2019-11-14 16:27:36 -06:00
George Hartzell
7a6c7f23a0 py-matplotlib only needs backports when ^python@:2 (#13712)
* py-matplotlib only needs backports when ^python@:2

This implements @scheibelp's suggestion in #13711.

py-matplotlib should only depends_on py-backports-functools-lru-cache
when it's using a python that actually *needs* it.

See #13711 for details.

* Don't depend_ons py-enum34 unless python@:3.3

* Tighten up enum34 dependency

@adamjstewart cracked open the setup.py files and suggested a tighter
dependency for py-enum34.  1.4 and 1.5 only require it for pythons
before 3.4, 1.3 requires it unconditionally.  So...., we'll do the
same.

* Remove conflict on python 3.4 from enum34

at @adamjstewart's request see PR notes
2019-11-14 16:26:44 -06:00
Gregory Lee
8490587c76 add boost dependency to stat package (#13735) 2019-11-14 16:26:24 -06:00
xfzhao
2fb5df0284 update to v0.6.4 (#13737) 2019-11-14 16:26:08 -06:00
Emir İşman
46871416b1 Update DMTCP package to v2.6.0 (#13739) 2019-11-14 16:20:44 -06:00
Nicholas Sly
d79d11b6d4 Removed github repository and develop version from dataspaces package as it is no longer present/accessible. (#13740) 2019-11-14 16:20:13 -06:00
xfzhao
11e65661ac update vsearch (#13736) 2019-11-14 16:17:02 -06:00
Massimiliano Culpo
7e84fe966c hwloc: added 'master' version pointing at the HEAD of the master branch (#13731) 2019-11-14 12:06:07 -06:00
Sinan
00bf299e46 new package Qscintilla (with python bindings via py-pyqt ) (#12793)
* qscintilla_with_python_bindings_disabled

* pyqt5 with variant +qsci to compile qscintilla python bindings

* fix a dyn linking issue for Qsci python module

* fix a bug

* fix bug: use sip provided by py-pyqt5

* fix typo

* tidy up, make designer

* tidy up

* fix designer build issue, set env for designer plugin

* tidy up

* tidy up

* minor improvements

* improve style

* build Qscintilla python bindings here

* make qsci config option variant dependent

* get rid of commented out code

* improvements: add resource for qscintilla, improve config_args

* flake8: spaces, blank lines etc

* flake8: fix long lines

* Update var/spack/repos/builtin/packages/py-pyqt4/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-pyqt4/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-pyqt4/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/qscintilla/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* dont install source tree under prefix

* remove duplicate line

* use os.path.join instead of +

* separate build and run environment setups

* flake8

* Update var/spack/repos/builtin/packages/py-pyqt5/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-pyqt5/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-pyqt5/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* fix rsrc path

* use python_include_dir

* use "with working_dir"

* Update var/spack/repos/builtin/packages/py-pyqt4/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-pyqt5/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-pyqt5/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-pyqt5/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/qscintilla/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-pyqt4/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-pyqt4/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* flake8
2019-11-14 12:01:49 -06:00
Matthias Maiterth
ab2b3f30a5 package/geopm: Added versions 1.0.0 and 1.1.0 (#13721)
* package/geopm: Added versions 1.0.0 and 1.1.0

Added changes for 1.1.0 and 1.0.0 in this patch.
Patch for 1.0.0 was previously not merged.
variant for hwloc removed since that is not a dependency since 0.5.1 and
variant('hwloc', when=:0.5.1 is not supported afaik.
made depends_on versions more explicit.

* package/geopm: removed 1.0.0 release candidates 1 and 2.
2019-11-14 12:01:03 -06:00
Hector Martinez-Seara
cd04538bb9 Adding final bug-releases for the gromacs-2016 and -2018 and Plumed (#13715)
* Adding final bug-releases for the gromacs-2016 and -2018

* Added newer versions of plumed and libmatheval not a dependency >v2.5

* plumed package: chamge name git branch to master
2019-11-14 12:00:36 -06:00
Seth R. Johnson
b8916ecc08 Fix libbsd on Intel compilers (#13720)
Libbsd assumes GCC-defined compiler macros:
```
In file included from nlist.c(44):
local-elf.h(238): catastrophic error: #error directive: Unknown ELF machine type
  #error Unknown ELF machine type
   ^
```
The `__amd64__` and `__x86_64__` macros should be equivalent, but the
latter is defined by intel.
2019-11-14 11:59:46 -06:00
Peter Scheibel
3f861e18b0 symlink relativization: determine target relative to the link directory (#13710)
when making a package relative, relocate links relative to link directory

rather than the full link path (which includes the file name) because `os.path.relpath` expects a directory.
2019-11-13 17:51:57 -08:00
sknigh
045e9c905f Added "file" package and added missing depenency to VIM (#13705)
* Added "file" package and added missing depenency to Vim

* added which and grep

* Added gzip

* added missing dependency to gmake
2019-11-13 18:12:10 -06:00
David Böhme
1ed8de8757 Add Caliper v2.2.0 and v2.1.1 (#13723)
* Add Caliper v2.2.0 and v2.1.1

* Add conflict for adiak when for versions <2.2

* Trim trailing whitespace
2019-11-13 18:11:09 -06:00
Greg Becker
43b0356e14 Allow binary relocation of strings in relative binaries (#13725)
Binaries with relative RPATHS currently do not relocate strings
hard-coded in binaries

This PR extends the best-effort relocation of strings hard-coded
in binaries to those whose RPATHs have been relativized.
2019-11-13 16:03:35 -08:00
G-Ragghianti
dc36b4737d Papi components (#13706)
* Added support for papi components.

* Restored sha256 hashes to package files.
2019-11-13 15:49:06 -06:00
Justin S
a2ef7896b7 rnaz: new package at 2.1 (#13707) 2019-11-13 15:48:06 -06:00
thelfer
ff9b03edc3 Fix mgis package dependency on boost/numpy (#13717) 2019-11-13 15:35:09 -06:00
William F Godoy
d6274e1a1d Docs update for deprecated spack sha256 (#13701)
* Docs update for deprecated `spack sha256`

* Added macOS shasum

* Update lib/spack/docs/packaging_guide.rst

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-13 15:21:27 -06:00
Sinan
9ae4f42ab5 new package: sfcgal (#12624)
* new package: sfcgal

* improve meta information

* add variant and optional dependencies

* add cmake options for building with viewer

* improve dependency type

* improve viewer variant

* improve viewer variant

* specify dependency versions

* add ref

* remove depricated variant
2019-11-13 15:19:43 -06:00
Hari Subramoni
1a6bba1632 Update MVAPICH2 package for 2.3.2 release (#13236)
* Update MVAPICH2 package for 2.3.2 release
Update default build from psm to mrail

* Update different provides for older versions based on feedback from Todd Gamblin

* Simplify rule so one rule covers 2.1 and 2.2

* Add support for disabling rpath based on feedback from Dr. Shende

* Add colon based on comment

* Address review comment by Adam Stewart

* Add declaration of the wrapperpath variant.
    - Thanks to Massimiliano Culpo for the comment
2019-11-13 15:18:35 -06:00
Satish Balay
4d37db02da superlu_dist: fix build with xl compilers (#13702)
* superlu_dist: fix build with xl compilers

* fix link error  ../SRC/libsuperlu_dist.so.6.1.1: undefined reference to `ztrtri_'

* Fixed the ordering of the spec on the xl-611 patch.

* fix flake8 error
2019-11-13 15:03:24 -06:00
Chris Green
56de86dda6 root: relax libxml2 requirements when ~python. (#13657)
* Relax libxml2 requirements when ~python.

Per https://github.com/spack/spack/issues/13637#issuecomment-552026561

* Satisfy package_sanity.py::test_prs_update_old_api.
2019-11-12 23:33:47 -08:00
Satish Balay
53b2add34f strumpack: revert default to ~shared [i.e behavior before this variant was added] as +shared fails on multiple builds (#13703) 2019-11-12 20:22:34 -06:00
Todd Gamblin
da386b560a docs: use nicer looking code blocks in docs (#13708)
- [x] Use higher contrast terminal output font
- [x] Use higher contrast code block background color than default
- [x] Use a noticeable prompt character

See also https://github.com/spack/spack-tutorial/pull/10.
2019-11-12 18:18:41 -08:00
Simon Pintarelli
d0de9f8d9d add new version for py-ranger-fm (formerly py-ranger) (#13681)
- download from pypi, drop 1.7.2
- drop 1.7.2, it is not available from pypi
2019-11-12 12:05:18 -06:00
sknigh
1ae824737e Add missing dependencies to flex. (#13692) 2019-11-12 12:01:15 -06:00
h-denpo
2b6c4245d0 Fixed url. url="https://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz") (#13693) 2019-11-12 11:58:49 -06:00
t-karatsu
ca19fb86c1 damselfly: Add mpi dependency. (#13694) 2019-11-12 11:58:11 -06:00
Adrian Jackson
57aa7ba045 Fixing Fortran MPI compiler reference in mpt package (#13699) 2019-11-12 11:57:07 -06:00
Stephen Hudson
cea7403b67 Update nlopt package to add Python bindings to PYTHONPATH (#13688)
* Update nlopt package to add Python bindings to PYTHONPATH

* Use extends for nlopt/python fix

* nlopt - change develop to master and add python dep qualifiers
2019-11-12 11:46:12 -06:00
Massimiliano Culpo
826e8c6394 athena, mvapich2, spectrum-mpi: use new API to setup environment (#13677)
* athena: updated api call to setup build environment

* mvapich2: updated api call to setup build and run environment

* spectrum-mpi: updated api call to setup build and run environment
2019-11-12 11:44:12 -06:00
Frédéric Simonis
b1965fa913 precice: enable petsc by default (#13696) 2019-11-12 11:40:37 -06:00
Satish Balay
cbfdc85d26 trilinos: add version 12.18.1 with dtk-3.1 (#13690) 2019-11-12 07:52:24 -06:00
Satish Balay
9e12b4e95a sundial: add patch for build failure on cori/theta (#13665) 2019-11-12 07:52:05 -06:00
Daryl W. Grunau
5a9389a528 verify.py: os.path.exists exception handling (#13656) 2019-11-11 17:47:47 -06:00
Simon Pintarelli
e5b38c525e SIRIUS: add new version, add magma support (#13680)
- depends on spfft starting from 6.4.0
- add magma variant
- avoid setting cuda_arch to none
- add python dependencies
- use release as default build type
2019-11-11 16:19:40 -06:00
sknigh
fdb85744e3 added lcov package (#13687) 2019-11-11 15:13:48 -06:00
Adrian Jackson
3eaa790efa Add HPE MPT package (#13616)
* Adding in HMPT package for HPE MPI libraries

* Updating copyright dates

* Renaming HPE MPI package

* Fixing error in package file

* Tidying up defintions and linting

* liniting

* Adding in library setup so packages that want to manually add mpi libraries can do so (i.e. npb)

* Linting

* Linting

* Investigating old API errors

* Investigating api errors

* Investigating api errors

* Investigating api errors

* Investigating api errors

* Investigating api errors: adding back in functions to see when the build fails

* Investigating api errors: adding back in functions to see when the build fails

* Investigating api errors: adding back in functions to see when the build fails

* Investigating api errors: adding back in functions to see when the build fails

* Investigating api errors: adding back in functions to see when the build fails

* Linting

* Linting

* Fixing

* Fixing
2019-11-11 13:22:20 -06:00
Adam J. Stewart
dc51d676a2 cuDNN: add new versions (#13668)
* cuDNN: add new versions

* cuDNN 9.0 can build against CUDA 9.1

* Undo version format change
2019-11-11 12:53:26 -06:00
Adam J. Stewart
03fb2d61c6 Add new version of Intel MKL-DNN (#13669)
* Add new version of Intel MKL-DNN

* Get OpenMP build working

* lomp is also needed for linking

* http -> https

* Add myself as maintainer
2019-11-11 12:52:53 -06:00
Adam J. Stewart
38da69346c py-scikit-learn: update OpenMP flag (#13683) 2019-11-11 12:52:30 -06:00
Brian Spilner
3eb19b142f new CDO release 1.9.8 (#13674) 2019-11-11 12:52:06 -06:00
Pieter Ghysels
6fc3e73f8d Update ButterflyPACK and STRUMPACK (#13661)
* Add new strumpack version (3.2.0), with new
dependency on ButterflyPACK.

* add ButterflyPACK version 1.1.0

* Add strumpack version 3.3.0, add dependency on ButterflyPACK 1.1.0

* Sort ButterflyPACk versions from newest to oldest

* Add a shared variant for STRUMPACK

* Also allow possible newer versions of ButterflyPACK
2019-11-11 12:24:13 -06:00
Phil Carns
4934448065 pmdk: fix x86_64 arch check (#13676) 2019-11-11 15:46:44 +01:00
Adam J. Stewart
bd9907809e environments: don't try to modify run-env if a spec is not installed (#13589)
Fixes #13529
Fixes #13509
2019-11-11 13:02:36 +01:00
Adam J. Stewart
e10f8fe531 py-numpy: added version 1.17.4 (#13670) 2019-11-11 11:26:21 +01:00
Adam J. Stewart
901da240f3 CMake: added version 3.13.5 (#13671) 2019-11-11 11:25:50 +01:00
Axel Huebl
86202a5ad0 nlohmann-json 3.7.2 (#13672)
Add the latest bugfix release.
2019-11-11 11:23:50 +01:00
Adam J. Stewart
60070759a0 Improve spack checksum formatting (#13666)
* Improve spack checksum formatting

* Add colon

* Fix Python 2 bug
2019-11-10 16:47:56 -06:00
Adam J. Stewart
1ca91d728a Update default PyTorch variants (#13667) 2019-11-10 16:46:04 -06:00
Adam J. Stewart
ff330631ed Add py-scipy 1.3.2 (#13663) 2019-11-09 19:41:44 -06:00
Adam J. Stewart
834a8be933 Add grass 7.8.1 (#13664) 2019-11-09 19:41:29 -06:00
Kelly (KT) Thompson
550e9907f5 New Package: py-pyside2 (#13647)
* New Package: py-pyside2

https://wiki.qt.io/Qt_for_Python

The Qt for Python project aims to provide a complete port of the PySide module
to Qt 5. The development started on GitHub in May 2015. The project managed to
port Pyside to Qt 5.3, 5.4 & 5.5. During April 2016 The Qt Company decided to
properly support the por

* Address review comments:

+ Add a variant for `+doc` and only depned on some packages if this variant is
  active.
+ Enable building the tests if requested.
+ Correct registered required verions for python and qt.

* Remove dead code, fix depends_on command args.

* fix one more flake8 issue.

* One more fix to  arguments and change  version name to .
2019-11-09 18:22:30 -06:00
Teodor Nikolov
3db3395ed1 hpx: fix incompatible cxxstd with boost and compiling tests (#13660)
* Add a variant for tests and parallelize builds

- Fix a bug with boost defaulting to cxxstd=98 when cxxstd=11 is the
  minimum for hpx
- Disable tests by default and use a variant to enable them if requested
- Enable parallel builds: each process takes up to 1Gb when tests are
  not enabled.

* Remove tests variant

- The variant doesn't change what gets installed. Testing can be
  activated using `spack install --test=root hpx`
2019-11-09 18:21:40 -06:00
Seth R. Johnson
d01a8f7cd6 Fix visit+ (#13652)
* Propagate MPI option in VTK to NetCDF

This fixes a conflict message reads as though NetCDF always requires
hdf5+mpi. It allows `visit~mpi` to resolve correctly without an
additional `^netcdf~mpi`.

* Tell VisIt not to look for 'hdf5_mpi' library
2019-11-09 12:47:04 -06:00
Michael Kuhn
eee3a63a3e graphviz: Fix patch URL (#13654)
* graphviz: Fix patch URL

* Switch setup_environment to setup_build_environment
2019-11-09 12:46:29 -06:00
Figroc Chen
9a4797b74c grpc: update to 1.24.3 (#13658) 2019-11-09 12:42:34 -06:00
Mark Olesen
e27d7479a3 update openfoam versions, sha256 values and download directory (#13653)
- patched versions are located in the same directory as the
  original release. For example, 1906_191103 is located in
  the 'v1906/' directory, not in 'v1906_191103/'.

- add master branch as a known version
2019-11-08 14:46:33 -06:00
Marc Mengel
2584639e34 New Package py-portend (#13584)
* package py-portend

* package py-portend

* autopep8, docutils cleanup

* dependency in wrong package

* Update var/spack/repos/builtin/packages/py-portend/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* license bits

* dependencies again
2019-11-08 14:44:29 -06:00
Marc Mengel
148566ebd5 new package: py-zc-buildout (#13585)
* package py-zc-buildout

* package py-zc-buildout

* Update var/spack/repos/builtin/packages/py-zc-buildout/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-zc-buildout/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* license bits

* Update var/spack/repos/builtin/packages/py-zc-buildout/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-08 14:43:49 -06:00
Marc Mengel
ec6b2f7bb1 New Package: py-cherrypy (#13587)
* package py-cherrypy

* package py-cherrypy

* autopep8, docutils cleanup

* Update var/spack/repos/builtin/packages/py-cherrypy/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-cherrypy/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-cherrypy/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* portend depends on tempora, not cherrypy directly

* setuptools_scm bits

* dependency one level up

* license bits

* Update var/spack/repos/builtin/packages/py-cherrypy/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-08 14:41:59 -06:00
Adam J. Stewart
b189d10f1f py-torchvision: add 0.4.2 (#13651) 2019-11-08 14:33:46 -06:00
Axel Huebl
c1ee069d1b openPMD-api: JSON Always On (#13641)
JSON is not a compile-time variant anymore and a mandatory
dependency from now on.
2019-11-08 11:00:10 -06:00
t-karatsu
3c2542f387 fluxbox: fix the comparison method with zero. (#13642) 2019-11-08 10:45:36 -06:00
Jonathan R. Madsen
2eb65f8a5d Timemory (#13503)
* Create timemory/package.py

* Update package.py

* mpi default to on

* Update package.py

* Update package.py

* Update var/spack/repos/builtin/packages/timemory/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

* Update package.py

* Update package.py

- cleanup
- python deps specify type
- python 2.6 compatibility
- double quotes to single quotes

* Update package.py

* Update package.py
2019-11-08 10:35:14 -06:00
Frédéric Simonis
3f7fd4037f precice: add compiler conflicts (#13644) 2019-11-08 10:33:00 -06:00
Mark Olesen
f4a1666b1a Update openfoam to use new environment api (ref: #11115, 9ddc98e46a) (#13645)
- build:
  no special treatment - already addressed in the spack-Allwmake script

- run:
  use environment from the OpenFOAM etc/bashrc
2019-11-08 10:32:14 -06:00
Daryl W. Grunau
ae6229dee2 llvm: fix PythonString::GetString for >=python-3.7 (#13631)
* llvm: fix PythonString::GetString for >=python-3.7

* llvm/package.py: fix when the patch should be applied
2019-11-07 19:05:16 -06:00
Marc Mengel
119af6d71b new package: py-tempora (#13582)
* package py-tempora

* package py-tempora

* Update var/spack/repos/builtin/packages/py-tempora/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* missing deps

* Update var/spack/repos/builtin/packages/py-tempora/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-tempora/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-tempora/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* license bits
2019-11-07 18:59:38 -06:00
Marc Mengel
a2627da7d9 New package: py-uwsgi (#13619)
* package py-uwsgi

* package py-uwsgi

* Update var/spack/repos/builtin/packages/py-uwsgi/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* license bits
2019-11-07 18:58:47 -06:00
Marc Mengel
fd01ac0ff1 New package: py-jaraco-functools (#13581)
* package py-jaraco-functools

* package py-jaraco-functools

* autopep8, docutils cleanup

* Update var/spack/repos/builtin/packages/py-jaraco-functools/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* missing deps

* license bits

* ...and later versions

* lru cache dep change from adamjstewart
2019-11-07 18:52:32 -06:00
Satish Balay
ff307aa86c Balay/ginkgo 1.1.0 (#13632)
* ginkgo: add version 1.1.0

* Ginkgo: add conflict for gcc older than version 5.3
2019-11-07 18:51:20 -06:00
Todd Gamblin
c9c267518f bugfix: mirror path works for unknown versions (#13626)
`mirror_archive_path` was failing to account for the case where the fetched version isn't known to Spack.

- [x] don't require the fetched version to be in `Package.versions`
- [x] add regression test for mirror paths when package does not have a version
2019-11-07 17:13:51 -07:00
Kelly (KT) Thompson
719ebd18c3 py-pyside: fix setup files to support python 3.5. (#13613)
This fix already exists in the development branch of pyside. See
https://github.com/pyside/pyside-setup/pull/55.
2019-11-07 15:43:49 -06:00
Justin S
8139d7cb69 elmer-fem: add devel branch (#13630) 2019-11-07 15:41:43 -06:00
Adam J. Stewart
9936c8269f PyTorch: Add 1.3.1 (#13629) 2019-11-07 13:47:13 -06:00
Andreas Baumbach
0616c6ada1 (py)arrow: new versions (#13561)
* (py)arrow: new versions

* move py-arrow source to github as not all versions are on pypi
  same checksum as pypi, adding build_directory

* move back to pypi sources

* drop 0.15.0 and 0.14.1 as only .whl are available on pypi

* add new dependencies

* Update var/spack/repos/builtin/packages/py-pyarrow/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-07 11:52:29 -06:00
Andreas Baumbach
76c15f11e0 new package: py-convertdate (#13573)
* new package: py-convertdate

* Update docstring
2019-11-07 11:51:53 -06:00
Adam J. Stewart
344e4e0d1c Speed up PyTorch build (#13621) 2019-11-07 10:05:50 -06:00
健美猞猁
be56fe0677 bam-readcount: a new package. (#13628) 2019-11-07 10:00:43 -06:00
Josh Deaton
d748df73a3 m4: fixed macOS version identification on patch (#13623)
Patch was not being applied in recent versions of macOS. Homebrew is still applying patch to any version after High Sierra.
2019-11-07 09:43:59 -06:00
Andreas Baumbach
45eecbdbc2 py-jupyter-core add new version and setuptools dependency (#13424)
* py-jupyter-core add new version and setuptools dependency

* update checksums to use pypi

* fixup url and python dep type

* Update var/spack/repos/builtin/packages/py-jupyter-core/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-06 13:30:59 -06:00
Andreas Baumbach
12da0e7152 new package: py-jdatetime (#13569)
* new package: py-jdatetime

* Update var/spack/repos/builtin/packages/py-jdatetime/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-06 13:25:01 -06:00
Michael Kuhn
6d6716e302 ncview: Fix dependency check (#13615)
netcdf has been renamed to netcdf-c.
2019-11-06 13:24:33 -06:00
Christoph Junghans
0d35ae7f5f gromacs: add v2019.4 and others (#13617)
* gromacs: add v2019.4 and others

* gromacs: fix patch applying
2019-11-06 13:24:14 -06:00
Andreas Baumbach
52afcfac4d new package: py-dateparser (#13574)
* new package: py-dateparser

* take setup.py dependencies into account

* fixup help->description

* reorder dependencies

* drop version constraints not enforced in setup.py
2019-11-06 13:18:37 -06:00
Andreas Baumbach
6b7a51587b new package: py-nodeenv (#13594)
* new package: py-nodeenv

* drop python version requirements, not enforced by setup.py
2019-11-06 13:16:49 -06:00
Andreas Baumbach
4ed56573c4 py-tatsu: new package (#13566)
* py-tatsu: new package

* drop unnecessary dependencies

* drop kanji, add variant, and restrict to future releases
2019-11-06 13:16:05 -06:00
Michael Kuhn
52eba8fb00 netcdf-fortran: Fix parallel builds (#13612)
netcdf-fortran@4.5: will error if netcdf-c has been built with MPI
support:
```
configure: error:
      -----------------------------------------------------------------------
        The NetCDF C library is built with parallel I/O feature enabled, but
        the Fortran compiler '.../lib/spack/env/gcc/gfortran' supplied in this configure command
        does not support MPI-IO. Please use one that does. If parallel I/O
        feature is not desired, please use a NetCDF C library with parallel
	I/O feature disabled. Abort.
      -----------------------------------------------------------------------
```

Copy logic from netcdf-c to add an `mpi` variant.
2019-11-06 11:14:35 -06:00
Michael Kuhn
95bc677445 cdo: Fix with_or_without calls (#13614)
netcdf has been renamed to netcdf-c and udunits2 has been renamed to
udunits.
2019-11-06 11:13:21 -06:00
Andreas Baumbach
e292bef411 new package: py-pymeeus (#13572)
* new package: py-pymeeus

* drop unnecessary dependencies
2019-11-06 11:02:19 -06:00
Andreas Baumbach
ea5c7917ac new package: py-pre-commit (#13570)
* new package: py-pre-commit

* update missing dependencies

* add python version restriction
2019-11-06 11:01:33 -06:00
Andreas Baumbach
2bd1a0ca4c new package: py-aspy-yaml (#13591)
* new package: py-aspy-yaml

* add python version dependency
2019-11-06 10:55:19 -06:00
Michael Kuhn
abce878fad go: Add 1.13.4 and 1.12.13 (#13609) 2019-11-06 11:36:35 +01:00
Axel Huebl
f9dc41f806 pybind11: correct get_include path (#13605)
* pybind11: test get_include path

Helper for non-CMake downstream projects to find the pybind11
header location.

* pybind11: return proper get_include()

use our prefix instead of letting pybind11 trying to self-determine
it from given conda/virtualenv/global rules.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-06 07:15:13 +01:00
Andreas Baumbach
a684efe826 new package: py-ics (#13576)
* new package: py-ics

* drop 0.5 and move to tar-ball

* Update var/spack/repos/builtin/packages/py-ics/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-ics/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-05 17:03:31 -06:00
Jordan Ogas
6dabdb7a82 add charliecloud 0.12 (#13599)
* add charliecloud 0.12

* fix typo

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-05 15:51:02 -06:00
Adam J. Stewart
6ffbc9c091 Add GDAL 3.0.2 (#13603) 2019-11-05 15:05:36 -06:00
Axel Huebl
8cbea5f767 mpi4py 3.0.3 (#13601)
* mpi4py 3.0.3

Adds support for Python 3.8 with new Cython files.
I tried to build 3.0.0 with Python 3.8 and this builds as well,
therefor I added no conflict.

* mpi4py: update dependency version ranges
2019-11-05 15:04:49 -06:00
Christoph Junghans
7c018bc2c8 netcdf: fix headers in v4.7.2 (#13600) 2019-11-05 12:56:02 -07:00
Christoph Junghans
10f509b182 elpa: add v 2019.05.002 (#13602) 2019-11-05 12:55:51 -07:00
Adam J. Stewart
27ab045dc1 PyTorch: avoid use of third party vendored deps (#13588)
* PyTorch: avoid use of third party vendored deps

* Flake8 fix
2019-11-05 13:19:07 -06:00
Andreas Baumbach
7a0bed7893 add depends_on(python) to PythonPackage stub (#13595) 2019-11-05 13:18:17 -06:00
Andreas Baumbach
68a34a11bc new package: py-nose-cov (#13571)
* new package: py-nose-cov

* add missing dependencies
2019-11-05 12:57:31 -06:00
Andreas Baumbach
74c81c0fc3 update py-notebook (#13423)
* update py-jupyter-notebook

* add setuptools dependency for newer version
  the whole jupyter collection seems to use setuptools in case of
  certain setup.py-arguments from the very beginning. However the latest
  ones actually require it, otherwise the build will fail
* add newly introduced dependencies

* dependency constraints

* drop terminal variant and update python dep
2019-11-05 12:51:00 -06:00
Andreas Baumbach
35f0003c08 new package py-cfgv (#13592) 2019-11-05 12:47:52 -06:00
Andreas Baumbach
aa2972172a new package: py-identify (#13593) 2019-11-05 12:46:57 -06:00
Douglas Duckworth
54e1d57647 added relion 3.0.8 [latest stable version in 3.0 branch] as well as 3.1_beta (#13539)
* added relion 3.0.8 [latest stable version in 3.0 branch] as well as 3.1_beta

* relion 3.1 beta compiles without Benchmarking build type see https://github.com/3dem/relion/issues/533

* relion 3.0.X - 3.1 now supports latest cmake@3
2019-11-05 12:40:27 -06:00
Todd Gamblin
a6ccb5b2fa bugfix: uninstall should find concrete specs by DAG hash (#13598)
This fixes a regression introduced in #10792.  `spack uninstall` in an
environment would not match concrete query specs properly after the index
hash of enviroments changed.

- [x] Search by DAG hash for specs to remove instead of by build hash
2019-11-05 06:12:12 -07:00
Todd Gamblin
b77974e986 spack find now displays variants and other spec constraints (#13596)
If you do this in a spack environment:

    spack add hdf5+hl

hdf5+hl will be the root added to the `spack.yaml` file, and you should
really expect `hdf5+hl` to display as a root in the environment.

- [x] Add decoration to roots so that you can see the details about what
      is required to build.
- [x] Add a test.
2019-11-05 05:39:56 -07:00
Andreas Baumbach
527d639b0e new package py-testpath (#13417)
* new package py-testpath

dependency of py-nbconvert

* py-testpath: fix flake8

* Remove the unnecessary pip dependency
2019-11-04 19:39:25 -06:00
Andreas Baumbach
4f5d3770c7 update py-pyzmq (#13420)
* update py-zmq

* update dependencies
2019-11-04 19:38:19 -06:00
Andreas Baumbach
0341c38dff update py-jupyter-client and new setuptools dependency (#13425)
* update py-jupyter-client and new setuptools dependency

* update dependencies
2019-11-04 19:28:59 -06:00
xfzhao
18243695c9 Mothur update (#13580)
* add +vserach option

* fixes #967
2019-11-04 19:27:13 -06:00
Gregory Lee
7e2e93b787 added archer 2.0.0 and package build fixes (#13577) 2019-11-04 17:39:16 -06:00
Christoph Junghans
dd7ebcf2d9 portage: fix lapack/blas linkage (#13558) 2019-11-04 16:35:28 -07:00
Andreas Baumbach
0f3ffad430 py-colorama: new version 0.4.1 (#13562)
* py-colorama: new version 0.4.1

* add python dependency
2019-11-04 16:46:29 -06:00
Andreas Baumbach
0b93e95049 py-regex: new version 2019.11.1, w/o setuptools (#13563) 2019-11-04 16:45:47 -06:00
Andreas Baumbach
80f63f7f9b py-dataclasses: new package (#13564) 2019-11-04 16:44:11 -06:00
Andreas Baumbach
6b27d87e7a py-tzlocal: add new version 2.0.0 (#13565) 2019-11-04 16:43:15 -06:00
Andreas Baumbach
3bd7d7f211 new package: py-chai (#13567) 2019-11-04 16:41:28 -06:00
Andreas Baumbach
880a8d40ce new package: py-umalqurra (#13568) 2019-11-04 16:40:06 -06:00
Hadrien G
1114ae9375 Add ACTS v0.10.5 (#13556) 2019-11-04 11:43:45 -06:00
Sinan
bbb5284b42 py-astor: specify py-setuptools versions as build fail with latest version (#13533)
* specify py-setuptools dependency as build fail with latest version

* explain

* py-astor builds with setuptools@41.3
2019-11-04 10:21:59 -06:00
Stephen Herbein
19410461b7 Flux v0.11.1 - v0.11.3 (#13199)
* flux: add `url_for_version` to support their C4 repo model

Flux uses a fork of ZeroMQ's Collective Code Construction Contract
(https://github.com/flux-framework/rfc/blob/master/spec_1.adoc).
This model requires a repository fork for every stable release that has
patch releases.  For example, 0.8.0 and 0.9.0 are both tags within the
main repository, but 0.8.1 and 0.9.5 would be releases on the v0.8 and
v0.9 forks, respectively.

* flux: add latest versions

* flux: remove master from `when=@0.X:,master` statements

Now that #1983 has been merged, master > 0.X.0.

* flux-core: remove extraneous `99` patch version in `when` range

Replace `when=@:0.11.99` with `when=@:0.11` since the intention is to
include all patch versions of `0.11`.

* flux-core: fix `setup_build_environment` after changes in #13411

In #13411, `setup_environment` was split into `setup_build_environment`
and `setup_run_environment`, with the `spack_env` and `run_env`
arguments being changed to `env`.  Somehow the flux package was the only
one to not have its `spack_env` references in the function changed to
`env`.

* flux: add runtime environment variables that Flux checks

with older versions of Flux (i.e, 0.0:0.13), FLUX_CONNECTOR_PATH must be
set by spack to prevent failures in certain
scenarios (https://github.com/flux-framework/flux-core/issues/2456).

the flux binary also sets some other environment variables, which can be
listed by running `flux -v start`.  I added a few of those just to be
sure that the Spack-installed paths are used, rather than
system-installed ones.

* flux: add optional testing dependencies to maximize test coverage

Install optional dependencies to ensure that only spack-installed
software is detected and that all tests are run when `spack install
--test` is used.

Flux's test suite will test for the existance of valgrind, jq, and any
MPI installation.  If it detects them (even if they are system-installed
and outside the spack environment), it will run optional tests against
them.  I noticed on my machine that the valgrind tests were running
against the system-install valgrind.

* flux-sched: switch to new `setup_run_environment` API
2019-11-04 09:58:40 -06:00
Adam J. Stewart
903b0071cf Add latest version of py-pybind11 (#13552)
* Add latest version of py-pybind11

* setup_environment -> setup_build_environment
2019-11-04 02:00:02 -08:00
Omar Padron
0784ec1a6d bugfix: fetch prefers to fetch local mirrors over remote resources (#13545)
- [x] insert at beginning of list so fetch grabs local mirrors before remote resources
- [x] update the S3FetchStrategy so that it throws a SpackError if the fetch fails.  
      Before, it was throwing URLError, which was not being caught in stage.py.
- [x] move error handling out of S3FetchStrategy and into web_util.read_from_url()
- [x] pass string instead of URLError to SpackWebError
2019-11-03 17:11:30 -08:00
Simon Pintarelli
bcda14f825 Add py-voluptuous (#13457)
Data validation library
2019-11-03 18:48:52 -06:00
Justin S
1d8391a60c r-gstat: new package at 2.0-3 (#13131)
* r-gstat: new package at 2.0-3

* Update var/spack/repos/builtin/packages/r-gstat/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/r-gstat/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-03 18:35:08 -06:00
Greg Becker
aa7c229c8f environments: only write when necessary (#13546)
This changes Spack environments so that the YAML file associated with the environment is *only* written when necessary (i.e., if it is changed *by spack*).  The lockfile is still written out as before.

There is a larger question here of which part of Spack should be responsible for setting defaults in config files, and how we can get rid of empty lists and data structures currently cluttering files like `compilers.yaml`.  But that probably requires a rework of the default-setting validator in `spack.config`, as well as the code that uses `spack.config`.  This will at least help for `spack.yaml`.
2019-11-03 15:46:41 -08:00
Ricardo Silva
c42ebb0ccc Polymake: new version and more dependencies (#13399)
* New package: perl-term-readline-gnu

* polymake dependency

* perl-term-readline-gnu: flake8

* New package: perl-xml-libxslt

* polymake dependency

* ppl: new version 1.2

Conflicts:
	var/spack/repos/builtin/packages/ppl/package.py

* polymake: new version and dependencies

Conflicts:
	var/spack/repos/builtin/packages/polymake/package.py

* perl-xml-libxslt: missing dependency
2019-11-03 17:44:34 -06:00
Jannek Squar
9331a943ce New package py-wradlib with new dependencies (#13459)
* New package py-wradlib with new dependencies py-deprecation, py-semver, py-xmltodict

* Adjusted package source source

* Adjusted xarray package to use pypi-source

* Added dependencies

* Added explicit gdal+python dependency

* Concretised dependency versions

* Removed strict version range
2019-11-03 17:38:27 -06:00
Jannek Squar
c175be4420 Added dependencies (#13519)
* Added dependencies

* Adjusted dependency
2019-11-03 17:28:19 -06:00
Jannek Squar
ed037d0c5d Update package saga gis (#13520)
* Improvements of saga-gis package

* Added explicit version ranges for old saga-gis version

* Update var/spack/repos/builtin/packages/saga-gis/package.py

Creative usage of redefinition of getter method

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/saga-gis/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/saga-gis/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-03 17:26:53 -06:00
Daryl W. Grunau
ed89825557 constexpr_longdouble.patch should be applied to v6 too (#13548) 2019-11-03 16:47:41 -06:00
Adam J. Stewart
e12a738d84 Add latest version of protobuf (#13551) 2019-11-02 15:58:46 -05:00
Adam J. Stewart
573789f067 Add QNNPACK package (#13549) 2019-11-02 14:39:31 -05:00
健美猞猁
c43e6839d4 chgcentre: a new package. (#13500)
* chgcentre: a new package.

* flake8.
2019-11-02 12:58:57 -05:00
Adam J. Stewart
a8228e1aec spack create: http -> https (#13547) 2019-11-01 17:40:49 -05:00
Peter Scheibel
2e029fc2e5 Bugfix: respect order of mirrors in mirrors.yaml (#13544)
Commands like "spack mirror list" were displaying mirrors in a
different order than what was listed in the corresponding mirrors.yaml
file.

This restores commands to iterate over mirrors in the order that
they appear in the config file.
2019-11-01 14:02:08 -07:00
Greg Becker
24ec9f0ce3 environments: make shell modifications partially unconditional (#13523)
* environments: make shell modifications partially unconditional

* flake

* missing module name

* add regression test

* flake
2019-11-01 12:00:16 -05:00
Adam J. Stewart
f6e26c402b Add py-tables 3.6.1 (#13536) 2019-11-01 11:37:04 -05:00
Simon Pintarelli
854f45a136 libxc: update URL / new API (#13471)
- setup_environment -> setup_build_environment
- remove patch
2019-11-01 11:35:30 -05:00
Marc Mengel
2cea0633fa allow bootstrap buildcache install of patchelf (#13430)
* allow bootstrap buildcache install of patchelf

* file not path_name on one

* style

* add test for relocating patchelf

* blank lines..
2019-11-01 10:54:55 -05:00
Omar Padron
0f816561db bugfix: spack.util.url.join() now handles absolute paths correctly (#13488)
* fix issue where spack.util.url.join() failed to correctly handle absolute path components
* add url util tests
2019-11-01 03:42:43 -07:00
Gregory Lee
3bdab6f686 sbang: use utf-8 for encoding when patching (#13490)
This fixes a UnicodeDecodeError in the sbang patching function.
2019-11-01 03:39:45 -07:00
Massimiliano Culpo
390ffb80e7 Specs with quoted flags containing spaces are parsed correctly (#13521) 2019-11-01 03:38:11 -07:00
Massimiliano Culpo
42b8355269 targets: print a warning message before downgrading (#13513)
* Make package preferences a soft failure for targets, instead of a hard failure.
* Added unit tests for preferences expressed via packages.yaml
2019-11-01 03:36:28 -07:00
Satish Balay
43b18dada4 hypre: add version 2.18.2 (#13527) 2019-10-31 18:35:13 -05:00
Daniel Topa
93e87474fb dd Open MPI v. 4.0.2 (#13257)
Verification builds on LANL Darwin x86_64, ARM, and, Power9:

x86_64: OPTANE
dantopa@cn733:pr-openmpi-4.0.2.spack $ spack arch
linux-centos7-skylake_avx512

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 2m 15.65s.  Build: 6m 13.17s.  Total: 8m 28.82s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/openmpi-4.0.2-jrypg7vfnk6nl5if2rnzt65wdrjelxsq

NEHALEM
$ spack arch
linux-centos7-nehalem

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 50.48s.  Build: 9m 11.45s.  Total: 10m 1.93s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-centos7-nehalem/gcc-4.8.5/openmpi-4.0.2-4jz3bcwjci44taizt4jqzxqh4y75uswc

ARM
$ spack arch
linux-rhel7-aarch64

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 1m 10.47s.  Build: 11m 41.45s.  Total: 12m 51.92s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/openmpi-4.0.2-ygr77roadqzdnsdgqz3uactjqnb5nayn

POWER9
$ spack arch
linux-rhel7-power9le

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
==> Warning: Using GCC 4.8 to optimize for Power 8 might not work if you are not on Red Hat Enterprise Linux 7, where a custom backport of the feature has been done. Upstream support from GCC starts in version 4.9
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 23.95s.  Build: 9m 7.67s.  Total: 9m 31.62s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-rhel7-power8le/gcc-4.8.5/openmpi-4.0.2-cid4wfzr2iwgz6ybhkexludwu7koi266

$ spack find -ldf openmpi
==> 4 installed packages
-- linux-centos7-haswell / gcc@4.8.5 ----------------------------
jrypg7v openmpi@4.0.2%gcc
lliismp     hwloc@1.11.11%gcc
7dqpxas         libpciaccess@0.13.5%gcc
viidrh5         libxml2@2.9.9%gcc
yhvj3br         numactl@2.0.12%gcc
pkmj6e7     zlib@1.2.11%gcc

-- linux-centos7-nehalem / gcc@4.8.5 ----------------------------
4jz3bcw openmpi@4.0.2%gcc
pcauu6w     hwloc@1.11.11%gcc
yiqf6bj         libpciaccess@0.13.5%gcc
wpfgqf2         libxml2@2.9.9%gcc
fd2xpnm         numactl@2.0.12%gcc
xguzaxf     zlib@1.2.11%gcc

-- linux-rhel7-aarch64 / gcc@4.8.5 ------------------------------
ygr77ro openmpi@4.0.2%gcc
omy3xi2     hwloc@1.11.11%gcc
6a4he35         libpciaccess@0.13.5%gcc
txqo4cc         libxml2@2.9.9%gcc
m5neuus         numactl@2.0.12%gcc
67s2oqn     zlib@1.2.11%gcc

-- linux-rhel7-power8le / gcc@4.8.5 -----------------------------
cid4wfz openmpi@4.0.2%gcc
zcdnwb3     hwloc@1.11.11%gcc
lencfon         libpciaccess@0.13.5%gcc
bve4jop         libxml2@2.9.9%gcc
kajzqwg         numactl@2.0.12%gcc
tjbynt2     zlib@1.2.11%gcc

Thu Oct 17 19:02:50 MDT 2019

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-10-31 14:57:50 -07:00
Peter Scheibel
6ec39b6c81 Bugfix: BundlePackage staging/installation (#13524)
4af4487 added a mirror_id function to most FetchStrategy
implementations that is used to calculate resource locations in
mirrors. It left out BundleFetchStrategy which broke all packages
making use of BundlePackage (e.g. xsdk). This adds a noop
implementation of mirror_id to BundleFetchStrategy so that the
download/installation of BundlePackages can proceed as normal.
2019-10-31 12:56:38 -07:00
Adam J. Stewart
4b56933643 Docs: unlock requirement versions (#13384) 2019-10-31 14:21:05 -05:00
Adam J. Stewart
536486f0e5 Travis CI: Test Python 3.8 (#13347)
* Travis CI: Test Python 3.8

* Fix use of deprecated cgi.escape method

* Fix version comparison

* Fix flake8 F811 change in Python 3.8

* Make flake8 happy

* Use Python 3.8 for all test categories
2019-10-31 14:20:46 -05:00
Nichols A. Romero
14fdaca4b4 Bump up PGMath Library to latest version. More transparent name of the branch, version name equals branch name. (#13511) 2019-10-31 13:00:59 -05:00
Adam J. Stewart
b4a51084ab Add GRASS 7.8.0 (#13026)
* Add GRASS 7.8.0

* Add new variants/dependencies

* Remove unused dep

* Filter entire libiconv line
2019-10-31 12:48:54 -05:00
Christoph Junghans
a334007808 kokkos: turn host_values into a property (#13518)
* kokkos: turn host_values into a property

* Update package.py

* Update package.py
2019-10-31 12:46:05 -05:00
t-karatsu
e7f574aad5 ipopt: Add condition for 'aarch64' to Ipopt/config.guess (#13499) 2019-10-31 12:38:23 -05:00
Julien Loiseau
738f2e14ce MeshToolKit package (#12870)
* Adding flecsph package

* Correcting header

* Boost version update

* Correcting Flake8 errors

* Correcting headers

* Develop preferred in FleCSI

* Removing FleCSPH branch of FleCSI

* MeshToolKit package

* formatting

* Formatting

* Correcting MSTK package

* Format

* Update var/spack/repos/builtin/packages/mstk/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/mstk/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/mstk/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/mstk/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/mstk/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/mstk/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/mstk/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/mstk/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/mstk/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/mstk/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

* Format

* Format

* Correcting package behavior

* Correcting format

* Corrections

* Update var/spack/repos/builtin/packages/mstk/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Multiline
2019-10-31 12:32:54 -05:00
Robert Maynard
3d60c3ec10 VTK-m: Add support for the 1.5 release (#13514) 2019-10-31 12:04:19 -04:00
Christoph Junghans
187706f108 portage: fix lapacke linkage (#13517) 2019-10-31 09:42:18 -06:00
Greg Becker
a97faeb3c7 Documentation: Database.query methods share docstrings (#13515)
Currently, query arguments in the Spack core are documented on the
Database._query method, where the functionality is defined.

For users of the spack python command, this makes the python builtin
method help less than ideally useful, as help(spack.store.db.query)
and help(spack.store.db.query_local) do not show relevant information.

This PR updates the doc attributes for the Database.query and
Database.query_local arguments to mirror everything after the first
line of the Database._query docstring.
2019-10-30 16:47:48 -07:00
Greg Becker
230c6aa326 cpu: fix clang flags for generic x86_64 (#13491)
* cpu: differentiate flags used for pristine LLVM vs. Apple's version
2019-10-30 17:16:13 -05:00
Massimiliano Culpo
cf1c38162e cuda: fix conflict statements for x86-64 targets (#13472)
* cuda: fix conflict statements for x86-64 targets

fixes #13462

This build system mixin was not updated after the support for specific
targets has been merged.

* Updated the version range of cuda that conflicts with gcc@8:

* Updated the version range of cuda that conflicts with gcc@8: for ppc64le

* Relaxed conflicts for version > 10.1

* Updated versions in conflicts

Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
2019-10-30 09:25:46 -07:00
Gregory Lee
4626c28c27 fix openmpi wrappers with libfabric (#13439)
* fix openmpi wrappers with libfabric

* flake8 fix

* flake8 fix

* openmpi fix deprecated API

* openmpi fix deprecated API
2019-10-29 23:09:21 -05:00
t-karatsu
ad6908e35d mumps: Fix compile commands. (#13497) 2019-10-29 23:08:25 -05:00
Justin S
7af668f452 r-bio3d: new package at 2.3-4 (#13496) 2019-10-29 18:09:46 -05:00
Justin S
ccd20c9973 r-fields: new package at 9.9 (#13495) 2019-10-29 18:09:34 -05:00
Justin S
9a0ab3a87a r-spam: new package at 2.3-0.2 (#13494) 2019-10-29 18:09:16 -05:00
Justin S
4d345429ab r-dotcall64: new package at 1.0-0 (#13493)
* r-dotcall64: new package at 1.0-0

* r-dotcall64: break up long line
2019-10-29 18:09:05 -05:00
Justin S
d76ec7b2da r-dada2: new package at 1.14 (#13492)
* r-dada2: new package at 1.14

* r-dada2: add gmake dependency

* Update var/spack/repos/builtin/packages/r-dada2/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-10-29 18:08:51 -05:00
Peter Scheibel
c99d367a11 syaml_int type should use int.__repr__ rather than str.__repr__ (#13487) 2019-10-29 13:51:48 -07:00
t-karatsu
e29a6c532c mumps: Add '-DMAIN_COMP' when using Fujitsu compiler. (#13480) 2019-10-29 13:32:36 -05:00
Sinan
944ef2f690 new package: py-scs (#13477)
* new package: py-scs

* rename

* flake8

* Update var/spack/repos/builtin/packages/py-scs/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-10-29 13:11:31 -05:00
Tiziano Müller
0a5c184a5d CP2K: drop json-fortran dependency and add support for the Nvidia V100 (#13468)
* cp2k: drop json-fortran dep since that's now handled in SIRIUS internally

* cp2k: gained support for Nvidias V100
2019-10-29 14:08:58 +01:00
Tamara Dahlgren
3cf21e6edc bugfix: make spack -d test test_changed_files work (#13229)
The `test_changed_files` in `test/cmd/flake8.py` was failing because it calls
`ArgumentParser.parse_args()` without arguments.  Normally that would just
parse `sys.argv` but it seems to fail because of something in either `spack test`
or `pytest`.  Call it with an empty array so that it doesn't try to touch`sys.argv`
at all.

- [x] allow `-d` spack option for `test_changed_files`
2019-10-29 00:25:59 -07:00
Simon Pintarelli
aad8ea172c Add SpFFT: sparse 3D FFT library (#13458)
* Add SpFFT: sparse 3D FFT library

SpFFT is required as a dependency for SIRIUS

* cleanup

* add missing dependency
2019-10-28 22:57:07 -05:00
Sinan
bc930f310f new package: py-cvxpy (#13478)
* new package: py-cvxpy

* improve dependency specs
2019-10-28 22:55:08 -05:00
Sinan
95e0d118be new package: py-ecos (#13476)
* new package: py-ecos

* flake8
2019-10-28 20:30:40 -05:00
Sinan
330cd56517 new package: py-osqp (#13475) 2019-10-28 20:28:42 -05:00
Adam J. Stewart
2264e30d99 Update URL parsing regexes and tests (#13411)
* Update URL parsing regexes and tests

* Get rid of no longer used README

* Merge py-udunits and py-cf-units

* netcdf -> netcdf-c

* setup_environment -> setup_*_environment

* Fix doc tests

* Few last minute fixes

* Simplify prefix removal copypasta
2019-10-28 20:27:54 -05:00
Jim Galarowicz
4367e16740 Update the module files for cbtf-krell and openspeedshop (#13400)
* Update the module files for cbtf-krell and openspeedshop adding man paths and needed papi and libmonitor paths.

* Update module files for new API.

* Use the same python for both develop and release branches.
2019-10-28 17:36:12 -05:00
Sinan
e5b1dbf4b4 new Package/scs (#13454)
* new package: SCS

* make flake8 happy

* add missing patch, improve style

* fix typo

* Update var/spack/repos/builtin/packages/scs/package.py

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* move filefilter to edit phase
2019-10-28 17:33:32 -05:00
Cyrus Harrison
1b3f546ba4 update conduit for 0.5.0 release (#13455)
* add support for static (via ~shared) and use vtk-m 1.2

* updating vtkh package to output cmake configure file and pinning it to vtkm 1.2

* trying a different cmake for vtkh

* removing problematic b

* making conduit respect ~python

* fixing ascent python logic

* update ascent package

* consistant cmake usage

* conditionally add tbb in ascent if vtkh

* applying becker fix

* adding vtkh tag

* fixing vtkh tagged version

* updating ascent and conduit for static builds

* enabling openmp

* reverting files that should not have been changed

* ascent updates

* more robust handling of variants

* fixing ascent package typo

* ascent: add optional support for mfem

* enable mfem conduit support for ascent

* add optional adios dep to conduit

* remove ver req from conduit

* ascent: remove confusing comment

* tweaks to conduit and ascent pkg recipes

* fix typo in conduit package

* pref conduit master

* fixing mfem typo for ascent

* reverting files

* adding mirror for bzip

* changing mfem to depend on conduit@master to get updated relay

* restore use of conduit 0.3.1 or greater for mfem

* set master as prefered conduit version

* allow mfem to use conduit master

* adding rover package and editing ascent

* updating vtkm cmake dep

* updates from axom

* guard ascent python support on +shared

* removing rover to simply ascent package

* add fortran variant to conduit, to allow us to turn off conduit support even when a fortran compiler is specified

* fix fortran compiler check so it can work on cray systems

* working towards cuda fix for vtkm lagrange filter

* update ascent package with more variants, and patch to avoid nvcc issue

* hdf5 flags fix for BGQ

* flake8

* extra guards for cuda patch

* conduit and ascent fortran fix

* fix patch for non cuda case

* add test variant to conduit, tweak ascent pkg

* change min ver of cmake used for ascent

* h5z-zfp package: unset FC when ~fortran

* conform to expected upstream solution

* pinning vtkm

* going back to vtkm master

* add back vtk-m variant for shared libs

* update ascent and vtkh packages

* wire up option to run tests during install

* add post install test

* add testing to ascent

* tweak for blueos xl

* add ctest output on error for run_tests

* enable ctest output on error for run_tests

* add testing of the using-with-make example

* update using-with-make examples

* typo in ascent using-with-cmake test

* fix ascent using test exe names

* more fixes, less sleep

* more fixes, less sleep ...

* remove unwired up version

* improvments suggested on review

* adding new cmake

* Update package.py

* Update package.py

* changes post cori os update

* fix cray hack

* Update package.py

Fixing 'fix'. Inconsistent variable names in conduit package

* type in spack recipes

* add zfp support to conduit

* fix indent error in conduit pkg

* move to use build phases, add sphinx rtd as dep, fix ex names in tests

* add conduit 0.5.0 release

* flake8

* remove old cray hack

* incorp feedback from review

* fix to use proper build env sig
2019-10-28 17:32:16 -05:00
Kelly (KT) Thompson
ffb4e02a53 Fix gcc recipe for RHEL7. (#13460)
* Fix gcc recipe for RHEL7.

+ It appears that macOS related changes to the gcc recipe broke gcc on RHEL7.
  This bug manifests as `libstdc++.so: undefined reference to libiconv` when gcc
  is used.
+ Fixes #13452 by moving
  `--with-libiconv-prefix={0}'.format(spec['libiconv'].prefix)` into the darwin
  OS section of the configuration.
+ Change qualification of `depends_on(libiconv)` to limit dependency to macOS.

* Replace deprecated 'setup_environment' with 'setup_run_environment'.

* Fix cut and paste error.

* Rename 'run_env' to just 'env'.
2019-10-28 17:31:23 -05:00
Jon Rood
8786cb468a Paraview package: add version 5.7.0 and update environment setup (#13255)
Replace setup_environment/setup_dependent_environment with
setup__dependent_build_environment and setup_run_environment
according to 9ddc98e
2019-10-28 14:55:08 -07:00
Brian Van Essen
802c3c0c51 Packages: Add cuDNN versions; update LBANN dependencies (#13412)
* Add cuDNN version 7.6.3-10.1 (for x86_64 and ppc64le)
* Add py-pytest and py-protobuf depenencies to LBANN
2019-10-28 13:24:50 -07:00
Paul
f4e6f28e6d Go package: add versions (including 1.13.3) and update environment setup (#13254)
* Add versinos 1.13.3, 1.13.2, 1.12.12, and 1.12.11
* Replace setup_environment/setup_dependent_environment with
  setup_build_environment and setup_dependent_{build, run}_environment
  according to 9ddc98e
2019-10-28 13:19:14 -07:00
Adam J. Stewart
33a34f9619 Fix PyTorch build with Intel MKL (#13464) 2019-10-28 11:47:21 -05:00
Adam J. Stewart
b4e027e918 Output directory Spack is looking in for MKL libs (#13465) 2019-10-28 11:46:59 -05:00
Glenn Johnson
283b3e601c Update emacs to version 26.3 (#13469) 2019-10-28 11:46:27 -05:00
Mark Olesen
cacd0fb139 scotch: added version 6.0.8 (#13467) 2019-10-28 15:58:25 +01:00
wenlibin02
ba69ebc5f7 Add dependency and patch for perl-dbfile (#13261)
* Add dependency and patch perl-dbfile

There are two problems for the building of `perl-dbfile`:

1) this package depends on the package `berkeley-db`
2) fix the building using a patch, which locates the position of `berkeley-db` and modify the configuration file for the building

* Update and reformat the script package.py

* Simplify the patch

* Update package.py

* Update package.py
2019-10-27 22:31:10 -05:00
Nichols A. Romero
c11c3f2710 QE Update Oct 2019 (#13406)
* This filter_file was difficult to maintain and is no longer needed.

* Clarify lack of support for HDF5 in serial QE.

* Update QE and HDF5 conflicts based on user feedback.
2019-10-27 22:27:55 -05:00
Axel Huebl
7b86251bef Add Lizard (LZ5) (#13456)
* Add Lizard (LZ5)

Add a new package for Lizard, formerly LZ5, a very fast compressor
and decompressor library.

* c-blosc2: use external lizard

Use an external Lizard (LZ5) dependency and add missing
"when="s for other compressor dependents.
2019-10-27 22:24:27 -05:00
Glenn Johnson
1d760e79a6 Libbeagle fixes (#13463)
* Fixes for libbeagle

This PR fixes a couple of issues with the libbeagle package.

- Use args.append('--with-cuda=%s' % self.spec['cuda'].prefix)
- Disable the default of compiling with -march=native as Spack now
  inserts architecture specific flags
- Set BEAST_LIB in the beast1 package not in libbeagle.

* Use new setup_run_environment method
2019-10-27 22:24:06 -05:00
Andreas Baumbach
c0a2e8651b new package: py-pandocfilters (#13418)
dependency of py-nbconvert
2019-10-27 22:22:25 -05:00
Andreas Baumbach
ea6e279bbc LLVM code-signing on OSX: link to the offical documentation (#13428)
* LLVM code-signing on OSX: link to the offical documentation

* LLVM: update setup_environment method
2019-10-27 21:59:13 -05:00
Michael Kuhn
82428133d6 mariadb: Fix openssl dependencies (#13443) 2019-10-27 21:55:06 -05:00
Michael Kuhn
929ec39a63 mariadb-c-client: Add 3.1.4 (#13447) 2019-10-27 21:54:04 -05:00
Sinan
57f040753d new package: ecos (#13453) 2019-10-27 21:53:38 -05:00
Adam J. Stewart
59a6226f74 Update PyTorch variable name (#13461) 2019-10-27 19:21:06 -05:00
Axel Huebl
c107b7531c MPICH: Fix Slurm Find Issue (#13263)
Set include and library path to slurm explicitly.
2019-10-26 22:03:39 -04:00
Adam J. Stewart
d68b554cd3 Add latest version of py-fiscalyear (#13451) 2019-10-26 11:06:37 -05:00
5386 changed files with 101416 additions and 27395 deletions

View File

@@ -11,6 +11,5 @@ ignore:
- lib/spack/docs/.*
- lib/spack/external/.*
- share/spack/qa/.*
- share/spack/spack-completion.bash
comment: off

View File

@@ -9,6 +9,7 @@ omit =
lib/spack/spack/test/*
lib/spack/docs/*
lib/spack/external/*
share/spack/qa/*
[report]
# Regexes for lines to exclude from consideration

View File

@@ -9,7 +9,7 @@
#
# Note that we also add *per-line* exemptions for certain patterns in the
# `spack flake8` command. This is where F403 for `from spack import *`
# is added (beause we *only* allow that wildcard).
# is added (because we *only* allow that wildcard).
#
# See .flake8 for regular exceptions.
#

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.py diff=python

View File

@@ -1,14 +1,11 @@
---
name: Bug report
about: Report a bug in the core of Spack (command not working as expected, etc.)
labels: bug
name: "\U0001F41E Bug report"
about: Report a bug in the core of Spack (command not working as expected, etc.)
labels: "bug,triage"
---
*Explain, in a clear and concise way, the command you ran and the result you were trying to achieve.
Example: "I ran Spack find to list all the installed packages and..."*
<!-- Explain, in a clear and concise way, the command you ran and the result you were trying to achieve.
Example: "I ran `spack find` to list all the installed packages and ..." -->
### Steps to reproduce the issue
@@ -20,30 +17,26 @@ $ spack <command2> <spec>
### Error Message
If Spack reported an error, provide the error message. If it did not report an error
but the output appears incorrect, provide the incorrect output. If there was no error
message and no output but the result is incorrect, describe how it does not match
what you expect. To provide more information you might re-run the commands with
the additional -d/--stacktrace flags:
<!-- If Spack reported an error, provide the error message. If it did not report an error but the output appears incorrect, provide the incorrect output. If there was no error message and no output but the result is incorrect, describe how it does not match what you expect. -->
```console
$ spack -d --stacktrace <command1> <spec>
$ spack -d --stacktrace <command2> <spec>
...
$ spack --debug --stacktrace <command>
```
that activate the full debug output.
### Information on your system
This includes:
<!-- Please include the output of `spack debug report` -->
1. which platform you are using
2. any relevant configuration detail (custom `packages.yaml` or `modules.yaml`, etc.)
<!-- If you have any relevant configuration detail (custom `packages.yaml` or `modules.yaml`, etc.) you can add that here as well. -->
-----
### Additional information
We encourage you to try, as much as possible, to reduce your problem to the minimal example that still reproduces the issue. That would help us a lot in fixing it quickly and effectively!
<!-- These boxes can be checked by replacing [ ] with [x] or by clicking them after submitting the issue. -->
- [ ] I have run `spack debug report` and reported the version of Spack/Python/Platform
- [ ] I have searched the issues of this repo and believe this is not a duplicate
- [ ] I have run the failing commands in debug mode and reported the output
<!-- We encourage you to try, as much as possible, to reduce your problem to the minimal example that still reproduces the issue. That would help us a lot in fixing it quickly and effectively!
If you want to ask a question about the tool (how to use it, what it can currently do, etc.), try the `#general` channel on our Slack first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue.
Other than that, thanks for taking the time to contribute to Spack!
Other than that, thanks for taking the time to contribute to Spack! -->

View File

@@ -1,78 +1,43 @@
---
name: Build error
about: Some package in Spack didn't build correctly
name: "\U0001F4A5 Build error"
about: Some package in Spack didn't build correctly
title: "Installation issue: "
labels: "build-error"
---
*Thanks for taking the time to report this build failure. To proceed with the
report please:*
<!-- Thanks for taking the time to report this build failure. To proceed with the report please:
1. Title the issue "Installation issue: <name-of-the-package>".
2. Provide the information required below.
3. Remove the template instructions before posting the issue.
We encourage you to try, as much as possible, to reduce your problem to the minimal example that still reproduces the issue. That would help us a lot in fixing it quickly and effectively!
---
We encourage you to try, as much as possible, to reduce your problem to the minimal example that still reproduces the issue. That would help us a lot in fixing it quickly and effectively! -->
### Steps to reproduce the issue
<!-- Fill in the exact spec you are trying to build and the relevant part of the error message -->
```console
$ spack install <spec> # Fill in the exact spec you are using
... # and the relevant part of the error message
$ spack install <spec>
...
```
### Platform and user environment
### Information on your system
Please report your OS here:
```commandline
$ uname -a
Linux nuvolari 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -d
Description: Ubuntu 18.04.1 LTS
```
and, if relevant, post or attach:
<!-- Please include the output of `spack debug report` -->
- `packages.yaml`
- `compilers.yaml`
to the issue
<!-- If you have any relevant configuration detail (custom `packages.yaml` or `modules.yaml`, etc.) you can add that here as well. -->
### Additional information
Sometimes the issue benefits from additional details. In these cases there are
a few things we can suggest doing. First of all, you can post the full output of:
```console
$ spack spec --install-status <spec>
...
```
to show people whether Spack installed a faulty software or if it was not able to
build it at all.
<!-- Please upload the following files. They should be present in the stage directory of the failing build. Also upload any config.log or similar file if one exists. -->
* [spack-build-out.txt]()
* [spack-build-env.txt]()
If your build didn't make it past the configure stage, Spack as also commands to parse
logs and report error and warning messages:
```console
$ spack log-parse --show=errors,warnings <file-to-parse>
```
You might want to run this command on the `config.log` or any other similar file
found in the stage directory:
```console
$ spack location -s <spec>
```
In case in `config.log` there are other settings that you think might be the cause
of the build failure, you can consider attaching the file to this issue.
<!-- Some packages have maintainers who have volunteered to debug build failures. Run `spack maintainers <name-of-the-package>` and @mention them here if they exist. -->
Rebuilding the package with the following options:
```console
$ spack -d install -j 1 <spec>
...
```
will provide additional debug information. After the failure you will find two files in the current directory:
### General information
1. `spack-cc-<spec>.in`, which contains details on the command given in input
to Spack's compiler wrapper
1. `spack-cc-<spec>.out`, which contains the command used to compile / link the
failed object after Spack's compiler wrapper did its processing
You can post or attach those files to provide maintainers with more information on what
is causing the failure.
<!-- These boxes can be checked by replacing [ ] with [x] or by clicking them after submitting the issue. -->
- [ ] I have run `spack debug report` and reported the version of Spack/Python/Platform
- [ ] I have run `spack maintainers <name-of-the-package>` and @mentioned any maintainers
- [ ] I have uploaded the build log and environment files
- [ ] I have searched the issues of this repo and believe this is not a duplicate

View File

@@ -1,28 +1,33 @@
---
name: Feature request
name: "\U0001F38A Feature request"
about: Suggest adding a feature that is not yet in Spack
labels: feature
---
*Please add a concise summary of your suggestion here.*
<!--*Please add a concise summary of your suggestion here.*-->
### Rationale
*Is your feature request related to a problem? Please describe it!*
<!--*Is your feature request related to a problem? Please describe it!*-->
### Description
*Describe the solution you'd like and the alternatives you have considered.*
<!--*Describe the solution you'd like and the alternatives you have considered.*-->
### Additional information
*Add any other context about the feature request here.*
<!--*Add any other context about the feature request here.*-->
-----
### General information
- [ ] I have run `spack --version` and reported the version of Spack
- [ ] I have searched the issues of this repo and believe this is not a duplicate
If you want to ask a question about the tool (how to use it, what it can currently do, etc.), try the `#general` channel on our Slack first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue.
Other than that, thanks for taking the time to contribute to Spack!
<!--If you want to ask a question about the tool (how to use it, what it can currently do, etc.), try the `#general` channel on our Slack first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue.
Other than that, thanks for taking the time to contribute to Spack!
-->

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)

5
.github/workflows/install_spack.sh vendored Executable file
View File

@@ -0,0 +1,5 @@
#!/usr/bin/env sh
git clone https://github.com/spack/spack.git
echo -e "config:\n build_jobs: 2" > spack/etc/spack/config.yaml
. spack/share/spack/setup-env.sh
spack compilers

View File

@@ -0,0 +1,56 @@
name: linux builds
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
paths-ignore:
# Don't run if we only modified packages in the built-in repository
- 'var/spack/repos/builtin/**'
- '!var/spack/repos/builtin/packages/lz4/**'
- '!var/spack/repos/builtin/packages/mpich/**'
- '!var/spack/repos/builtin/packages/tut/**'
- '!var/spack/repos/builtin/packages/py-setuptools/**'
- '!var/spack/repos/builtin/packages/openjpeg/**'
- '!var/spack/repos/builtin/packages/r-rcpp/**'
# Don't run if we only modified documentation
- 'lib/spack/docs/**'
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
package: [lz4, mpich, tut, py-setuptools, openjpeg, r-rcpp]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ~/.ccache
key: ccache-build-${{ matrix.package }}
restore-keys: |
ccache-build-${{ matrix.package }}
- uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install System Packages
run: |
sudo apt-get update
sudo apt-get -yqq install ccache gfortran perl perl-base r-base r-base-core r-base-dev findutils openssl libssl-dev libpciaccess-dev
R --version
perl --version
- name: Copy Configuration
run: |
ccache -M 300M && ccache -z
# Set up external deps for build tests, b/c they take too long to compile
cp share/spack/qa/configuration/*.yaml etc/spack/
- name: Run the build test
run: |
. share/spack/setup-env.sh
SPEC=${{ matrix.package }} share/spack/qa/run-build-tests
ccache -s

114
.github/workflows/linux_unit_tests.yaml vendored Normal file
View File

@@ -0,0 +1,114 @@
name: linux tests
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
jobs:
unittests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install System packages
run: |
sudo apt-get -y update
sudo apt-get install -y coreutils gfortran graphviz gnupg2 mercurial ninja-build patchelf
# Needed for kcov
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools codecov coverage
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Install kcov for bash script coverage
env:
KCOV_VERSION: 34
run: |
KCOV_ROOT=$(mktemp -d)
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
mkdir -p ${KCOV_ROOT}/build
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Run unit tests
env:
COVERAGE: true
run: |
share/spack/qa/run-unit-tests
coverage combine
coverage xml
- uses: codecov/codecov-action@v1
with:
flags: unittests,linux
shell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install System packages
run: |
sudo apt-get -y update
sudo apt-get install -y coreutils gfortran gnupg2 mercurial ninja-build patchelf zsh fish
# Needed for kcov
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools codecov coverage
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Install kcov for bash script coverage
env:
KCOV_VERSION: 38
run: |
KCOV_ROOT=$(mktemp -d)
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
mkdir -p ${KCOV_ROOT}/build
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Run shell tests
env:
COVERAGE: true
run: |
share/spack/qa/run-shell-tests
- uses: codecov/codecov-action@v1
with:
flags: shelltests,linux
centos6:
# Test for Python2.6 run on Centos 6
runs-on: ubuntu-latest
container: spack/github-actions:centos6
steps:
- name: Run unit tests
env:
HOME: /home/spack-test
run: |
whoami && echo $HOME && cd $HOME
git clone https://github.com/spack/spack.git && cd spack
git fetch origin ${{ github.ref }}:test-branch
git checkout test-branch
share/spack/qa/run-unit-tests

58
.github/workflows/macos_python.yml vendored Normal file
View File

@@ -0,0 +1,58 @@
# These are nightly package tests for macOS
# focus areas:
# - initial user experience
# - scientific python stack
name: macOS builds nightly
on:
schedule:
# nightly at 1 AM
- cron: '0 1 * * *'
# GitHub Action Limits
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
jobs:
install_gcc:
name: gcc with clang
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: spack install
run: |
. .github/workflows/install_spack.sh
spack install -v gcc
install_jupyter_clang:
name: jupyter
runs-on: macos-latest
timeout-minutes: 700
steps:
- uses: actions/checkout@v2
- name: spack install
run: |
. .github/workflows/install_spack.sh
spack install -v py-jupyter %clang
install_scipy_clang:
name: scipy, mpl, pd
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: spack install
run: |
. .github/workflows/install_spack.sh
spack install -v py-scipy %clang
spack install -v py-matplotlib %clang
spack install -v py-pandas %clang
install_mpi4py_clang:
name: mpi4py, petsc4py
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: spack install
run: |
. .github/workflows/install_spack.sh
spack install -v py-mpi4py %clang
spack install -v py-petsc4py %clang

43
.github/workflows/macos_unit_tests.yaml vendored Normal file
View File

@@ -0,0 +1,43 @@
name: macos tests
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools
pip install --upgrade codecov coverage
pip install --upgrade flake8 pep8-naming
- name: Setup Homebrew packages
run: |
brew update
brew upgrade
brew install gcc gnupg2 dash kcov
- name: Run unit tests
run: |
git --version
. .github/workflows/setup_git.sh
. share/spack/setup-env.sh
coverage run $(which spack) test
coverage combine
coverage xml
- uses: codecov/codecov-action@v1
with:
file: ./coverage.xml
flags: unittests,macos

9
.github/workflows/setup_git.sh vendored Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env sh
git config --global user.email "spack@example.com"
git config --global user.name "Test User"
# With fetch-depth: 0 we have a remote develop
# but not a local branch. Don't do this on develop
if [ "$(git branch --show-current)" != "develop" ]
then
git branch develop origin/develop
fi

65
.github/workflows/style_and_docs.yaml vendored Normal file
View File

@@ -0,0 +1,65 @@
name: style and docs
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Install Python Packages
run: |
pip install --upgrade pip
pip install --upgrade vermin
- name: Minimum Version (Spack's Core)
run: vermin --backport argparse -t=2.6- -t=3.5- -v lib/spack/spack/ lib/spack/llnl/ bin/
- name: Minimum Version (Repositories)
run: vermin --backport argparse -t=2.6- -t=3.5- -v var/spack/repos
flake8:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools flake8
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Run flake8 tests
run: |
share/spack/qa/run-flake8-tests
documentation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install System packages
run: |
sudo apt-get -y update
sudo apt-get install -y coreutils ninja-build graphviz
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools
pip install --upgrade -r lib/spack/docs/requirements.txt
- name: Build documentation
run: |
share/spack/qa/run-doc-tests

11
.gitignore vendored
View File

@@ -4,6 +4,7 @@
/var/spack/environments
/var/spack/repos/*/index.yaml
/var/spack/repos/*/lock
__pycache__/
*.pyc
/opt
*~
@@ -22,8 +23,18 @@
.coverage
\#*
.#*
.cache
lib/spack/spack/test/.cache
/bin/spackc
*.in.log
*.out.log
*.orig
# Eclipse files
.project
.cproject
.pydevproject
# VSCode files
.vscode
.devcontainer

View File

@@ -1,14 +0,0 @@
# Copyright 2013-2019 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)
generate ci jobs:
script:
- "./bin/generate-gitlab-ci-yml.sh"
tags:
- "spack-pre-ci"
artifacts:
paths:
- ci-generation
when: always

View File

@@ -1,228 +0,0 @@
#=============================================================================
# Project settings
#=============================================================================
# Only build master and develop on push; do not build every branch.
branches:
only:
- master
- develop
- /^releases\/.*$/
#=============================================================================
# Build matrix
#=============================================================================
dist: xenial
jobs:
fast_finish: true
include:
- stage: 'style checks'
python: '3.8'
os: linux
language: python
env: TEST_SUITE=flake8
# Shell integration with module files
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=bootstrap ]
- stage: 'unit tests + documentation'
python: '2.6'
dist: trusty
os: linux
language: python
env: [ TEST_SUITE=unit, COVERAGE=true ]
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=unit, COVERAGE=true ]
- python: '3.5'
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.6'
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.7'
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=unit, COVERAGE=true ]
- python: '3.8'
os: linux
language: python
env: TEST_SUITE=doc
- os: osx
language: generic
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7, COVERAGE=true ]
if: type != pull_request
# mpich (AutotoolsPackage)
- stage: 'build tests'
python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=mpich' ]
# astyle (MakefilePackage)
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=astyle' ]
# tut (WafPackage)
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=tut' ]
# py-setuptools (PythonPackage)
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=py-setuptools' ]
# perl-dbi (PerlPackage)
# - python: '3.8'
# os: linux
# language: python
# env: [ TEST_SUITE=build, 'SPEC=perl-dbi' ]
# openjpeg (CMakePackage + external cmake)
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=openjpeg' ]
# r-rcpp (RPackage + external R)
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=r-rcpp' ]
# mpich (AutotoolsPackage)
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=mpich' ]
- python: '3.8'
stage: 'docker build'
os: linux
language: python
env: TEST_SUITE=docker
allow_failures:
- env: TEST_SUITE=docker
stages:
- 'style checks'
- 'unit tests + documentation'
- 'build tests'
- name: 'docker build'
if: type = push AND branch IN (develop, master)
#=============================================================================
# Environment
#=============================================================================
# Docs need graphviz to build
addons:
# for Linux builds, we use APT
apt:
packages:
- ccache
- cmake
- gfortran
- graphviz
- gnupg2
- kcov
- mercurial
- ninja-build
- perl
- perl-base
- realpath
- r-base
- r-base-core
- r-base-dev
- zsh
# for Mac builds, we use Homebrew
homebrew:
packages:
- python@2
- gcc
- gnupg2
- ccache
- dash
- kcov
update: true
# ~/.ccache needs to be cached directly as Travis is not taking care of it
# (possibly because we use 'language: python' and not 'language: c')
cache:
pip: true
ccache: true
directories:
- ~/.mirror
- ~/.ccache
# Work around Travis's lack of support for Python on OSX
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
pip2 install --upgrade pip;
pip2 install virtualenv;
virtualenv venv;
source venv/bin/activate;
fi
- ccache -M 2G && ccache -z
# Install various dependencies
install:
- pip install --upgrade pip
- pip install --upgrade six
- pip install --upgrade setuptools
- pip install --upgrade codecov coverage==4.5.4
- pip install --upgrade flake8
- pip install --upgrade pep8-naming
- if [[ "$TEST_SUITE" == "doc" ]]; then
pip install --upgrade -r lib/spack/docs/requirements.txt;
fi
before_script:
# Need this for the git tests to succeed.
- git config --global user.email "spack@example.com"
- git config --global user.name "Test User"
# Need this to be able to compute the list of changed files
- git fetch origin ${TRAVIS_BRANCH}:${TRAVIS_BRANCH}
# Set up external deps for build tests, b/c they take too long to compile
- if [[ "$TEST_SUITE" == "build" ]]; then
cp share/spack/qa/configuration/*.yaml etc/spack/;
fi
#=============================================================================
# Building
#=============================================================================
services:
- docker
script:
- share/spack/qa/run-$TEST_SUITE-tests
after_success:
- ccache -s
- case "$TEST_SUITE" in
unit)
if [[ "$COVERAGE" == "true" ]]; then
codecov --env PYTHON_VERSION
--required
--flags "${TEST_SUITE}${TRAVIS_OS_NAME}";
fi
;;
esac
#=============================================================================
# Notifications
#=============================================================================
notifications:
email:
recipients: tgamblin@llnl.gov
on_success: change
on_failure: always

View File

@@ -1,3 +1,285 @@
# v0.15.4 (2020-08-12)
This release contains one feature addition:
* Users can set `SPACK_GNUPGHOME` to override Spack's GPG path (#17139)
Several bugfixes for CUDA, binary packaging, and `spack -V`:
* CUDA package's `.libs` method searches for `libcudart` instead of `libcuda` (#18000)
* Don't set `CUDAHOSTCXX` in environments that contain CUDA (#17826)
* `buildcache create`: `NoOverwriteException` is a warning, not an error (#17832)
* Fix `spack buildcache list --allarch` (#17884)
* `spack -V` works with `releases/latest` tag and shallow clones (#17884)
And fixes for GitHub Actions and tests to ensure that CI passes on the
release branch (#15687, #17279, #17328, #17377, #17732).
# v0.15.3 (2020-07-28)
This release contains the following bugfixes:
* Fix handling of relative view paths (#17721)
* Fixes for binary relocation (#17418, #17455)
* Fix redundant printing of error messages in build environment (#17709)
It also adds a support script for Spack tutorials:
* Add a tutorial setup script to share/spack (#17705, #17722)
# v0.15.2 (2020-07-23)
This minor release includes two new features:
* Spack install verbosity is decreased, and more debug levels are added (#17546)
* The $spack/share/spack/keys directory contains public keys that may be optionally trusted for public binary mirrors (#17684)
This release also includes several important fixes:
* MPICC and related variables are now cleand in the build environment (#17450)
* LLVM flang only builds CUDA offload components when +cuda (#17466)
* CI pipelines no longer upload user environments that can contain secrets to the internet (#17545)
* CI pipelines add bootstrapped compilers to the compiler config (#17536)
* `spack buildcache list` does not exit on first failure and lists later mirrors (#17565)
* Apple's "gcc" executable that is an apple-clang compiler does not generate a gcc compiler config (#17589)
* Mixed compiler toolchains are merged more naturally across different compiler suffixes (#17590)
* Cray Shasta platforms detect the OS properly (#17467)
* Additional more minor fixes.
# v0.15.1 (2020-07-10)
This minor release includes several important fixes:
* Fix shell support on Cray (#17386)
* Fix use of externals installed with other Spack instances (#16954)
* Fix gcc+binutils build (#9024)
* Fixes for usage of intel-mpi (#17378 and #17382)
* Fixes to Autotools config.guess detection (#17333 and #17356)
* Update `spack install` message to prompt user when an environment is not
explicitly activated (#17454)
This release also adds a mirror for all sources that are
fetched in Spack (#17077). It is expected to be useful when the
official website for a Spack package is unavailable.
# v0.15.0 (2020-06-28)
`v0.15.0` is a major feature release.
## Major Features in this release
1. **Cray support** Spack will now work properly on Cray "Cluster"
systems (non XC systems) and after a `module purge` command on Cray
systems. See #12989
2. **Virtual package configuration** Virtual packages are allowed in
packages.yaml configuration. This allows users to specify a virtual
package as non-buildable without needing to specify for each
implementation. See #14934
3. **New config subcommands** This release adds `spack config add` and
`spack config remove` commands to add to and remove from yaml
configuration files from the CLI. See #13920
4. **Environment activation** Anonymous environments are **no longer**
automatically activated in the current working directory. To activate
an environment from a `spack.yaml` file in the current directory, use
the `spack env activate .` command. This removes a concern that users
were too easily polluting their anonymous environments with accidental
installations. See #17258
5. **Apple clang compiler** The clang compiler and the apple-clang
compiler are now separate compilers in Spack. This allows Spack to
improve support for the apple-clang compiler. See #17110
6. **Finding external packages** Spack packages can now support an API
for finding external installations. This allows the `spack external
find` command to automatically add installations of those packages to
the user's configuration. See #15158
## Additional new features of note
* support for using Spack with the fish shell (#9279)
* `spack load --first` option to load first match (instead of prompting user) (#15622)
* support the Cray cce compiler both new and classic versions (#17256, #12989)
* `spack dev-build` command:
* supports stopping before a specified phase (#14699)
* supports automatically launching a shell in the build environment (#14887)
* `spack install --fail-fast` allows builds to fail at the first error (rather than best-effort) (#15295)
* environments: SpecList references can be dereferenced as compiler or dependency constraints (#15245)
* `spack view` command: new support for a copy/relocate view type (#16480)
* ci pipelines: see documentation for several improvements
* `spack mirror -a` command now supports excluding packages (#14154)
* `spack buildcache create` is now environment-aware (#16580)
* module generation: more flexible format for specifying naming schemes (#16629)
* lmod module generation: packages can be configured as core specs for lmod hierarchy (#16517)
## Deprecations and Removals
The following commands were deprecated in v0.13.0, and have now been removed:
* `spack configure`
* `spack build`
* `spack diy`
The following commands were deprecated in v0.14.0, and will be removed in the next major release:
* `spack bootstrap`
## Bugfixes
Some of the most notable bugfixes in this release include:
* Spack environments can now contain the string `-h` (#15429)
* The `spack install` gracefully handles being backgrounded (#15723, #14682)
* Spack uses `-isystem` instead of `-I` in cases that the underlying build system does as well (#16077)
* Spack no longer prints any specs that cannot be safely copied into a Spack command (#16462)
* Incomplete Spack environments containing python no longer cause problems (#16473)
* Several improvements to binary package relocation
## Package Improvements
The Spack project is constantly engaged in routine maintenance,
bugfixes, and improvements for the package ecosystem. Of particular
note in this release are the following:
* Spack now contains 4339 packages. There are 430 newly supported packages in v0.15.0
* GCC now builds properly on ARM architectures (#17280)
* Python: patched to support compiling mixed C/C++ python modules through distutils (#16856)
* improvements to pytorch and py-tensorflow packages
* improvements to major MPI implementations: mvapich2, mpich, openmpi, and others
## Spack Project Management:
* Much of the Spack CI infrastructure has moved from Travis to GitHub Actions (#16610, #14220, #16345)
* All merges to the `develop` branch run E4S CI pipeline (#16338)
* New `spack debug report` command makes reporting bugs easier (#15834)
# v0.14.2 (2020-04-15)
This is a minor release on the `0.14` series. It includes performance
improvements and bug fixes:
* Improvements to how `spack install` handles foreground/background (#15723)
* Major performance improvements for reading the package DB (#14693, #15777)
* No longer check for the old `index.yaml` database file (#15298)
* Properly activate environments with '-h' in the name (#15429)
* External packages have correct `.prefix` in environments/views (#15475)
* Improvements to computing env modifications from sourcing files (#15791)
* Bugfix on Cray machines when getting `TERM` env variable (#15630)
* Avoid adding spurious `LMOD` env vars to Intel modules (#15778)
* Don't output [+] for mock installs run during tests (#15609)
# v0.14.1 (2020-03-20)
This is a bugfix release on top of `v0.14.0`. Specific fixes include:
* several bugfixes for parallel installation (#15339, #15341, #15220, #15197)
* `spack load` now works with packages that have been renamed (#14348)
* bugfix for `suite-sparse` installation (#15326)
* deduplicate identical suffixes added to module names (#14920)
* fix issues with `configure_args` during module refresh (#11084)
* increased test coverage and test fixes (#15237, #15354, #15346)
* remove some unused code (#15431)
# v0.14.0 (2020-02-23)
`v0.14.0` is a major feature release, with 3 highlighted features:
1. **Distributed builds.** Multiple Spack instances will now coordinate
properly with each other through locks. This works on a single node
(where you've called `spack` several times) or across multiple nodes
with a shared filesystem. For example, with SLURM, you could build
`trilinos` and its dependencies on 2 24-core nodes, with 3 Spack
instances per node and 8 build jobs per instance, with `srun -N 2 -n 6
spack install -j 8 trilinos`. This requires a filesystem with locking
enabled, but not MPI or any other library for parallelism.
2. **Build pipelines.** You can also build in parallel through Gitlab
CI. Simply create a Spack environment and push it to Gitlab to build
on Gitlab runners. Pipeline support is now integrated into a single
`spack ci` command, so setting it up is easier than ever. See the
[Pipelines section](https://spack.readthedocs.io/en/v0.14.0/pipelines.html)
in the docs.
3. **Container builds.** The new `spack containerize` command allows you
to create a Docker or Singularity recipe from any Spack environment.
There are options to customize the build if you need them. See the
[Container Images section](https://spack.readthedocs.io/en/latest/containers.html)
in the docs.
In addition, there are several other new commands, many bugfixes and
improvements, and `spack load` no longer requires modules, so you can use
it the same way on your laptop or on your supercomputer.
Spack grew by over 300 packages since our last release in November 2019,
and the project grew to over 500 contributors. Thanks to all of you for
making yet another great release possible. Detailed notes below.
## Major new core features
* Distributed builds: spack instances coordinate and build in parallel (#13100)
* New `spack ci` command to manage CI pipelines (#12854)
* Generate container recipes from environments: `spack containerize` (#14202)
* `spack load` now works without using modules (#14062, #14628)
* Garbage collect old/unused installations with `spack gc` (#13534)
* Configuration files all set environment modifications the same way (#14372,
[docs](https://spack.readthedocs.io/en/v0.14.0/configuration.html#environment-modifications))
* `spack commands --format=bash` auto-generates completion (#14393, #14607)
* Packages can specify alternate fetch URLs in case one fails (#13881)
## Improvements
* Improved locking for concurrency with environments (#14676, #14621, #14692)
* `spack test` sends args to `pytest`, supports better listing (#14319)
* Better support for aarch64 and cascadelake microarch (#13825, #13780, #13820)
* Archspec is now a separate library (see https://github.com/archspec/archspec)
* Many improvements to the `spack buildcache` command (#14237, #14346,
#14466, #14467, #14639, #14642, #14659, #14696, #14698, #14714, #14732,
#14929, #15003, #15086, #15134)
## Selected Bugfixes
* Compilers now require an exact match on version (#8735, #14730, #14752)
* Bugfix for patches that specified specific versions (#13989)
* `spack find -p` now works in environments (#10019, #13972)
* Dependency queries work correctly in `spack find` (#14757)
* Bugfixes for locking upstream Spack instances chains (#13364)
* Fixes for PowerPC clang optimization flags (#14196)
* Fix for issue with compilers and specific microarchitectures (#13733, #14798)
## New commands and options
* `spack ci` (#12854)
* `spack containerize` (#14202)
* `spack gc` (#13534)
* `spack load` accepts `--only package`, `--only dependencies` (#14062, #14628)
* `spack commands --format=bash` (#14393)
* `spack commands --update-completion` (#14607)
* `spack install --with-cache` has new option: `--no-check-signature` (#11107)
* `spack test` now has `--list`, `--list-long`, and `--list-names` (#14319)
* `spack install --help-cdash` moves CDash help out of the main help (#13704)
## Deprecations
* `spack release-jobs` has been rolled into `spack ci`
* `spack bootstrap` will be removed in a future version, as it is no longer
needed to set up modules (see `spack load` improvements above)
## Documentation
* New section on building container images with Spack (see
[docs](https://spack.readthedocs.io/en/latest/containers.html))
* New section on using `spack ci` command to build pipelines (see
[docs](https://spack.readthedocs.io/en/latest/pipelines.html))
* Document how to add conditional dependencies (#14694)
* Document how to use Spack to replace Homebrew/Conda (#13083, see
[docs](https://spack.readthedocs.io/en/latest/workflows.html#using-spack-to-replace-homebrew-conda))
## Important package changes
* 3,908 total packages (345 added since 0.13.0)
* Added first cut at a TensorFlow package (#13112)
* We now build R without "recommended" packages, manage them w/Spack (#12015)
* Elpa and OpenBLAS now leverage microarchitecture support (#13655, #14380)
* Fix `octave` compiler wrapper usage (#14726)
* Enforce that packages in `builtin` aren't missing dependencies (#13949)
# v0.13.4 (2020-02-07)
This release contains several bugfixes:
@@ -16,8 +298,8 @@ RHEL8.
* mirror bugfixes: symlinks, duplicate patches, and exception handling (#13789)
* don't try to fetch `BundlePackages` (#13908)
* avoid re-fetching patches already added to a mirror (#13908)
* avoid re-fetching alread added patches (#13908)
* avoid re-fetching alread added patches (#13908)
* avoid re-fetching already added patches (#13908)
* avoid re-fetching already added patches (#13908)
* allow repeated invocations of `spack mirror create` on the same dir (#13908)
* bugfix for RHEL8 when `python` is unavailable (#14252)
* improve concretization performance in environments (#14190)

View File

@@ -68,10 +68,6 @@ PackageName: py
PackageHomePage: https://pypi.python.org/pypi/py
PackageLicenseDeclared: MIT
PackageName: pyqver
PackageHomePage: https://github.com/ghewgill/pyqver
PackageLicenseDeclared: BSD-3-Clause
PackageName: pytest
PackageHomePage: https://pypi.python.org/pypi/pytest
PackageLicenseDeclared: MIT

View File

@@ -1,4 +1,4 @@
Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
Permission is hereby granted, free of charge, to any person obtaining a

View File

@@ -1,6 +1,9 @@
# <img src="https://cdn.rawgit.com/spack/spack/develop/share/spack/logo/spack-logo.svg" width="64" valign="middle" alt="Spack"/> Spack
[![Build Status](https://travis-ci.org/spack/spack.svg?branch=develop)](https://travis-ci.org/spack/spack)
[![MacOS Tests](https://github.com/spack/spack/workflows/macos%20tests/badge.svg)](https://github.com/spack/spack/actions)
[![Linux Tests](https://github.com/spack/spack/workflows/linux%20tests/badge.svg)](https://github.com/spack/spack/actions)
[![Linux Builds](https://github.com/spack/spack/workflows/linux%20builds/badge.svg)](https://github.com/spack/spack/actions)
[![macOS Builds (nightly)](https://github.com/spack/spack/workflows/macOS%20builds%20nightly/badge.svg?branch=develop)](https://github.com/spack/spack/actions?query=workflow%3A%22macOS+builds+nightly%22)
[![codecov](https://codecov.io/gh/spack/spack/branch/develop/graph/badge.svg)](https://codecov.io/gh/spack/spack)
[![Read the Docs](https://readthedocs.org/projects/spack/badge/?version=latest)](https://spack.readthedocs.io)
[![Slack](https://spackpm.herokuapp.com/badge.svg)](https://spackpm.herokuapp.com)
@@ -70,15 +73,31 @@ When you send your request, make ``develop`` the destination branch on the
Your PR must pass Spack's unit tests and documentation tests, and must be
[PEP 8](https://www.python.org/dev/peps/pep-0008/) compliant. We enforce
these guidelines with [Travis CI](https://travis-ci.org/spack/spack). To
run these tests locally, and for helpful tips on git, see our
these guidelines with our CI process. To run these tests locally, and for
helpful tips on git, see our
[Contribution Guide](http://spack.readthedocs.io/en/latest/contribution_guide.html).
Spack uses a rough approximation of the
[Git Flow](http://nvie.com/posts/a-successful-git-branching-model/)
branching model. The ``develop`` branch contains the latest
contributions, and ``master`` is always tagged and points to the latest
stable release.
Spack's `develop` branch has the latest contributions. Pull requests
should target `develop`, and users who want the latest package versions,
features, etc. can use `develop`.
Releases
--------
For multi-user site deployments or other use cases that need very stable
software installations, we recommend using Spack's
[stable releases](https://github.com/spack/spack/releases).
Each Spack release series also has a corresponding branch, e.g.
`releases/v0.14` has `0.14.x` versions of Spack, and `releases/v0.13` has
`0.13.x` versions. We backport important bug fixes to these branches but
we do not advance the package versions or make other changes that would
change the way Spack concretizes dependencies within a release branch.
So, you can base your Spack deployment on a release branch and `git pull`
to get fixes, without the package churn that comes with `develop`.
See the [docs on releases](https://spack.readthedocs.io/en/latest/developer_guide.html#releases)
for more details.
Code of Conduct
------------------------
@@ -119,4 +138,4 @@ See [LICENSE-MIT](https://github.com/spack/spack/blob/develop/LICENSE-MIT),
SPDX-License-Identifier: (Apache-2.0 OR MIT)
LLNL-CODE-647188
LLNL-CODE-811652

View File

@@ -1,91 +0,0 @@
#! /usr/bin/env bash
# Remember where we are initially, it's the repo cloned by gitlab-ci
original_directory=$(pwd)
. "${original_directory}/share/spack/setup-env.sh"
# Create a temporary working directory
temp_dir=$(mktemp -d)
trap 'rm -rf "$temp_dir"' INT TERM QUIT EXIT
if [ -z "${DOWNSTREAM_CI_REPO}" ] ; then
echo "ERROR: missing variable: DOWNSTREAM_CI_REPO" >&2
exit 1
fi
if [ -z "${SPACK_RELEASE_ENVIRONMENT_PATH}" ] ; then
echo "ERROR: missing variable: SPACK_RELEASE_ENVIRONMENT_PATH" >&2
exit 1
fi
if [ -z "${CDASH_AUTH_TOKEN}" ] ; then
echo "WARNING: missing variable: CDASH_AUTH_TOKEN" >&2
else
token_file="${temp_dir}/cdash_auth_token"
echo ${CDASH_AUTH_TOKEN} > ${token_file}
fi
if [ -z "${SPACK_RELEASE_ENVIRONMENT_REPO}" ] ; then
echo "Assuming spack repo contains environment" >&2
env_repo_dir=${original_directory}
else
echo "Cloning ${SPACK_RELEASE_ENVIRONMENT_REPO} into ${temp_dir}/envrepo" >&2
cd ${temp_dir}
git clone ${SPACK_RELEASE_ENVIRONMENT_REPO} envrepo
cd envrepo
env_repo_dir=$(pwd)
fi
current_branch="$CI_COMMIT_REF_NAME"
# Because want to see generated gitlab-ci file as an artifact,
# we need to write it within the spack repo cloned by gitlab-ci.
gen_ci_dir="${original_directory}/ci-generation"
gen_ci_file="${gen_ci_dir}/.gitlab-ci.yml"
mkdir -p ${gen_ci_dir}
env_dir="${env_repo_dir}/${SPACK_RELEASE_ENVIRONMENT_PATH}"
if [ ! -f "${env_dir}/spack.yaml" ] ; then
echo "ERROR: Cannot find spack environment file in ${env_dir}"
exit 1
fi
cd $env_dir
# The next commands generates the .gitlab-ci.yml (and optionally creates a
# buildgroup in cdash)
RELEASE_JOBS_ARGS=("--output-file" "${gen_ci_file}")
if [ ! -z "${token_file}" ]; then
RELEASE_JOBS_ARGS+=("--cdash-credentials" "${token_file}")
fi
spack release-jobs "${RELEASE_JOBS_ARGS[@]}"
if [[ $? -ne 0 ]]; then
echo "spack release-jobs command failed"
exit 1
fi
cd "$original_directory"
mv .git "$temp_dir/original-git-dir"
git init .
git config user.email "robot@spack.io"
git config user.name "Spack Build Bot"
cp ${gen_ci_file} "${original_directory}/.gitlab-ci.yml"
git add .
echo "git commit"
commit_message="Auto-generated commit testing"
commit_message="${commit_message} ${current_branch} (${CI_COMMIT_SHA})"
git commit --message="${commit_message}"
echo "git push"
git remote add origin "$DOWNSTREAM_CI_REPO"
git push --force origin "master:multi-ci-${current_branch}"
rm -rf .git
mv "$temp_dir/original-git-dir" .git
git reset --hard HEAD

View File

@@ -1,13 +0,0 @@
#!/bin/bash
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
set -x
SPACK_BIN_DIR="${CI_PROJECT_DIR}/bin"
export PATH="${SPACK_BIN_DIR}:${PATH}"
spack buildcache update-index -d "$MIRROR_URL"

View File

@@ -1,399 +0,0 @@
#!/bin/bash
# Copyright 2013-2019 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)
###
### This script represents a gitlab-ci job, corresponding to a single release
### spec. As such this script must first decide whether or not the spec it
### has been assigned is up to date on the remote binary mirror. If it is
### not (i.e. the source code has changed in a way that caused a change in the
### full_hash of the spec), this script will build the package, create a
### binary cache for it, and then push all related files to the remote binary
### mirror. This script also optionally communicates with a remote CDash
### instance to share status on the package build process.
###
### The following environment variables are (possibly) used within this script
### in order for the various elements function properly.
###
### First are two defaults we rely on from gitlab:
###
### CI_PROJECT_DIR
### CI_JOB_NAME
###
### The following must be set up in the variables section of gitlab:
###
### AWS_ACCESS_KEY_ID
### AWS_SECRET_ACCESS_KEY
### SPACK_SIGNING_KEY
###
### SPACK_S3_UPLOAD_MIRROR_URL // only required in the short term for the cloud case
###
### The following variabes are defined by the ci generation process and are
### required:
###
### SPACK_ENABLE_CDASH
### SPACK_ROOT_SPEC
### SPACK_MIRROR_URL
### SPACK_JOB_SPEC_PKG_NAME
### SPACK_COMPILER_ACTION
###
### Finally, these variables are optionally defined by the ci generation
### process, and may or may not be present:
###
### SPACK_CDASH_BASE_URL
### SPACK_CDASH_PROJECT
### SPACK_CDASH_PROJECT_ENC
### SPACK_CDASH_BUILD_NAME
### SPACK_CDASH_SITE
### SPACK_RELATED_BUILDS
### SPACK_JOB_SPEC_BUILDGROUP
###
shopt -s expand_aliases
export FORCE_UNSAFE_CONFIGURE=1
TEMP_DIR="${CI_PROJECT_DIR}/jobs_scratch_dir"
JOB_LOG_DIR="${TEMP_DIR}/logs"
SPEC_DIR="${TEMP_DIR}/specs"
LOCAL_MIRROR="${CI_PROJECT_DIR}/local_mirror"
BUILD_CACHE_DIR="${LOCAL_MIRROR}/build_cache"
SPACK_BIN_DIR="${CI_PROJECT_DIR}/bin"
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
CDASH_UPLOAD_URL="${SPACK_CDASH_BASE_URL}/submit.php?project=${SPACK_CDASH_PROJECT_ENC}"
DEP_JOB_RELATEBUILDS_URL="${SPACK_CDASH_BASE_URL}/api/v1/relateBuilds.php"
declare -a JOB_DEPS_PKG_NAMES
fi
export SPACK_ROOT=${CI_PROJECT_DIR}
# export PATH="${SPACK_BIN_DIR}:${PATH}"
export GNUPGHOME="${CI_PROJECT_DIR}/opt/spack/gpg"
. "${CI_PROJECT_DIR}/share/spack/setup-env.sh"
mkdir -p ${JOB_LOG_DIR}
mkdir -p ${SPEC_DIR}
cleanup() {
set +x
if [ -z "$exit_code" ] ; then
exit_code=$1
if [ -z "$exit_code" ] ; then
exit_code=0
fi
restore_io
if [ "$( type -t finalize )" '=' 'function' ] ; then
finalize "$JOB_LOG_DIR/cdash_log.txt"
fi
# We can clean these out later on, once we have a good sense for
# how the logging infrastructure is working
# rm -rf "$JOB_LOG_DIR"
fi
\exit $exit_code
}
alias exit='cleanup'
begin_logging() {
trap "cleanup 1; \\exit \$exit_code" INT TERM QUIT
trap "cleanup 0; \\exit \$exit_code" EXIT
rm -rf "$JOB_LOG_DIR/cdash_log.txt"
# NOTE: Here, some redirects are set up
exec 3>&1 # fd 3 is now a dup of stdout
exec 4>&2 # fd 4 is now a dup of stderr
# stdout and stderr are joined and redirected to the log
exec &> "$JOB_LOG_DIR/cdash_log.txt"
set -x
}
restore_io() {
exec >&-
exec 2>&-
exec >&3
exec 2>&4
exec 3>&-
exec 4>&-
}
finalize() {
# If you define a finalize function:
# - it will always be called at the very end of the script
# - the log file will be passed in as the first argument, and
# - the code in this function will not be logged.
echo "The full log file is located at $1"
# TODO: send this log data to cdash!
}
check_error()
{
local last_exit_code=$1
local last_cmd=$2
if [[ ${last_exit_code} -ne 0 ]]; then
echo "${last_cmd} exited with code ${last_exit_code}"
echo "TERMINATING JOB"
exit 1
else
echo "${last_cmd} completed successfully"
fi
}
extract_build_id()
{
LINES_TO_SEARCH=$1
regex="buildSummary\.php\?buildid=([[:digit:]]+)"
SINGLE_LINE_OUTPUT=$(echo ${LINES_TO_SEARCH} | tr -d '\n')
if [[ ${SINGLE_LINE_OUTPUT} =~ ${regex} ]]; then
echo "${BASH_REMATCH[1]}"
else
echo "NONE"
fi
}
get_relate_builds_post_data()
{
cat <<EOF
{
"project": "${1}",
"buildid": ${2},
"relatedid": ${3},
"relationship": "depends on"
}
EOF
}
gen_full_specs_for_job_and_deps() {
SPEC_YAML_PATH="${SPEC_DIR}/${SPACK_JOB_SPEC_PKG_NAME}.yaml"
local spec_names_to_save="${SPACK_JOB_SPEC_PKG_NAME}"
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
IFS=';' read -ra DEPS <<< "${SPACK_RELATED_BUILDS}"
for i in "${DEPS[@]}"; do
depPkgName="${i}"
spec_names_to_save="${spec_names_to_save} ${depPkgName}"
JOB_DEPS_PKG_NAMES+=("${depPkgName}")
done
fi
if [ "${SPACK_COMPILER_ACTION}" == "FIND_ANY" ]; then
# This corresponds to a bootstrapping phase where we need to
# rely on any available compiler to build the package (i.e. the
# compiler needed to be stripped from the spec), and thus we need
# to concretize the root spec again.
spack -d buildcache save-yaml --specs "${spec_names_to_save}" --root-spec "${SPACK_ROOT_SPEC}" --yaml-dir "${SPEC_DIR}"
else
# in this case, either we're relying on Spack to install missing compiler
# bootstrapped in a previous phase, or else we only had one phase (like a
# site which already knows what compilers are available on it's runners),
# so we don't want to concretize that root spec again. The reason we need
# this in the first case (bootstrapped compiler), is that we can't concretize
# a spec at this point if we're going to ask spack to "install_missing_compilers".
tmp_dir=$(mktemp -d)
TMP_YAML_PATH="${tmp_dir}/root.yaml"
ROOT_SPEC_YAML=$(spack python -c "import base64 ; import zlib ; print(str(zlib.decompress(base64.b64decode('${SPACK_ROOT_SPEC}')).decode('utf-8')))")
echo "${ROOT_SPEC_YAML}" > "${TMP_YAML_PATH}"
spack -d buildcache save-yaml --specs "${spec_names_to_save}" --root-spec-yaml "${TMP_YAML_PATH}" --yaml-dir "${SPEC_DIR}"
rm -rf ${tmp_dir}
fi
}
begin_logging
echo "Running job for spec: ${CI_JOB_NAME}"
# This should create the directory we referred to as GNUPGHOME earlier
spack gpg list
# Importing the secret key using gpg2 directly should allow to
# sign and verify both
set +x
KEY_IMPORT_RESULT=`echo ${SPACK_SIGNING_KEY} | base64 --decode | gpg2 --import`
check_error $? "gpg2 --import"
set -x
spack gpg list --trusted
spack gpg list --signing
# To have spack install missing compilers, we need to add a custom
# configuration scope, then we pass that to the package installation
# command
CUSTOM_CONFIG_SCOPE_DIR="${TEMP_DIR}/config_scope"
mkdir -p "${CUSTOM_CONFIG_SCOPE_DIR}"
CUSTOM_CONFIG_SCOPE_ARG=""
if [ "${SPACK_COMPILER_ACTION}" == "INSTALL_MISSING" ]; then
echo "Make sure bootstrapped compiler will be installed"
custom_config_file_path="${CUSTOM_CONFIG_SCOPE_DIR}/config.yaml"
cat <<CONFIG_STUFF > "${custom_config_file_path}"
config:
install_missing_compilers: true
CONFIG_STUFF
CUSTOM_CONFIG_SCOPE_ARG="-C ${CUSTOM_CONFIG_SCOPE_DIR}"
# Configure the binary mirror where, if needed, this jobs compiler
# was installed in binary pacakge form, then tell spack to
# install_missing_compilers.
elif [ "${SPACK_COMPILER_ACTION}" == "FIND_ANY" ]; then
echo "Just find any available compiler"
spack compiler find
else
echo "No compiler action to be taken"
fi
# Finally, list the compilers spack knows about
echo "Compiler Configurations:"
spack config get compilers
# Write full-deps yamls for this job spec and its dependencies
gen_full_specs_for_job_and_deps
# Make the build_cache directory if it doesn't exist
mkdir -p "${BUILD_CACHE_DIR}"
# Get buildcache name so we can write a CDash build id file in the right place.
# If we're unable to get the buildcache name, we may have encountered a problem
# concretizing the spec, or some other issue that will eventually cause the job
# to fail.
JOB_BUILD_CACHE_ENTRY_NAME=`spack -d buildcache get-buildcache-name --spec-yaml "${SPEC_YAML_PATH}"`
if [[ $? -ne 0 ]]; then
echo "ERROR, unable to get buildcache entry name for job ${CI_JOB_NAME}"
exit 1
fi
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
# Whether we have to build the spec or download it pre-built, we expect to find
# the cdash build id file sitting in this location afterwards.
JOB_CDASH_ID_FILE="${BUILD_CACHE_DIR}/${JOB_BUILD_CACHE_ENTRY_NAME}.cdashid"
fi
# Finally, we can check the spec we have been tasked with build against
# the built binary on the remote mirror to see if it needs to be rebuilt
spack -d buildcache check --spec-yaml "${SPEC_YAML_PATH}" --mirror-url "${SPACK_MIRROR_URL}" --rebuild-on-error
if [[ $? -ne 0 ]]; then
# Configure mirror
spack mirror add local_artifact_mirror "file://${LOCAL_MIRROR}"
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
JOB_CDASH_ID="NONE"
# Install package, using the buildcache from the local mirror to
# satisfy dependencies.
BUILD_ID_LINE=`spack -d -k -v "${CUSTOM_CONFIG_SCOPE_ARG}" install --keep-stage --cdash-upload-url "${CDASH_UPLOAD_URL}" --cdash-build "${SPACK_CDASH_BUILD_NAME}" --cdash-site "${SPACK_CDASH_SITE}" --cdash-track "${SPACK_JOB_SPEC_BUILDGROUP}" -f "${SPEC_YAML_PATH}" | grep "buildSummary\\.php"`
check_error $? "spack install"
# By parsing the output of the "spack install" command, we can get the
# buildid generated for us by CDash
JOB_CDASH_ID=$(extract_build_id "${BUILD_ID_LINE}")
# Write the .cdashid file to the buildcache as well
echo "${JOB_CDASH_ID}" >> ${JOB_CDASH_ID_FILE}
else
spack -d -k -v "${CUSTOM_CONFIG_SCOPE_ARG}" install --keep-stage -f "${SPEC_YAML_PATH}"
fi
# Copy some log files into an artifact location, once we have a way
# to provide a spec.yaml file to more spack commands (e.g. "location")
# stage_dir=$(spack location --stage-dir -f "${SPEC_YAML_PATH}")
# build_log_file=$(find -L "${stage_dir}" | grep "spack-build\\.out")
# config_log_file=$(find -L "${stage_dir}" | grep "config\\.log")
# cp "${build_log_file}" "${JOB_LOG_DIR}/"
# cp "${config_log_file}" "${JOB_LOG_DIR}/"
# Create buildcache entry for this package, reading the spec from the yaml
# file.
spack -d buildcache create --spec-yaml "${SPEC_YAML_PATH}" -a -f -d "${LOCAL_MIRROR}" --no-rebuild-index
check_error $? "spack buildcache create"
# TODO: The upload-s3 command should eventually be replaced with something
# like: "spack buildcache put <mirror> <spec>", when that subcommand is
# properly implemented.
if [ ! -z "${SPACK_S3_UPLOAD_MIRROR_URL}" ] ; then
spack -d upload-s3 spec --base-dir "${LOCAL_MIRROR}" --spec-yaml "${SPEC_YAML_PATH}" --endpoint-url "${SPACK_S3_UPLOAD_MIRROR_URL}"
check_error $? "spack upload-s3 spec"
else
spack -d buildcache copy --base-dir "${LOCAL_MIRROR}" --spec-yaml "${SPEC_YAML_PATH}" --destination-url "${SPACK_MIRROR_URL}"
fi
else
echo "spec ${CI_JOB_NAME} is already up to date on remote mirror, downloading it"
# Configure remote mirror so we can download buildcache entry
spack mirror add remote_binary_mirror ${SPACK_MIRROR_URL}
# Now download it
BUILDCACHE_DL_ARGS=("--spec-yaml" "${SPEC_YAML_PATH}" "--path" "${BUILD_CACHE_DIR}/" )
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
BUILDCACHE_DL_ARGS+=( "--require-cdashid" )
fi
spack -d buildcache download "${BUILDCACHE_DL_ARGS[@]}"
check_error $? "spack buildcache download"
fi
# The next step is to relate this job to the jobs it depends on
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
if [ -f "${JOB_CDASH_ID_FILE}" ]; then
JOB_CDASH_BUILD_ID=$(<${JOB_CDASH_ID_FILE})
if [ "${JOB_CDASH_BUILD_ID}" == "NONE" ]; then
echo "ERROR: unable to read this jobs id from ${JOB_CDASH_ID_FILE}"
exit 1
fi
# Now get CDash ids for dependencies and "relate" each dependency build
# with this jobs build
for DEP_PKG_NAME in "${JOB_DEPS_PKG_NAMES[@]}"; do
echo "Getting cdash id for dependency --> ${DEP_PKG_NAME} <--"
DEP_SPEC_YAML_PATH="${SPEC_DIR}/${DEP_PKG_NAME}.yaml"
DEP_JOB_BUILDCACHE_NAME=`spack -d buildcache get-buildcache-name --spec-yaml "${DEP_SPEC_YAML_PATH}"`
if [[ $? -eq 0 ]]; then
DEP_JOB_ID_FILE="${BUILD_CACHE_DIR}/${DEP_JOB_BUILDCACHE_NAME}.cdashid"
echo "DEP_JOB_ID_FILE path = ${DEP_JOB_ID_FILE}"
if [ -f "${DEP_JOB_ID_FILE}" ]; then
DEP_JOB_CDASH_BUILD_ID=$(<${DEP_JOB_ID_FILE})
echo "File ${DEP_JOB_ID_FILE} contained value ${DEP_JOB_CDASH_BUILD_ID}"
echo "Relating builds -> ${SPACK_CDASH_BUILD_NAME} (buildid=${JOB_CDASH_BUILD_ID}) depends on ${DEP_PKG_NAME} (buildid=${DEP_JOB_CDASH_BUILD_ID})"
relateBuildsPostBody="$(get_relate_builds_post_data "${SPACK_CDASH_PROJECT}" ${JOB_CDASH_BUILD_ID} ${DEP_JOB_CDASH_BUILD_ID})"
relateBuildsResult=`curl "${DEP_JOB_RELATEBUILDS_URL}" -H "Content-Type: application/json" -H "Accept: application/json" -d "${relateBuildsPostBody}"`
echo "Result of curl request: ${relateBuildsResult}"
else
echo "ERROR: Did not find expected .cdashid file for dependency: ${DEP_JOB_ID_FILE}"
exit 1
fi
else
echo "ERROR: Unable to get buildcache entry name for ${DEP_SPEC_NAME}"
exit 1
fi
done
else
echo "ERROR: Did not find expected .cdashid file ${JOB_CDASH_ID_FILE}"
exit 1
fi
fi
# Show the size of the buildcache and a list of what's in it, directly
# in the gitlab log output
(
restore_io
du -sh ${BUILD_CACHE_DIR}
find ${BUILD_CACHE_DIR} -maxdepth 3 -type d -ls
)
echo "End of rebuild package script"

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)
@@ -103,10 +103,10 @@ interpreter_f="${interpreter_v[0]}"
# Invoke any interpreter found, or raise an error if none was found.
if [[ -n "$interpreter_f" ]]; then
if [[ "${interpreter_f##*/}" = "perl" ]]; then
exec $interpreter_v -x "$@"
if [[ "${interpreter_f##*/}" = "perl"* ]]; then
exec $interpreter -x "$@"
else
exec $interpreter_v "$@"
exec $interpreter "$@"
fi
else
echo "error: sbang found no interpreter in $script"

View File

@@ -1,7 +1,7 @@
#!/bin/sh
# -*- python -*-
#
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)
@@ -22,4 +22,4 @@
#
# This is compatible across platforms.
#
/usr/bin/env spack python "$@"
exec /usr/bin/env spack python "$@"

View File

@@ -75,6 +75,12 @@ config:
misc_cache: ~/.spack/cache
# Timeout in seconds used for downloading sources etc. This only applies
# to the connection phase and can be increased for slow connections or
# servers. 0 means no timeout.
connect_timeout: 10
# If this is false, tools like curl that use SSL will not verify
# certifiates. (e.g., curl will use use the -k option)
verify_ssl: true
@@ -137,7 +143,7 @@ config:
# when Spack needs to manage its own package metadata and all operations are
# expected to complete within the default time limit. The timeout should
# therefore generally be left untouched.
db_lock_timeout: 120
db_lock_timeout: 3
# How long to wait when attempting to modify a package (e.g. to install it).
@@ -151,3 +157,7 @@ config:
# Has no effect on macOS. DO NOT MIX these within the same install tree.
# See the Spack documentation for details.
shared_linking: 'rpath'
# Set to 'false' to allow installation on filesystems that doesn't allow setgid bit
# manipulation by unprivileged user (e.g. AFS)
allow_sgid: true

View File

@@ -16,8 +16,6 @@
modules:
prefix_inspections:
lib:
- DYLD_LIBRARY_PATH
- DYLD_FALLBACK_LIBRARY_PATH
lib64:
- DYLD_LIBRARY_PATH
- DYLD_FALLBACK_LIBRARY_PATH

View File

@@ -15,7 +15,11 @@
# -------------------------------------------------------------------------
packages:
all:
compiler: [clang, gcc, intel]
compiler:
- apple-clang
- clang
- gcc
- intel
providers:
elf: [libelf]
unwind: [apple-libunwind]

View File

@@ -0,0 +1,2 @@
mirrors:
spack-public: https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/

View File

@@ -30,7 +30,11 @@ modules:
lib64:
- LIBRARY_PATH
include:
- CPATH
- C_INCLUDE_PATH
- CPLUS_INCLUDE_PATH
# The INCLUDE env variable specifies paths to look for
# .mod file for Intel Fortran compilers
- INCLUDE
lib/pkgconfig:
- PKG_CONFIG_PATH
lib64/pkgconfig:

View File

@@ -27,6 +27,7 @@ packages:
glx: [mesa+glx, opengl]
glu: [mesa-glu, openglu]
golang: [gcc]
iconv: [libiconv]
ipp: [intel-ipp]
java: [openjdk, jdk, ibm-java]
jpeg: [libjpeg-turbo, libjpeg]
@@ -39,10 +40,13 @@ packages:
opencl: [pocl]
pil: [py-pillow]
pkgconfig: [pkgconf, pkg-config]
rpc: [libtirpc]
scalapack: [netlib-scalapack]
sycl: [hipsycl]
szip: [libszip, libaec]
tbb: [intel-tbb]
unwind: [libunwind]
sycl: [hipsycl]
permissions:
read: world
write: user

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -25,6 +25,14 @@ It is recommended that the following be put in your ``.bashrc`` file:
alias less='less -R'
If you do not see colorized output when using ``less -R`` it is because color
is being disabled in the piped output. In this case, tell spack to force
colorized output.
.. code-block:: console
$ spack --color always | less -R
--------------------------
Listing available packages
--------------------------
@@ -45,7 +53,7 @@ can install:
.. command-output:: spack list
:ellipsis: 10
There are thosands of them, so we've truncated the output above, but you
There are thousands of them, so we've truncated the output above, but you
can find a :ref:`full list here <package-list>`.
Packages are listed by name in alphabetical order.
A pattern to match with no wildcards, ``*`` or ``?``,
@@ -232,6 +240,50 @@ remove dependent packages *before* removing their dependencies or use the
.. _nondownloadable:
^^^^^^^^^^^^^^^^^^
Garbage collection
^^^^^^^^^^^^^^^^^^
When Spack builds software from sources, if often installs tools that are needed
just to build or test other software. These are not necessary at runtime.
To support cases where removing these tools can be a benefit Spack provides
the ``spack gc`` ("garbage collector") command, which will uninstall all unneeded packages:
.. code-block:: console
$ spack find
==> 24 installed packages
-- linux-ubuntu18.04-broadwell / gcc@9.0.1 ----------------------
autoconf@2.69 findutils@4.6.0 libiconv@1.16 libszip@2.1.1 m4@1.4.18 openjpeg@2.3.1 pkgconf@1.6.3 util-macros@1.19.1
automake@1.16.1 gdbm@1.18.1 libpciaccess@0.13.5 libtool@2.4.6 mpich@3.3.2 openssl@1.1.1d readline@8.0 xz@5.2.4
cmake@3.16.1 hdf5@1.10.5 libsigsegv@2.12 libxml2@2.9.9 ncurses@6.1 perl@5.30.0 texinfo@6.5 zlib@1.2.11
$ spack gc
==> The following packages will be uninstalled:
-- linux-ubuntu18.04-broadwell / gcc@9.0.1 ----------------------
vn47edz autoconf@2.69 6m3f2qn findutils@4.6.0 ubl6bgk libtool@2.4.6 pksawhz openssl@1.1.1d urdw22a readline@8.0
ki6nfw5 automake@1.16.1 fklde6b gdbm@1.18.1 b6pswuo m4@1.4.18 k3s2csy perl@5.30.0 lp5ya3t texinfo@6.5
ylvgsov cmake@3.16.1 5omotir libsigsegv@2.12 leuzbbh ncurses@6.1 5vmfbrq pkgconf@1.6.3 5bmv4tg util-macros@1.19.1
==> Do you want to proceed? [y/N] y
[ ... ]
$ spack find
==> 9 installed packages
-- linux-ubuntu18.04-broadwell / gcc@9.0.1 ----------------------
hdf5@1.10.5 libiconv@1.16 libpciaccess@0.13.5 libszip@2.1.1 libxml2@2.9.9 mpich@3.3.2 openjpeg@2.3.1 xz@5.2.4 zlib@1.2.11
In the example above Spack went through all the packages in the package database
and removed everything that is not either:
1. A package installed upon explicit request of the user
2. A ``link`` or ``run`` dependency, even transitive, of one of the packages at point 1.
You can check :ref:`cmd-spack-find-metadata` to see how to query for explicitly installed packages
or :ref:`dependency-types` for a more thorough treatment of dependency types.
^^^^^^^^^^^^^^^^^^^^^^^^^
Non-Downloadable Tarballs
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -414,6 +466,8 @@ Packages are divided into groups according to their architecture and
compiler. Within each group, Spack tries to keep the view simple, and
only shows the version of installed packages.
.. _cmd-spack-find-metadata:
""""""""""""""""""""""""""""""""
Viewing more metadata
""""""""""""""""""""""""""""""""
@@ -573,8 +627,8 @@ output metadata on specs and all dependencies as json:
"target": "x86_64"
},
"compiler": {
"name": "clang",
"version": "10.0.0-apple"
"name": "apple-clang",
"version": "10.0.0"
},
"namespace": "builtin",
"parameters": {
@@ -808,7 +862,7 @@ Variants are named options associated with a particular package. They are
optional, as each package must provide default values for each variant it
makes available. Variants can be specified using
a flexible parameter syntax ``name=<value>``. For example,
``spack install libelf debug=True`` will install libelf build with debug
``spack install libelf debug=True`` will install libelf built with debug
flags. The names of particular variants available for a package depend on
what was provided by the package author. ``spack info <package>`` will
provide information on what build variants are available.
@@ -871,7 +925,7 @@ contains any spaces. Any of ``cppflags=-O3``, ``cppflags="-O3"``,
``cppflags='-O3'``, and ``cppflags="-O3 -fPIC"`` are acceptable, but
``cppflags=-O3 -fPIC`` is not. Additionally, if the value of the
compiler flags is not the last thing on the line, it must be followed
by a space. The commmand ``spack install libelf cppflags="-O3"%intel``
by a space. The command ``spack install libelf cppflags="-O3"%intel``
will be interpreted as an attempt to set ``cppflags="-O3%intel"``.
The six compiler flags are injected in the order of implicit make commands
@@ -883,11 +937,13 @@ in GNU Autotools. If all flags are set, the order is
Compiler environment variables and additional RPATHs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In the exceptional case a compiler requires setting special environment
variables, like an explicit library load path. These can bet set in an
extra section in the compiler configuration (the supported environment
modification commands are: ``set``, ``unset``, ``append-path``, and
``prepend-path``). The user can also specify additional ``RPATHs`` that the
Sometimes compilers require setting special environment variables to
operate correctly. Spack handles these cases by allowing custom environment
modifications in the ``environment`` attribute of the compiler configuration
section. See also the :ref:`configuration_environment_variables` section
of the configuration files docs for more information.
It is also possible to specify additional ``RPATHs`` that the
compiler will add to all executables generated by that compiler. This is
useful for forcing certain compilers to RPATH their own runtime libraries, so
that executables will run without the need to set ``LD_LIBRARY_PATH``.
@@ -904,28 +960,19 @@ that executables will run without the need to set ``LD_LIBRARY_PATH``.
fc: /opt/gcc/bin/gfortran
environment:
unset:
BAD_VARIABLE: # The colon is required but the value must be empty
- BAD_VARIABLE
set:
GOOD_VARIABLE_NUM: 1
GOOD_VARIABLE_STR: good
prepend-path:
prepend_path:
PATH: /path/to/binutils
append-path:
append_path:
LD_LIBRARY_PATH: /opt/gcc/lib
extra_rpaths:
- /path/to/some/compiler/runtime/directory
- /path/to/some/other/compiler/runtime/directory
.. note::
The section `environment` is interpreted as an ordered dictionary, which
means two things. First, environment modification are applied in the order
they are specified in the configuration file. Second, you cannot express
environment modifications that require mixing different commands, i.e. you
cannot `set` one variable, than `prepend-path` to another one, and than
again `set` a third one.
^^^^^^^^^^^^^^^^^^^^^^^
Architecture specifiers
^^^^^^^^^^^^^^^^^^^^^^^
@@ -1028,13 +1075,13 @@ of failing:
In the snippet above, for instance, the microarchitecture was demoted to ``haswell`` when
compiling with ``gcc@4.8`` since support to optimize for ``broadwell`` starts from ``gcc@4.9:``.
Finally if Spack has no information to match compiler and target, it will
Finally, if Spack has no information to match compiler and target, it will
proceed with the installation but avoid injecting any microarchitecture
specific flags.
.. warning::
Currently Spack doesn't print any warning to the user if it has no information
Currently, Spack doesn't print any warning to the user if it has no information
on which optimization flags should be used for a given compiler. This behavior
might change in the future.
@@ -1044,7 +1091,7 @@ specific flags.
Virtual dependencies
--------------------
The dependence graph for ``mpileaks`` we saw above wasn't *quite*
The dependency graph for ``mpileaks`` we saw above wasn't *quite*
accurate. ``mpileaks`` uses MPI, which is an interface that has many
different implementations. Above, we showed ``mpileaks`` and
``callpath`` depending on ``mpich``, which is one *particular*
@@ -1187,6 +1234,8 @@ add a version specifier to the spec:
Notice that the package versions that provide insufficient MPI
versions are now filtered out.
.. _extensions:
---------------------------
Extensions & Python support
---------------------------
@@ -1194,8 +1243,7 @@ Extensions & Python support
Spack's installation model assumes that each package will live in its
own install prefix. However, certain packages are typically installed
*within* the directory hierarchy of other packages. For example,
modules in interpreted languages like `Python
<https://www.python.org>`_ are typically installed in the
`Python <https://www.python.org>`_ packages are typically installed in the
``$prefix/lib/python-2.7/site-packages`` directory.
Spack has support for this type of installation as well. In Spack,
@@ -1271,10 +1319,9 @@ directly when you run ``python``:
Using Extensions
^^^^^^^^^^^^^^^^
There are three ways to get ``numpy`` working in Python. The first is
to use :ref:`shell-support`. You can simply ``load`` the
module for the extension, and it will be added to the ``PYTHONPATH``
in your current shell:
There are four ways to get ``numpy`` working in Python. The first is
to use :ref:`shell-support`. You can simply ``load`` the extension,
and it will be added to the ``PYTHONPATH`` in your current shell:
.. code-block:: console
@@ -1284,11 +1331,29 @@ in your current shell:
Now ``import numpy`` will succeed for as long as you keep your current
session open.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Loading Extensions via Modules
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Instead of using Spack's environment modification capabilities through
the ``spack load`` command, you can load numpy through your
environment modules (using ``environment-modules`` or ``lmod``). This
will also add the extension to the ``PYTHONPATH`` in your current
shell.
.. code-block:: console
$ module load <name of numpy module>
If you do not know the name of the specific numpy module you wish to
load, you can use the ``spack module tcl|lmod loads`` command to get
the name of the module from the Spack spec.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Activating Extensions in a View
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The second way to use extensions is to create a view, which merges the
Another way to use extensions is to create a view, which merges the
python installation along with the extensions into a single prefix.
See :ref:`filesystem-views` for a more in-depth description of views and
:ref:`cmd-spack-view` for usage of the ``spack view`` command.
@@ -1354,12 +1419,12 @@ packages listed as activated:
py-nose@1.3.4 py-numpy@1.9.1 py-setuptools@11.3.1
Now, when a user runs python, ``numpy`` will be available for import
*without* the user having to explicitly loaded. ``python@2.7.8`` now
*without* the user having to explicitly load it. ``python@2.7.8`` now
acts like a system Python installation with ``numpy`` installed inside
of it.
Spack accomplishes this by symbolically linking the *entire* prefix of
the ``py-numpy`` into the prefix of the ``python`` package. To the
the ``py-numpy`` package into the prefix of the ``python`` package. To the
python interpreter, it looks like ``numpy`` is installed in the
``site-packages`` directory.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -57,6 +57,12 @@ Build caches are installed via:
$ spack buildcache install
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
List of popular build caches
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* `Extreme-scale Scientific Software Stack (E4S) <https://e4s-project.github.io/>`_: `build cache <https://oaciss.uoregon.edu/e4s/inventory.html>`_
----------
Relocation

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -58,9 +58,9 @@ directory. Here's an example of an external configuration:
packages:
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-x86_64-debian7: /opt/openmpi-1.6.5-intel
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64: /opt/openmpi-1.6.5-intel
This example lists three installations of OpenMPI, one built with GCC,
one built with GCC and debug information, and another built with Intel.
@@ -107,9 +107,9 @@ be:
packages:
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-x86_64-debian7: /opt/openmpi-1.6.5-intel
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64: /opt/openmpi-1.6.5-intel
buildable: False
The addition of the ``buildable`` flag tells Spack that it should never build
@@ -124,6 +124,78 @@ The ``buildable`` does not need to be paired with external packages.
It could also be used alone to forbid packages that may be
buggy or otherwise undesirable.
Virtual packages in Spack can also be specified as not buildable, and
external implementations can be provided. In the example above,
OpenMPI is configured as not buildable, but Spack will often prefer
other MPI implementations over the externally available OpenMPI. Spack
can be configured with every MPI provider not buildable individually,
but more conveniently:
.. code-block:: yaml
packages:
mpi:
buildable: False
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64: /opt/openmpi-1.6.5-intel
Implementations can also be listed immediately under the virtual they provide:
.. code-block:: yaml
packages:
mpi:
buildable: False
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64: /opt/openmpi-1.6.5-intel
mpich@3.3 %clang@9.0.0 arch=linux-debian7-x86_64: /opt/mpich-3.3-intel
Spack can then use any of the listed external implementations of MPI
to satisfy a dependency, and will choose depending on the compiler and
architecture.
.. _cmd-spack-external-find:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Automatically Find External Packages
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You can run the :ref:`spack external find <spack-external-find>` command
to search for system-provided packages and add them to ``packages.yaml``.
After running this command your ``packages.yaml`` may include new entries:
.. code-block:: yaml
packages:
cmake:
paths:
cmake@3.17.2: /usr
Generally this is useful for detecting a small set of commonly-used packages;
for now this is generally limited to finding build-only dependencies.
Specific limitations include:
* Packages are not discoverable by default: For a package to be
discoverable with ``spack external find``, it needs to add special
logic. See :ref:`here <make-package-findable>` for more details.
* The current implementation only collects and examines executable files,
so it is typically only useful for build/run dependencies (in some cases
if a library package also provides an executable, it may be possible to
extract a meaningful Spec by running the executable - for example the
compiler wrappers in MPI implementations).
* The logic does not search through module files, it can only detect
packages with executables defined in ``PATH``; you can help Spack locate
externals which use module files by loading any associated modules for
packages that you want Spack to know about before running
``spack external find``.
* Spack does not overwrite existing entries in the package configuration:
If there is an external defined for a spec at any configuration scope,
then Spack will not add a new external entry (``spack config blame packages``
can help locate all external entries).
.. _concretization-preferences:

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -56,6 +56,7 @@ on these ideas for each distinct build system that Spack supports:
:maxdepth: 1
:caption: Other
build_systems/bundlepackage
build_systems/cudapackage
build_systems/intelpackage
build_systems/custompackage

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -233,7 +233,124 @@ You may have noticed that most of the Autotools flags are of the form
``--without-baz``. Since these flags are so common, Spack provides a
couple of helper functions to make your life easier.
TODO: document ``with_or_without`` and ``enable_or_disable``.
"""""""""""""""""
enable_or_disable
"""""""""""""""""
Autotools flags for simple boolean variants can be automatically
generated by calling the ``enable_or_disable`` method. This is
typically used to enable or disable some feature within the package.
.. code-block:: python
variant(
'memchecker',
default=False,
description='Memchecker support for debugging [degrades performance]'
)
config_args.extend(self.enable_or_disable('memchecker'))
In this example, specifying the variant ``+memchecker`` will generate
the following configuration options:
.. code-block:: console
--enable-memchecker
"""""""""""""""
with_or_without
"""""""""""""""
Autotools flags for more complex variants, including boolean variants
and multi-valued variants, can be automatically generated by calling
the ``with_or_without`` method.
.. code-block:: python
variant(
'schedulers',
values=disjoint_sets(
('auto',), ('alps', 'lsf', 'tm', 'slurm', 'sge', 'loadleveler')
).with_non_feature_values('auto', 'none'),
description="List of schedulers for which support is enabled; "
"'auto' lets openmpi determine",
)
if 'schedulers=auto' not in spec:
config_args.extend(self.with_or_without('schedulers'))
In this example, specifying the variant ``schedulers=slurm,sge`` will
generate the following configuration options:
.. code-block:: console
--with-slurm --with-sge
``enable_or_disable`` is actually functionally equivalent with
``with_or_without``, and accepts the same arguments and variant types;
but idiomatic autotools packages often follow these naming
conventions.
""""""""""""""""
activation_value
""""""""""""""""
Autotools parameters that require an option can still be automatically
generated, using the ``activation_value`` argument to
``with_or_without`` (or, rarely, ``enable_or_disable``).
.. code-block:: python
variant(
'fabrics',
values=disjoint_sets(
('auto',), ('psm', 'psm2', 'verbs', 'mxm', 'ucx', 'libfabric')
).with_non_feature_values('auto', 'none'),
description="List of fabrics that are enabled; "
"'auto' lets openmpi determine",
)
if 'fabrics=auto' not in spec:
config_args.extend(self.with_or_without('fabrics',
activation_value='prefix'))
``activation_value`` accepts a callable that generates the configure
parameter value given the variant value; but the special value
``prefix`` tells Spack to automatically use the dependenency's
installation prefix, which is the most common use for such
parameters. In this example, specifying the variant
``fabrics=libfabric`` will generate the following configuration
options:
.. code-block:: console
--with-libfabric=</path/to/libfabric>
""""""""""""""""""""
activation overrides
""""""""""""""""""""
Finally, the behavior of either ``with_or_without`` or
``enable_or_disable`` can be overridden for specific variant
values. This is most useful for multi-values variants where some of
the variant values require atypical behavior.
.. code-block:: python
def with_or_without_verbs(self, activated):
# Up through version 1.6, this option was named --with-openib.
# In version 1.7, it was renamed to be --with-verbs.
opt = 'verbs' if self.spec.satisfies('@1.7:') else 'openib'
if not activated:
return '--without-{0}'.format(opt)
return '--with-{0}={1}'.format(opt, self.spec['rdma-core'].prefix)
Defining ``with_or_without_verbs`` overrides the behavior of a
``fabrics=verbs`` variant, changing the configure-time option to
``--with-openib`` for older versions of the package and specifying an
alternative dependency name:
.. code-block::
--with-openib=</path/to/rdma-core>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Configure script in a sub-directory

View File

@@ -0,0 +1,52 @@
.. Copyright 2013-2020 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)
.. _bundlepackage:
-------------
BundlePackage
-------------
``BundlePackage`` represents a set of packages that are expected to work well
together, such as a collection of commonly used software libraries. The
associated software is specified as bundle dependencies.
^^^^^^^^
Creation
^^^^^^^^
Be sure to specify the ``bundle`` template if you are using ``spack create``
to generate a package from the template. For example, use the following
command to create a bundle package whose class name will be ``Mybundle``:
.. code-block:: console
$ spack create --template bundle --name mybundle
^^^^^^
Phases
^^^^^^
The ``BundlePackage`` base class does not provide any phases by default
since the bundle does not represent a build system.
^^^
URL
^^^
The ``url`` property does not have meaning since there is no package-specific
code to fetch.
^^^^^^^
Version
^^^^^^^
At least one ``version`` must be specified in order for the package to
build.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -128,17 +128,20 @@ Adding flags to cmake
^^^^^^^^^^^^^^^^^^^^^
To add additional flags to the ``cmake`` call, simply override the
``cmake_args`` function:
``cmake_args`` function. The following example defines values for the flags
``WHATEVER``, ``ENABLE_BROKEN_FEATURE``, ``DETECT_HDF5``, and ``THREADS`` with
and without the :py:meth:`~.CMakePackage.define` and
:py:meth:`~.CMakePackage.define_from_variant` helper functions:
.. code-block:: python
def cmake_args(self):
args = []
if '+hdf5' in self.spec:
args.append('-DDETECT_HDF5=ON')
else:
args.append('-DDETECT_HDF5=OFF')
args = [
'-DWHATEVER:STRING=somevalue',
self.define('ENABLE_BROKEN_FEATURE', False),
self.define_from_variant('DETECT_HDF5', 'hdf5'),
self.define_from_variant('THREADS'), # True if +threads
]
return args

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -37,7 +37,7 @@ In order to use it, just add another base class to your package, for example:
if '+cuda' in spec:
options.append('-DWITH_CUDA=ON')
cuda_arch = spec.variants['cuda_arch'].value
if cuda_arch is not None:
if cuda_arch != 'none':
options.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0]))
else:
options.append('-DWITH_CUDA=OFF')

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -553,7 +553,7 @@ follow `the next section <intel-install-libs_>`_ instead.
f77: stub
fc: stub
Replace ``18.0.3`` with the version that you determined in the preceeding
Replace ``18.0.3`` with the version that you determined in the preceding
step. The contents under ``paths:`` do not matter yet.
You are right to ask: "Why on earth is that necessary?" [fn8]_.
@@ -696,7 +696,7 @@ follow `the next section <intel-install-libs_>`_ instead.
- /home/$user/spack-stage
Do not duplicate the ``config:`` line if it already is present.
Adapt the location, which here is the same as in the preceeding example.
Adapt the location, which here is the same as in the preceding example.
3. Retry installing the large package.
@@ -965,7 +965,7 @@ a *virtual* ``mkl`` package is declared in Spack.
Likewise, in a
:ref:`MakefilePackage <makefilepackage>`
or similiar package that does not use AutoTools you may need to provide include
or similar package that does not use AutoTools you may need to provide include
and link options for use on command lines or in environment variables.
For example, to generate an option string of the form ``-I<dir>``, use:
@@ -1055,6 +1055,6 @@ Footnotes
2. Set the hash length in ``install-path-scheme``, also in ``config.yaml``
(:ref:`q.v. <config-yaml>`).
3. You will want to set the *same* hash length for
:ref:`tcl module files <modules-naming-scheme>`
if you have Spack produce them for you, under ``naming_scheme`` in
``modules.yaml``. Other module dialects cannot be altered in this manner.
:ref:`module files <modules-projections>`
if you have Spack produce them for you, under ``projections`` in
``modules.yaml``.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -51,10 +51,8 @@ Build system dependencies
``SIPPackage`` requires several dependencies. Python is needed to run
the ``configure.py`` build script, and to run the resulting Python
libraries. Qt is needed to provide the ``qmake`` command. SIP is also
needed to build the package. SIP is an unusual dependency in that it
must be installed in the same installation directory as the package,
so instead of a ``depends_on``, we use a ``resource``. All of these
dependencies are automatically added via the base class
needed to build the package. All of these dependencies are automatically
added via the base class
.. code-block:: python
@@ -62,11 +60,7 @@ dependencies are automatically added via the base class
depends_on('qt', type='build')
resource(name='sip',
url='https://www.riverbankcomputing.com/static/Downloads/sip/4.19.18/sip-4.19.18.tar.gz',
sha256='c0bd863800ed9b15dcad477c4017cdb73fa805c25908b0240564add74d697e1e',
destination='.')
depends_on('py-sip', type='build')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to ``configure.py``

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -47,8 +47,9 @@ Each phase provides a ``<phase>`` function that runs:
where ``<jobs>`` is the number of parallel jobs to build with. Each phase
also has a ``<phase_args>`` function that can pass arguments to this call.
All of these functions are empty except for the ``configure_args``
function, which passes ``--prefix=/path/to/installation/prefix``.
All of these functions are empty. The ``configure`` phase
automatically adds ``--prefix=/path/to/installation/prefix``, so you
don't need to add that in the ``configure_args``.
^^^^^^^
Testing

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)
@@ -176,7 +176,25 @@ def setup(sphinx):
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# We use our own extension of the default style with a few modifications
from pygments.style import Style
from pygments.styles.default import DefaultStyle
from pygments.token import Generic, Comment, Text
class SpackStyle(DefaultStyle):
styles = DefaultStyle.styles.copy()
background_color = "#f4f4f8"
styles[Generic.Output] = "#355"
styles[Generic.Prompt] = "bold #346ec9"
import pkg_resources
dist = pkg_resources.Distribution(__file__)
sys.path.append('.') # make 'conf' module findable
ep = pkg_resources.EntryPoint.parse('spack = conf:SpackStyle', dist=dist)
dist._ep_map = {'pygments.styles': {'plugin1': ep}}
pkg_resources.working_set.add(dist)
pygments_style = 'spack'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -30,11 +30,21 @@ Default is ``$spack/opt/spack``.
``install_hash_length`` and ``install_path_scheme``
---------------------------------------------------
The default Spack installation path can be very long and can create
problems for scripts with hardcoded shebangs. There are two parameters
to help with that. Firstly, the ``install_hash_length`` parameter can
set the length of the hash in the installation path from 1 to 32. The
default path uses the full 32 characters.
The default Spack installation path can be very long and can create problems
for scripts with hardcoded shebangs. Additionally, when using the Intel
compiler, and if there is also a long list of dependencies, the compiler may
segfault. If you see the following:
.. code-block:: console
: internal error: ** The compiler has encountered an unexpected problem.
** Segmentation violation signal raised. **
Access violation or stack overflow. Please contact Intel Support for assistance.
it may be because variables containing dependency specs may be too long. There
are two parameters to help with long path names. Firstly, the
``install_hash_length`` parameter can set the length of the hash in the
installation path from 1 to 32. The default path uses the full 32 characters.
Secondly, it is also possible to modify the entire installation
scheme. By default Spack uses

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -427,6 +427,33 @@ home directory, and ``~user`` will expand to a specified user's home
directory. The ``~`` must appear at the beginning of the path, or Spack
will not expand it.
.. _configuration_environment_variables:
-------------------------
Environment Modifications
-------------------------
Spack allows to prescribe custom environment modifications in a few places
within its configuration files. Every time these modifications are allowed
they are specified as a dictionary, like in the following example:
.. code-block:: yaml
environment:
set:
LICENSE_FILE: '/path/to/license'
unset:
- CPATH
- LIBRARY_PATH
append_path:
PATH: '/new/bin/dir'
The possible actions that are permitted are ``set``, ``unset``, ``append_path``,
``prepend_path`` and finally ``remove_path``. They all require a dictionary
of variable names mapped to the values used for the modification.
The only exception is ``unset`` that requires just a list of variable names.
No particular order is ensured on the execution of each of these modifications.
----------------------------
Seeing Spack's Configuration
----------------------------

View File

@@ -0,0 +1,307 @@
.. Copyright 2013-2020 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)
.. _containers:
================
Container Images
================
Spack can be an ideal tool to setup images for containers since all the
features discussed in :ref:`environments` can greatly help to manage
the installation of software during the image build process. Nonetheless,
building a production image from scratch still requires a lot of
boilerplate to:
- Get Spack working within the image, possibly running as root
- Minimize the physical size of the software installed
- Properly update the system software in the base image
To facilitate users with these tedious tasks, Spack provides a command
to automatically generate recipes for container images based on
Environments:
.. code-block:: console
$ ls
spack.yaml
$ spack containerize
# Build stage with Spack pre-installed and ready to be used
FROM spack/centos7:latest as builder
# What we want to install and how we want to install it
# is specified in a manifest file (spack.yaml)
RUN mkdir /opt/spack-environment \
&& (echo "spack:" \
&& echo " specs:" \
&& echo " - gromacs+mpi" \
&& echo " - mpich" \
&& echo " concretization: together" \
&& echo " config:" \
&& echo " install_tree: /opt/software" \
&& echo " view: /opt/view") > /opt/spack-environment/spack.yaml
# Install the software, remove unnecessary deps
RUN cd /opt/spack-environment && spack install && spack gc -y
# Strip all the binaries
RUN find -L /opt/view/* -type f -exec readlink -f '{}' \; | \
xargs file -i | \
grep 'charset=binary' | \
grep 'x-executable\|x-archive\|x-sharedlib' | \
awk -F: '{print $1}' | xargs strip -s
# Modifications to the environment that are necessary to run
RUN cd /opt/spack-environment && \
spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh
# Bare OS image to run the installed executables
FROM centos:7
COPY --from=builder /opt/spack-environment /opt/spack-environment
COPY --from=builder /opt/software /opt/software
COPY --from=builder /opt/view /opt/view
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh
RUN yum update -y && yum install -y epel-release && yum update -y \
&& yum install -y libgomp \
&& rm -rf /var/cache/yum && yum clean all
RUN echo 'export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][gromacs]\[$(tput setaf 2)\]\u\[$(tput sgr0)\]:\w $ \[$(tput sgr0)\]"' >> ~/.bashrc
LABEL "app"="gromacs"
LABEL "mpi"="mpich"
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
The bits that make this automation possible are discussed in details
below. All the images generated in this way will be based on
multi-stage builds with:
- A fat ``build`` stage containing common build tools and Spack itself
- A minimal ``final`` stage containing only the software requested by the user
-----------------
Spack Base Images
-----------------
Docker images with Spack preinstalled and ready to be used are
built on `Docker Hub <https://hub.docker.com/u/spack>`_
at every push to ``develop`` or to a release branch. The OS that
are currently supported are summarized in the table below:
.. _containers-supported-os:
.. list-table:: Supported operating systems
:header-rows: 1
* - Operating System
- Base Image
- Spack Image
* - Ubuntu 16.04
- ``ubuntu:16.04``
- ``spack/ubuntu-xenial``
* - Ubuntu 18.04
- ``ubuntu:18.04``
- ``spack/ubuntu-bionic``
* - CentOS 6
- ``centos:6``
- ``spack/centos6``
* - CentOS 7
- ``centos:7``
- ``spack/centos7``
All the images are tagged with the corresponding release of Spack:
.. image:: dockerhub_spack.png
with the exception of the ``latest`` tag that points to the HEAD
of the ``develop`` branch. These images are available for anyone
to use and take care of all the repetitive tasks that are necessary
to setup Spack within a container. All the container recipes generated
automatically by Spack use them as base images for their ``build`` stage.
-------------------------
Environment Configuration
-------------------------
Any Spack Environment can be used for the automatic generation of container
recipes. Sensible defaults are provided for things like the base image or the
version of Spack used in the image. If a finer tuning is needed it can be
obtained by adding the relevant metadata under the ``container`` attribute
of environments:
.. code-block:: yaml
spack:
specs:
- gromacs+mpi
- mpich
container:
# Select the format of the recipe e.g. docker,
# singularity or anything else that is currently supported
format: docker
# Select from a valid list of images
base:
image: "centos:7"
spack: develop
# Whether or not to strip binaries
strip: true
# Additional system packages that are needed at runtime
os_packages:
- libgomp
# Extra instructions
extra_instructions:
final: |
RUN echo 'export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][gromacs]\[$(tput setaf 2)\]\u\[$(tput sgr0)\]:\w $ \[$(tput sgr0)\]"' >> ~/.bashrc
# Labels for the image
labels:
app: "gromacs"
mpi: "mpich"
The tables below describe the configuration options that are currently supported:
.. list-table:: General configuration options for the ``container`` section of ``spack.yaml``
:header-rows: 1
* - Option Name
- Description
- Allowed Values
- Required
* - ``format``
- The format of the recipe
- ``docker`` or ``singularity``
- Yes
* - ``base:image``
- Base image for ``final`` stage
- See :ref:`containers-supported-os`
- Yes
* - ``base:spack``
- Version of Spack
- Valid tags for ``base:image``
- Yes
* - ``strip``
- Whether to strip binaries
- ``true`` (default) or ``false``
- No
* - ``os_packages``
- System packages to be installed
- Valid packages for the ``final`` OS
- No
* - ``extra_instructions:build``
- Extra instructions (e.g. `RUN`, `COPY`, etc.) at the end of the ``build`` stage
- Anything understood by the current ``format``
- No
* - ``extra_instructions:final``
- Extra instructions (e.g. `RUN`, `COPY`, etc.) at the end of the ``final`` stage
- Anything understood by the current ``format``
- No
* - ``labels``
- Labels to tag the image
- Pairs of key-value strings
- No
.. list-table:: Configuration options specific to Singularity
:header-rows: 1
* - Option Name
- Description
- Allowed Values
- Required
* - ``singularity:runscript``
- Content of ``%runscript``
- Any valid script
- No
* - ``singularity:startscript``
- Content of ``%startscript``
- Any valid script
- No
* - ``singularity:test``
- Content of ``%test``
- Any valid script
- No
* - ``singularity:help``
- Description of the image
- Description string
- No
Once the Environment is properly configured a recipe for a container
image can be printed to standard output by issuing the following
command from the directory where the ``spack.yaml`` resides:
.. code-block:: console
$ spack containerize
The example ``spack.yaml`` above would produce for instance the
following ``Dockerfile``:
.. code-block:: docker
# Build stage with Spack pre-installed and ready to be used
FROM spack/centos7:latest as builder
# What we want to install and how we want to install it
# is specified in a manifest file (spack.yaml)
RUN mkdir /opt/spack-environment \
&& (echo "spack:" \
&& echo " specs:" \
&& echo " - gromacs+mpi" \
&& echo " - mpich" \
&& echo " concretization: together" \
&& echo " config:" \
&& echo " install_tree: /opt/software" \
&& echo " view: /opt/view") > /opt/spack-environment/spack.yaml
# Install the software, remove unnecessary deps
RUN cd /opt/spack-environment && spack install && spack gc -y
# Strip all the binaries
RUN find -L /opt/view/* -type f -exec readlink -f '{}' \; | \
xargs file -i | \
grep 'charset=binary' | \
grep 'x-executable\|x-archive\|x-sharedlib' | \
awk -F: '{print $1}' | xargs strip -s
# Modifications to the environment that are necessary to run
RUN cd /opt/spack-environment && \
spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh
# Bare OS image to run the installed executables
FROM centos:7
COPY --from=builder /opt/spack-environment /opt/spack-environment
COPY --from=builder /opt/software /opt/software
COPY --from=builder /opt/view /opt/view
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh
RUN yum update -y && yum install -y epel-release && yum update -y \
&& yum install -y libgomp \
&& rm -rf /var/cache/yum && yum clean all
RUN echo 'export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][gromacs]\[$(tput setaf 2)\]\u\[$(tput sgr0)\]:\w $ \[$(tput sgr0)\]"' >> ~/.bashrc
LABEL "app"="gromacs"
LABEL "mpi"="mpich"
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
.. note::
Spack can also produce Singularity definition files to build the image. The
minimum version of Singularity required to build a SIF (Singularity Image Format)
from them is ``3.5.3``.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -27,17 +27,28 @@ correspond to one feature/bugfix/extension/etc. One can create PRs with
changes relevant to different ideas, however reviewing such PRs becomes tedious
and error prone. If possible, try to follow the **one-PR-one-package/feature** rule.
Spack uses a rough approximation of the `Git Flow <http://nvie.com/posts/a-successful-git-branching-model/>`_
branching model. The develop branch contains the latest contributions, and
master is always tagged and points to the latest stable release. Therefore, when
you send your request, make ``develop`` the destination branch on the
`Spack repository <https://github.com/spack/spack>`_.
--------
Branches
--------
Spack's ``develop`` branch has the latest contributions. Nearly all pull
requests should start from ``develop`` and target ``develop``.
There is a branch for each major release series. Release branches
originate from ``develop`` and have tags for each point release in the
series. For example, ``releases/v0.14`` has tags for ``0.14.0``,
``0.14.1``, ``0.14.2``, etc. versions of Spack. We backport important bug
fixes to these branches, but we do not advance the package versions or
make other changes that would change the way Spack concretizes
dependencies. Currently, the maintainers manage these branches by
cherry-picking from ``develop``. See :ref:`releases` for more
information.
----------------------
Continuous Integration
----------------------
Spack uses `Travis CI <https://travis-ci.org/spack/spack>`_ for Continuous Integration
Spack uses `Github Actions <https://docs.github.com/en/actions>`_ for Continuous Integration
testing. This means that every time you submit a pull request, a series of tests will
be run to make sure you didn't accidentally introduce any bugs into Spack. **Your PR
will not be accepted until it passes all of these tests.** While you can certainly wait
@@ -46,24 +57,25 @@ locally to speed up the review process.
.. note::
Oftentimes, Travis will fail for reasons other than a problem with your PR.
Oftentimes, CI will fail for reasons other than a problem with your PR.
For example, apt-get, pip, or homebrew will fail to download one of the
dependencies for the test suite, or a transient bug will cause the unit tests
to timeout. If Travis fails, click the "Details" link and click on the test(s)
to timeout. If any job fails, click the "Details" link and click on the test(s)
that is failing. If it doesn't look like it is failing for reasons related to
your PR, you have two options. If you have write permissions for the Spack
repository, you should see a "Restart job" button on the right-hand side. If
repository, you should see a "Restart workflow" button on the right-hand side. If
not, you can close and reopen your PR to rerun all of the tests. If the same
test keeps failing, there may be a problem with your PR. If you notice that
every recent PR is failing with the same error message, it may be that Travis
is down or one of Spack's dependencies put out a new release that is causing
problems. If this is the case, please file an issue.
every recent PR is failing with the same error message, it may be that an issue
occurred with the CI infrastructure or one of Spack's dependencies put out a
new release that is causing problems. If this is the case, please file an issue.
If you take a look in ``$SPACK_ROOT/.travis.yml``, you'll notice that we test
against Python 2.6, 2.7, and 3.4-3.7 on both macOS and Linux. We currently
We currently test against Python 2.6, 2.7, and 3.5-3.7 on both macOS and Linux and
perform 3 types of tests:
.. _cmd-spack-test:
^^^^^^^^^^
Unit Tests
^^^^^^^^^^
@@ -86,40 +98,83 @@ To run *all* of the unit tests, use:
$ spack test
These tests may take several minutes to complete. If you know you are only
modifying a single Spack feature, you can run a single unit test at a time:
These tests may take several minutes to complete. If you know you are
only modifying a single Spack feature, you can run subsets of tests at a
time. For example, this would run all the tests in
``lib/spack/spack/test/architecture.py``:
.. code-block:: console
$ spack test architecture
$ spack test lib/spack/spack/test/architecture.py
This allows you to develop iteratively: make a change, test that change, make
another change, test that change, etc. To get a list of all available unit
tests, run:
And this would run the ``test_platform`` test from that file:
.. code-block:: console
$ spack test architecture.py::test_platform
This allows you to develop iteratively: make a change, test that change,
make another change, test that change, etc. We use `pytest
<http://pytest.org/>`_ as our tests framework, and these types of
arguments are just passed to the ``pytest`` command underneath. See `the
pytest docs
<http://doc.pytest.org/en/latest/usage.html#specifying-tests-selecting-tests>`_
for more details on test selection syntax.
``spack test`` has a few special options that can help you understand
what tests are available. To get a list of all available unit test
files, run:
.. command-output:: spack test --list
:ellipsis: 5
A more detailed list of available unit tests can be found by running
``spack test --long-list``.
To see a more detailed list of available unit tests, use ``spack test
--list-long``:
By default, ``pytest`` captures the output of all unit tests. If you add print
statements to a unit test and want to see the output, simply run:
.. command-output:: spack test --list-long
:ellipsis: 10
And to see the fully qualified names of all tests, use ``--list-names``:
.. command-output:: spack test --list-names
:ellipsis: 5
You can combine these with ``pytest`` arguments to restrict which tests
you want to know about. For example, to see just the tests in
``architecture.py``:
.. command-output:: spack test --list-long lib/spack/spack/test/architecture.py
You can also combine any of these options with a ``pytest`` keyword
search. For example, to see the names of all tests that have "spec"
or "concretize" somewhere in their names:
.. command-output:: spack test --list-names -k "spec and concretize"
By default, ``pytest`` captures the output of all unit tests, and it will
print any captured output for failed tests. Sometimes it's helpful to see
your output interactively, while the tests run (e.g., if you add print
statements to a unit tests). To see the output *live*, use the ``-s``
argument to ``pytest``:
.. code-block:: console
$ spack test -s -k architecture
$ spack test -s spack test --list-long lib/spack/spack/test/architecture.py::test_platform
Unit tests are crucial to making sure bugs aren't introduced into Spack. If you
are modifying core Spack libraries or adding new functionality, please consider
adding new unit tests or strengthening existing tests.
Unit tests are crucial to making sure bugs aren't introduced into
Spack. If you are modifying core Spack libraries or adding new
functionality, please add new unit tests for your feature, and consider
strengthening existing tests. You will likely be asked to do this if you
submit a pull request to the Spack project on GitHub. Check out the
`pytest docs <http://pytest.org/>`_ and feel free to ask for guidance on
how to write tests!
.. note::
There is also a ``run-unit-tests`` script in ``share/spack/qa`` that
runs the unit tests. Afterwards, it reports back to Codecov with the
percentage of Spack that is covered by unit tests. This script is
designed for Travis CI. If you want to run the unit tests yourself, we
suggest you use ``spack test``.
You may notice the ``share/spack/qa/run-unit-tests`` script in the
repository. This script is designed for CI. It runs the unit
tests and reports coverage statistics back to Codecov. If you want to
run the unit tests yourself, we suggest you use ``spack test``.
^^^^^^^^^^^^
Flake8 Tests
@@ -190,7 +245,7 @@ to update them.
Try fixing flake8 errors in reverse order. This eliminates the need for
multiple runs of ``spack flake8`` just to re-compute line numbers and
makes it much easier to fix errors directly off of the Travis output.
makes it much easier to fix errors directly off of the CI output.
.. warning::
@@ -223,8 +278,7 @@ documentation. In order to prevent things like broken links and missing imports,
we added documentation tests that build the documentation and fail if there
are any warning or error messages.
Building the documentation requires several dependencies, all of which can be
installed with Spack:
Building the documentation requires several dependencies:
* sphinx
* sphinxcontrib-programoutput
@@ -234,11 +288,18 @@ installed with Spack:
* mercurial
* subversion
All of these can be installed with Spack, e.g.
.. code-block:: console
$ spack install py-sphinx py-sphinxcontrib-programoutput py-sphinx-rtd-theme graphviz git mercurial subversion
.. warning::
Sphinx has `several required dependencies <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-sphinx/package.py>`_.
If you installed ``py-sphinx`` with Spack, make sure to add all of these
dependencies to your ``PYTHONPATH``. The easiest way to do this is to run:
If you're using a ``python`` from Spack and you installed
``py-sphinx`` and friends, you need to make them available to your
``python``. The easiest way to do this is to run:
.. code-block:: console
@@ -246,8 +307,10 @@ installed with Spack:
$ spack activate py-sphinx-rtd-theme
$ spack activate py-sphinxcontrib-programoutput
so that all of the dependencies are symlinked to a central location.
If you see an error message like:
so that all of the dependencies are symlinked into that Python's
tree. Alternatively, you could arrange for their library
directories to be added to PYTHONPATH. If you see an error message
like:
.. code-block:: console
@@ -274,7 +337,7 @@ your PR is accepted.
There is also a ``run-doc-tests`` script in ``share/spack/qa``. The only
difference between running this script and running ``make`` by hand is that
the script will exit immediately if it encounters an error or warning. This
is necessary for Travis CI. If you made a lot of documentation changes, it is
is necessary for CI. If you made a lot of documentation changes, it is
much quicker to run ``make`` by hand so that you can see all of the warnings
at once.
@@ -332,13 +395,13 @@ coverage. This helps us tell what percentage of lines of code in Spack are
covered by unit tests. Although code covered by unit tests can still contain
bugs, it is much less error prone than code that is not covered by unit tests.
Codecov provides `browser extensions <https://github.com/codecov/browser-extension>`_
for Google Chrome, Firefox, and Opera. These extensions integrate with GitHub
Codecov provides `browser extensions <https://github.com/codecov/sourcegraph-codecov>`_
for Google Chrome and Firefox. These extensions integrate with GitHub
and allow you to see coverage line-by-line when viewing the Spack repository.
If you are new to Spack, a great way to get started is to write unit tests to
increase coverage!
Unlike with Travis, Codecov tests are not required to pass in order for your
Unlike with CI on Github Actions Codecov tests are not required to pass in order for your
PR to be merged. If you modify core Spack libraries, we would greatly
appreciate unit tests that cover these changed lines. Otherwise, we have no
way of knowing whether or not your changes introduce a bug. If you make

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -363,12 +363,12 @@ Developer commands
``spack doc``
^^^^^^^^^^^^^
.. _cmd-spack-test:
^^^^^^^^^^^^^^
``spack test``
^^^^^^^^^^^^^^
See the :ref:`contributor guide section <cmd-spack-test>` on ``spack test``.
.. _cmd-spack-python:
^^^^^^^^^^^^^^^^
@@ -495,3 +495,370 @@ The bottom of the output shows the top most time consuming functions,
slowest on top. The profiling support is from Python's built-in tool,
`cProfile
<https://docs.python.org/2/library/profile.html#module-cProfile>`_.
.. _releases:
--------
Releases
--------
This section documents Spack's release process. It is intended for
project maintainers, as the tasks described here require maintainer
privileges on the Spack repository. For others, we hope this section at
least provides some insight into how the Spack project works.
.. _release-branches:
^^^^^^^^^^^^^^^^
Release branches
^^^^^^^^^^^^^^^^
There are currently two types of Spack releases: :ref:`major releases
<major-releases>` (``0.13.0``, ``0.14.0``, etc.) and :ref:`point releases
<point-releases>` (``0.13.1``, ``0.13.2``, ``0.13.3``, etc.). Here is a
diagram of how Spack release branches work::
o branch: develop (latest version)
|
o merge v0.14.1 into develop
|\
| o branch: releases/v0.14, tag: v0.14.1
o | merge v0.14.0 into develop
|\|
| o tag: v0.14.0
|/
o merge v0.13.2 into develop
|\
| o branch: releases/v0.13, tag: v0.13.2
o | merge v0.13.1 into develop
|\|
| o tag: v0.13.1
o | merge v0.13.0 into develop
|\|
| o tag: v0.13.0
o |
| o
|/
o
The ``develop`` branch has the latest contributions, and nearly all pull
requests target ``develop``.
Each Spack release series also has a corresponding branch, e.g.
``releases/v0.14`` has ``0.14.x`` versions of Spack, and
``releases/v0.13`` has ``0.13.x`` versions. A major release is the first
tagged version on a release branch. Minor releases are back-ported from
develop onto release branches. This is typically done by cherry-picking
bugfix commits off of ``develop``.
To avoid version churn for users of a release series, minor releases
should **not** make changes that would change the concretization of
packages. They should generally only contain fixes to the Spack core.
Both major and minor releases are tagged. After each release, we merge
the release branch back into ``develop`` so that the version bump and any
other release-specific changes are visible in the mainline (see
:ref:`merging-releases-to-develop`).
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Scheduling work for releases
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
We schedule work for releases by creating `GitHub projects
<https://github.com/spack/spack/projects>`_. At any time, there may be
several open release projects. For example, here are two releases (from
some past version of the page linked above):
.. image:: images/projects.png
Here, there's one release in progress for ``0.15.1`` and another for
``0.16.0``. Each of these releases has a project board containing issues
and pull requests. GitHub shows a status bar with completed work in
green, work in progress in purple, and work not started yet in gray, so
it's fairly easy to see progress.
Spack's project boards are not firm commitments, and we move work between
releases frequently. If we need to make a release and some tasks are not
yet done, we will simply move them to next minor or major release, rather
than delaying the release to complete them.
For more on using GitHub project boards, see `GitHub's documentation
<https://docs.github.com/en/github/managing-your-work-on-github/about-project-boards>`_.
.. _major-releases:
^^^^^^^^^^^^^^^^^^^^^
Making Major Releases
^^^^^^^^^^^^^^^^^^^^^
Assuming you've already created a project board and completed the work
for a major release, the steps to make the release are as follows:
#. Create two new project boards:
* One for the next major release
* One for the next point release
#. Move any tasks that aren't done yet to one of the new project boards.
Small bugfixes should go to the next point release. Major features,
refactors, and changes that could affect concretization should go in
the next major release.
#. Create a branch for the release, based on ``develop``:
.. code-block:: console
$ git checkout -b releases/v0.15 develop
For a version ``vX.Y.Z``, the branch's name should be
``releases/vX.Y``. That is, you should create a ``releases/vX.Y``
branch if you are preparing the ``X.Y.0`` release.
#. Bump the version in ``lib/spack/spack/__init__.py``. See `this example from 0.13.0
<https://github.com/spack/spack/commit/8eeb64096c98b8a43d1c587f13ece743c864fba9>`_
#. Updaate the release version lists in these files to include the new version:
* ``lib/spack/spack/schema/container.py``
* ``lib/spack/spack/container/images.json``
**TODO**: We should get rid of this step in some future release.
#. Update ``CHANGELOG.md`` with major highlights in bullet form. Use
proper markdown formatting, like `this example from 0.15.0
<https://github.com/spack/spack/commit/d4bf70d9882fcfe88507e9cb444331d7dd7ba71c>`_.
#. Push the release branch to GitHub.
#. Make sure CI passes on the release branch, including:
* Regular unit tests
* Build tests
* The E4S pipeline at `gitlab.spack.io <https://gitlab.spack.io>`_
If CI is not passing, submit pull requests to ``develop`` as normal
and keep rebasing the release branch on ``develop`` until CI passes.
#. Follow the steps in :ref:`publishing-releases`.
#. Follow the steps in :ref:`merging-releases-to-develop`.
#. Follow the steps in :ref:`announcing-releases`.
.. _point-releases:
^^^^^^^^^^^^^^^^^^^^^
Making Point Releases
^^^^^^^^^^^^^^^^^^^^^
This assumes you've already created a project board for a point release
and completed the work to be done for the release. To make a point
release:
#. Create one new project board for the next point release.
#. Move any cards that aren't done yet to the next project board.
#. Check out the release branch (it should already exist). For the
``X.Y.Z`` release, the release branch is called ``releases/vX.Y``. For
``v0.15.1``, you would check out ``releases/v0.15``:
.. code-block:: console
$ git checkout releases/v0.15
#. Cherry-pick each pull request in the ``Done`` column of the release
project onto the release branch.
This is **usually** fairly simple since we squash the commits from the
vast majority of pull requests, which means there is only one commit
per pull request to cherry-pick. For example, `this pull request
<https://github.com/spack/spack/pull/15777>`_ has three commits, but
the were squashed into a single commit on merge. You can see the
commit that was created here:
.. image:: images/pr-commit.png
You can easily cherry pick it like this (assuming you already have the
release branch checked out):
.. code-block:: console
$ git cherry-pick 7e46da7
For pull requests that were rebased, you'll need to cherry-pick each
rebased commit individually. There have not been any rebased PRs like
this in recent point releases.
.. warning::
It is important to cherry-pick commits in the order they happened,
otherwise you can get conflicts while cherry-picking. When
cherry-picking onto a point release, look at the merge date,
**not** the number of the pull request or the date it was opened.
Sometimes you may **still** get merge conflicts even if you have
cherry-picked all the commits in order. This generally means there
is some other intervening pull request that the one you're trying
to pick depends on. In these cases, you'll need to make a judgment
call:
1. If the dependency is small, you might just cherry-pick it, too.
If you do this, add it to the release board.
2. If it is large, then you may decide that this fix is not worth
including in a point release, in which case you should remove it
from the release project.
3. You can always decide to manually back-port the fix to the release
branch if neither of the above options makes sense, but this can
require a lot of work. It's seldom the right choice.
#. Bump the version in ``lib/spack/spack/__init__.py``. See `this example from 0.14.1
<https://github.com/spack/spack/commit/ff0abb9838121522321df2a054d18e54b566b44a>`_.
#. Updaate the release version lists in these files to include the new version:
* ``lib/spack/spack/schema/container.py``
* ``lib/spack/spack/container/images.json``
**TODO**: We should get rid of this step in some future release.
#. Update ``CHANGELOG.md`` with a list of bugfixes. This is typically just a
summary of the commits you cherry-picked onto the release branch. See
`the changelog from 0.14.1
<https://github.com/spack/spack/commit/ff0abb9838121522321df2a054d18e54b566b44a>`_.
#. Push the release branch to GitHub.
#. Make sure CI passes on the release branch, including:
* Regular unit tests
* Build tests
* The E4S pipeline at `gitlab.spack.io <https://gitlab.spack.io>`_
If CI does not pass, you'll need to figure out why, and make changes
to the release branch until it does. You can make more commits, modify
or remove cherry-picked commits, or cherry-pick **more** from
``develop`` to make this happen.
#. Follow the steps in :ref:`publishing-releases`.
#. Follow the steps in :ref:`merging-releases-to-develop`.
#. Follow the steps in :ref:`announcing-releases`.
.. _publishing-releases:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Publishing a release on GitHub
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#. Go to `github.com/spack/spack/releases
<https://github.com/spack/spack/releases>`_ and click ``Draft a new
release``. Set the following:
* ``Tag version`` should start with ``v`` and contain *all three*
parts of the version, .g. ``v0.15.1``. This is the name of the tag
that will be created.
* ``Target`` should be the ``releases/vX.Y`` branch (e.g., ``releases/v0.15``).
* ``Release title`` should be ``vX.Y.Z`` (To match the tag, e.g., ``v0.15.1``).
* For the text, paste the latest release markdown from your ``CHANGELOG.md``.
You can save the draft and keep coming back to this as you prepare the release.
#. When you are done, click ``Publish release``.
#. Immediately after publishing, go back to
`github.com/spack/spack/releases
<https://github.com/spack/spack/releases>`_ and download the
auto-generated ``.tar.gz`` file for the release. It's the ``Source
code (tar.gz)`` link.
#. Click ``Edit`` on the release you just did and attach the downloaded
release tarball as a binary. This does two things:
#. Makes sure that the hash of our releases doesn't change over time.
GitHub sometimes annoyingly changes they way they generate
tarballs, and then hashes can change if you rely on the
auto-generated tarball links.
#. Gets us download counts on releases visible through the GitHub
API. GitHub tracks downloads of artifacts, but *not* the source
links. See the `releases
page <https://api.github.com/repos/spack/spack/releases>`_ and search
for ``download_count`` to see this.
.. _merging-releases-to-develop:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Merging back into ``develop``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Once each release is complete, make sure that it is merged back into
``develop`` with a merge commit:
.. code-block:: console
$ git checkout develop
$ git merge --no-ff releases/v0.15
$ git push
We merge back to ``develop`` because it:
* updates the version and ``CHANGELOG.md`` on ``develop``.
* ensures that your release tag is reachable from the head of
``develop``
We *must* use a real merge commit (via the ``--no-ff`` option) because it
ensures that the release tag is reachable from the tip of ``develop``.
This is necessary for ``spack -V`` to work properly -- it uses ``git
describe --tags`` to find the last reachable tag in the repository and
reports how far we are from it. For example:
.. code-block:: console
$ spack -V
0.14.2-1486-b80d5e74e5
This says that we are at commit ``b80d5e74e5``, which is 1,486 commits
ahead of the ``0.14.2`` release.
We put this step last in the process because it's best to do it only once
the release is complete and tagged. If you do it before you've tagged the
release and later decide you want to tag some later commit, you'll need
to merge again.
.. _announcing-releases:
^^^^^^^^^^^^^^^^^^^^
Announcing a release
^^^^^^^^^^^^^^^^^^^^
We announce releases in all of the major Spack communication channels.
Publishing the release takes care of GitHub. The remaining channels are
Twitter, Slack, and the mailing list. Here are the steps:
#. Make a tweet to announce the release. It should link to the release's
page on GitHub. You can base it on `this example tweet
<https://twitter.com/spackpm/status/1231761858182307840>`_.
#. Ping ``@channel`` in ``#general`` on Slack (`spackpm.slack.com
<https://spackpm.slack.com>`_) with a link to the tweet. The tweet
will be shown inline so that you do not have to retype your release
announcement.
#. Email the Spack mailing list to let them know about the release. As
with the tweet, you likely want to link to the release's page on
GitHub. It's also helpful to include some information directly in the
email. You can base yours on this `example email
<https://groups.google.com/forum/#!topic/spack/WT4CT9i_X4s>`_.
Once you've announced the release, congratulations, you're done! You've
finished making the release!

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -49,6 +49,8 @@ Spack uses a "manifest and lock" model similar to `Bundler gemfiles
managers. The user input file is named ``spack.yaml`` and the lock
file is named ``spack.lock``
.. _environments-using:
------------------
Using Environments
------------------
@@ -128,7 +130,7 @@ To activate an environment, use the following command:
By default, the ``spack env activate`` will load the view associated
with the Environment into the user environment. The ``-v,
--with-view`` argument ensures this behavior, and the ``-V,
--without-vew`` argument activates the environment without changing
--without-view`` argument activates the environment without changing
the user environment variables.
The ``-p`` option to the ``spack env activate`` command modifies the
@@ -165,15 +167,6 @@ Any directory can be treated as an environment if it contains a file
$ spack env activate -d /path/to/directory
Spack commands that are environment sensitive will also act on the
environment any time the current working directory contains a
``spack.yaml`` file. Changing working directory to a directory
containing a ``spack.yaml`` file is equivalent to the command:
.. code-block:: console
$ spack env activate -d /path/to/dir --without-view
Anonymous specs can be created in place using the command:
.. code-block:: console
@@ -279,18 +272,18 @@ in the lockfile, nor does it install the spec.
The ``spack add`` command is environment aware. It adds to the
currently active environment. All environment aware commands can also
be called using the ``spack -E`` flag to specify the environment.
be called using the ``spack -e`` flag to specify the environment.
.. code-block:: console
$ spack activate myenv
$ spack env activate myenv
$ spack add mpileaks
or
.. code-block:: console
$ spack -E myenv add python
$ spack -e myenv add python
.. _environments_concretization:
@@ -382,11 +375,12 @@ the Environment.
Loading
^^^^^^^
Once an environment has been installed, the following creates a load script for it:
Once an environment has been installed, the following creates a load
script for it:
.. code-block:: console
$ spack env myenv loads -r
$ spack env loads -r
This creates a file called ``loads`` in the environment directory.
Sourcing that file in Bash will make the environment available to the
@@ -599,7 +593,7 @@ files are identical.
spack:
definitions:
- first: [libelf, libdwarf]
- compilers: ['%gcc', '^intel']
- compilers: ['%gcc', '%intel']
- second:
- $first
- matrix:
@@ -644,7 +638,7 @@ named list ``compilers`` is ``['%gcc', '%clang', '%intel']`` on
spack:
definitions:
- compilers: ['%gcc', '%clang']
- when: target == 'x86_64'
- when: arch.satisfies('x86_64:')
compilers: ['%intel']
.. note::
@@ -663,8 +657,12 @@ The valid variables for a ``when`` clause are:
#. ``target``. The target string of the default Spack
architecture on the system.
#. ``architecture`` or ``arch``. The full string of the
default Spack architecture on the system.
#. ``architecture`` or ``arch``. A Spack spec satisfying the default Spack
architecture on the system. This supports querying via the ``satisfies``
method, as shown above.
#. ``arch_str``. The architecture string of the default Spack architecture
on the system.
#. ``re``. The standard regex module in Python.
@@ -673,6 +671,40 @@ The valid variables for a ``when`` clause are:
#. ``hostname``. The hostname of the system (if ``hostname`` is an
executable in the user's PATH).
""""""""""""""""""""""""
SpecLists as Constraints
""""""""""""""""""""""""
Dependencies and compilers in Spack can be both packages in an
environment and constraints on other packages. References to SpecLists
allow a shorthand to treat packages in a list as either a compiler or
a dependency using the ``$%`` or ``$^`` syntax respectively.
For example, the following environment has three root packages:
``gcc@8.1.0``, ``mvapich2@2.3.1 %gcc@8.1.0``, and ``hdf5+mpi
%gcc@8.1.0 ^mvapich2@2.3.1``.
.. code-block:: yaml
spack:
definitions:
- compilers: [gcc@8.1.0]
- mpis: [mvapich2@2.3.1]
- packages: [hdf5+mpi]
specs:
- $compilers
- matrix:
- [$mpis]
- [$%compilers]
- matrix:
- [$packages]
- [$^mpis]
- [$%compilers]
This allows for a much-needed reduction in redundancy between packages
and constraints.
^^^^^^^^^^^^^^^^^^^^^^^^^
Environment-managed Views
^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -9,12 +9,6 @@
Custom Extensions
=================
.. warning::
The support for extending Spack with custom commands is still experimental.
Users should expect APIs or prescribed directory structures to
change at any time.
*Spack extensions* permit you to extend Spack capabilities by deploying your
own custom commands or logic in an arbitrary location on your filesystem.
This might be extremely useful e.g. to develop and maintain a command whose purpose is

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -71,10 +71,6 @@ This automatically adds Spack to your ``PATH`` and allows the ``spack``
command to be used to execute spack :ref:`commands <shell-support>` and
:ref:`useful packaging commands <packaging-shell-support>`.
If :ref:`environment-modules <InstallEnvironmentModules>` is
installed and available, the ``spack`` command can also load and unload
:ref:`modules <modules>`.
^^^^^^^^^^^^^^^^^
Clean Environment
^^^^^^^^^^^^^^^^^
@@ -97,7 +93,7 @@ Check Installation
With Spack installed, you should be able to run some basic Spack
commands. For example:
.. command-output:: spack spec netcdf
.. command-output:: spack spec netcdf-c
^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -482,7 +478,7 @@ Fortran.
cxx: /usr/bin/clang++
f77: /path/to/bin/gfortran
fc: /path/to/bin/gfortran
spec: clang@11.0.0-apple
spec: apple-clang@11.0.0
If you used Spack to install GCC, you can get the installation prefix by
@@ -822,7 +818,7 @@ Git
Some Spack packages use ``git`` to download, which might not work on
some computers. For example, the following error was
encountered on a Macintosh during ``spack install julia-master``:
encountered on a Macintosh during ``spack install julia@master``:
.. code-block:: console
@@ -851,7 +847,7 @@ from websites and from git.
.. warning::
This workaround should be used ONLY as a last resort! Wihout SSL
This workaround should be used ONLY as a last resort! Without SSL
certificate verification, spack and git will download from sites you
wouldn't normally trust. The code you download and run may then be
compromised! While this is not a major issue for archives that will
@@ -900,9 +896,8 @@ Core Spack Utilities
^^^^^^^^^^^^^^^^^^^^
Core Spack uses the following packages, mainly to download and unpack
source code, and to load generated environment modules: ``curl``,
``env``, ``git``, ``go``, ``hg``, ``svn``, ``tar``, ``unzip``,
``patch``, ``environment-modules``.
source code: ``curl``, ``env``, ``git``, ``go``, ``hg``, ``svn``,
``tar``, ``unzip``, ``patch``
As long as the user's environment is set up to successfully run these
programs from outside of Spack, they should work inside of Spack as
@@ -910,10 +905,6 @@ well. They can generally be activated as in the ``curl`` example above;
or some systems might already have an appropriate hand-built
environment module that may be loaded. Either way works.
If you find that you are missing some of these programs, ``spack`` can
build some of them for you with ``spack bootstrap``. Currently supported
programs are ``environment-modules``.
A few notes on specific programs in this list:
""""""""""""""""""""""""""
@@ -941,45 +932,6 @@ other programs will also not work, because they also rely on OpenSSL.
Once ``curl`` has been installed, you can similarly install the others.
.. _InstallEnvironmentModules:
"""""""""""""""""""
Environment Modules
"""""""""""""""""""
In order to use Spack's generated module files, you must have
installed ``environment-modules`` or ``lmod``. The simplest way
to get the latest version of either of these tools is installing
it as part of Spack's bootstrap procedure:
.. code-block:: console
$ spack bootstrap
.. warning::
At the moment ``spack bootstrap`` is only able to install ``environment-modules``.
Extending its capabilities to prefer ``lmod`` where possible is in the roadmap,
and likely to happen before the next release.
Alternatively, on many Linux distributions, you can install a pre-built binary
from the vendor's repository. On Fedora/RHEL/CentOS, for example, this can be
done with the command:
.. code-block:: console
$ yum install environment-modules
Once you have the tool installed and available in your path, you can source
Spack's setup file:
.. code-block:: console
$ source share/spack/setup-env.sh
This activates :ref:`shell support <shell-support>` and makes commands like
``spack load`` available for use.
^^^^^^^^^^^^^^^^^
Package Utilities
^^^^^^^^^^^^^^^^^

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -66,6 +66,7 @@ or refer to the full manual below.
config_yaml
build_settings
environments
containers
mirrors
module_file_support
repositories
@@ -74,6 +75,7 @@ or refer to the full manual below.
package_list
chain
extensions
pipelines
.. toctree::
:maxdepth: 2

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -17,22 +17,16 @@ Spack integrates with `Environment Modules
<http://lmod.readthedocs.io/en/latest/>`_ by
providing post-install hooks that generate module files and commands to manipulate them.
.. note::
If your machine does not already have a module system installed,
we advise you to use either Environment Modules or LMod. See :ref:`InstallEnvironmentModules`
for more details.
.. _shell-support:
----------------------------
Using module files via Spack
----------------------------
If you have installed a supported module system either manually or through
``spack bootstrap``, you should be able to run either ``module avail`` or
``use -l spack`` to see what module files have been installed. Here is
sample output of those programs, showing lots of installed packages:
If you have installed a supported module system you should be able to
run either ``module avail`` or ``use -l spack`` to see what module
files have been installed. Here is sample output of those programs,
showing lots of installed packages:
.. code-block:: console
@@ -93,9 +87,7 @@ Note that in the latter case it is necessary to explicitly set ``SPACK_ROOT``
before sourcing the setup file (you will get a meaningful error message
if you don't).
When ``bash`` and ``ksh`` users update their environment with ``setup-env.sh``, it will check for spack-installed environment modules and add the ``module`` command to their environment; This only occurs if the module command is not already available. You can install ``environment-modules`` with ``spack bootstrap`` as described in :ref:`InstallEnvironmentModules`.
Finally, if you want to have Spack's shell support available on the command line at
If you want to have Spack's shell support available on the command line at
any login you can put this source line in one of the files that are sourced
at startup (like ``.profile``, ``.bashrc`` or ``.cshrc``). Be aware though
that the startup time may be slightly increased because of that.
@@ -119,7 +111,7 @@ For example this will add the ``mpich`` package built with ``gcc`` to your path:
# ... wait for install ...
$ spack load mpich %gcc@4.4.7 # modules
$ spack load mpich %gcc@4.4.7
$ which mpicc
~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/mpich@3.0.4/bin/mpicc
@@ -129,27 +121,29 @@ want to use a package, you can type unload or unuse similarly:
.. code-block:: console
$ spack unload mpich %gcc@4.4.7 # modules
$ spack unload mpich %gcc@4.4.7
.. note::
The ``load`` and ``unload`` subcommands are
only available if you have enabled Spack's shell support *and* you
have environment-modules installed on your machine.
The ``load`` and ``unload`` subcommands are only available if you
have enabled Spack's shell support. These command DO NOT use the
underlying Spack-generated module files.
^^^^^^^^^^^^^^^^^^^^^^
Ambiguous module names
^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^
Ambiguous specs
^^^^^^^^^^^^^^^
If a spec used with load/unload or use/unuse is ambiguous (i.e. more
than one installed package matches it), then Spack will warn you:
If a spec used with load/unload or is ambiguous (i.e. more than one
installed package matches it), then Spack will warn you:
.. code-block:: console
$ spack load libelf
==> Error: Multiple matches for spec libelf. Choose one:
libelf@0.8.13%gcc@4.4.7 arch=linux-debian7-x86_64
libelf@0.8.13%intel@15.0.0 arch=linux-debian7-x86_64
==> Error: libelf matches multiple packages.
Matching packages:
libelf@0.8.13%gcc@4.4.7 arch=linux-debian7-x86_64
libelf@0.8.13%intel@15.0.0 arch=linux-debian7-x86_64
Use a more specific spec
You can either type the ``spack load`` command again with a fully
qualified argument, or you can add just enough extra constraints to
@@ -163,16 +157,21 @@ used ``gcc``. You could therefore just type:
To identify just the one built with the Intel compiler.
.. _extensions:
.. _cmd-spack-module-loads:
^^^^^^^^^^^^^^^^^^^^^^^^^^
``spack module tcl loads``
^^^^^^^^^^^^^^^^^^^^^^^^^^
In some cases, it is desirable to load not just a module, but also all
the modules it depends on. This is not required for most modules
In some cases, it is desirable to use a Spack-generated module, rather
than relying on Spack's built-in user-environment modification
capabilities. To translate a spec into a module name, use ``spack
module tcl loads`` or ``spack module lmod loads`` depending on the
module system desired.
To load not just a module, but also all the modules it depends on, use
the ``--dependencies`` option. This is not required for most modules
because Spack builds binaries with RPATH support. However, not all
packages use RPATH to find their dependencies: this can be true in
particular for Python extensions, which are currently *not* built with
@@ -460,14 +459,14 @@ is compiled with ``gcc@4.4.7``, with the only exception of any ``gcc``
or any ``llvm`` installation.
.. _modules-naming-scheme:
.. _modules-projections:
"""""""""""""""""""""""""""
Customize the naming scheme
"""""""""""""""""""""""""""
"""""""""""""""""""""""""""""""
Customize the naming of modules
"""""""""""""""""""""""""""""""
The names of environment modules generated by spack are not always easy to
fully comprehend due to the long hash in the name. There are two module
fully comprehend due to the long hash in the name. There are three module
configuration options to help with that. The first is a global setting to
adjust the hash length. It can be set anywhere from 0 to 32 and has a default
length of 7. This is the representation of the hash in the module file name and
@@ -501,20 +500,46 @@ version of python a set of python extensions is associated with. Likewise, the
``openblas`` string is attached to any program that has openblas in the spec,
most likely via the ``+blas`` variant specification.
The most heavyweight solution to module naming is to change the entire
naming convention for module files. This uses the projections format
covered in :ref:`adding_projections_to_views`.
.. code-block:: yaml
modules:
tcl:
projections:
all: '{name}/{version}-{compiler.name}-{compiler.version}-module'
^mpi: '{name}/{version}-{^mpi.name}-{^mpi.version}-{compiler.name}-{compiler.version}-module'
will create module files that are nested in directories by package
name, contain the version and compiler name and version, and have the
word ``module`` before the hash for all specs that do not depend on
mpi, and will have the same information plus the MPI implementation
name and version for all packages that depend on mpi.
When specifying module names by projection for Lmod modules, we
recommend NOT including names of dependencies (e.g., MPI, compilers)
that are already in the LMod hierarchy.
.. note::
TCL module files
A modification that is specific to ``tcl`` module files is the possibility
to change the naming scheme of modules.
TCL modules
TCL modules also allow for explicit conflicts between modulefiles.
.. code-block:: yaml
modules:
tcl:
naming_scheme: '{name}/{version}-{compiler.name}-{compiler.version}'
all:
conflict:
- '{name}'
- 'intel/14.0.1'
modules:
enable:
- tcl
tcl:
projections:
all: '{name}/{version}-{compiler.name}-{compiler.version}'
all:
conflict:
- '{name}'
- 'intel/14.0.1'
will create module files that will conflict with ``intel/14.0.1`` and with the
base directory of the same module, effectively preventing the possibility to
@@ -539,6 +564,8 @@ most likely via the ``+blas`` variant specification.
lmod:
core_compilers:
- 'gcc@4.8'
core_specs:
- 'python'
hierarchy:
- 'mpi'
- 'lapack'
@@ -548,6 +575,15 @@ most likely via the ``+blas`` variant specification.
implementations of ``mpi`` and ``lapack``, and let LMod switch safely from one to the
other.
All packages built with a compiler in ``core_compilers`` and all
packages that satisfy a spec in ``core_specs`` will be put in the
``Core`` hierarchy of the lua modules.
.. warning::
Consistency of Core packages
The user is responsible for maintining consistency among core packages, as ``core_specs``
bypasses the hierarchy that allows LMod to safely switch between coherent software stacks.
.. warning::
Deep hierarchies and ``lmod spider``
For hierarchies that are deeper than three layers ``lmod spider`` may have some issues.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -553,6 +553,34 @@ version. This is useful for packages that have an easy to extrapolate URL, but
keep changing their URL format every few releases. With this method, you only
need to specify the ``url`` when the URL changes.
"""""""""""""""""""""""
Mirrors of the main URL
"""""""""""""""""""""""
Spack supports listing mirrors of the main URL in a package by defining
the ``urls`` attribute:
.. code-block:: python
class Foo(Package):
urls = [
'http://example.com/foo-1.0.tar.gz',
'http://mirror.com/foo-1.0.tar.gz'
]
instead of just a single ``url``. This attribute is a list of possible URLs that
will be tried in order when fetching packages. Notice that either one of ``url``
or ``urls`` can be present in a package, but not both at the same time.
A well-known case of packages that can be fetched from multiple mirrors is that
of GNU. For that, Spack goes a step further and defines a mixin class that
takes care of all of the plumbing and requires packagers to just define a proper
``gnu_mirror_path`` attribute:
.. literalinclude:: _spack_root/var/spack/repos/builtin/packages/autoconf/package.py
:lines: 9-18
^^^^^^^^^^^^^^^^^^^^^^^^
Skipping the expand step
^^^^^^^^^^^^^^^^^^^^^^^^
@@ -901,6 +929,9 @@ Git fetching supports the following parameters to ``version``:
* ``tag``: Name of a tag to fetch.
* ``commit``: SHA hash (or prefix) of a commit to fetch.
* ``submodules``: Also fetch submodules recursively when checking out this repository.
* ``submodules_delete``: A list of submodules to forcibly delete from the repository
after fetching. Useful if a version in the repository has submodules that
have disappeared/are no longer accessible.
* ``get_full_repo``: Ensure the full git history is checked out with all remote
branch information. Normally (``get_full_repo=False``, the default), the git
option ``--depth 1`` will be used if the version of git and the specified
@@ -1479,8 +1510,8 @@ that the same package with different patches applied will have different
hash identifiers. To ensure that the hashing scheme is consistent, you
must use a ``sha256`` checksum for the patch. Patches will be fetched
from their URLs, checked, and applied to your source code. You can use
the ``spack sha256`` command to generate a checksum for a patch file or
URL.
the GNU utils ``sha256sum`` or the macOS ``shasum -a 256`` commands to
generate a checksum for a patch file.
Spack can also handle compressed patches. If you use these, Spack needs
a little more help. Specifically, it needs *two* checksums: the
@@ -1644,15 +1675,15 @@ can see the patches that would be applied to ``m4``::
Concretized
--------------------------------
m4@1.4.18%clang@9.0.0-apple patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00,c0a408fbffb7255fcc75e26bd8edab116fc81d216bfd18b473668b7739a4158e,fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8 +sigsegv arch=darwin-highsierra-x86_64
^libsigsegv@2.11%clang@9.0.0-apple arch=darwin-highsierra-x86_64
m4@1.4.18%apple-clang@9.0.0 patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00,c0a408fbffb7255fcc75e26bd8edab116fc81d216bfd18b473668b7739a4158e,fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8 +sigsegv arch=darwin-highsierra-x86_64
^libsigsegv@2.11%apple-clang@9.0.0 arch=darwin-highsierra-x86_64
You can also see patches that have been applied to installed packages
with ``spack find -v``::
$ spack find -v m4
==> 1 installed package
-- darwin-highsierra-x86_64 / clang@9.0.0-apple -----------------
-- darwin-highsierra-x86_64 / apple-clang@9.0.0 -----------------
m4@1.4.18 patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00,c0a408fbffb7255fcc75e26bd8edab116fc81d216bfd18b473668b7739a4158e,fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8 +sigsegv
.. _cmd-spack-resource:
@@ -1682,7 +1713,7 @@ wonder where the extra boost patches are coming from::
$ spack spec dealii ^boost@1.68.0 ^hdf5+fortran | grep '\^boost'
^boost@1.68.0
^boost@1.68.0%clang@9.0.0-apple+atomic+chrono~clanglibcpp cxxstd=default +date_time~debug+exception+filesystem+graph~icu+iostreams+locale+log+math~mpi+multithreaded~numpy patches=2ab6c72d03dec6a4ae20220a9dfd5c8c572c5294252155b85c6874d97c323199,b37164268f34f7133cbc9a4066ae98fda08adf51e1172223f6a969909216870f ~pic+program_options~python+random+regex+serialization+shared+signals~singlethreaded+system~taggedlayout+test+thread+timer~versionedlayout+wave arch=darwin-highsierra-x86_64
^boost@1.68.0%apple-clang@9.0.0+atomic+chrono~clanglibcpp cxxstd=default +date_time~debug+exception+filesystem+graph~icu+iostreams+locale+log+math~mpi+multithreaded~numpy patches=2ab6c72d03dec6a4ae20220a9dfd5c8c572c5294252155b85c6874d97c323199,b37164268f34f7133cbc9a4066ae98fda08adf51e1172223f6a969909216870f ~pic+program_options~python+random+regex+serialization+shared+signals~singlethreaded+system~taggedlayout+test+thread+timer~versionedlayout+wave arch=darwin-highsierra-x86_64
$ spack resource show b37164268
b37164268f34f7133cbc9a4066ae98fda08adf51e1172223f6a969909216870f
path: /home/spackuser/src/spack/var/spack/repos/builtin/packages/dealii/boost_1.68.0.patch
@@ -1922,6 +1953,8 @@ issues with 1.64.0, 1.65.0, and 1.66.0, you can say:
depends_on('boost@1.59.0:1.63,1.65.1,1.67.0:')
.. _dependency-types:
^^^^^^^^^^^^^^^^
Dependency types
^^^^^^^^^^^^^^^^
@@ -1959,6 +1992,28 @@ inject the dependency's ``prefix/lib`` directory, but the package needs to
be in ``PATH`` and ``PYTHONPATH`` during the build process and later when
a user wants to run the package.
^^^^^^^^^^^^^^^^^^^^^^^^
Conditional dependencies
^^^^^^^^^^^^^^^^^^^^^^^^
You may have a package that only requires a dependency under certain
conditions. For example, you may have a package that has optional MPI support,
- MPI is only a dependency when you want to enable MPI support for the
package. In that case, you could say something like:
.. code-block:: python
variant('mpi', default=False)
depends_on('mpi', when='+mpi')
``when`` can include constraints on the variant, version, compiler, etc. and
the :mod:`syntax<spack.spec>` is the same as for Specs written on the command
line.
If a dependency/feature of a package isn't typically used, you can save time
by making it conditional (since Spack will not build the dependency unless it
is required for the Spec).
.. _dependency_dependency_patching:
^^^^^^^^^^^^^^^^^^^
@@ -2114,13 +2169,17 @@ Adding the following to a package:
.. code-block:: python
conflicts('%intel', when='@1.2')
conflicts('%intel', when='@:1.2',
msg='<myNicePackage> <= v1.2 cannot be built with Intel ICC, '
'please use a newer release.')
we express the fact that the current package *cannot be built* with the Intel
compiler when we are trying to install version "1.2". The ``when`` argument can
be omitted, in which case the conflict will always be active.
compiler when we are trying to install a version "<=1.2". The ``when`` argument
can be omitted, in which case the conflict will always be active.
Conflicts are always evaluated after the concretization step has been performed,
and if any match is found a detailed error message is shown to the user.
You can add an additional message via the ``msg=`` parameter to a conflict that
provideds more specific instructions for users.
.. _packaging_extensions:
@@ -2142,7 +2201,7 @@ property to ``True``, e.g.:
extendable = True
...
To make a package into an extension, simply add simply add an
To make a package into an extension, simply add an
``extends`` call in the package definition, and pass it the name of an
extendable package:
@@ -2157,6 +2216,10 @@ Now, the ``py-numpy`` package can be used as an argument to ``spack
activate``. When it is activated, all the files in its prefix will be
symbolically linked into the prefix of the python package.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Adding additional constraints
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some packages produce a Python extension, but are only compatible with
Python 3, or with Python 2. In those cases, a ``depends_on()``
declaration should be made in addition to the ``extends()``
@@ -2176,8 +2239,7 @@ variant(s) are selected. This may be accomplished with conditional
.. code-block:: python
class FooLib(Package):
variant('python', default=True, description= \
'Build the Python extension Module')
variant('python', default=True, description='Build the Python extension Module')
extends('python', when='+python')
...
@@ -2858,7 +2920,7 @@ discover its dependencies.
If you want to see the environment that a package will build with, or
if you want to run commands in that environment to test them out, you
can use the :ref:`cmd-spack-env` command, documented
can use the :ref:`cmd-spack-build-env` command, documented
below.
^^^^^^^^^^^^^^^^^^^^^
@@ -3552,7 +3614,7 @@ the command line.
For most compilers, ``$rpath_flag`` is ``-Wl,-rpath,``. However, NAG
passes its flags to GCC instead of passing them directly to the linker.
Therefore, its ``$rpath_flag`` is doubly wrapped: ``-Wl,-Wl,,-rpath,``.
``$rpath_flag`` can be overriden on a compiler specific basis in
``$rpath_flag`` can be overridden on a compiler specific basis in
``lib/spack/spack/compilers/$compiler.py``.
The compiler wrappers also pass the compiler flags specified by the user from
@@ -3986,6 +4048,70 @@ File functions
:py:func:`touch(path) <spack.touch>`
Create an empty file at ``path``.
.. _make-package-findable:
----------------------------------------------------------
Making a package discoverable with ``spack external find``
----------------------------------------------------------
To make a package discoverable with
:ref:`spack external find <cmd-spack-external-find>` you must
define one or more executables associated with the package and must
implement a method to generate a Spec when given an executable.
The executables are specified as a package level ``executables``
attribute which is a list of strings (see example below); each string
is treated as a regular expression (e.g. 'gcc' would match 'gcc', 'gcc-8.3',
'my-weird-gcc', etc.).
The method ``determine_spec_details`` has the following signature:
.. code-block:: python
def determine_spec_details(prefix, exes_in_prefix):
# exes_in_prefix = a set of paths, each path is an executable
# prefix = a prefix that is common to each path in exes_in_prefix
# return None or [] if none of the exes represent an instance of
# the package. Return one or more Specs for each instance of the
# package which is thought to be installed in the provided prefix
``determine_spec_details`` takes as parameters a set of discovered
executables (which match those specified by the user) as well as a
common prefix shared by all of those executables. The function must
return one or more Specs associated with the executables (it can also
return ``None`` to indicate that no provided executables are associated
with the package).
Say for example we have a package called ``foo-package`` which
builds an executable called ``foo``. ``FooPackage`` would appear as
follows:
.. code-block:: python
class FooPackage(Package):
homepage = "..."
url = "..."
version(...)
# Each string provided here is treated as a regular expression, and
# would match for example 'foo', 'foobar', and 'bazfoo'.
executables = ['foo']
@classmethod
def determine_spec_details(cls, prefix, exes_in_prefix):
candidates = list(x for x in exes_in_prefix
if os.path.basename(x) == 'foo')
if not candidates:
return
# This implementation is lazy and only checks the first candidate
exe_path = candidates[0]
exe = spack.util.executable.Executable(exe_path)
output = exe('--version')
version_str = ... # parse output for version string
return Spec('foo-package@{0}'.format(version_str))
.. _package-lifecycle:
-----------------------------
@@ -4041,16 +4167,23 @@ want to clean up the temporary directory, or if the package isn't
downloading properly, you might want to run *only* the ``fetch`` stage
of the build.
Spack performs best-effort installation of package dependencies by default,
which means it will continue to install as many dependencies as possible
after detecting failures. If you are trying to install a package with a
lot of dependencies where one or more may fail to build, you might want to
try the ``--fail-fast`` option to stop the installation process on the first
failure.
A typical package workflow might look like this:
.. code-block:: console
$ spack edit mypackage
$ spack install mypackage
$ spack install --fail-fast mypackage
... build breaks! ...
$ spack clean mypackage
$ spack edit mypackage
$ spack install mypackage
$ spack install --fail-fast mypackage
... repeat clean/install until install works ...
Below are some commands that will allow you some finer-grained
@@ -4119,23 +4252,29 @@ Does this in one of two ways:
``spack clean``
^^^^^^^^^^^^^^^
Cleans up all of Spack's temporary and cached files. This can be used to
Cleans up Spack's temporary and cached files. This command can be used to
recover disk space if temporary files from interrupted or failed installs
accumulate in the staging area.
accumulate.
When called with ``--stage`` or without arguments this removes all staged
files.
When called with ``--downloads`` this will clear all resources
:ref:`cached <caching>` during installs.
The ``--downloads`` option removes cached :ref:`cached <caching>` downloads.
When called with ``--user-cache`` this will remove caches in the user home
directory, including cached virtual indices.
You can force the removal of all install failure tracking markers using the
``--failures`` option. Note that ``spack install`` will automatically clear
relevant failure markings prior to performing the requested installation(s).
Long-lived caches, like the virtual package index, are removed using the
``--misc-cache`` option.
The ``--python-cache`` option removes `.pyc`, `.pyo`, and `__pycache__`
folders.
To remove all of the above, the command can be called with ``--all``.
When called with positional arguments, cleans up temporary files only
for a particular package. If ``fetch``, ``stage``, or ``install``
When called with positional arguments, this command cleans up temporary files
only for a particular package. If ``fetch``, ``stage``, or ``install``
are run again after this, Spack's build process will start from scratch.
@@ -4277,31 +4416,31 @@ directory, install directory, package directory) and others change to
core spack locations. For example, ``spack cd --module-dir`` will take you to
the main python source directory of your spack install.
.. _cmd-spack-env:
.. _cmd-spack-build-env:
^^^^^^^^^^^^^
``spack env``
^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^
``spack build-env``
^^^^^^^^^^^^^^^^^^^
``spack env`` functions much like the standard unix ``env`` command,
but it takes a spec as an argument. You can use it to see the
``spack build-env`` functions much like the standard unix ``build-env``
command, but it takes a spec as an argument. You can use it to see the
environment variables that will be set when a particular build runs,
for example:
.. code-block:: console
$ spack env mpileaks@1.1%intel
$ spack build-env mpileaks@1.1%intel
This will display the entire environment that will be set when the
``mpileaks@1.1%intel`` build runs.
To run commands in a package's build environment, you can simply
provide them after the spec argument to ``spack env``:
provide them after the spec argument to ``spack build-env``:
.. code-block:: console
$ spack cd mpileaks@1.1%intel
$ spack env mpileaks@1.1%intel ./configure
$ spack build-env mpileaks@1.1%intel ./configure
This will cd to the build directory and then run ``configure`` in the
package's build environment.
@@ -4399,7 +4538,7 @@ translate variant flags into CMake definitions. For example:
.. code-block:: python
def configure_args(self):
def cmake_args(self):
spec = self.spec
return [
'-DUSE_EVERYTRACE=%s' % ('YES' if '+everytrace' in spec else 'NO'),

View File

@@ -0,0 +1,445 @@
.. Copyright 2013-2019 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)
.. _pipelines:
=========
Pipelines
=========
Spack provides commands that support generating and running automated build
pipelines designed for Gitlab CI. At the highest level it works like this:
provide a spack environment describing the set of packages you care about,
and include within that environment file a description of how those packages
should be mapped to Gitlab runners. Spack can then generate a ``.gitlab-ci.yml``
file containing job descriptions for all your packages that can be run by a
properly configured Gitlab CI instance. When run, the generated pipeline will
build and deploy binaries, and it can optionally report to a CDash instance
regarding the health of the builds as they evolve over time.
------------------------------
Getting started with pipelines
------------------------------
It is fairly straightforward to get started with automated build pipelines. At
a minimum, you'll need to set up a Gitlab instance (more about Gitlab CI
`here <https://about.gitlab.com/product/continuous-integration/>`_) and configure
at least one `runner <https://docs.gitlab.com/runner/>`_. Then the basic steps
for setting up a build pipeline are as follows:
#. Create a repository on your gitlab instance
#. Add a ``spack.yaml`` at the root containing your pipeline environment (see
below for details)
#. Add a ``.gitlab-ci.yml`` at the root containing two jobs (one to generate
the pipeline dynamically, and one to run the generated jobs), similar to
this one:
.. code-block:: yaml
stages: [generate, build]
generate-pipeline:
stage: generate
tags:
- <custom-tag>
script:
- spack env activate .
- spack ci generate
--output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
artifacts:
paths:
- "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
build-jobs:
stage: build
trigger:
include:
- artifact: "jobs_scratch_dir/pipeline.yml"
job: generate-pipeline
strategy: depend
#. Add any secrets required by the CI process to environment variables using the
CI web ui
#. Push a commit containing the ``spack.yaml`` and ``.gitlab-ci.yml`` mentioned above
to the gitlab repository
The ``<custom-tag>``, above, is used to pick one of your configured runners to
run the pipeline generation phase (this is implemented in the ``spack ci generate``
command, which assumes the runner has an appropriate version of spack installed
and configured for use). Of course, there are many ways to customize the process.
You can configure CDash reporting on the progress of your builds, set up S3 buckets
to mirror binaries built by the pipeline, clone a custom spack repository/ref for
use by the pipeline, and more.
While it is possible to set up pipelines on gitlab.com, the builds there are
limited to 60 minutes and generic hardware. It is also possible to
`hook up <https://about.gitlab.com/blog/2018/04/24/getting-started-gitlab-ci-gcp>`_
Gitlab to Google Kubernetes Engine (`GKE <https://cloud.google.com/kubernetes-engine/>`_)
or Amazon Elastic Kubernetes Service (`EKS <https://aws.amazon.com/eks>`_), though those
topics are outside the scope of this document.
Spack's pipelines are now making use of the
`trigger <https://docs.gitlab.com/12.9/ee/ci/yaml/README.html#trigger>` syntax to run
dynamically generated
`child pipelines <https://docs.gitlab.com/12.9/ee/ci/parent_child_pipelines.html>`.
Note that the use of dynamic child pipelines requires running Gitlab version
``>= 12.9``.
-----------------------------------
Spack commands supporting pipelines
-----------------------------------
Spack provides a command ``ci`` with two sub-commands: ``spack ci generate`` generates
a pipeline (a .gitlab-ci.yml file) from a spack environment, and ``spack ci rebuild``
checks a spec against a remote mirror and possibly rebuilds it from source and updates
the binary mirror with the latest built package. Both ``spack ci ...`` commands must
be run from within the same environment, as each one makes use of the environment for
different purposes. Additionally, some options to the commands (or conditions present
in the spack environment file) may require particular environment variables to be
set in order to function properly. Examples of these are typically secrets
needed for pipeline operation that should not be visible in a spack environment
file. These environment variables are described in more detail
:ref:`ci_environment_variables`.
.. _cmd-spack-ci:
^^^^^^^^^^^^^^^^^^
``spack ci``
^^^^^^^^^^^^^^^^^^
Super-command for functionality related to generating pipelines and executing
pipeline jobs.
.. _cmd-spack-ci-generate:
^^^^^^^^^^^^^^^^^^^^^
``spack ci generate``
^^^^^^^^^^^^^^^^^^^^^
Concretizes the specs in the active environment, stages them (as described in
:ref:`staging_algorithm`), and writes the resulting ``.gitlab-ci.yml`` to disk.
.. _cmd-spack-ci-rebuild:
^^^^^^^^^^^^^^^^^^^^
``spack ci rebuild``
^^^^^^^^^^^^^^^^^^^^
This sub-command is responsible for ensuring a single spec from the release
environment is up to date on the remote mirror configured in the environment,
and as such, corresponds to a single job in the ``.gitlab-ci.yml`` file.
------------------------------------
A pipeline-enabled spack environment
------------------------------------
Here's an example of a spack environment file that has been enhanced with
sections describing a build pipeline:
.. code-block:: yaml
spack:
definitions:
- pkgs:
- readline@7.0
- compilers:
- '%gcc@5.5.0'
- oses:
- os=ubuntu18.04
- os=centos7
specs:
- matrix:
- [$pkgs]
- [$compilers]
- [$oses]
mirrors:
cloud_gitlab: https://mirror.spack.io
gitlab-ci:
mappings:
- match:
- os=ubuntu18.04
runner-attributes:
tags:
- spack-kube
image: spack/ubuntu-bionic
- match:
- os=centos7
runner-attributes:
tags:
- spack-kube
image: spack/centos7
cdash:
build-group: Release Testing
url: https://cdash.spack.io
project: Spack
site: Spack AWS Gitlab Instance
Hopefully, the ``definitions``, ``specs``, ``mirrors``, etc. sections are already
familiar, as they are part of spack :ref:`environments`. So let's take a more
in-depth look some of the pipeline-related sections in that environment file
that might not be as familiar.
The ``gitlab-ci`` section is used to configure how the pipeline workload should be
generated, mainly how the jobs for building specs should be assigned to the
configured runners on your instance. Each entry within the list of ``mappings``
corresponds to a known gitlab runner, where the ``match`` section is used
in assigning a release spec to one of the runners, and the ``runner-attributes``
section is used to configure the spec/job for that particular runner.
There are other pipeline options you can configure within the ``gitlab-ci`` section
as well. The ``bootstrap`` section allows you to specify lists of specs from
your ``definitions`` that should be staged ahead of the environment's ``specs`` (this
section is described in more detail below). The ``enable-artifacts-buildcache`` key
takes a boolean and determines whether the pipeline uses artifacts to store and
pass along the buildcaches from one stage to the next (the default if you don't
provide this option is ``False``). The ``enable-debug-messages`` key takes a boolean
and allows you to choose whether the pipeline build jobs are run as ``spack -d ci rebuild``
or just ``spack ci rebuild`` (the default is not to enable debug messages). The
``final-stage-rebuild-index`` section controls whether an extra job is added to the
end of your pipeline (in a stage by itself) which will regenerate the mirror's
buildcache index. Under normal operation, each pipeline job that rebuilds a package
will re-generate the mirror's buildcache index after the buildcache entry for that
job has been created and pushed to the mirror. Since jobs in the same stage can run in
parallel, there is the possibility that at the end of some stage, the index may not
reflect all the binaries in the buildcache. Adding the ``final-stage-rebuild-index``
section ensures that at the end of the pipeline, the index will be in sync with the
binaries on the mirror. If the mirror lives in an S3 bucket, this job will need to
run on a machine with the Python ``boto3`` module installed, and consequently the
``final-stage-rebuild-index`` needs to specify a list of ``tags`` to pick a runner
satisfying that condition. It can also take an ``image`` key so Docker executor type
runners can pick the right image for the index regeneration job.
The optional ``cdash`` section provides information that will be used by the
``spack ci generate`` command (invoked by ``spack ci start``) for reporting
to CDash. All the jobs generated from this environment will belong to a
"build group" within CDash that can be tracked over time. As the release
progresses, this build group may have jobs added or removed. The url, project,
and site are used to specify the CDash instance to which build results should
be reported.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Assignment of specs to runners
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The ``mappings`` section corresponds to a list of runners, and during assignment
of specs to runners, the list is traversed in order looking for matches, the
first runner that matches a release spec is assigned to build that spec. The
``match`` section within each runner mapping section is a list of specs, and
if any of those specs match the release spec (the ``spec.satisfies()`` method
is used), then that runner is considered a match.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Configuration of specs/jobs for a runner
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Once a runner has been chosen to build a release spec, the ``runner-attributes``
section provides information determining details of the job in the context of
the runner. The ``runner-attributes`` section must have a ``tags`` key, which
is a list containing at least one tag used to select the runner from among the
runners known to the gitlab instance. For Docker executor type runners, the
``image`` key is used to specify the Docker image used to build the release spec
(and could also appear as a dictionary with a ``name`` specifying the image name,
as well as an ``entrypoint`` to override whatever the default for that image is).
For other types of runners the ``variables`` key will be useful to pass any
information on to the runner that it needs to do its work (e.g. scheduler
parameters, etc.).
.. _staging_algorithm:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Summary of ``.gitlab-ci.yml`` generation algorithm
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
All specs yielded by the matrix (or all the specs in the environment) have their
dependencies computed, and the entire resulting set of specs are staged together
before being run through the ``gitlab-ci/mappings`` entries, where each staged
spec is assigned a runner. "Staging" is the name we have given to the process
of figuring out in what order the specs should be built, taking into consideration
Gitlab CI rules about jobs/stages. In the staging process the goal is to maximize
the number of jobs in any stage of the pipeline, while ensuring that the jobs in
any stage only depend on jobs in previous stages (since those jobs are guaranteed
to have completed already). As a runner is determined for a job, the information
in the ``runner-attributes`` is used to populate various parts of the job
description that will be used by Gitlab CI. Once all the jobs have been assigned
a runner, the ``.gitlab-ci.yml`` is written to disk.
The short example provided above would result in the ``readline``, ``ncurses``,
and ``pkgconf`` packages getting staged and built on the runner chosen by the
``spack-k8s`` tag. In this example, we assume the runner is a Docker executor
type runner, and thus certain jobs will be run in the ``centos7`` container,
and others in the ``ubuntu-18.04`` container. The resulting ``.gitlab-ci.yml``
will contain 6 jobs in three stages. Once the jobs have been generated, the
presence of a ``SPACK_CDASH_AUTH_TOKEN`` environment variable during the
``spack ci generate`` command would result in all of the jobs being put in a
build group on CDash called "Release Testing" (that group will be created if
it didn't already exist).
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Optional compiler bootstrapping
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Spack pipelines also have support for bootstrapping compilers on systems that
may not already have the desired compilers installed. The idea here is that
you can specify a list of things to bootstrap in your ``definitions``, and
spack will guarantee those will be installed in a phase of the pipeline before
your release specs, so that you can rely on those packages being available in
the binary mirror when you need them later on in the pipeline. At the moment
the only viable use-case for bootstrapping is to install compilers.
Here's an example of what bootstrapping some compilers might look like:
.. code-block:: yaml
spack:
definitions:
- compiler-pkgs:
- 'llvm+clang@6.0.1 os=centos7'
- 'gcc@6.5.0 os=centos7'
- 'llvm+clang@6.0.1 os=ubuntu18.04'
- 'gcc@6.5.0 os=ubuntu18.04'
- pkgs:
- readline@7.0
- compilers:
- '%gcc@5.5.0'
- '%gcc@6.5.0'
- '%gcc@7.3.0'
- '%clang@6.0.0'
- '%clang@6.0.1'
- oses:
- os=ubuntu18.04
- os=centos7
specs:
- matrix:
- [$pkgs]
- [$compilers]
- [$oses]
exclude:
- '%gcc@7.3.0 os=centos7'
- '%gcc@5.5.0 os=ubuntu18.04'
gitlab-ci:
bootstrap:
- name: compiler-pkgs
compiler-agnostic: true
mappings:
# mappings similar to the example higher up in this description
...
In the example above, we have added a list to the ``definitions`` called
``compiler-pkgs`` (you can add any number of these), which lists compiler packages
we want to be staged ahead of the full matrix of release specs (which consists
only of readline in our example). Then within the ``gitlab-ci`` section, we
have added a ``bootstrap`` section, which can contain a list of items, each
referring to a list in the ``definitions`` section. These items can either
be a dictionary or a string. If you supply a dictionary, it must have a name
key whose value must match one of the lists in definitions and it can have a
``compiler-agnostic`` key whose value is a boolean. If you supply a string,
then it needs to match one of the lists provided in ``definitions``. You can
think of the bootstrap list as an ordered list of pipeline "phases" that will
be staged before your actual release specs. While this introduces another
layer of bottleneck in the pipeline (all jobs in all stages of one phase must
complete before any jobs in the next phase can begin), it also means you are
guaranteed your bootstrapped compilers will be available when you need them.
The ``compiler-agnostic`` key can be provided with each item in the
bootstrap list. It tells the ``spack ci generate`` command that any jobs staged
from that particular list should have the compiler removed from the spec, so
that any compiler available on the runner where the job is run can be used to
build the package.
When including a bootstrapping phase as in the example above, the result is that
the bootstrapped compiler packages will be pushed to the binary mirror (and the
local artifacts mirror) before the actual release specs are built. In this case,
the jobs corresponding to subsequent release specs are configured to
``install_missing_compilers``, so that if spack is asked to install a package
with a compiler it doesn't know about, it can be quickly installed from the
binary mirror first.
Since bootstrapping compilers is optional, those items can be left out of the
environment/stack file, and in that case no bootstrapping will be done (only the
specs will be staged for building) and the runners will be expected to already
have all needed compilers installed and configured for spack to use.
-------------------------------------
Using a custom spack in your pipeline
-------------------------------------
If your runners will not have a version of spack ready to invoke, or if for some
other reason you want to use a custom version of spack to run your pipelines,
this can be accomplished fairly simply. First, create CI environment variables
containing the url and branch/tag you want to clone (calling them, for example,
``SPACK_REPO`` and ``SPACK_REF``), use them to clone spack in your pre-ci
``before_script``, and finally pass those same values along to the workload
generation process via the ``spack-repo`` and ``spack-ref`` cli args. Here's
the ``generate-pipeline`` job from the top of this document, updated to clone
a custom spack and make sure the generated rebuild jobs will clone it too:
.. code-block:: yaml
generate-pipeline:
tags:
- <some-other-tag>
before_script:
- git clone ${SPACK_REPO} --branch ${SPACK_REF}
- . ./spack/share/spack/setup-env.sh
script:
- spack env activate .
- spack ci generate
--spack-repo ${SPACK_REPO} --spack-ref ${SPACK_REF}
--output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
after_script:
- rm -rf ./spack
artifacts:
paths:
- "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
If the ``spack ci generate`` command receives those extra command line arguments,
then it adds similar ``before_script`` and ``after_script`` sections for each of
the ``spack ci rebuild`` jobs it generates (cloning and sourcing a custom
spack in the ``before_script`` and removing it again in the ``after_script``).
This gives you control over the version of spack used when the rebuild jobs
are actually run on the gitlab runner.
.. _ci_environment_variables:
--------------------------------------------------
Environment variables affecting pipeline operation
--------------------------------------------------
Certain secrets and some other information should be provided to the pipeline
infrastructure via environment variables, usually for reasons of security, but
in some cases to support other pipeline use cases such as PR testing. The
environment variables used by the pipeline infrastructure are described here.
^^^^^^^^^^^^^^^^^
AWS_ACCESS_KEY_ID
^^^^^^^^^^^^^^^^^
Needed when binary mirror is an S3 bucket.
^^^^^^^^^^^^^^^^^^^^^
AWS_SECRET_ACCESS_KEY
^^^^^^^^^^^^^^^^^^^^^
Needed when binary mirror is an S3 bucket.
^^^^^^^^^^^^^^^
S3_ENDPOINT_URL
^^^^^^^^^^^^^^^
Needed when binary mirror is an S3 bucket that is *not* on AWS.
^^^^^^^^^^^^^^^^^
CDASH_AUTH_TOKEN
^^^^^^^^^^^^^^^^^
Needed in order to report build groups to CDash.
^^^^^^^^^^^^^^^^^
SPACK_SIGNING_KEY
^^^^^^^^^^^^^^^^^
Needed to sign/verify binary packages from the remote binary mirror.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -280,16 +280,16 @@ you install it, you can use ``spack spec -N``:
Concretized
--------------------------------
builtin.hdf5@1.10.0-patch1%clang@7.0.2-apple+cxx~debug+fortran+mpi+shared~szip~threadsafe arch=darwin-elcapitan-x86_64
^builtin.openmpi@2.0.1%clang@7.0.2-apple~mxm~pmi~psm~psm2~slurm~sqlite3~thread_multiple~tm~verbs+vt arch=darwin-elcapitan-x86_64
^builtin.hwloc@1.11.4%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.libpciaccess@0.13.4%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.libtool@2.4.6%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.m4@1.4.17%clang@7.0.2-apple+sigsegv arch=darwin-elcapitan-x86_64
^builtin.libsigsegv@2.10%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.pkg-config@0.29.1%clang@7.0.2-apple+internal_glib arch=darwin-elcapitan-x86_64
^builtin.util-macros@1.19.0%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.zlib@1.2.8%clang@7.0.2-apple+pic arch=darwin-elcapitan-x86_64
builtin.hdf5@1.10.0-patch1%apple-clang@7.0.2+cxx~debug+fortran+mpi+shared~szip~threadsafe arch=darwin-elcapitan-x86_64
^builtin.openmpi@2.0.1%apple-clang@7.0.2~mxm~pmi~psm~psm2~slurm~sqlite3~thread_multiple~tm~verbs+vt arch=darwin-elcapitan-x86_64
^builtin.hwloc@1.11.4%apple-clang@7.0.2 arch=darwin-elcapitan-x86_64
^builtin.libpciaccess@0.13.4%apple-clang@7.0.2 arch=darwin-elcapitan-x86_64
^builtin.libtool@2.4.6%apple-clang@7.0.2 arch=darwin-elcapitan-x86_64
^builtin.m4@1.4.17%apple-clang@7.0.2+sigsegv arch=darwin-elcapitan-x86_64
^builtin.libsigsegv@2.10%apple-clang@7.0.2 arch=darwin-elcapitan-x86_64
^builtin.pkg-config@0.29.1%apple-clang@7.0.2+internal_glib arch=darwin-elcapitan-x86_64
^builtin.util-macros@1.19.0%apple-clang@7.0.2 arch=darwin-elcapitan-x86_64
^builtin.zlib@1.2.8%apple-clang@7.0.2+pic arch=darwin-elcapitan-x86_64
.. warning::

View File

@@ -1,7 +1,7 @@
# These dependencies should be installed using pip in order
# to build the documentation.
sphinx==2.0.1
sphinxcontrib-programoutput==0.14
sphinx-rtd-theme==0.4.3
sphinx
sphinxcontrib-programoutput
sphinx-rtd-theme
python-levenshtein

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 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)
@@ -253,14 +253,14 @@ However, other more powerful methods are generally preferred for user
environments.
^^^^^^^^^^^^^^^^^^^^^^^
Spack-Generated Modules
^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Using ``spack load`` to Manage the User Environment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Suppose that Spack has been used to install a set of command-line
programs, which users now wish to use. One can in principle put a
number of ``spack load`` commands into ``.bashrc``, for example, to
load a set of Spack-generated modules:
load a set of Spack packages:
.. code-block:: sh
@@ -273,7 +273,7 @@ load a set of Spack-generated modules:
Although simple load scripts like this are useful in many cases, they
have some drawbacks:
1. The set of modules loaded by them will in general not be
1. The set of packages loaded by them will in general not be
consistent. They are a decent way to load commands to be called
from command shells. See below for better ways to assemble a
consistent set of packages for building application programs.
@@ -284,20 +284,27 @@ have some drawbacks:
The ``spack load`` and ``spack module tcl loads`` commands, on the
other hand, are not very smart: if the user-supplied spec matches
more than one installed package, then ``spack module tcl loads`` will
fail. This may change in the future. For now, the workaround is to
be more specific on any ``spack module tcl loads`` lines that fail.
fail. This default behavior may change in the future. For now,
the workaround is to either be more specific on any failing ``spack load``
commands or to use ``spack load --first`` to allow spack to load the
first matching spec.
""""""""""""""""""""""
Generated Load Scripts
""""""""""""""""""""""
Another problem with using `spack load` is, it is slow; a typical user
environment could take several seconds to load, and would not be
appropriate to put into ``.bashrc`` directly. It is preferable to use
a series of ``spack module tcl loads`` commands to pre-compute which
modules to load. These can be put in a script that is run whenever
installed Spack packages change. For example:
Another problem with using `spack load` is, it can be slow; a typical
user environment could take several seconds to load, and would not be
appropriate to put into ``.bashrc`` directly. This is because it
requires the full start-up overhead of python/Spack for each command.
In some circumstances it is preferable to use a series of ``spack
module tcl loads`` (or ``spack module lmod loads``) commands to
pre-compute which modules to load. This will generate the modulenames
to load the packages using environment modules, rather than Spack's
built-in support for environment modifications. These can be put in a
script that is run whenever installed Spack packages change. For
example:
.. code-block:: sh
@@ -439,7 +446,7 @@ environment.
A single-prefix filesystem view is a single directory tree that is the
union of the directory hierarchies of a number of installed packages;
it is similar to the directory hiearchy that might exist under
it is similar to the directory hierarchy that might exist under
``/usr/local``. The files of the view's installed packages are
brought into the view by symbolic or hard links, referencing the
original Spack installation.
@@ -634,7 +641,7 @@ Global Activations
Python (and similar systems) packages directly or creating a view.
If extensions are globally activated, then ``spack load python`` will
also load all the extensions activated for the given ``python``.
This reduces the need for users to load a large number of modules.
This reduces the need for users to load a large number of packages.
However, Spack global activations have two potential drawbacks:
@@ -1090,6 +1097,248 @@ or filesystem views. However, it has some drawbacks:
integrate Spack explicitly in their workflow. Not all users are
willing to do this.
-------------------------------------
Using Spack to Replace Homebrew/Conda
-------------------------------------
Spack is an incredibly powerful package manager, designed for supercomputers
where users have diverse installation needs. But Spack can also be used to
handle simple single-user installations on your laptop. Most macOS users are
already familiar with package managers like Homebrew and Conda, where all
installed packages are symlinked to a single central location like ``/usr/local``.
In this section, we will show you how to emulate the behavior of Homebrew/Conda
using :ref:`environments`!
^^^^^
Setup
^^^^^
First, let's create a new environment. We'll assume that Spack is already set up
correctly, and that you've already sourced the setup script for your shell.
To create a new environment, simply run:
.. code-block:: console
$ spack env create myenv
==> Updating view at /Users/me/spack/var/spack/environments/myenv/.spack-env/view
==> Created environment 'myenv' in /Users/me/spack/var/spack/environments/myenv
$ spack env activate myenv
Here, *myenv* can be anything you want to name your environment. Next, we can add
a list of packages we would like to install into our environment. Let's say we
want a newer version of Bash than the one that comes with macOS, and we want a
few Python libraries. We can run:
.. code-block:: console
$ spack add bash
==> Adding bash to environment myenv
==> Updating view at /Users/me/spack/var/spack/environments/myenv/.spack-env/view
$ spack add python@3:
==> Adding python@3: to environment myenv
==> Updating view at /Users/me/spack/var/spack/environments/myenv/.spack-env/view
$ spack add py-numpy py-scipy py-matplotlib
==> Adding py-numpy to environment myenv
==> Adding py-scipy to environment myenv
==> Adding py-matplotlib to environment myenv
==> Updating view at /Users/me/spack/var/spack/environments/myenv/.spack-env/view
Each package can be listed on a separate line, or combined into a single line.
Notice that we're explicitly asking for Python 3 here. You can use any spec
you would normally use on the command line with other Spack commands.
Next, we want to manually configure a couple of things. In the ``myenv``
directory, we can find the ``spack.yaml`` that actually defines our environment.
.. code-block:: console
$ vim ~/spack/var/spack/environments/myenv/spack.yaml
.. code-block:: yaml
# This is a Spack Environment file.
#
# It describes a set of packages to be installed, along with
# configuration settings.
spack:
# add package specs to the `specs` list
specs: [bash, 'python@3:', py-numpy, py-scipy, py-matplotlib]
view:
default:
root: /Users/me/spack/var/spack/environments/myenv/.spack-env/view
projections: {}
config: {}
mirrors: {}
modules:
enable: []
packages: {}
repos: []
upstreams: {}
definitions: []
concretization: separately
You can see the packages we added earlier in the ``specs:`` section. If you
ever want to add more packages, you can either use ``spack add`` or manually
edit this file.
We also need to change the ``concretization:`` option. By default, Spack
concretizes each spec *separately*, allowing multiple versions of the same
package to coexist. Since we want a single consistent environment, we want to
concretize all of the specs *together*.
Here is what your ``spack.yaml`` looks like with these new settings, and with
some of the sections we don't plan on using removed:
.. code-block:: diff
spack:
- specs: [bash, 'python@3:', py-numpy, py-scipy, py-matplotlib]
+ specs:
+ - bash
+ - 'python@3:'
+ - py-numpy
+ - py-scipy
+ - py-matplotlib
- view:
- default:
- root: /Users/me/spack/var/spack/environments/myenv/.spack-env/view
- projections: {}
+ view: /Users/me/spack/var/spack/environments/myenv/.spack-env/view
- config: {}
- mirrors: {}
- modules:
- enable: []
- packages: {}
- repos: []
- upstreams: {}
- definitions: []
+ concretization: together
- concretization: separately
""""""""""""""""
Symlink location
""""""""""""""""
In the ``spack.yaml`` file above, you'll notice that by default, Spack symlinks
all installations to ``/Users/me/spack/var/spack/environments/myenv/.spack-env/view``.
You can actually change this to any directory you want. For example, Homebrew
uses ``/usr/local``, while Conda uses ``/Users/me/anaconda``. In order to access
files in these locations, you need to update ``PATH`` and other environment variables
to point to them. Activating the Spack environment does this automatically, but
you can also manually set them in your ``.bashrc``.
.. warning::
There are several reasons why you shouldn't use ``/usr/local``:
1. If you are on macOS 10.11+ (El Capitan and newer), Apple makes it hard
for you. You may notice permissions issues on ``/usr/local`` due to their
`System Integrity Protection <https://support.apple.com/en-us/HT204899>`_.
By default, users don't have permissions to install anything in ``/usr/local``,
and you can't even change this using ``sudo chown`` or ``sudo chmod``.
2. Other package managers like Homebrew will try to install things to the
same directory. If you plan on using Homebrew in conjunction with Spack,
don't symlink things to ``/usr/local``.
3. If you are on a shared workstation, or don't have sudo privileges, you
can't do this.
If you still want to do this anyway, there are several ways around SIP.
You could disable SIP by booting into recovery mode and running
``csrutil disable``, but this is not recommended, as it can open up your OS
to security vulnerabilities. Another technique is to run ``spack concretize``
and ``spack install`` using ``sudo``. This is also not recommended.
The safest way I've found is to create your installation directories using
sudo, then change ownership back to the user like so:
.. code-block:: bash
for directory in .spack bin contrib include lib man share
do
sudo mkdir -p /usr/local/$directory
sudo chown $(id -un):$(id -gn) /usr/local/$directory
done
Depending on the packages you install in your environment, the exact list of
directories you need to create may vary. You may also find some packages
like Java libraries that install a single file to the installation prefix
instead of in a subdirectory. In this case, the action is the same, just replace
``mkdir -p`` with ``touch`` in the for-loop above.
But again, it's safer just to use the default symlink location.
^^^^^^^^^^^^
Installation
^^^^^^^^^^^^
To actually concretize the environment, run:
.. code-block:: console
$ spack concretize
This will tell you which if any packages are already installed, and alert you
to any conflicting specs.
To actually install these packages and symlink them to your ``view:``
directory, simply run:
.. code-block:: console
$ spack install
Now, when you type ``which python3``, it should find the one you just installed.
In order to change the default shell to our newer Bash installation, we first
need to add it to this list of acceptable shells. Run:
.. code-block:: console
$ sudo vim /etc/shells
and add the absolute path to your bash executable. Then run:
.. code-block:: console
$ chsh -s /path/to/bash
Now, when you log out and log back in, ``echo $SHELL`` should point to the
newer version of Bash.
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Updating Installed Packages
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Let's say you upgraded to a new version of macOS, or a new version of Python
was released, and you want to rebuild your entire software stack. To do this,
simply run the following commands:
.. code-block:: console
$ spack env activate myenv
$ spack concretize --force
$ spack install
The ``--force`` flag tells Spack to overwrite its previous concretization
decisions, allowing you to choose a new version of Python. If any of the new
packages like Bash are already installed, ``spack install`` won't re-install
them, it will keep the symlinks in place.
^^^^^^^^^^^^^^
Uninstallation
^^^^^^^^^^^^^^
If you decide that Spack isn't right for you, uninstallation is simple.
Just run:
.. code-block:: console
$ spack env activate myenv
$ spack uninstall --all
This will uninstall all packages in your environment and remove the symlinks.
------------------------
Using Spack on Travis-CI
------------------------
@@ -1109,6 +1358,14 @@ The main points that are implemented below:
the spack builds in the config.
(The Travis yaml parser is a bit buggy on the echo command.)
#. Without control for the user, Travis jobs will run on various
``x86_64`` microarchitectures. If you plan to cache build results,
e.g. to accelerate dependency builds, consider building for the
generic ``x86_64`` target only.
Limiting the microarchitecture will also find more packages when
working with the
`E4S Spack build cache <https://oaciss.uoregon.edu/e4s/e4s_buildcache_inventory.html>`_.
#. Builds over 10 minutes need to be prefixed with ``travis_wait``.
Alternatively, generate output once with ``spack install -v``.
@@ -1151,7 +1408,9 @@ The main points that are implemented below:
- if ! which spack >/dev/null; then
mkdir -p $SPACK_ROOT &&
git clone --depth 50 https://github.com/spack/spack.git $SPACK_ROOT &&
echo -e "config:""\n build_jobs:"" 2" > $SPACK_ROOT/etc/spack/config.yaml;
echo -e "config:""\n build_jobs:"" 2" > $SPACK_ROOT/etc/spack/config.yaml **
echo -e "packages:""\n all:""\n target:"" ['x86_64']"
> $SPACK_ROOT/etc/spack/packages.yaml;
fi
- travis_wait spack install cmake@3.7.2~openssl~ncurses
- travis_wait spack install boost@1.62.0~graph~iostream~locale~log~wave
@@ -1183,12 +1442,7 @@ The following functionality is prepared:
#. Base image: the example starts from a minimal ubuntu.
#. Installing as root: docker images are usually set up as root.
Since some autotools scripts might complain about this being unsafe, we set
``FORCE_UNSAFE_CONFIGURE=1`` to avoid configure errors.
#. Pre-install the spack dependencies, including modules from the packages.
This avoids needing to build those from scratch via ``spack bootstrap``.
#. Pre-install the spack dependencies.
Package installs are followed by a clean-up of the system package index,
to avoid outdated information and it saves space.
@@ -1217,10 +1471,9 @@ In order to build and run the image, execute:
# general environment for docker
ENV DEBIAN_FRONTEND=noninteractive \
SPACK_ROOT=/usr/local \
FORCE_UNSAFE_CONFIGURE=1
SPACK_ROOT=/usr/local
# install minimal spack depedencies
# install minimal spack dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
autoconf \
@@ -1254,7 +1507,7 @@ In order to build and run the image, execute:
RUN spack install tar \
&& spack clean -a
# need the modules already during image build?
# need the executables from a package already during image build?
#RUN /bin/bash -l -c ' \
# spack load tar \
# && which tar'

52
lib/spack/env/cc vendored
View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)
@@ -15,9 +15,9 @@
# 1. It allows Spack to swap compilers into and out of builds easily.
# 2. It adds several options to the compile line so that spack
# packages can find their dependencies at build time and run time:
# -I arguments for dependency /include directories.
# -L arguments for dependency /lib directories.
# -Wl,-rpath arguments for dependency /lib directories.
# -I and/or -isystem arguments for dependency /include directories.
# -L arguments for dependency /lib directories.
# -Wl,-rpath arguments for dependency /lib directories.
#
# This is an array of environment variables that need to be set before
@@ -43,7 +43,7 @@ parameters=(
# The compiler input variables are checked for sanity later:
# SPACK_CC, SPACK_CXX, SPACK_F77, SPACK_FC
# The default compiler flags are passed from these variables:
# SPACK_CFLAGS, SPACK_CXXFLAGS, SPACK_FCFLAGS, SPACK_FFLAGS,
# SPACK_CFLAGS, SPACK_CXXFLAGS, SPACK_FFLAGS,
# SPACK_LDFLAGS, SPACK_LDLIBS
# Debug env var is optional; set to "TRUE" for debug logging:
# SPACK_DEBUG
@@ -251,10 +251,11 @@ input_command="$*"
#
# Parse the command line arguments.
#
# We extract -L, -I, and -Wl,-rpath arguments from the command line and
# recombine them with Spack arguments later. We parse these out so that
# we can make sure that system paths come last, that package arguments
# come first, and that Spack arguments are injected properly.
# We extract -L, -I, -isystem and -Wl,-rpath arguments from the
# command line and recombine them with Spack arguments later. We
# parse these out so that we can make sure that system paths come
# last, that package arguments come first, and that Spack arguments
# are injected properly.
#
# All other arguments, including -l arguments, are treated as
# 'other_args' and left in their original order. This ensures that
@@ -273,12 +274,24 @@ system_libdirs=()
system_rpaths=()
libs=()
other_args=()
isystem_system_includes=()
isystem_includes=()
while [ -n "$1" ]; do
# an RPATH to be added after the case statement.
rp=""
case "$1" in
-isystem*)
arg="${1#-isystem}"
isystem_was_used=true
if [ -z "$arg" ]; then shift; arg="$1"; fi
if system_dir "$arg"; then
isystem_system_includes+=("$arg")
else
isystem_includes+=("$arg")
fi
;;
-I*)
arg="${1#-I}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
@@ -425,12 +438,6 @@ then
esac
fi
# Prepend include directories
IFS=':' read -ra include_dirs <<< "$SPACK_INCLUDE_DIRS"
if [[ $mode == cpp || $mode == cc || $mode == as || $mode == ccld ]]; then
includes=("${includes[@]}" "${include_dirs[@]}")
fi
IFS=':' read -ra rpath_dirs <<< "$SPACK_RPATH_DIRS"
if [[ $mode == ccld || $mode == ld ]]; then
@@ -481,9 +488,22 @@ args=()
# flags assembled earlier
args+=("${flags[@]}")
# include directory search paths
# Insert include directories just prior to any system include directories
for dir in "${includes[@]}"; do args+=("-I$dir"); done
for dir in "${isystem_includes[@]}"; do args+=("-isystem$dir"); done
IFS=':' read -ra spack_include_dirs <<< "$SPACK_INCLUDE_DIRS"
if [[ $mode == cpp || $mode == cc || $mode == as || $mode == ccld ]]; then
if [[ "$isystem_was_used" == "true" ]] ; then
for dir in "${spack_include_dirs[@]}"; do args+=("-isystem$dir"); done
else
for dir in "${spack_include_dirs[@]}"; do args+=("-I$dir"); done
fi
fi
for dir in "${system_includes[@]}"; do args+=("-I$dir"); done
for dir in "${isystem_system_includes[@]}"; do args+=("-isystem$dir"); done
# Library search paths
for dir in "${libdirs[@]}"; do args+=("-L$dir"); done

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)
@@ -82,24 +82,17 @@
ini-parsing, io, code, and log facilities.
* Version: 1.4.34 (last version supporting Python 2.6)
pyqver
------
* Homepage: https://github.com/ghewgill/pyqver
* Usage: External script to query required python version of
python source code. Used for ensuring 2.6 compatibility.
* Version: Unversioned
pytest
------
* Homepage: https://pypi.python.org/pypi/pytest
* Usage: Testing framework used by Spack.
* Version: 3.2.5 (last version supporting Python 2.6)
* Note: This package has been slightly modified to improve
Python 2.6 compatibility. See the following commit if the
vendored copy ever needs to be updated again:
https://github.com/spack/spack/pull/6801/commits/ff513c39f2c67ff615de5cbc581dd69a8ec96526
* Note: This package has been slightly modified:
* We improve Python 2.6 compatibility. See:
https://github.com/spack/spack/pull/6801.
* We have patched pytest not to depend on setuptools. See:
https://github.com/spack/spack/pull/15612
ruamel.yaml
------
@@ -133,4 +126,5 @@
* Homepage: https://altgraph.readthedocs.io/en/latest/index.html
* Usage: dependency of macholib
* Version: 0.16.1
"""

View File

@@ -1028,34 +1028,13 @@ def _consider_importhook(self, args):
except SystemError:
mode = 'plain'
else:
self._mark_plugins_for_rewrite(hook)
# REMOVED FOR SPACK: This routine imports `pkg_resources` from
# `setuptools`, but we do not need it for Spack. We have removed
# it from Spack to avoid a dependency on setuptools.
# self._mark_plugins_for_rewrite(hook)
pass
self._warn_about_missing_assertion(mode)
def _mark_plugins_for_rewrite(self, hook):
"""
Given an importhook, mark for rewrite any top-level
modules or packages in the distribution package for
all pytest plugins.
"""
import pkg_resources
self.pluginmanager.rewrite_hook = hook
# 'RECORD' available for plugins installed normally (pip install)
# 'SOURCES.txt' available for plugins installed in dev mode (pip install -e)
# for installed plugins 'SOURCES.txt' returns an empty list, and vice-versa
# so it shouldn't be an issue
metadata_files = 'RECORD', 'SOURCES.txt'
package_files = (
entry.split(',')[0]
for entrypoint in pkg_resources.iter_entry_points('pytest11')
for metadata in metadata_files
for entry in entrypoint.dist._get_metadata(metadata)
)
for name in _iter_rewritable_modules(package_files):
hook.mark_rewrite(name)
def _warn_about_missing_assertion(self, mode):
try:
assert False
@@ -1081,7 +1060,12 @@ def _preparse(self, args, addopts=True):
self._checkversion()
self._consider_importhook(args)
self.pluginmanager.consider_preparse(args)
self.pluginmanager.load_setuptools_entrypoints('pytest11')
# REMOVED FOR SPACK: This routine imports `pkg_resources` from
# `setuptools`, but we do not need it for Spack. We have removed
# it from Spack to avoid a dependency on setuptools.
# self.pluginmanager.load_setuptools_entrypoints('pytest11')
self.pluginmanager.consider_env()
self.known_args_namespace = ns = self._parser.parse_known_args(args, namespace=self.option.copy())
if self.known_args_namespace.confcutdir is None and self.inifile:

View File

@@ -569,7 +569,7 @@ def syspathinsert(self, path=None):
def _possibly_invalidate_import_caches(self):
# invalidate caches if we can (py33 and above)
try:
import importlib # nopyqver
import importlib
except ImportError:
pass
else:

View File

@@ -497,26 +497,6 @@ def check_pending(self):
"unknown hook %r in plugin %r" %
(name, hookimpl.plugin))
def load_setuptools_entrypoints(self, entrypoint_name):
""" Load modules from querying the specified setuptools entrypoint name.
Return the number of loaded plugins. """
from pkg_resources import (iter_entry_points, DistributionNotFound,
VersionConflict)
for ep in iter_entry_points(entrypoint_name):
# is the plugin registered or blocked?
if self.get_plugin(ep.name) or self.is_blocked(ep.name):
continue
try:
plugin = ep.load()
except DistributionNotFound:
continue
except VersionConflict as e:
raise PluginValidationError(
"Plugin %r could not be loaded: %s!" % (ep.name, e))
self.register(plugin, name=ep.name)
self._plugin_distinfo.append((plugin, ep.dist))
return len(self._plugin_distinfo)
def list_plugin_distinfo(self):
""" return list of distinfo/plugin tuples for all setuptools registered
plugins. """

View File

@@ -139,9 +139,12 @@
@contributor: U{Reka Albert <http://www.phys.psu.edu/~ralbert/>}
'''
import pkg_resources
__version__ = pkg_resources.require('altgraph')[0].version
# import pkg_resources
# __version__ = pkg_resources.require('altgraph')[0].version
# pkg_resources is not finding the altgraph import despite the fact that it is in sys.path
# there is no .dist-info or .egg-info for pkg_resources to query the version from
# so it must be set manually
__version__ = '0.16.1'
class GraphError(ValueError):
pass

View File

@@ -64,6 +64,7 @@
'enterpriseenterprise': 'oracle', # Oracle Enterprise Linux
'redhatenterpriseworkstation': 'rhel', # RHEL 6, 7 Workstation
'redhatenterpriseserver': 'rhel', # RHEL 6, 7 Server
'redhatenterprisecomputenode': 'rhel', # RHEL 6 ComputeNode
}
#: Translation table for normalizing the distro ID derived from the file name

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)

View File

@@ -1,344 +0,0 @@
#!/usr/bin/env python
#
# pyqver2.py
# by Greg Hewgill
# https://github.com/ghewgill/pyqver
#
# This software is provided 'as-is', without any express or implied
# warranty. In no event will the author be held liable for any damages
# arising from the use of this software.
#
# Permission is granted to anyone to use this software for any purpose,
# including commercial applications, and to alter it and redistribute it
# freely, subject to the following restrictions:
#
# 1. The origin of this software must not be misrepresented; you must not
# claim that you wrote the original software. If you use this software
# in a product, an acknowledgment in the product documentation would be
# appreciated but is not required.
# 2. Altered source versions must be plainly marked as such, and must not be
# misrepresented as being the original software.
# 3. This notice may not be removed or altered from any source distribution.
#
# Copyright (c) 2009-2013 Greg Hewgill http://hewgill.com
#
import compiler
import platform
import sys
StandardModules = {
"__future__": (2, 1),
"abc": (2, 6),
# skip argparse now that it's in lib/spack/external
# "argparse": (2, 7),
"ast": (2, 6),
"atexit": (2, 0),
"bz2": (2, 3),
"cgitb": (2, 2),
"collections": (2, 4),
"contextlib": (2, 5),
"cookielib": (2, 4),
"cProfile": (2, 5),
"csv": (2, 3),
"ctypes": (2, 5),
"datetime": (2, 3),
"decimal": (2, 4),
"difflib": (2, 1),
"DocXMLRPCServer": (2, 3),
"dummy_thread": (2, 3),
"dummy_threading": (2, 3),
"email": (2, 2),
"fractions": (2, 6),
"functools": (2, 5),
"future_builtins": (2, 6),
"hashlib": (2, 5),
"heapq": (2, 3),
"hmac": (2, 2),
"hotshot": (2, 2),
"HTMLParser": (2, 2),
"importlib": (2, 7),
"inspect": (2, 1),
"io": (2, 6),
"itertools": (2, 3),
"json": (2, 6),
"logging": (2, 3),
"modulefinder": (2, 3),
"msilib": (2, 5),
"multiprocessing": (2, 6),
"netrc": (1, 5, 2),
"numbers": (2, 6),
"optparse": (2, 3),
"ossaudiodev": (2, 3),
"pickletools": (2, 3),
"pkgutil": (2, 3),
"platform": (2, 3),
"pydoc": (2, 1),
"runpy": (2, 5),
"sets": (2, 3),
"shlex": (1, 5, 2),
"SimpleXMLRPCServer": (2, 2),
"spwd": (2, 5),
"sqlite3": (2, 5),
"ssl": (2, 6),
"stringprep": (2, 3),
"subprocess": (2, 4),
"sysconfig": (2, 7),
"tarfile": (2, 3),
"textwrap": (2, 3),
"timeit": (2, 3),
"unittest": (2, 1),
"uuid": (2, 5),
"warnings": (2, 1),
"weakref": (2, 1),
"winsound": (1, 5, 2),
"wsgiref": (2, 5),
"xml.dom": (2, 0),
"xml.dom.minidom": (2, 0),
"xml.dom.pulldom": (2, 0),
"xml.etree.ElementTree": (2, 5),
"xml.parsers.expat":(2, 0),
"xml.sax": (2, 0),
"xml.sax.handler": (2, 0),
"xml.sax.saxutils": (2, 0),
"xml.sax.xmlreader":(2, 0),
"xmlrpclib": (2, 2),
"zipfile": (1, 6),
"zipimport": (2, 3),
"_ast": (2, 5),
"_winreg": (2, 0),
}
Functions = {
"all": (2, 5),
"any": (2, 5),
"collections.Counter": (2, 7),
"collections.defaultdict": (2, 5),
"collections.OrderedDict": (2, 7),
"functools.total_ordering": (2, 7),
"enumerate": (2, 3),
"frozenset": (2, 4),
"itertools.compress": (2, 7),
"math.erf": (2, 7),
"math.erfc": (2, 7),
"math.expm1": (2, 7),
"math.gamma": (2, 7),
"math.lgamma": (2, 7),
"memoryview": (2, 7),
"next": (2, 6),
"os.getresgid": (2, 7),
"os.getresuid": (2, 7),
"os.initgroups": (2, 7),
"os.setresgid": (2, 7),
"os.setresuid": (2, 7),
"reversed": (2, 4),
"set": (2, 4),
"subprocess.check_call": (2, 5),
"subprocess.check_output": (2, 7),
"sum": (2, 3),
"symtable.is_declared_global": (2, 7),
"weakref.WeakSet": (2, 7),
}
Identifiers = {
"False": (2, 2),
"True": (2, 2),
}
def uniq(a):
if len(a) == 0:
return []
else:
return [a[0]] + uniq([x for x in a if x != a[0]])
class NodeChecker(object):
def __init__(self):
self.vers = dict()
self.vers[(2,0)] = []
def add(self, node, ver, msg):
if ver not in self.vers:
self.vers[ver] = []
self.vers[ver].append((node.lineno, msg))
def default(self, node):
for child in node.getChildNodes():
self.visit(child)
def visitCallFunc(self, node):
def rollup(n):
if isinstance(n, compiler.ast.Name):
return n.name
elif isinstance(n, compiler.ast.Const):
return type(n.value).__name__
elif isinstance(n, compiler.ast.Getattr):
r = rollup(n.expr)
if r:
return r + "." + n.attrname
name = rollup(node.node)
if name:
# Special handling for empty format strings, which aren't
# allowed in Python 2.6
if name in ('unicode.format', 'str.format'):
n = node.node
if isinstance(n, compiler.ast.Getattr):
n = n.expr
if isinstance(n, compiler.ast.Const):
if '{}' in n.value:
self.add(node, (2,7), name + ' with {} format string')
v = Functions.get(name)
if v is not None:
self.add(node, v, name)
self.default(node)
def visitClass(self, node):
if node.bases:
self.add(node, (2,2), "new-style class")
if node.decorators:
self.add(node, (2,6), "class decorator")
self.default(node)
def visitDictComp(self, node):
self.add(node, (2,7), "dictionary comprehension")
self.default(node)
def visitFloorDiv(self, node):
self.add(node, (2,2), "// operator")
self.default(node)
def visitFrom(self, node):
v = StandardModules.get(node.modname)
if v is not None:
self.add(node, v, node.modname)
for n in node.names:
name = node.modname + "." + n[0]
v = Functions.get(name)
if v is not None:
self.add(node, v, name)
def visitFunction(self, node):
if node.decorators:
self.add(node, (2,4), "function decorator")
self.default(node)
def visitGenExpr(self, node):
self.add(node, (2,4), "generator expression")
self.default(node)
def visitGetattr(self, node):
if (isinstance(node.expr, compiler.ast.Const)
and isinstance(node.expr.value, str)
and node.attrname == "format"):
self.add(node, (2,6), "string literal .format()")
self.default(node)
def visitIfExp(self, node):
self.add(node, (2,5), "inline if expression")
self.default(node)
def visitImport(self, node):
for n in node.names:
v = StandardModules.get(n[0])
if v is not None:
self.add(node, v, n[0])
self.default(node)
def visitName(self, node):
v = Identifiers.get(node.name)
if v is not None:
self.add(node, v, node.name)
self.default(node)
def visitSet(self, node):
self.add(node, (2,7), "set literal")
self.default(node)
def visitSetComp(self, node):
self.add(node, (2,7), "set comprehension")
self.default(node)
def visitTryFinally(self, node):
# try/finally with a suite generates a Stmt node as the body,
# but try/except/finally generates a TryExcept as the body
if isinstance(node.body, compiler.ast.TryExcept):
self.add(node, (2,5), "try/except/finally")
self.default(node)
def visitWith(self, node):
if isinstance(node.body, compiler.ast.With):
self.add(node, (2,7), "with statement with multiple contexts")
else:
self.add(node, (2,5), "with statement")
self.default(node)
def visitYield(self, node):
self.add(node, (2,2), "yield expression")
self.default(node)
def get_versions(source, filename=None):
"""Return information about the Python versions required for specific features.
The return value is a dictionary with keys as a version number as a tuple
(for example Python 2.6 is (2,6)) and the value are a list of features that
require the indicated Python version.
"""
tree = compiler.parse(source)
checker = compiler.walk(tree, NodeChecker())
return checker.vers
def v27(source):
if sys.version_info >= (2, 7):
return qver(source)
else:
print >>sys.stderr, "Not all features tested, run --test with Python 2.7"
return (2, 7)
def qver(source):
"""Return the minimum Python version required to run a particular bit of code.
>>> qver('print "hello world"')
(2, 0)
>>> qver('class test(object): pass')
(2, 2)
>>> qver('yield 1')
(2, 2)
>>> qver('a // b')
(2, 2)
>>> qver('True')
(2, 2)
>>> qver('enumerate(a)')
(2, 3)
>>> qver('total = sum')
(2, 0)
>>> qver('sum(a)')
(2, 3)
>>> qver('(x*x for x in range(5))')
(2, 4)
>>> qver('class C:\\n @classmethod\\n def m(): pass')
(2, 4)
>>> qver('y if x else z')
(2, 5)
>>> qver('import hashlib')
(2, 5)
>>> qver('from hashlib import md5')
(2, 5)
>>> qver('import xml.etree.ElementTree')
(2, 5)
>>> qver('try:\\n try: pass;\\n except: pass;\\nfinally: pass')
(2, 0)
>>> qver('try: pass;\\nexcept: pass;\\nfinally: pass')
(2, 5)
>>> qver('from __future__ import with_statement\\nwith x: pass')
(2, 5)
>>> qver('collections.defaultdict(list)')
(2, 5)
>>> qver('from collections import defaultdict')
(2, 5)
>>> qver('"{0}".format(0)')
(2, 6)
>>> qver('memoryview(x)')
(2, 7)
>>> v27('{1, 2, 3}')
(2, 7)
>>> v27('{x for x in s}')
(2, 7)
>>> v27('{x: y for x in s}')
(2, 7)
>>> qver('from __future__ import with_statement\\nwith x:\\n with y: pass')
(2, 5)
>>> v27('from __future__ import with_statement\\nwith x, y: pass')
(2, 7)
>>> qver('@decorator\\ndef f(): pass')
(2, 4)
>>> qver('@decorator\\nclass test:\\n pass')
(2, 6)
#>>> qver('0o0')
#(2, 6)
#>>> qver('@foo\\nclass C: pass')
#(2, 6)
"""
return max(get_versions(source).keys())

View File

@@ -1,248 +0,0 @@
#!/usr/bin/env python3
#
# pyqver3.py
# by Greg Hewgill
# https://github.com/ghewgill/pyqver
#
# This software is provided 'as-is', without any express or implied
# warranty. In no event will the author be held liable for any damages
# arising from the use of this software.
#
# Permission is granted to anyone to use this software for any purpose,
# including commercial applications, and to alter it and redistribute it
# freely, subject to the following restrictions:
#
# 1. The origin of this software must not be misrepresented; you must not
# claim that you wrote the original software. If you use this software
# in a product, an acknowledgment in the product documentation would be
# appreciated but is not required.
# 2. Altered source versions must be plainly marked as such, and must not be
# misrepresented as being the original software.
# 3. This notice may not be removed or altered from any source distribution.
#
# Copyright (c) 2009-2013 Greg Hewgill http://hewgill.com
#
import ast
import platform
import sys
StandardModules = {
# skip argparse now that it's in lib/spack/external
# "argparse": (3, 2),
"faulthandler": (3, 3),
"importlib": (3, 1),
"ipaddress": (3, 3),
"lzma": (3, 3),
"tkinter.ttk": (3, 1),
"unittest.mock": (3, 3),
"venv": (3, 3),
}
Functions = {
"bytearray.maketrans": (3, 1),
"bytes.maketrans": (3, 1),
"bz2.open": (3, 3),
"collections.Counter": (3, 1),
"collections.OrderedDict": (3, 1),
"crypt.mksalt": (3, 3),
"email.generator.BytesGenerator": (3, 2),
"email.message_from_binary_file": (3, 2),
"email.message_from_bytes": (3, 2),
"functools.lru_cache": (3, 2),
"gzip.compress": (3, 2),
"gzip.decompress": (3, 2),
"inspect.getclosurevars": (3, 3),
"inspect.getgeneratorlocals": (3, 3),
"inspect.getgeneratorstate": (3, 2),
"itertools.combinations_with_replacement": (3, 1),
"itertools.compress": (3, 1),
"logging.config.dictConfig": (3, 2),
"logging.NullHandler": (3, 1),
"math.erf": (3, 2),
"math.erfc": (3, 2),
"math.expm1": (3, 2),
"math.gamma": (3, 2),
"math.isfinite": (3, 2),
"math.lgamma": (3, 2),
"math.log2": (3, 3),
"os.environb": (3, 2),
"os.fsdecode": (3, 2),
"os.fsencode": (3, 2),
"os.fwalk": (3, 3),
"os.getenvb": (3, 2),
"os.get_exec_path": (3, 2),
"os.getgrouplist": (3, 3),
"os.getpriority": (3, 3),
"os.getresgid": (3, 2),
"os.getresuid": (3, 2),
"os.get_terminal_size": (3, 3),
"os.getxattr": (3, 3),
"os.initgroups": (3, 2),
"os.listxattr": (3, 3),
"os.lockf": (3, 3),
"os.pipe2": (3, 3),
"os.posix_fadvise": (3, 3),
"os.posix_fallocate": (3, 3),
"os.pread": (3, 3),
"os.pwrite": (3, 3),
"os.readv": (3, 3),
"os.removexattr": (3, 3),
"os.replace": (3, 3),
"os.sched_get_priority_max": (3, 3),
"os.sched_get_priority_min": (3, 3),
"os.sched_getaffinity": (3, 3),
"os.sched_getparam": (3, 3),
"os.sched_getscheduler": (3, 3),
"os.sched_rr_get_interval": (3, 3),
"os.sched_setaffinity": (3, 3),
"os.sched_setparam": (3, 3),
"os.sched_setscheduler": (3, 3),
"os.sched_yield": (3, 3),
"os.sendfile": (3, 3),
"os.setpriority": (3, 3),
"os.setresgid": (3, 2),
"os.setresuid": (3, 2),
"os.setxattr": (3, 3),
"os.sync": (3, 3),
"os.truncate": (3, 3),
"os.waitid": (3, 3),
"os.writev": (3, 3),
"shutil.chown": (3, 3),
"shutil.disk_usage": (3, 3),
"shutil.get_archive_formats": (3, 3),
"shutil.get_terminal_size": (3, 3),
"shutil.get_unpack_formats": (3, 3),
"shutil.make_archive": (3, 3),
"shutil.register_archive_format": (3, 3),
"shutil.register_unpack_format": (3, 3),
"shutil.unpack_archive": (3, 3),
"shutil.unregister_archive_format": (3, 3),
"shutil.unregister_unpack_format": (3, 3),
"shutil.which": (3, 3),
"signal.pthread_kill": (3, 3),
"signal.pthread_sigmask": (3, 3),
"signal.sigpending": (3, 3),
"signal.sigtimedwait": (3, 3),
"signal.sigwait": (3, 3),
"signal.sigwaitinfo": (3, 3),
"socket.CMSG_LEN": (3, 3),
"socket.CMSG_SPACE": (3, 3),
"socket.fromshare": (3, 3),
"socket.if_indextoname": (3, 3),
"socket.if_nameindex": (3, 3),
"socket.if_nametoindex": (3, 3),
"socket.sethostname": (3, 3),
"ssl.match_hostname": (3, 2),
"ssl.RAND_bytes": (3, 3),
"ssl.RAND_pseudo_bytes": (3, 3),
"ssl.SSLContext": (3, 2),
"ssl.SSLEOFError": (3, 3),
"ssl.SSLSyscallError": (3, 3),
"ssl.SSLWantReadError": (3, 3),
"ssl.SSLWantWriteError": (3, 3),
"ssl.SSLZeroReturnError": (3, 3),
"stat.filemode": (3, 3),
"textwrap.indent": (3, 3),
"threading.get_ident": (3, 3),
"time.clock_getres": (3, 3),
"time.clock_gettime": (3, 3),
"time.clock_settime": (3, 3),
"time.get_clock_info": (3, 3),
"time.monotonic": (3, 3),
"time.perf_counter": (3, 3),
"time.process_time": (3, 3),
"types.new_class": (3, 3),
"types.prepare_class": (3, 3),
}
def uniq(a):
if len(a) == 0:
return []
else:
return [a[0]] + uniq([x for x in a if x != a[0]])
class NodeChecker(ast.NodeVisitor):
def __init__(self):
self.vers = dict()
self.vers[(3,0)] = []
def add(self, node, ver, msg):
if ver not in self.vers:
self.vers[ver] = []
self.vers[ver].append((node.lineno, msg))
def visit_Call(self, node):
def rollup(n):
if isinstance(n, ast.Name):
return n.id
elif isinstance(n, ast.Attribute):
r = rollup(n.value)
if r:
return r + "." + n.attr
name = rollup(node.func)
if name:
v = Functions.get(name)
if v is not None:
self.add(node, v, name)
self.generic_visit(node)
def visit_Import(self, node):
for n in node.names:
v = StandardModules.get(n.name)
if v is not None:
self.add(node, v, n.name)
self.generic_visit(node)
def visit_ImportFrom(self, node):
v = StandardModules.get(node.module)
if v is not None:
self.add(node, v, node.module)
for n in node.names:
name = node.module + "." + n.name
v = Functions.get(name)
if v is not None:
self.add(node, v, name)
def visit_Raise(self, node):
if isinstance(node.cause, ast.Name) and node.cause.id == "None":
self.add(node, (3,3), "raise ... from None")
def visit_YieldFrom(self, node):
self.add(node, (3,3), "yield from")
def get_versions(source, filename=None):
"""Return information about the Python versions required for specific features.
The return value is a dictionary with keys as a version number as a tuple
(for example Python 3.1 is (3,1)) and the value are a list of features that
require the indicated Python version.
"""
tree = ast.parse(source, filename=filename)
checker = NodeChecker()
checker.visit(tree)
return checker.vers
def v33(source):
if sys.version_info >= (3, 3):
return qver(source)
else:
print("Not all features tested, run --test with Python 3.3", file=sys.stderr)
return (3, 3)
def qver(source):
"""Return the minimum Python version required to run a particular bit of code.
>>> qver('print("hello world")')
(3, 0)
>>> qver("import importlib")
(3, 1)
>>> qver("from importlib import x")
(3, 1)
>>> qver("import tkinter.ttk")
(3, 1)
>>> qver("from collections import Counter")
(3, 1)
>>> qver("collections.OrderedDict()")
(3, 1)
>>> qver("import functools\\n@functools.lru_cache()\\ndef f(x): x*x")
(3, 2)
>>> v33("yield from x")
(3, 3)
>>> v33("raise x from None")
(3, 3)
"""
return max(get_versions(source).keys())

View File

@@ -12,7 +12,7 @@
from ruamel.ordereddict import ordereddict
except:
try:
from collections import OrderedDict # nopyqver
from collections import OrderedDict
except ImportError:
from ordereddict import OrderedDict
# to get the right name import ... as ordereddict doesn't do that

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)

View File

@@ -1,136 +1,165 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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 __future__ import print_function
import re
import argparse
import errno
import sys
from six import StringIO
class ArgparseWriter(object):
class Command(object):
"""Parsed representation of a command from argparse.
This is a single command from an argparse parser. ``ArgparseWriter``
creates these and returns them from ``parse()``, and it passes one of
these to each call to ``format()`` so that we can take an action for
a single command.
Parts of a Command:
- prog: command name (str)
- description: command description (str)
- usage: command usage (str)
- positionals: list of positional arguments (list)
- optionals: list of optional arguments (list)
- subcommands: list of subcommand parsers (list)
"""
def __init__(self, prog, description, usage,
positionals, optionals, subcommands):
self.prog = prog
self.description = description
self.usage = usage
self.positionals = positionals
self.optionals = optionals
self.subcommands = subcommands
# NOTE: The only reason we subclass argparse.HelpFormatter is to get access
# to self._expand_help(), ArgparseWriter is not intended to be used as a
# formatter_class.
class ArgparseWriter(argparse.HelpFormatter):
"""Analyzes an argparse ArgumentParser for easy generation of help."""
def __init__(self, out=sys.stdout):
def __init__(self, prog, out=None, aliases=False):
"""Initializes a new ArgparseWriter instance.
Parameters:
prog (str): the program name
out (file object): the file to write to (default sys.stdout)
aliases (bool): whether or not to include subparsers for aliases
"""
super(ArgparseWriter, self).__init__(prog)
self.level = 0
self.out = out
self.prog = prog
self.out = sys.stdout if out is None else out
self.aliases = aliases
def _write(self, parser, root=True, level=0):
def parse(self, parser, prog):
"""Parses the parser object and returns the relavent components.
Parameters:
parser (argparse.ArgumentParser): the parser
prog (str): the command name
Returns:
(Command) information about the command from the parser
"""
self.parser = parser
self.level = level
split_prog = parser.prog.split(' ')
split_prog[-1] = prog
prog = ' '.join(split_prog)
description = parser.description
fmt = parser._get_formatter()
actions = parser._actions
groups = parser._mutually_exclusive_groups
usage = fmt._format_usage(None, actions, groups, '').strip()
# allow root level to be flattened with rest of commands
if type(root) == int:
self.level = root
root = True
# go through actions and split them into optionals, positionals,
# Go through actions and split them into optionals, positionals,
# and subcommands
optionals = []
positionals = []
subcommands = []
for action in actions:
if action.option_strings:
optionals.append(action)
flags = action.option_strings
dest_flags = fmt._format_action_invocation(action)
help = self._expand_help(action) if action.help else ''
help = help.replace('\n', ' ')
optionals.append((flags, dest_flags, help))
elif isinstance(action, argparse._SubParsersAction):
for subaction in action._choices_actions:
subparser = action._name_parser_map[subaction.dest]
subcommands.append(subparser)
subcommands.append((subparser, subaction.dest))
# Look for aliases of the form 'name (alias, ...)'
if self.aliases:
match = re.match(r'(.*) \((.*)\)', subaction.metavar)
if match:
aliases = match.group(2).split(', ')
for alias in aliases:
subparser = action._name_parser_map[alias]
subcommands.append((subparser, alias))
else:
positionals.append(action)
args = fmt._format_action_invocation(action)
help = self._expand_help(action) if action.help else ''
help = help.replace('\n', ' ')
positionals.append((args, help))
groups = parser._mutually_exclusive_groups
fmt = parser._get_formatter()
description = parser.description
return Command(
prog, description, usage, positionals, optionals, subcommands)
def action_group(function, actions):
for action in actions:
arg = fmt._format_action_invocation(action)
help = action.help if action.help else ''
function(arg, re.sub('\n', ' ', help))
def format(self, cmd):
"""Returns the string representation of a single node in the
parser tree.
if root:
self.begin_command(parser.prog)
Override this in subclasses to define how each subcommand
should be displayed.
if description:
self.description(parser.description)
Parameters:
(Command): parsed information about a command or subcommand
usage = fmt._format_usage(None, actions, groups, '').strip()
self.usage(usage)
Returns:
str: the string representation of this subcommand
"""
raise NotImplementedError
if positionals:
self.begin_positionals()
action_group(self.positional, positionals)
self.end_positionals()
def _write(self, parser, prog, level=0):
"""Recursively writes a parser.
if optionals:
self.begin_optionals()
action_group(self.optional, optionals)
self.end_optionals()
Parameters:
parser (argparse.ArgumentParser): the parser
prog (str): the command name
level (int): the current level
"""
self.level = level
if subcommands:
self.begin_subcommands(subcommands)
for subparser in subcommands:
self._write(subparser, root=True, level=level + 1)
self.end_subcommands(subcommands)
cmd = self.parse(parser, prog)
self.out.write(self.format(cmd))
if root:
self.end_command(parser.prog)
for subparser, prog in cmd.subcommands:
self._write(subparser, prog, level=level + 1)
def write(self, parser, root=True):
def write(self, parser):
"""Write out details about an ArgumentParser.
Args:
parser (ArgumentParser): an ``argparse`` parser
root (bool or int): if bool, whether to include the root parser;
or ``1`` to flatten the root parser with first-level
subcommands
parser (argparse.ArgumentParser): the parser
"""
try:
self._write(parser, root, level=0)
self._write(parser, self.prog)
except IOError as e:
# swallow pipe errors
# Swallow pipe errors
# Raises IOError in Python 2 and BrokenPipeError in Python 3
if e.errno != errno.EPIPE:
raise
def begin_command(self, prog):
pass
def end_command(self, prog):
pass
def description(self, description):
pass
def usage(self, usage):
pass
def begin_positionals(self):
pass
def positional(self, name, help):
pass
def end_positionals(self):
pass
def begin_optionals(self):
pass
def optional(self, option, help):
pass
def end_optionals(self):
pass
def begin_subcommands(self, subcommands):
pass
def end_subcommands(self, subcommands):
pass
_rst_levels = ['=', '-', '^', '~', ':', '`']
@@ -138,66 +167,214 @@ def end_subcommands(self, subcommands):
class ArgparseRstWriter(ArgparseWriter):
"""Write argparse output as rst sections."""
def __init__(self, out=sys.stdout, rst_levels=_rst_levels,
strip_root_prog=True):
def __init__(self, prog, out=None, aliases=False,
rst_levels=_rst_levels):
"""Create a new ArgparseRstWriter.
Args:
Parameters:
prog (str): program name
out (file object): file to write to
aliases (bool): whether or not to include subparsers for aliases
rst_levels (list of str): list of characters
for rst section headings
strip_root_prog (bool): if ``True``, strip the base command name
from subcommands in output
"""
super(ArgparseRstWriter, self).__init__(out)
out = sys.stdout if out is None else out
super(ArgparseRstWriter, self).__init__(prog, out, aliases)
self.rst_levels = rst_levels
self.strip_root_prog = strip_root_prog
def line(self, string=''):
self.out.write('%s\n' % string)
def format(self, cmd):
string = StringIO()
string.write(self.begin_command(cmd.prog))
if cmd.description:
string.write(self.description(cmd.description))
string.write(self.usage(cmd.usage))
if cmd.positionals:
string.write(self.begin_positionals())
for args, help in cmd.positionals:
string.write(self.positional(args, help))
string.write(self.end_positionals())
if cmd.optionals:
string.write(self.begin_optionals())
for flags, dest_flags, help in cmd.optionals:
string.write(self.optional(dest_flags, help))
string.write(self.end_optionals())
if cmd.subcommands:
string.write(self.begin_subcommands(cmd.subcommands))
return string.getvalue()
def begin_command(self, prog):
self.line()
self.line('----')
self.line()
self.line('.. _%s:\n' % prog.replace(' ', '-'))
self.line('%s' % prog)
self.line(self.rst_levels[self.level] * len(prog) + '\n')
return """
----
.. _{0}:
{1}
{2}
""".format(prog.replace(' ', '-'), prog,
self.rst_levels[self.level] * len(prog))
def description(self, description):
self.line('%s\n' % description)
return description + '\n\n'
def usage(self, usage):
self.line('.. code-block:: console\n')
self.line(' %s\n' % usage)
return """\
.. code-block:: console
{0}
""".format(usage)
def begin_positionals(self):
self.line()
self.line('**Positional arguments**\n')
return '\n**Positional arguments**\n\n'
def positional(self, name, help):
self.line(name)
self.line(' %s\n' % help)
return """\
{0}
{1}
""".format(name, help)
def end_positionals(self):
return ''
def begin_optionals(self):
self.line()
self.line('**Optional arguments**\n')
return '\n**Optional arguments**\n\n'
def optional(self, opts, help):
self.line('``%s``' % opts)
self.line(' %s\n' % help)
return """\
``{0}``
{1}
""".format(opts, help)
def end_optionals(self):
return ''
def begin_subcommands(self, subcommands):
self.line()
self.line('**Subcommands**\n')
self.line('.. hlist::')
self.line(' :columns: 4\n')
string = """
**Subcommands**
for cmd in subcommands:
prog = cmd.prog
if self.strip_root_prog:
prog = re.sub(r'^[^ ]* ', '', prog)
.. hlist::
:columns: 4
self.line(' * :ref:`%s <%s>`'
% (prog, cmd.prog.replace(' ', '-')))
self.line()
"""
for cmd, _ in subcommands:
prog = re.sub(r'^[^ ]* ', '', cmd.prog)
string += ' * :ref:`{0} <{1}>`\n'.format(
prog, cmd.prog.replace(' ', '-'))
return string + '\n'
class ArgparseCompletionWriter(ArgparseWriter):
"""Write argparse output as shell programmable tab completion functions."""
def format(self, cmd):
"""Returns the string representation of a single node in the
parser tree.
Override this in subclasses to define how each subcommand
should be displayed.
Parameters:
(Command): parsed information about a command or subcommand
Returns:
str: the string representation of this subcommand
"""
assert cmd.optionals # we should always at least have -h, --help
assert not (cmd.positionals and cmd.subcommands) # one or the other
# We only care about the arguments/flags, not the help messages
positionals = []
if cmd.positionals:
positionals, _ = zip(*cmd.positionals)
optionals, _, _ = zip(*cmd.optionals)
subcommands = []
if cmd.subcommands:
_, subcommands = zip(*cmd.subcommands)
# Flatten lists of lists
optionals = [x for xx in optionals for x in xx]
return (self.start_function(cmd.prog) +
self.body(positionals, optionals, subcommands) +
self.end_function(cmd.prog))
def start_function(self, prog):
"""Returns the syntax needed to begin a function definition.
Parameters:
prog (str): the command name
Returns:
str: the function definition beginning
"""
name = prog.replace('-', '_').replace(' ', '_')
return '\n_{0}() {{'.format(name)
def end_function(self, prog=None):
"""Returns the syntax needed to end a function definition.
Parameters:
prog (str, optional): the command name
Returns:
str: the function definition ending
"""
return '}\n'
def body(self, positionals, optionals, subcommands):
"""Returns the body of the function.
Parameters:
positionals (list): list of positional arguments
optionals (list): list of optional arguments
subcommands (list): list of subcommand parsers
Returns:
str: the function body
"""
return ''
def positionals(self, positionals):
"""Returns the syntax for reporting positional arguments.
Parameters:
positionals (list): list of positional arguments
Returns:
str: the syntax for positional arguments
"""
return ''
def optionals(self, optionals):
"""Returns the syntax for reporting optional flags.
Parameters:
optionals (list): list of optional arguments
Returns:
str: the syntax for optional flags
"""
return ''
def subcommands(self, subcommands):
"""Returns the syntax for reporting subcommands.
Parameters:
subcommands (list): list of subcommand parsers
Returns:
str: the syntax for subcommand parsers
"""
return ''

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)
@@ -13,6 +13,7 @@
import six
from .microarchitecture import generic_microarchitecture, targets
from .schema import targets_json
#: Mapping from operating systems to chain of commands
#: to obtain a dictionary of raw info on the current cpu
@@ -108,23 +109,39 @@ def sysctl(*args):
'model': sysctl('-n', 'machdep.cpu.model'),
'model name': sysctl('-n', 'machdep.cpu.brand_string')
}
# Super hacky way to deal with slight representation differences
# Would be better to somehow consider these "identical"
if 'sse4.1' in info['flags']:
info['flags'] += ' sse4_1'
if 'sse4.2' in info['flags']:
info['flags'] += ' sse4_2'
if 'avx1.0' in info['flags']:
info['flags'] += ' avx'
if 'clfsopt' in info['flags']:
info['flags'] += ' clflushopt'
if 'xsave' in info['flags']:
info['flags'] += ' xsavec xsaveopt'
return info
def adjust_raw_flags(info):
"""Adjust the flags detected on the system to homogenize
slightly different representations.
"""
# Flags detected on Darwin turned to their linux counterpart
flags = info.get('flags', [])
d2l = targets_json['conversions']['darwin_flags']
for darwin_flag, linux_flag in d2l.items():
if darwin_flag in flags:
info['flags'] += ' ' + linux_flag
def adjust_raw_vendor(info):
"""Adjust the vendor field to make it human readable"""
if 'CPU implementer' not in info:
return
# Mapping numeric codes to vendor (ARM). This list is a merge from
# different sources:
#
# https://github.com/karelzak/util-linux/blob/master/sys-utils/lscpu-arm.c
# https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile
# https://github.com/gcc-mirror/gcc/blob/master/gcc/config/aarch64/aarch64-cores.def
# https://patchwork.kernel.org/patch/10524949/
arm_vendors = targets_json['conversions']['arm_vendors']
arm_code = info['CPU implementer']
if arm_code in arm_vendors:
info['CPU implementer'] = arm_vendors[arm_code]
def raw_info_dictionary():
"""Returns a dictionary with information on the cpu of the current host.
@@ -139,6 +156,8 @@ def raw_info_dictionary():
warnings.warn(str(e))
if info:
adjust_raw_flags(info)
adjust_raw_vendor(info)
break
return info
@@ -223,3 +242,15 @@ def compatibility_check_for_x86_64(info, target):
return (target == arch_root or arch_root in target.ancestors) \
and (target.vendor == vendor or target.vendor == 'generic') \
and target.features.issubset(features)
@compatibility_check(architecture_family='aarch64')
def compatibility_check_for_aarch64(info, target):
basename = 'aarch64'
features = set(info.get('Features', '').split())
vendor = info.get('CPU implementer', 'generic')
arch_root = targets[basename]
return (target == arch_root or arch_root in target.ancestors) \
and (target.vendor == vendor or target.vendor == 'generic') \
and target.features.issubset(features)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 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)
@@ -8,7 +8,7 @@
import warnings
try:
from collections.abc import Sequence
from collections.abc import Sequence # novm
except ImportError:
from collections import Sequence
@@ -204,10 +204,22 @@ def optimization_flags(self, compiler, version):
compiler (str): name of the compiler to be used
version (str): version of the compiler to be used
"""
# If we don't have information on compiler return an empty string
if compiler not in self.compilers:
# If we don't have information on compiler at all
# return an empty string
if compiler not in self.family.compilers:
return ''
# If we have information but it stops before this
# microarchitecture, fall back to the best known target
if compiler not in self.compilers:
best_target = [
x for x in self.ancestors if compiler in x.compilers
][0]
msg = ("'{0}' compiler is known to optimize up to the '{1}'"
" microarchitecture in the '{2}' architecture family")
msg = msg.format(compiler, best_target, best_target.family)
raise UnsupportedMicroarchitecture(msg)
# If we have information on this compiler we need to check the
# version being used
compiler_info = self.compilers[compiler]
@@ -219,15 +231,10 @@ def optimization_flags(self, compiler, version):
def satisfies_constraint(entry, version):
min_version, max_version = entry['versions'].split(':')
# Check version suffixes
min_version, min_suffix = version_components(min_version)
max_version, max_suffix = version_components(max_version)
version, suffix = version_components(version)
# If the suffixes are not all equal there's no match
if ((suffix != min_suffix and min_version) or
(suffix != max_suffix and max_version)):
return False
# Extract numeric part of the version
min_version, _ = version_components(min_version)
max_version, _ = version_components(max_version)
version, _ = version_components(version)
# Assume compiler versions fit into semver
tuplify = lambda x: tuple(int(y) for y in x.split('.'))

View File

@@ -61,16 +61,18 @@
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "0.0.0-apple:",
"family": "x86-64",
"flags": "-march={family}"
},
"apple-clang": [
{
"versions": ":",
"family": "x86-64",
"flags": "-march={family} -mcpu=generic"
"name": "x86-64",
"flags": "-march={name}"
}
],
"clang": [
{
"versions": ":",
"name": "x86-64",
"flags": "-march={name} -mtune=generic"
}
],
"intel": {
@@ -96,8 +98,7 @@
},
"clang": {
"versions": "3.9:",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "16.0:",
@@ -122,8 +123,7 @@
},
"clang": {
"versions": "3.9:",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "16.0:",
@@ -157,8 +157,7 @@
],
"clang": {
"versions": "3.9:",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "16.0:",
@@ -188,8 +187,7 @@
},
"clang": {
"versions": "3.9:",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "16.0:",
@@ -227,8 +225,7 @@
],
"clang": {
"versions": "3.9:",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": [
{
@@ -274,8 +271,7 @@
],
"clang": {
"versions": "3.9:",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": [
{
@@ -326,8 +322,7 @@
],
"clang": {
"versions": "3.9:",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": [
{
@@ -373,8 +368,7 @@
},
"clang": {
"versions": "3.9:",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "18.0:",
@@ -416,8 +410,7 @@
},
"clang": {
"versions": "3.9:",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "18.0:",
@@ -463,8 +456,7 @@
"clang": {
"versions": "3.9:",
"name": "knl",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "18.0:",
@@ -515,8 +507,7 @@
"clang": {
"versions": "3.9:",
"name": "skylake-avx512",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "18.0:",
@@ -568,8 +559,7 @@
},
"clang": {
"versions": "3.9:",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "18.0:",
@@ -609,7 +599,7 @@
"avx512bw",
"avx512dq",
"avx512cd",
"avx512vnni"
"avx512_vnni"
],
"compilers": {
"gcc": {
@@ -618,8 +608,7 @@
},
"clang": {
"versions": "8.0:",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "19.0:",
@@ -685,13 +674,11 @@
{
"versions": "7.0:",
"name": "icelake-client",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
{
"versions": "6.0:6.9",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
}
],
"intel": {
@@ -723,8 +710,7 @@
"clang": {
"versions": "3.9:",
"name": "amdfam10",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "16.0:",
@@ -761,8 +747,7 @@
"clang": {
"versions": "3.9:",
"name": "bdver1",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "16.0:",
@@ -803,8 +788,7 @@
"clang": {
"versions": "3.9:",
"name": "bdver2",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "16.0:",
@@ -846,8 +830,7 @@
"clang": {
"versions": "3.9:",
"name": "bdver3",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "16.0:",
@@ -892,8 +875,7 @@
"clang": {
"versions": "3.9:",
"name": "bdver4",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "16.0:",
@@ -942,8 +924,7 @@
"clang": {
"versions": "4.0:",
"name": "znver1",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "16.0:",
@@ -993,8 +974,7 @@
"clang": {
"versions": "9.0:",
"name": "znver2",
"family": "x86-64",
"flags": "-march={family} -mcpu={name}"
"flags": "-march={name} -mtune={name}"
},
"intel": {
"versions": "16.0:",
@@ -1016,8 +996,7 @@
},
"clang": {
"versions": ":",
"family": "ppc64",
"flags": "-march={family} -mcpu=generic"
"flags": "-mcpu={name} -mtune={name}"
}
}
},
@@ -1033,9 +1012,7 @@
},
"clang": {
"versions": "3.9:",
"family": "ppc64",
"name": "pwr7",
"flags": "-march={family} -mcpu={name}"
"flags": "-mcpu={name} -mtune={name}"
}
}
},
@@ -1058,9 +1035,7 @@
],
"clang": {
"versions": "3.9:",
"family": "ppc64",
"name": "pwr8",
"flags": "-march={family} -mcpu={name}"
"flags": "-mcpu={name} -mtune={name}"
}
}
},
@@ -1076,9 +1051,7 @@
},
"clang": {
"versions": "3.9:",
"family": "ppc64",
"name": "pwr9",
"flags": "-march={family} -mcpu={name}"
"flags": "-mcpu={name} -mtune={name}"
}
}
},
@@ -1094,8 +1067,7 @@
},
"clang": {
"versions": ":",
"family": "ppc64le",
"flags": "-march={family} -mcpu=generic"
"flags": "-mcpu={name} -mtune={name}"
}
}
},
@@ -1121,8 +1093,8 @@
"clang": {
"versions": "3.9:",
"family": "ppc64le",
"name": "pwr8",
"flags": "-march={family} -mcpu={name}"
"name": "power8",
"flags": "-mcpu={name} -mtune={name}"
}
}
},
@@ -1140,8 +1112,8 @@
"clang": {
"versions": "3.9:",
"family": "ppc64le",
"name": "pwr9",
"flags": "-march={family} -mcpu={name}"
"name": "power9",
"flags": "-mcpu={name} -mtune={name}"
}
}
},
@@ -1156,11 +1128,113 @@
},
"clang": {
"versions": ":",
"family": "aarch64",
"flags": "-march={family} -mcpu=generic"
"flags": "-march=armv8-a -mtune=generic"
}
}
},
"thunderx2": {
"from": "aarch64",
"vendor": "Cavium",
"features": [
"fp",
"asimd",
"evtstrm",
"aes",
"pmull",
"sha1",
"sha2",
"crc32",
"atomics",
"cpuid",
"asimdrdm"
],
"compilers": {
"gcc": [
{
"versions": "4.8:4.8.9",
"flags": "-march=armv8-a"
},
{
"versions": "4.9:5.9",
"flags": "-march=armv8-a+crc+crypto"
},
{
"versions": "6:6.9",
"flags": "-march=armv8.1-a+crc+crypto"
},
{
"versions": "7:",
"flags": "-mcpu=thunderx2t99"
}
],
"clang": [
{
"versions": "3.9:4.9",
"flags": "-march=armv8.1-a+crc+crypto"
},
{
"versions": "5:",
"flags": "-mcpu=thunderx2t99"
}
]
}
},
"a64fx": {
"from": "aarch64",
"vendor": "Fujitsu",
"features": [
"fp",
"asimd",
"evtstrm",
"aes",
"pmull",
"sha1",
"sha2",
"crc32",
"atomics",
"cpuid",
"asimdrdm",
"fphp",
"asimdhp",
"fcma",
"dcpop",
"sve"
],
"compilers": {
"gcc": [
{
"versions": "4.8:4.8.9",
"flags": "-march=armv8-a"
},
{
"versions": "4.9:5.9",
"flags": "-march=armv8-a+crc+crypto"
},
{
"versions": "6:6.9",
"flags": "-march=armv8.1-a+crc+crypto"
},
{
"versions": "7:7.9",
"flags": "-march=armv8.2-a+crc+crypto+fp16"
},
{
"versions": "8:",
"flags": "-march=armv8.2-a+crc+aes+sha2+fp16+sve -msve-vector-bits=512"
}
],
"clang": [
{
"versions": "3.9:4.9",
"flags": "-march=armv8.2-a+crc+crypto+fp16"
},
{
"versions": "5:",
"flags": "-march=armv8.2-a+crc+crypto+fp16+sve"
}
]
}
},
"arm": {
"from": null,
"vendor": "generic",
@@ -1226,6 +1300,20 @@
"ppc64"
]
},
"vsx": {
"reason": "VSX alitvec extensions are supported by PowerISA from v2.06 (Power7+), but might not be listed in features",
"families": [
"ppc64le",
"ppc64"
]
},
"fma": {
"reason": "FMA has been supported by PowerISA since Power1, but might not be listed in features",
"families": [
"ppc64le",
"ppc64"
]
},
"sse4.1": {
"reason": "permits to refer to sse4_1 also as sse4.1",
"any_of": [
@@ -1244,5 +1332,34 @@
"aarch64"
]
}
},
"conversions": {
"description": "Conversions that map some platform specific values to canonical values",
"arm_vendors": {
"0x41": "ARM",
"0x42": "Broadcom",
"0x43": "Cavium",
"0x44": "DEC",
"0x46": "Fujitsu",
"0x48": "HiSilicon",
"0x49": "Infineon Technologies AG",
"0x4d": "Motorola",
"0x4e": "Nvidia",
"0x50": "APM",
"0x51": "Qualcomm",
"0x53": "Samsung",
"0x56": "Marvell",
"0x61": "Apple",
"0x66": "Faraday",
"0x68": "HXT",
"0x69": "Intel"
},
"darwin_flags": {
"sse4.1": "sse4_1",
"sse4.2": "sse4_2",
"avx1.0": "avx",
"clfsopt": "clflushopt",
"xsave": "xsavec xsaveopt"
}
}
}

Some files were not shown because too many files have changed in this diff Show More