Compare commits

...

5772 Commits

Author SHA1 Message Date
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
Todd Gamblin
0311b63e0b update CHANGELOG.md for 0.13.4 2020-02-07 16:52:07 -06:00
Todd Gamblin
a8d5c6ccf2 version bump: 0.13.4 2020-02-07 16:51:44 -06: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
Massimiliano Culpo
010f9451c9 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-02-07 16:36:23 -06:00
Adam J. Stewart
f9f28e8fba 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-02-07 16:36:18 -06:00
Sajid Ali
4da8f7fcef RHEL8 bugfix for module_cmd (#14349) 2020-02-07 16:35:57 -06:00
Adam J. Stewart
69e5683ba4 Fix outdated bash tab completion (#14392) 2020-02-07 16:23:51 -06:00
Jeffrey Salmond
5397d500c8 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-02-07 16:12:20 -06:00
Todd Gamblin
b442b21751 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-02-07 16:11:06 -06: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
55d5b435c8 update CHANGELOG.md for 0.13.3 2019-12-23 23:48:11 -08:00
Todd Gamblin
231e237764 version bump: 0.13.3 2019-12-23 23:48:11 -08:00
Massimiliano Culpo
8616a26406 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-23 23:48:03 -08:00
Todd Gamblin
e22d3250dd 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 23:18:47 -08:00
Todd Gamblin
e3939b0c72 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 23:18:46 -08:00
Todd Gamblin
f013687397 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 23:18:46 -08:00
Todd Gamblin
79ddf6cf0d 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 23:18:45 -08:00
Todd Gamblin
be6d7db2a8 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 23:18:45 -08:00
Todd Gamblin
d87ededddc 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 23:18:45 -08:00
Todd Gamblin
b3a5f2e3c3 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 23:18:44 -08:00
Todd Gamblin
98577e3af5 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 23:18:44 -08:00
Todd Gamblin
a85b9070cb 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 23:18:44 -08:00
Todd Gamblin
91ea90c253 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-23 23:17:59 -08:00
Todd Gamblin
5bdba98837 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-23 23:17:59 -08:00
Todd Gamblin
cbf8553406 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-23 23:17:58 -08:00
Todd Gamblin
48befd67b5 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-23 23:17:58 -08:00
Sajid Ali
37eac1a226 use sys.executable instead of python in _source_single_file (#14252) 2019-12-23 23:16:30 -08:00
Peter Josef Scheibel
639156130b Patch fetching: remove unnecessary argument 2019-12-23 23:03:10 -08:00
Peter Josef Scheibel
587c650b88 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-23 23:03:10 -08:00
Peter Josef Scheibel
d71428622b 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-23 23:03:10 -08:00
Peter Josef Scheibel
a69b3c85b0 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-23 23:03:09 -08:00
Peter Josef Scheibel
98b498c671 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-23 23:03:09 -08:00
Peter Josef Scheibel
64209dda97 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-23 23:03:09 -08:00
Paul Ferrell
c15e55c668 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-12-23 23:03:03 -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
Todd Gamblin
fe4ccdd555 update CHANGELOG.md for 0.13.2 2019-12-04 22:02:41 -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
Todd Gamblin
46b68263d8 version bump: 0.13.2 2019-12-04 21:20:09 -08:00
Peter Scheibel
03a5771b9d 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 20:55:50 -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
a93a613668 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:35 -08: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
Todd Gamblin
c36d9f297f 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-12-01 20:23:06 -08:00
Adam J. Stewart
b44df29316 environments: don't try to modify run-env if a spec is not installed (#13589)
Fixes #13529
Fixes #13509
2019-12-01 20:22:31 -08:00
Greg Becker
fba963f1d1 use semicolons instead of newlines in module/python command (#13904) 2019-12-01 20:21:34 -08:00
Daryl W. Grunau
9c5b583508 verify.py: os.path.exists exception handling (#13656) 2019-12-01 20:21:08 -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
Adam J. Stewart
eb22abc521 Document use of the maintainers field (#13748) 2019-11-17 15:30:08 -07: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
Greg Becker
aa83c483f7 Bugfix/config caching 13754 (#13759)
* 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:55:51 -08: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
Massimiliano Culpo
46bfcbbd3d hwloc: added 'master' version pointing at the HEAD of the master branch (#13734) 2019-11-15 12:38:30 -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
74e04b7e20 Config option to allow gpg warning suppression (#13744)
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:19 -08: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
Peter Scheibel
28163cb34f determine target relative to the link directory rather than the full link path (which includes the file name) (#13727) 2019-11-14 12:15:47 -08: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
Greg Becker
b280034380 Allow binary relocation of strings in relative binaries (#13724)
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:16 -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
Todd Gamblin
b4501c4586 spack find now displays variants and other spec constraints
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 02:49:17 -07:00
Todd Gamblin
ecfe84def7 bugfix: uninstall should find concrete specs by DAG hash
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 02:47:27 -07:00
Greg Becker
fbb5cf944b environments: make shell modifications partially unconditional (#13523)
* environments: make shell modifications partially unconditional

* flake

* missing module name

* add regression test

* flake
2019-11-04 23:35:23 -07:00
Greg Becker
385e41d70b 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-04 22:03:35 -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
edf9548310 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:13: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
7cdb241f80 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:47:19 -08: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
Todd Gamblin
d670765b97 version bump: 0.13.1 2019-11-01 03:52:04 -07:00
Omar Padron
01a0d554f5 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:50:47 -07:00
Gregory Lee
2a9d6b9fbf sbang: use utf-8 for encoding when patching (#13490)
This fixes a UnicodeDecodeError in the sbang patching function.
2019-11-01 03:50:38 -07:00
Massimiliano Culpo
eb286bb80f Specs with quoted flags containing spaces are parsed correctly (#13521) 2019-11-01 03:50:26 -07:00
Massimiliano Culpo
1cc69e1ce0 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:50:17 -07:00
Adam J. Stewart
338a532e07 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-11-01 03:50:02 -07:00
Greg Becker
30c9609c4e 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-11-01 03:49:47 -07:00
Massimiliano Culpo
944d7b3d62 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-11-01 03:49:35 -07:00
Greg Becker
b727f922a4 cpu: fix clang flags for generic x86_64 (#13491)
* cpu: differentiate flags used for pristine LLVM vs. Apple's version
2019-11-01 03:49:16 -07:00
Peter Scheibel
835df4b2e4 syaml_int type should use int.__repr__ rather than str.__repr__ (#13487) 2019-11-01 03:49:00 -07: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
eugeneswalker
94de86aeb8 elpa: prefer 2016.05.004 until sse/avx/avx2 issues are resolved (#13530)
- configuration fails on newer versions when enabling sse/avx/avx2
- prefer an older version that will build with these features
2019-10-31 23:56:14 -07:00
Satish Balay
43b18dada4 hypre: add version 2.18.2 (#13527) 2019-10-31 18:35:13 -05:00
eugeneswalker
63afd0d2cf trilinos: temporarily constrain netcdf@:4.7.1 (#13526)
remove this when issues are resolved with `trilinos^netcdf@4.7.2`
2019-10-31 15:53:54 -07: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
Todd Gamblin
f7de8942b8 Add top-level CHANGELOG.md with release notes. 2019-10-25 23:19:36 -07:00
Todd Gamblin
8eeb64096c version bump: 0.13.0 2019-10-25 21:53:52 -07:00
Todd Gamblin
847703c13d tutorial: move tutorial to standalone site (#13450)
* docs: add a spack environment for building the docs

* docs: remove tutorial and link to spack-tutorial.readthedocs.io

The tutorial now has its own standalone website, versioned by instances
of the tutorial.  Link to that instead of versioning it directly with Spack.
2019-10-25 21:49:27 -07:00
Peter Scheibel
4af448724f mirror create --all can mirror everything (#12940)
Support mirroring all packages with `spack mirror create --all`.

In this mode there is no concretization:

* Spack pulls every version of every package into the created mirror.
* It also makes multiple attempts for each package/version combination
  (if there is a temporary connection failure).
* Continues if all attempts fail. i.e., this makes its best effort to
  fetch evrerything, even if all attempts to fetch one package fail.

This also changes mirroring logic to prefer storing sources by their hash
or by a unique name derived from the source.  For example:

* Archives with checksums are named by the sha256 sum, i.e.,
  `archive/f6/f6cf3bd233f9ea6147b21c7c02cac24e5363570ce4fd6be11dab9f499ed6a7d8.tar.gz`
  vs the previous `<package-name>-package-version>.tar.gz`
* VCS repositories are stored by a path derived from their URL,
  e.g. `git/google/leveldb.git/master.tar.gz`.

The new mirror layout allows different packages to refer to the same
resource or source without duplicating that download in the
mirror/cache. This change is not essential to mirroring everything but is
expected to save space when mirroring packages that all use the same
resource.

The new structure of the mirror is:

```
<base directory>/
  _source-cache/   <-- the _source-cache directory is new
    archive/       <-- archives/resources/patches stored by hash
      00/          <-- 2-letter sha256 prefix
        002748bdd0319d5ab82606cf92dc210fc1c05d0607a2e1d5538f60512b029056.tar.gz
      01/
        0154c25c45b5506b6d618ca8e18d0ef093dac47946ac0df464fb21e77b504118.tar.gz
        0173a74a515211997a3117a47e7b9ea43594a04b865b69da5a71c0886fa829ea.tar.gz
        ...
    git/
      OpenFAST/
        openfast.git/
          master.tar.gz     <-- repo by branch name
      PHASTA/
        phasta.git/
          11f431f2d1a53a529dab4b0f079ab8aab7ca1109.tar.gz  <-- repo by commit
      ...
    svn/      <-- each fetch strategy has its own subdirectory
      ...
  openmpi/   <-- the remaining package directories have the old format
    openmpi-1.10.1.tar.gz  <-- human-readable name is symlink to _source-cache
```

In addition to the archive names as described above, `mirror create` now
also creates symlinks with the old format to help users understand which
package each mirrored archive is associated with, and to allow mirrors to
work with old spack versions. The symlinks are relative so the mirror
directory can still itself be archived.

Other improvements:

* `spack mirror create` will not re-download resources that have already
  been placed in it.

* When creating a mirror, the resources downloaded to the mirror will not
  be cached (things are not stored twice).
2019-10-25 21:47:28 -07:00
Adam J. Stewart
5582de837e Add py-twine package (#13449) 2019-10-25 21:27:44 -05:00
Adam J. Stewart
85597be4d7 Add py-pkginfo package (#13448) 2019-10-25 21:27:29 -05:00
Adam J. Stewart
d6735aa5cd Add latest version of py-tqdm (#13446) 2019-10-25 21:27:12 -05:00
Adam J. Stewart
46ae845b6b Add latest version of py-requests-toolbelt (#13445) 2019-10-25 21:26:48 -05:00
Adam J. Stewart
3dda714477 Add latest version of py-readme-renderer (#13444) 2019-10-25 21:26:29 -05:00
Glenn Johnson
c566a610c9 New package: gpu-burn (#13108) 2019-10-25 17:14:52 -07:00
Peter Scheibel
cfbac14cba bugfix: restore upstream lock safety; update tests
Restore upstream lock safety; avoid calling methods directly on upstream DB in test.
2019-10-25 16:01:45 -07:00
Andreas Baumbach
24ccc11242 py-nbformat package: add version 4.4.0 (#13421) 2019-10-25 15:42:49 -07:00
Andreas Baumbach
32c0ef5ebd New package: py-defusedxml (#13419) 2019-10-25 15:40:59 -07:00
Sinan
ca917cfccc New package: OSQP (#13432) 2019-10-25 15:36:28 -07:00
Hans Pabst
92e2758837 LIBXSMM package: add version 1.14 (#13436) 2019-10-25 15:34:54 -07:00
Michael Kuhn
d4ce124b65 lmdb package: add version 0.9.24 (#13437) 2019-10-25 15:34:13 -07:00
Michael Kuhn
2f752d4880 sqlite package: add version 3.30.1 (#13438) 2019-10-25 15:33:47 -07:00
Justin S
1b6ba93668 py-gensim: new package at 3.8.0 (#13136)
* py-gensim: new package at 3.8.0

* py-gensim: add 3.8.1
2019-10-25 16:43:54 -05:00
Todd Gamblin
e0b94dba14 completion: add bash completion for spack spec --json (#13433) 2019-10-25 11:02:52 -07:00
Andreas Baumbach
ab55890ba8 Make error msg of test_api_for_build_and_run_environment more informative (#13435) 2019-10-25 19:24:41 +02:00
Todd Gamblin
ebeb1ed62f bugfix: reindexing is not necessary for DB v0.9.3 to v5 upgrade (#13434)
reindexing takes a significant amount of time, and there's no reason to
do it from DB version 0.9.3 to version 5. The only difference is that v5
can contain "deprecated_for" fields.

- [x] Add a `_skip_reindex` list at the start of `database.py`

- [x] Skip the reindex for upgrades in this list. The new version will
  just be written to the file the first time we actually have to write
  the DB out (e.g., after an install), and reads will still work fine.
2019-10-25 07:10:03 -07:00
Todd Gamblin
dbee91f7f1 bugfix: allow fetching no-code packages (#13429)
Previously, spack would error out if we tried to fetch something with no
code, but that would prevent fetching dependencies. In particular, this
would fail:

    spack fetch --dependencies xsdk

- [x] Instead of raising an error, just print a message that there is nothing
      to be fetched for packages like xsdk that do not have code.

- [x] Make BundleFetchStrategy a bit more quiet about doing nothing.
2019-10-24 16:02:28 -07:00
Todd Gamblin
757387dc2a commands: Add --json argument to spack spec (#13431)
We've had `spack spec --yaml` for a while, and we've had methods for JSON
for a while as well.  We just haven't has a `--json` argument for `spack spec`.

- [x] Add a `--json` argument to `spack spec`, just like `--yaml`
2019-10-24 16:01:31 -07:00
Chris Green
77af4684aa Improvements to detection of AMD architectures. (#13407)
New entry for K10 microarchitecture.

Reorder Zen* microarchitectures to avoid triggering as k10.

Remove some desktop-specific flags that were preventing Opteron Bulldozer/Piledriver/Steamroller/Excavator CPUs from being recognized as such.

Remove one or two flags which weren't produced in /proc/cpuinfo on older OS (RHEL6 and friends).
2019-10-24 15:48:54 -07:00
Greg Becker
a6ea0bbbae Views: fix python in views when python prefix is under a symlink (#12575)
* Fix python in views when python prefix is under a symlink

* Add todo for future generalization
2019-10-24 16:27:21 -05:00
Adam J. Stewart
0f22e528f3 Add latest version of NetCDF libraries (#13416) 2019-10-24 14:21:12 -06:00
Mikael Simberg
83016e96fd Extend HPX package (#13219)
* Add master branch as version to HPX package

* Remove C++98 option from HPX package

* Add option to turn off examples in HPX package

* Add MPI variant to HPX package
2019-10-24 14:19:25 -06:00
Jannek Squar
5004b20f5c New package: py-cdsapi (#13363)
* New package py-cdsapi to access Climate Data Store for downloading climate and weather reanalysis data

* Improvements
2019-10-24 13:30:21 -05:00
Geoffrey Oxberry
2dd83523e2 mfem: add version 4.0 (without cuda) (#11880)
* mfem: add version 4.0.0 (without cuda, raja, etc)

* mfem@4.0.0: add occa variant

* mfem@4.0.0: add raja variant

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2019-10-24 13:08:51 -05:00
Chris Green
0913328812 Correctly identify Skylake CPUs on Darwin. (#13377)
* Correctly identify Skylake CPUs on Darwin.

* Add a test for haswell on Mojave.
2019-10-24 12:44:58 -05:00
Greg Becker
f65f2450df database: update DB version and change to integer database versions (#13410)
Update on version format: change to an integer database format version for simplicity, instead of tracking the Spack version.
2019-10-24 10:43:49 -07:00
Nick Forrington
845df79ac6 Patch libtool when using the Arm compiler (#12004)
* Patch libtool when using the arm, clang, and fujitsu compilers

If libtool does not have values for linker/pic flags, patch them in
2019-10-24 09:51:00 -05:00
Eric Martin
44485c56b6 blast-legacy: fix build issues (#13370) 2019-10-23 23:16:22 -05:00
Eric Martin
944ffe44a7 subread: add version 2.0.0 (#13368) 2019-10-23 23:07:11 -05:00
Cody Balos
177f661bb3 sundials: add version 5.0.0 and new variant (#13375)
* sundials: add version 5.0.0 and new variant

plus some cleanup

* sundiaks: fix formatting

* sundials: fix dependencies
2019-10-23 23:06:20 -05:00
Eric Martin
d0d0456fa7 vt: add version 0.5772 (#13367) 2019-10-23 23:05:27 -05:00
Greg Becker
8c7a3e55dd add spack dev-build command; deprecate spack diy (#13374)
Rename the `spack diy` command to `spack dev-build` to make the use case clearer.

The `spack diy` command has some useful functionality for developers using Spack to build their dependencies and configure/build/install the code they are developing.  Developers do not notice it, partly because of the obscure name.

The `spack dev-build` command has a `-u/--until PHASE` option to stop after a given phase of the build. This can be used to configure your project, run cmake on your project, or similarly stop after any stage of the build the user wants. These options are analogous to the existing `spack configure` and `spack build` commands, but for developer builds.

To unify the syntax, we have deprecated the `spack configure` and `spack build` commands, and added a `-u/--until PHASE` option to the `spack install` command as well.

The functionality in `spack dev-build` (specifically `spack dev-build -u cmake`) may be able to supersede the `spack setup` command, but this PR does not deprecate that command as that will require slightly more thought.
2019-10-23 17:08:15 -07:00
Peter Scheibel
f2ddffb840 bugfix: web.push_to_url should not format the local path that is passed to it (#13408)
fd58c98 formats the `Stage`'s `archive_path` in `Stage.archive` (as part of `web.push_to_url`). This is not needed and if the formatted differs from the original path (for example if the archive file name contains a URL query suffix), then the copy fails.

This removes the formatting that occurs in `web.push_to_url`.

We should figure out a way to handle bad cases like this *and* to have nicer filenames for downloaded files.  One option that would work in this particular case would be to also pass `-J` / `--remote-header-name` to `curl`.  We'll need to do follow-up work to determine if we can use `-J` everywhere.

See also: https://github.com/spack/spack/pull/11117#discussion_r338301058
2019-10-23 16:50:51 -07:00
Michael Kuhn
bd7265ed52 bison: Fix parallel build (#13402) 2019-10-23 16:49:18 -05:00
Peter Scheibel
685946b1f1 syaml.dump now allows representing all syaml_ objects (originally this was only available for syaml.dump_config) (#13403) 2019-10-23 14:24:14 -07:00
Massimiliano Culpo
b29eb4212e Users can configure use of RPATH or RUNPATH (#9168)
Add a new entry in `config.yaml`:

    config:
        shared_linking: 'rpath'

If this variable is set to `rpath` (the default) Spack will set RPATH in ELF binaries. If set to `runpath` it will set RUNPATH.

Details:
* Spack cc wrapper explicitly adds `--disable-new-dtags` when linking
* cc wrapper also strips `--enable-new-dtags` from the compile line
    when disabling (and vice versa)
* We specifically do *not* add any dtags flags on macOS, which uses
    Mach-O binaries, not ELF, so there's no RUNPATH)
2019-10-23 13:22:24 -07:00
Greg Becker
cd185c3d28 commands: add spack deprecate command (#12933)
`spack deprecate` allows for the removal of insecure packages with minimal impact to their dependents. It allows one package to be symlinked into the prefix of another to provide seamless transition for rpath'd and hard-coded applications using the old version.

Example usage:

    spack deprecate /hash-of-old-openssl /hash-of-new-openssl

The spack deprecate command is designed for use only in extroardinary circumstances.  The spack deprecate command makes no promises about binary compatibility. It is up to the user to ensure the replacement is suitable for the deprecated package.
2019-10-23 13:11:35 -07:00
Michael Kuhn
420346b275 mysql: Use correct python command (#13393)
* mysql: Use correct python command

python~pythoncmd does not provide a python symlink for python3, so make
sure we pick the right command.

* mysql: Adapt to build env changes
2019-10-23 14:15:30 -05:00
Sarah Osborn
b7536eb332 hypre: Add new variants to expose existing features. (#13373)
* hypre: Add new variants to expost existing features.

* hypre: Add new variants to expose existing features.

* hypre: Shorten description line.

* hypre: Add an explicit else clause to disable some features.
2019-10-23 14:13:21 -05:00
Todd Gamblin
26ec644fc8 url summary: show right and wrong parse counts for each regex
Previously this command only showed total counts for each regular
expression.  This doesn't give you a sense of which regexes are working
well and which ones are not.  We now display the number of right, wrong,
and total URL parses per regex.

It's easier to see where we might improve the URL parsing with this
change.
2019-10-23 09:10:32 -07:00
Adam J. Stewart
33499681a4 Add latest version of py-pbr (#13380) 2019-10-23 10:14:04 -05:00
Adam J. Stewart
df3b23334a py-argparse: remove Python dependency version (#13378) 2019-10-23 10:13:39 -05:00
Adam J. Stewart
bc6c76baf9 py-traceback2: fix dependencies (#13381) 2019-10-23 10:13:11 -05:00
Michael Kuhn
b75f506a1a bison: Fix build (#13231)
It seems that 3.4.2 includes a change that is supposed to fix parallel
builds (https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00000.html).
Instead, it actually breaks it for me (with -j48) with errors such as:
```
mv: cannot stat 'examples/c/reccalc/scan.stamp.tmp': No such file or directory
Makefile:9323: recipe for target 'examples/c/reccalc/scan.stamp' failed
```
2019-10-23 10:07:22 -05:00
Adam J. Stewart
4bd0a9b286 py-linecache2: pbr is only a build dependency (#13379) 2019-10-23 09:38:05 -05:00
Adam J. Stewart
baeec6a94e py-unittest2: fix dependencies (#13382) 2019-10-23 09:37:03 -05:00
Adam J. Stewart
79c28331d2 Add py-codecov package (#13383) 2019-10-23 09:36:45 -05:00
t-karatsu
6f41987500 bpp-phyl: Clarify namespace of 'isnan' function. (#13386) 2019-10-23 09:36:01 -05:00
Michael Kuhn
64694dfaf8 magics: Use correct python path (#13394)
python~pythoncmd does not provide a python symlink for python3, so make
sure we pick the right command.
2019-10-23 09:33:42 -05:00
Michael Kuhn
466d07558d bracken: Use correct python command (#13395)
python~pythoncmd does not provide a python symlink for python3, so make
sure we pick the right command.
2019-10-23 09:33:09 -05:00
carlabguillen
44f859849b Ace package. Initial commit (#13211)
* Ace package. Initial commit

* Correcting header now with licence.

* Using sha256

* Making requested changes:removing import line, urls and checksums in one line, and making it an MakefilePackage.

* Removing extra line
2019-10-23 09:31:06 -05:00
Michael Kuhn
464ce2795a glib: Use correct python command (#13392)
python~pythoncmd does not provide a python symlink for python3, so make
sure we pick the right command.
2019-10-23 09:30:46 -05:00
Satish Balay
25d63aa44c petsc: add version 3.12.1 [and variant: batch] (#13390)
* petsc: add version 3.12.1 [and variant: batch]

* fix test_prs_update_old_api errors
2019-10-23 09:29:28 -05:00
Todd Gamblin
af65146ef6 Preserve comments for Spack YAML objects (#11602)
This updates the configuration loading/dumping logic (now called
load_config/dump_config) in spack_yaml to preserve comments (by using
ruamel.yaml's RoundTripLoader). This has two effects:

* environment spack.yaml files expect to retain comments, which
  load_config now supports. By using load_config, users can now use the
  ':' override syntax that was previously unavailable for environment
  configs (but was available for other config files).

* config files now retain user comments by default (although in cases
  where Spack updates/overwrites config, the comments can still be
  removed).

Details:

* Subclasses `RoundTripLoader`/`RoundTripDumper` to parse yaml into
  ruamel's `CommentedMap` and analogous data structures

* Applies filename info directly to ruamel objects in cases where the
  updated loader returns those

* Copies management of sections in `SingleFileScope` from #10651 to allow
  overrides to occur

* Updates the loader/dumper to handle the processing of overrides by
  specifically checking for the `:` character
  * Possibly the most controversial aspect, but without that, the parsed
    objects have to be reconstructed (i.e. as was done in
    `mark_overrides`). It is possible that `mark_overrides` could remain
    and a deep copy will not cause problems, but IMO that's generally
    worth avoiding.
  * This is also possibly controversial because Spack YAML strings can
    include `:`. My reckoning is that this only occurs for version
    specifications, so it is safe to check for `endswith(':') and not
    ('@' in string)`
  * As a consequence, this PR ends up reserving spack yaml functions
    load_config/dump_config exclusively for the purpose of storing spack
    config
2019-10-23 06:29:49 -07:00
Todd Gamblin
b3f5084b96 tests: avoid extra output in env status test (#13344)
`test_envoronment_status()` was printing extra output during tests.

- [x] disable output only for `env('status')` calls instead of disabling
  it for the whole test.
2019-10-22 23:59:28 -07:00
Greg Becker
95a48b27ec env activation: use package defined env setup methods (#13249)
This PR ensures that environment activation sets all environment variables set by the equivalent `module load` operations, except that the spec prefixes are "rebased" to the view associated with the environment.

Currently, Spack blindly adds paths relative to the environment view root to the user environment on activation. Issue #12731 points out ways in which this behavior is insufficient.

This PR changes that behavior to use the `setup_run_environment` logic for each package to augment the prefix inspections (as in Spack's modulefile generation logic) to ensure that all necessary variables are set to make use of the packages in the environment.

See #12731 for details on the previous problems in behavior.

This PR also updates the `ViewDescriptor` object in `spack.environment` to have a `__contains__` method. This allows for checks like `if spec in self.default_view`. The `__contains__` operator for `ViewDescriptor` objects checks whether the spec satisfies the filters of the View descriptor, not whether the spec is already linked into the underlying `FilesystemView` object.
2019-10-22 23:27:40 -07:00
Massimiliano Culpo
b14f18acda microarchitectures: look in /sbin and /usr/sbin for sysctl (#13365)
This PR ensures that on Darwin we always append /sbin and /usr/sbin to PATH, if they are not already present, when looking for sysctl.

* Make sure we look into /sbin and /usr/sbin for sysctl
* Refactor sysctl for better readability
* Remove marker to make test pass
2019-10-22 21:42:38 -07:00
Massimiliano Culpo
8808207ddf Fixed optimization flags support for old GCC versions (#13362)
These changes update our gcc microarchitecture descriptions based on manuals found here https://gcc.gnu.org/onlinedocs/ and assuming that new architectures are not added during patch releases.
2019-10-22 21:40:45 -07:00
Todd Gamblin
a942d2dd3d Disable macOS builds on PRs while we wait for Travis to catch up. (#13389)
Travis macOS builds are taking too long to run, so we'll only run them on
`develop` until they get faster.
2019-10-22 20:40:47 -07:00
Benjamin Fovet
7338730528 gmsh: add version 4.4.1 (#13366) 2019-10-22 18:18:19 -05:00
Frédéric Simonis
ab5135db1c Boost package: Fix iostream autodetect libraries (#12440)
Boost iostream autodetects the compression libraries libzstd and
liblzma outside of the Spack environment.

This commit disables mentioned libraries. In the future if the
Spack zstd/lzma packages were added as dependencies of the Spack
Boost package, additional work could be done to build Boost with
the Spack-built versions of these libraries.
2019-10-22 14:25:03 -07:00
Axel Huebl
0f931cfc87 ADIOS2: Document endian_reverse variant (#13226)
Update the documentation of the `endian_reverse` variant in ADIOS2.
The short description caused some confusion (for me) :-)
2019-10-22 11:06:06 -05:00
Ruben Di Battista
49291d5a40 git-lfs: Add new version (#13356)
PS: The old versions do not work: it's likely that they changed git
history on submodules
2019-10-22 10:45:45 -05:00
Adam J. Stewart
526ee113ea Default to Python 3.7 (#10319)
* Default to Python 3

* Fix build with Intel compilers
2019-10-22 10:22:32 -05:00
Adam J. Stewart
48e8029fb1 Add latest version of py-scikit-learn (#13295)
* Add latest version of py-scikit-learn

* setup_environment -> setup_build_environment
2019-10-22 09:16:58 -05:00
Adam J. Stewart
09070b0c9b Add latest version of npth (#13353) 2019-10-22 09:16:33 -05:00
Adam J. Stewart
2de807d4cb Add latest version of py-macs2 (#13358) 2019-10-22 09:16:07 -05:00
Adam J. Stewart
e0c310bfd3 Add latest version of py-sphinxcontrib-programoutput (#13359) 2019-10-22 09:15:39 -05:00
Adam J. Stewart
809733c7e6 Restrict parallel build of py-astropy to Python 3 (#13360) 2019-10-22 09:15:11 -05:00
Massimiliano Culpo
cfbdd2179e microarchitectures: add optimization flags for Intel compilers (#13345)
* Added optimization flags for Intel compilers with Intel CPUs
* Added optimization flags for Intel compilers with AMD CPUs
2019-10-22 00:33:59 -07:00
Omar Padron
fd58c98b0e fetching: S3 upload and download (#11117)
This extends Spack functionality so that it can fetch sources and binaries from-, push sources and binaries to-, and index the contents of- mirrors hosted on an S3 bucket.

High level to-do list:

- [x] Extend mirrors configuration to add support for `file://`, and `s3://` URLs.
- [x] Ensure all fetching, pushing, and indexing operations work for `file://` URLs.
- [x] Implement S3 source fetching
- [x] Implement S3 binary mirror indexing
- [x] Implement S3 binary package fetching
- [x] Implement S3 source pushing
- [x] Implement S3 binary package pushing

Important details:

* refactor URL handling to handle S3 URLs and mirror URLs more gracefully.
  - updated parse() to accept already-parsed URL objects.  an equivalent object
    is returned with any extra s3-related attributes intact.  Objects created with
    urllib can also be passed, and the additional s3 handling logic will still be applied.

* update mirror schema/parsing (mirror can have separate fetch/push URLs)
* implement s3_fetch_strategy/several utility changes
* provide more feature-complete S3 fetching
* update buildcache create command to support S3

* Move the core logic for reading data from S3 out of the s3 fetch strategy and into
  the s3 URL handler.  The s3 fetch strategy now calls into `read_from_url()` Since
  read_from_url can now handle S3 URLs, the S3 fetch strategy is redundant.  It's
  not clear whether the ideal design is to have S3 fetching functionality in a fetch
  strategy, directly implemented in read_from_url, or both.

* expanded what can be passed to `spack buildcache` via the -d flag: In addition
  to a directory on the local filesystem, the name of a configured mirror can be
  passed, or a push URL can be passed directly.
2019-10-22 00:32:04 -07:00
Adam J. Stewart
6cb972a9d2 Add dependency version constraint to libgcrypt (#13351) 2019-10-22 00:43:44 -05:00
Adam J. Stewart
2aa51697c5 Fix configure arg to libassuan (#13350) 2019-10-22 00:43:29 -05:00
Adam J. Stewart
598274a278 Fix configure arg to libksba (#13352) 2019-10-22 00:43:11 -05:00
Adam J. Stewart
fb219cd91c Add latest version of gnupg (#13349) 2019-10-22 00:42:56 -05:00
Adam J. Stewart
326db657da Add latest version of patchelf (#13348) 2019-10-22 00:42:40 -05:00
Adam J. Stewart
5e6dc7ab4b Add latest version of zstd (#13340)
* Add latest version of zstd

* setup_environment -> setup_build_environment
2019-10-21 21:45:48 -05:00
Toyohisa Kameyama
98c0d59a0c sniffles: fix zlib header lookup directory. (#13063)
* sniffles: fix zlib header lookup directory.

* use bamtools and zlib to spack installed package.

* remove unneeded patch.
2019-10-21 18:38:05 -05:00
noguchi-k
7b62b64b03 elsi:add CMAKE Fortran MODDIR FLAG for Fujitsu compiler (#13244)
* add CMAKE Fortran MODDIR FLAG for Fujitsu compiler

* elsi:remove extra fix
2019-10-21 18:28:38 -05:00
t-karatsu
0e3e1836ff arpack-ng: Fixed error that is not compatible with isnan. (#13246) 2019-10-21 18:27:39 -05:00
t-karatsu
26141ad489 bpp-core: Clarify 'isnan' function's namespace. (#13260) 2019-10-21 18:24:10 -05:00
Michael Kuhn
edf56d8ac4 qt: Fix build for newer versions (#13262)
For some reason, newer versions of qt fail to build because they cannot
find certain system libraries such as libatomic and libdl.

Leaving the qmake compiler set to gcc seems to fix the problem.

Fixes #13221
2019-10-21 18:23:03 -05:00
健美猞猁
26687988eb New package: Fl (#12877) 2019-10-21 12:04:00 -07:00
Massimiliano Culpo
3d77ecd92e Bootstrap environment modules optimizing for generic architectures (#13105)
fixes #13073

Since #3206 was merged bootstrapping environment-modules was using the architecture of the current host or the best match supported by the default compiler. The former case is an issue since shell integration was looking for a spec targeted at the host microarchitecture.

1. Bootstrap an env modules targeted at generic architectures
2. Look for generic targets in shell integration scripts
3. Add a new entry in Travis to test shell integration
2019-10-21 11:20:05 -07:00
Massimiliano Culpo
498f448ef3 microarchitectures: fix custom compiler versions (#13222)
Custom string versions for compilers were raising a ValueError on
conversion to int. This commit fixes the behavior by trying to detect
the underlying compiler version when in presence of a custom string
version.

* Refactor code that deals with custom versions for better readability
* Partition version components with a regex
* Fix semantic of custom compiler versions with a suffix
* clang@x.y-apple has been special-cased
* Add unit tests
2019-10-21 10:24:57 -07:00
Adam J. Stewart
4ab63c17d5 Fix Python 3.8 build on macOS (#13338) 2019-10-21 11:21:47 -05:00
Adam J. Stewart
4d99663ef9 Add latest version of py-cffi (#13322)
* Add latest version of py-cffi

* setup_environment -> setup_build_environment
2019-10-21 11:19:48 -05:00
Adam J. Stewart
038f7b1b66 Add latest version of py-numpy (#13307)
* Add latest version of py-numpy

* setup_environment -> setup_build_environment
2019-10-21 11:19:05 -05:00
Adam J. Stewart
72177b6e97 Add latest version of py-tables (#13291)
* Add latest version of py-tables

* setup_environment -> setup_build_environment
2019-10-21 11:17:52 -05:00
Adam J. Stewart
5090071693 Add latest version of py-torch (#13290)
* Add latest version of py-torch

* setup_environment -> setup_build_environment
2019-10-21 11:17:15 -05:00
Adam J. Stewart
f2d91f7e3c Use specific version of googletest for uriparser (#13339) 2019-10-20 19:08:23 -05:00
Adam J. Stewart
01e64886ac Tut cannot be built with Python 3.7+ (#13341) 2019-10-20 19:08:04 -05:00
Adam J. Stewart
7f2aacfffc Add latest version of proj (#13337) 2019-10-20 17:56:37 -05:00
Adam J. Stewart
030b2f8657 Add missing zlib dependency to openjpeg (#13336) 2019-10-20 17:06:43 -05:00
Adam J. Stewart
0cfc88c7d7 openblas: http -> https (#13335) 2019-10-20 17:06:30 -05:00
Adam J. Stewart
785d5d9ca3 mapserver: http -> https (#13334) 2019-10-20 16:31:55 -05:00
Adam J. Stewart
4789ac956c liblas: http -> https (#13331) 2019-10-20 15:51:35 -05:00
Adam J. Stewart
529d1246f6 libtiff: http -> https (#13332) 2019-10-20 15:51:23 -05:00
Adam J. Stewart
b56e46ece8 libgeotiff: http -> https (#13330) 2019-10-20 15:51:08 -05:00
Adam J. Stewart
f1e595cb61 Add latest version of libyaml (#13333) 2019-10-20 15:50:48 -05:00
Adam J. Stewart
04e999162d Add latest version of libgcrypt (#13329) 2019-10-20 14:45:00 -05:00
Adam J. Stewart
73c5a9c736 Add latest version of googletest (#13328) 2019-10-20 14:44:43 -05:00
Adam J. Stewart
1673dc5aeb GEOS: http -> https (#13327) 2019-10-20 14:44:28 -05:00
Adam J. Stewart
c767444f88 Add missing test dependency to py-alabaster (#13325) 2019-10-20 14:44:14 -05:00
Adam J. Stewart
a602ed873d Add latest version of py-typing (#13287) 2019-10-20 13:18:02 -05:00
Adam J. Stewart
d462749b59 Add missing dependencies to py-apipkg (#13324) 2019-10-20 13:17:44 -05:00
Adam J. Stewart
32879df9d0 Add latest version of py-babel (#13323) 2019-10-20 13:17:28 -05:00
Adam J. Stewart
ea90d2b88a Add latest version of py-chardet (#13321) 2019-10-20 11:44:12 -05:00
Adam J. Stewart
d2744a072b Add latest version of py-click (#13320) 2019-10-20 11:43:56 -05:00
Adam J. Stewart
41126d457f Add latest version of py-execnet (#13317) 2019-10-20 11:21:59 -05:00
Adam J. Stewart
1007a0f7e5 Add latest version of py-decorator (#13318) 2019-10-20 11:21:46 -05:00
Adam J. Stewart
47831a95e1 Add latest version of py-coverage (#13319) 2019-10-20 11:21:32 -05:00
Adam J. Stewart
b421c97110 Add latest version of py-sphinxcontrib-websupport (#13292) 2019-10-20 11:21:03 -05:00
Adam J. Stewart
21d14a19f6 Add latest version of py-sphinx (#13293) 2019-10-20 11:20:46 -05:00
Adam J. Stewart
2268dd9e8f Add latest version of py-snowballstemmer (#13294) 2019-10-20 11:20:21 -05:00
Adam J. Stewart
a2e7f0e9d2 Add latest version of py-requests (#13296) 2019-10-20 11:19:51 -05:00
Adam J. Stewart
35362adb97 Add latest version of py-pyyaml (#13297) 2019-10-20 11:19:29 -05:00
Adam J. Stewart
b76f1687fb Add latest version of py-pytest-xdist (#13298) 2019-10-20 11:19:11 -05:00
Adam J. Stewart
f832f12ca6 Add latest version of py-pytest-runner (#13299) 2019-10-20 11:18:55 -05:00
Adam J. Stewart
3a2eeedf20 Add latest version of py-pytest-mock (#13300) 2019-10-20 11:18:39 -05:00
Adam J. Stewart
4d7226e561 Add latest version of py-pytest-httpbin (#13301) 2019-10-20 11:18:04 -05:00
Adam J. Stewart
63dd97f84e Add latest version of py-pytest-cov (#13302) 2019-10-20 11:17:47 -05:00
Adam J. Stewart
03b1af0d96 Add latest version of py-pysocks (#13303) 2019-10-20 11:17:27 -05:00
Adam J. Stewart
10065b325d Add latest version of py-pycparser (#13304) 2019-10-20 11:17:11 -05:00
Adam J. Stewart
d4f409ea51 Add latest version of py-psutil (#13305) 2019-10-20 11:16:53 -05:00
Adam J. Stewart
04af812e03 Add latest version of py-pip (#13306) 2019-10-20 11:16:36 -05:00
Adam J. Stewart
c130a2980f Add latest version of py-mock (#13308) 2019-10-20 11:16:07 -05:00
Adam J. Stewart
0d189e779a Add latest version of py-markupsafe (#13309) 2019-10-20 11:15:51 -05:00
Adam J. Stewart
30fdff4ff9 Add latest version of py-lxml (#13310) 2019-10-20 11:15:32 -05:00
Adam J. Stewart
51432aa92e Add latest version of py-jinja2 (#13311) 2019-10-20 11:15:16 -05:00
Adam J. Stewart
d61b5125c5 Add latest version of py-itsdangerous (#13312) 2019-10-20 11:15:01 -05:00
Adam J. Stewart
e05d165f92 Add latest version of py-idna (#13313) 2019-10-20 11:14:46 -05:00
Adam J. Stewart
ac0fee0f34 Add latest version of py-hypothesis (#13314) 2019-10-20 11:14:32 -05:00
Adam J. Stewart
5aea70e733 Add latest version of py-httpbin (#13315) 2019-10-20 11:14:17 -05:00
Adam J. Stewart
db8f83d333 Add latest version of py-flask (#13316) 2019-10-20 11:13:55 -05:00
Adam J. Stewart
de6d53b626 Add latest version of py-torchvision (#13289) 2019-10-20 11:12:43 -05:00
Adam J. Stewart
5995c3f85b Add latest version of py-typing-extensions (#13288) 2019-10-20 11:12:27 -05:00
Adam J. Stewart
4e2cce2c9f Add latest version of py-urllib3 (#13286) 2019-10-20 11:11:41 -05:00
Adam J. Stewart
d2202f6d98 Add latest version of py-virtualenv (#13285) 2019-10-20 11:11:23 -05:00
Adam J. Stewart
78942c7840 Add latest version of py-werkzeug (#13284) 2019-10-20 11:11:06 -05:00
Adam J. Stewart
0443581a20 Add py-mypy-extensions package (#13283) 2019-10-20 11:10:40 -05:00
Adam J. Stewart
92a359e4ba Add py-mypy package (#13282) 2019-10-20 11:10:22 -05:00
Adam J. Stewart
9ac7e098d9 Add py-pytest-forked package (#13281) 2019-10-20 11:10:04 -05:00
Adam J. Stewart
1dc99765e9 Add py-raven package (#13280) 2019-10-20 11:09:44 -05:00
Adam J. Stewart
a6bc0c7ee0 Add py-flake8-import-order package (#13273) 2019-10-20 11:09:23 -05:00
Adam J. Stewart
00f766b248 Add py-sphinxcontrib-devhelp package (#13278) 2019-10-20 11:09:04 -05:00
Adam J. Stewart
c8285da8e7 Add py-sphinxcontrib-applehelp package (#13279) 2019-10-20 11:08:51 -05:00
Adam J. Stewart
d37c95b80b Add py-sphinxcontrib-htmlhelp package (#13277) 2019-10-20 11:08:34 -05:00
Adam J. Stewart
7bda2fe292 Add py-sphinxcontrib-jsmath package (#13276) 2019-10-20 11:08:16 -05:00
Adam J. Stewart
d4ac57f3a3 Add py-sphinxcontrib-qthelp package (#13275) 2019-10-20 11:07:54 -05:00
Adam J. Stewart
f35bcaf83b Add py-sphinxcontrib-serializinghtml package (#13274) 2019-10-20 11:07:31 -05:00
Adam J. Stewart
3e18e664fc Add py-typed-ast package (#13272) 2019-10-20 11:07:01 -05:00
Adam J. Stewart
95b7f31112 Add py-docutils-stubs package (#13271) 2019-10-20 11:06:38 -05:00
Adam J. Stewart
4f56bcc790 Add py-brotlipy package (#13270) 2019-10-20 11:06:18 -05:00
Adam J. Stewart
596f3f1d61 spack create: http -> https (#13269) 2019-10-20 11:05:54 -05:00
Todd Gamblin
20bb6fd733 shebangs: don't warn when patching long shebangs (#13266)
We've been doing this for quite a while now, and it does not seem to
cause issues.

- [x] Switch the noisy warning to a debug to make Spack a bit quieter
  while building.
2019-10-19 14:09:25 -07:00
Massimiliano Culpo
41fb0395a6 Microarchitecture specific optimizations for LLVM (#13250)
* Added architecture specific optimization flags for Clang / LLVM
* Disallow compiler optimizations for mixed toolchains
    * We emit a warning when building for a mixed toolchain
* Fixed issues with suffixed versions of compilers; Apple's Clang will, 
    for the time being, fall back on x86-64 for every compilation.
2019-10-19 13:19:29 -07:00
Adam J. Stewart
0fb563f3d9 GCC: fix build on macOS Catalina (#13202)
* GCC: speed up build

* Add back 3-stage bootstrapping
2019-10-19 12:18:31 -05:00
Adam J. Stewart
306346356c brotli: fix darwin install name (#13258) 2019-10-19 12:18:06 -05:00
Axel Huebl
327a7368e9 ADIOS2: Dataspaces, libffi, libfabric (#13230)
* DataSpaces: 1.8.0

Add a newer release of DataSpaces for ADIOS2.
Also add missing `-fPIC` flags since this is a static library.

* ADIOS2: Dataspaces, libffi, libfabric

Add missing dependencies to ADIOS2. Without explicit control,
those dependencies might get picked up from the system environment
and will cause unstable builds.

* Hide transitive SST dependencies

* ADIOS2: Simplify SST CMake Flags

As proposed by Chuck
2019-10-18 13:26:56 -07:00
wspear
f9e7bf295c Updated to latest version. Removed dependency on node-js (#13055)
* Updated to latest version. Removed dependency on node-js

* Refined dependencies

* Added dependencies, including version-specific ones. Re-added 0.9.4.

* Updated py-jupyterhub requirements. Enabled version 0.9.4 and 1.0.0
2019-10-18 12:53:47 -05:00
Christoph Junghans
b4383825be fftw: altivec only works for float (#13242) 2019-10-18 10:36:40 -06:00
wspear
40a11c6bf6 Added package py-python-oauth2, a dependency of py-jupyterhub@0.9.4. … (#13140)
* Added package py-python-oauth2, a dependency of py-jupyterhub@0.9.4. Depends on #13132, #13133 and #13134

* Remove optional dependencies
2019-10-18 11:29:26 -05:00
Justin S
af3c238c31 interproscan: add 5.38-76.0 (#13253) 2019-10-17 20:52:54 -05:00
Peter Scheibel
fd88f8fefa satisfaction checks on dependencies should be strict when the parent check is strict (#13243) 2019-10-17 11:02:14 -07:00
Massimiliano Culpo
9ddc98e46a Separate setting build environment and run environment in packages (#11115)
* Methods setting the environment now do it separately for build and run

Before this commit the `*_environment` methods were setting
modifications to both the build-time and run-time environment
simultaneously. This might cause issues as the two environments
inherently rely on different preconditions:

1. The build-time environment is set before building a package, thus
the package prefix doesn't exist and can't be inspected

2. The run-time environment instead is set assuming the target package
has been already installed

Here we split each of these functions into two: one setting the
build-time environment, one the run-time.

We also adopt a fallback strategy that inspects for old methods and
executes them as before, but prints a deprecation warning to tty. This
permits to port packages to use the new methods in a distributed way,
rather than having to modify all the packages at once.

* Added a test that fails if any package uses the old API

Marked the test xfail for now as we have a lot of packages in that
state.

* Added a test to check that a package modified by a PR is up to date

This test can be used any time we deprecate a method call to ensure
that during the first modification of the package we update also
the deprecated calls.

* Updated documentation
2019-10-17 10:17:21 -07:00
Todd Gamblin
cf9de058aa multimethods: avoid calling caller_locals() in Python 3 (#13238)
Python 3 metaclasses have a `__prepare__` method that lets us save the
class's dictionary before it is constructed.  In Python 2 we had to walk
up the stack using our `caller_locals()` method to get at this.  Using
`__prepare__` is much faster as it doesn't require us to use `inspect`.

This makes multimethods use the faster `__prepare__` method in Python3,
while still using `caller_locals()` in Python 2.  We try to reduce the
use of caller locals using caching to speed up Python 2 a little bit.
2019-10-17 06:40:23 -07:00
wspear
93c34039e4 python-editor: added new package at v1.0.4 (#13126) 2019-10-17 08:46:34 +02:00
Christoph Junghans
6cd997e743 eospac: avoid conflict with linux's getopt (#13241)
* eospac: avoid conflict with linux's getopt

* Update package.py
2019-10-16 18:46:26 -07:00
Todd Gamblin
e65b7f8ebf importing: make importlib_importer recognize .pyc cache (#13239)
Our importer was always parsing from source (which is considerably
slower) because the source size recorded in the .pyc file differed from
the size of the input file.

Override path_stats in the prepending importer to fool it into thinking
that the source size is the size *with* the prepended code.
2019-10-16 17:07:18 -07:00
Michael Kuhn
ffe87ed49f filter_file: fix multiple invocations on the same file (#13234)
Since the backup file is only created on the first invocation, it will
contain the original file without any modifications. Further invocations
will then read the backup file, effectively reverting prior invocations.

This can be reproduced easily by trying to install likwid, which will
try to install into /usr/local. Work around this by creating a temporary
file to read from.
2019-10-16 15:15:24 -07:00
Tamara Dahlgren
1ef71376f2 Bugfix: stage directory permissions and cleaning (#12733)
* This updates stage names to use "spack-stage-" as a prefix.
  This avoids removing non-Spack directories in "spack clean" as
  c141e99 did (in this case so long as they don't contain the
  prefix "spack-stage-"), and also addresses a follow-up issue
  where Spack stage directories were not removed.
* Spack now does more-stringent checking of expected permissions for
  staging directories. For a given stage root that includes a user
  component, all directories before the user component that are
  created by Spack are expected to match the permissions of their
  parent; the user component and all deeper directories are expected
  to be accessible to the user (read/write/execute).
2019-10-16 14:55:37 -07:00
Jeffrey Salmond
e17df2e8f5 add python version 3.8.0 (#13218) 2019-10-16 14:42:36 -07:00
Christoph Junghans
b0543005b2 expat: don't pick up external docbook (#13228) 2019-10-16 05:59:51 -07:00
Jeffrey Salmond
f08f4201c7 add latest version of vim (#13203) 2019-10-15 20:43:03 -07:00
Greg Becker
94e80933f0 Feature: installed file verification (#12841)
This feature generates a verification manifest for each installed
package and provides a command, "spack verify", which can be used to
compare the current file checksums/permissions with those calculated
at installed time.

Verification includes

* Checksums of files
* File permissions
* Modification time
* File size

Packages installed before this PR will be skipped during verification.
To verify such a package you must reinstall it.

The spack verify command has three modes.

* With the -a,--all option it will check every installed package.
* With the -f,--files option, it will check some specific files,
  determine which package they belong to, and confirm that they have
  not been changed.
* With the -s,--specs option or by default, it will check some
  specific packages that no files havae changed.
2019-10-15 14:24:52 -07:00
Satish Balay
5ea0eed287 hypre: add version 2.18.1 (#13224) 2019-10-15 13:05:51 -07:00
Axel Huebl
dc3a9618a0 ADIOS2: Default no Python (#13220)
Turn off the python variant by default.
2019-10-15 14:55:45 -04:00
Massimiliano Culpo
d33b0ffc50 lmod: module files are written in a root folder named by target family (#13121)
fixes #13005

This commit fixes an issue with the name of the root directory for
module file hierarchies. Since #3206 the root folder was named after
the microarchitecture used for the spec, which is too specific and
not backward compatible for lmod hierarchies. Here we compute the
root folder name using the target family instead of the target name
itself and we add target information in the 'whatis' portion of the
module file.
2019-10-15 11:20:49 -07:00
Andrey Prokopenko
41e7e5693e arborx: update v0.8-beta to v0.8-beta2 (#13143)
- Require Kokkos with c++14
- Update the case of CMake options
2019-10-15 11:19:16 +02:00
Andrey Prokopenko
ce5333c1fd kokkos: add cxxstd variant (#13142) 2019-10-15 11:14:37 +02:00
Tim Haines
27a339eeb2 Add version 0.177 of elfutils (#13129)
* Add version 0.177

* Fix spacing
2019-10-14 22:22:11 -07:00
t-karatsu
8f69c9d334 ntpoly: Define module directry when compiling with Fujitsu compiler. (#13120)
* ntpoly: Define module directry when compiling with Fujitsu compiler.

* Delete quotes.
2019-10-14 22:20:52 -07:00
Massimiliano Culpo
5cd28847e8 filter_file uses "surrogateescape" error handling (#12765)
From Python docs:
--
'surrogateescape' will represent any incorrect bytes as code points in
the Unicode Private Use Area ranging from U+DC80 to U+DCFF. These
private code points will then be turned back into the same bytes when
the surrogateescape error handler is used when writing data. This is
useful for processing files in an unknown encoding.
--

This will allow us to process files with unknown encodings.

To accommodate the case of self-extracting bash scripts, filter_file
can now stop filtering text input if a certain marker is found. The
marker must be passed at call time via the "stop_at" function argument.
At that point the file will be reopened in binary mode and copied
verbatim.

* use "surrogateescape" error handling to ignore unknown chars
* permit to stop filtering if a marker is found
* add unit tests for non-ASCII and mixed text/binary files
2019-10-14 20:35:14 -07:00
Greg Becker
3f46f03c83 bugfix: install --only dependencies works in env (#13090)
* bugfix: install --only dependents works in env

includes regression testing
2019-10-14 17:50:38 -07:00
Satish Balay
a63e64f1c4 py-petsc4py: add version 3.12.0 (#13209)
* py-petsc4py: add version 3.12.0

* fix typo wrt maintainer
2019-10-14 15:27:28 -05:00
William F Godoy
dafee9df31 Complete cleanup of the adios2 package configuration (#13107)
Provide up to date specs for build options
Remove non-production versions
Format using autopep8 and flake8
Separate cmake options in adios2 2.4.0 version
Keep default as True as much as possible
Support for Python 2 and 3 for adios2 versions <= 2.4.0
Starting v2.5.0 only Python 3 is supported
Addressing review suggestions
2019-10-14 12:47:55 -07:00
Hadrien G
be8f8856ce New ACTS versions (#12484)
* Add new ACTS releases

* Update ACTS dependency requirements

* We can actually be more specific here

* The material plugin is gone as of ACTS v0.10.0

* Add 0.10.4 release

* Remove material mapping plugin

It was merged into core as of 0.10.x, and given ACTS' youth it is unlikely to have actual users at this point in time.
2019-10-14 14:01:53 -05:00
wspear
48b7370265 py-pymongo: added new package at version 3.9.0 (#13132) 2019-10-14 20:57:54 +02:00
Todd Gamblin
385d2bf3fa commands: add resource stats to spack url stats (#13205)
`spack url stats` now also looks at packages' resources when outputting
statistics.

Example:

```
$ spack url stats
==> URL stats for 3531 packages:
--------------------------------------------------------------
stat                    versions        %   resources        %
--------------------------------------------------------------
url                         8335    89.3%         339    89.0%
    schemes
        https               6489    69.5%          93    24.4%
        ftp                   32     0.3%           8     2.1%
        http                1763    18.9%         237    62.2%
        file                  51     0.5%           1     0.3%
    checksums
        md5                   26     0.3%           0     0.0%
        sha256              8306    89.0%         336    88.2%
        no checksum            3     0.0%           3     0.8%
--------------------------------------------------------------
go                             1     0.0%           0     0.0%
--------------------------------------------------------------
hg                             7     0.1%           0     0.0%
--------------------------------------------------------------
no code                        4     0.0%           0     0.0%
--------------------------------------------------------------
svn                            4     0.0%          16     4.2%
--------------------------------------------------------------
git                          981    10.5%          26     6.8%
    branch                   442     4.7%           4     1.0%
    commit                   362     3.9%          14     3.7%
    no ref                    36     0.4%           2     0.5%
    tag                      141     1.5%           6     1.6%
--------------------------------------------------------------
```
2019-10-14 08:58:01 -07:00
wspear
8a1e5f68f4 py-alembic: fixed missing dependencies. (#13127) 2019-10-14 10:53:01 +02:00
Jeffrey Salmond
2bb1bae2ae dialign: added new package at version 2.2.1 (#13130)
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-10-14 10:49:31 +02:00
Justin S
c851cfd122 py-smart-open: new package at 1.8.4 (#13135) 2019-10-14 10:42:49 +02:00
Adam J. Stewart
e1cf35a82b Fix svn tests, skip if svnadmin not found (#13137) 2019-10-14 10:40:20 +02:00
wspear
bdcf9ba5cd py-python-memcached: added new package at version 1.59 (#13133)
* Added package py-python-memcached, a dependency of python-oauth2

* Fixed line lengths
2019-10-14 10:35:41 +02:00
wspear
04af0eb5a2 py-redis: added new package at version 3.3.8 (#13134) 2019-10-14 10:34:37 +02:00
Adam J. Stewart
27ad28e51a Add py-kiwisolver 1.1.0 (#13170) 2019-10-13 22:26:49 -07:00
Satish Balay
846daa0404 amrex: add version 19.10 (#13206) 2019-10-13 19:57:11 -05:00
Satish Balay
20c2fa62aa slepc: use spack specified python in configure (#13207) 2019-10-13 19:56:27 -05:00
Satish Balay
1f29785b88 omega-h: add version 9.29.0 (#13208) 2019-10-13 19:54:41 -05:00
Adam J. Stewart
ce6bf5fba1 Add apr-util 1.6.1 (#13145) 2019-10-13 19:52:58 -05:00
Adam J. Stewart
c121ddb300 Add apr 1.7.0 (#13146) 2019-10-13 19:52:40 -05:00
Adam J. Stewart
7b21ac3188 Add bison 3.4.2 (#13147) 2019-10-13 19:52:10 -05:00
Adam J. Stewart
30c5f88255 Add freetype 2.10.1 (#13149) 2019-10-13 19:51:53 -05:00
Adam J. Stewart
518a7c5bb9 Add libpng 1.6.37 (#13153) 2019-10-13 19:51:04 -05:00
Adam J. Stewart
b3fcfc1cb2 Add lz4 1.9.2 (#13155) 2019-10-13 19:50:44 -05:00
Adam J. Stewart
48cd455cc1 Add mercurial 5.1.2 (#13156) 2019-10-13 19:50:19 -05:00
Adam J. Stewart
e5d1810bec Add subversion 1.12.2 (#13158) 2019-10-13 19:49:53 -05:00
Adam J. Stewart
143afbd3a0 Add py-attrs 19.2.0 (#13163) 2019-10-13 19:49:29 -05:00
Adam J. Stewart
4b2b548981 Add py-cython 0.29.13 (#13166) 2019-10-13 19:49:07 -05:00
Adam J. Stewart
2884a862e8 Add py-docutils 0.15.2 (#13167) 2019-10-13 19:47:25 -05:00
Adam J. Stewart
83a96755ef Add py-joblib 0.14.0 (#13169) 2019-10-13 19:47:07 -05:00
Adam J. Stewart
e72c20bc47 Add py-more-itertools 7.2.0 (#13171) 2019-10-13 19:46:13 -05:00
Adam J. Stewart
d61743561b Add py-pillow 6.2.0 (#13175)
* Add py-pillow 6.2.0

* Flake8 fix
2019-10-13 19:45:23 -05:00
Adam J. Stewart
ec3b891714 Add py-py 1.8.0 (#13177) 2019-10-13 19:44:08 -05:00
Adam J. Stewart
f7b3524765 Add py-pyflakes 2.1.1 (#13178) 2019-10-13 19:43:50 -05:00
Adam J. Stewart
1276a182b6 Add py-pygments 2.4.2 (#13179) 2019-10-13 19:43:34 -05:00
Adam J. Stewart
8c2096aac5 Add py-pyparsing 2.4.2 (#13180) 2019-10-13 19:43:14 -05:00
Adam J. Stewart
d6f6c41d58 Add py-pytz 2019.3 (#13182) 2019-10-13 19:42:55 -05:00
Adam J. Stewart
2835e9bf17 Add py-setuptools-scm 3.3.3 (#13183) 2019-10-13 19:42:35 -05:00
Adam J. Stewart
ea4f9ebbde gmp: fix make check on catalina (#13201) 2019-10-12 20:21:45 -05:00
Adam J. Stewart
08d448bc54 mpfr: fix make check on catalina (#13200) 2019-10-12 20:21:23 -05:00
Adam J. Stewart
41e0b069d7 Fix external numpy package support (#13197) 2019-10-12 20:21:03 -05:00
Adam J. Stewart
3df6b05c04 Add py-setuptools 41.4.0 (#13184) 2019-10-12 20:20:41 -05:00
Adam J. Stewart
ebfd06d248 Add py-pytest 5.2.1 (#13181) 2019-10-12 20:18:31 -05:00
Adam J. Stewart
328583decc Add py-pluggy 0.13.0 (#13176) 2019-10-12 20:14:12 -05:00
Adam J. Stewart
2ced690efb Add py-pandas 0.25.1 (#13174) 2019-10-12 20:12:41 -05:00
Adam J. Stewart
50e9dc5e2e Add py-packaging 19.2 (#13173) 2019-10-12 20:12:19 -05:00
Adam J. Stewart
101c287e7b Add py-numexpr 2.7.0 (#13172) 2019-10-12 20:11:57 -05:00
Adam J. Stewart
db4d06f953 Add py-importlib-metadata 0.23 (#13168) 2019-10-12 20:08:33 -05:00
Adam J. Stewart
1d7eab10ac Add py-certifi 2019.9.11 (#13165) 2019-10-12 20:05:00 -05:00
Adam J. Stewart
a59e77e374 Add missing test dependency to py-bottleneck (#13164) 2019-10-12 20:04:34 -05:00
Adam J. Stewart
1078dfb6cc Add py-atomicwrites 1.3.0 (#13162) 2019-10-12 20:03:01 -05:00
Adam J. Stewart
b18e4ad142 Add missing libiconv dependency to wget (#13161) 2019-10-12 20:02:41 -05:00
Adam J. Stewart
7a43817205 Add missing gettext dependency to watch (#13160) 2019-10-12 20:02:24 -05:00
Adam J. Stewart
6beb5da497 Fix valgrind concretization on macOS (#13159) 2019-10-12 20:02:05 -05:00
Adam J. Stewart
22e9aafe5f Add SCons 3.1.1 (#13157) 2019-10-12 20:00:28 -05:00
Adam J. Stewart
73b2b2a70f Add LLVM OpenMP 9.0.0 (#13154) 2019-10-12 19:57:36 -05:00
Adam J. Stewart
94d57446c7 Add libjpeg-turbo 2.0.3 (#13152) 2019-10-12 19:55:44 -05:00
Adam J. Stewart
1e2754f0d2 Add help2man 1.47.11 (#13151) 2019-10-12 19:55:14 -05:00
Adam J. Stewart
681c5bcceb Add graphviz 2.42.2 (#13150) 2019-10-12 19:54:46 -05:00
Adam J. Stewart
0a8be4e311 Add cmake 3.15.4 (#13148) 2019-10-12 19:52:47 -05:00
Adam J. Stewart
18ab375968 Add utf8proc package (#13144) 2019-10-12 19:40:05 -05:00
Greg Becker
1808ba3c68 install: add --cache-only option (#12729)
* add `--cache-only` option to install
* testing for `--cache-only`
* remove extraneous stage creation at stage destroy time
2019-10-12 11:43:37 -07:00
Nichols A. Romero
ebb5ce4b69 F18 Oct2019 Minor Update (#13192)
* Minor clean-up of package information.

* Add variants, fix dependencies, and add conflicts for compilers that do not support C++17.

* Correct dependency type for CMake.
2019-10-12 12:30:43 -05:00
Todd Gamblin
64bdc3251f checksums: enforce that all mainline packages use sha256 checksums
- Add a test that verifies checksums on all packages

- Also add an attribute to packages that indicates whether they need a
  manual download or not, and add an exception in the tests for these
  packages until we can verify them.
2019-10-12 07:19:43 -07:00
Todd Gamblin
8cbd349cb4 checksums: fix packages that needed new download locations
Some packages had incorrect checksums because they needed to be
downloaded from a new place or the package needed tweaking somehow.
These packages to sha256 and the new checksums have been verified by
fetching over https.
2019-10-12 07:19:43 -07:00
Todd Gamblin
45a9cfcdd7 packages: remove packages that are no longer fetchable
These packages have either been retired or are no longer retrievable from
any site we can find. They also aren't needed by other packages, so we're
removing them from Spack.

- allinea-reports: is now arm performance reports
- globus-toolkit: retired, globus is now a paid service.
- uberftp: used globus-toolkit, github site is retired.
- mpiblast: site is dead; no longer fetchable.
- py-mxnet: site and github are gone
- soap2, soapindel, soapsnp: site is gone, unfetchable
- arlecore: could not verify md5 securely
2019-10-12 07:19:43 -07:00
Todd Gamblin
00f91ab22b checksums: Remove or fix up unfetchable or unverifiable md5 versions
This commit either removes remaining md5 checksums, or it replaces them
with sha256 checksums verified by fetching over https.
2019-10-12 07:19:43 -07:00
Todd Gamblin
62927654dd checksums: use sha256 checksums everywhere
We'd like to use a consistent checksum scheme everywhere so that we can:

    a) incorporate archive checksums into our specs and have a
       consistent hashing algorithm across all specs.

    b) index mirrors with a consistent type of checksum, and not one that
       is dependent on how spack packages are written.

- [x] convert existing md5, sha224, sha512, sha1 checksums to sha256
2019-10-12 07:19:43 -07:00
Matthew LeGendre
87fa7c15fc Add adiak package, version 0.1.1 2019-10-11 21:22:33 -07:00
Massimiliano Culpo
f8a4a3802c Autotools build system to patch config.guess based on a range check 2019-10-11 21:21:57 -07:00
Massimiliano Culpo
8dd95c1705 Fixed options to compile generic code on ppc64 and ppc64le 2019-10-11 21:20:28 -07:00
Patrick Gartung
d248b0e9d5 Fix python3 errors from string and byte concatenation (#13141) 2019-10-11 03:21:45 -05:00
Massimiliano Culpo
fd97f5c491 Fixed constraints in recipes for packages that depends on fftw (#13125) 2019-10-11 07:55:15 +02:00
Nichols A. Romero
884964d551 Fix f18 install method (#13123)
* Install method is broken and not needed. Built-in install method works fine. Just delete.

* Change version to master.
2019-10-10 21:52:29 -05:00
Tamara Dahlgren
93a44c822c tests: cleanup config:build_stage handling (fixes #12651, #12798) 2019-10-10 16:50:05 -07:00
Tamara Dahlgren
87cdfa2c25 Add support for nested "overrides" scopes. 2019-10-10 16:50:05 -07:00
Massimiliano Culpo
b07460ab5f Added NEON to the list of features required for the aarch64 family
Both floating-point and NEON are required in all standard ARMv8
implementations. Theoretically though specialized markets can support
no NEON or floating-point at all. Source:

https://developer.arm.com/docs/den0024/latest/aarch64-floating-point-and-neon

On the other hand the base procedure call standard for Aarch64
"assumes the availability of the vector registers for passing
floating-point and SIMD arguments". Further "the Arm 64-bit
architecture defines two mandatory register banks: a general-purpose
register bank which can be used for scalar integer processing and
pointer arithmetic; and a SIMD and Floating-Point register bank".
Source:

https://developer.arm.com/docs/ihi0055/latest/procedure-call-standard-for-the-arm-64-bit-architecture

This makes customization of Aarch64 with no NEON instruction set
available so unlikely that we can consider them a feature of the
generic family.
2019-10-10 16:24:36 -07:00
Massimiliano Culpo
77444dff10 ArchSpec: fix constraint satisfaction for targets
fixes #13111

Due to a missing case we were treating a single target that was not
equal to the one we were comparing to as a range open on the right.
2019-10-10 16:22:38 -07:00
Adam J. Stewart
7af8c206ac Add patches and missing dependency to bash (#13084) 2019-10-10 12:48:49 -05:00
Adam J. Stewart
c131a725af Add mpfr 4.0.2 (#13091) 2019-10-10 12:48:32 -05:00
Adam J. Stewart
06dffaefed Add tar 1.32 (#13099) 2019-10-10 12:48:16 -05:00
Jannek Squar
02564ef4ab sublime-text: New version, adapt install process (#13074)
* Added new version, reworked installation process

* Removed explicit addition to PATH
2019-10-10 12:13:00 -05:00
Adam J. Stewart
e925dbcefe Add expat 2.2.9 (#13085) 2019-10-10 12:10:48 -05:00
Adam J. Stewart
f940e8616c Add gettext 0.20.1 (#13086) 2019-10-10 12:10:19 -05:00
Adam J. Stewart
4d2b300da0 Add isl 0.21 (#13087) 2019-10-10 12:10:03 -05:00
Adam J. Stewart
15d7e2efd5 Add libiconv 1.16 (#13088) 2019-10-10 12:09:46 -05:00
Adam J. Stewart
c570c09cbf Add libsigsegv 2.12 (#13089) 2019-10-10 12:09:28 -05:00
Adam J. Stewart
db8178d99a Add latest openssl releases (#13092) 2019-10-10 12:09:02 -05:00
Adam J. Stewart
ace11d857f Add latest Perl releases (#13093) 2019-10-10 12:08:40 -05:00
Adam J. Stewart
f35c845330 Add pkgconf 1.6.3 (#13094) 2019-10-10 12:08:19 -05:00
Adam J. Stewart
0cf6980437 Add readline 8.0 (#13095) 2019-10-10 12:07:48 -05:00
Adam J. Stewart
4a5bdd1afd gdbm: https -> http (#13096) 2019-10-10 12:07:24 -05:00
Adam J. Stewart
01b87259e2 ncurses: https -> http (#13097) 2019-10-10 12:07:05 -05:00
Adam J. Stewart
f904e47c4e Add sqlite 3.30.0 (#13098) 2019-10-10 12:06:44 -05:00
Satish Balay
dd64bdc313 hypre: add compatibility patch for petsc/mfem build failures (#13116) 2019-10-10 09:11:15 -05:00
wspear
a042a7e91e Added new versions to py-tornado (#13080)
* Added new versions to py-tornado

* Removed all but the latest new version
2019-10-10 09:06:01 -05:00
Matthias Wolf
e69efded32 py-line-profiler: add 2.1.2, re-run cython if needed (#13102)
* py-line-profiler: add 2.1.2, re-run cython if needed

See rkern/line_profiler#166.

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-10-10 11:34:50 +02:00
Rob Latham
d93cacfa5c libfabric: new upstream release 1.8.1 (#13053) 2019-10-09 22:24:17 -05:00
wspear
c8289fcd90 Added latest versions of SQLAlchemy 1.3.X, 1.2.X and 1.1.X (#13078)
* Added latest versions of SQLAlchemy 1.3.X, 1.2.X and 1.1.X

* Added missing dependencies
2019-10-09 22:23:55 -05:00
wspear
e7e67fdfec Added latest versions to py-traitlets (#13079)
* Added latest versions to py-traitlets

* Added missing dependencies
2019-10-09 22:23:33 -05:00
Francesco Di Natale
4ef64b64d1 Add new versions of py-maestrowf (#13081)
* Addition of 1.1.3 and 1.1.4

* Addition of conditional enum-34 installation.

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

Addition of versioning for pyyaml.

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

* Addition of enum34 back to older versions 1.1.3 and below.
2019-10-09 22:23:19 -05:00
Michael Kuhn
2e2b1a5e02 qt: Add 5.13.1 and missing zlib flags (#13109) 2019-10-09 22:22:52 -05:00
Patrick Gartung
5b879459c7 Buildcache: pass string.encode('utf-8') for old_dir and new_dir to replace_prefix_bin. (#13114)
This should fix a Python3 error from concatenating strings and bytes.
2019-10-09 20:36:47 -05:00
Michael Kuhn
469bef880a mysql: Add missing dependencies (#12717)
This also changes the default for cxxstd from 98 to 14 because (at
least) newer versions of mysql do not compile with 98 (tested with
gcc@9).
2019-10-09 14:45:31 -05:00
Massimiliano Culpo
acbb2af528 "No Spack mirror configured": demoted the warning to a debug message (#13082)
fixes #12010
2019-10-09 07:13:37 -05:00
Toyohisa Kameyama
b0bf528ab3 perl-perlio-gzip: add zlib dependency. (#13060) 2019-10-08 20:51:39 -05:00
Toyohisa Kameyama
529d0f3e37 psmc: add zlib dependency. (#13061) 2019-10-08 20:51:04 -05:00
Toyohisa Kameyama
f1e1693a6a seqprep: add zlib dependency. (#13062) 2019-10-08 20:50:51 -05:00
Toyohisa Kameyama
fdc91a1705 tabix: add zlib dependency. (#13064) 2019-10-08 20:48:37 -05:00
wspear
2e4bcf223c Added py-certipy package. Dependency of py-jupyterhub. (#13068)
* Added py-certipy package. Dependency of py-jupyterhub.

* Changed url to pypi
2019-10-08 20:48:11 -05:00
Nichols A. Romero
2794e52ddd QMCPACK Oct2019 fix buglets (#13069)
* Support different CMake build types correctly.

* LIBXML2 variables no longer used.

* Fix E501 as part of https://github.com/spack/spack/pull/13069
2019-10-08 20:46:15 -05:00
wspear
8de453af54 Fixed hash of version .0.5 and added latest version (.0.7.1) (#13077) 2019-10-08 20:43:44 -05:00
Mark Olesen
e3f69f8ce6 Build older openfoam (#13071)
* adjust building of OpenFOAM 1806 and earlier

- spack now unpacks into spack-src, but earlier OpenFOAM versions
  still expect particular directory names (eg, OpenFOAM-v1806).

  Resolve by creating a symlink during patching.

* replace openfoam 1806 patch with URL version
2019-10-08 20:42:44 -05:00
wspear
6a99b7e262 Added py-pamela package. Dependency of py-jupyterhub. (#13075) 2019-10-08 20:08:32 -05:00
George Hartzell
4377cc7066 Add headsup note re cryptsetup patch for v2.2.2 (#13076) 2019-10-08 20:07:38 -05:00
Massimiliano Culpo
1213aec7ed travis: bump python version for flake8 and build tests 2019-10-08 16:06:32 -07:00
Phil Carns
66b9009a07 pmdk: added v 1.7 (#13067) 2019-10-08 09:19:27 +02:00
Adam J. Stewart
72d8febc4e Add macOS Catalina support (#13070) 2019-10-07 23:59:33 -07:00
Oliver Breitwieser
9600eb4f5a py-apipkg: Fix mix up of checksums (#13066)
Change-Id: Ibae329c5a6cf7e3741a879612da523e11e3b0ab9
2019-10-07 20:55:22 -05:00
Massimiliano Culpo
9faee51e22 Spack environments can concretize specs together (#11372)
This PR adds a 'concretize' entry to an environment's spec.yaml file
which controls how user specs are concretized. By default it is
set to 'separately' which means that each spec added by the user is
concretized separately (the behavior of environments before this PR).
If set to 'together', the environment will concretize all of the
added user specs together; this means that all specs and their
dependencies will be consistent with each other (for example, a
user could develop code linked against the set of libraries in the
environment without conflicts).

If the environment was previously concretized, this will re-concretize
all specs, in which case previously-installed specs may no longer be
used by the environment (in this sense, adding a new spec to an
environment with 'concretize: together' can be significantly more
expensive).

The 'concretize: together' setting is not compatible with Spec
matrices; this PR adds a check to look for multiple instances of the
same package added to the environment and fails early when
'concretize: together' is set (to avoid confusing messages about
conflicts later on).
2019-10-07 09:53:23 -07:00
Adam J. Stewart
c8c795e7db watch: added new package (#13044) 2019-10-07 11:11:17 +02:00
Paul
7d0e7efabb Added go 1.13.1 and 1.12.10 (#12977) 2019-10-06 20:22:05 -05:00
Denis Davydov
79bd6bbd04 gnuplot: add 5.2.7 and fix qt dep (#13058) 2019-10-06 14:28:34 -05:00
Matthias Wolf
3d247d9567 freeimage: new package (#13049)
* freeimage: new package

* Address comments.

* Whitespace
2019-10-06 09:20:29 -05:00
Ruben Di Battista
ba72114ba2 unrar: Add package (#12908) 2019-10-06 09:16:25 -05:00
Oliver Breitwieser
f34162a5b8 Add missing py-contextlib2 (#13056)
Change-Id: I8e0a90d4aa2c9f46230a6fe35ce5f4fa44672faf
2019-10-06 09:15:29 -05:00
Denis Davydov
070a536e49 qt: help pick up dependencies (#11172)
* qt: help pick up dependencies

* qt: add 5.12.5
2019-10-05 21:13:38 -05:00
Pariksheet Nanda
19e6f55647 doc: fix #12245 non-functional libdwarf dependency (#12515)
Applying accepted fix from spack/spack.io#4
2019-10-05 21:07:18 -05:00
Michael Kuhn
bdb92f2d91 Consistently support pkg-config files in share subdirectory (#12838)
While the build environment already takes share/pkgconfig into account,
the generated module files etc. only consider lib/pkgconfig and
lib64/pkgconfig.
2019-10-05 21:03:35 -05:00
t-karatsu
c6b8d79ea6 Package/fujitsu mpi (#12807)
* fujitsu-mpi: commit new package

* Add homepage.

* * Modified the MPI commands to a simple form.
* Unnecessary processing has been deleted.

* Add conflict for all compilers except the Fujitsu compiler.

* Fix typo.

* Delete versions.

* Delete conditions for specifying the Fujitsu compiler.
2019-10-05 20:58:43 -05:00
Adam J. Stewart
608f732101 expect: fix darwin install name (#13042)
* expect: fix darwin install name

* Fix expect binary as well
2019-10-05 20:37:44 -05:00
Teodor Nikolov
e78ca66087 New package: cxxopts (#13035)
* New package: cxxopts

* Use +unicode instead of unicode=True

- Make the unicode option more explicit

* [cxxopts] Fix white space warnings
2019-10-05 20:36:59 -05:00
Adam J. Stewart
c45ecafd71 procps: new package (#13043) 2019-10-05 11:39:55 +02:00
Massimiliano Culpo
6a1021b81c bugfix: issue with custom dotkit root in config.yaml (#13046)
When removing support for dotkit in #11986 the code trying to set the
paths of the various module files was not updated to skip it. This
results in a failure because of a key error after the deprecation
warning is displayed to user.

This commit fixes the issue and adds a unit test for regression.
Note that code for Spack chains has been updated accordingly but
no unit test has been added for that case.
2019-10-04 23:42:21 -07:00
Federico Ficarelli
a362cf5ff6 grpc: new package (#13054)
* Add grpc@1.23.1

* Let version in url match actual one
2019-10-04 18:42:09 -05:00
Andreas Baumbach
e366f6ba39 llvm: update link to the document explaining codesign (#13047)
Change-Id: I01242cbb43b0c62a659739a5d7e9d998dd27e794
2019-10-04 13:31:43 -07:00
Robert Maynard
b1cdf8bd57 Update the VTK-m package with better defaults and cuda corrections (#12850) 2019-10-04 15:12:58 -04:00
Cody Balos
3cb4547348 superlu-dist: add openmp variant (#13052) 2019-10-04 13:48:56 -05:00
Toyohisa Kameyama
cb89949018 migrate: add zlib dependency. (#13039)
* migrate: add zlib dependency.

* flake8.

* autotools related tools change to build.
2019-10-04 13:14:09 -05:00
Felix Thaler
437236781d LLVM 9.0.0 (#13050) 2019-10-04 09:56:12 -07:00
Massimiliano Culpo
2cd800306d fftw: simplify the recipe and make use of specific targets (#12889)
* fftw: grouped precisions in a single variant

* fftw: simd options are now based on target features and not on variants

* fftw: simplified computing the selected precisions
2019-10-03 22:32:42 -05:00
t-karatsu
46e319ecd4 boost: Use gcc toolset for bootstrap with Fujitsu compiler. (#12876) 2019-10-03 22:20:55 -05:00
Toyohisa Kameyama
938bae1ab6 graphmap: add zlib dependency. (#13031) 2019-10-03 22:20:13 -05:00
Toyohisa Kameyama
b89fa3e01a fastqvalidator: add zlib dependency and Removes erroneous deletes in Chromosome (#13030) 2019-10-03 22:19:58 -05:00
Toyohisa Kameyama
4046e10b95 hapcut2: add zlib dependency. (#13032) 2019-10-03 22:19:43 -05:00
Toyohisa Kameyama
2233a7b493 liblbxutil: Add zlib dependency. (#13033) 2019-10-03 22:19:22 -05:00
Toyohisa Kameyama
bb1d0ff6fb metabat: Add zlib and ncurses dependency. (#13034) 2019-10-03 22:18:55 -05:00
Toyohisa Kameyama
58a64f69e7 muse: add zlib dependency. (#13040) 2019-10-03 22:18:27 -05:00
Toyohisa Kameyama
c97be22ff5 ngmlr: add zlib dependency. (#13041) 2019-10-03 22:18:12 -05:00
Andreas Baumbach
4e7ea627c8 fix ipykernel dependency, newer versions are python3-only (#13019)
* fix ipykernel dependency, newer versions are python3-only

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-10-03 22:17:16 -05:00
George Hartzell
882843974b Update cctools to v7.0.18 (#13037)
- add version/checksum info for v7.0.18
- update checksum for v6.1.1 to use sha256, while I have the editor
  open...
2019-10-03 18:57:20 -05:00
Owen Solberg
bef702d0f3 updated manta checksum (#13038) 2019-10-03 18:23:47 -05:00
Adam J. Stewart
69acb024a5 Add py-flye 2.6 (#13025) 2019-10-03 10:32:00 -05:00
Adam J. Stewart
24f8d1042b Update compilers.yaml location in Getting Started docs (#13029) 2019-10-03 10:31:32 -05:00
Adam J. Stewart
dac34147c0 Add EasyBuild 4.0.0 (#13024)
* Add EasyBuild 4.0.0

* Update homepage, remove no longer required deps

* Replace version ranges with fixed versions
2019-10-03 16:48:42 +02:00
Chuck Atkins
b973f038fd Update ECP Data & Vis SDK packages (#13027)
* ecp-io-sdk: Add faodel and sort variants

* ecp-viz-sdk: Re-enable catalyst, sort variants, turn on by default

* ecp-io-sdk and ecp-viz-sdk: Fix dependency variants
2019-10-03 10:05:02 -04:00
Massimiliano Culpo
78577c0a90 Generic x86_64 code compiled with GCC uses non deprecated mtune flags (#13022)
fixes #12928
2019-10-03 10:31:03 +02:00
Massimiliano Culpo
76b9c56110 Remove support for generating dotkit files (#11986)
Dotkit is being used only at a few sites and has been deprecated on new
machines. This commit removes all the code that provide support for the
generation of dotkit module files.

A new validator named "deprecatedProperties" has been added to the
jsonschema validators. It permits to prompt a warning message or exit
with an error if a property that has been marked as deprecated is
encountered.

* Removed references to dotkit in the docs
* Removed references to dotkit in setup-env-test.sh
* Added a unit test for the 'deprecatedProperties' schema validator
2019-10-02 22:15:01 -07:00
Miroslav Stoyanov
b11984767b added tasmanian version 7.0 to spack (#13003) 2019-10-02 18:35:49 -05:00
Sinan
b084d095bc New package: mapnik (#12708) 2019-10-02 13:50:57 -07:00
Tiziano Müller
d99b92febd libint + cp2k: 2-stage build with 'tune' and 'fortran' variants (#12475)
* libint: switch to 2-stage build for 2.6.0+

* libint: add tune and fortran variants

* cp2k: add support for libint >= 2.0

* cp2k: use pkg-config for linking libxc
2019-10-02 21:31:19 +02:00
Toyohisa Kameyama
da18ac3a0f cdhit: add zlib dependency. (#13015)
* cdhit: add zlib dependency.

* Add zlib variant.
2019-10-02 12:55:05 -05:00
Toyohisa Kameyama
b85ff04681 denovogear: Add missing zlib depenbdency and fix open handling error. (#13017) 2019-10-02 12:54:50 -05:00
Toyohisa Kameyama
58c01792ef cnpy: add zlib dependency. (#13016) 2019-10-02 12:54:31 -05:00
Dan Lipsa
210dd594a1 Add cuda to paraview build. (#12996) 2019-10-02 12:00:03 -05:00
George Hartzell
21e95e4141 Singularity 3.4.1 still needs the makefile patch (#13008)
* Singularity 3.4.1 still needs the makefile patch

* Constrain build patch to 3.4.0:3.4.1
2019-10-02 11:59:11 -05:00
Sinan
afca223b3d new package: openldap (#12748)
* new package: openldap

* fix mistake

* remove template text

* fix build error involving perl

* flake8

* improvements

* introduce multi valued variant for tls support

* improve tls variant

* overwrite build phase as opposed install

* improve style
2019-10-02 11:58:46 -05:00
Toyohisa Kameyama
1550d5cae6 ants: missing zlib dependency and fix working directory in install. (#13010) 2019-10-02 11:58:25 -05:00
Toyohisa Kameyama
7d9514d3fa breakdancer: missing ncurses dependency. (#13011) 2019-10-02 11:57:05 -05:00
Toyohisa Kameyama
d238b9d394 breseq: fix dependency and limit compiler version. (#13013) 2019-10-02 11:56:37 -05:00
t-karatsu
a3a0e1cd2e fujitsu compiler: Add 'required_libs'. (#13014) 2019-10-02 11:55:08 -05:00
Andreas Baumbach
64ff27626e update py-jupyter-notebook to use the real releases (#13020)
* github releases are not released versions, but from-source
  releases
* they lack the mimification of the JS/CSS components and as
  such require node-js and npm, this conflicts with python@3:
* this commit
  * drops the from-source dependencies on node-js and npm and
  * updates the checksums to the correct sha256 hashes of the
    pypi releases. The pypi-tarballs are different
2019-10-02 11:39:55 -05:00
Patrick Gartung
2a739ed03e Replace expensive store.reindex() call with db.add() call. (#13021) 2019-10-02 11:30:28 -05:00
Axel Huebl
bec2830802 ZFP: CMake Package (#12999)
* ZFP: CMake Package

ZFP is primarily build via CMake, which will have all install logic
and configuration files generated.
The 0.5.0 release did not support this yet, so we toss it.

* Patch ADIOS1: ZFP 0.5.1+ support

* ZFP: Expose all CMake variants
2019-10-01 23:28:36 -07:00
Patrick Gartung
9dfec4a57c 'spack buildcache list' should show all buildaches available. (#13002)
* binary cache: show all packages for compatible differing targets

* Don't restrict spack buildcache list to arch or os

* Fix from merge conflict
2019-10-01 22:54:22 -05:00
George Hartzell
22e75b77e3 direnv: add info for version 2.20.0 (#13007) 2019-10-01 22:34:14 -05:00
Massimiliano Culpo
1b18ec90ab Add all compatible system types directory to module paths
fixes #12915
closes #12916

Since Spack has support for specific targets it might happen that
software is built for targets that are not exactly the host because
it was either an explicit user request or the compiler being used is
too old to support the host.

Modules for different targets are written into different directories
and by default Spack was adding to MODULEPATH only the directory
corresponding to the current host. This PR modifies this behavior to
add all the directories that are **compatible** with the current host.
2019-10-01 19:18:27 -07:00
Sinan
d20e3517c2 new package: py-python-ldap (#12599)
* new package: py-python-ldap

* fix dependency types

* improvements

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

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

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

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

* add openldap dependency
2019-10-01 20:59:53 -05:00
Sinan
91488ed8f5 New package: py-python-mapnik (#12786) 2019-10-01 18:37:34 -07:00
codeandkey
5c2b01ebcf picard: add 2.20.8 2019-10-01 18:19:37 -07:00
Daryl W. Grunau
248bc17bb0 go-md2man: disable module-mode (#12985)
* go-md2man: disable module-mode

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-10-01 19:17:10 -05:00
Eduardo Arango
c1ecd037d7 add singularity 3.4.1 (#12995)
* add singularity 3.4.1

Signed-off-by: ArangoGutierrez <eduardo@sylabs.io>

* revert some changes

Signed-off-by: ArangoGutierrez <eduardo@sylabs.io>

* add maintainers list to pkg singularity

Add @alalazo and me to the Singularity maintainers list

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

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

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-10-01 19:16:20 -05:00
Greg Becker
b92977492d binary cache: show all packages for compatible differing targets (#12943) 2019-10-01 17:03:28 -05:00
Axel Huebl
436afdd2a8 Dataspaces: Fix Fetch URL, Savanna Spec (#13001) 2019-10-01 14:52:44 -07:00
Peter Scheibel
3575f9b382 GCC package: don't set CC etc. based on bin dir if it doesn't exist (#13000)
7bcb306 updated setup_environment in the GCC package to examine the
bin/ directory to find alternatively-named instances of CC, but this
failed to account for when GCC was being installed and failed when
it attempted to list the not-yet-existing installation prefix. This
commit updates the logic to skip this search if the bin/ directory
doesn't exist.
2019-10-01 14:29:01 -07:00
Massimiliano Culpo
245c1bb208 libaio: fixed a condition that checks whether we are running on OS X (#12976)
* libaio: fixed a condition that checks whether we are running on OS X

* libaio: simplified package by adding an explicit conflict for darwin

* libaio: added information to the docstring

* fio: added version 3.16, added conflict when using libaio, docstring

* lvm2: conflict due to libaio dep, improved docstring, simpler install

* mariadb: conflict due to libaio dep, improved docstring, version 10.4.7

* mariadb: the dependency on libaio is now conditional, removed conflict

* mariadb: fixed a typo in previous commit

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

* libaio: turned into a MakefilePackage
2019-10-01 15:35:50 -05:00
Jeffrey Salmond
76178f31ca When removing a file from a view, don't fail if it doesn't exist (#12960)
Sometimes when remove_file is called on a link, that link is missing
(perhaps ctrl-C happened halfway through a previous action). As
removing a non-existent file is no problem, this patch changes the
behavior so Spack continues rather than stopping with an error.

Currently you would see

  ValueError: /path/to/dir is not a link tree!

and now it continues with a warning.
2019-10-01 10:29:10 -07:00
Jimmy Tang
a7e64e5396 Kaldi package: add version 7637de7 and egs (#12911) 2019-10-01 10:24:03 -07:00
Jeffrey Salmond
5868e0f5f2 add new mercurial versions (#12997) 2019-10-01 12:08:28 -05:00
Christopher Edsall
82a3ee0868 Update chapel to current (1.19 -> 1.20) (#12991) 2019-10-01 11:47:57 -05:00
Axel Huebl
10e4d611a5 ADIOS2: 2.5.0 (#12987)
Add the latest ADIOS2 release, v2.5.0 .
2019-10-01 10:49:52 -05:00
Satish Balay
b9a860820a hypre: add version 2.18.0 (#12992) 2019-10-01 10:48:40 -05:00
Mark Olesen
f939697863 add adios2 dependency and configuration for newest OpenFOAM (#12993) 2019-10-01 10:48:14 -05:00
noguchi-k
5b4040ea36 libcerf:add CFLAGS for fujitsu compiler (#12990)
* libcerf:add CFLAGS for fujitsu compiler

* fix for flake8
2019-10-01 08:54:01 -05:00
egreen77
cfc17e9506 Update nano (#12980) 2019-09-30 16:27:29 -05:00
Adam J. Stewart
5b2b0ee9a3 Revert "update neovim (#12965)" (#12978)
This reverts commit 86a85b7eb2.
2019-09-30 13:18:27 -05:00
Satish Balay
c70f9bffe2 petsc, slepc: add new versions - 3.12.0 (#12979) 2019-09-30 13:18:11 -05:00
Seth R. Johnson
7bcb306d4a Fix GCC environment variables for external installations (#12454)
Unlike the compiler binary name search logic, the `setup_environment` in
GCC's package assumes the compiler names are *exactly* `gcc`, `g++`,
etc. In many external installations (Homebrew, Macports) the
installation includes only *suffixed* versions such as `gcc-9`.

This patch uses the GCC compiler search suffixes to actually locate the
correct filenames for the installed compilers, allowing the
Spack-generated module file to have useful definitions of CC, CXX, etc.

It also allows for the possibility that the user's external installation
of GCC is compiled without Fortran support, in which case the `FC`
environment variables are not defined.
2019-09-30 11:02:32 -07:00
t-karatsu
139eaa1306 otf2: add configure args to specify compiler commands. (#12711)
* otf2: add configure args to specify compiler commands.

* Modify the reference of the compile commands.
2019-09-30 08:18:09 -05:00
Todd Gamblin
a12c032509 make license check slightly more lenient
bin/spack now needs to have a "-*- python -*-" line after the shebang, so
that emacs will interpret it as a python file instead of as a shell
script.  Add one line to the license check limit to accommodate this.
2019-09-29 09:32:04 -07:00
Todd Gamblin
97980a8f94 prefer Python 3 to Python 2 for running Spack
The Python landscape is going to be changing in 2020, and Python 2 will
be end of life. Spack should *prefer* Python 3 to Python 2 by default,
but we still need to run on systems that only have Python2 available.

This is trickier than it sounds, as on some systems, the `python` command
is `python2`; on others it's `python3`, and RHEL8 doesn't even have the
`python` command.  Instead, it makes you choose `python3` or
`python2`. You can thus no longer make a simple shebang to handle all the
cases.

This commit makes the `spack` script bilingual.  It is still valid
Python, but its shebang is `#!/bin/sh`, and it has a tiny bit of shell
code at the beginning to pick the right python and execute itself with
what it finds.

This has a lot of advantages.  I think this will help ensure that Spack
works well in Python3 -- there are cases where we've missed things
because Python2 is still the default `python` on most systems.  Also,
with this change, you do not lose the ability to execute the `spack`
script directly with a python interpreter.  This is useful for forcing
your own version of python, running coverage tools, and running profiling
tools.  i.e., these will not break with this change:

```console
$ python2 $(which spack) <args>
$ coverage run $(which spack) <args>
$ pyinstrument $(which spack) <args>
```

These would not work if we split `spack` into a python file and a shell
script (see #11783).  So, this gives us the best of both worlds.  We get
to control our interpreter *and* remain a mostly pure python executable.
2019-09-29 09:32:04 -07:00
Glenn Johnson
c56f03a3ba The perl-uri-escape package duplicates perl-uri (#12971)
* The perl-uri-escape package duplicates perl-uri

The Perl URI::Escape module is in the Perl URI package so the Spack
perl-uri-escape package is a duplicate of the perl-uri package. This PR
does the following:

- replace `depends_on('perl-uri-escape')` with `depends_on('perl-uri')`
  in packages that dependend on perl-uri-escape
- add the version from perl-uri-escape to perl-uri
- remove the unneeded dependency from perl-uri
- remove the perl-uri-escape package

* Reinstated perl-test-needs dependency

Put the perl-test-needs dependency for perl-uri back in but set it to
type='test'.

* For tests to succeed the type must be ('build', 'test')
2019-09-29 09:27:42 -05:00
Massimiliano Culpo
9117dfd118 Add all the 'generic' architectures that are mentioned in recipes (#12958)
LLVM, mesa and other packages check for these generic
microarchitectures. One solution is to let Spack know they exist.
2019-09-28 21:47:05 -07:00
Massimiliano Culpo
467261803f raxml: simplified recipe by removing SIMD variants (#12952)
Now the support for SSE3 or AVX is tested on the selected target
2019-09-28 13:45:01 -05:00
t-karatsu
c065c25a4c bowtie: fix for aarch64, and bugfix about c++11-narrowing. (#12953) 2019-09-28 13:44:02 -05:00
Massimiliano Culpo
4cebc68f06 vdt: simplified recipe by removing SIMD variants (#12954)
Now the support for SSE3 or AVX is tested on the selected target
2019-09-28 13:41:57 -05:00
Jaroslav Hron
7e9365036f correct with-xxx-lib= options (#12964) 2019-09-28 13:39:45 -05:00
Patrick Schratz
86a85b7eb2 update neovim (#12965) 2019-09-28 13:28:27 -05:00
Shintaro Iwasaki
3776eccc4b bolt: add a new version, 1.0rc2 (#12966) 2019-09-28 13:27:33 -05:00
Daryl W. Grunau
8db94bcc86 eospac: laws.lanl.gov -> laws-green.lanl.gov (#12970) 2019-09-27 17:28:38 -07:00
Ross Miller
c49c37af9b py-adios package: restrict python dependency to <=3.6.x (#12932)
The adios code (currently) won't compile against the Python 3.7 C API.
This change adds a dependency on 3.6 or less.
2019-09-27 17:19:36 -07:00
Kevin Huck
b4c28182dc Tau package: turn off unsupported variants by default on OSX (#12890) 2019-09-27 17:16:44 -07:00
G-Ragghianti
61d41eea7f New package: libibumad (#12886) 2019-09-27 17:02:34 -07:00
Glenn Johnson
fc99eddb12 New package: maker and dependencies (#12904) 2019-09-27 14:59:58 -07:00
Glenn P Johnson
08a6577861 Fix perl build when using Build.PL
This fixes #12852 where perl builds that use Build.PL will fail when the
shebang of the Build script produced from the configure step is too
long.
2019-09-26 13:38:13 -07:00
Seth R. Johnson
5201d2615e qt4: fix 'arch' string due to microarchitecture change (#12957)
qt4 fails to build because it's expecting something like 'x86_64' rather 
than 'broadwell'.
2019-09-26 21:15:17 +02:00
Patrick Gartung
7dae058f91 Relocate mach-o binaries using macholib on linux. (#12946)
Changes deps and rpaths for bins and libs, changes id for libs.
2019-09-26 13:04:58 -05:00
eugeneswalker
950338aa92 add --no-deps opt to buildcache-create (#12956) 2019-09-26 12:23:59 -05:00
Patrick Gartung
321e956fa9 External: add macholib and altgraph needed to relocate Mach-o binaries on Linux (#12909) 2019-09-26 11:48:22 -05:00
Massimiliano Culpo
90236bc9f5 Update target comparison semantic for a few packages (#12947)
Use spec.target.family instead of spec.architecture.target
2019-09-26 10:25:12 +02:00
Massimiliano Culpo
31e5318c24 Removed references to '(-march|-mtune|-mcpu)=native' (#12948)
Now that Spack injects microarchitecture specific optimizations for
the selected target, packages should avoid adding flags that could
step over those.
2019-09-26 10:02:08 +02:00
Massimiliano Culpo
78d051b534 parsimonator: simplified recipe by removing SIMD variants (#12949)
Now the support for SSE3 or AVX is tested on the selected target
2019-09-26 09:33:18 +02:00
Seth R. Johnson
f2967b6c16 New package: flibcpp (Fortran bindings to C++ standard library) (#12926) 2019-09-25 19:25:24 -07:00
liuyangzhuan
b384504218 butterflypack package: add version 1.0.3 (#12927) 2019-09-25 19:16:47 -07:00
Glenn Johnson
dd626a0f07 interproscan package: add version 4.8, patch for version 5 (#12897)
This PR adds interproscan-4.8, which has a completely different build
system than version 5. Note that this builds for running on a host as
opposed to a queue system. I am fairly certain that a queue system can
be configured later.

This PR also adds a patch for intrproscan-5 to build when the user
building the packages has a large GID by setting posix mode for tar.
2019-09-25 19:04:57 -07:00
Sinan
c5860d89b7 libspatialite package: add version 3.0.1 and missing dependencies (#12843) 2019-09-25 18:48:48 -07:00
Sinan
507b28de18 py-imageio package: add versions 2.4.1 and 2.5.0 (#12884) 2019-09-25 18:44:57 -07:00
Matthieu Dorier
e6cae978b8 llvm, mesa: update target comparison semantics (#12914)
* llvm: fixed issues with syntax and formatting
  * use spec.architecture.target.family
  * use spec.target instead of spec.architecture.target
* mesa: use == instead of __contains__
2019-09-25 16:41:02 -07:00
Adam J. Stewart
4e858e24b0 libflame: fix macOS build (#12950) 2019-09-25 18:37:33 -05:00
Matthieu Dorier
71cc29691b openblas: fixed a query to target family (#12910) 2019-09-25 22:15:23 +02:00
Christoph Junghans
ccfe8aaf76 portage: fix RelWithDebInfo build (#12944) 2019-09-25 11:29:43 -06:00
Christoph Junghans
e123058721 kokkos-kernels: initial commit (#12934) 2019-09-25 09:00:01 -06:00
Mathias Jacquelin
7a11a2ccdb Upcxx package: remove warning, add version 2019.9.0 (#12880)
A function added to this package ran as part of importing it and
printed a warning for most Spack invocations, this removes the
warning message.

Also:

* Use compilers directly instead of Spack compiler wrappers (since
  references to the compiler are embedded in text and binary files
  of the installation)
* Add 'cross' variant for setting CROSS environment variable for
  build
* Set UPCXX_INSTALL for generated module files
* Set UPCXX_GASNET_CONDUIT/UPCXX_NETWORK in generated module files
  on Cray systems
* Also set UPCXX_NETWORK in build environment for Cray systems
2019-09-24 13:25:05 -07:00
Adam J. Stewart
065cbe89fe Fix "specific target" detection in Python 3 (#12906)
The output of subprocess.check_output is a byte string in Python 3. This causes dictionary lookup to fail later on.

A try-except around this function prevented this error from being noticed. Removed this so that more errors can propagate out.
2019-09-24 09:47:54 -07:00
Simo Tuomisto
6cd5edacca heaptrack: added new package at version 1.1.0 (#12844) 2019-09-24 15:54:23 +02:00
Patrick Gartung
6dd9dbc071 Change get_patchelf to immediately return patchelf path if found (#12925) 2019-09-24 08:38:19 -05:00
Glenn Johnson
10d5e90e65 Add missing dependency to perl-xml-parser (#12903)
This PR adds the following dependency:

+    depends_on('perl-libwww-perl', type=('build', 'run'))
2019-09-24 12:51:55 +02:00
Glenn Johnson
fa5a9cd878 Added missing dependencies for perl-list-moreutils (#12900)
The following dependencies were added:

+    depends_on('perl-exporter-tiny', type=('build', 'run'))
+    depends_on('perl-list-moreutils-xs', type=('build', 'run'))
2019-09-24 12:45:39 +02:00
Glenn Johnson
b508eaa806 Added depencies to perl-libwww-perl (#12899)
The following dependencies are needed for perl-libwww-perl according to
https://metacpan.org:

+    depends_on('perl-encode-locale', type=('build', 'run'))
+    depends_on('perl-file-listing', type=('build', 'run'))
+    depends_on('perl-html-parser', type=('build', 'run'))
+    depends_on('perl-http-cookies', type=('build', 'run'))
+    depends_on('perl-http-daemon', type=('build', 'run'))
+    depends_on('perl-http-date', type=('build', 'run'))
+    depends_on('perl-http-message', type=('build', 'run'))
+    depends_on('perl-http-negotiate', type=('build', 'run'))
+    depends_on('perl-lwp-mediatypes', type=('build', 'run'))
+    depends_on('perl-net-http', type=('build', 'run'))
+    depends_on('perl-try-tiny', type=('build', 'run'))
+    depends_on('perl-uri', type=('build', 'run'))
+    depends_on('perl-www-robotrules', type=('build', 'run'))
2019-09-24 12:45:02 +02:00
Glenn Johnson
ca11ce06b8 Add missing dependencies to perl-http-daemon (#12898)
Added the following dependencies:

+    depends_on('perl-http-date', type=('build', 'run'))
+    depends_on('perl-module-build-tiny', type='build')
2019-09-24 12:44:28 +02:00
Axel Huebl
1d316c4eb3 spdlog: added version 1.4.1 (#12917)
Add newest release with ability to pre-build as shared or static
library.
2019-09-24 12:19:19 +02:00
t-karatsu
9aca0a17f4 Fujitsu compilers: added 'verbose_flag' method (#12922) 2019-09-24 11:17:29 +02:00
Todd Gamblin
18d63a239f bugfix: use string keys to set preferred targets (#12921)
Preferred targets were failing because we were looking them up by
Microarchitecture object, not by string.

- [x] Add a call to `str()` to fix target lookup.
- [x] Add a test to exercise this part of concretization.
- [x] Add documentation for setting `target` in `packages.yaml`
2019-09-24 10:18:48 +02:00
Massimiliano Culpo
2468ccee58 AMD: fix architecture hierarchy (zen) (#12913)
* microarchitectures: zen starts from x86_64, not from excavator
* Unit tests: fixed a test that is wrong with the new modeling
* microarchitectures: fixed features and inheritance for 15h family

bulldozer doesn't inherit from barcelona (10h) + added xop, lwp and tbm
instruction sets to the 15h family (it distinguish the family from 17h)
2019-09-23 21:54:13 -07:00
Adam J. Stewart
53db1eafb9 Fix installation permissions on BLIS and libflame libs (#12919)
* Fix installation permissions on BLIS and libflame libs

* Fix undefined symbols
2019-09-23 18:54:47 -05:00
Adam J. Stewart
d6555f64b0 Fix detection of Apple Clang 11.0.0 (#12912) 2019-09-23 17:25:33 -05:00
Jed Brown
958b81a564 libceed package: add version 0.5 (#12875)
Also enable vectorization via -O3 for gcc/clang
2019-09-23 10:38:44 -07:00
Tamara Dahlgren
08e77e1b41 tests: more template creation tests (#12882)
Addresses #12804 

This PR adds the creation of the remaining (16) templates to ensure we can create them with expected content. The goal is to facilitate catching during testing.
2019-09-23 10:18:50 -07:00
Seth R. Johnson
27d4e9a1d1 QT package: only enable fontconfig when freetype is enabled (#12574)
The 'fontconfig' option is only valid when freetype is enabled.
2019-09-23 10:04:29 -07:00
Todd Gamblin
b4e148b562 externals: add note to jsonschema about modifications (#12895) 2019-09-22 09:43:57 -05:00
Xavier Delaruelle
53ab298e88 environment-modules: add version 4.3.1 (#12893) 2019-09-21 21:32:27 -05:00
Todd Gamblin
7a1dd517b8 externals: avoid importing requests in jsonschema
Spack doesn't need `requests`, and neither does `jsonschema`, but
`jsonschema` tries to import it, and it'll succeed if `requests` is on
your machine (which is likely, given how popular it is).  This commit
removes the import to improve Spack's startup time a bit.

On a mac with SSD, the import of requests is ~28% of Spack's startup time
when run as `spack --print-shell-vars sh,modules` (.069 / .25 seconds),
which is what `setup-env.sh` runs.

On a Linux cluster where Python is mounted from NFS, this reduces
`setup-env.sh` source time from ~1s to .75s.

Note: This issue will be eliminated if we upgrade to a newer `jsonschema`
(we'd need to drop Python 2.6 for that).  See
https://github.com/Julian/jsonschema/pull/388.
2019-09-21 17:57:36 -07:00
Paul
ef652ee42a czmq package: add autoreconf stage (#12846) 2019-09-20 18:14:41 -07:00
Jordan Ogas
d9c22e3f9c charliecloud package: add version 0.11 and test dependency (#12861) 2019-09-20 18:01:40 -07:00
Sinan
326c2718d5 New package: py-gast (#12874) 2019-09-20 17:59:50 -07:00
t-karatsu
e26b23e980 intel-tbb: fix typo. 2019-09-20 17:53:23 -07:00
Sinan
af8f245f48 py-protobuf package: fix import error for Python 2.x (#12873) 2019-09-20 17:52:11 -07:00
Glenn Johnson
5397606b34 Add --known-targets to bash completion for arch command (#12887)
This PR adds the new --known-targets flag to the `spack arch` command.
2019-09-20 20:09:44 +02:00
Scott Wittenburg
db4d52d923 Fix how 'gpg --list-secret-keys ...' output is parsed 2019-09-20 11:33:58 -06:00
Gregory Becker
c43f105359 targets: add mic_knl target to microarchitectures.json
- This is needed to support Cray machines -- we need an architecture
  mic_knl > x86_64

- We used Cray's naming scheme for this target to make it work seamlessly
  with the module-based detection sccheme on Cray.  mic_knl is pretty
  much dead, so this will be the last succh target.  We will need to work
  wtih Cray and other vendors in the future.
2019-09-20 00:51:37 -07:00
Massimiliano Culpo
7daf860991 targets: adjust packages to use new specific targets semantics
Seamless translation from 'target=<generic>' to either
- target.family == <generic> (in methods)
- 'target=<generic>:' (in directives)

Also updated docs to show ranges in directives.
2019-09-20 00:51:37 -07:00
Massimiliano Culpo
3c4322bf1a targets: Spack targets can now be fine-grained microarchitectures
Spack can now:

- label ppc64, ppc64le, x86_64, etc. builds with specific
  microarchitecture-specific names, like 'haswell', 'skylake' or
  'icelake'.

- detect the host architecture of a machine from /proc/cpuinfo or similar
  tools.

- Understand which microarchitectures are compatible with which (for
  binary reuse)

- Understand which compiler flags are needed (for GCC, so far) to build
  binaries for particular microarchitectures.

All of this is managed through a JSON file (microarchitectures.json) that
contains detailed auto-detection, compiler flag, and compatibility
information for specific microarchitecture targets.  The `llnl.util.cpu`
module implements a library that allows detection and comparison of
microarchitectures based on the data in this file.

The `target` part of Spack specs is now essentially a Microarchitecture
object, and Specs' targets can be compared for compatibility as well.
This allows us to label optimized binary packages at a granularity that
enables them to be reused on compatible machines.  Previously, we only
knew that a package was built for x86_64, NOT which x86_64 machines it
was usable on.

Currently this feature supports Intel, Power, and AMD chips. Support for
ARM is forthcoming.

Specifics:

- Add microarchitectures.json with descriptions of architectures

- Relaxed semantic of compiler's "target" attribute.  Before this change
  the semantic to check if a compiler could be viable for a given target
  was exact match. This made sense as the finest granularity of targets
  was architecture families.  As now we can target micro-architectures,
  this commit changes the semantic by interpreting as the architecture
  family what is stored in the compiler's "target" attribute. A compiler
  is then a viable choice if the target being concretized belongs to the
  same family. Similarly when a new compiler is detected the architecture
  family is stored in the "target" attribute.

- Make Spack's `cc` compiler wrapper inject target-specific flags on the
  command line

- Architecture concretization updated to use the same algorithm as
  compiler concretization

- Micro-architecture features, vendor, generation etc. are included in
  the package hash.  Generic architectures, such as x86_64 or ppc64, are
  still dumped using the name only.

- If the compiler for a target is not supported exit with an intelligible
  error message. If the compiler support is unknown don't try to use
  optimization flags.

- Support and define feature aliases (e.g., sse3 -> ssse3) in
  microarchitectures.json and on Microarchitecture objects. Feature
  aliases are defined in targets.json and map a name (the "alias") to a
  list of rules that must be met for the test to be successful. The rules
  that are available can be extended later using a decorator.

- Implement subset semantics for comparing microarchitectures (treat
  microarchitectures as a partial order, i.e. (a < b), (a == b) and (b <
  a) can all be false.

- Implement logic to automatically demote the default target if the
  compiler being used is too old to optimize for it. Updated docs to make
  this behavior explicit.  This avoids surprising the user if the default
  compiler is older than the host architecture.

This commit adds unit tests to verify the semantics of target ranges and
target lists in constraints. The implementation to allow target ranges
and lists is minimal and doesn't add any new type.  A more careful
refactor that takes into account the type system might be due later.

Co-authored-by: Gregory Becker <becker33.llnl.gov>
2019-09-20 00:51:37 -07:00
Gregory Becker
dfabf5d6b1 targets: first pass at target detection for linux
Add llnl.util.cpu_name, with initial support for detecting different
microarchitectures on Linux.  This also adds preliminary changes for
compiler support and variants to control the optimizatoin levels by
target.

This does not yet include translations of targets to particular
compilers; that is left to another PR.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2019-09-20 00:51:37 -07:00
Patrick Gartung
a940ff34d7 Put back the use of otool and install_name_tool when running on macOS. Only use machotools on linux. (#12867)
Move verbose messages to debug level

get_patchelf should return None for test platform as well because create_buildinfo invokes patchelf to get rpaths.
2019-09-19 17:16:26 -05:00
Valentin Clement (バレンタイン クレメン)
83bea039cf CLAW Compiler: added version 2.0.1 (#12878) 2019-09-19 18:27:22 +02:00
Gregory Becker
754ef8796e Ignore git *.orig files and emacs backup files 2019-09-18 23:51:27 -07:00
Adam J. Stewart
cbbd384628 blis: fix darwin install name (#12869) 2019-09-18 22:46:34 -05:00
Adam J. Stewart
a4e585bad5 googletest: fix darwin install name (#12871) 2019-09-18 22:46:16 -05:00
Adam J. Stewart
964500399b libkml: fix darwin install name (#12872) 2019-09-18 22:44:57 -05:00
Adam J. Stewart
b33d005267 wcslib: fix darwin install name (#12868) 2019-09-18 22:44:38 -05:00
Adam J. Stewart
1fe94748d2 diffutils: add missing libiconv dependency (#12866) 2019-09-18 15:36:41 -05:00
Julien Loiseau
cacbb4ff7a Correcting branch used for FleCSPH (#12865) 2019-09-18 14:00:47 -06:00
Adam J. Stewart
ec11574a02 Add SQLite 3.29.0 (#12862) 2019-09-18 14:36:41 -05:00
Adam J. Stewart
6d7e543cef GDAL: Add support for MKL driver (#12837) 2019-09-18 13:47:31 -05:00
Adam J. Stewart
680430df0f Add libkml package (#12836)
* Add libkml package

* googletest needs to be linked to RPATH
2019-09-18 13:46:45 -05:00
Adam J. Stewart
9a7b5ac7cb libunistring: add missing dependency on libiconv (#12863) 2019-09-18 13:37:19 -05:00
Adam J. Stewart
9d67ac2407 Add minizip package (#12835) 2019-09-18 12:53:01 -05:00
Adam J. Stewart
3eb0bcf4a1 Add uriparser package (#12834)
* Add uriparser package

* googletest needs to be linked to RPATH
2019-09-18 12:52:40 -05:00
Patrick Gartung
7c0c31361a Update buildcache creation and installation to allow mach-o binary relocation using py-machotools on linux or macos. (#12858)
Update py-machotools dependencies and versions.
2019-09-18 07:24:45 -05:00
Sinan
9807bb5d03 add a version (#12856) 2019-09-17 22:54:18 -05:00
Scott Wittenburg
56894b8805 Support yaml paths anywhere specs are handled on CLI (#12561)
Update command-line (CLI) parsing to understand references to yaml
files that store Spack specs. Where a file reference is encountered,
the full Spec in the file will be read in. A file reference may
appear anywhere that a spec could appear before. For example, if you
write "spack spec -y openmpi > openmpi.yaml" you may then install the
spec using the yaml file by running "spack install ./openmpi.yaml";
you can also refer to dependencies in this way (e.g.
"spack install foo^./openmpi.yaml").

There are two requirements for file references:

* A file path entered on the CLI must include a "/" even if the file
  exists in your current working directory. For example, if you
  create an openmpi.yaml file as above and run
  "spack install openmpi.yaml" from the same directory, it will
  report an error.
* A file path entered on the CLI must end with ".yaml"

This commit adds error messages to clearly inform the user of both
violations.
2019-09-17 19:45:37 -07:00
Greg Becker
eb4dd4a51a Boost: add libs property (#12849) 2019-09-17 20:30:29 -05:00
Sinan
02ae944c74 fix typo in version number (#12855) 2019-09-17 20:28:57 -05:00
Peter Scheibel
141a1648e6 implicit rpaths filtering (#12789)
* implicit_rpaths are now removed from compilers.yaml config and are always instantiated dynamically, this occurs one time in the build_environment module

* per-compiler list required libraries (e.g. libstdc++, libgfortran) and whitelist directories from rpaths including those libraries. Remove non-whitelisted implicit rpaths. Some libraries default for all compilers.

* reintroduce 'implicit_rpaths' as a config variable that can be used to disable Spack insertion of compiler RPATHs generated at build time.
2019-09-17 17:45:21 -05:00
Christoph Junghans
b11a98abf0 cmake: add v3.15.{2,3} (#12847) 2019-09-17 13:13:39 -06:00
George Hartzell
ae37896800 cryptsetup package: dont vendor libuuid in util-linux (#12839)
Fixes #12829

This adds a variant to the util-linux package that controls whether it
builds its own libuuid.  Variant defaults to True.  It enables other
packages to choose to get libuuid from the libuuid package instead.

This also changes the cryptsetup package to build util-linux with
~libuuid (so it uses an explicitly-Spack-built instance of libuuid
instead).
2019-09-17 11:22:10 -07:00
Adam J. Stewart
21e4b1752e Fix generic body during package creation (#12804)
Fixes incomplete change in #11981 

Use the proper variable (`body_def`) during package creation for package subclasses.
2019-09-17 09:37:46 -07:00
Adam J. Stewart
dce45aa299 Allow build to proceed with failed compiler lib detection (#12756)
Fixes #12732
Fixes #12767

c22a145 added automatic detection and RPATHing of compiler libraries
to Spack builds. However, in cases where the parsing/detection logic
fails this was terminating the build. This makes the compiler library
detection "best-effort" and reports an issue when the detection fails
rather than terminating the build.
2019-09-16 19:09:28 -07:00
Adam J. Stewart
5eac8130b3 Quote shell variable values (#12759)
This updates logic which sets shell variables to quote the values,
which is necessary when the value contains a space (e.g. PATH).
2019-09-16 11:10:36 -07:00
Adam J. Stewart
14ef0c238e Add py-pycbc package (#12823) 2019-09-16 13:10:02 -05:00
Adam J. Stewart
269f34c310 Add py-astropy 2.0.14 (#12816) 2019-09-16 13:09:30 -05:00
Adam J. Stewart
98eb8ef0af Add py-beautifulsoup4 4.8.0 (#12815) 2019-09-16 13:08:36 -05:00
Adam J. Stewart
94291ebd1a Add py-mpld3 package (#12822) 2019-09-16 13:08:17 -05:00
Adam J. Stewart
a08a7da413 Add py-asdf package (#12817) 2019-09-16 13:07:48 -05:00
Adam J. Stewart
fea315e274 Add py-bintrees package (#12818) 2019-09-16 13:07:21 -05:00
Adam J. Stewart
0885615e22 Add py-lscsoft-glue package (#12821) 2019-09-16 13:06:59 -05:00
Adam J. Stewart
3b11dfdca0 Add py-jplephem package (#12819) 2019-09-16 13:06:33 -05:00
Adam J. Stewart
947413236b Add py-ligo-segments package (#12820) 2019-09-16 13:06:09 -05:00
Adam J. Stewart
4cce23d1d3 Add py-pyopenssl package (#12824) 2019-09-16 13:05:37 -05:00
Adam J. Stewart
0d64b12c58 Add py-semantic-version package (#12825) 2019-09-16 13:05:12 -05:00
Adam J. Stewart
b8481d7913 Add py-sortedcontainers package (#12826) 2019-09-16 13:04:50 -05:00
Adam J. Stewart
09e3d6514b Add py-weave package (#12828) 2019-09-16 12:57:18 -05:00
Adam J. Stewart
321c857d4c Add py-soupsieve package (#12827) 2019-09-16 12:56:53 -05:00
Adam J. Stewart
e3969e33fd Relax Python version constraints on py-html5lib (#12811) 2019-09-16 12:56:21 -05:00
Chuck Atkins
76b79c125a xdmf3: new package (#12778) 2019-09-16 12:02:07 -04:00
Ruben Di Battista
9675db4e7f qt: Fix build with GCC9 for version 4 (#12832)
* qt: Fix build w/ GCC9 for @4:

* qt: Fix patch filename and qt version

* Fix typo in patch name
2019-09-14 14:00:46 -05:00
Toyohisa Kameyama
c26a3ff894 flang: build on arm. (#12808) 2019-09-14 11:15:06 -05:00
Scott Wittenburg
1050fa5546 Fixes identified in ecp facilities hackathon fixes:
- improve mirror git repo management
- minio s3 implementation needs endpoint_url
- Remove image key from rebuild-index job
- Remove image, rely on tags instead
2019-09-13 22:57:15 -07:00
Scott Wittenburg
6d745a56fd Implement an optional compiler bootstrapping phase 2019-09-13 22:57:15 -07:00
Scott Wittenburg
5323a5cff9 Remove CombinatorialSpecSet in favor of environments + stacks 2019-09-13 22:57:15 -07:00
Scott Wittenburg
0b67f30e21 Add pre-ci job generation for a multi-repo setup 2019-09-13 22:57:15 -07:00
Scott Wittenburg
fabbb3d58a Refactor release-jobs cmd based on use of environments (no docker either) 2019-09-13 22:57:15 -07:00
Scott Wittenburg
73c161b7de Add schema for new gitlab-ci and cdash additions to environment 2019-09-13 22:57:15 -07:00
Adam J. Stewart
5f18696169 py-bleach package: add version 3.1.0 (#12814) 2019-09-13 19:15:54 -07:00
Adam J. Stewart
3a47a6196f py-cython package: fix --test (#12813)
Fix bug in string conversion of "make_jobs"
2019-09-13 19:15:06 -07:00
Adam J. Stewart
a3c6b07c96 py-emcee package: add version 2.2.1 (#12812) 2019-09-13 19:13:45 -07:00
Adam J. Stewart
f9b8442e1b wcslib package: add version 6.4 (#12810) 2019-09-13 19:09:54 -07:00
Glenn P Johnson
6937416a65 Add diamond dependency 2019-09-13 19:08:57 -07:00
Glenn P Johnson
09047d76e9 Update braker package
- add version 2.1.4
- change url to github
- add perl dependencies
- new version has a new source layout
- filter shebang to use spack perl
2019-09-13 19:08:57 -07:00
Glenn P Johnson
b046ee20f5 Fixes for augustus package
- add missing perl dependency
- only filter Makefile if referred to dependency is in the spec
- rewrite the shebang line of scripts to use spack perl
- remove tabix dependency as tabix and bgzip are part of htslib
2019-09-13 19:07:35 -07:00
Glenn P Johnson
2256890d4e Update genemark-et package
- add version 4.46
- add missing perl dependencies
- new version has different source layout
- filter shebang to use spack perl
2019-09-13 19:05:02 -07:00
Sinan
6df57bb2d0 New package: py-pykwalify (#12540) 2019-09-13 12:22:08 -07:00
Frédéric Simonis
3f06d5c12a preCICE: added versions 1.6.0 and 1.6.1 (#12809) 2019-09-13 16:04:50 +02:00
Glenn Johnson
3cc95c6427 diamond: added version 0.9.25 (#12805) 2019-09-13 07:37:52 +02:00
Sinan
48e9090252 New package: py-ruamel-yaml (#12543) 2019-09-12 15:46:39 -07:00
Owen Solberg
78f3f4c309 Singularity package: add version 3.4.0 (#12785)
This version in combination with the included patch can install
without root.
2019-09-12 13:45:00 -07:00
Owen Solberg
6608876747 New package: cryptsetup (#12762)
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-09-12 13:41:53 -07:00
Sinan
b95b4bb9e0 add compilation option to sqlite (#12794)
* add compilation option to sqlite

* rename variant

* fix bug

* re-rename variant
2019-09-12 15:31:03 -05:00
ktsai7
96ba5a1265 Update legion gasnet config (#12523) 2019-09-12 13:46:37 -06:00
Tyler Reddy
25dbc9fb8e BUG: recursively load modules with tcsh (#12664)
* for tcsh and csh, spack load -r package
should now correctly load recursively instead
of only loading the target package without any
dependencies
2019-09-12 11:11:27 -06:00
Simo Tuomisto
5a6d060b52 py-gpaw: Fixed broken fftw linking in newer versions of py-gpaw (#12795) 2019-09-12 09:36:45 -05:00
brietzke
3269f712f0 fgsl: new version + fix for recent spack commit (#12790) 2019-09-11 20:15:50 -05:00
Greg Becker
b1868f35ec module parsing: make heuristic to get paths from modules more robust (#12693)
* module parsing: make heuristic to get paths from modules more robust

* refactor module parsing
2019-09-11 10:51:44 -07:00
Chris Green
e727e79b73 jsoncpp: new versions, support cxxstd variant. (#12780) 2019-09-11 12:32:49 +02:00
Owen Solberg
e3d06dc0d7 create package popt (#12783) 2019-09-10 21:33:33 -05:00
Jonas Lippuner
97641aab63 fix bug in p4est (don't use MPI spec if not compiling with MPI) (#12784) 2019-09-10 19:39:42 -05:00
Hironori-Yamaji
9962696128 openmx: new package (#12768)
* openmx: new package

* openmx: use copy method
2019-09-10 12:59:13 -05:00
Janne Blomqvist
3f1762bcc2 cuda: New version 10.1.243 (#12777)
* cuda: New version 10.1.243

Adds CUDA 10.1.243. The installer command-line arguments have slightly
changed, hence in the install method the version needs to be inspected
in order to give the correct arguments for the new installer.

* cuda: Combine common command-line arguments

The CUDA 10.1+ installer has slightly different command-line arguments
than previous versions.  Keep the common parts together and only split
where they are different.

* Make flake8 happy
2019-09-10 10:52:55 -07:00
Owen Solberg
c23bea80bd py-atropos: new package (#12745)
* create new package py-atropos

* remove whitespace

* make tqdm and pysam dependencies optional, exposed as variants
2019-09-10 12:18:31 -05:00
Hironori-Yamaji
fefd998509 ccs-qcd: disable parallel builds (#12775) 2019-09-10 14:19:09 +02:00
Axel Huebl
113365744e packages service: fix docker build again (#12774)
CD is hard.
2019-09-09 18:24:16 -07:00
Axel Huebl
0d270e0d2a packages service: fix docker build (#12773)
The build instructions I cloned from did not work ;)
2019-09-09 16:41:04 -07:00
Axel Huebl
221acadc7d packages build: fix path to spack (#12772)
Fix docker build for packages.spack.io
2019-09-09 14:52:36 -07:00
Axel Huebl
8ea358d849 Fix CD: Packages Service First (#12764)
* Fix CD: Packages Service First

Build the packages.spack.io service images first, so they are
guaranteed to be pushed even if further images fail to build.

Fix the query to the `spack` script executed in later builds.

* CD: Remove Spack Images

Now done on Dockerhub.
2019-09-09 13:22:47 -07:00
xfzhao
c30f9c6833 update bbmap (#12721)
* update bbmap

* remove one extra comment line
2019-09-09 12:55:06 -05:00
Michael Kuhn
62f0286f5e Fix pkgconfig dependencies (#12714)
pkgconfig is the virtual dependency, pkg-config is an implementation.
2019-09-09 12:54:46 -05:00
brietzke
4de32033b1 Update py-bokeh: new version & dependencies" (#12724)
* update py-bokeh: new version & dependencies

* Revert "update py-bokeh: new version & dependencies"

This reverts commit 5e191a0b20.

* update py-bokeh: new version & dependencies

* trigger travis-ci

* adjust python dependency-type to br
2019-09-09 11:59:27 -05:00
brietzke
155a667b7a New package: py-fsspec (#12725)
* update py-bokeh: new version & dependencies

* Revert "update py-bokeh: new version & dependencies"

This reverts commit 5e191a0b20.

* new package: py-fsspec: add package.py

* trigger travis-ci

* adjust python dependency-type to br
2019-09-09 11:58:49 -05:00
Dan Lipsa
1a8c572316 Paraview version (#12766)
* Update paraview

* Paraview 5.6.2 provides only .xz (no .gz)

* Add list_url and list_depth
2019-09-09 11:57:53 -05:00
Massimiliano Culpo
bd0fed7090 clang: add another regex for version detection (#12769)
This is similar to #10191. The Ubuntu package for clang 8.0.0 displays
a very unusual version string, and we need this new regex to detect it
as just 8.0.0

Unit test have been complemented by the output that was failing
detection.
2019-09-09 11:37:04 -05:00
viniciusvgp
7849dbb529 binutils: fix undefined symbol libintl_dgettext (#12770) 2019-09-09 11:05:04 -05:00
Axel Huebl
02931a82fd Add CORS for spack.packages.io
Add the HTTP header `Access-Control-Allow-Origin: *` for our NGINX
service that is serving static JSON content on
https://spack.packages.io .
2019-09-08 17:19:37 -07:00
Greg Sjaardema
db1fb16840 CGNS: Add setting of RPATH on Darwin (#9984)
* CGNS: Add setting of RPATH on Darwin

This should go in the CGNS CMakeLists.txt, but it isn't there yet and won't be in previous versions, so best to handle it here.  
If building on darwin/MacOSX, need to set the RPATH so applications can find shared library correctly.

* Restrict MACOSX_RPATH setting

This has now been added to the CGNS distribution, so the setting of `CMAKE_MACOSX_RPATH` should be restricted to current and previous releases and not upcoming releases.
2019-09-08 17:14:56 -05:00
Geoffrey Oxberry
983e6b4a4a fribidi@1.0.5: new package (#12386) 2019-09-08 17:10:39 -05:00
Sinan
4a18d40a66 new package: py-iniparse (#12638)
* new package: py-iniparse

* add git version supporting python3

* redo python dependency
2019-09-08 17:09:24 -05:00
Sinan
d66caf7a66 Package/py configobj (#12639)
* new package: py-configojb

* add version 4.7.2

* improve dependencies

* fix url for versions > 5.0.0

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

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

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

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

* use format to create url strings

* fix typo

* improve style

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-09-08 17:08:59 -05:00
Owen Solberg
2ad6bed77c for fakeroot support, add "shadow" dependency (#12754)
* adding checksum for singularity 3.4, adding dep for shadow

* make v3.4 a TODO for now -- needs cryptsetup package first
2019-09-08 13:55:15 -05:00
Adam J. Stewart
bff667051b Fix PyQt installation (#12479)
* Fix PyQt installation

* Switch dependency type

* Replace SIP dependency with resource

* Relax py-pyqt4 Qt dependency
2019-09-08 10:48:50 -05:00
Simo Tuomisto
5a21c781f3 py-gpaw: Fixing missing numpy include path, adding newer version of p… (#12737)
* py-gpaw: Fixing missing numpy include path, adding newer version of py-gpaw and fixing a bug with libxc.c in older py-gpaw

* py-gpaw: Fix Python and ASE version dependencies

- GPAW 19.8.1 requires Python 3.x, add dependency on python@3.5:

- GPAW releases are associated with a corresponding ASE release, add
  matching ASE version dependencies.

* py-gpaw: Enable the scalapack variant by default

GPAW installation instructions say scalapack is optional but "highly
recommended". Thus enable it by default.
2019-09-08 10:46:47 -05:00
Owen Solberg
8fd8b54e97 py-cutadapt: Updated version checksum (#12741)
* add new cutadapt release 2.5, and adjust dependencies conditional on version

* use https, not ssh, for git url

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-09-08 10:46:08 -05:00
Owen Solberg
fe26678299 new package: py-bz2file (#12761)
* update py-xopen (add 0.8.2 checksum)

* refine version specific dependencies

add py-bz2file, which needs to be created

* create py-bz2file

* Revert "refine version specific dependencies"

This reverts commit 70649da988.

* Revert "update py-xopen (add 0.8.2 checksum)"

This reverts commit 7400f44caa.
2019-09-08 10:38:37 -05:00
Owen Solberg
b83fa3909e py-xopen: update release 0.8.2 checksum (#12742)
* update py-xopen (add 0.8.2 checksum)

* refine version specific dependencies

add py-bz2file, which needs to be created

* py-bz2file needed when built with python 2.7

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

* space after comma
2019-09-08 10:38:19 -05:00
Owen Solberg
4468ee2437 py-dnaio: new package need by py-cutadapt (#12743)
* add new package py-dnaio

* provide git url with https, not ssh, protocol

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-09-08 10:37:49 -05:00
Todd Gamblin
a2220f3150 flake8: make entire repository pass spack flake8 -a
- Fix trailing whitespace missed by the bug described in #12755.

- Fix other style issues that have crept in over time (this can happen
  when flake8 adds new checks with new versions)
2019-09-07 23:59:10 -07:00
Todd Gamblin
0ec80e8f16 flake8: only add E501 exemptions when absolutely necessary (#12755)
E501 (line too long) exemptions are probably our most common ones -- we
add them for directives, URLs, hashes, etc. in packages.  But we
currently add them even when a line *doesn't* need them, which can mask
trailing whitespace errors.

This changes `spack flake8` so that it will only add E501 exemptions if
the line is *actually* too long.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-09-07 23:58:12 -07:00
Owen Solberg
48c3c833e8 patch boost version 1.54-1.55 when being built with ANY gcc version after 5.0 (#12718) 2019-09-07 22:45:53 -05:00
Kevin Huck
35221c127e Updating TAU package. Fixing compiler specification for OSX (#12720)
and making Fortran an option that can be disabled.  Also added
support for the POSIX I/O wrapper and OMPT for OpenMP.
2019-09-07 22:44:40 -05:00
Howard Pritchard
1a38285be9 mesa: disable use of libunwind for arm arch (#12735)
There are problems with libunwind for arm and trying to use it with mesa.
See for example:

https://github.com/grate-driver/mesa/issues/6

disabling use of libunwind for arm, allows the package to be built

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2019-09-07 22:33:30 -05:00
Jonas Lippuner
c3a2528022 add mpi variant to p4est package to allow turning off MPI (#12739) 2019-09-07 22:29:53 -05:00
Axel Huebl
331e4e32be ncurses: improve build time (#12621)
Apply configure options to skip manpage generation
and test builds for both wide and non-wide builts.
2019-09-07 22:27:07 -05:00
Ruben Di Battista
ac7a17754f luarocks: Use make command instead of install (#12703)
This way luarocks does not attempt to pull stuff from the internet.

Fix #3909
2019-09-07 21:06:52 -05:00
Adam J. Stewart
faa3d6a2a5 Add py-numpy 1.17.2 (#12753) 2019-09-07 20:44:46 -05:00
Piotr Luszczek
bbdb033e5f Add patches to work around CMake versions (#12744)
- Use of symbol testing macro requires explicit include()
- CMake policies are not version-portable and the support has to queried
  based on CMake version
2019-09-07 19:04:20 -05:00
Owen Solberg
c4da66be4c font-util 1.3.2 (#12728) 2019-09-07 18:57:22 -05:00
Adam J. Stewart
a4aa1b5a05 Update docs on module loads command (#12702) 2019-09-07 18:32:02 -05:00
Sinan
754ce972a3 new package: py-pygdal (#12747) 2019-09-07 18:23:38 -05:00
Vanessasaurus
25bbc27716 adding shadow-uidmap (#12750)
Signed-off-by: Vanessa Sochat <vsochat@stanford.edu>
2019-09-07 17:36:45 -05:00
Mathias Jacquelin
696e12da98 upcxx: new package
Adding a UPC++ spack package pointing to the default 2019.3.2 UPC++
version, and allowing to build UPC++ with the experimental CUDA variant.
2019-09-06 16:04:33 -07:00
Toyohisa Kameyama
5def1dd39d openspeedshop: fixed build on arm. (#11861)
* openspeedshop: fixed build on arm.

* remove patch comment.
2019-09-06 13:26:24 -07:00
Geoffrey Oxberry
8fe5405e1b libpeas@1.22.0: new package (#12385)
* libpeas@1.22.0: new package

* libpeas: note more build dependencies

Build and link dependencies were obtained through a combination of
examining the `config.log` file from `configure` and looking at the
pkg-config files of `libpeas`.

* libpeas: add search path for GIR/typelib files
2019-09-06 12:53:12 -05:00
Geoffrey Oxberry
071fb3dd6a iso-codes: new package (#12389) 2019-09-06 12:48:08 -05:00
Greg Becker
3f1c78128e make env view loading unconditional (#12719) 2019-09-05 18:15:36 -07:00
Toyohisa Kameyama
34647913be fftw: change default value of simd variant for other than x86_64 (#11627)
* Use spec.architecture.target insted of platform.

* remove default in simd variant value.
simd variant change to archtecture independent values.

* Add check simd values.

* rewrite check simd values.

* * flake8
* change aarch64 to arm (neon support only 32 bit arm.)
2019-09-05 11:42:04 -07:00
Matthieu Dorier
1dbf3c208b FIX Catalyst: corrected catalyst package for aarch64 targets (#12707)
* corrected catalyst package for aarch64 targets

* corrected syntax

* corrected undefined variable
2019-09-05 12:44:38 -05:00
Ruben Di Battista
6ef95481ef Add pixz package (#12698) 2019-09-05 09:40:29 -05:00
Jennifer Herting
ca8db06e37 [jemalloc] added version 5.2.1 (#12706) 2019-09-05 09:39:42 -05:00
Hironori-Yamaji
ed6a2f0ef9 textparser: new package (#12713)
* textparser: new package

* textparser: use 'parallel = False'
2019-09-05 09:37:21 -05:00
Michael Kuhn
ad93f47c8f mariadb: Add missing dependencies (#12715)
Found while building mariadb in a minimal build environment.
2019-09-05 09:34:44 -05:00
Janne Blomqvist
30756a643b py-ase: New version 3.18 (#12697)
* py-ase: New version 3.18

Add ASE version 3.18. ASE 3.18 has dropped support for python 2.x,
hence add a dependency on python@3.5: for it.

* Add more ASE dependencies

Address review comments, add dependencies on py-scipy, py-matplotlib,
py-flask, and also add type=('build', 'run') dependency specifiers.
2019-09-05 09:09:37 -05:00
Toyohisa Kameyama
e50dbe6f76 cctools: fixed to build on ARM. (#11862) 2019-09-04 16:45:41 -07:00
Paul Bryant
cb2d18c1e6 Add Go 1.13 2019-09-04 15:04:51 -07:00
t-karatsu
e08f527004 openblas: Add route to f_check for Fujitsu compiler. (#11804) 2019-09-04 15:01:58 -07:00
Chris Green
7f8fe11e4d Improve mock_archive versatility; Remove unwanted ALLOWED_ARCHIVE_TYPES. (#12513)
mock_archive can now take multiple extension / tar option pairs (default matches old behavior).

url_fetch.test_fetch tests more archive types.

compression.EXTS split into EXTS and NOTAR_EXTS to avoid unwanted, non-meaningful combinatoric extensions such as .tar.tbz2.
2019-09-04 13:49:00 -05:00
asmaahassan90
00b02fd234 Add gams recipe (#12700)
* Add gams recipe

* Break down lines to pass lint
2019-09-04 10:13:58 -05:00
t-karatsu
fc9e17289a boost: add -c option to C/C++ compile commands for clang. (#12694) 2019-09-04 10:07:31 -05:00
Mario Melara
407834fffa cppflags point to ncurses headers (#12691)
While debugging this package on our Cray machine, tmux was throwing an
error involving the ncurses headers. Tmux would look for headers in
system locations rather than where spack installed ncurses. Tested only
on a Cray.
2019-09-04 10:06:35 -05:00
asmaahassan90
5953336c3e Add tecplot recipe (#12688)
* Add tecplot recipe

* break down description to pass lint

* fix format to match python 2.6 requiremnets

* importing os
2019-09-04 09:25:43 -05:00
Matthieu Dorier
3181021c11 Boost: fixed problem when requesting ~signals for boost >= 1.69 (#12627)
* fixed problem when requesting ~signals for boost >= 1.69

* added checks for all libs in with_libs
2019-09-04 09:25:00 -05:00
Sinan
d7ef97392c new package: liblas (#12619)
* new package: liblas

* explicitly disable build options

* fix indentation
2019-09-04 09:20:38 -05:00
Todd Gamblin
6b619daef3 specs: better lookup by hash; allow references to missing dependency hashes
- previously spec parsing didn't allow you to look up missing (but still
  known) specs by hash

- This allows you to reference and potentially reinstall
  force-uninstalled dependencies

- add testing for force uninstall and for reference by spec

- cmd/install tests now use mutable_database
2019-09-04 00:25:36 -07:00
Tamara Dahlgren
c141e99e06 Use spack/user-specific stage root by default; stage cleaning (#12516)
* When cleaning the stage root, only remove directories that appear
  to be used for staging Spack packages. Previously Spack was clearing
  all directories in the stage root, which could remove content not
  related to Spack if the user chose a staging root which contains
  files/directories not managed by Spack.
* The documentation is updated with warnings about choosing a stage
  directory that is only managed by Spack (although generally the
  check added in this PR for "spack clean" should avoid removing
  content that was not created by Spack)
* The default stage directory (in config.yaml) is now
  $tempdir/$user/spack-stage and the logic is updated to omit the
  $user portion of this path if $tempdir already contains a $user
  directory.
* When creating stage root assign user read/write permissions to all
  directories in the path under $user. Previously Spack was assigning
  the permissions of the first existing parent directory
2019-09-03 16:31:27 -07:00
Peter Scheibel
868f7869e0 py-chardet package: add py-pytest-runner dependency (#12692)
This required dependency was missing
2019-09-03 14:56:53 -07:00
Sinan
c14b7379f9 new package: protobuf-c (#12634)
* new package: protobuf-c

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-09-03 16:16:50 -05:00
Todd Gamblin
d79f85d763 perf: spack find -p now does only one DB transaction
`spec.prefix` reads from Spack's database, and if you do this with
multiple consecutive read transactions, it can take a long time.  Or, at
least, you can see the paths get written out one by one.

This uses an outer read transaction to ensure that actual disk locks are
acquired only once for the whole `spack find` operation, and that each
transaction inside `spec.prefix` is an in-memory operation. This speeds
up `spack find -p` a lot.
2019-09-03 07:41:38 -07:00
t-karatsu
ae41ef9146 Boost/Change the method for analysis version (#12676)
* boost:Change the method for analysis version when using Fujitsu compiler.

* Change version to apply patch for Fujitsu.

* fix typo
2019-09-03 09:27:48 -05:00
Hironori-Yamaji
9e1800d81c pmlib: new package (#12625)
* pmlib: new package

* pmlib: fix options and add patch

* pmlib: fix the patch file
2019-09-03 09:26:47 -05:00
Hironori-Yamaji
6ea27cabd6 ccs-qcd: new package (#12681)
* ccs-qcd: new package

* ccs-qcd: fix variant and replacement string
2019-09-03 09:15:34 -05:00
Todd Gamblin
da7fed86a8 tests: add tests for spack extensions command
- add tests for `spack extensions`
- refactor `test_activations` test to use real extensions.
2019-09-02 19:24:48 -07:00
Todd Gamblin
1b877e8e0f tests and completions for spack find --json and spack find --format 2019-09-02 19:24:48 -07:00
Todd Gamblin
2dc7467760 tests: remove extraneous print statement 2019-09-02 19:24:48 -07:00
Todd Gamblin
d4bad06202 refactor: clean up spack find, make spack find -dp work properly
Refactor `spack.cmd.display_specs()` and `spack find` so that any options
can be used together with -d. This cleans up the display logic
considerably, as there are no longer multiple "modes".
2019-09-02 19:24:48 -07:00
Todd Gamblin
987d8cbaaa docs: add docs for spack find --format and spack find --json
- add docs for `spack find --format`
- add docs for `spack find --json`
- update references to Spec.format() docs and add links
2019-09-02 19:24:48 -07:00
Todd Gamblin
1a1f5674df command: add spack find --json
This is another machine-readable version of `spack find`.  Supplying the
`--json` argument causes specs to be written out as json records,
easily filered with tools like jq.

e.g.:

    $ spack find --json python | jq -C ".[] | { name, version } "
    [
      {
        "name": "python",
        "version": "2.7.16"
      },
      {
        "name": "bzip2",
        "version": "1.0.8"
      }
    ]
2019-09-02 19:24:48 -07:00
Todd Gamblin
64af0a9874 command: add spack find --format
- spack find --format allows you to supply a format string and have specs
  output in a more machine-readable way, without dedcoration

e.g.:

    spack find --format "{name}-{version}-{hash}"
    autoconf-2.69-icynozk7ti6h4ezzgonqe6jgw5f3ulx4
    automake-1.16.1-o5v3tc77kesgonxjbmeqlwfmb5qzj7zy
    bzip2-1.0.6-syohzw57v2jfag5du2x4bowziw3m5p67
    ...

or:

    spack find --format "{hash}"
    icynozk7ti6h4ezzgonqe6jgw5f3ulx4
    o5v3tc77kesgonxjbmeqlwfmb5qzj7zy
    syohzw57v2jfag5du2x4bowziw3m5p67
    ...

This is intended to make it much easier to script with `spack find`
2019-09-02 19:24:48 -07:00
Michael Kuhn
9b8f1fdc40 esmf: Fix build with gcc@8: (#12678) 2019-09-02 10:02:17 -05:00
asmaahassan90
6a791db72d Add XSSP recipe (#12679) 2019-09-02 10:00:57 -05:00
Michael Kuhn
d7a92adb93 icu4c: Add missing python dependency (#12683) 2019-09-02 09:52:51 -05:00
asmaahassan90
c184e79b91 Add fpocket (#12675)
* Add fpocket

* fix recipe

break down the description to pass lint

* update license

* make changes as per maintainer's review
2019-09-02 09:51:53 -05:00
asmaahassan90
4e487bf308 Install the newest version of ncbi-rmblastn (#12580)
* Install the newest version of ncbi-rmblastn

Version ncbi-rmblastn 2.2.28 coonfiguration fails for gcc compiler on ubuntu 16.04 due to some compatibility issues that requires manual intervention to keep the installation going. However you still stumble upon other issues while compiling it.
Using Intel compiler passes the configuration step but fails for the compilation process as well.

Here I'm using the latest version and patch, and the recommended configuration option as mention in http://www.repeatmasker.org/RMBlast.html

* uploading ncbi-blast patch
2019-09-01 11:11:15 -05:00
Kevin Manalo
421310a037 IDBA: package does not need conflicts with other compilers (#12674) 2019-09-01 11:08:05 -05:00
asmaahassan90
d3b89083f3 Add Vesta recipe (#12581)
* Add Vesta recipe

* Break down description to pass lint

* Make changes as maintainers' review

* remove whitespaces
2019-09-01 10:41:57 -05:00
健美猞猁
8c9e14486b A new package: fastp. (#12671)
* A new package: fastp.

* Flake8.

* Flake8.
2019-09-01 00:01:35 -05:00
Sinan
bb28028608 new package: py-requests-oauthlib (#12548)
* new package: py-requests-oauthlib

* add a version

* fix typo
2019-08-31 15:13:04 -05:00
Sinan
6723032440 new package: py-systemd-python (#12595) 2019-08-31 14:57:03 -05:00
Glenn Johnson
1a8ece4504 Add MKL variant to Julia (#12602)
This PR provides an option to build Julia with Intel MKL.
2019-08-31 14:48:40 -05:00
Sinan
6ec5cf4bf0 new package: optipng (#12608) 2019-08-31 14:41:06 -05:00
Sinan
ed59a94d04 new package: pngquant (#12609) 2019-08-31 14:40:26 -05:00
Sinan
da48112812 new package: pktools (#12611)
* new package: pktools

* rename and enable utilities

* enable build with FANN

* add variants, dependencies

* expcitly turn off options when not in use
2019-08-31 14:39:51 -05:00
Sinan
1461c90bd1 new package: FANN (#12614) 2019-08-31 14:38:46 -05:00
Cameron Smith
9ce9d45aa7 Add int64 variant to pumi and zoltan (#12630)
* pumi and zoltan: add int64 variant

* typo
2019-08-31 14:28:56 -05:00
Sinan
7a60be5154 add variant for building RTREE module (#12668) 2019-08-31 14:12:20 -05:00
Sinan
392e790884 new package: libwebp (#12669) 2019-08-31 14:10:30 -05:00
Glenn Johnson
ed6c9e8ed8 Add conflicts statement to mariadb (#12670)
The mariadb-5.5 series can not be compiled with gcc-9.1.0 and above. Add
a conflicts statement to reflect that.

The error is due to -Werror=address-of-packed-member, a warning that is
new in gcc-9.
2019-08-31 14:09:51 -05:00
健美猞猁
4a5d740eaf A new package: py-gdc-client. (#12672)
* A new package: py-gdc-client.

* Flake8.
2019-08-31 14:08:05 -05:00
Ruben Di Battista
bc56f87b09 p4est package: add version 2.2 (#12603) 2019-08-30 18:44:35 -07:00
Sinan81
2a27f50d14 new package: attr 2019-08-30 18:27:46 -07:00
Justin S
ce15a28f7d salmon package: add version 0.14.1 (#12646) 2019-08-30 18:22:59 -07:00
Glenn Johnson
661a894c85 Update R CRAN packages (#12019)
* Update R CRAN packages

This PR update R CRAN packages. It also ensures that spack built
packages that correspond to R recommended packages are specified in the
dependency list. This is needed for #12015.

* Add more updates to packages

* Updated dependencies of CRAN R packages

Also, use cloud.r-project.org rather than cran.r-project.org to use
automatic redirection to mirrors. This minimizes the load on the cran
server.

* Update to latest versions of CRAN R packages

* Fix flake8 issues

Some blank lines at the end of a coupple of package files crept in.

* Adjust r-animation dependencies

The r-magick package depends on image-magick, so r-animation should as
well. Also, add in texlive for LaTeX support.

* New package: r-magick

* Adjust line spaces in r-magick

* Add swftools dependenct to r-animation

* New package: swftools

This is needed bt r-animation

* Add 'when' clause to some package dependencies

- r-animation
- r-coin
- r-dt
- r-openssl

* New package: r-ellipsis

* New package: r-vctrs

* New package: r-zeallot

* New package: r-generics

* New package: r-cardata

* Add r-progress dependency to r-readxl

* New package: r-askpass

* New package: r-openxlsx

* New package: r-rio

* New package: r-sys

* New package: r-zip

* Add more updated packages

These are updates that have happened while working on this PR as well as
catching the ones from the cran.rstudio.com URL that were missed before.

* New package: r-gower

* New package: r-recipes

* New package: r-squarem

* New package: r-libcoin

* New package: r-rcmdcheck

* New package: r-remotes

* New package: r-sessioninfo

* New package: r-xopen

* New package: r-rgexf

* New package: r-rook

* New package: r-later

* New package: r-promises

* New package: r-xfun

* New package: r-urca

* New package: r-ggsignif

* New package: r-polynom

* New package: r-ucminf

* New package: r-ordinal

* New package: r-inum

* New package: r-debugme

* New package: r-fs

* New package: r-shinyfiles

* New package: r-gsa

* New package: r-nmof

* New package: r-dosnow

* New package: r-rann

* New package: r-reticulate

* New package: r-future

* New package: r-globals

* New package: r-listenv

* New package: r-future-apply

* New package: r-rsvd

* New package: r-sctransform

* New package: r-mitools

* Remove a stray FIXME line

* Fix typo in dependency for r-rcmdcheck

* Remove the dependency on r-splines

The r-splines package never existed in spack, but it does not exist on
CRAN either. There is an archive version from 1999 but it does not have
the proper extension format for modern R packages. The latest version
does not depend on r-splines, and apparently previous versions at least
built without it. Also, bump the required R version.

* Fix typo in r-rcpp dependency

* Fix typos in dependencies

- r-diagrammer
- r-janitor
- r-seurat

Also, bump minimum R version for r-rngtools.

* New package: r-clisymbols

* New package: r-fitdistrplus

* New package: r-gbrd

* New package: r-gh

* New package: r-ini

* New package: r-metap

* New package: r-npsurv

* New package: r-rdpack

* New package: r-snakecase

* New package: r-tinytex

* New package: r-usethis

* Make recommended changes

Made the changes that were recommended in the initial review.

- change cran.rstudio.com to cloud.r-project.org
- change R-project to r-project
- for packages with no listed homepage use the canonical link to the
  package page
- for packages with a dependency constraint on R itself, specify the
  dependency type
- add `list_url` where missing from package

* New package: r-hdf5r

This is needed for some older versions of r-seurat.

* Set R versions in packages

If the R version is specified in the DESCRIPTION file then set it in the
respective spack package.py file.

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

Change dependency version of r-car.

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

* Set constraint of mlbench dependency of r-adabag

* Set constraint on r-rcpp dependency of r-ape

* Removed "suggested" r-testthat from r-bibtex

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

Fix dependency spec of r-bindr in r-bindrcpp.

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

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

Add r-vctrs version constraint.

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

* Remove r-base64enc dependency from r-callr

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

Set constraint on r-cardata dependency.

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

* Remove unneeded dependencies from r-clipr

* Add gmake dependency to r-construct

* Set the proper homepage for r-crayon

* Add r-jsonlite as a dependency for r-crul

The jsonlite package moved from "suggests" to "imports" with 0.8.4.

* Remove accidental colon after package name

* Add version constraint to r-fpc dependency in r-dendextend

* Additional constraints for R version with r-digest

* Add r-jsonlite dependency for latest verion of r-dt

* Add r-htmltools dependency in r-dygraphs package

* Removed unneeded dependencies from r-fnn

* Remove unneeded dependencies from r-formatr

* Add version constraint for r-mvtnorm dependency in r-fpc

* Added gmake dependency to r-fs

* Add r-globals dependency in r-future-apply

* Add perl dependency to r-gdata

* Add openssl dependency for r-ggally

* Removed unneeded dependencies from r-globaloptions

* Update r-haven

- Add version constraint on r-forcats
- Add gmake build dependency

* Fixed gmake dependency

Gmake is a build only dependency.

* Apply suggestions from code review

Apply a batch of suggestions from Adam Stewart.

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

* Remove unneeded dependencies from r-hoardr

* Fix r-htmlwidgets homepage

* Add gmake build dependency to r-httpuv

* Remove unneeded dependency from r-log4r

* Remove unneeded dependency from r-maldiquant

* Add gmake build dependency to r-minqa

* Remove unneeded dependency from r-mlbench

* Set constraint on R6 dependenvy of r-pbdzmq

* Set constraints on r-callr dependency of r-pkgbuild

* Remove unneeded dependency from r-nloptr

* Remove unneeded dependencies from r-pkgmaker

* Set R version constraint for r-raster

* Set version constraint on rcpp for r-rcppprorgess

* Added gmake build dependency

* Remove unneeded dependencies from r-rematch

* Remove unneeded dependency from r-plogr

* Add gmake build dependency for r-rcurl

* Apply suggestions from code review

Bring in more suggestions from Adam Stewart.

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

* Remove cnpy dependency from r-rcppcnpy

The r-rcppcnpy package has its own modified copy of the cnpy source and
will build from that internal source. The cnpy dependency is therefore
unnecessary.

* Add comment to reconcile dependencies

The CRAN site lists Perl, Getopt::Long as a dependency. The Spack Perl
will have the Getopt::Long package installed so just depend on Perl.

* Add dependency on udunits2 with newer versions of r-units

* Set additional proj constraint for r-sf

Support for PROJ6 was added in r-sf-0.7-4.

* New package: pandoc

This package installs the pandoc and pandoc-citeproc binaries in order
to satisfy dependencies on pandoc until the Haskell framework is in
Spack.

* Add pandoc dependency to r-bookdown

* Add comment about MPI in r-ergm

* Add pandoc dependency for r-reprex

* Add proj constraints to r-rgdal dependencies

Support for PROJ6 was added in version 1.4-2.

* Modifications to r-rgl

- Rearranged the dependencies to be more consistent with other packages
- put the type last on the depends_on lines to be consistent with other
  packages
- Added version constraints for some dependencies
- Added pandoc build dependency

* Be more accurate with rjsonio constraint for r-rgooglemaps

* Remove unneeded dependencies from r-rhmmer

* Tweak constraints for r-rjava

- Set java version constraint
- add gmake build dependency

* Add pandoc dependency to r-markdown

* Remove unneeded dependencies from r-rrcov

* Tweak r-rstan package

- remove duplicate specifications
- remove unneeded when conditions
- add version constraints
- arrange to follow order on CRAN page more closely
- add gmake build dependency
- add pandoc build dependency

* Add pandoc build dependency for r-rstantools

* Remove unneeded dependency from r-runit

* Remove unneeded dependencies from r-selectr

* Remove example R code from description

The example would module loading to break, at least in the case of Lmod
using TCL module files. It could be during the TCL to Lua conversion but
the module fails due to interpreting ipart of the example as a command.

* Update r-seurat

New version of r-seurat with new dependencies.

* New package: r-dqrng

* New package: r-leiden

* New package: r-rcppannoy

* New package: r-rcppparallel

* New package: r-rspectra

* New package: r-sitmo

* New package: r-uwot

* Remove unneeded dependency from r-snow

* Remove unneeded dependency from r-sourcetools

* Added pandoc build dependency for r-stanheaders

* Remove unneeded dependencies from r-taxizedb

* Remove unneeded dependencies from r-tclust

* Add dependency constraints for r-threejs

The following are needed for version 0.2.2:
- r-matrix
- r-jsonlite

* Remove unneeded dependencies from r-vfs

* Remove unneeded dependencies from r-vgam

* Remove unneeded dependency from r-xlconnectjars

* Remove unneeded dependency from r-xlsxjars

* Remove unneeded dependency from r-xnomial

* Remove ~mpi from fftw dependency of swftools

* Apply suggestions from code review

Add latest round of suggestions from Adam Stewart.

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

* Fix rjsonio spec for r-rgooglemaps

The r-rjsonio spec is a when conditional.

* Rename 3 R.* packages

- r-utils --> r-r-utils (R.utils)
- r-oo --> r-r-oo (R.oo)
- r-methodss3 --> r-r-methodss3 (R.methodsS3)

Also, renamed dependencies in packages that depend on these three.

* Loosen version constraint on mariadb for r-rmysql

Make the mariadb constraint on mariadb-5.5 rather than the more
specific, and limiting, mariadb-5.5.56. This will allow an external
mariadb, such as mariadb-5.5.60 on CentOS-7.5 to be used. It also allows
for r-rmysql to be built against newer versions of the mariadb-5.5
series that might be added to spack.
2019-08-30 18:22:13 -05:00
Adam J. Stewart
9c98323080 Add athena package (#12663)
* Add athena package

* Flake8 fix

* Fix missing separator error

* Add master branch
2019-08-30 18:18:33 -05:00
brietzke
7e7e0723b5 gtkplus package: add variant for CUPS support (#12566)
Default is ~cups (no CUPS support). Before this option, gtkplus would
potentially use a system-installed version of CUPS.
2019-08-30 15:03:44 -07:00
Phil Tooley
f759eda3ae extrae package: add 3.7.1, optionalise dyninst, papi (#11978)
* Convert to Autotools package
* dyninst and papi are now optional (off by default)
* limit dyninst version to < 10 (see
  https://github.com/bsc-performance-tools/extrae/issues/30)
* Add numactl dependency
* Enable parallel installs for 3.7 and later
* Set EXTRAE_HOME in module files and for dependent package installs
* Generalize cxx11 support flag (previously it was using a specific
  syntax and this updates it to use the cxx11 support flag for the
  compiler in use).
2019-08-30 11:28:14 -07:00
Jimmy Tang
517846003f kaldi package: fix installation of libraries (#12177)
* The install for kaldi was copying library symlinks but not the
  actual library files, this makes sure to copy the libraries
* All libraries are installed to 'prefix.lib' (the original
  library directory structure is no longer maintained)
* The install step for executables did not account for the different
  dynamic library suffix on MacOS
2019-08-30 11:11:06 -07:00
Sinan
f635a376bd New package: py-oauthlib (#12528) 2019-08-30 10:57:59 -07:00
George Hartzell
36933901ba gtkplus: package cairo dependency must be +gobject (#12655)
e891cc4 updated the cairo package to make gobject support optional
and disabled it by default. gtkplus requires gobject support so this
explicitly enables +gobject on the cairo dependency of gtkplus.
2019-08-30 10:47:53 -07:00
Adam J. Stewart
19ed010b0c Add py-pytest 5.1.1 (#12660) 2019-08-30 12:45:18 -05:00
Adam J. Stewart
0819a29fe2 Add py-packaging 19.1 (#12659) 2019-08-30 12:44:59 -05:00
Adam J. Stewart
d58a2a704d Add py-pluggy 0.12.0 (#12658) 2019-08-30 12:44:15 -05:00
Adam J. Stewart
81a514c2e6 Add py-importlib-metadata package (#12657) 2019-08-30 12:43:55 -05:00
Adam J. Stewart
cdcf814003 Add py-zipp package (#12656) 2019-08-30 12:43:37 -05:00
Peter Scheibel
9432d4c7ee Archive all patches in a package after install (#12653)
When Spack installs a package it writes the package.py file and
patches to a separate repository (which reflects the state of the
package at the time it was installed). Previously, Spack only wrote
patches that were used at installation time. This updates the
archiving step to include all patch files that are relevant to the
package (in case that repository is used in another context).
2019-08-30 10:33:18 -07:00
t-karatsu
0c421589e6 Fujitsu compiler: Add flags for c11/c99 (#12622)
* Fujitsu compiler: Add flags for c11/c99

* Add unit tests about supported flags
2019-08-30 11:25:34 -05:00
Sinan
4483473483 OpenSceneGraph package: add version 3.6.4; update URL and checksums (#12626)
Replace old checksums with sha256 checksums
2019-08-29 15:38:49 -07:00
Mark W. Krentel
f8e2dbc488 hpctoolkit: tighten some dependencies
Change the depends_on type from default (build + link) to just 'link'
for binutils and a few other packages.  We don't use the binutils
utilities (only libs).  On cori at NERSC (Cray), this was breaking the
build by covering up the system ld.
2019-08-29 14:07:16 -07:00
Janne Blomqvist
f5948fa5e9 elpa package: add version 2018.11.001 (#12645)
Remove designation of 2017.11.001 as preferred version
2019-08-29 14:06:42 -07:00
brietzke
a9e6d75230 emacs package: add version 26.2, jpeg dependency (#12632) 2019-08-29 14:04:09 -07:00
健美猞猁
152a840cff Scalpel package: remove CMake dependency (#12631)
Scalpel does not depend on CMake
2019-08-29 14:03:12 -07:00
Kevin Manalo
5de29a5130 NAMD package: add version 2.13 (#12616) 2019-08-29 14:00:06 -07:00
Kevin Manalo
ff6c00e9ba ABINIT package: add version 8.10.3 (#12615) 2019-08-29 13:59:26 -07:00
Matthias Diener
4ef4877a6f mc package: add version 4.8.23 (#12605) 2019-08-29 13:58:10 -07:00
Sinan
64364260ef New package: py-ecdsa (#12598) 2019-08-29 13:57:36 -07:00
Sinan81
d882785c9e new package: py-python-jenkins 2019-08-29 13:56:10 -07:00
Sinan
1f56c1e647 New package: py-mysqlclient (#12594) 2019-08-29 13:49:50 -07:00
Howard Pritchard
292baab069 paraview: use Spack-built libpng (#12587) 2019-08-29 13:18:37 -07:00
Sinan
7badb818cd qjson package: enable building with qt4 (#12577) 2019-08-29 11:56:08 -07:00
Sinan
f03a9e8ac6 qtkeychain package: enable building with qt4 (#12578) 2019-08-29 11:55:11 -07:00
Sinan
972759896e QCA package: add version 2.2.1 and update CMake args (#12576)
* Version 2.1.3 requires QT version 5.10.0 or earlier
* Add CMAKE_CXX_STANDARD=11 argument
* Add CMake argument when building against qt@4
2019-08-29 11:47:46 -07:00
Geoffrey M Oxberry
53e9e4d7de bugfix: atk build requires libffi to detect glib 2019-08-29 11:00:01 -07:00
Sinan81
c9a3cfee58 new package: py-repoze-lru 2019-08-29 10:59:05 -07:00
Sinan
60afca9f3c New package: py-pyudev (#12554) 2019-08-29 10:55:37 -07:00
Sinan
9bd9be037a New package: py-pytest-cache (#12552) 2019-08-29 10:49:56 -07:00
Sinan
12dc64159f New package: py-pydotplus (#12537) 2019-08-29 10:33:03 -07:00
Sinan
55099d89c1 Qt@4.8.7: fix build issue due to +phonon variant, disable phonon backend (#12579)
* fix build issue that shows up with +phonon variant, disable phonon backend gstreamer until it is setup

* provide in code explanation
2019-08-29 12:24:17 -05:00
Greg Becker
c8b613d261 fix packaging_guide variant table (#12296) 2019-08-29 09:35:48 -06:00
Christoph Junghans
ae70c75e3c portage: fix linkage against openblas (#12641) 2019-08-29 07:14:13 -06:00
Pariksheet Nanda
300d9d5a62 hdf5: patch out mpicxx lib when +mpi~cxx fixes #12586 (#12640) 2019-08-28 21:49:52 -05:00
健美猞猁
85e13ebc03 bowtie package: add version 1.2.3 (#12593)
* Only apply issue-87.patch for versions before 1.2.3
* 1.2.3 builds fine with gcc@8:, but 1.2.2 and 1.2.2_p1 both fail
  (with or without the patch) so the conflict is updated to exclude
  only these two versions.
2019-08-28 18:46:22 -07:00
Julien Loiseau
eee07522fa Correcting FleCSI package (#12629)
* Adding flecsph package

* Correcting header

* Boost version update

* Correcting Flake8 errors

* Correcting headers

* Develop preferred in FleCSI
2019-08-28 19:44:45 -06:00
Sinan
e0aa439d3b New package: py-pycuda (#12592) 2019-08-28 18:36:25 -07:00
Sinan81
5bf5a58116 new package: py-pyglet 2019-08-28 18:32:51 -07:00
Sinan
4aa5928311 New package: py-wand (#12590) 2019-08-28 18:32:08 -07:00
Sinan
bd1a837bee New package: py-planar (#12589) 2019-08-28 18:25:49 -07:00
Adam J. Stewart
9b7ccbab86 Add py-numpy 1.17.1 (#12618) 2019-08-28 10:32:56 -05:00
Adam J. Stewart
91f05dd599 Add py-scipy 1.3.1 (#12620) 2019-08-28 10:32:23 -05:00
Sinan
1ccd7e5a89 New package: py-nose2 (#12522) 2019-08-27 18:18:14 -07:00
Geoffrey M Oxberry
56fd9bc7b6 AutotoolsPackage: remove redundant libtoolize call
This commit removes redundant calls to `libtoolize` and `aclocal`.

Some configurations, such as a Spack user using macOS with a
Homebrew-installed `libtool` added to their `packages.yaml`, have
`autoreconf` and GNU libtoolize installed as `glibtoolize`, but not
`libtoolize`. While Spack installations of `libtool` built from source
would install `glibtoolize` and symlink `libtoolize` to `glibtoolize`,
an external installation of GNU libtoolize as `glibtoolize` will not
have such a symlink, and thus the call `m.libtoolize()` will throw an
error because `libtoolize` does not exist at the path referenced by
`m.libtoolize()` (i.e.,
`self.spec['libtool'].prefix.bin.join('libtoolize')).

However, on these same systems, `autoreconf` runs correctly, and calls
`glibtoolize` instead of `libtoolize`, when appropriate. Thus,
removing the call to `libtoolize` should resolve the error mentioned
above.

The redundant call to `aclocal` is also removed in this commit because
the maintainers of GNU Automake state that "`aclocal` is expected to
disappear" and suggest that downstream users never call `aclocal`
directly -- rather, they suggest calling `autoreconf` instead.
2019-08-27 18:03:56 -07:00
Sinan
953f2a3f5d New package: py-liblzma (#12549) 2019-08-27 17:29:10 -07:00
Stephen Hudson
cd5b97f3fd libensemble package: add version 0.5.2 (#12514)
* Make mpi, scipy, petsc4py, and nlopt support optional
* Later versions depend on python@3.5:
* Versions before 0.4.1 must build with MPI: add a conflict for
  @:0.4.1~mpi
2019-08-27 16:39:43 -07:00
Hironori-Yamaji
bf7cb3dca9 New package: openfdtd (#12498) 2019-08-27 16:32:18 -07:00
Julien Loiseau
02bb1d5ec6 Adding FleCSPH package. (#12525)
* Adding flecsph package

* Correcting header

* Boost version update

* Correcting Flake8 errors

* Correcting headers
2019-08-27 14:50:31 -06:00
Geoffrey Oxberry
72ad072422 cuda: add conflict with macOS Mojave (#12570) 2019-08-27 10:36:07 -07:00
Massimiliano Culpo
2e8aa6cb24 Configuration schema are checked against jsonschema draft 4 meta-schema (#10247)
fixes #10246
2019-08-27 09:31:18 -06:00
Greg Becker
dce9fc4d63 libxml2: pass location for libiconv to build system (#12588) 2019-08-27 09:29:01 -06:00
Geoffrey Oxberry
4b767b83a9 raja~openmp: explicitly disable OpenMP in CMake (#12572)
Before this commit, CMake would still attempt to detect OpenMP, even
if RAJA were being installed with `spack install raja~openmp`, because
the option `ENABLE_OPENMP` is set to "On" by default. This commit
explicitly disables OpenMP when the Spack install spec contains
'~openmp`, ensuring that CMake does not attempt to detect and link
with OpenMP.
2019-08-27 14:00:40 +02:00
Geoffrey Oxberry
59486ad072 gtksourceview: add GIR file search path (#12569) 2019-08-27 10:32:44 +02:00
Geoffrey Oxberry
ee710fd170 librsvg: new package (#12567) 2019-08-27 10:30:45 +02:00
Geoffrey Oxberry
e891cc49d5 cairo: add gobject variant (#12568) 2019-08-27 10:29:50 +02:00
Sinan
b1d24d5673 New package: py-pytools (#12553) 2019-08-26 19:00:06 -07:00
Sinan81
b74b36901e new package: py-scp 2019-08-26 18:54:32 -07:00
Sinan81
85cafffec4 new package: py-ratelim 2019-08-26 18:53:49 -07:00
brietzke
f540afeed7 Motif package: add jpeg dependency (#12559) 2019-08-26 18:52:22 -07:00
Sinan
9a54139a2d New package: py-sgp4 (#12557) 2019-08-26 18:51:33 -07:00
brietzke
8f771acc1e json-fortran: add new version 7.1.0 2019-08-26 18:47:56 -07:00
Sinan
411b011578 New package: py-pyjwt (#12532) 2019-08-26 15:45:56 -07:00
Sinan
0ec55b093e New package: py-overpy (#12533) 2019-08-26 15:44:57 -07:00
Adam J. Stewart
f31e87935e RPackage docs: use cloud.r-project.org (#12471) 2019-08-25 12:34:58 -05:00
Geoffrey Oxberry
01783789a0 gobject-introspection: add GIR file search path (#12564) 2019-08-24 09:44:20 -07:00
Geoffrey Oxberry
16e54646ea hypre@2.17.0: new version (#12562) 2019-08-24 09:43:57 -07:00
Ben Boeckel
c22a145344 Add implicit rpaths to compiler detection (#7153)
Uses code from CMake to detect implicit link paths from compilers
System paths are filtered out of implicit link paths
Implicit link paths added to compiler config and object under `implicit_rpaths`
Implicit link paths added as rpaths to compile line through env/cc wrapper

Authored by: "Ben Boeckel <ben.boeckel@kitware.com>"
Co-authored by: "Peter Scheibel <scheibel1@llnl.gov>"
Co-authored by: "Gregory Becker <becker33@llnl.gov>"
2019-08-24 06:21:45 -07:00
Sinan
a7e9f477fc New package: py-morph (#12550) 2019-08-23 18:08:26 -07:00
Sinan
e9d8071086 New package: py-pydot2 (#12535) 2019-08-23 17:49:44 -07:00
Sinan
a9cd44cc2e New package: py-pykml (#12539) 2019-08-23 17:27:36 -07:00
Axel Huebl
24c052de39 openPMD-api package: require newer nlohmann-json (#12546)
Update minimal required version of the `nlohmann-json`
dependency.
2019-08-23 17:26:54 -07:00
Sinan
cdcc05db0a New package: py-cov-core (#12526) 2019-08-23 17:21:08 -07:00
Kevin Manalo
fd4eed117d ESMF & NCL packages: Bug fixes for Intel Compilers (#11923)
* esmf: add patch when building with intel for 7.0.x
* esmf: set Makefile variables required to propagate CXX/F90 flags
* ncl: add ymake patch for @6.4.0:
* ncl: add pixman, bzip2, freetype dependencies
2019-08-23 17:16:09 -07:00
Toyohisa Kameyama
6a730d7059 Julia package: add ARM support and versions 1.1.1, 1.0.0 (#12300)
* Add patch when building with GCC on ARM
* Update syntax for adding Julia packages based on version (newer
  versions use a different syntax)
2019-08-23 16:29:14 -07:00
Sinan
c7c8f60617 New package: py-fastcache (#12451) 2019-08-23 15:54:50 -07:00
Sinan
15c64d93b7 New package: py-filemagic (#12452) 2019-08-23 15:53:09 -07:00
Tiziano Müller
c0cb92b2f6 SIRIUS package: add v6.3.2 + Python/MKL support (#12472)
* Add version 6.3.2 (which does not require patches like 6.1.5)
* Add +python variant to build Python bindings
* Option to build shared libraries does not exist for newer
  versions including 6.3.2
* Update 'libs' property (library names are different for newer
  versions)
* Add support to detect and build with MKL as blas provider
2019-08-23 15:51:51 -07:00
Sinan
a38edff0c8 New package: py-kitchen (#12464) 2019-08-23 15:24:10 -07:00
Kelly (KT) Thompson
fdd7314cd1 New package: py-opppy (#12483) 2019-08-23 15:22:31 -07:00
brietzke
c900cd64c3 eccodes package: apply cmake-patch only when @:2.10 (#12512) 2019-08-23 15:09:28 -07:00
Greg Sjaardema
b8175e3fae SEACAS package: add fixed versions and adios2 variant (#12503)
SEACAS is now using versions instead of just relying on always
installing master. There are now tagged versions.

The most recent version is the first that can be used with a
non-patched develop version of the CGNS package; previously, seacas
required that the CGNS library have some internally-developed patch
applied, but this is no longer needed.

Also, added support for adios2 package with the adios2 variant.
This currently defaults to off.
2019-08-23 15:08:02 -07:00
Greg Sjaardema
4ff95dbd85 parallel-netcdf package: add version 1.11.2 (#12502) 2019-08-23 15:03:25 -07:00
Paul
6a417fc35c Go package: add version 1.12.9 (#12496) 2019-08-23 15:00:44 -07:00
sameershende
b1a9edbc7c tau package: add version 2.28.2 (#12524) 2019-08-23 14:41:28 -07:00
Chuck Atkins
052b62153e ecp-io-sdk: add UnifyFS and VeloC (#12486)
* ecp-io-sdk: Update UnifyFS

* ecp-io-sdk: Enable VeloC
2019-08-23 14:14:11 -04:00
Tamara Dahlgren
b42324c23b bugfix: template create constructor args (#12536)
c9e214f updated template creation by passing **kwargs to package
template classes but the template classes were not updated to accept
them; this adds **kwargs to package template initializers where they
are needed.
2019-08-23 10:45:17 -07:00
Sinan
f199b2d42e new package: py-blinker (#12531) 2019-08-23 11:03:16 -05:00
Sinan
e8f0e6936c new package: py-path-py (#12534) 2019-08-23 10:49:14 -05:00
Hironori-Yamaji
00bb6a0b37 openstf: new package (#12538) 2019-08-23 10:40:09 -05:00
Sinan
dd8efee17e new package: py-simplekml (#12541)
* new package: py-simplekml

* add python dependency version info
2019-08-23 10:33:54 -05:00
Sinan
54d561a443 new package: py-pytailf (#12542) 2019-08-23 10:32:50 -05:00
Sinan
74ad9ff70c new package: py-termcolor (#12544) 2019-08-23 10:31:49 -05:00
Valentin Clement (バレンタイン クレメン)
edae707b9c Add version 2.0 (#12545) 2019-08-23 10:30:39 -05:00
Seth R. Johnson
c86006e948 Skip invisible non-packages in package directory. (#12467)
Having a non-directory invisible file causes `spack find` to die. This
fixes the logic to ignore invalid module names but only warn if they're
visible.
```
NotADirectoryError: [Errno 20] Not a directory: '/spack/var/spack/repos/builtin/packages/.DS_Store/package.py'
```
2019-08-23 06:42:17 +02:00
Phil Carns
a707c5bd2b libfabric package: add kdreg variant (off by default) (#12521)
This variant (off by default) adds support for the kdreg option in
the GNI provider. It is disabled by default in order to avoid
potential runtime conflicts with the cray-mpich library. Only one
library at a time can use this feature.

This patch allows the libfabric package to work correctly out of
the box on systems like Cori at NERSC (since it's CLE7 update).
Otherwise the spack build may autodetect kdreg headers on the system
and enable this problematic feature.
2019-08-22 17:02:56 -07:00
Jennifer Herting
21f2a1ef83 py-cloudpickle package: add version 1.2.1 (#12518) 2019-08-22 16:56:47 -07:00
Greg
d5c3cc0a85 esmf: add v7.1.0r, with a gcc patch for macOS (#12509) 2019-08-22 16:55:56 -07:00
Sinan
0e907326f5 New package: py-multi-key-dict (#12508) 2019-08-22 16:55:11 -07:00
Hironori-Yamaji
3607aa486f New package: EEM (#12321) 2019-08-22 16:05:22 -07:00
Axel Huebl
7b2470236e nlohmann-json: v3.7.0 (#12517)
* nlohmann-json: 3.7.0

The version 3.6.0 fix compile issues with GCC 9.0.

* nlohmann-json: proper test handling

tests are controlled via `spack install --test root|all ...`
instead of a variant.
2019-08-22 20:32:06 +02:00
Tamara Dahlgren
c9e214f6d3 Spack BundlePackage: a group of other packages (#11981)
This adds a special package type to Spack which is used to aggregate
a set of packages that a user might commonly install together; it
does not include any source code itself and does not require a
download URL like other Spack packages. It may include an 'install'
method to generate scripts, and Spack will run post-install hooks
(including module generation).

* Add new BundlePackage type
* Update the Xsdk package to be a BundlePackage and remove the
  'install' method (previously it had a noop install method)
* "spack create --template" now takes "bundle" as an option
* Rename cmd_create_repo fixture to "mock_test_repo" and relocate it
  to shared pytest fixtures
* Add unit tests for BundlePackage behavior
2019-08-22 11:08:23 -07:00
Omar Padron
47238b9714 new package: libglvnd (#12183)
* new package: libglvnd

* remove virtual provides from libglvnd

libglvnd does not provide them directly, but
through implementations that depend on it.

* fix flake8 errors

* libglvnd: fix style/remove unecessary variants

* remove older libglvnd version

* explicitly enable all libglvnd stubs

* libglvnd: conflict with non-linux platform
2019-08-22 14:08:07 -04:00
Satish Balay
892a552495 petsc: update url to gitlab (#12506) 2019-08-22 12:40:47 -05:00
Greg Becker
5af2378ece compiler install: fix bug in construction of compiler spec (#12507) 2019-08-22 09:57:53 -07:00
Derick Huth
fadba727d3 Chill package: build fixes (#12249)
* Specify rose/boost dependencies separately
* Replace custom bootstrap phase with autoreconf phase and fix typo
  when locating bash exe
* Add bison/flex dependencies
* Fix configure args typo
2019-08-21 18:39:06 -07:00
Peter Scheibel
661b1da5d0 'spack spec --yaml' command now writes build deps to yaml (#12317)
This allows "spack spec --yaml" to generate a spec YAML file that can
be used with "spack install -f". Before, this would fail in cases
where the spec had build dependencies.
2019-08-21 18:32:31 -07:00
Chris Green
2499c047f0 Emacs directives for fill-column setting. 2019-08-21 18:21:05 -07:00
Chris Green
ad4309b782 Fetch strategies: new global option no_cache, new git option get_full_repo.
* All fetch strategies now accept the Boolean version keyword option `no_cache` in order to allow per-version control of cache-ability.
* New git-specific version keyword option `get_full_repo` (Boolean). When true, disables the default `--depth 1` and `--single-branch` optimizations that are applied if supported by the git version and (in the former case) transport protocol.
* The try / catch blog attempting `--depth 1` and retrying on failure has been removed in favor of more accurately ascertaining when the `--depth` option should work based on git version and protocol choice. Any failure is now treated as a real problem, and the clone is only attempted once.
* Test improvements:
  * `mock_git_repository.checks[type_of_test].args['git']` is now specified as the URL (with leading `file://`) in order to avoid complaints when using `--depth`.
  * New type_of_test `tag-branch`.
  * mock_git_repository now provides `git_exe`.
  * Improved the action of the `git_version` fixture, which was previously hard-wired.
  * New tests of `--single-branch` and `--depth 1` behavior.
* Add documentation of new options to the packaging guide.
2019-08-21 18:21:05 -07:00
Jon Rood
1b8e0c36cb Percept package: add version (#12434)
* Choose a specific commit as a version (before, the only version was
  the master branch)
* Add CMake patch which allows for building the version added here
  (this replaces the existing patches for percept in Spack)
* Update trilinos dependency
2019-08-21 18:00:41 -07:00
Axel Huebl
7770372100 New package: c-blosc2 (#12430) 2019-08-21 17:52:05 -07:00
Sinan81
63f5054140 new package: py-grequests 2019-08-21 17:50:17 -07:00
liuyangzhuan
7303b6cdc9 ButterflyPACK package: add URL, versions 1.0.0 and 1.0.1 (#12428) 2019-08-21 17:23:18 -07:00
Mark Olesen
e47b65a2a7 Remove package: of-adios-write (#12443)
old (adios1) integration is not supported, maintained, or recommended
for openfoam. The of-adios-write package serves no purpose any more.
2019-08-21 17:14:13 -07:00
Chris Green
ccb688f575 Fix to option text for help command. (#12444) 2019-08-21 17:11:24 -07:00
Sinan81@github
9ae6a07fe8 new package: py-empy 2019-08-21 17:07:08 -07:00
Sinan
be302cac1f New package: py-fallocate (#12450) 2019-08-21 16:51:25 -07:00
Sinan81
82080f0bc9 new package: Exiv2 2019-08-21 16:47:13 -07:00
Mark Olesen
bec358941d re2c package: add version 1.2.1 (#12455) 2019-08-21 16:45:19 -07:00
Pariksheet Nanda
105da8de02 py-deeptools: add 3.3.0 (#12456)
Also update dependencies to build latest py-deeptools versions and
add a patch to run tests:

* Replace pypi URL with github URL to download tests
* Update dependency versions of py-pysam, py-matplotlib
* Add new py-deeptoolsintervals package as a dependency
* Add py-plotly and py-nose dependencies
* Patch setup.py to collect and run tests
2019-08-21 16:43:44 -07:00
Mark W. Krentel
918da9aa55 hpcviewer: add version 2019.08 2019-08-21 16:30:15 -07:00
Sinan
886ecb97e3 New package: py-fortranformat (#12459) 2019-08-21 16:24:34 -07:00
Sinan81
d8d506e39a new package: py-geoalchemy2 2019-08-21 16:22:34 -07:00
Sinan
f1b377b3d5 New package: libsecret (#12461) 2019-08-21 16:20:26 -07:00
Sinan
fd6485efac new package: py-mechanize (#12468) 2019-08-21 16:17:51 -07:00
Sinan81
17ee9c7229 new package: QtKeychain 2019-08-21 16:12:33 -07:00
Sinan81
08e389cb7d new package: py-humanize 2019-08-21 16:10:51 -07:00
Peter Scheibel
5127d95b2e properly format message with all paths that could not be used. also report canonicalized paths vs. Spack config variables like 'tempdir' (#12492) 2019-08-21 15:46:12 -07:00
Chuck Atkins
77e4e3d87e mercury: Fix CMake 3.15 configure error (#12504) 2019-08-21 13:28:20 -04:00
Chris Green
2441c0bad7 pkg command uses a working directory for git invocations rather than -C. (#12491) 2019-08-21 09:31:27 -07:00
Greg Becker
3b115fffb1 permissions: fix file permissions on intermediate install directories (#12399)
- mkdirp now takes arguments to allow it to properly set permissions on created directories.
- Two arguments (group and mode) set permissions for the leaf directory.
- Intermediate directories can inherit permissions from either the topmost existing directory (the parent) or the leaf.
2019-08-20 23:08:02 -07:00
Todd Gamblin
368bf2d69c stage: avoid using group name in _first_accessible_path()
On machines where $TMP is owned by a gid with no name, this avoids the
following error when the default spack stage does not exist:

    (spackbook):spack$ spack clean
    ==> Removing all temporary build stages
    ==> Error: 'getgrgid(): gid not found: 57095'

Spack needs to deal with gids directly unless users pass them in.
2019-08-20 14:52:53 -07:00
Jeffrey Salmond
a41014ed9e mvapich2 depends on slurm when built with process_managers=slurm (#12489) 2019-08-20 16:43:28 -05:00
Daryl W. Grunau
dbbccd1303 prefix -> self.prefix (#12487) 2019-08-20 16:41:41 -05:00
Cameron Stanavige
11c0a7882d UnifyFS: new package - rename from UnifyCR (#12439)
UnifyCR has been renamed to UnifyFS. Renaming the Spack package is
the last step in this process.

This renames the package and changes any UnifyCRs to UnifyFS within
the package.
2019-08-20 11:13:22 -05:00
Ryan S. Elliott
7737d623b0 kim-api: added version 2.1.3 (#12457) 2019-08-20 16:29:17 +02:00
Teodor Nikolov
118e20a087 Add Kokkos 2.9.0 (#12466) 2019-08-20 13:07:11 +02:00
健美猞猁
6d959494d4 r: added version 3.6.1. (#12470) 2019-08-20 11:13:18 +02:00
Tamara Dahlgren
aed204e409 cleanup: remove extraneous prints (#12474)
Removes messages accidentally introduced in #12072 .
2019-08-19 14:49:09 -07:00
Peter Scheibel
31ff791180 features: Update compiler caching (#7675)
Compiler caching was using the `id()` function to refer to configuration dictionary objects. If these objects are garbage-collected, this can produce incorrect results (false positive cache hits). This change replaces `id()` with an object that keeps a reference to the config dictionary so that it is not garbage-collected.
2019-08-19 11:24:05 -07:00
Tamara Dahlgren
0ea6e0f817 features: Remove stage symlinks (#12072)
Fixes #11163

The goal of this work is to simplify stage directory structures by eliminating use of symbolic links. This means, among other things, that` $spack/var/spack/stage` will no longer be the core staging directory. Instead, the first accessible `config:build_stage` path will be used.

Spack will no longer automatically append `spack-stage` (or the like) to configured build stage directories so the onus of distinguishing the directory from other work -- so the other work is not automatically removed with a `spack clean` operation -- falls on the user.
2019-08-19 10:31:24 -07:00
Pariksheet Nanda
64de824cf6 py-pyfaidx: tweak dependencies; fixes #12445 (#12446)
* py-pyfaidx: tweak dependencies; fixes #12445

* py-pyfaidx: add suggestions for #12446
2019-08-16 22:41:32 -05:00
Dan Lipsa
39ad0efb9a Solve compilation error on summit. (#12305)
* This constexpr does not compile on summit.

I tried gcc6.4 and gcc7.4

* Add link the the llvm bug report.
2019-08-16 15:27:35 -04:00
Zack Galbreath
cef1e4e0b4 Do not report on packages installed from the cache (#12336)
Skip generating reports for any packages that were found in the binary cache.
2019-08-16 10:19:11 -07:00
Frédéric Simonis
7bb08b6ecb preCICE: Fix Eigen include directory (#12441) 2019-08-16 09:00:01 -05:00
Greg Becker
0307b5a3dc mirrors: make spack mirror environment aware (#12345)
Allow "spack mirror" with no spec arguments to create a mirror for the
active environment (download all concretized specs in the environment)
2019-08-15 18:45:17 -07:00
Sinan
46e8de914a new package: laszip (#12432) 2019-08-15 19:07:40 -05:00
Pariksheet Nanda
862b3b00df camx: add version 6.50 (#12437)
* camx: add version 6.50

* camx: remove unpredictable download URL

* camx: install manual and data files
2019-08-15 19:07:22 -05:00
Adam J. Stewart
f568f19b13 Overhaul PyTorch package (#12420)
* Overhaul PyTorch package

* Flake8

* Distributed requires MPI, NCCL not specified correctly

* Binary was being specified incorrectly

* Run tests at install time

* Disable GLOO in addition to GLOO_IBVERBS
2019-08-15 17:54:09 -05:00
Mark W. Krentel
3a78f0e0fd hpctoolkit: add version 2019.08.14 (#12435)
Add version 2019.08.14 and rename 'develop' to 'master' to match the
git branch name (now that master is also a special name).
2019-08-15 17:53:41 -05:00
Michael Kuhn
0cdcee92fb go: Add 1.12.8 and 1.11.13 (#12433)
Both address security issues:
https://groups.google.com/forum/#!topic/golang-nuts/fCQWxqxP8aA
2019-08-15 17:01:43 -05:00
Seth R. Johnson
4b400d5032 Update VisIt to version 3.0.1 and fix on mac (#12396)
* Add option to disable QTDesigner plugin for qwt

Qt designer shouldn't be necessary to build downstream GUI code.
Currently `qwt^qt~tools` fails to build:

(darwin clang@10.0.1)
```
compiling qwt_designer_plugin.cpp
compiling qwt_designer_plotdialog.cpp
moc qwt_designer_plugin.h
moc qwt_designer_plotdialog.h
rcc qwt_designer_plugin.qrc
qwt_designer_plugin.h:23: Error: Undefined interface
make[1]: *** [moc/moc_qwt_designer_plugin.cpp] Error 1
make[1]: *** Waiting for unfinished jobs....
qwt_designer_plugin.cpp:17:10: fatal error: 'QDesignerFormEditorInterface' file not found
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[1]: *** [obj/qwt_designer_plugin.o] Error 1
make: *** [sub-designer-make_default-ordered] Error 2
```

* Update VTK for newer VisIt and compiler versions

Several changes/enhancements to VTK package

---

Add version 8.1.0 (default version for VisIt 3.x)

---

Tweak VTK options for version 8 and VisIt:

- only add mpi4py version option when mpi4py is enabled
- Require object factory for downstream packages
- Remove OpenGL preference for VTK 8

---

Combine +python3 into +python

The spec for using python3 should just be `+python^python@3:`.

---

Remove unused VTK cmake argument on newer version

---

Patch for Python 3 fails on VTK 6.1 (needed for VisIt 2.x):
```
==> Patch /rnsdhpc/code/spack/var/spack/repos/builtin/packages/vtk/python3.7-const-char.patch failed.
==> Error: ProcessError: Command exited with status 1:
    '/usr/bin/patch' '-s' '-p' '1' '-i' '/rnsdhpc/code/spack/var/spack/repos/builtin/packages/vtk/python3.7-const-char.patch' '-d' '.'
```

and as it happens, VisIt 2.13 is incompatible with Python 3 anyway.

---

Fix compiler error:

As spack's configuration warning says, double-quotes can cause trouble:
```
==> [2019-07-29-11:47:55.269653] Warning: Quotes in command arguments can confuse scripts like configure.
  The following arguments may cause problems when executed:
      -DVTK_REQUIRED_OBJCXX_FLAGS=""
  Quotes aren't needed because spack doesn't use a shell.
  Consider removing them
```
They were being added to the compile line, causing clang to think it was
asked to compile an empty file:
```
cd /private/var/folders/fy/x2xtwh1n7fn0_0q2kk29xkv9vvmbqb/T/s3j/spack-stage/spack-stage-3nk9bwe_/spack-build/Rendering/OpenGL && /rnsdhpc/code/spack/lib/spack/env/clang/clang++  -DVTK_IN_VTK -DvtkRenderingOpenGL_EXPORTS -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks  -DGLX_GLXEXT_LEGACY  -O2 -g -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fPIC   -fvisibility=hidden -fvisibility-inlines-hidden "" -o CMakeFiles/vtkRenderingOpenGL.dir/vtkCocoaGLView.mm.o -c /rnsdhpc/code/spack/var/spack/stage/vtk-6.1.0-b2mj276iz77fadisv2me365qe27t3gxt/spack-src/Rendering/OpenGL/vtkCocoaGLView.mm
clang: error: no input files
make[2]: *** [Rendering/OpenGL/CMakeFiles/vtkRenderingOpenGL.dir/vtkCocoaGLView.mm.o] Error 1
```

* Modernize/PEP-8 visit package statements

* Add new VisIt version and patches for building on Mac

- VisIt's cmake assumes a 'vtk(tiff|jpeg|png)' *library* target exported by
  VTK, but VTK 8.1.x on my configuration seems to have these as header-only
  targets with library dependencies.
- Explicitly add QT path to visit configure: Without this, somehow
  `${VISIT_QT_DIR}` was being set to empty, so that the build failed with
  `missing /bin/moc`.
- VisIt assumes that if it isn't being built statically, QWT has been built as
  a mac Framework. QWT actually is built as a framework based on whether QT
  itself is.

Error message:
```
-- Looking for QWT
CMake Error at CMake/SetUpThirdParty.cmake:131 (MESSAGE):
    Include Directory for QWT (/rnsdhpc/code/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/qwt-6.1.3-bmfxirweplzhjoiil4rw632evkyteuwk/lib/qwt.framework/Versions/Current/Headers) does not exist.
Call Stack (most recent call first):
  CMake/FindQwt.cmake:57 (SET_UP_THIRD_PARTY)
  CMakeLists.txt:1251 (INCLUDE)
```
2019-08-15 10:13:45 -05:00
Axel Huebl
ce15510566 ADIOS 2.4.0: Add new Deps (#12414)
* ADIOS 2.4.0: Add new Deps

Version 2.4.0 of ADIOS2 added new dependencies that are not
yet listed as `depends_on` and/or disabled otherwise. Add them
now to avoid picking them up from system paths, e.g. `libpng`.

* ADIOS2: Variant Defaults Change

* Python: False by default
* ADIOS1: only used prior to 2.3.0
2019-08-15 10:11:35 -05:00
Seth R. Johnson
283f355b10 Update icu4c to version 64.1 (#12429)
Version 60.1 fails to build on linux with clang@7.0.1 and clang@8.0.0:

```
digitlst.cpp:508:9: error: use of undeclared identifier 'freelocale'
        freelocale(gCLocale);
        ^
   clang++     ...  coll.cpp
digitlst.cpp:520:26: error: use of undeclared identifier 'LC_ALL_MASK'
    gCLocale = newlocale(LC_ALL_MASK, "C", (locale_t)0);
                         ^
   clang++     ...  sortkey.cpp
   clang++     ...  bocsu.cpp
   clang++     ...  ucoleitr.cpp
   clang++     ...  ucol.cpp
   clang++     ...  ucol_res.cpp
2 errors generated.
   clang++     ...  ucol_sit.cpp
   clang++     ...  collation.cpp
*** Failed compilation command follows:
----------------------------------------------------------
/projects/spack/lib/spack/env/clang/clang++ -D_REENTRANT
-DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1 -DU_HAVE_STRTOD_L=1
-DU_HAVE_XLOCALE_H=1 -I. -I../common -DU_ATTRIBUTE_DEPRECATED=
-DU_I18N_IMPLEMENTATION -std=c++11 -W -Wall -pedantic -Wpointer-arith
-Wwrite-strings -Wno-long-long -c -DPIC -fPIC -o digitlst.o digitlst.cpp
--- ( rebuild with "make VERBOSE=1 all" to show all parameters )
--------
make[1]: *** [digitlst.o] Error 1
make[1]: *** Waiting for unfinished jobs....
   clang++     ...  collationsettings.cpp
make[1]: Leaving directory
`/build/s3j-spack/spack-stage/spack-stage-k9ba3gqo/spack-src/source/i18n'
make: *** [all-recursive] Error 2
```
2019-08-14 22:54:37 -05:00
Shintaro Iwasaki
ae2ab920fb Update BOLT package (#12423)
* bolt: add new versions

* bolt: add argobots dependency

From this version, BOLT uses an external Argobots, not a builtin one.
2019-08-14 21:40:51 -05:00
Daryl W. Grunau
5346d5e966 Fix skopeo dependencies (#12425) 2019-08-14 19:14:33 -05:00
Daryl W. Grunau
b8ffb1cf7f Fix charliecloud dependencies (#12427) 2019-08-14 19:14:00 -05:00
Cameron Stanavige
226f23bc43 UnifyCR: update dependencies and build options (#12216)
* UnifyCR: update dependencies and build options

This adds some specifics about dependencies and conflicts and adds
additional build options and variants. UnifyCR now also has limited
fortran support.

* Remove debug statements condition on Spack debug

Change debug print statements to now be turned on when the -g cflag
is found in the flags the user sets.
2019-08-14 15:50:10 -07:00
Daryl W. Grunau
9e08c7ff47 Package umoci dependency (#12422)
* bump eospac version

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* umoci depends on go-md2man
2019-08-14 17:35:52 -05:00
Christoph Junghans
41c917b6e6 lammps: add version 20190807 (#12424) 2019-08-14 17:35:24 -05:00
Daryl W. Grunau
0c5f5d4d0d New package: device-mapper (#12406)
* bump eospac version

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* new package: device-mapper

* address comments by @hartzell

* extraneous whitespace

* capitalization

* device-mapper -> lvm2

* unprovide device-mapper

* address comments by @adamjstewart

* address comments by @adamjstewart
2019-08-14 14:54:15 -05:00
Justin S
da21d27712 r-rmutil: new package at 1.1.3 (#12417)
* r-rmutil: new package at 1.1.3

* r-rmutil: use cloud.r-project.org
2019-08-14 14:53:57 -05:00
Daryl W. Grunau
a9845da15f New package: go-md2man (#12397)
* bump eospac version

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* new package: go-md2man

* address comments by @adamjstewart
2019-08-14 12:56:51 -05:00
Adam J. Stewart
0f075b0cc8 NCCL: fix build on older Linux systems (#12415) 2019-08-14 12:34:00 -05:00
Toyohisa Kameyama
e620883a3c masurca: build on arm. (#12416)
* remove -minline-all-stringops when target is arm.
* change int3 to raise(SIGTRAP) when target is arm.
2019-08-14 10:38:50 -05:00
Sinan
3a4a513bed add new package: py-python-magic (#12409)
* add new package: py-python-magic

* tidy up

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-08-14 10:37:06 -05:00
Adam J. Stewart
2e6b44328a zstd: fix build linking error (#12413) 2019-08-13 21:09:25 -05:00
Toyohisa Kameyama
c52f8478b2 starce: new version and build on ARM. (#12401)
1. souce URL change to github.
2. Add version 5.1 and 5.2
3. enable build on ARM.
2019-08-13 19:38:45 -05:00
Jordan Ogas
4119886cbc add charliecloud master branch; add dependencies (#12327)
* add master and dependencies

* remove gcc and make

* add variants, make doc and ch-grow dependencies optional

* capitalize description sentence

* move dependencies and variants below version block

* fix typos
2019-08-13 19:37:58 -05:00
Daryl W. Grunau
2c68b7f006 packages/umoci (#12346)
* bump eospac version

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* new package: umoci

* Package -> MakefilePackage

* add missing build phase

* relax expand=False requirement
2019-08-13 19:37:34 -05:00
Sinan
fcf6bb8f45 add new versions (#12393) 2019-08-13 19:35:02 -05:00
Sinan
53e12f66cf add new version (#12394) 2019-08-13 19:34:34 -05:00
Sinan
bb5663701e add new version (#12395) 2019-08-13 19:33:12 -05:00
Toyohisa Kameyama
d752ef38c9 subread: build on ARM. (#12400) 2019-08-13 19:23:52 -05:00
Ricardo Silva
5116312ca2 package/gromacs: simd optimizations autodetection for more versions (#12402)
* gromacs: fix simd detection for pre 2018 versions

* pre 2018 the cmake file was named differently
* fixed up post 2018 patch file which was non pretty

* Trim patch
2019-08-13 19:21:59 -05:00
健美猞猁
5429713eef Add version 2.4.0 for cantera. (#12405) 2019-08-13 19:18:38 -05:00
Gregory Lee
aabdeb9b63 patch opa-psm2 to build with spack wrappers (#12407) 2019-08-13 19:13:21 -05:00
Daryl W. Grunau
c931757d02 Fix package gpgme dependency (#12410)
* bump eospac version

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* build depends on gnupg which provides gpgsm binary
2019-08-13 19:08:50 -05:00
Michael Kuhn
384281bf94 gcc: Add 9.2.0 (#12411) 2019-08-13 19:08:12 -05:00
Peter Scheibel
1f6befabb1 Fix "spack loads" when retrieving upstream modules (#12203)
Fixes #12062

406c791 addressed "spack module load" for upstream modules but not
the "spack module loads" command. This applies the same fixes from
406c791 to "spack module loads".
2019-08-13 11:09:40 -07:00
Tiziano Müller
95fec7adfc CP2K/SIRIUS: add support for building with CUDA, fix CP2K build with MKL (#11418)
* cp2k/sirius: add CUDA support

* cp2k: fix building with MKL

* sirius: make sure to link against Spacks blas/lapack/scalapack
2019-08-13 19:59:08 +02:00
brietzke
68c176998a new package: asagi: create package.py (#11931)
* Create package.py

* applied reviewer suggestions

* Update package.py

* remove CamelCase from variant names

* add comment on why fetching package via git

* found typo in variant to cmake-argumentlist translation

* rename variants to ~nonuma ~nompi to be in sync with cmake-args, refine mpi@3-dependency definition

* Revert "rename variants to ~nonuma ~nompi to be in sync with cmake-args, refine mpi@3-dependency definition"

This reverts commit 58e8cf7d93.

* remove version-preference
2019-08-13 11:13:41 -05:00
Sinan
bb6ec7fb40 Package/grass: fix iconv linking issue (#12165)
* fix iconv linking issue, package_grass fix linking iconv, add more comments
2019-08-12 13:45:05 -07:00
Owen Solberg
230678367c singularity: update version to 3.3.0 (#12295)
* add checksum for singularity release 3.3.0

* update singularity doc URL

URL at the lbl.gov domain has message saying:
"This website is going away soon! Update your bookmarks!"

* add note about build log file for post-install step

* provide links to both 2.x and 3.x security docs

* remove whitespace.  Passing flake8 confirmed locally this time :)

* add TODO comment for fakeroot support
2019-08-12 15:38:15 -05:00
Jean-Paul Pelteret
2cc89fbf69 New package: TexStudio (#12301)
* Poppler library: Add new versions

* Poppler library: Allow building with QT4

* Poppler library: Install header files

* Add patch to Poppler package

* Add new package: TexStudio
2019-08-12 14:48:28 -05:00
Russell J. Hewett
31f9135cbc blaze: converted to CMakePackage (#12357)
The previous version does not properly install the required cmake
configuration files for blaze-lib, so find_package does not work
correctly.

This patch converts the blaze-lib package to use CMakePackage,
adds the required cmake dependency, and removes the install()
member function, which is not working correctly and is no longer
needed.
2019-08-12 14:47:54 -05:00
Geoffrey Oxberry
6de750d860 gtksourceview: new package (#12387) 2019-08-12 14:44:54 -05:00
Janne Blomqvist
490168be4d openblas: fix target detection for cross-compiling (#12390)
In a review of a previous pull request (
https://github.com/spack/spack/pull/10713 ) it was mentioned that the
proper way to figure out the target architecture is via
spec.architecture.target.  This patch fixes this for the openblas
package.

Signed-off-by: Janne Blomqvist <janne.blomqvist@aalto.fi>
2019-08-12 14:43:04 -05:00
Janne Blomqvist
820b220b22 openblas@0.3.7: New version (#12391)
This adds OpenBLAS 0.3.7 (released 2019-08-11).
2019-08-12 14:41:26 -05:00
Kelly (KT) Thompson
5b84d6dff1 Apply xl patch for cce@9: to fix cmake. (#12392) 2019-08-12 14:41:00 -05:00
Daryl W. Grunau
9538889f1c packages/skopeo (#12348)
* bump eospac version

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* new package: skopeo

* address flake8 issues

* address adamjstewart's comments

* use the Executable class and undocumented 'str' feature for output

* Package -> MakefilePackage

* add missing build phase

* patch -> edit phase
2019-08-12 11:28:05 -05:00
Massimiliano Culpo
ab4b5deb97 bugfix: Python 2.6 parsing error (#11867)
Apparently shlex.split can't deal with unicode encoded characters in
Python2.6. The solution is to convert to str before calling the
function.
2019-08-11 13:00:36 -07:00
Seth R. Johnson
172fcb0225 Update SWIG versions and add Fortran fork (#12185)
* Add git repositories for SWIG and SWIG-Fortran

* Fix typo in documentation

* Move 'master' to top of SWIG version list
2019-08-11 12:58:12 -05:00
Glenn Johnson
30cf665d16 Fix py-matplotlib build with Intel compiler (#12144)
Not sure what happened between #5321 and now but the CC=CXX fix now
prevents py-matplotlib from building with the Intel compiler. I verified
with versions of py-matplotlib from 2.0.2 to 3.0.2 and intel-17.0.4 and
19.0.4 that py-matplotlib successfully builds with the Intel compiler
without that code.
2019-08-11 12:57:31 -05:00
Seth R. Johnson
52a737affe Use correct GCC installation when installing clang with GCC (#12381) 2019-08-11 12:40:12 -05:00
Sinan
5532b8e617 new package: qwtpolar (#12382)
* create qwtpolar package

* patch config files so that qwtpolar successfully builds

* make flake8 happy
2019-08-11 12:39:58 -05:00
Frédéric Simonis
33bec18cc2 Add preCICE xSDK support (#12356)
* Add preCICE xSDK support

* Cleanup generation of cmake arguments

* Generalize numpy include

* Fix python spec

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

* Fix numpy spec

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-08-11 12:19:44 -05:00
Adam J. Stewart
0d4114b095 Add NCCL 2.4.8-1 (#12362) 2019-08-10 11:53:29 -05:00
Adam J. Stewart
c5c1d1db43 Port py-poster to Python 3 (#12363)
* Port py-poster to Python 3

* Forgot the patch
2019-08-10 11:53:15 -05:00
Adam J. Stewart
e69456bde2 Add py-clipboard package (#12364) 2019-08-10 11:52:52 -05:00
Adam J. Stewart
6e14e74014 Add py-gee-asset-manager package (#12365) 2019-08-10 11:52:38 -05:00
Adam J. Stewart
889b625452 Add py-geeadd package (#12366) 2019-08-10 11:52:24 -05:00
Adam J. Stewart
8e4d60645f Add py-geeup package (#12367) 2019-08-10 11:52:10 -05:00
Adam J. Stewart
706d57bd23 Add py-google-api-core package (#12368) 2019-08-10 11:51:56 -05:00
Adam J. Stewart
09e0f1ad4e Add py-google-cloud-core package (#12369) 2019-08-10 11:51:41 -05:00
Adam J. Stewart
3c54e55546 Add py-google-cloud-storage package (#12370) 2019-08-10 11:51:27 -05:00
Adam J. Stewart
a3cc7eb4f7 Add py-google-resumable-media package (#12371) 2019-08-10 11:51:12 -05:00
Adam J. Stewart
b329d5f27f Add py-googleapis-common-protos package (#12372) 2019-08-10 11:50:58 -05:00
Adam J. Stewart
fbf386328c Add py-oauth2client package (#12373) 2019-08-10 11:50:43 -05:00
Adam J. Stewart
1d0f61816a Add py-pathlib package (#12374) 2019-08-10 11:50:24 -05:00
Adam J. Stewart
37e59cbd7e Add py-pyperclip package (#12375) 2019-08-10 11:50:10 -05:00
Adam J. Stewart
572bc5cc77 Add py-pysmartdl package (#12376) 2019-08-10 11:49:55 -05:00
Adam J. Stewart
3601f1c825 Add py-retrying package (#12377) 2019-08-10 11:49:41 -05:00
Adam J. Stewart
25b3946e0b Add py-selenium package (#12378) 2019-08-10 11:49:25 -05:00
Sajid Ali
48016366c8 modified: var/spack/repos/builtin/packages/libflame/package.py (#12379) 2019-08-10 11:48:58 -05:00
Cameron Smith
a4a30de8a1 libconfig: add version 1.7.1 (#12324)
* libconfig: add version 1.7.1

* move 1.7.1 above 1.6, latest version is preferred
2019-08-10 11:08:53 -05:00
Seth R. Johnson
54018b488a Fix build for moab 4.9.2 on gcc8 (#12328)
```
5 errors found in build log:
     609      CXX      mbpart.o
     610      CXX      quality.o
     611      CXX      umr.o
     612      CXX      merge.o
     613      CXX      parread.o
     614    mbpart.cpp: In function 'int main(int, char**)':
  >> 615    mbpart.cpp:494:19: error: no match for 'operator<<' (operand types
            are 'std::ostream' {aka 'std::basic_ostream<char>'} and 'std::ostri
            ngstream' {aka 'std::__cxx11::basic_ostringstream<char>'})
     616             std::cerr << tmp_output_file << " : failed to write file."
             << std::endl;
     617             ~~~~~~~~~~^~~~~~~~~~~~~~~~~~
     618    mbpart.cpp:494:19: note: candidate: 'operator<<(int, int)' <built-i
            n>
     619    mbpart.cpp:494:19: note:   no known conversion for argument 2 from
            'std::ostringstream' {aka 'std::__cxx11::basic_ostringstream<char>'
            } to 'int'
     620    In file included from /software/user_tools/centos-7.2.1511/cades-ns
            ed-spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/gcc-8.2.0-uc6sbum
            ioobdbkw4rwfyn2givi4nyvwq/include/c++/8.2.0/iterator:64,
     621                     from /software/user_tools/centos-7.2.1511/cades-ns
            ed-spack/var/spack/stage/moab-4.9.2-77uuzmj4ofb7z7vz6m25sftyks7p5do
            7/spack-src/src/moab/Range.hpp:167,

     ...

     886    /software/user_tools/centos-7.2.1511/cades-nsed-spack/opt/spack/lin
            ux-centos7-x86_64/gcc-4.8.5/gcc-8.2.0-uc6sbumioobdbkw4rwfyn2givi4ny
            vwq/include/c++/8.2.0/ostream:682:5: note: candidate: 'template<cla
            ss _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__
            not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basi
            c_ostream<_Ostream>, std::__is_insertable<typename std::__is_conver
            tible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::v
            alue, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostre
            am_type>::type std::operator<<(_Ostream&&, const _Tp&)'
     887         operator<<(_Ostream&& __os, const _Tp& __x)
     888         ^~~~~~~~
     889    /software/user_tools/centos-7.2.1511/cades-nsed-spack/opt/spack/lin
            ux-centos7-x86_64/gcc-4.8.5/gcc-8.2.0-uc6sbumioobdbkw4rwfyn2givi4ny
            vwq/include/c++/8.2.0/ostream:682:5: note:   template argument dedu
            ction/substitution failed:
     890    /software/user_tools/centos-7.2.1511/cades-nsed-spack/opt/spack/lin
            ux-centos7-x86_64/gcc-4.8.5/gcc-8.2.0-uc6sbumioobdbkw4rwfyn2givi4ny
            vwq/include/c++/8.2.0/ostream: In substitution of 'template<class _
            Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_
            <std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_os
            tream<_Ostream>, std::__is_insertable<typename std::__is_convertibl
            e_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value
            , typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_t
            ype>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream =
             std::basic_ostream<char>&; _Tp = std::__cxx11::basic_ostringstream
            <char>]':
     891    mbpart.cpp:494:22:   required from here
  >> 892    /software/user_tools/centos-7.2.1511/cades-nsed-spack/opt/spack/lin
            ux-centos7-x86_64/gcc-4.8.5/gcc-8.2.0-uc6sbumioobdbkw4rwfyn2givi4ny
            vwq/include/c++/8.2.0/ostream:682:5: error: no type named 'type' in
             'struct std::enable_if<false, std::basic_ostream<char>&>'
     893      CXXLD    mbdepth
     894      CXXLD    hexmodops
  >> 895    make[2]: *** [mbpart.o] Error 1
     896    make[2]: *** Waiting for unfinished jobs....
     897    make[2]: Leaving directory `/localscratch/tmp/s3j-spack/spack-stage
            /spack-stage-NT13kT/spack-src/tools'
  >> 898    make[1]: *** [all-recursive] Error 1
     899    make[1]: Leaving directory `/localscratch/tmp/s3j-spack/spack-stage
            /spack-stage-NT13kT/spack-src/tools'
  >> 900    make: *** [all-recursive] Error 1
```
2019-08-10 11:08:13 -05:00
Adam J. Stewart
f9e6f0fb62 py-numexpr: switch from PyPI to GitHub download (#12360) 2019-08-09 22:27:34 -05:00
Ricardo Silva
c5849ce04f gromacs: fix CPU optimizations detection (simd=auto) (#12354)
* SL-637
* https://redmine.gromacs.org/issues/2927
* tested with cmake 3.14.4 and 3.15.1
2019-08-09 21:38:16 -05:00
Russell J. Hewett
7cc57d74e4 Updated Blaze version 3.5 and added access to master branch (#12341)
* blaze: added version 3.5

* blaze: added access to bleeding edge
2019-08-09 21:32:54 -05:00
Cameron Stanavige
13112d6b1c flatcc: add version 0.5.3 (#12358)
This updates the flatcc package to have the latest version.
2019-08-09 21:32:10 -05:00
Geoffrey Oxberry
28ffc1a4b9 gnome-common: new package (#12359) 2019-08-09 21:31:47 -05:00
Geoffrey Oxberry
92c65f3150 Add new package: libfive@master (#12334) 2019-08-09 18:10:00 -05:00
Toyohisa Kameyama
b54576abaf sdl2: fix dependency for libxext and build on ARM (#12351)
1. add dependency for libxext2.
2. SSEMATH is off is aarch64.
3. reformat comment for flake8.
2019-08-09 10:24:16 -05:00
Sean McGrath
74fe729be2 New Plink beta version (#12352)
* Plink 1.9 Beta 6.10 added

* Typo Fix
2019-08-09 10:22:18 -05:00
Sinan
a999092a93 newpackage/tippecanoe (#12319)
* newpackage/tippecanoe

* make flake8 happy

* add "r" for raw text
2019-08-09 10:18:26 -05:00
Geoffrey Oxberry
7b47178a53 bugfix: hunspell: add missing gettext dependency (#12347)
* hunspell: write autoreconf method to triage error

This commit fixes the error described in GitHub issue
`AutotoolsPackage` class attempts to call `libtoolize`, which doesn't
exist on macOS systems that externally install `libtool` in Spack via
Homebrew -- Homebrew installzes GNU libtoolize as `glibtoolize`.

The fix is to call `autoreconf` only, and GitHub pull request #12344
makes this change in
AutotoolsPackage (https://github.com/spack/spack/pull/12344). However,
while waiting for that pull request to be merged, overriding the
`autoreconf` method achieves the same result for a self-contained
fix. This self-contained fix is necessary to fix a dependency bug in
the `hunspell` package.

* hunspell: add missing gettext dependency

* hunspell: add version 1.7.0
2019-08-09 10:17:57 -05:00
Derick Huth
850b2ad42e Fixed broken iegenlib package (#12229)
* Fixed broken iegenlib package

* [IEGenLib] fixed for style

* [IEGenLib] style fixes

* [IEGenLib] removed CMAKE_BUILD_TYPE option from config_args
2019-08-09 10:14:17 -05:00
angel-devicente
e203068125 Added checksum for binutils@2.32 (#12350) 2019-08-08 23:56:41 -05:00
Greg Becker
be6ac6ce6d bugfix: nested matrices in spec lists (#12320)
* stack concretization: fix handling of variant names with dashes
* spec_list: bugfix for handling nested matrices
2019-08-08 20:53:31 -07:00
Geoffrey Oxberry
9336a8be38 enchant@2.2.5: new package (#12349) 2019-08-08 22:50:06 -05:00
Toyohisa Kameyama
14bdd56004 hisea: build on ARM. (#12302) 2019-08-08 22:45:23 -05:00
Marc-Andre Hermanns
606246572a Add new releases of Cube Tools, Opari2, OTF2, and Score-P (#12303) 2019-08-08 22:44:33 -05:00
Owen Solberg
178476d8c8 new package: Cromwell (#12309)
* add new package cromwell

* fix flake8 errors, add cromwell-womtool package

* change name of cromwell to cromwell-server

* renamed cromwell-server to just cromwell

* update description to what is in the project docs

* fixing format call for python2.6 compatibility
2019-08-08 22:39:00 -05:00
Sinan
d1e8ea302f new package: aria2 (#12318)
* new package: aria2

* tidy up
2019-08-08 22:36:13 -05:00
Cameron Smith
51adb6a4ef netcdf-cxx4: add m4 dep for call to autoreconf (#12325) 2019-08-08 22:29:42 -05:00
Geoffrey Oxberry
1a432fb213 guile: add versions 2.2.1 through 2.2.6 (#12333) 2019-08-08 22:22:17 -05:00
Adam J. Stewart
89af88aa02 Re-add py-cython dependency to py-tables (#12338) 2019-08-08 21:57:16 -05:00
Adam J. Stewart
b409283ad5 Add py-certifi 2019.6.16 (#12339) 2019-08-08 21:57:01 -05:00
Adam J. Stewart
44f4ad7bbf Allow Spack to uninstall external extensions without permissions (#11991)
* Allow Spack to uninstall external extensions without permissions

Raise when self.projections is not empty
2019-08-08 17:46:14 -07:00
Adam J. Stewart
0b4e13c034 openssl package: add versions including 1.1.1c (#12342)
* Add comment that 1.0.1 versions are no longer supported
* Add comment that 1.0.2 versions are only supported up to
  December 2019
* Add versions 1.0.2s, 1.0.2r, and 1.0.2p
* Add versions 1.1.0k, 1.1.0j, and 1.1.0i
* Add version 1.1.1c
* Add comment that 1.1.0 versions are only supported up to
  September 2019
2019-08-08 17:04:53 -07:00
Pariksheet Nanda
72bb7646fe docs: fix compiler config (#12330)
It's no longer possible to set compiler flags under as an entry under
"paths" in compilers.yaml; instead the user must list these under the
"flags" section. This updates the docs accordingly.
2019-08-08 16:47:24 -07:00
Adam J. Stewart
b4862be875 Fix typo in yaml config docs (#12312) 2019-08-08 10:56:11 +02:00
Greg Becker
36fbd6cf4c bugfix: spack stacks mixed dependency and non-dep constraints (#12315)
Spack stacks drop invalid dependencies applied to packages by a
spec_list matrix operation

Without this fix, Spack would raise an error if orthogonal dependency
constraints and non-dependency constraints were applied to the same
package by a matrix and the dependency constraint was invalid for
that package. This is an error, fixed by this PR.

An example failing configuration:

spack:
  definitions:
  - packages: [libelf, hdf5+mpi]
  - compilers: ['%gcc']
  - mpis: [^openmpi]

  specs:
  - matrix:
    - $packages
    - $compilers
    - $mpis
2019-08-07 18:34:41 -07:00
Peter Scheibel
a791234676 Revert "add maintainer review action to main.workflow" (#12316)
This reverts commit 54e3bc31f9.
2019-08-07 17:23:47 -07:00
Peter Scheibel
92ec732f9a compiler bootstrapping: enable both single-node and multi-node DAGS(#12310)
5f74f22 enabled installing compilers for dependencies but not for the root package (and in particular not for DAGs which consist of one package)

this enables bootstrapping compilers for both types of DAGs
2019-08-07 14:43:25 -07:00
Jon Rood
941eb5d756 Generalize STK package settings in Trilinos (#11917)
* Making STK package in Trilinos more general.

* Remove comment about seacas exodus settings.
2019-08-07 16:11:15 -05:00
Pariksheet Nanda
0c9bc8da86 ncbi-toolkit: add version 22_0_0 (#12278)
* ncbi-toolkit: fix compiler+version restriction (spack/spack#12276)

* ncbi-toolkit: update urls for current and archive releases

* ncbi-toolkit: add compatibility for boost@1.69:

* ncbi-toolkit: add compatibility for boost@1.70:

* ENH: Add debug variant to significantly reduce install size

* ncbi-toolkit: add archive url for 22_0_0 (spack/spack#12278)
2019-08-07 14:18:36 -05:00
Piotr Luszczek
f7026a058b Version 19.8.1 of PLASMA (#12299)
* Remove unnecessary setting with buggy prefix

Spack adds installation prefix by default and the "self." is missing

* Add version 19.8.1 of PLASMA
2019-08-07 00:08:59 -05:00
Daryl W. Grunau
4f6916261c new package: py-exodus (#12291) 2019-08-06 23:11:56 -05:00
Mark W. Krentel
2f84db881b ncurses: fix pic and opt flags (#12272)
Resolves #11932.

Move the PIC flags from CFLAGS on the configure line to the spack
compiler wrapper for ncurses.  The problem with the configure line for
autotools is that specifying CFLAGS sets the entire flags, thus
deleting the flags that configure would add itself.

By default, if CFLAGS is unspecified, then configure picks a sensible
default of `-g -O2`.  But adding `-fPIC` erases these and it ends up
building unoptimized.
2019-08-06 22:21:25 -05:00
Cameron Smith
e077532baf pumi: new version 2.2.1 (#12282) 2019-08-06 22:09:46 -05:00
Tamara Dahlgren
951d42596b tests: explain and test dependency flattening routines (#11993)
- Add comments to explain that `install_dependency_symlinks` and `flatten_dependencies` are actually used.
- Add a test that exercises the routines.
2019-08-06 17:11:23 -07:00
Seth R. Johnson
09d4fcc6ad graphviz package: add MacOS fixes and quartz support (#11128)
* Add patch to detect newer versions of MacOS and to fix a typo in
  configure.ac (AM_LIBTOOLSFLAGS should be AM_LIBTOOLFLAGS)
* Remove variant declarations for unsupported languages
* Add support for quartz on MacOS
* Add optional X Window support
* Specifically build against qt@4 when building QT support
* Point to appropriate C++ standard libraries when building with
  Clang on MacOS
* Disable parallel build (for all platforms)
* Increase verbosity of configure script by adding
  --disable-silent-rules
2019-08-06 16:26:45 -07:00
Adam J. Stewart
66e9b1279a Overhaul numpy package (#12170)
* Add numpy 1.17.0

* Overhaul numpy package

* Flake8 fixes

* Undefined reference fix

* HeaderList and LibraryList need an arg

* veclibfort has no headers

* Add patch for older versions of py-numpy

* Remove py-meep hack from py-numpy package

* libflame: always add max arg hack flag

* Fix build with GCC 4.8

* Compiler flags come from self.compiler

* Only apply -std=c99 to cflags

* Try to fix libflame package

* Fix ATLAS build on macOS

* --force-clang flag added in 3.10.3
2019-08-06 18:20:23 -05:00
Greg Becker
15884a679b mirrors: mirror config should use spack variable expansions (#9027)
- ensure that `$spack` and other variables are substituted into mirror
  paths
2019-08-06 13:54:50 -07:00
Greg Becker
3b4d6ddc03 stacks: fix reference handling in env.write() (#12096)
* stacks: Fix env.write to properly write references
* stacks: regression test for 12095
2019-08-06 12:53:41 -07:00
t-karatsu
d488d04ed3 fltk: fix about variable types (#12292)
* fltk: fix about variable types
2019-08-06 11:07:27 -07:00
Massimiliano Culpo
ae975c48ac Avoid sending empty reports to codecov (#12293)
Before this commit we were sending reports also for unit tests that
were not collecting coverage data.
2019-08-06 10:35:23 -07:00
Daryl W. Grunau
cb7e9c155e Packages/musl (#12288)
* bump eospac version

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* fix-up musl-gcc wrapper script

* address adamjstewart's comments
2019-08-05 20:16:14 -05:00
Toyohisa Kameyama
567cef7ae3 c-blosc package: Add -std=gnu99 flag for gcc (#11959)
When building with GCC, c-blosc requires the -std=gnu99 flag.
Before this patch, the build would only add -std=gnu99 for GCC when
building on specific architectures; this adds -std=gnu99 in all cases
when using GCC.
2019-08-05 18:04:16 -07:00
Adam J. Stewart
2e14cdb8fd Move new packages from tutorial to builtin (#12289)
* Move new packages from tutorial to builtin

* Remove unicode character from docstring
2019-08-05 19:55:39 -05:00
Satish Balay
0db3d6ca37 Balay/amrex 19.08 (#12287)
* amrex: add version 19.08

* amrex: update sundials dependency for @19.08
2019-08-05 17:34:01 -05:00
Axel Huebl
3457dffdca openPMD-api: pre-load depend libs (#12279)
When loading `openpmd-api` as a lib to build outside of
spack or to build depending spack packages, the "CMake-PUBLIC"
header-only library MPark.Variant must be available. Also,
the `*Config.cmake` package must be able to find dependent
libs if used.
2019-08-05 14:02:23 -05:00
Satish Balay
5560d5b601 Add version 19.8.0 of PLASMA (#12275) 2019-08-04 20:37:46 -05:00
Satish Balay
480cd9344f Add version 2.5.1 of MAGMA released today (#12274) 2019-08-04 20:36:48 -05:00
Satish Balay
47aa08081a ginkgo: add maintainers (#12273) 2019-08-04 20:36:04 -05:00
Sinan
3ad61441f1 new package: py-backports-tempfile (#12261)
* new package: py-backports-tempfile

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

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

* remove rc version

* fix single quote
2019-08-04 16:10:24 -05:00
Todd Gamblin
54e3bc31f9 add maintainer review action to main.workflow 2019-08-04 10:14:44 -07:00
Todd Gamblin
3179d98e12 actions: add maintainers as PR reviewers for their packages (#12269)
Use `spack pkg changed` and `spack maintainers` to figure out which
packages changed and who their maintainers are in a PR.

Add any maintainers to the PR as reviewers.
2019-08-03 21:48:19 -07:00
Pariksheet Nanda
f68cdd1ad0 Fix typo in config (#12267)
Using "compilers" with the "s" is an invalid config section and throws an error.

Traceback (most recent call last):
  File "spack/bin/spack", line 48, in <module>
    sys.exit(spack.main.main())
  File "/home/omsai/src/libkmap/spack/lib/spack/spack/main.py", line 633, in main
    env = ev.find_environment(args)
  File "/home/omsai/src/libkmap/spack/lib/spack/spack/environment.py", line 263, in find_environment
    return Environment(env)
  File "/home/omsai/src/libkmap/spack/lib/spack/spack/environment.py", line 534, in __init__
    self._read_manifest(f)
  File "/home/omsai/src/libkmap/spack/lib/spack/spack/environment.py", line 561, in _read_manifest
    self.yaml = _read_yaml(f)
  File "/home/omsai/src/libkmap/spack/lib/spack/spack/environment.py", line 402, in _read_yaml
    validate(data, filename)
  File "/home/omsai/src/libkmap/spack/lib/spack/spack/environment.py", line 395, in validate
    e, data, filename, e.instance.lc.line + 1)
spack.config.ConfigFormatError: /home/omsai/src/libkmap/spack.yaml:15: Additional properties are not allowed ('compilers' was unexpected)
2019-08-03 20:18:44 -05:00
Sinan
7ee56c2f36 package/py-apipkg add new version, add sha256 sums (#12260)
* add new version, add sha256 sums

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

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

* add python dependencies
2019-08-03 18:38:34 -05:00
Sinan
0b606f7c46 new package: py-backports-weakref (#12262)
* new package: py-backports-weakref

* use the version at pypi.org
2019-08-03 18:37:10 -05:00
Sinan
fcfdfb86c7 new package: py-usgs (#12263)
* new package: py-usgs

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-08-03 18:36:55 -05:00
Sinan
cc54d910a6 new package: py-requests-futures (#12264)
* new package: py-requests-futures

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-08-03 18:36:42 -05:00
Sinan
9432b1f789 new package: py-colorlog (#12265)
* new package: py-colorlog

* improve styling.

* remove spaces
2019-08-03 18:36:29 -05:00
Sinan
5bb73d4ad3 new package: py-colorpy (#12266)
* new package: py-colorpy

* remove incorrect dependency
2019-08-03 18:36:17 -05:00
Adam J. Stewart
98605bba0d Fix CNL version detection (#12207) 2019-08-03 12:00:30 -07:00
Adam J. Stewart
36558dc262 Add py-uritemplate package (#12259) 2019-08-03 10:44:13 -05:00
Adam J. Stewart
5e2af206d3 Add py-earthengine-api package (#12253) 2019-08-02 23:37:59 -05:00
Adam J. Stewart
c36c7f2bab Add py-google-api-python-client package (#12254) 2019-08-02 23:35:21 -05:00
Adam J. Stewart
ccfaeecfeb Add py-google-auth-httplib2 package (#12255) 2019-08-02 23:35:00 -05:00
Adam J. Stewart
ccc4af4bec Add py-google-auth package (#12256) 2019-08-02 23:34:32 -05:00
Adam J. Stewart
8b270290c4 Add py-httplib2 package (#12257) 2019-08-02 23:34:04 -05:00
Adam J. Stewart
958d385e09 Add py-pyasn1-modules package (#12258) 2019-08-02 23:33:37 -05:00
Adam J. Stewart
0de42519cf Add py-cachetools package (#12252) 2019-08-02 20:47:46 -05:00
Adam J. Stewart
eb528f89a7 Add py-pyasn1 0.4.6 (#12251) 2019-08-02 20:09:15 -05:00
Reinhard Prix
7845d91fda swig: add latest version, 4.0.0 (#12243) 2019-08-02 20:08:26 -05:00
Satish Balay
8010965a3d slepc: update python dependencies to be in sync with petsc (#12250) 2019-08-02 20:07:29 -05:00
Daryl W. Grunau
b4f8294408 packages/musl (#12247)
* new musl package
2019-08-02 20:06:59 -05:00
Massimiliano Culpo
90756d0428 Refactor UI logic out of Environment.concretize (#12213)
Environment.concretize returns newly-concretized specs rather than
printing them; as a result, the _display argument is removed from
Environment.concretize (originally only used to avoid printing specs
during unit testing). Command logic which invokes
Environment.concretize prints these explicitly.
2019-08-02 17:27:51 -07:00
Marc-Andre Hermanns
0290170935 Set default resource manager to 'none' (#12092) 2019-08-02 19:23:14 -05:00
Toyohisa Kameyama
50b90ed2bf minimap2, py-mappy: change dependency and build on ARM (#12127)
* minimap2: remove py-mappy dependency and build on ARM
py-mappy: Change URL and new version.

* merge py-mappy to minimap2.

* 1. add type in depends_on.
2. remove unneeded which.
2019-08-02 19:21:33 -05:00
Chris Green
0c1496896d Resolves #11487. (#12136)
* Incorporate as a patch upstream commit 0c20dbf059 (diff-acb9169b4ccbac494ced5140d285a015) resolving problems with `-Wno-...` options not being understood by GCC.
* Incorporate as a patch upstream PR https://github.com/ericniebler/range-v3/pull/1202 fixing upstream issue https://github.com/ericniebler/range-v3/issues/1196.
* Compile tests only if we actually want to run them.
* Optionally compile documentation with a `+doc` variant.
* Add `+examples` and `+perf` variants to avoid unnecessary compilation of components usually not required for install.
* Add conditional build-only dependency on Boost when appropriate.
* Install docs, examples and performance tests if built (not part of upstream build instructions).
* Add @chissg as a maintainer.
2019-08-02 19:19:39 -05:00
Toyohisa Kameyama
b6789b2ba3 py-flye: change to build ARM. (#12176) 2019-08-02 19:15:49 -05:00
Todd Kordenbrock
a54687ead9 FAODEL: Add 1.1906.1 (#12180) 2019-08-02 19:14:21 -05:00
Toyohisa Kameyama
dbeee34829 vdt: add simd variant (#12188)
1. add simd variant and check target.
2. build on source directory before 0.3.8.
2019-08-02 19:10:39 -05:00
TiffanyAnn
ff15f61443 py-mpi4py: Added build argument for mpicc path (#12191)
* added build arguments to resolve error with Cray-MPICH

* fixed indentation
2019-08-02 19:09:37 -05:00
Hironori-Yamaji
53bd964a59 ermod: new package (#12192) 2019-08-02 19:08:35 -05:00
Toyohisa Kameyama
53b1a92f69 parsimonator: Enable build on non x86_64 hosts. (#12194) 2019-08-02 19:07:43 -05:00
Glenn Johnson
6278ba43e9 Update c-blosc and fix building tests with icc (#12204)
- Update c-blosc to 1.17.0
- Add patch to build test_forksafe for versions 1.15.0 through 1.17.0
  when compiled with the Intel compiler.
- Remove code that turned off building the test with the Intel compiler
2019-08-02 19:05:43 -05:00
Toyohisa Kameyama
93f6833990 raxml: compile n non-x86 hosts. (#12208)
1. xmmintrrin.h is included x86 only.
2. Add makefiles for non-x86 hosts.
3. mpicc in Makefiles is replaced spacks mpi compile command.
4. variant check is rewite with satisfies.
2019-08-02 19:04:25 -05:00
Toyohisa Kameyama
3fc5a08f5b dialign-tx: build on ARM. (#12210) 2019-08-02 19:02:36 -05:00
liuyangzhuan
474bf18853 added a package butterflypack (#12222)
* added a package butterflypack

* remove one line in the python script
2019-08-02 18:58:30 -05:00
Mark W. Krentel
45d852b87d hpcviewer: update sha sums for version 2019.07 (#12236)
We (Rice HPCToolkit) issued a re-release of hpcviewer 2019.07 due to
some serious bugs.
2019-08-02 18:55:46 -05:00
Satish Balay
4ee260d3e3 ginkgo: fix branch -> commit for @1.0.0. Also add variant: develtools (#12248)
This fixes error with multiple builds - when they use the cached tarball.
2019-08-02 18:54:15 -05:00
dbs8842
2529b753da liggghts: added version 3.8.0 (#12242) 2019-08-02 18:53:06 -05:00
Gregory Lee
214b67066e glib: fix glib dependency build fixes #9992 (#12153)
add rpaths for glib config and py-pygobject build
2019-08-02 15:18:04 -05:00
wspear
9dd61f5313 Fixed arch setting variants. Activate cray arch automatically. (#11203) 2019-08-02 15:14:43 -05:00
Chuck Atkins
0e532d324c adios2: Fix backwards compatibility version logic for FindMPI (#12241) 2019-08-02 15:27:47 -04:00
Tamara Dahlgren
574c13837f packages: Add autotools dependencies to bolt (#12246)
Fixes #12060 (per wspear).

This change is needed for minimal container environments.
2019-08-02 12:22:51 -07:00
Patrick Gartung
9cf6aece85 Geant4 data packages: Set the install path name explicitly. (#12244)
* Geant4 data packages: Set the install path name explicitly.

* Use the correct directory name for g4photonevaporation,g4radioactivedecay,g4realsurface
2019-08-02 13:48:35 -05:00
Chris Green
023de09134 mysql package: New versions, add conflicts, cope with use of dtrace. (#11356)
* Add versions 8.0.16, 5.7.26, and 5.6.44
* Update boost dependency for versions 8.0.16, 8.0.15, and 8.0.14
* Update dtrace script when building for versions before 8 as is done
  for the glib package
* Set perl as a build dependency for versions before 8
* cxxstd=17 conflicts with version 8 when server code is built
  (~client_only)
* Add -Wno-deprecated-declarations for cxxstd > 11
* Add -Wno-error=register for cxxstd > 14
2019-08-02 10:51:02 -07:00
Axel Huebl
46f03074ef openPMD-api: Increase ADIOS2 Minimum (#12169)
The minimum required version of ADIOS2 is v2.4.0 .
2019-08-02 15:31:29 +02:00
MikeG
d384025df7 valgrind: added version 3.15.0 (#12239) 2019-08-02 15:10:37 +02:00
Seth R. Johnson
68d78c0dbe Fix py-matplotlib build (#12230) (#12234) 2019-08-01 17:58:06 -05:00
Seth R. Johnson
46027bea13 Fix QT4 build for mac (#10944)
This updates the Spack QT package to enable building qt version 4 on
MacOS. 

This includes the following changes to the qt package:

* add version 4.8.7
* add option to build with or without shared libs
* add options to disable tools, ssl, sql, and freetype support
* add qt4-tools patch when building qt@4+tools
* add option to build as a framework (only available on MacOS)
* replace qt4-el-capitan patch with qt4-mac patch (which includes the
  edits from qt4-el-capitan)
* apply qt4-pcre-include-conflict.patch only for version 4.8.6
  (rather than all 4.x versions)
* apply qt4-gcc-and-webkit.patch for 4.x versions before 4.8.7 and
  create a separate qt4-gcc-and-webkit-487.patch for version 4.8.7
* update patch function for qt@4 on MacOS to update configure
  variables relevant to Spack (e.g. PREFIX)
* add option to build freetype with Spack, as a vendored dependency
  of QT, or not at all (default is to build with Spack)

This includes the following edits outside of the qt package:

* Update MacOS version utility function to return all parts of the
  Mac version (rather than just the first two)
* gettext package: implement "libs"
* python package: add gettext as a dependency
2019-08-01 10:22:35 -07:00
Patrick Gartung
4ff14bd0b2 Buildcache: skip binary string replacement with padding when the new install path is longer than the old install path. (#12227)
* Raise an exception and exit with a meaningful message when binary path substitution fails.

* Skip binary text replacement with padding and issue a warning when the new install path is longer than the old install path.
2019-08-01 12:07:04 -05:00
Ben Bergen
8922c1f666 Add HDF5 variant to Legion package (#12221) 2019-08-01 10:33:29 -06:00
Sajid Ali
e21e10837f modified: var/spack/repos/builtin/packages/blis/package.py (#12225) 2019-08-01 09:37:23 -05:00
Sajid Ali
f30b717744 Add libflame (#12193)
* Add libflame

	new file:   var/spack/repos/builtin/packages/libflame/Makefile_5.1.0.patch
	new file:   var/spack/repos/builtin/packages/libflame/package.py

* 	modified:   var/spack/repos/builtin/packages/libflame/package.py
2019-08-01 09:33:24 -05:00
Adam J. Stewart
61b824580e py-pyqt5: add missing py-enum34 dependency (#12224) 2019-08-01 13:30:35 +02:00
t-karatsu
9b03ab43ed bdw-gc: add variant for Multithreading (#12223) 2019-08-01 13:29:41 +02:00
Mark W. Krentel
e628f1b4eb unzip: fix build for cray back-end
Fixes #12007.

The Cray cc wrappers don't handle the -s flag (strip) cleanly, It's
not essential to strip the binary, so just remove the flag on Cray.

Note: the default build on Cray is for the back end and the unzip
binary won't run on the front end.  To build for FE, use something
like arch=cray-fe-x86_64.
2019-07-31 20:44:40 -07:00
Gregory Lee
2c2abb454c fix mpa package build error with a patch (#12217) 2019-07-31 16:48:06 -05:00
Gregory Lee
162f1338d9 patch launchmon to fix char * conversion error (#12219) 2019-07-31 16:47:35 -05:00
Rémi Lacroix
5c970613b6 Magma: fix prefix (#12220)
`prefix` is not available in `cmake_args` method, use `self.prefix`.
Fixes #12214.
2019-07-31 16:43:47 -05:00
Levi Baber
8ec9ebc92f should not need bin prefix on spack command (#12215) 2019-07-31 12:58:01 -05:00
Todd Gamblin
33701cc355 docs: update tutorial slides for PEARC19 2019-07-31 12:55:59 -05:00
Adam J. Stewart
f7d1df4d3a Update Package Creation Tutorial for PEARC19 (#12209)
* Update Package Creation Tutorial for PEARC19

* A few remaining fixes

* Fix section link
2019-07-31 12:54:09 -05:00
Matthieu Dorier
65a1db87f8 Preventing jsoncpp from building tests (#11948)
* Preventing jsoncpp from building tests
jsoncpp: making -DJSONCPP_WITH_TESTS=OFF conditioned by self.run_tests
2019-07-31 12:18:25 -05:00
Christoph Junghans
4ea5e177cd CMake: make ninja verbose as well (#12200) 2019-07-31 08:41:58 -06:00
Ondřej Čertík
7e61527f9e F18: Fix the location to the f18 binary (#12186) 2019-07-31 15:43:08 +02:00
jthies
ae1524821e phist: added version 1.8.0 (#12201) 2019-07-31 15:35:59 +02:00
t-karatsu
b744accaf6 igvtools: fixed query on jdk instead of java (#12195) 2019-07-31 14:49:51 +02:00
Javier Cervantes
a948954886 Print environment name when removing active env (#12198) 2019-07-31 14:40:11 +02:00
Adam J. Stewart
d973fca00e Fix Sphinx deprecation warning when building docs (#12205)
* Fix Sphinx deprecation warning when building docs

* Set minimum required version of Sphinx
2019-07-31 10:23:56 +02:00
Ryan S. Elliott
86ff5baed7 kim-api: added version 2.1.2 (#12189) 2019-07-31 09:13:13 +02:00
t-karatsu
268c806111 genomefinisher: fixed query on jdk instead of java (#12196) 2019-07-31 08:55:56 +02:00
Adam J. Stewart
db2bbbcecf Add pandas 0.25.0 (#12173) 2019-07-30 17:16:32 -05:00
Adam J. Stewart
59e9541386 Add tables 3.5.2 (#12172) 2019-07-30 17:16:15 -05:00
Adam J. Stewart
60da9303c6 Update numexpr dependency version (#12168) 2019-07-30 17:15:38 -05:00
Adam J. Stewart
70512b8ba2 Add py-matplotlib 3.1.1 (#12164) 2019-07-30 17:15:20 -05:00
Adam J. Stewart
482152e092 Add py-wxpython package (#12163) 2019-07-30 17:13:32 -05:00
Adam J. Stewart
c1c5f58d12 Add py-cairocffi package (#12161) 2019-07-30 17:13:02 -05:00
Adam J. Stewart
b34da4e108 Add SIPPackage base class (#12157) 2019-07-30 17:12:48 -05:00
Adam J. Stewart
f487f87e3e Add Magics 4.1.0 (#12078) 2019-07-30 17:11:47 -05:00
Adam J. Stewart
e728883c71 Add eccodes 2.13.0 (#12077) 2019-07-30 17:11:29 -05:00
Adam J. Stewart
354ef2f9ca Allow bsseeker to build with Python 3 (#12075) 2019-07-30 17:11:14 -05:00
Adam J. Stewart
e13bc0212c Add py-pipits 2.4 (#12074)
* Add py-pipits 2.4

* Flake8 fix
2019-07-30 17:10:57 -05:00
Justin S
175abecc0b mii: new package at 1.0.2 (#12184)
* mii: new package at 1.0.2

* mii: fix improper formatting in description

* mii: add 1.0.3
2019-07-30 16:16:41 -05:00
健美猞猁
544914f34b gromacs: added version 4.5.5 (#12197) 2019-07-30 16:07:07 +02:00
Ben Bergen
73a9d6556e New package: cgdb (#12154) 2019-07-29 17:19:53 -07:00
Hans Pabst
6db873532c LIBXSMM package: add version 1.13 and optional shared libs (#11998)
* Add +shared variant, which builds shared library in addition to the
  static library.
* Install libraries even when specifying the header-only option
  (header-only is just about installing an additional folder).
* An additional make call is not required to build generator
  executables (they are built by default).
* Streamlined help-line of each variant.
2019-07-29 17:14:41 -07:00
Toyohisa Kameyama
5f716b7ffa hpgmp package: Don't add cpu=native on ARM when using gcc 5.x or before (#12034) 2019-07-29 16:53:59 -07:00
Adam J. Stewart
b8b2fa226e CMOR package: add version 3.4.0 (Python3-compatible) (#12076) 2019-07-29 16:12:37 -07:00
Nick Forrington
6e9f51d1d2 Quantum Espresso package: Specify F90 compiler (#12119) 2019-07-29 15:53:39 -07:00
Adam J. Stewart
c9e5de85fd SimulationIO package: add version 9.0.1 (#12079) 2019-07-29 15:40:57 -07:00
Chuck Atkins
f18c9e0ba5 catalyst package: Fix paths used for intermediate code generation (#12082)
Fixes #12065
2019-07-29 15:31:07 -07:00
Adam J. Stewart
f88636b090 PISM package: add version 1.1.4 (#12083) 2019-07-29 15:26:03 -07:00
Adam J. Stewart
23420a6524 Typo fixes in Environments Tutorial (#12107) 2019-07-29 17:13:56 -05:00
Adam J. Stewart
9af155f0f6 Fix some Mac constraint checks (#12138)
* Fix Mac platform check for dependency in py-ipython package: 'when'
  constraints in Spack directives must be Specs (either a Spec
  object or a Spec in string format)
* Fix Mac version check in py-numpy: platform.mac_ver() returns a
  3-part string as its first tuple item so the check as written would
  never pass; use Spack Version object to simplify check.
* Fix Mac version check in qt package (the check was incorrectly
  comparing ints and strings) and use Spack version object to
  simplify check.
2019-07-29 15:05:02 -07:00
Glenn P Johnson
e7d9a6f426 Add conflicts statement for Python-3.6.7+ and Intel compiler
Python-3.6.7 and up do not build with the Intel compiler

- https://bugs.python.org/issue35473
- https://bugs.python.org/issue37415
2019-07-29 14:38:05 -07:00
Federico Ficarelli
dbd294c204 zeromq package: choose URL based on version; add versions (#12149)
* Add versions 4.3.0, 4.3.1, and 4.3.2
* The URL format changed after 4.1.4, so this adds a url_for_version
  function to choose the URL format based on the version
2019-07-29 14:36:33 -07:00
Hironori-Yamaji
43dd6b3418 Gromacs package: add openmp, mdrun_only, double_precision options (#12150) 2019-07-29 14:29:04 -07:00
Adam J. Stewart
c3dc63ce8f New package: py-pytest-isort (#12160) 2019-07-29 14:02:06 -07:00
Jon Rood
3e02dc258b LLVM package: add optional libomp_tsan support (#11793)
This is only available for LLVM version 6 or greater. So this also
adds a conflict statement for earlier versions of LLVM.
2019-07-29 12:23:15 -07:00
Owen Solberg
ee1c36a2b0 update cmake 3.15.1 checksum (#12182) 2019-07-29 15:13:52 -04:00
Adam J. Stewart
0d0a02b230 OpenGL package: always provides gl (#12158)
With this PR, a user can designate older versions of OpenGL as an
external Spack package, and dependents can use that installation
as long as they do not have version requirements.

MacOS currently comes with OpenGL 2.1; there is currently no
'provides' directive in the OpenGL Spack package which specifies a
gl version provided for versions earlier than OpenGL 3.3, so earlier
versions of OpenGL are not considered to provide any version of gl.
This PR records that any version of OpenGL provides 'gl' (which is
sufficient for any package that does not require a specific version
of gl).
2019-07-29 12:11:53 -07:00
Greg Becker
f78fc30032 intel: Add mpicc wrapper bindir to dependent env (#12132) 2019-07-29 12:04:15 -07:00
Adam J. Stewart
d1752d8640 py-scipy package: add version 1.3.0 (#12171)
* Version 1.3.0 requires python 3.5 or later (no Python 2 support)
* Remove test of scipy.weave import (not available since 1.0)
* Add more-sensitive py-numpy constraints based on py-scipy version
* Replace py-nose dependency with py-pytest
* Add adamjstewart as maintainer
2019-07-29 11:57:59 -07:00
Adam J. Stewart
249f571556 New package: py-torchvision (#12175) 2019-07-29 11:42:08 -07:00
Adam J. Stewart
18bd189876 PyTorch package: add version 1.1.0 (#12174)
* Rename py-pytorch to py-torch
* Add versions 1.1.0 and 1.0.1
* Define modules to test import of after installation (import_modules)
* py-typing dependency is only needed for older versions of Python
  (3.4 or before)
* Newer versions of py-torch depend on newer versions of CUDA
* Add adamjstewart as maintainer
2019-07-29 11:39:05 -07:00
Seth R. Johnson
3d0b5bd541 Change dependencies to use virtual jpeg package (#12179)
This prevents conflicts between descendents that depend on an unintentional
arbitrary jpeg implementation.
2019-07-29 12:08:55 -05:00
Kelly (KT) Thompson
a3f6f52622 Add a new version (7.2) of draco. (#11852)
This change also
+ Makes the `build_type` user settable and
+ Adds support for running tests.
+ Provide depends_on('cmake') for versions prior to 7.0.
2019-07-28 22:15:21 -05:00
Jeongseok Lee
e23d613ee6 Update checksum of fmt 5.3.0 (#12037) 2019-07-28 22:07:51 -05:00
Seth R. Johnson
95985e0798 Prevent conflicts between libuuid and Apple Cocoa Framework on Mac (#12166)
* Remove libuuid dependency for python on Darwin

Python 2.7 includes Carbon, which requires a proprietary typedef defined in
the system `/usr/include/uuid/uuid.h`:
```
In file included from /rnsdhpc/code/spack/var/spack/stage/python-2.7.16-chgwvgls4ezgujsknn27vlmkhwbzpqik/Python-2.7.16/Python/mactoolboxglue.c:27:
In file included from /rnsdhpc/code/spack/var/spack/stage/python-2.7.16-chgwvgls4ezgujsknn27vlmkhwbzpqik/Python-2.7.16/Include/pymactoolbox.h:10:
In file included from /System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20:
In file included from /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:23:
In file included from /System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20:
In file included from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:208:
In file included from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/HFSVolumes.h:25:
/usr/include/hfs/hfs_format.h:794:2: error: unknown type name 'uuid_string_t'; did you mean 'io_string_t'?
```

Similarly, even with Python 3, having Spack's libuuid in the toolchain
causes matplotlib to fail to build downstream because its `osx` backend
links against Carbon:
```
building 'matplotlib.backends._macosx' extension
/rnsdhpc/code/spack/lib/spack/env/clang/clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/local/include -I/usr/X11/include -I/opt/X11/include -I. -I/rnsdhpc/code/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.2-bipx24oyxqxowqc75o5vfih7dljiaohz/include/python3.7m -c src/_macosx.m -o build/temp.macosx-10.14.5-x86_64-3.7/src/_macosx.o
In file included from src/_macosx.m:1:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:87:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLError.h:15:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:24:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:208:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/HFSVolumes.h:25:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/hfs/hfs_format.h:794:2: error: unknown type name 'uuid_string_t'; did you mean 'io_string_t'?
        uuid_string_t   ext_jnl_uuid;
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/device/device_types.h:89:33: note: 'io_string_t' declared here
typedef char                    io_string_t[512];
```

MacOS version 10.14.5
Xcode 10.2.1
Apple LLVM version 10.0.1 (clang-1001.0.46.4)

* Mark libuuid as conflicting with Darwin due to framework

If Spack's libuuid is included by any other package that tests for or
requires the Cocoa or Carbon frameworks, the build will *fail* becuse it
appears that Apple's libraries require a special version of libuuid and
uuid.h.

```
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:87:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLError.h:15:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:24:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:208:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/HFSVolumes.h:25:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/hfs/hfs_format.h:794:2: error: unknown type name 'uuid_string_t'; did you mean 'io_string_t'?
        uuid_string_t   ext_jnl_uuid;
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/device/device_types.h:89:33: note: 'io_string_t' declared here
typedef char                    io_string_t[512];
```

* Revert "Mark libuuid as conflicting with Darwin due to framework"

This reverts commit 9a68b75202.

* Document libuuid exception in python package
2019-07-28 14:58:09 -05:00
Sajid Ali
9afd5113bc Bump version for BLIS (#12162)
modified:   var/spack/repos/builtin/packages/blis/package.py
2019-07-27 18:32:06 -05:00
Chuck Atkins
8d0c3e482f cmake: Bump to 3.15.1 (#12151) 2019-07-27 12:21:03 -05:00
Xavier Delaruelle
398c53eaa2 environment-modules package: add version 4.3.0 (#12155) 2019-07-27 12:20:39 -05:00
Chuck Atkins
18e41f9959 adios2: Patch findmpi for downstream issues. (#12152) 2019-07-26 13:17:31 -07:00
Sinan
511f84dd8c kealib: fix incorrect md5sum for v1.4.11 (#12126)
* fix incorrect md5sum for v1.4.11

* fix url and replace md5 with sha256

* add mainter
2019-07-26 15:14:46 -05:00
Ryan S. Elliott
12055acccc update to kim-api-2.1.1 and openkim-models-2019-07-25 (#12137)
* update to kim-api-2.1.1 and openkim-models-2019-07-25

* openkim-models provide needed dependency constraints and settings

* add maintainers and fixup flake8 errors
2019-07-26 13:06:10 -05:00
Adam J. Stewart
fbb04ece43 Add flake8 3.7.8 (#12141) 2019-07-26 12:11:07 -05:00
t-karatsu
21daa41dd6 libxc: Make configure recognize Fujitsu compiler (#12147) 2019-07-26 12:09:52 -05:00
Justin S
e2d16429ae py-pyomo: new package at 5.6.6 (#12134)
* py-pyomo: new package at 5.6.6

* py-pyomo: add missing deps, python constraint
2019-07-26 10:38:25 -05:00
Rémi Lacroix
9caba3e072 Small fixes for font-util package (#12148)
* font-util: Remove duplicated dependencies.

* font-util: Fix path handling for font resources.

The "join_path" call made no sense but still managed to work somehow most of the times.
2019-07-26 10:32:39 -05:00
Adam J. Stewart
0babdab8f0 Add GDAL 3.0.1 (#12140) 2019-07-26 09:25:35 +02:00
Adam J. Stewart
07fefea52d Add Python 3.7.4 (#12142) 2019-07-26 09:18:46 +02:00
Oliver Breitwieser
867ba9d7fe googletest: Fix reversed +pthreads option (#12128)
If +pthreads is specified, googletest actually gets build without
pthreads support and vice versa.

If pthreads is not available, googletest should detect it itself which
is why "enabling" pthreads in case of ~pthreads does not seem to cause
any error.

Change-Id: I29de8c4a23dc3901124b27a1ead3354949b7e65b
2019-07-25 19:50:23 -05:00
Justin S
94af6cad5f interproscan: new package at 5.36-75.0 (#12130) 2019-07-25 19:49:42 -05:00
Matthias Diener
7cc1292202 git-lfs: add version 2.8.0 (#12131) 2019-07-25 19:46:03 -05:00
Glenn Johnson
7ad8061cbb Patches for graphviz (#12133)
- patch to build with qt5, enabling gvedit to build
- two patches to compile graphviz with icc
2019-07-25 19:45:10 -05:00
Satish Balay
7bd3b66f6e xsdk: phist has a conflict with gcc version <= gcc-4.9.1 (#11946)
* xsdk: phist has a conflict with gcc version <= gcc-4.9.1 - so add a variant to disable it on older compiler builds

This is triggered by #11677

* fix typo
2019-07-25 14:01:00 -05:00
Gregory Lee
e8a71089a6 use Excecutable instead of exec for editing licenses (#11968)
* fix defunct editor exit in #11691
2019-07-25 11:48:32 -07:00
Elizabeth Fischer
fff99a8a3a Make OpenJDK the default (#12106) 2019-07-25 10:25:26 -07:00
Chuck Atkins
e614d4b481 cmake: Add a patch to revert a findmpi regression (#12129) 2019-07-25 10:23:01 -07:00
Chris Green
c20c153d16 catch: more versions, new and older. (#12123)
New versions 2.9.0, 2.9.1, older versions 2.2.2, 2.2.3, 2.4.1, 2.4.2, 2.7.0, 2.7.1, 2.7.2.
2019-07-25 11:33:03 -05:00
simo-tuomisto
4c7ee8b7c8 lame & libmad: Added two new packages for sox mp3 support. (#11964)
* Added a new package for LAME and a variant in sox for it.

* Fixed download url for LAME

* libmad: Added new package libmad for mp3 decoding. Changed sox variant from lame to mp3.

* libmad: Added m4 as a requirement

* libmad: Added comment on patch origins

* libmad: Added a list_url for alternate download location

* libmad: Fixing libmad download url
2019-07-25 10:40:50 -05:00
Sinan
9ace419aa5 gdal: added versions 2.4.2 and 3.0.1 (#12125) 2019-07-25 17:14:37 +02:00
Chris Green
4190f302e5 geant4: improvements with respect to building against CLHEP. (#12124) 2019-07-25 08:58:13 -05:00
Todd Gamblin
b0abbfecb8 new command: spack maintainers queries package maintainers
- We don't currently make enough use of the maintainers field on
  packages, though we could use it to assign reviews.

- add a command that allows maintainers to be queried
  - can ask who is maintaining a package or packages
  - can ask what packages users are maintaining
  - can list all maintained or unmaintained packages

- add tests for the command
2019-07-24 14:10:08 -07:00
Tamara Dahlgren
7411347a29 tests: Test install of unconcretized spec (#12099) 2019-07-24 13:30:27 -05:00
Glenn Johnson
8bb745325d Add py-setuptools as a build dependency for py-absl-py (#12109)
I needed to add py-setuptools to get py-absl-py to build.
2019-07-24 12:33:45 -05:00
Glenn Johnson
642d3345f6 Add conflicts statement to freetype for icc (#12111)
Freetype-2.8 and above use __builtin_shuffle which is not supported by
icc.
2019-07-24 12:33:24 -05:00
t-karatsu
0f98cf0398 Perl take in flags (#12112)
* perl: perl package takes in spack cflags.

* fix for flake8 test.
2019-07-24 12:32:49 -05:00
Toyohisa Kameyama
bbc689ae38 nnvm: cmake bug is fixed. (#12113) 2019-07-24 12:31:49 -05:00
Toyohisa Kameyama
cb62b1ff85 rapidjson: Don't add -march=native on ARM and gcc 5.x or before. (#12117) 2019-07-24 12:30:32 -05:00
Nichols A. Romero
63813fa9c0 QMCPACK Update July 2019 (#12097)
* Add QMCPACK v. 3.8.0

* Remove QE variant conflict for serial QMCPACK installations.

* Add support for QE 6.4.1 converter.

* FindLibxml2QMC patch function only needed prior to QMCPACK 3.8.0
2019-07-24 12:28:35 -05:00
Glenn Johnson
42c3782f7e Do not build c-blosc test if intel in spec (#12110)
While the c-blosc library compiles with icc some of the c-blosc tests do
not. Disable the tests so that the spack build can continue.
2019-07-24 11:17:11 -05:00
t-karatsu
0d690edfb2 cmake: fix cxx98flag's name (#12114) 2019-07-24 11:28:22 -04:00
Massimiliano Culpo
6fac0ae687 Fixed a name clash in the 'from_environment_diff' function (#12116)
* Added a unit test reproducing the failure in 12085

* Fixed name clash in the 'from_environment_diff' function

The bug reported in #12085 stemmed from a name clash among variables,
introduced during the refactor in #10753 and not caught by unit tests
and reviews.
2019-07-24 10:25:24 -05:00
Toyohisa Kameyama
a8b12f0cb6 rocksdb: Don't add -march=native on ARM and gcc 5.x or before. (#12108) 2019-07-23 22:33:05 -05:00
Douglas Duckworth
ec29461632 added relion 3.0.7 - removed deprecated versions (#12101)
* relion - added v 3.0.7 and removed deprecated versions that have inferior performance

* relion 3.0.7 does require cuda 9 or above
2019-07-23 18:13:00 -05:00
Adam J. Stewart
58427a7102 Typo fixes in Spack Environments docs (#12100) 2019-07-23 17:42:16 -05:00
Toyohisa Kameyama
6b07407cd0 isaac-server: Don't add -march=native on ARM and gcc 5.x or before. (#12042) 2019-07-23 16:48:25 -05:00
Toyohisa Kameyama
39139b9db8 nanoflann: Don't add -mtune=native on ARM and gcc 5.x (#12093) 2019-07-23 16:47:28 -05:00
Nichols A. Romero
2b35ad7b22 Quantum Espresso Update 2019 (#12098)
* Add support for QE 6.4.1

* QE 6.3. backports branch no longer relevant.

* List QE develop first.
2019-07-23 16:44:08 -05:00
Jimmie Lin
8095e26ffa Add EFA fabric to libfabric 2019-07-23 12:08:33 -07:00
Greg Becker
daac376862 error messages: include whole spec for "no externals found" message (#12070)
* Provide better error message when matching externals are found for package marked not buildable
2019-07-23 13:58:07 -05:00
Pariksheet Nanda
5878b418c5 ioapi: add version 3.2 (#12088)
* ioapi: add version 3.2

* ioapi: unwrap version checksum; it's exempt from line length QA

* ioapi: drop overridden build(); it's the same as the default
2019-07-23 12:10:01 -05:00
Gregory Becker
a086dda82f hashing: fix caching of dependency hashes in to_node_dict 2019-07-23 08:58:49 -07:00
Greg Becker
4ff2773704 ncurses: remove TERMINFO from build env (#12086) 2019-07-23 10:13:41 -05:00
Marco Comparato
7ea4e50587 font-util: add missing autoconf automake dependencies (#12053) 2019-07-23 09:41:04 -05:00
Todd Gamblin
3cb40e1c02 commands: add tests for all subcommands of spack pkg 2019-07-22 23:01:45 -07:00
Todd Gamblin
0b17bccdce commands: add spack pkg changed subcommand, better test support
- Add `spack pkg changed` to show changed and added packages for a
  commit.

- Make `spack pkg` support tests better.
2019-07-22 23:01:45 -07:00
Daniel Topa
07f3921838 Add UCX 1.6.0 (#12089)
https://github.com/openucx/ucx/releases/tag/v1.6.0
Released 2019-07-17

Verification builds on LANL Darwin x86_64 and Power9:

dantopa@cn2037:pr-update-ucx.spack $ date
Mon Jul 22 17:04:14 MDT 2019

dantopa@cn2037:pr-update-ucx.spack $ pwd
/scratch/users/dantopa/repos/spack/pr-update-ucx.spack

dantopa@cn2037:pr-update-ucx.spack $ spack find -ldf ucx

==> 2 installed packages
-- linux-centos7-x86_64 / gcc@4.8.5 -----------------------------
w7fp4n6    ucx@1.6.0%gcc
tt2hkol        ^numactl@2.0.12%gcc
srhy7ry        ^rdma-core@20%gcc
kvgvhpv            ^libnl@3.3.0%gcc

-- linux-rhel7-ppc64le / gcc@4.8.5 ------------------------------
cji3ce7    ucx@1.6.0%gcc
pmgndwh        ^numactl@2.0.12%gcc
qymrwx6        ^rdma-core@20%gcc
2263pm5            ^libnl@3.3.0%gcc

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-07-22 21:43:35 -05:00
Matthias Diener
19968a0035 scons: add version 3.1.0 (#12084) 2019-07-22 17:35:40 -05:00
Chuck Atkins
69c302f455 cmake: Move cxx11 flags for fujitsu into the flag_handler method (#12056)
* cmake: Move cxx11 flags for fujitsu into the flag_handler method

* cmake: sanitization and error checking in flag_handler

* cmake: Fix fujitsu flag check from 'fc' to 'fj'
2019-07-22 17:33:40 -05:00
Denis Davydov
8cef81363c gcc: support without command line tools (#11040) 2019-07-22 16:53:50 -05:00
Adam J. Stewart
2d144316a8 Fix version scraping for CRAN packages (#12021)
* Fix version scraping for CRAN packages
* Remove set literals
2019-07-22 13:05:55 -07:00
Todd Gamblin
cc4094bb9b bugfix: env.write() should stringify Spec lists.
- Setting specs from lockfiles was not correctly stringifying concretized
  user specs.

- Fix `_set_user_specs_from_lockfile`

- Add some validation code to `SpecList` constructor
2019-07-22 13:45:34 -05:00
Peter Josef Scheibel
7ec1d320a8 hashes: consolidate and make hashing logic more consistent
Spack has evolved to have three types of hash functions, and it's
becoming hard to tell when each one is called. Whlie we aren't yet ready
to get rid of them, we can refactor them so that the code is clearer and
easier to track.

- Add a `hash_types` module with concise descriptors for hashes.

- Consolidate hashing logic in a private `Spec._spec_hash()` function.

- `dag_hash()`, `build_hash()`, and `full_hash()` all call `_spec_hash()`

- `to_node_dict()`, `to_dict()`, `to_yaml()` and `to_json()` now take a
  `hash` parameter consistent with the one that `_spec_hash()` requires.

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2019-07-22 13:45:34 -05:00
Peter Josef Scheibel
0715b512a1 env: environments index specs by full DAG w/build deps
- ensure that Spec._build_hash attr is defined
- add logic to compute _build_hash when it is not already computed (e.g. for specs prior to this PR)
- add test to ensure that different instance of a build dep are preserved
- test conversion of old env lockfile format to new format
- tests: avoid view creation, DAG display in tests using MockPackage
- add regression test for more-general bug also fixed by this PR
- update lockfile version since the way we are maintaining hashes has changed
- write out backup for version-1 lockfiles and test that
2019-07-22 13:45:34 -05:00
zschulte
db7127c56d openjdk (#10446)
* openjdk

* Removing preferred from latest and adding a few lines for readability.

* Remove bad whitesapce

* removing formatting changes

* stable url for openjdk 1.8

* remove extra blank line

* actual binary
2019-07-22 13:11:45 -05:00
Toyohisa Kameyama
58c84423b1 tealeaf: Don't add -march=native on ARM and gcc 5.x or before. (#12080) 2019-07-22 13:03:43 -05:00
Hironori-Yamaji
8e92409263 jdk: Add JDK 12.0.2_10 (#12081) 2019-07-22 12:40:11 -05:00
Mark W. Krentel
6111758b48 hpctoolkit: add version gpu and variant cuda (#12068)
Add version for 'gpu' and variant for 'cuda'.  These are currently available from the 'master-gpu' branch.

* hpctoolkit: add version gpu and variant cuda
* The gcc >= 4.8.x requirement only applies for dyninst >= 10.x.
2019-07-21 22:29:08 -07:00
Toyohisa Kameyama
8ca90e26d9 libsharp: Don't add -march=native on ARM (#12064)
* libsharp: Don't add -march=native on ARM

* Add preferred=True to version 1.0.0.
2019-07-21 21:56:14 -05:00
Omar Padron
1d5ab13be8 docker: fix builds, remove extra distros, add ci builds (#11621)
* fix docker builds/remove extra builds/add ci builds
* preinstall vim in CI builder images
* simplify & streamline docker resources
* restore os-container-mapping.yaml file
2019-07-20 14:46:06 -07:00
Adam J. Stewart
7d954720ff Add OpenMP flag for Apple Clang (#12049) 2019-07-20 13:40:36 -07:00
Massimiliano Culpo
a2cb26f520 tests: speed up tests that rely on the database fixture (#12031)
The database and mutable_database fixtures were installing and uninstalling the same specs multiple times to ensure the database for tests has the correct state.

This commit optimizes the procedure by caching the state in an external directory, and copying it in instead of going through the installation or uninstallation again.

The database fixture is meant not to be modified by tests. This commit enforces this invariant by making the database read-only before starting the test.

* Added missing db markers to tests
* Added test for uninstall_by_spec
* `database` fixture now returns a read-only database
* Tests that modify the DB now use `mutable_database` fixture
2019-07-20 10:18:50 -07:00
Mark W. Krentel
930011c124 hpcviewer: add version 2019.07 (#12067)
ibm-java: fix the URL to only use a machine type that ibm-java
supports so that 'spack info' doesn't report a non-existent URL on
platforms that it doesn't support.
2019-07-20 10:07:15 -07:00
Greg Becker
67cd524e93 environment views: refactor stripping build deps (#12069) 2019-07-20 09:45:20 -07:00
Greg Becker
8ec098716b compilers: don't raise errors for duplicate compiler definitions (#11910)
Summary:
- Allow multiple definitions of compiler in compilers.yaml (use first instance)
- Still print debug messages when there are duplicates, to assist users in finding this issue.

Merging configs from different scopes can result in multiple compiler being present in the same configuration list.  Instead of raising when there are duplicates, take the one with highest precedence.

Print a debug message instead of raising, so that we can still diagnose this.  We don't have a good way of warning the user about inconsistent configuration *in the same file* -- we'd need to dig into YAML file/line info for that.
2019-07-20 00:42:12 -07:00
Todd Gamblin
993ee7f199 environments: add activate/deactivate tests, work wtih set -u
- [x] Add shell tests to ensure that `spack env activate`, `spack env
  deactivate`, and `despacktivate` continue to work.

- [x] Also ensure that activate and deactivate both work with `set -u`
2019-07-20 00:36:56 -07:00
Greg Becker
4f9131fdc2 Package inheritance: Find patch files defined in parent classes using MRO (#12051)
Fixes #8908, 11844

Use Python MRO to find patch files from parent classes.
2019-07-19 18:08:05 -07:00
Peter Scheibel
4b6de78062 font-util package: add autoconf/automake build deps (#12071)
Fixes #12026

These are required on some systems
2019-07-19 17:45:22 -07:00
albestro
3a026f1412 Fix #11240 (#11995)
* extends mkdirs with permissions for intermediate folders

Does not use os.makedirs mode parameter because its behavior is changed
with Python 3.7 (it ignores it for intermediate dirs), and moreover it
was not possible to set different modes for newly-created folders
and leaf folder.

reference:
- https://bugs.python.org/issue19930
- https://docs.python.org/3.7/library/os.html#os.makedirs

* comment mkdirp step easing code understanding

* revert mkdir to default for package metapath

since metapath is nested in package folder, there is no need
to specify permissions for intermediate folders because the prefix
already exists.

* comment create_install_directory package modes
2019-07-19 10:13:29 -05:00
Michael Kuhn
cadff917c7 leveldb: add 1.22 (#12044) 2019-07-19 09:26:09 -05:00
Chris Green
9b763980b6 libxpm: cope with system gettext if configured. (#10881)
* If gettext is installed in the system it won't be in the spec tree.
2019-07-19 08:36:58 -05:00
Gregory Becker
ba0cd4d912 concretization: fix transient hang in python 3.5
Bug relates to the interplay between:
1. random dict orders in python 3.5
2. bugfix in initial implementation of stacks for `_concretize_dependencies`
   when `self._dependencies` is empty
3. bug in coconcretization algorithm computation of split specs

Result was transient hang in coconcretization.
Fixed #3 (bug in coconcretization) to resolve.
2019-07-18 19:28:50 -07:00
Gregory Becker
ec6e5b0fd3 stacks: add option to link only roots or all specs, default to all 2019-07-18 19:28:50 -07:00
Gregory Becker
7ec89aa036 stacks: refactor view descriptors into a separate object 2019-07-18 19:28:50 -07:00
Gregory Becker
6661cb1926 refactor: clean up Environment class
- remove redundant code in Environment.__init__
- use socket.gethostname() instead of which('hostname')
- refactor updating SpecList references
- refactor 'specs' literals to a single variable for default list name
- use six.string_types for python 2/3 compatibility
2019-07-18 19:28:50 -07:00
Gregory Becker
88295d927e bugfix: spec lists can now include multiple references 2019-07-18 19:28:50 -07:00
Gregory Becker
9577ade3ce stacks: use new format string syntax in environments code
- Change old spec expressions to use Spack's new spec formatting sytnax.
2019-07-18 19:28:50 -07:00
Gregory Becker
2f6af64157 docs: Add documentation for views in environments 2019-07-18 19:28:50 -07:00
Gregory Becker
cebf1fd668 stacks: update view management for multiple/combinatorial views
This adds notion of a default view, other views in environments
2019-07-18 19:28:50 -07:00
Gregory Becker
d0bfe0d6a8 stacks: environment add/remove respect multiply-defined lists 2019-07-18 19:28:50 -07:00
Gregory Becker
f9e6de5474 stacks: allow force-removing from a speclist used in a matrix 2019-07-18 19:28:50 -07:00
Gregory Becker
533a8d7c82 stacks: update environment add/remove algorithms 2019-07-18 19:28:50 -07:00
Gregory Becker
6cfbfcc967 concretization: regression test for constrain() with deps
- ensure that `Spec('foo').constrain('foo ^bar')` works
- prior to stacks implementation, this constraint would have done nothing.
2019-07-18 19:28:50 -07:00
Gregory Becker
12c8996294 docs: initial documentation for environments 2019-07-18 19:28:50 -07:00
Gregory Becker
d450a2fce2 stacks: initial implementation of stacks on environments
- stack syntax in env schema
- switch environment specs over to SpecList object
- add stack functionality to environments
- handle definition extensions through stack.yaml and SpecList
- implement conditional definitions
- tests
2019-07-18 19:28:50 -07:00
Matthias Diener
5be1ff83d1 cmake: add version 3.15.0 (#12058) 2019-07-18 18:28:21 -05:00
Adam J. Stewart
032075af74 Add master version to sklearn (#12057) 2019-07-18 15:56:48 -05:00
Matthieu Dorier
6eba9febaa pkg PRRTE: added version 1.0.0 (#12054) 2019-07-18 13:59:39 -05:00
Matthieu Dorier
3120e06359 added version 3.1.3 of PMIx (#12055) 2019-07-18 13:59:02 -05:00
Adam J. Stewart
c96d687c7c Workaround for #9149 (#12050) 2019-07-18 13:57:37 -05:00
Justin S
620d728aa5 py-mlxtend: new package at 0.16.0 (#12039)
* py-mlxtend: new package at 0.16.0

* py-mlxtend: fix dependencies
2019-07-18 12:25:41 -05:00
Phil Carns
7428fc66f7 update web site and git url for BMI package (#12036) 2019-07-17 21:28:39 -05:00
Jordan Ogas
ada50b968a add charliecloud v0.10 (#12046) 2019-07-17 21:28:02 -05:00
Adam J. Stewart
5d1f965e59 Fix scikit-learn build with Apple clang (#11496)
* Fix scikit-learn build with Apple clang

* Update compiler unit tests

* Fix unit tests

* Fix OpenMP dep

* recursive=True no longer necessary

* Add myself as a maintainer

* Specify which versions require OpenMP

* Typo fixes

* LLVM-OpenMP is the correct dependency, no OMPT

* Flake8 fix

* Undo Apple Clang OpenMP flag change, split into a separate PR
2019-07-17 21:27:16 -05:00
t-karatsu
1269256e25 libjpeg-turbo: set compiler flags with CMake args (#11938)
Later versions of libjpeg-turbo build with CMake; to build with
user-specified cflags, the user must supply these to CMake as
-DCMAKE_C_FLAGS (Spack's typical approach of injecting these flags
into the compiler wrapper invocation is insufficient in this case).

Currently libjpeg-turbo cannot be implemented as a CMakePackage
(and thereby take advantage of the flag_handler implementation it
provides) because not all versions of libjpeg-turbo use CMake, so
this adds a custom implementation of flag_handler and
flags_to_build_system_args to libjpeg-turbo.
2019-07-17 15:37:18 -07:00
Adam J. Stewart
7f3048c8af Add support for .txz and .tbz2 file extensions (#12048) 2019-07-17 16:23:23 -05:00
Tamara Dahlgren
b856e24444 tests: uninstall_by_spec error and rpath_args tests (#11971)
* tests: Add uninstall_by_spec error tests.

These tests were originally included in PR #11797.
2019-07-17 15:08:08 -05:00
Greg Becker
5cf8878185 feature: Allow developers to use Spack for partial builds (#12006)
Added new diy option.
2019-07-17 11:46:56 -07:00
Ryan S. Elliott
c9b6c78d3a kim-api 2.1.0 (#12041) 2019-07-17 12:11:34 -05:00
brietzke
0c5ed467ce package opencoarrays: add new version: 2.7.1 (#12043) 2019-07-17 12:11:02 -05:00
t-karatsu
5d9e67d953 Cmake/add option for fujitsu compiler (#11839)
* cmake: change c++ spec when building with Fujitsu compiler.

* cmake: define cxxflags using a Fujitsu compiler's method.

* cmake: Add condition of whether to add cxx11 option.
2019-07-17 12:49:36 -04:00
Shane R. Spencer
1b16be538e Added url_for_version to python/package.py (#12040) 2019-07-16 20:50:43 -05:00
Justin S
267d07e4b9 py-pandas: add 0.24.2 (#12038) 2019-07-16 20:46:17 -05:00
Hironori-Yamaji
c44afdcc80 r: set FPICFLAGS for compilers except 'gcc' (#12033) 2019-07-16 11:56:34 -05:00
brietzke
29d968bd84 package mutationpp: add new version: 1.0.0 (#12035) 2019-07-16 11:55:53 -05:00
Massimiliano Culpo
2fe1ecbaa2 Ignore Modules v4 environment variables in from_sourcing_file (#10753)
* from_sourcing_file: fixed a bug + added a few ignored variables

closes #7536

Credits for this change goes to mgsternberg (original author of #7536)

The new variables being ignored are specific to Modules v4.

* Use Spack Executable in 'EnvironmentModifications.from_sourcing_file'

Using this class avoids duplicating lower level logic to decode
stdout and handle non-zero return codes

* Extracted a function that returns the environment after sourcing files

The logic in `EnvironmentModifications.from_sourcing_file` has been
simplified by extracting a function that returns a dictionary with the
environment one would have after sourcing the files passed as argument.

* Further refactoring of EnvironmentModifications.from_sourcing_file

Extracted a function that sanitizes a dictionary removing keys that are
blacklisted, but keeping those that are whitelisted. Blacklisting and
whitelisting can be done on literals or regex.

Extracted a new factory that creates an instance of
EnvironmentModifications from a diff of two environments.

* Added unit tests

* PS1 is blacklisted + more readable names for some variables
2019-07-16 10:54:33 -05:00
Todd Gamblin
5ed68d31a2 coverage: restore status updates on PRs (#12032)
Codecov is not updating PRs with status anymore. Fix .codecov.yaml to
make this happen.
2019-07-15 22:45:00 -07:00
Todd Gamblin
3f47c5967d bugfix: fix module() function in setup-env.sh (#12030)
Modify `setup-env.sh` to export fewer variables but to still set the module() function correctly.
2019-07-15 22:43:53 -07:00
Michael Kuhn
ce88cc75ef qt: fix patch checksum (#12024)
It seems that GitHub's output changed slightly for this patch (one more
letter for both short hashes on the index line), probably due to the
number of objects in the repository.
2019-07-15 23:43:02 -05:00
Brian Homerding
36919ba859 binutils: Adding Clang to narrowing conversion error workaround (#12029) 2019-07-15 23:42:02 -05:00
Marc-Andre Hermanns
2cfbde1737 Add JUBE package definition (#12023)
* Add JUBE package definition

* Fixing flake8 errors
2019-07-15 20:58:57 -05:00
Severin Strobl
0ed7204c74 Added HPX version 1.3.0. (#12025) 2019-07-15 20:54:54 -05:00
Adam J. Stewart
41f5b09a98 Fix typo in module template (#12028) 2019-07-15 20:54:20 -05:00
t-karatsu
e3b513874b boost: use clang toolset when building with Fujitsu compiler. (#11827) 2019-07-15 15:13:04 -07:00
Michael Kuhn
a7e915d38b Fix build_jobs exceeding number of cores
All documentation mentions that `build_jobs` is limited by the number of
cores available in the system. This is also enforced when setting it via
`--jobs`. However, when setting it via `config.yaml`, it can exceed the
number of cores available, making builds run out of memory.
2019-07-15 11:40:49 -07:00
Glenn Johnson
3f83a2a7d8 Add auto-dispatch specification to Intel packages (#11697)
This PR adds the ability to specify the auto-dispatch targets that can
be used by the Intel compilers. The `-ax` flag will be written to the
respective compiler configuration files. This ability is very handy when
wanting to build optimized builds for various architectures. This PR
does not set any optimization flags, however.
2019-07-15 11:37:54 -07:00
Massimiliano Culpo
5acbe449e5 spack uninstall can uninstall specs with multiple roots (#11977)
Fixes #3690
Fixes #5637

Uninstalling dependents of a spec was relying on a traversal of the
parents done by inspecting spec._dependents. This is in turn a
DependencyMap that maps a package name to a single DependencySpec object
(an edge in the DAG) and cannot thus model the case where a spec has
multiple configurations of the same parent package installed (for
example if different versions of the same Python library depend on
the same Python installation).

This commit works around this issue by constructing the list of specs to
be uninstalled in an alternative way, and adds tests to verify the
behavior. The core issue with DependencyMap is not resolved here.
2019-07-15 10:30:01 -07:00
Hironori-Yamaji
68ad4caf30 binutils: added '-Wno-narrowing' to CXXFLAGS when using fj compiler via flag_handler (#11922)
FJ compiler fails for older versions w/o '-Wno-narrowing' flag.
2019-07-15 08:50:26 -07:00
Todd Gamblin
a3caf52cac packages: computation.llnl.gov is now computing.llnl.gov (#12013) 2019-07-15 07:32:51 -07:00
Milton Woods
af74c291ed py-basemap: install without egg (#11961)
* py-basemap: avoid creating egg during build, for compatibility with mpl_toolkits

* py-basemap: not ready for py-pyproj@2 onwards
2019-07-15 10:26:13 -04:00
Matthias Diener
9be127890f gdb: add version 8.3 (#12018) 2019-07-14 16:45:55 -05:00
Reinhard Prix
9e7eae0e2f make cfitsio explicitly depend on curl (#12016)
- currently would revert to using system-curl instead, pulling in
  unwanted system dependencies and lib-paths
2019-07-14 14:40:09 -05:00
Michael Kuhn
d7b76df5ac bzip2: Add 1.0.8 (#12017)
Update URLs to official ones.
2019-07-14 14:25:20 -05:00
Adam J. Stewart
0bff0c2d0d Make JDK version more specific (#12008) 2019-07-13 09:05:48 -05:00
Adam J. Stewart
452021398a Add py-jsonschema 2.6.0 (#12009) 2019-07-13 09:05:17 -05:00
Tim Fuller
5bc15b2d9a find_libraries searches lib and lib64 before prefix (#11958)
The default library search for a package checks the lib/ and lib64/
directories for libraries before the root prefix, in order to save
time when searching for libraries provided by externals (which e.g.
may have '/usr/' as their root).

This moves that logic into the "find_libraries" utility method so
packages implementing their own custom library search logic can
benefit from it.

This also updates packages which appear to be replicating this logic
exactly, replacing it with a single call to "find_libraries".
2019-07-12 17:46:47 -07:00
xfzhao
f1ce1dd163 New package: Nim (#11649) 2019-07-12 17:03:26 -07:00
Justin S
9b361bea5a r package: add rmath variant for standalone rmath library (#11693) 2019-07-12 16:50:04 -07:00
Oliver Breitwieser
d1af7ae5ab Copy --{use,no}-cache from install to bootstrap (#11786) 2019-07-12 16:30:12 -07:00
Carson Woods
76f1ee5f32 'spack compiler add' resolves relative path to absolute path (#11792)
Fixes #11782

Spack was not properly resolving relative paths to absolute paths
when a relative path was passed to "spack compiler add [PATH]".
Now, if provided a relative path, the absolute path is written to
compilers.yaml rather than the relative path.
2019-07-12 16:06:26 -07:00
egreen77
d01d79eb5d new package: umap (#12000) 2019-07-12 15:26:24 -05:00
Tamara Dahlgren
d615d0a1ec Add template creation test, --skip-editor option (#11970)
* Add template creation test
* Added --skip-editor option to "spack create": normally
  "spack create" opens an editor for the user after generating a
  package file; when the --skip-editor option is used, "spack create"
  only generates the package file and does not open an editor
* Added --skip-editor option to bash completion
2019-07-12 11:22:09 -07:00
Hironori-Yamaji
505ad8960e jdk: Add the 'provides' call (#11997) 2019-07-12 09:45:19 -07:00
Stephen Hudson
cdc72963d1 Update libensemble (#11990) 2019-07-12 10:36:44 -05:00
t-karatsu
adbb9e2d8e Fix pic_flag and test contents about Fujitsu compiler. (#11996) 2019-07-12 10:34:08 -05:00
Todd Gamblin
e8e030a518 bugfix: setup-env.sh detects bash even when bash is run as sh (#11994)
- `setup-env.sh` was not properly detecting a bash shell when bash was run
  as /bin/sh.

- Detection routine now always reports bash when bash is run as sh, and
  no longer parses the path to the executable indicated in `$BASH`.
2019-07-12 08:33:23 -07:00
Todd Gamblin
91e35541ee bugfix: show dot after namespaces in spack find -N (#11945)
- Namepsaces were shown without dots after the new format strings were
  added.

- Add a test for `spack find` to ensure that find -N shows the right
  output.
2019-07-12 08:32:47 -07:00
Phil Tooley
52e0f47a3f update scalasca to latest version, simplify recipe (#11999)
add list_url for use with spack checksum
2019-07-12 10:30:07 -05:00
Glenn Johnson
42c7d24075 Modifications to r package (#11957)
This PR has several modifications for the r package.

- The tk package is always depended on but this pulls in X11, making the
  'X' variant non-functional. This PR sets a dependency of tk on '+X'.
- There is a missing dependency on libxmu when '+X' is set.
- The libraries for R wind up in a non-standard location and are thus
  left out of the RPATH settings. This PR adds that directory to RPATH.
- The MKL integer interface for gfortran is not in the BLAS libs. This
  PR replaces the intel interface with the gfortran interface if needed.
- Use the `LibraryList` `ld_flags` method for blas as that is more in
  line with th R Installation and Administration manual.

Note that this PR depends on PR #11956. This PR closes #8642.
2019-07-11 22:22:37 -05:00
Glenn Johnson
909c5f5019 Add variants for tk package (#11956)
TK can be built with support for libXft and X Screensaver. Both of these
are turned on in the Tk configure script. That means the system
libraries will get picked up if they are on the system and nothing is
specified in the package. Since the default for both of them is 'True' I
set the default value for the variants to 'True'.
2019-07-11 22:21:17 -05:00
Toyohisa Kameyama
4288dac35b bowtie2: Add version 2.5.3.1 and fix to build on ARM (#11974)
* bowtie2: Add version 2.5.3.1 and fix to build on ARM

1. Add version 2.5.3.1.
2. Add simde for ARM.
3. Disable -fopenmp-simd when gcc 4.8.X or before for ARM.
4. Add Makefile option POPCNT_CAPABILITY=0 for ARM.

* flake8.
2019-07-11 22:04:22 -05:00
Toyohisa Kameyama
ea9ac3ee52 velvet: remove -m64 on aarch64. (#11984) 2019-07-11 21:59:24 -05:00
Nick Forrington
ff728bd06c Boost: Compile with toolset=clang for Arm compiler (#11992)
Bootstraps with gcc, but compiles with clang
2019-07-11 21:53:54 -05:00
Toyohisa Kameyama
0dfa5a467c megahit package: add patch to build on ARM. (#11963) 2019-07-11 17:40:00 -07:00
Tamara Dahlgren
05b6a5e53d test: Extra possible-dependencies coverage check (#11988) 2019-07-11 17:15:21 -07:00
Phil Tooley
14271331f9 New package: dimemas (#11979) 2019-07-11 13:55:43 -07:00
Mark Olesen
138226e038 OpenFOAM package: update download url (#11973) 2019-07-11 13:45:38 -07:00
Phil Carns
3a4d37d6d6 libfabric package: add support for tcp provider (#11965) 2019-07-11 13:43:38 -07:00
Toyohisa Kameyama
6a731b4d8f luit package: use autotools. (#11962) 2019-07-11 13:34:50 -07:00
Tamara Dahlgren
e3299e6923 Rename build logs and make names consistent (#11806)
Fixes #11781

* Rename build log to spack-build-log.txt
* Rename environment variables file to spack-build-env.txt
* The name of the log and env files is now the same during the build
  and after the build completes
* Update packages which referred to the build log/env files
* For packages installed before this commit using older names for the
  build and env files, search for the older names
2019-07-11 13:32:06 -07:00
Michael Kuhn
d3be42fcca mpich: Add 3.3.1 (#11976) 2019-07-10 20:41:23 -05:00
Michael Kuhn
975b9a611a bzip2: Add 1.0.7 (#11975) 2019-07-10 18:37:16 -05:00
Todd Gamblin
c2de2558b6 tutorial: correct image link on tutorial page 2019-07-10 00:56:25 -07:00
Todd Gamblin
0cd64d7b6e tutorial: updates slides for DOE/NSF workshop. 2019-07-10 00:50:59 -07:00
Reinhard
ea431be4b0 py-astropy: added latest version 3.2.1 (#11967)
- correctly installs under python@3.5:3.7.3
- (partially) fixes https://github.com/spack/spack/issues/11966
2019-07-09 21:19:38 -04:00
Carson Woods
2838aa772d package: Add powerapi package (#11845)
* Add powerapi package

* Fix flake8 formatting

* Fix download URL

* Update powerapi version line

* Fix how configure arguments are selected to improve readability

* Bug Fixes

* Fix trailing whitespace

* Bug fixes

* Remove incorrect configure flag
2019-07-09 09:57:53 -04:00
Milton Woods
d0b2c77cd1 Ferret: add version 7.2 and adjust dependencies (#11921)
* ferret: use libx11 from spack

* ferret: use mpi library with or without fortran support

* ferret: add version 7.2

* ferret: no need to specify ~mpi

* ferret: creating symlinks may fail for external packages; set include/lib paths instead
2019-07-09 09:33:07 -04:00
Toyohisa Kameyama
dab3026f2f diffsplice package: remove -m64 on ARM. (#11899) 2019-07-08 17:13:49 -07:00
Toyohisa Kameyama
a718d8af08 zoltan: use autotools for new architecture host (#11924)
* use autoreconf to regenerate configure script and config.guess for
  newer architectures
* Add perl build dependency for older versions. The required perl
  version is constrained because the perl script uses syntax that
  is deprecated in older versions
2019-07-08 16:57:17 -07:00
Hironori-Yamaji
68dd327d62 motif package: fix the download url (#11939) 2019-07-08 16:20:01 -07:00
Frédéric Simonis
1fe3d6367e preCICE package: add version 1.5.2 (#11949) 2019-07-08 13:59:08 -07:00
Xavier Delaruelle
a9067821b3 environment-modules package: add version 4.2.5 (#11953) 2019-07-08 13:58:38 -07:00
Justin S
36ee7ef456 New package: r-grbase (starting at 1.8-3.4) (#11937) 2019-07-08 12:01:58 -07:00
Justin S
897cd340d8 r-graph: update R constraint to reflect DESCRIPTION (#11934) 2019-07-08 12:01:17 -07:00
Justin S
60a827daff r-rbgl: add 1.60.0 (#11936) 2019-07-08 12:00:16 -07:00
Justin S
242bdef6e8 r-biocgenerics: add 0.30.0 (#11935) 2019-07-08 11:59:54 -07:00
Todd Gamblin
51b58f1478 bugfix: conflicts should print out the spec that has the conflict (#11947)
- Fix a bug introdcued by removing parse_anonymous_spec()

- Conflicts' when specs are now *actually* anonymous, and the name of the
  package is implicit, so we need to remember to add it back to error
  messages.
2019-07-08 08:00:43 -07:00
cclauss
e8506994b1 travis: the sudo tag is now deprecated (#11933)
* Travis CI: The sudo tag is now deprecated in Travis

__sudo: required__ no longer is.

* Remove obsolete comment

__travis_wait__ can help with long-running processes.
* https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received
2019-07-05 22:25:25 -07:00
Todd Gamblin
d2e5b8474a bugfix: always generate a stack trace when spack is run with --debug (#11940)
- We weren't previously printing stack traces on SystemExit or
  KeyboardInterrupts.

- Either raise or print the stacktrace in these cases.
2019-07-05 19:57:00 -07:00
Kevin Huck
f21073d231 tau: add conflicts for libelf/libdwarf variants (#11944)
Declare a conflict for TAU versions older than 2.28.1, that they
can't depend on libelf or libdwarf.  The user can still install it
by specifying tau@2.24~libelf~libdwarf.
2019-07-05 19:08:43 -07:00
Christoph Junghans
e392bf0412 cmake: add v3.14.5 2019-07-05 17:02:34 -07:00
Todd Gamblin
5686c2a544 setup-env.sh: make setup scripts work with set -u
- Add set -u to the setup-env.sh test script

- Refactor lines in setup-env.sh that tested potentially undefined
  variables to use the `[ -z ${var+x} ]` construct
2019-07-05 12:54:17 -07:00
Todd Gamblin
47e9f7aac9 tests: add tests for setup-env.sh
- tests use a shell-script harness and test all Spack commands that
  require special shell support.

- tests work in bash, zsh, and dash

- run setup-env.sh tests on macos and linux builds.
  - we run them on macos and linux
2019-07-05 12:54:17 -07:00
Todd Gamblin
e625ee3ffd setup-env.sh: now compatible with bash, zsh, and dash
- replace use of [[ with [

- replace function foo { .. } with foo() { .. }

- wrap some long lines

- add lsof and /proc/fd magic so that we can find the sourced file even in dash

- only do the complicated shell checks in one place; test $_sp_shell
  elsewhere.
2019-07-05 12:54:17 -07:00
Milton Woods
a7da5dcb19 py-stratify: vertical interpolation/stratification of atmos/ocean data (#11911)
* py-stratify: vertical interpolation/stratification of atmos/ocean data

* py-stratify: download from pypi.io
2019-07-04 10:38:48 -04:00
Milton Woods
d88c657f79 py-scikit-image: include more dependencies (#11912)
* py-scikit-image: include more dependencies

* py-scikit-image: limit some dependencies to recent versions
2019-07-04 10:38:02 -04:00
Hironori-Yamaji
cd18dadf92 jdk: Add JDK 12.0.1 (#11903) 2019-07-04 10:36:21 -04:00
Paul
1ce6490132 Added latest version, 0.7.1 (#11927) 2019-07-04 10:26:59 -04:00
Milton Woods
e7a3f703be py-antlr4-python3-runtime: new package (#11890)
* py-antlr4-python3-runtime: new package

* py-antlr4-python3-runtime: fix for flake8

* py-antlr4-python3-runtime: indent docstring

* py-antlr4-python3-runtime: clarify role of this package vs ANTLR in docstring

* py-antlr4-python3-runtime: remove whitespace at end of line
2019-07-04 10:12:54 -04:00
Glenn Johnson
54e87c8da0 Set ignore files for py-reportlab (#11928)
The py-reportlab package includes binaries for easy_install and pip.
That blocks activation if py-setuptools and/or py-pip are installed.
This PR block the binaries from py-reportlab as easy_install and pip
should be installed with their respective packages.
2019-07-03 19:15:01 -07:00
t-karatsu
adffb2bff4 libtool: execute autoreconf at ver.2.4.2 (#11913)
Version 2.4.6 did not require running autoreconf, so this only does
autoreconf for 2.4.2
2019-07-03 18:04:29 -07:00
shanedsnyder
902dcfd194 libfabric package: add version 1.8.0 (#11918) 2019-07-03 17:30:25 -07:00
Todd Gamblin
c45afb7578 coverage: remove sub-reports; only show project/patch on PRs (#11926)
- There's too much information on our PRs, and the Travis test results
  (which are arguably more important than coverage) get buried in
  coverage information

- Remove coverage sub-categories, as you can browse codecov's file view
  to see roughly the same thing

- show only project/patch on GitHub PRs.
2019-07-03 17:11:07 -07:00
Milton Woods
fae14bff21 py-cf-units: new package (#11891)
* py-cf-units: new package

* py-cf-units: download from pypi.io

* py-cf-units: include py-pytest-runner as build dep

* py-cf-units: remove empty build_args function

* py-cf-units: fix for flake8

* py-cf-units: indent docstring

* py-cf-units: remove excess spaces

* py-cf-units: list master branch ahead of numeric versions

* py-cf-units: remove extension keyword from version
2019-07-03 19:20:34 -04:00
Alberto Chiusole
f3bf89ebfe OpenMPI: add support for pbs/tm at configure. (#10620) 2019-07-03 14:07:51 -07:00
Justin M Wozniak
28949787e9 turbine: Better auto-detection of R location (#11711)
If R is provided by the system with a module (i.e. registered in
packages.yaml with a "module" entry) and has no discernible prefix,
this allows turbine to still make use of R.
2019-07-03 11:24:20 -07:00
Milton Woods
ea1df6a9b4 py-pyke: new package (#11894)
* py-pyke: automatic python program generator

* py-pyke: expand the package docstring
2019-07-02 15:58:14 -04:00
Milton Woods
48bfece55e py-pyugrid: unstructured grids in netcdf files (#11900) 2019-07-02 15:56:18 -04:00
ktsai7
229ba28ad5 Add llvm as deps when static analyzer is enabled (#11888)
* dep llvm if static analyzer
dep caliper if caliper

* fix typo

* adding variants for toggles
2019-07-02 11:45:13 -06:00
Toyohisa Kameyama
f1592e339d portcullis package: remove -m64 on aarch64. (#11905)
GCC on aarch64 dose not support -m64. This patch removes the -m64
flag if target is aarch64.
2019-07-02 10:42:06 -07:00
Phil Carns
2709f948fa opa-psm2 package: correct installation prefixes and add 11.2.77 (#11658)
This PR corrects a problem with the opa-psm2 package. It was
installing headers into <prefix>/usr/include and libraries into
<prefix>/usr/lib instead of <prefix>/include and <prefix>/lib.
The extra level of usr/ subdirectories causes dependent packages
like libfabric to fail to build.
2019-07-02 10:34:58 -07:00
Mark Olesen
5fd3b5acda openfoam: rename openfoam-com to openfoam (#11876)
The original packaging, with openfoam as a virtual and with
openfoam-com, openfoam-org and openfoam-extend as
providers, adds an obfuscation layer without any benefit.

- Rename `openfoam-com` to `openfoam`, and remove the 
  `openfoam` virtual package.
2019-07-01 22:54:36 -07:00
Todd Gamblin
515b4045e9 specs: remove parse_anonymous_spec(); use Spec() instead
- `parse_anonymous_spec()` is a vestige of the days when Spack didn't
  support nameless specs.  We don't need it anymore because now we can
  write Spec() for a spec that will match anything, and satisfies()
  semantics work properly for anonymous specs.

- Delete `parse_anonymous_spec()` and replace its uses with simple calls
  to the Spec() constructor.

- make then handling of when='...' specs in directives more consistent.

- clean up Spec.__contains__()

- refactor directives and tests slightly to accommodate the change.
2019-07-01 18:45:44 -07:00
Todd Gamblin
12b9fad7b6 cray: use the cle-release file to determine CNL version
- CNL OS previously used the *Cray PE* version to determine the OS
  version.  Cray does not synchronize PE and CLE releases; you can run
  CLE7 with PrgEnv 6 (and NERSC currently does).

- Fix Spack's OS detection by using the cle-release file to detect the OS
  version.  This file is updated with every CLE OS release.

- Add some tests for our parsing logic
2019-07-01 18:36:02 -07:00
Milton Woods
1ad9f6268b New packages: libmo-unpack and py-mo-pack (#11895)
* libmo-unpack: package to encode and decode UM fields
* py-mo-pack: python interface for libmo-unpack
2019-07-01 18:24:45 -07:00
Justin S
781a115656 New package: r-gwmodel (starting at 2.0-9) (#11887) 2019-07-01 18:14:29 -07:00
Justin S
196886e708 New package: r-spatialreg (starting at 1.1-3) (#11886) 2019-07-01 18:13:06 -07:00
Justin S
a7cd7fdcd4 New package: r-spdata (starting at version 0.3.0) (#11883) 2019-07-01 18:11:16 -07:00
Milton Woods
711a80832a New package: py-nc-time-axis (#11898) 2019-07-01 18:07:57 -07:00
Glenn Johnson
b66c296562 py-markdown package: update dependency version range (#11908)
The python dependency specifies that 2.7 or 2.8 are allowed when in
fact it should specify a version range (anything between 2.7 and 2.8,
inclusive).
2019-07-01 17:52:41 -07:00
Sameer Shende
4d0926464c mpich: wrapperrpath variant allows disablement of RPATH usage in mpicc
Added a wrapperrpath variant to mpich that defaults to `True`.

Users can set this to `False` (e.g., spack install mpich~wrapperrpath) to
disable the wrapper RPATHs.  This makes it easier to replacing an MPICH
installation in a container with an MPICH for the host system,
e.g., Cray MPICH with Shifter on Cori, Intel MPI, MVAPICH2, etc.

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2019-07-01 15:09:40 -07:00
Toyohisa Kameyama
54de03548b planck-likelihood: remove -m64 on ARM (#11902) 2019-07-01 10:48:45 -07:00
Axel Huebl
1b3c11e793 ADIOS2: v2.4.0 (#11904)
Add the latest release of ADIOS2.
2019-07-01 13:47:31 -04:00
Milton Woods
6856972745 tk: avoid search for X headers and libraries (#11892) 2019-07-01 13:47:04 -04:00
t-karatsu
8ca5c3685a camellia: fix hdf5 dependency (#11810)
* camellia: fix hdf5 dependency

* camellia: Add comment
2019-07-01 13:40:53 -04:00
Justin S
b517be2c68 r-spacetime: new package at 1.2-2 (#11885) 2019-07-01 13:39:15 -04:00
Patrick Gartung
9bf9c0cec3 buildcache: add replace_prefix_bin function to deal with hard coded paths in libraries and executables. (#11882) 2019-07-01 10:16:23 -05:00
Milton Woods
0f703b7e81 py-netcdf4: depend on hdf5+hl (#11893) 2019-07-01 15:38:35 +02:00
Todd Gamblin
f51c4c5e77 readme: make list of links even tighter. 2019-06-30 23:15:37 -07:00
Todd Gamblin
af39390578 README: Tighten up text, mention the Code of Conduct in the README. 2019-06-30 23:08:33 -07:00
Todd Gamblin
9c37a4c948 meta: move CODE_OF_CONDUCT.md and CONTRIBUTING.md to .github
- Trying to reduce the number of top-level files in Spack.

- CODE_OF_CONDUCT.md can be referenced from the README.

- CONTRIBUTING.md is only used to display a message on pull requests, and
  it still does that when in .github.
2019-06-30 23:08:33 -07:00
Dr Owain Kenway
441401bb8b llvm: don't build CppBackend for flang versions of llvm (#11841)
The version of LLVM used by flang is new enough that CppBackend doesn't exist.  Unfortunately, `flang-xxxxxxxx` is seen as < `3.9.0` by the version check.  

* add a special case for `flang` versions.
2019-06-30 17:04:29 -07:00
Oliver Breitwieser
cf76a143a2 libtomlc99: Update version
The PR for shared libraries has been merged upstream -> add new version.
2019-06-30 16:02:08 -07:00
Todd Gamblin
4189640ee8 style: remove unnecessary NOQA exceptions 2019-06-30 16:01:23 -07:00
Todd Gamblin
600f3c1104 setup-env.sh: send cd output to /dev/null when it affects Spack
- We've seen this a few times now where users have set up `cd` to echo
  the new directory, and it screws up `setup-env.sh`

- In the past we've said this is user error.

- Here, we just fix it by sending `cd` output to /dev/null where needed.
  - this works in bash, zsh, and dash
2019-06-29 19:01:44 -07:00
Peter Scheibel
9c16b4a7f6 Allow uninstalling missing packages (#11874)
Remove package access from directory_layout; add regression test to ensure
that specs can be uninstalled without a package being known
2019-06-29 16:04:15 -07:00
Christoph Junghans
7f2e364fa1 legion: added recent releases (#11889) 2019-06-29 07:12:24 -06:00
Justin S
7f6266eef6 r-intervals: new package at 0.15.1 (#11884) 2019-06-28 19:42:55 -04:00
Mark W. Krentel
8aa8b50f91 docs: add example for an external module in packages.yaml
Add an example of a 'modules:' entry for an external package in
packages.yaml.  The 'External Packages' section of 'Build
Customization' mentions 'paths:' and 'modules:' and gives an
example of paths, but not modules.
2019-06-28 11:59:10 -07:00
Carson Woods
5873beb83f qthreads package: make hwloc dependency optional and add version 1.14 (#11780) 2019-06-28 11:43:06 -07:00
Andreas Baumbach
5e9437866b New package: libtomlc99 (#11811) 2019-06-28 11:16:34 -07:00
Hironori-Yamaji
d5402147f0 bib2xhtml: replace version and change the download url (#11837)
The old version was no longer available for download
2019-06-28 11:03:54 -07:00
Matthieu Dorier
46c1513296 PMDK package: requires ncurses dependency (#11868) 2019-06-28 10:15:06 -07:00
Toyohisa Kameyama
d8f4e0a565 OTF package: use autotools. (#11873) 2019-06-28 10:13:21 -07:00
Toyohisa Kameyama
ae8710fa36 blast-plus package: remove --with-64 on ARM. (#11877)
This configure option is not supported on ARM
2019-06-28 10:11:04 -07:00
Michael Kuhn
ac76e4692f likwid package: Fix build with version 4.3.4 (#11878) 2019-06-28 10:05:38 -07:00
ktsai7
d48226b260 Update package.py (#11872) 2019-06-28 09:39:59 -06:00
Michael Kuhn
d2de78ab00 fenics, llvm: Fix package names being overriden (#11879)
Setting name within the package class allows overriding the package
name, which both packages do using several for loops.

Fixes #11789
2019-06-28 15:59:19 +02:00
Christoph Junghans
d6ecc29e4b portage: add v1.2.2 (#11842)
* portage: add v1.2.2

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* flake8
2019-06-28 06:39:26 -06:00
Toyohisa Kameyama
ff877a567e Gotcha package: fixed to build on ARM. (#11840)
Apply patch to current version which has not yet been merged in the
upstream package repo.
2019-06-27 15:34:11 -07:00
Derick Huth
81db89b5e7 New packages: Chill and IEGenLib (#11406)
* Add Chill package
* Add IEGenLib package, a dependency of Chill
2019-06-27 13:41:06 -07:00
Michael Kuhn
f5f2b05c5b pkgconf: Add 1.6.1 (#11863) 2019-06-27 22:15:04 +02:00
Christoph Junghans
8a51215c36 bml: add v1.3.1 (#11856) 2019-06-27 10:57:09 -06:00
Hironori-Yamaji
c48b67ccd7 f90cache: change the download url (#11838)
* f90cache: change the download url

* f90cache: added the download url for ver 0.99
2019-06-27 12:55:48 -04:00
Hironori-Yamaji
9ed4db6eea tcsh: change the download url, add version 6.21.00 (#11836)
* tcsh: change the download url, add version 6.21.00

* tcsh: change the download url

* tcsh: Fix checksum for 6.20.00
2019-06-27 12:53:43 -04:00
Mark Olesen
0119812781 Update openfoam (#11866)
* OpenFOAM: rationalize architecture options

- older versions of OpenFOAM had WM_ARCH_OPTION to choose a 32-bit
  build on 64-bit architectures. This is not exactly relevant anymore
  and has now been largely removed from OpenFOAM.

- simultaneously the newest version of OpenFOAM has rationalized the
  handling of special settings for KNL by rolling these into the
  compiler options. We now do the same thing here in spack.

  1. Reuse the internal variable arch_option to convey processor-specific
     optimizations and add these into the C++OPT=... statement.
  2. Drop spack support for configuring a 32-bit build on 64-bit
     hardware.

These changes can also be applied to older OpenFOAM versions, and to
various OpenFOAM forks without issue.

* update openfoam versions. New release 1906, patched 1812 version.
2019-06-27 11:14:33 -05:00
Michael Kuhn
eb00436ec8 font-util: Add missing mkfontdir build dependency (#11865)
Some of the fonts now included in font-util need mkfontdir to build.
2019-06-27 15:53:05 +02:00
Michael Kuhn
5669144d22 Fix pkgconfig dependencies (#11864)
pkgconfig is the correct virtual dependency.
2019-06-27 14:56:42 +02:00
Toyohisa Kameyama
1c779608b2 cbtf-krell: fixed to build on ARM. (#11859) 2019-06-27 11:55:15 +02:00
Toyohisa Kameyama
977b2621f9 font-util: fix fontname. (#11860) 2019-06-27 11:54:23 +02:00
Satish Balay
85372ae102 petsc: add version 3.11.3 (#11857) 2019-06-27 07:02:03 +02:00
Michael Kuhn
75adb54d51 cdo: Remove obsolete patch (#11854)
Commit ea3e1521fe removed version
1.9.7rc2, making the patch for gcc@9 obsolete.
2019-06-26 19:36:41 -05:00
Michael Kuhn
0ef3b4c578 ncl: Fix build (#11855)
ncl does not build with newer versions of gdal (or rather proj). This
also needs a small change to gdal, otherwise we end up with both proj@5
and proj@6 in the spec.
2019-06-26 19:36:29 -05:00
Greg Becker
a0f2d6a8b9 Make yaml-cpp build with libc++ (#10504)
- Separate `yaml-cpp` tests into variant
- Make conflict between `yaml-cpp` tests and `libc++` explicit
2019-06-26 14:29:09 -07:00
ktsai7
ba5530bb42 added min version for gasnet and legion (#11853)
* added min version for gasnet and legion

* Update package.py

* Update package.py

* Update package.py
2019-06-26 14:46:18 -06:00
Douglas Duckworth
27b07811dd RELION package: add version 3.0.6 (#11851) 2019-06-26 09:57:14 -07:00
Toyohisa Kameyama
e49c101f05 X11fonts: use autotools for new architecture host (#11785)
* Remove individual font-* packages and add them as resources of the
  font-util package
* Update font-util package to Autotools-based package, and call
  autoreconf to regenerate the old configure script
* Add font-adobe-utopia-type1
2019-06-26 08:26:37 -07:00
Toyohisa Kameyama
b185f87c55 Add --frontend and --backend option to spack arch command (#11746) 2019-06-26 08:19:46 -07:00
Adam J. Stewart
5c5d6cad44 Rename py-pytables -> py-tables (#11847) 2019-06-25 21:32:49 -04:00
Satish Balay
ef48219f15 remove binary file that got added inadvertently via #11828 (#11848) 2019-06-25 21:31:36 -04:00
Christoph Junghans
718af821d1 pfunit: fixed a typo (#11843) 2019-06-25 14:06:52 -04:00
Chuck Atkins
f20c97168d gnutls: workaround guile build error on macos (#11751) 2019-06-25 13:08:28 -04:00
jthies
6bbc7e8d9b phist can't be compiled with gcc older than 4.9.2 (#11677)
* phist can't be compiled with gcc older than 4.9.2
2019-06-25 12:53:21 -04:00
Ben Morgan
531114cd6c fmt: Add version 5.3.0 with cxxstd variant support (#11799)
* fmt: Add cxxstd variant, plus cmake/c++ patches

Spack supported versions of fmt default to C++11 for versions
less than 5, C++14 greater than 5, with fmt implementing
fallbacks to whatever compiler supports.

To give better ABI compatibility and use of newer standards, provide
a `cxxstd` variant defaulting to 11 with 98-17 options. Use cmake_args
to set CMAKE_CXX_STANDARD as appropriate, plus use of `FMT_USE_CPP11`
option for C++98 builds. Use `conflicts` to disable use of certain
standards in versions that don't support, or fail the build, with
those standards.

Add patches to unify use of `CMAKE_CXX_STANDARD` in 3.0 versions,
remove hard-coding of compiler flags in `fmt-config.cmake`, and
prevent use of C++11 features in 4.1.0 when in supported C++98
mode.

Default to not building documents as no dependency on Doxygen is
yet present, and they are not part of the "all" build.

* Use CMake to enforce C++ standard support

Fail configure step if fmt tries to build with a cxxstd variant
not supported by the compiler (or known to CMake).

* fmt: New version 5.3.0
2019-06-25 12:01:31 +01:00
Patrick Gartung
30ce818fc4 Fix for #10063 : install from source if buildcache with different DAG exist (#11834)
* Fix for #10063 : install from source if buildcache with different DAG exist

* Flake8
2019-06-24 21:09:24 -05:00
rvinaybharadwaj
fa563f0f55 Bumping-up miniVite to version 1.1 (#11828)
* Bumping-up miniVite to version 1.1

* Keeping both version of miniVite

* Changed to >=
2019-06-24 19:41:01 -06:00
Justin S
5b3f196bc2 New package: Rodinia (starting at 3.1) (#11650) 2019-06-24 18:32:46 -07:00
Carson Woods
ad14432e66 UCX package: add versions 1.5.1/1.5.2 (#11832) 2019-06-24 18:21:06 -07:00
Carson Woods
f10b806bde Singularity package: add version 3.2.1 (#11833) 2019-06-24 18:20:23 -07:00
Denis Davydov
8e89a82076 clamav: add new package (#11818)
* clamav: add new package

* fix flake8

* remove --dsable lines
2019-06-24 19:47:15 -04:00
Gregory Lee
16ff38b784 add glx variant to libepoxy (#11814) 2019-06-24 17:57:17 -04:00
Glenn Johnson
c575cc46db The py-pytables package depends on hdf5-blosc (#11823)
* The py-pytables package depends on hdf5-blosc

* Further modifications to py-pytables package

The 3.2.2 version of py-pytables should still build with internal blosc.
The issue with locking in a multithreaded environment has been
fixed/worked around in version 3.3.

Also, add bzip2 and lzo variants.
2019-06-24 17:56:51 -04:00
Satish Balay
1ec3d78441 hypre: superlu-dist-link-2.15.0.patch is now in hypre@develop (#11829) 2019-06-24 17:55:04 -04:00
Andreas Baumbach
b39a992528 add new package py-absl-py (#11812)
* add new package py-absl-py

Change-Id: I248d30e0a3e5e05d9ea4027d97a85545c63d1125

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2019-06-23 17:33:36 -04:00
Andreas Baumbach
2687af2c53 New package py-astor (and test dependency py-astunparse) (#11813)
* add package py-astor

Change-Id: I2f6becfb5e9771170bf2df5eb629920e1c0998d7

* add new package py-astunparse

Change-Id: Id2d3e8dec28e720ed1cb121dad0d1a405c27ca29

* Update package.py

* Update package.py

* Update package.py
2019-06-23 17:33:22 -04:00
Christoph Junghans
d65e6ad7e3 hypre: add v2.16.0 (#11821)
* hypre: add v2.16.0

* update checksums

* hypre: xsdk-0.2.0 tag is missing on the new repo
2019-06-23 17:33:05 -04:00
Neil Flood
681245c7ed awscli: new package (#11796)
* awscli: new package

* More precise py-pyyaml version dep, as per setup.py
2019-06-23 14:54:48 -04:00
Adam J. Stewart
9c54d8ef6c r-sf may not support PROJ.6 (#11767)
* r-sf may not support PROJ.6

* Add comment explaining dep
2019-06-23 11:35:33 -05:00
Sinan
c83f8a425d new package/py-blessed (#11656)
* new package/py-blessed

* make flake8 happy

* fix docstring

* tab to spaces

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

specify dependency version.

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

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

specify dependency version

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

* add setuptools as depedency
2019-06-22 17:05:03 -05:00
Peter Scheibel
1ae03b327c Use Stage.archive_file to access non-expanded download (#11817)
Fixes #11816

Allow packages to refer to non-expanded downloads (e.g. a single
script) using Stage.archive_file. This addresses a regression from
#11688 and adds a unit test for it.
2019-06-21 16:56:38 -07:00
Gerasimos Chourdakis
98d21193ff precice: add version 1.5.1 (#11809) 2019-06-21 07:56:35 -04:00
Toyohisa Kameyama
e19d7b9a49 exonerate use autotools. (#11805) 2019-06-21 07:55:29 -04:00
Toyohisa Kameyama
1827b4c5cb mpileaks: use autotools. (#11808) 2019-06-21 07:55:04 -04:00
Toyohisa Kameyama
9955b15f4e mpe2 use autotools and add libx11 dependency. (#11807) 2019-06-21 07:54:51 -04:00
Gregory Lee
894d01e482 converting to launchmon to autotools package (#11794) 2019-06-21 07:47:42 -04:00
Valentin Reis
e6264030d7 New packages: nrm and libnrm (#11777)
Also add new py-warlock, py-jsonpatch, and py-jsonpointer packages as
dependencies of nrm.
2019-06-20 19:21:44 -07:00
Adam J. Stewart
9b8215ce9d Ignore pgcc-llvm and friends, default to pgcc (#11703)
This change reverts to the previous behavior of only looking for pgcc
and friends, not pgcc-llvm and friends.

The llvm variant doesn't support all the same features as the
traditional variant of the pgi code generator; this change avoids
treating the llvm variant as a default pgi compiler.

This retains the changes in #10704 which accept the "LLVM" suffix of
the version string of the PGI compiler, which allows users to
explicitly add the llvm-pgi compiler if desired.
2019-06-20 19:07:29 -07:00
Mark W. Krentel
a76bacd594 boost: add variant for symbol visibility (#11801)
Starting with 1.69.0, boost added a bjam option for the default symbol
visibility.  Up to 1.68.0, the value was always 'global'.  1.69.0
changed the default to 'hidden' but added an option.

Most packages will work with hidden and won't notice.  But some
packages may discover that an interface that they rely on is now
hidden and inaccessible.

https://boostorg.github.io/build/manual/develop/index.html#bbv2.builtin.features.visibility
2019-06-20 17:43:25 -04:00
Justin S
686eaff30c subread: add 1.6.4 (#11800) 2019-06-20 13:54:20 -05:00
Peter Scheibel
284ae9d1cc Resources: use expanded archive name by default (#11688)
For resources, it is desirable to use the expanded archive name of
the resource as the name of the directory when adding it to the root
staging area.

#11528 established 'spack-src' as the universal directory where
source files are placed, which also affected the behavior of
resources managed with Stages.

This adds a new property ('srcdir') to Stage to remember the name of
the expanded source directory, and uses this as the default name when
placing a resource directory in the root staging area.

This also:

* Ensures that downloaded sources are archived using the expanded
  archive name (otherwise Spack will not be able to determine the
  original directory name when using a cached archive).
* Updates working_dir context manager to guarantee restoration of
  original working directory when an exception occurs
* Adds a "temp_cwd" context manager which creates a temporary
  directory and sets it as the working directory
2019-06-20 11:09:31 -07:00
Adam J. Stewart
4858d8c275 Add GDL 0.9.9 (#11760)
* Add GDL 0.9.9

* Add comment on PROJ dependency
2019-06-20 13:36:10 -04:00
Neil Flood
0cec7c6590 py-python-dateutil: Version 2.7.0 acquired dependency on setuptools-scm (#11795) 2019-06-20 09:18:04 -05:00
Carson Woods
e7eb9ce1af Bump netcdf-fortran version to 4.4.5 (#11790) 2019-06-19 17:38:17 -05:00
Oliver Breitwieser
8b1575fa0a py-matplotlib: Fix dependencies in [2.1.0:3.0.0) (#11787)
Starting with 2.1.0, backports.functools_lru_cache replaces functools32
when using python 2.7.x until python2 support is dropped in 3.0.0.

Change-Id: I8db61eac975da0042f6f5babe0f5f0c92807200e
2019-06-19 17:38:04 -05:00
Kevin Manalo
6e4ed3e84a osu-micro-benchmarks: add version 5.6.1 (#11779)
Also add mpi osu-micro-benchmarks to runtime PATH
2019-06-19 11:04:03 -07:00
brietzke
4f9116dae2 New package: fgsl: fortran interface to GSL (#11775) 2019-06-19 10:59:11 -07:00
Chuck Atkins
a60ffdd5a2 vtk, paraview, catalyst packages: Add maintainers (#11774) 2019-06-19 10:57:19 -07:00
Mark W. Krentel
d29f8d0598 xfd package: use Spack-installed libintl (#11545)
Fixes #11526

The xfd configure script tests for libintl but incorrectly concludes
that no additional library is needed because gettext is provided in
libc. So we add '-lintl' to ldlibs to point to the Spack-installed
gettext. Note that the xfd configure script does not have a
--with-gettext option to do this for us.

Also add version 1.1.3
2019-06-19 10:54:50 -07:00
Daniel Topa
06342923fc eospac package: replace md5 checksums with sha256 (#11757) 2019-06-18 19:20:35 -07:00
Andrey Prokopenko
d1c9367446 New package: ArborX (#11474) 2019-06-18 19:14:05 -07:00
Gregory Lee
8706ac1479 fixed spec dependence attribute writing. Fixes #11686 (#11776) 2019-06-19 04:13:12 +02:00
Justin S
2287dd6165 New package: amber (starting at v16) (#11619) 2019-06-18 19:01:03 -07:00
dorier
da800c21bd New package: PRRTE (#11614) 2019-06-18 18:47:24 -07:00
william-dawson
de2e088d43 New Package: ELSI (#11605) 2019-06-18 18:30:57 -07:00
Greg Becker
9a4917644a Remove test dependency on /usr/bin/gcc (#11769)
The regression test for #11678 fails on at least some Mac OS systems
because they have a /usr/bin/gcc that is secretly clang.

This PR replaces the dependency on a system gcc executable with a
test-generated script that generates the expected output for the
compiler logic.
2019-06-18 18:23:02 -07:00
Greg Becker
1ea3d29110 Ensure brew update is run before using brew in test environment (#11784)
All macos tests are failing because brew cannot install ccache
without updating brew. This ensures that brew update is run
before using brew in test environment.
2019-06-18 17:50:45 -07:00
Axel Huebl
e925589fc7 xtensor package: add version 0.20.7 and update dependencies (#11574)
* xtensor-python: add version 0.23.1
* xtensor-python: update xtensor/xtl dependency version constraints
  for 0.23.1
* xtensor-python: remove xtensor/xtl dependency version constraints
  for the develop version to favor the latest (develop) version of
  these dependencies
* xsimd: add version 7.2.3
* xtensor: add tbb variant to enable TBB parallelization
* xtensor: add version 0.20.7
* xtensor: update CMake args enable xsimd/tbb support based on
  variant settings
* xtl: add version 0.6.4
2019-06-18 17:05:47 -07:00
Robert Pavel
2eee507914 Added Cinch Spackage (#11759)
* Added Cinch Spackage and updated Flecsi to Use It

Added spackage for Cinch build system and updated flecsi spackage to use
the external version of cinch

* Flake8 compliance for Cinch and Flecsi

* Fixed Cinch Issue and Requested PR Changes

Swapped cinch back to master branch rather than test branch and style
issues for PR
2019-06-18 16:45:58 -05:00
Adam J. Stewart
d21bec996e Restrict gplates to proj@:5 (#11761)
* Restrict gplates to proj@:5

* Add comment on PROJ dependency
2019-06-18 15:15:14 -04:00
Adam J. Stewart
6d8c69848b Add py-rasterio 1.0.24 (#11738)
* Add py-rasterio 1.0.24

* Python 3 required in the next release
2019-06-18 15:14:27 -04:00
Adam J. Stewart
ff6dfe3c00 Add py-shapely 1.6.4.post2 (#11739) 2019-06-18 14:24:56 -04:00
Adam J. Stewart
ea3e1521fe Add CDO 1.9.7.1 (#11758) 2019-06-18 14:22:22 -04:00
Justin S
d82f8cd405 repeatmasker: perl and HMMER dependency fixes (#11660)
repeatmasker depended on HMMER but was never actually configured to
use it. The package also had many shebangs pointing to random perl
locations, now patched to use Spack's perl installation.
2019-06-18 11:11:00 -07:00
Hadrien G
e35355f040 ACTS package: add versions including 0.10.1 (#11606)
* Also add version 0.10.0
* Add leading '0' to 0.9.x versions (e.g. 0.09.1) and 0.8.x versions
* Don't mention acts-framework, that package isn't in Spack yet
2019-06-18 11:00:02 -07:00
Tamara Dahlgren
2a919c8851 Ensure proper gopath set for rclone (#11755)
Fixes #11745

Set the GOPATH environment variable to the stage path to avoid
creation of a $HOME/go directory.
2019-06-18 10:49:07 -07:00
Elizabeth Fischer
f886c7e59d Rename build.out to build.txt (#11749)
Rename build.out to build.txt; makes it easier when people post log files to the Spack mailing list.
2019-06-18 10:32:00 -07:00
Gabriel Rockefeller
003f670ef9 r3d: add version 2018-01-07 (#11770) 2019-06-18 09:36:49 -05:00
Adam J. Stewart
7c3137a203 Restrict libspatialite to proj@:5' (#11752) 2019-06-17 23:48:16 -04:00
Adam J. Stewart
7dc6b609d5 r-rgdal does not yet support PROJ.6 (#11766) 2019-06-17 23:47:52 -04:00
Adam J. Stewart
6422130709 Add PROJ.6 (#11730)
* Add PROJ.6

* Add back comment about newer PROJ API
2019-06-17 23:46:42 -04:00
Adam J. Stewart
1891734195 PROJ.6 not yet supported in SAGA-GIS (#11768) 2019-06-17 21:39:05 -04:00
Adam J. Stewart
a239ba33af py-cartopy does not yet support PROJ.6 (#11765) 2019-06-17 21:35:14 -04:00
Adam J. Stewart
a896a33b3b Specify which versions of PROJ work with MapServer (#11764) 2019-06-17 21:34:54 -04:00
Adam J. Stewart
349844a5fd Restrict magics to proj@:5 (#11763) 2019-06-17 21:33:25 -04:00
Adam J. Stewart
3018c64537 GRASS GIS does not yet support PROJ.6 (#11762) 2019-06-17 20:59:12 -04:00
Adam J. Stewart
b0cf2b5855 Add GEOS 3.7.2 (#11734) 2019-06-17 20:58:43 -04:00
Adam J. Stewart
de51be45b9 Add GDAL 3.0.0 (#11733)
* Add GDAL 3.0.0

* Clarify PROJ version requirements
2019-06-17 20:57:48 -04:00
Adam J. Stewart
17f20d0f32 Add py-fiona 1.8.6 (#11736)
* Add py-fiona 1.8.6

* Remove commented code

* Python 3 will be required in the next release
2019-06-17 20:54:58 -04:00
Adam J. Stewart
ee20b4826f Add libgeotiff 1.5.1 (#11731) 2019-06-17 20:46:46 -04:00
Manav Bhatia
0e34cc8a8e Libmesh updates (#11750)
* Updates to libMesh: added v1.3.1 checksum, added vtk variant, bugfix for enabling petsc when slepc variant is specified

* fixed indentation issues identified by Travis CI

* - updates version number
- added master as a version
- added new variant options for perflog, metaphysicl and blocked storage
-- bug-fix for metis

* fixes for spack indentation errors

* renaming develop to master following review comment of PR.
2019-06-17 19:38:19 -05:00
Adam J. Stewart
e23adbd4a9 Add py-pyproj 2.2.0 (#11735)
* Add py-pyproj 2.2.0

* PR review requests

* Make Python requirements more explicit
2019-06-17 20:23:40 -04:00
Adam J. Stewart
10d5008ef5 Restrict pism to proj@:4 (#11754)
* Restrict pism to proj@:5

* PROJ.5 is not yet supported either :(
2019-06-17 18:35:03 -04:00
Paul
93e1336de8 Added newer GoLang versions (#11756) 2019-06-17 17:23:09 -05:00
Adam J. Stewart
a558de117a Restrict ibmisc to proj@:4 (#11753)
* Restrict ibmisc to proj@:5

* Restrict ibmisc to proj@:4
2019-06-17 18:02:09 -04:00
Dan Lipsa
cdf4ba81e5 Remove version from py-mpi4py. (#11587) 2019-06-17 10:59:34 -04:00
Valentin Clement (バレンタイン クレメン)
f4d8b1ee60 Add version 1.2.2 and 1.2.3 to the package (#11748) 2019-06-17 16:03:26 +02:00
Dan Lipsa
83c7959580 Fix condition to enable mpi4py. (#11707)
* Fix condition to enable mpi4py.

* flake8

* Catalyst as paraview for mpi4py.

* Catalyst needs numpy and mpi4py.

* Remove leftover enable python.
2019-06-17 09:30:29 -04:00
Tamara Dahlgren
6e067a05c7 bugfix: use config fixture for stage tests (#11701)
Some tests introduced in #11528 temporarily set the user's `config:build_stage`, which affected (or created) a config.yaml file in the user's `$HOME/.spack` directory that could leave entries behind if the tests fail.

This change ensures only temporary configuration files are used/affected by these tests.
2019-06-17 11:38:34 +02:00
Tamara Dahlgren
a551e4329e docs: updates for stage.source_path (#11702) 2019-06-17 11:36:22 +02:00
Axel Huebl
b57ba6289c openPMD-api: pybind11>=2.3.0 (#11744)
Update the dependency on pybind11 to the latest version
(constexpr signature support for all C++11 compilers + fixes).
2019-06-16 17:47:55 +02:00
Todd Gamblin
ce3a3507a4 cowsay: new package (#11743)
- A program that generates ASCII pictures of a cow with a message.

- This is used by the ISC19 Singularity tutorial, so we should probably
  have it in Spack.
2019-06-16 17:29:25 +02:00
Todd Gamblin
45c65a255a docs: update tutorial page for ISC19 tutorial (#11742) 2019-06-16 12:35:12 +02:00
Adam J. Stewart
3192318f36 Add py-geopandas 0.5.0 (#11737) 2019-06-16 08:57:13 +02:00
Adam J. Stewart
4965e9be53 Add libtiff 4.0.10 (#11732) 2019-06-16 08:52:16 +02:00
Adam J. Stewart
830964c2fb Add nasm 2.14.02 (#11729) 2019-06-16 08:50:05 +02:00
Adam J. Stewart
e259932a1e Add openjpeg 2.3.1 (#11728) 2019-06-16 08:49:36 +02:00
Adam J. Stewart
76490dcdbc Add py-cligj 0.5.0 (#11727) 2019-06-16 08:48:42 +02:00
Adam J. Stewart
69a746e941 Add py-numpy 1.16.4 (#11726) 2019-06-16 08:47:38 +02:00
Adam J. Stewart
7bb44f4620 Add libjpeg-turbo 2.0.2 (#11725) 2019-06-16 08:47:14 +02:00
Adam J. Stewart
92ab46b9ed Update URL for older version of jackcess (#11724) 2019-06-16 08:46:13 +02:00
Adam J. Stewart
53a4ea43c8 Add HDF 4.2.14 (#11723) 2019-06-16 08:45:23 +02:00
Adam J. Stewart
ffb7e83e65 Add new package py-boto3 (#11722) 2019-06-16 08:44:41 +02:00
Adam J. Stewart
0de9d15a49 Add new package py-s3transfer (#11721) 2019-06-16 08:43:41 +02:00
Adam J. Stewart
9a400d13a9 Add new package py-botocore (#11720) 2019-06-16 08:43:06 +02:00
Adam J. Stewart
2a15ab42fe Add new package py-jmespath (#11719) 2019-06-16 08:42:35 +02:00
Adam J. Stewart
07a90b214b Add new package py-freezegun (#11718) 2019-06-16 08:41:27 +02:00
Adam J. Stewart
639cb17322 Rename py-dateutil -> py-python-dateutil (#11717) 2019-06-16 08:40:56 +02:00
Adam J. Stewart
954a36c499 Add py-aenum package (#11716) 2019-06-16 08:39:54 +02:00
Kevin Manalo
91ef079511 intel: add version 19.0.4 (#11741) 2019-06-15 23:19:58 -05:00
Adam J. Stewart
3bad45fedf Updates to poppler to get pdf2svg working (#11681) 2019-06-15 17:32:39 -05:00
Glenn Johnson
6592b4d46d Fix latest HPL for MKL use (#11712)
The 2.3 version of HPL needs LDFLAGS set for use of MKL libraries.
2019-06-15 15:46:59 -05:00
Michael Kuhn
f3671244e4 docs: fix config tutorial (#11715)
This fixes a few typos, adds a hint to `spack config blame` and brings
the variant specification in line with other docs sections.
2019-06-15 21:34:32 +02:00
Axel Huebl
bccfb622e5 pybind11: v2.3.0 (#11713)
Add the latest 2.3.0 release and me as package maintainer.
2019-06-15 10:30:04 -05:00
brietzke
ef55319a9c new package: mutationpp (#11705)
* new package: mutationpp

* Update package.py

* flake8: correct package.py for flake8-python-style

* Update package.py

* modifications as requested by reviewer for #11705
2019-06-15 10:29:36 -05:00
Gabriel Rockefeller
537fa81c5d r3d: add version 2019-04-24 (#11710) 2019-06-15 14:27:03 +02:00
Justin S
9d6f37dc15 montage: new package at 6.0 (#11696) 2019-06-14 16:40:50 -05:00
Matthias Diener
f3eab78b80 scons: add version 3.0.5 (#11709) 2019-06-14 16:39:58 -05:00
Satish Balay
030f0951d4 dtk@develop now requires 'submodules=True' flag (#11694) 2019-06-14 11:04:48 -05:00
Justin M Wozniak
8afae13369 swift-t: New release packages for 1.4.3 (#11684) 2019-06-14 09:49:51 -05:00
Tamara Dahlgren
1b8f641016 Ensure mock configuration directory is cleaned up on session exit. (#11700) 2019-06-13 16:41:00 -07:00
Jordan Ogas
e275ddc169 add charliecloud-0.9.10 (#11471)
* add charliecloud-0.9.10; remove obsolete version

* revert older version changes; add version function

* fix space issue

* remove url declaration

* revert url removal

* remove self reference

* fix url; removed preferred tag; use newer package url
2019-06-13 16:50:55 -05:00
Tamara Dahlgren
25b21c093a Add tests for "spack location" command (#11661)
The "spack location" command was previously untested. This also adds
a check to ensure that composite Stages can report whether they were
expanded (this property was previously only recorded in Stage but not
in CompositeStage).
2019-06-13 12:20:13 -07:00
Tamara Dahlgren
5cf62e69ce Always treat DIYStage as expanded (#11663)
DIYStage, used to treat a user-managed directory as a staging area,
should always be considered expanded (i.e. the source has been
decompressed if it was stored in an archive).

This also:

* Adds checks to ensure that the path used to instantiate a
  DIYStage refers to an existing directory.
* Adds tests to check the behavior of DIYStage (including behavior
  added here, but it was generally untested before).
2019-06-13 11:14:35 -07:00
Mark W. Krentel
aca1bfdb6a intel-xed and hpcviewer: adapt to new resource placement (#11676)
Change 'destination' to 'placement' in the use of resource() for
intel-xed and hpcviewer.  Recent commits (1842873f and eb584d89)
changed the directory path for a resource and thus broke the build
for these packages.
2019-06-13 09:53:30 +02:00
marvinbernhardt
4f2144a68e added jpeg,png,ffmpeg variants to lammps (#10404) 2019-06-12 21:02:20 -06:00
Tamara Dahlgren
16530f84be Update remaining packages to use Stage.source_path (#11662)
#11528 updated Stage to always store a Package's source in a fixed
directory accessible via `Stage.source_path` This left behind a
number of packages which were expecting to access the source code
via `Stage.path`. This Updates those packages to use
`Stage.source_path` instead.

This also updates the name of the fixed directory: The original name
of the fixed directory was "src", so if an expanded archive created a
"src" directory, then users inspecting the directory structure could
see paths like "src/src" (which wasn't wrong but could be confusing).
Therefore this also updates the name of the fixed directory to
"spack-src".
2019-06-12 17:07:47 -07:00
Massimiliano Culpo
3ce90741a3 Make "spack compiler find" check PATH by default (#11683)
Fixes #11678

`spack compiler find` was not searching `PATH` when provided with no
arguments. ea7910a updated the API for the search function and the
command logic did not update how it called this function. This also
adds a test to ensure that `spack compiler find` will collect
compilers from `PATH`.
2019-06-12 15:28:16 -07:00
Dave
fe8297da74 warpx: only allow master branch, and fix build on darwin (#11667)
* warpx: only allow master branch, and fix build on darwin

* warpx: Added CXXFLAGS=-std=c++11 for clang

* warpx: further clean up of openmp and c++11 flags

* warpx: Get around the problem with resources

The update uses placement instead of destination
2019-06-12 23:57:20 +02:00
Robert Pavel
a32382e787 Fixed Flecsi Backend Dependencies (#11679)
Fixed logic behind flecsi backends to not require legion for an mpi
build and to better support required combinations.
Also made graphviz support and tutorial building optional
2019-06-12 15:46:14 -06:00
Adam J. Stewart
4e812090c0 Add additional common C++ and Fortran header file extensions (#11600)
* Add additional common C++ and Fortran header file extensions

* Add .hxx extension

* Add .txx and .tcc extensions

* Add .icc extension
2019-06-11 20:13:55 -04:00
Sinan
6ae5f38f26 new python package/py-typesentry (#11657)
* new python package/py-typesentry

* add proper version
2019-06-11 14:33:43 -04:00
Dan Lipsa
667e2f20fe Add support for using python3 in new verison of VTK. (#11673)
* Add support for python3 in new versions of VTK.
2019-06-11 12:50:22 -04:00
Chuck Atkins
91205545f0 Add extra logic for C std flags on PGI, XL, and Cray (#11635) 2019-06-11 14:15:55 +02:00
psakievich
a998fa25b0 Paraview: Add motionfx Intel workaround (#11608)
* Paraview/VTK: Fix failure on intel builds

Paraview@5.6.0 fails to build with intel compilers on certain platforms.
Error messages have been traced to the optional MotionFX lib.
(see https://discourse.paraview.org/t/error-build-5-6-0-rc1/572)
Turning off motionfx allows for succesful builds on these platforms.
2019-06-11 08:15:41 -04:00
Peter Scheibel
406c791b88 Fix recursive module find for upstream dependencies (#11304)
"spack module tcl find -r <spec>" (and equivalents for other module
systems) was failing when a dependency was installed in an upstream
Spack instance. This updates the module index to handle locating
module files for upstream Spack installations (encapsulating the
logic in a new class called UpstreamModuleIndex); the updated index
handles the case where a Spack installation has multiple upstream
instances.

Note that if a module is not available locally but we are using the
local package, then we shouldn't use a module (i.e. if the package is
also installed upstream, and there is a module file for it, Spack
should not use that module). Likewise, if we are instance X using
upstreams Y and Z like X->Y->Z, and if we are using a package from
instance Y, then we should only use a module from instance Y. This
commit includes tests to check that this is handled properly.
2019-06-10 16:56:11 -07:00
Daniel Topa
35b1b81129 Add latest releases for pFUnit (#11642)
* Add latest releases for pFUnit
  - 3.2.10, 3.3.0, 3.3.1, 3.3.2, 3.3.3
  - 3.2.9 now with sha256
  - 4.0.0 is added, but commented out (build fails, see errors)

Verification builds

Darwin x86_64:
dantopa@cn100:pr-pfunit-darwin-general.spack $ spack find pfunit
==> 5 installed packages
-- linux-centos7-x86_64 / gcc@4.8.5 -----------------------------
pfunit@3.2.9  pfunit@3.2.10  pfunit@3.3.0  pfunit@3.3.1  pfunit@3.3.2  pfunit@3.3.3

Darwin Power9:
-- linux-rhel7-ppc64le / gcc@4.8.5 ------------------------------
pfunit@3.2.9  pfunit@3.2.10  pfunit@3.3.0  pfunit@3.3.1  pfunit@3.3.2  pfunit@3.3.3

Darwin ARM:
dantopa@cn805:pr-pfunit-darwin-arm.spack $ spack find pfunit
==> 5 installed packages
-- linux-rhel7-aarch64 / gcc@4.8.5 ------------------------------
pfunit@3.2.9  pfunit@3.2.10  pfunit@3.3.0  pfunit@3.3.1  pfunit@3.3.2  pfunit@3.3.3

2019-05-05

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* answer @citibeth comments

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* shortened offending comment to comply with flake8; suppressed error message on entry for v4.0.0

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* removed tailing space qt 20:55

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-06-10 18:19:52 -04:00
Geoffrey Oxberry
a52ed34fa4 ninja{-fortran}: make pkgs nonvirtual (fix #11628) (#11629) 2019-06-10 12:53:30 -04:00
Dan Lipsa
c98190a6ec ParaView and Catalyst use python3. (#11485)
Use python3 for latest paraview and catalyst versions.
2019-06-10 12:48:49 -04:00
Axel Huebl
d4008db75d CD: Package Index (#11665)
Build the docker image for the new package index REST API on each
merge/push to develop and master.
2019-06-10 18:21:33 +02:00
Chuck Atkins
0953cd3a2e Remove gnutls dependency and disable openssl when appropriate (#11646) 2019-06-10 11:19:26 -04:00
t-karatsu
7178ee3b63 Define LDFLAGS when using fujitsu compiler (#11669) 2019-06-10 11:01:32 -04:00
Quinn
58b797632e dateutils: new package (#11623)
* Adding the dateutils package
* Removing superfluous dependencies
2019-06-08 13:32:57 -07:00
Todd Gamblin
20e5f81653 tests: restore spack spec mpileaks in test output for Python 2 (#11664)
- also remove coverage calls of these commands
- we JUST want coverage to tell us what is in the test suite.
2019-06-08 13:04:44 -07:00
Peter Scheibel
f31711b84e concretization: don't apply build-dep constraints for installed packages (#11594)
Spack currently tries to unify everything in the DAG, but this is too strict for build dependencies, where it is fine to build a dependency with a tool that conflicts with a version fo that tool for a dependent's build.

To enable a workaround for conflicts among build dependencies, so that users can install in multiple steps to avoid these conflicts, make the following changes:

* Dont apply package dependency constraints for build deps of installed packages
* Avoid applying constraints for installed packages vs. concrete packages
* Mark all dependencies of installed packages as visited in normalization method
* don't remove dependency links for concrete specs in flat_dependencies

Also add tests:
* Update test to ensure that link dependencies of installed packages have constraints applied
* Add test to check for proper handling of transitive dependencies (which is currently not the case)
2019-06-08 11:43:26 -07:00
Omar Padron
bdf831469a fix qt build on gcc8.3 (#11633)
* fix qt build on gcc8.3

* source patches from upstream

* remove old code adding the same patch
2019-06-08 13:09:16 -04:00
Francois Budin
163ff9f1b6 Add ADIOS2 option to Trilinos (#11609)
ADIOS2 is the latest implementation of the ADaptable Input Output System,
ADIOS. This brand new architecture was designed to continue supporting the
performance legacy of ADIOS, and extend its current capabilities to address
current and future input/output (IO) challenges in the scientific data
lifecycle through effective research and development (R&D) activities.

ADIOS2 was recently added as a Third Party Library of Trilinos when it
was integrated to IOSS, a library inside the SEACAS package.
2019-06-08 16:34:34 +02:00
Axel Huebl
61333dc606 spack list: latest version (JSON) (#11652)
List the latest version of each package in JSON encoding.
Preparation for consumption for a "spack badge" service.
2019-06-07 14:14:08 -07:00
Massimiliano Culpo
6d56d45454 Compiler search uses a pool of workers (#10190)
- spack.compilers.find_compilers now uses a multiprocess.pool.ThreadPool to execute
  system commands for the detection of compiler versions.

- A few memoized functions have been introduced to avoid poking the filesystem multiple
  times for the same results.

- Performance is much improved, and Spack no longer fork-bombs the system when doing a `compiler find`
2019-06-07 09:57:26 -07:00
Jeffrey Salmond
9c1c50fb76 add openmp variant to lammps (#11643)
* add openmp variant to lammps

* add conflict for %gcc@9: and +openmp
2019-06-07 06:43:13 -06:00
Todd Gamblin
06cc799fd3 commands: remove unused spack list --format=rst (#11651)
- We use `spack list --foramt=html` now, as it is much faster and doesn't
  make the docs build take forever.

- Remove `spack list --format=rst` as it is no longer used.
2019-06-06 18:26:43 -07:00
Gregory Lee
7c8e9ab406 added tix package and python variant for tix (#11599)
* added tix package and python variant for tix

* addressing tix review requests

* python +tix requires +tkinter
2019-06-06 17:19:24 -04:00
Todd Gamblin
0c13c3f91f bugfix: StageComposite must include the expanded property` (#11647) 2019-06-06 14:09:19 -07:00
Todd Gamblin
89b891d264 bugfix: lua-luafilesystem package should use stage.source_path (#11648) 2019-06-06 14:07:46 -07:00
Jennifer Herting
541578a456 tests: package_sanity now checks packages in 3rd-party repos (#11637) 2019-06-06 09:18:43 -07:00
Todd Gamblin
3bd854f991 travis: disable spack spec for python 2.7 as well as 2.6
- keep this disabled until the `compiler find` fork bomb is fixed.
2019-06-05 22:41:28 -07:00
Tamara Dahlgren
b76fc827ec tests: add extra coverage for fetch strategy tests 2019-06-05 22:41:28 -07:00
Tamara Dahlgren
1842873f85 stage: make source_path available before stage is built
- `stage.source_path` was previously overloaded; it returned `None` if it
  didn't exist and this was used by client code
  - we want to be able to know the `source_path` before it's created

- make stage.source_path available before it exists.
  - use a well-known stage source path name, `$stage_path/src` that is
    available when `Stage` is instantiated but does not exist until it's
    "expanded"
  - client code can now use the variable before the stage is created.
  - client code can test whether the tarball is expanded by using the new
    `stage.expanded` property instead of testing whether `source_path` is
    `None`

- add tests for the new source_path semantics
2019-06-05 22:41:28 -07:00
Tamara Dahlgren
eb584d895b refactor: remove unused spack.stage._get_mirrors() function 2019-06-05 22:41:28 -07:00
Tamara Dahlgren
8e3fd3f7c2 tty: make tty.* print exception types
- make tty.msg, tty.info, etc. print the exception type and stringified
  message if the message argument is an exception.

- simplify parts of the code that call tty.debug(str(e))

- add extra tty.debug statements in places where exceptions were
  previously ignored
2019-06-05 22:41:28 -07:00
Justin S
8c173da4b7 nettle: fix broken build (#11611)
* nettle: force C99 build

* nettle: update to use c99_flag

from @alalazo

Co-Authored-By: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2019-06-05 19:09:01 -05:00
Christoph Junghans
8fd64dfa08 lammps: added v20190605 (#11638) 2019-06-05 19:07:33 -05:00
Justin S
f4e7786786 clang: fix error messages in c11_flag, cxx17_flag (#11632) 2019-06-05 23:51:38 +02:00
Patrick Gartung
3c0b746f44 libxpm: revert change made in unrelated PR (#11634) 2019-06-05 15:13:19 -05:00
Gregory Lee
cfcf3996d8 set GUILE env var when building gnutls, fixes issue #11601 (#11607) 2019-06-05 10:14:06 -07:00
Todd Gamblin
dc8af3023e graph: refactor static graphs
- `spack graph --static` (and `spack.graph.dot_graph`) now do the "right
  thing" and print the possible dependency graph of provided packages.

- `spack graph --static` no longer concretizes specs, as it only relies
  on class level metadata

- Previously the behavior was not consistent -- `spack graph --static`
  would graph possible dependencies of concrete specs, but would only
  include some of them.  The new code properly pursues all possible
  dependencies, and allows traversing by different dependency types.
2019-06-05 06:11:18 -07:00
Todd Gamblin
2e22fc1090 spack dependencies: support --deptype argument
- `spack dependencies` can now take a --deptype argument to only traverse
  particular deptypes

- add a new "common" argument for deptype in spack.cmd.common.arguments

- Database.installed_relatives() can now also take a deptype argument
  - this is used by `spack dependencies --installed`
2019-06-05 06:11:18 -07:00
Todd Gamblin
3dac78fc19 package: make possible_dependencies consider deptypes
- `PackageBase.possible_dependencies` now:
  - accepts a deptype param that controls dependency types traversed
  - returns a dict mapping possible depnames to their immediate possible
    dependencies (this lets you build a graph easily)

- Add tests for PackageBaes
2019-06-05 06:11:18 -07:00
Todd Gamblin
087a511da7 refactor: remove vestigial ALLOWED_URL_SCHEMES from package.py 2019-06-05 06:11:18 -07:00
Todd Gamblin
87e6cb9f72 refactor: make Package.name consistent with other class attributes
- The 'name' attribute for packages was being set in DirectiveMeta, which
  wasn't consistent with other class properties (like fullname, etc.)

- Move it to be a class property of `PackageMeta`, and add the
  corresponding property method wrapper on `PackageBase`
2019-06-05 06:11:18 -07:00
Todd Gamblin
3f5141d629 refactor: make PackageBase.possible_dependencies() a class method. 2019-06-05 06:11:18 -07:00
Justin S
4ac64e6cd8 add C standard flags to compiler classes (#11618)
* add c99_flag, c11_flag to compiler class

* implement c99_flag, c11_flag for gcc

* implement c99_flag, c11_flag for arm

* implement c99_flag for cce

* implement c99_flag, c11_flag for clang

* implement c99_flag, c11_flag for intel

* implement c99_flag, c11_flag for xl
2019-06-05 11:43:11 +02:00
Andrew Gaspar
b3379a8890 Add Google Benchmark version 1.5.0 (#11626) 2019-06-04 22:53:07 -05:00
Patrick Gartung
efa45125fb Revert "Git: patch to make git relocatable with buildcache. (#11596)" (#11625)
This reverts commit 30ec13f375.
2019-06-04 21:09:05 -05:00
Greg Becker
0990f12dd9 modules: set permissions based on package configuration (#11337)
Previously, module files were not set with the same permissions as the package installation.  For world-readable packages, this would not cause a problem.  For group readable packages, it does:

```
packages:
  mypackage:
    permissions:
      group: mygroup
      read: group
      write: group
```

In this case, the modulefile is unreadable by members of the group other than the one who installed it.  Add logic to the modulefile writers to set the permissions based on the configuration in `packages.yaml`
2019-06-04 19:15:47 -04:00
Patrick Gartung
964a1d5997 Buildcache relocate.py error fix (#11616)
* Add a trailing / if file --mime does not return a mimetype with a / in it

* Flake8
2019-06-04 14:39:04 -05:00
Justin S
a7776972ad hotspot: new package at 6.0 (#11610) 2019-06-04 09:35:54 +02:00
Chuck Atkins
e4f0726927 mesa: Revert updated meson build and restore autotools build (#11595)
Due to the large number of issues this migration has caused, this rolls back
to the older autotools build.  However, it still keeps the updates wrt
variants and virtual packages.
2019-06-03 10:55:36 -04:00
Patrick Gartung
30ec13f375 Git: patch to make git relocatable with buildcache. (#11596)
* Apply patch to git to make it search for config files from its current location instead of the locations hard coded at install.

* Add provenance info for patch

* Pass needed flags to make

* Environment variables need because of relocation
2019-05-31 15:38:40 -05:00
Patrick Gartung
88473a8da3 Build cache: relocate path to spack/bin/sbang in text files. (#11592)
* Build cache: relocate path to spack/bin/sbang in text files.

* Found in testing.

* update packaging test

* Make sbang replacement including #!/bin/bash. Add an additional spack prefix replacement to fix stage directory references.

* flake8

* Use buildinfo.get() so old buildcaches without buildinfo['spackprefix'] can be read.
2019-05-31 11:33:29 -05:00
sameershende
f5a2d7698d Package/tau/tau 2.28.1 update (#11591)
* Updating the TAU package with 2.28 and public repo

* Cleaning up TAU package and fixing binutils to install extras
The extras variant will install the extra ELF headers needed
by the TAU package.  The TAU package has been cleaned up and
extended.

* Adding some comments to the changes in binutils

* Adding correct python support, finding include and lib paths.

* Added PDT 3.25.1.

* Added TAU v2.28.1 with libdwarf and libelf.

* When +libdwarf is activated, +libelf is not automatically activated. It checks separately for libelf.
2019-05-31 10:01:19 -05:00
Justin S
a441fcbe69 alan: new package at 2.1.1 (#11593) 2019-05-30 17:50:14 -05:00
Valentin Reis
0b5ccd22da Adds the aml memory management library. (#11590)
AML is a collection of building blocks for explicit memory management on
complex architectures.

https://xgitlab.cels.anl.gov/argo/aml
https://argo-aml.readthedocs.io/en/latest/
2019-05-30 16:01:28 -05:00
Justin S
f089b9b053 r-randomglm: new package at 1.02-1 (#11589) 2019-05-30 13:35:01 -05:00
Nick Booher
786b59633d Revbayes update (#11559)
* revbayes: new version

* revbayes: pep8
2019-05-30 13:23:32 -04:00
Justin S
9b88f1b851 mathematica: new package at 12.0.0 (#11509)
* mathematica: new package at 12.0.0

* mathematica: add missing os import

* mathematica: fix url format
2019-05-30 13:21:16 -04:00
Frédéric Simonis
8b81f82156 precice: add version 1.5.0 (#11577) 2019-05-29 15:41:48 -05:00
Patrick Gartung
deab45e7c8 Xrootd: set PYTHON_EXECUTABLE with +python variant (#11581)
* Xrootd: set PYTHON_EXECUTABLE with +python variant

When building with python3 PYTHON_EXECUTABLE needs to be set for deprecated FindPythonInterp to work as expected.

* Add comment

* Flake8

* More flake8

* Update package.py

* typo
2019-05-29 15:41:30 -05:00
Patrick Gartung
7438bb7f45 ROOT: set PYTHON_EXECUTABLE (#11583)
Per @adamjstewart  use spec['python'].command.path
2019-05-29 15:41:13 -05:00
Justin S
ca05c2cbd8 py-flye: new package at 2.4.2 (#11584)
* py-flye: new package at 2.4.2

* py-flye: better python version constraint
2019-05-29 15:37:52 -05:00
Justin Too
a49ce3fc32 ROSE: add version 0.9.10.0, update to Autotools, add variants (#9484)
* Also add versions 0.9.9.104, 0.9.9.52, 0.9.9.0, and 'develop'
* Replace version 0.9.7 with 0.9.7.0
* Update Rose to be an Autotools package
* Update boost dependency to 1.60.0 or later (previously 1.47.0)
* Add EDG binary identifiers for ROSE versions installing from
  archives (rather than git)
* Add variants for mvapich2 backend, c++11, debug symbols,
  optimization, and ROSE-based projects (codethorn, autopar, and
  polyopt)
* Remove patch add_spack_compiler_recognition
2019-05-29 12:00:50 -07:00
Hadrien G
ca71f8b044 New versions and bugfixes for the ACTS package (#11578)
* Improve C++ standard computation in ACTS package

* Use a more clever strategy for aligning ACTS cxxstd with ROOT cxxstd

* Add new ACTS releases

* ACTS is not compatible with the new Boost CMake build system yet

* Explain why Boost 1.70 does not work currently
2019-05-29 13:45:09 -05:00
Dustin Wheeler
8804fbd891 Add LSF dependency for OpenMPI (#11532)
* Add LSF package, which cannot be installed by Spack and must be
  system-installed. The package install will fail if no external
  LSF is registered in packages.yaml (LSF may not be installed in a
  well-known location and the external entry helps Spack locate it
  for dependents).
* Add LSF dependency to OpenMPI when schedulers=lsf is chosen
2019-05-29 10:38:55 -07:00
Patrick Gartung
58a4959b1a Add newer Google Benchmark version (#11580) 2019-05-29 12:02:41 -05:00
Patrick Gartung
3a20a93bfa ROOT: Set PYTHON_EXECUTABLE with +python variant (#11579)
* ROOT: Set PYTHON_EXECUTABLE with +python variant

After cmake v3.12 FindPythonInterp used by llvm subsystem is deprecated. Setting -DPYTHON_EXECUTABLE=path_to_python fixes this error:

1 error found in build log:
     118    -- Doxygen disabled.
     119    -- Go bindings disabled.
     120    -- LLVM host triple: x86_64-unknown-linux-gnu
     121    -- LLVM default target triple: x86_64-unknown-linux-gnu
     122    -- Building with -fPIC
     123    -- Found PythonInterp: /usr/bin/python2.7
  >> 124    CMake Error at interpreter/llvm/src/CMakeLists.txt:613 (if):
     125      if given arguments:
     126    
     127        "VERSION_LESS" "2.7"
     128    
     129      Unknown arguments specified
     130

* Flake8

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

Co-Authored-By: Javier Cervantes <javiercvilla@gmail.com>
2019-05-29 12:02:21 -05:00
Kenneth Moreland
a7ffccfc97 vtkm: fix the directory cmake looks for the source code (#11576)
Previously, the vtkm package was adding a "../" option to the
cmake command line. I suppose this was supposed to be pointing
to the source code, but did not. Rather, Spack correctly adds
the source directory as the first argument to cmake. However,
because ../ was added, it used that as the source directory
instead.

Simply remove this argument to make CMake work correctly.
2019-05-29 11:10:12 -04:00
Axel Huebl
643e7806e0 Catch: 2.8.0 (#11570)
Add the latest Catch2 release.
2019-05-28 15:24:18 -05:00
mathsen
9c9a39538e GnuTLS by default depends on Guile, added a guile variant. Updated GnuTLS to 3.6.8 (#11571) 2019-05-28 15:23:59 -05:00
Satish Balay
0b57c3b8e5 petsc: add version 3.11.2 (#11572) 2019-05-28 15:23:00 -05:00
Denis Davydov
e094e19224 dealii: add 9.1.1 (#11573) 2019-05-28 15:22:39 -05:00
Daryl W. Grunau
6698d1dddb Add support for new unittest-cpp package (#11575)
* bump eospac version

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* Add support for new package: unittest-cpp
2019-05-28 15:21:24 -05:00
Massimiliano Culpo
01ece824e1 Cap the maximum number of build jobs (#11373)
* config:build_jobs now controls the number of parallel jobs to spawn during
builds, but cannot ever exceed the number of cores on the machine.

* The default is set to 16 or the number of available cores, whatever
is lowest.

* Updated docs to reflect the changes done to limit parallel builds
2019-05-28 06:42:04 -07:00
Todd Gamblin
2a51e07fde commands: completion for new --update and --header options (#11566) 2019-05-27 14:13:58 -07:00
Todd Gamblin
3ae5262182 docs: set gettext_uuid to False to reduce churn (#11567)
- `gettext_uuid=True` makes every commit update every .pot file in spack/localized-docs,
  and speeds up the internationalized doc build slightly.

- Optimize for less repository churn, and use `python-levenshtein` to accelerate 
  the build instead.
2019-05-27 13:42:27 -07:00
Axel Huebl
6d54212b94 mirror create: non-zero return code (#8585)
`mirror create` should return a non-zero return code if errors
occured.
2019-05-27 13:01:01 +02:00
Levi Baber
36fda22ed9 r-geomorph: new version (#11556) 2019-05-26 23:34:17 -05:00
健美猞猁
47538a21ec Add a new version for gnutls. (#11546)
* Update URL and add a new version.

* Fix flake8 issues.

* Remove newly-added duplicate url_for_version.
2019-05-26 20:45:16 -05:00
Levi Baber
1efaaad344 py-markdown: new version (#11548) 2019-05-26 20:45:01 -05:00
健美猞猁
7433f9d2cc Add new versions for intel-mkl-dnn. (#11549)
* Add new versions for intel-mkl-dnn.

* Remove the last trailing line.

* Update url and set 0.19 as preferred.
2019-05-26 20:44:34 -05:00
Levi Baber
829bbd7884 r-emmli: new package (#11557) 2019-05-26 20:43:22 -05:00
Olaf Mersmann
af2de9eb2a Update GnuPG and associated packages (#11564)
* libassuan: Update to v2.5.3

* gnupg: Update to v2.2.15

* libgpg-error: Update to v1.36

* libgcrypt: Update to v1.8.4
2019-05-26 20:41:37 -05:00
Axel Huebl
86b2156921 New Package: sl (#11565)
Add the sl program.
2019-05-26 20:40:55 -05:00
Todd Gamblin
d6f2ff1426 link_tree: add option to merge link trees with relative targets
- previous version of link trees would only do absolute symlinks

- this version can do relative links using merge(relative=True)
2019-05-26 18:23:44 -07:00
Todd Gamblin
f32843528e docs: make docs build relocatable for localized builds
- make all Spack paths relative to a `_spack_root` symlink, so that we
  can easily relocate the docs build *outside* lib/spack/docs

- set some useful defaults for gettext translation variables in conf.py

- update `relativeinclude` and other references to the spack root in the
  RST files to use _spack_root
2019-05-26 18:23:44 -07:00
Todd Gamblin
8bf1bd4637 docs: remove legacy import for Sphinx 1.7 2019-05-26 18:23:44 -07:00
Todd Gamblin
e1c5d1378b docs: match ReadTheDocs; use -W (warnings as errors) with Sphinx 2019-05-26 18:23:44 -07:00
Todd Gamblin
3340d586c4 commands: add --update option to spack list
- Add a `--update FILE` option to `spack list`
- Output is written to the file only if any package is newer than the file
- Simplify the code in docs/conf.py using this new option
2019-05-26 18:23:44 -07:00
Todd Gamblin
6380f1917a commands: Add --header and --update options to spack commands
The Spack documentation currently hard-codes some functionality in
`conf.py`, which makes the doc build less "pluggable" for things like
localized doc builds.

In particular, we unconditionally generate an index of commands and a
package list as part of the docs, but those should really only be done if
things are not up to date.

This commit does the following:

- Add `--header` option to `spack commands` so that it can do the work of
  prepending text to its output.

- Add `--update FILE` option to `spack commands` that makes it generate a
  new command index *only* if FILE is out of date w.r.t. commands in the
  Spack source.

- Simplify code in `conf.py` to use these options and only update the
  command index when needed.
2019-05-26 18:23:44 -07:00
Todd Gamblin
43aaf8c404 docs: Use HDF5 as the example package for spack graph 2019-05-26 18:23:44 -07:00
Satish Balay
727089c4ef xsdk@0.4.0: update dealii defaults wrt changes in a973ab475 (#11562)
wrt xsdk@develop - ginkgo requires openmp - so disable until we can add openmp dependencies consistantly
2019-05-26 10:43:06 -05:00
Mark W. Krentel
7c32a4c399 mbedtls: add pic variant (#11558)
Add variant 'pic' for including in shared libraries.

Add build dependency on perl.  Compiling mbedtls runs several perl
scripts.

Add versions 2.7.10 and 2.16.1, the heads of the two main stable
branches.
2019-05-24 21:50:13 -05:00
Stephen Hudson
bb09bdedc6 Update libensemble to v0.5.0 (#11544) 2019-05-24 15:11:56 -05:00
健美猞猁
137cad2915 Add nettle@3.4.1 (#11547) 2019-05-24 15:08:02 -05:00
Massimiliano Culpo
c291866b9a build env: simplify handling of parallel jobs (#11524)
This PR implements several refactors requested in #11373, specifically:

- Config scopes are used to handle builtin defaults, command line overrides 
  and package overrides (`parallel=False`)
- `Package.make_jobs` attribute has been removed; `make_jobs` remains
  as a module-scope variable in the build environment.
- The use of the argument `-j` has been rationalized across commands
  - move '-j'/'--jobs' argument into `spack.cmd.common.arguments`
- Add unit tests to check that setting parallel jobs works as expected
  - add new test to ensure that build job setting is isolated to each build
- Fix packages that used `Package.make_jobs` (i.e. `bazel`)
2019-05-24 11:45:22 -07:00
Massimiliano Culpo
1bd4521f72 Updated lmod (to version 8.1.5) and associated dependencies (#11552)
Lmod version 8.1.5
Lua version 5.3.5
Lua Filesystem 1.7.0.2

Turned tcl to a link dependency so that Lmod's configure can find it.
2019-05-24 12:45:52 -05:00
Adam J. Stewart
6212e0d9b2 Add latest version of py-cython (#11494)
* Add latest version of py-cython

* Fix cython unit tests
2019-05-23 20:01:45 -05:00
Todd Gamblin
ab21b3d194 docs: truncate spack list output in basic usage
`spack list` output is very long and takes up a lot of space in the docs.
Truncate it to just 10 lines and link to the package list page.
2019-05-23 12:40:01 -07:00
Hans Pabst
d6cf3b6718 LIBXSMM 1.12.1 (#11538) 2019-05-23 10:16:32 -05:00
Jon Rood
4c465d2602 Add cppcheck version 1.87. (#11536) 2019-05-22 18:52:48 -05:00
Jon Rood
e57edebb50 Add CMake 3.14.3 and 3.14.4. (#11534) 2019-05-22 15:46:52 -05:00
Omar Padron
a37efefd3d package vtk - improve gl handling (#11530)
* package vtk - improve gl handling

* package vtk - minor cleanup
2019-05-22 12:04:29 -04:00
Dustin Wheeler
c2e087c411 Fix typo in openmpi@2.1.6 libmpi.so comment. (#11529) 2019-05-22 10:37:33 -05:00
t-karatsu
1e9bb8c512 Add Fujitsu compiler to Spack. (#11287)
* Add Fujitsu compiler to Spack.

* Fixes for flake8

* Chenges location of FCC to subdirectory called case-insensitive

* Add compiler tests for Fujitsu compiler

* Modify the logic of taking compiler version for new version of Fujitsu compiler
2019-05-21 20:31:14 -05:00
Denis Davydov
a973ab4751 dealii: add 9.1.0 (#11527) 2019-05-21 16:23:03 -05:00
Levi Baber
b13665d065 py-htseq: new version (#11525) 2019-05-21 12:08:31 -05:00
Elizabeth Fischer
a45c4ef33d Add version (#10594) 2019-05-21 10:03:50 -04:00
Michael Kuhn
1f828ce5b8 Update scorep and friends (#11523) 2019-05-21 12:28:12 +02:00
Denis Davydov
5d6461b895 dealii: fix symengine constraints (#11517)
disable symengine constraints due to limitations of Spack
2019-05-21 07:38:58 +02:00
Chuck Atkins
a34142ed30 mesa: Patch missing gl symbols in OSMesa (#11518) 2019-05-20 22:41:41 -04:00
Glenn Johnson
d1ea5ba2cd OpenMPI: update behavior for fabrics/schedulers=auto (#11431)
* When fabrics=auto or schedulers=auto, the intent is to defer to the
  OpenMPI configure and let it determine and use what it finds
  available on the system. The current behavior for 'with_or_without'
  in the case of 'auto' explicitly disables all possible values.
  This updates the logic to call 'with_or_without' only when the
  value of fabrics/schedulers is not 'auto'.
* To allow explicitly disabling all fabrics/schedulers, each of these
  variants has added support for 'none' (which is also the default
  value).
* Add a conflict for the loadleveler scheduler for openmpi-3 and
  above as it is no longer a valid configure option.
2019-05-20 17:52:17 -07:00
Adam J. Stewart
e2065fad72 Make flake8 check spack script as well as .py files (#11513)
* Make flake8 check bin/spack
2019-05-20 13:39:25 -07:00
Mario Melara
4d71117080 Get Cray OS version from PrgEnv-cray (#10774)
The regex used for finding the Cray OS version from the PrgEnv-cray
module was not exact and was at times pulling the version from other
PrgEnv modules. This updates the regular expression to be more exact.
2019-05-20 11:06:02 -07:00
Andrew Gaspar
2168c08ac5 Update optional-lite and span-lite to use CMakePackage (#11407)
* Update optional-lite and span-lite to use CMakePackage

These packages only have CMake installs on their most recent versions.
Therefore, we overload all of the CMake stages to fallback to the old
versions (no-op for most, copytree for install), and use CMakePackage on
the new versions.

* Add new string-view-lite version with CMake install support

* Only override phases for old versions of *-lite packages
2019-05-20 13:04:06 -05:00
Adam J. Stewart
7fe0230492 Add py-kmodes package (#11497) 2019-05-19 14:17:30 -05:00
Adam J. Stewart
5b6445e519 Add latest version of joblib (#11495) 2019-05-19 14:17:03 -05:00
Adam J. Stewart
ac358a1b4d Add latest version of setuptools (#11493) 2019-05-19 14:16:37 -05:00
David Beckingsale
866b9b5d13 Update Umpire package with new versions (#11441)
* Update Umpire package with new versions

* Fix version ordering
2019-05-18 23:04:12 -05:00
Denis Davydov
a66cc59bb0 trilinos: add variant to disable chaco from seacas (#11482)
* trilinos: add variant to disable chaco from seacas

keep it OFF by default due to the presence of the global symbol "divide"
that can lead to symbol clash with other libraries, for example see
https://github.com/dealii/dealii/issues/8170#issuecomment-492700787

* dealii: add conflict statement for adol-c and Trilinos SEACAS Chaco
2019-05-18 23:01:44 -05:00
Mark W. Krentel
e1bb6821aa dyninst: rework the cmake args for version 10.1 and later (#11484)
* dyninst: rework the cmake args for version 10.1 and later

Add a separate when() case for the cmake args for Dyninst 10.1.0 and
later.  The prereq args have changed enough that this makes things
easier going forward.  (My previous commit 26b9369c was inaccurate and
temporary.)

Dyninst 10.1.0 accepts boost 1.70, but earlier dyninst are restricted
to <= 1.69 (not worth back porting every boost change).

Change all the dyninst versions to 3 digits for clarity and
consistency.

* Add version 10.1.0.
2019-05-18 23:00:48 -05:00
Nichols A. Romero
6ba6c84de5 QMCPACK Update May 2019 (#11492)
* Add QMCPACK 3.7.0

* SOA is now the default.

* Add QMCPACK converter based on QE 6.4
2019-05-18 22:57:52 -05:00
Jean-Paul Pelteret
517212b8a3 Add conflicts in deal.II package between SymEngine and Trilinos variants (#11499) 2019-05-18 22:56:56 -05:00
Adam J. Stewart
6b068a855e Fix typo in spack executable (#11512) 2019-05-18 21:00:46 -05:00
Owen Solberg
92604ed576 intel-tbb: fix patch for old compilers (#11371)
* added patch for intel-tbb@2019.1: with old compilers

* sparately specify when @:2018 and @2019

the reason we can't say @:2019 is that would include @2019.1 where the
patch doesn't work.

* should be possible to list when constraint as @:2019

According to my reading of ["Version ranges" in the Spack
docs](https://spack.readthedocs.io/en/latest/packaging_guide.html#version-ranges),
this should apply to up to `2019` but not `2019.1:`

* @:2019.0 appears to be necessary to specify 2019 but not 2019.1

* specifying 2019.1 2019.2 2019.3 2019.4 separately and explcitly

* flake8 fixes for long lines.

* add comments to explain why so many different patch directives

* remove blank like for flake8

* revert spec %gcc@4.8.0:4.99999 -> %gcc@4.8.0:
2019-05-18 21:00:32 -05:00
George Hartzell
e592262da8 Typos: funciton, woudl, hm,... (#11511) 2019-05-18 11:39:23 -05:00
Mario Melara
9957093e53 Execute modulecmd in bash shell (#11510)
Adds executable=/bin/bash into Popen. We discovered this bug while
working in a csh/tsch environment. By executing with /bin/bash we ensure
that the module command works.
2019-05-18 01:49:19 +02:00
Justin S
c595883195 r-popvar: new package at 1.2.1 (#11490) 2019-05-17 14:45:21 -05:00
Justin S
cc6f822cb1 smof: new package at 2.13.1 (#11502) 2019-05-17 14:44:35 -05:00
Justin S
c7a28ec1d4 r-bglr: new package at 1.0.8 (#11489) 2019-05-17 14:35:38 -05:00
Justin S
719cd6741d r-rrblup: new package at 4.6 (#11488) 2019-05-17 14:34:33 -05:00
Justin S
8c5b41793c r-qtl: new package at 1.44-9 (#11487) 2019-05-17 14:33:42 -05:00
Justin S
c00ed0d942 py-metasv: new package at 0.5.4 (#11476) 2019-05-17 14:33:04 -05:00
Justin S
7a459857e7 py-pybedtools: new package at 0.6.9 (#11475)
* py-pybedtools: new package at 0.6.9

* py-pybedtools: add bedtools2 dep
2019-05-17 14:32:21 -05:00
Justin S
79a0da6098 repeatmodeler: new package at 1.0.11 (#11472) 2019-05-17 14:31:26 -05:00
Sriram Swaminarayan
0557d93080 added branch multisplice to the parsplice package (#11504) 2019-05-17 12:08:40 -06:00
Christoph Junghans
b7f2923607 gasnet: 2019.3.0 (#11503) 2019-05-17 12:02:43 -06:00
Christoph Junghans
2af7688c55 parsplice: needs LAMMPS_EXCEPTIONS (#11500) 2019-05-17 08:57:35 -06:00
Piotr Luszczek
900f8f0806 Add version 2.5.1-alpha1 of MAGMA (#11486) 2019-05-17 08:19:32 -05:00
Todd Gamblin
23c48d94d3 cmake: default to +ownlibs to improve build times (#11483)
- CMake is built *very* frequently, and the number of dependencies it has
  accumulated can take a very long time on some systems.

- Use +ownlibs by default to avoid the build overhead. This won't
  interfere with other packages by introducing conflicting libraries, as
  CMake is nearly always a build dependency.
2019-05-17 08:47:58 +02:00
Jim Galarowicz
c7f23dcd8d OpenSpeedShop/CBTF package updates and fixes (#11470)
This avoids using Boost 1.70.0, fixes library access in OpenSpeedShop
packages, adds new versions, and updates QT dependency constraints
in CBTF and OpenSpeedShop packages

- Constrain Boost dependency to 1.69.0 or earlier to avoid issues
  with 1.70.0 for Open|SpeedShop and CBTF packages
- Update DYNINSTAPI_RT_LIB environment variable to use single library
  from "find_libraries" (which returns a list) in OpenSpeedShop
  packages
  Fixes #11443
- Add version 1.9.3 for CBTF Argo Navis, CBTF Krell, CBTF LANL, and
  CBTF packages
- Add version 2.4.1 for OpenSpeedShop Utils and OpenSpeedShop
  packages
- Update QT dependency to 5.10.0 or greater for QtGraph and CBTF Argo
  Navis packages
2019-05-16 18:19:55 -07:00
Michael Kuhn
e90b4ce6fb CDO package: Fix build with gcc@9 (#11464)
This makes several changes to make CDO work with gcc@9:

- Add version 1.9.7rc2
- Add a patch to make version 1.9.7rc2 build with gcc@9:
- Add a conflict with GCC 9 for earlier versions of CDO

It also adds a pkgconfig build dependency as configure checks for it.
2019-05-16 17:53:38 -07:00
Andrew Gaspar
8675f44d45 Kokkos package: add debug variant (#11469) 2019-05-16 17:35:23 -07:00
Massimiliano Culpo
c03be0d65a Command extensions can import code from modules in root or cmd folder (#11209)
#8612 added command extensions to Spack: a command implemented in a
separate directory. This improves the implementation by allowing
the command to import additional utility code stored within the
established directory structure for commands.

This also:

* Adds tests for command extensions
* Documents command extensions (including the expected directory
  layout)
2019-05-16 17:27:42 -07:00
Chris Green
b9370bf20b Allow command access to dump/pickle_environment from #8476 (#11434)
* Allow command access to dump/pickle_environment from #8476
2019-05-17 09:15:32 +09:00
Chris Green
f90507a227 numpy: new version 1.16.3; update historical versions. (#11364) 2019-05-16 11:44:43 -05:00
Chuck Atkins
c2d6095cf3 paraview: fix several dependency issues (#11432)
* Use externally provided mpi4py
* Make mpi4py and numpy both build deps instead of only run deps
* libxt is only on ~osmesa platform=linux
2019-05-16 09:04:44 -04:00
Matthias Wolf
7fcf534b25 junit: escape remaining inputs. (#11382) 2019-05-16 14:40:07 +02:00
David Beckingsale
5ccc695bfb Fix CMake versions dependencies in RAJA package (#11440) 2019-05-16 13:54:52 +02:00
Thomas Gruber
0337170d34 Likwid: added versions 4.3.3 and 4.3.4 (#11479) 2019-05-16 13:35:25 +02:00
Denis Davydov
38a59e6e37 symengine: add 0.4.0, fix dependency in dealii (#11473) 2019-05-16 12:23:21 +02:00
Todd Gamblin
a750237532 flake8: add exceptions for overly pedantic camelcase rules from pep8-naming (#11477)
Rules N813 and N814 prevented import statements like this:

  xml.etree.ElementTree as et
  xml.etree.ElementTree as ET

But both of those seem pretty reasonable.  We see no reason to require any camelcase import to be imported "as" a camelcase word.
2019-05-16 09:47:02 +02:00
ktsai7
f68f5e3014 Update flecsi package.py (#11442)
* Update flecsi package.py

* Update package.py

* Update package.py

* Update package.py
2019-05-15 15:29:08 -06:00
Justin S
bfb0f57492 r-geonames: new package at 0.999 (#11455) 2019-05-15 16:04:50 -05:00
Justin S
11bd795ca8 repeatscout: new package at 1.0.5 (#11409)
* repeatscout: new package at 1.0.5

* repeatscout: add trf runtime dependency

* repeatscout: add nseg runtime dependency
2019-05-15 16:04:17 -05:00
Justin S
19355cafae r-phylostratr: new package (#11053) 2019-05-15 16:03:36 -05:00
Justin S
5f5616d6a2 r-taxizedb: new package at 0.1.4 (#11052) 2019-05-15 16:02:54 -05:00
Justin S
b19429159f r-rmysql: add 0.10.17, mariadb-connector-c dependency (#11044)
* r-rmysql: add 0.10.17, mariadb-connector-c dependency

* r-rmysql: add dbi, mariadb version constraints
2019-05-15 15:58:15 -05:00
Justin S
62fa813678 recon: new package at 1.08 (#11408)
* recon: new package at 1.08

* recon: add period

* recon: use proper decorators, better documentation

* recon: fix incorrect os import

* recon: add repeatmasker patch as variant
2019-05-15 15:55:10 -05:00
Justin S
80d7573df8 r-rnoaa: new package at 0.8.4 (#11461) 2019-05-15 15:52:17 -05:00
Justin S
a99454ec6d r-isdparser: new package at 0.3.0 (#11460) 2019-05-15 15:51:50 -05:00
Justin S
cdd8da7251 r-crul: new package at 0.7.4 (#11459) 2019-05-15 15:51:11 -05:00
Justin S
cfad3cd06c r-httpcode: new package at 0.2.0 (#11454) 2019-05-15 15:50:32 -05:00
Justin S
f3dd933e3f r-urltools: new package at 1.7.3 (#11458) 2019-05-15 15:48:54 -05:00
Justin S
c49017a4c5 r-triebeard: new package at 0.3.0 (#11457) 2019-05-15 15:48:17 -05:00
Justin S
230db7c880 r-curl: add 3.3 (#11456) 2019-05-15 15:47:45 -05:00
Denis Davydov
9d34326992 fix suite-sparse built with tbb from intel-parallel-studio (#11134)
* fix suite-sparse built with tbb from intel-parallel-studio

* intel: add tbb_headers, strip newline from cxx_lib

* use property
2019-05-15 11:03:19 -07:00
Justin S
5c021f5416 New package: NSEG (starting at version 1.0) (#11410)
The source is managed as a set of files in an FTP URL. Since there
are no FetchStrategy's implemented for this setup, the files are
managed as a set of Resource's
2019-05-15 10:35:38 -07:00
Leonhard Reichenbach
eae9b0908a CMake package: add dependencies (#11257)
Add dependencies to CMake and GnuTLS which would otherwise be
picked up from the system

* Add gnutls as explicit dependency of CMake
* Add new package libidn2 as explicit dependency for gnutls
2019-05-15 10:07:31 -07:00
Christoph Junghans
0226a95232 parsplice: fix build (#11462) 2019-05-15 08:18:35 -06:00
Todd Gamblin
1dc8f952a5 Use svn info --xml instead of svn info to get svn revisions (#11466)
- `svn info` prints different results depending on the system locale
  - in particular, Japanese output doesn't contain "Revision:"

- Change Spack code to use XML output instead of using the human output
2019-05-15 13:37:02 +02:00
Brian Van Essen
821b7d3b93 Added setuptools to receipe (#11463) 2019-05-15 12:19:04 +02:00
Michael Kuhn
58c5442d62 kitty: Fix pkgconfig dependency (#11465)
pkgconfig is the correct virtual dependency while pkg-config is a
specific implementation.
2019-05-15 12:18:16 +02:00
Sinan
54d56db1f1 New package: py-pyrosar (#11428) 2019-05-15 10:53:30 +09:00
Sinan
733c2a2554 New package: py-spatialist (#11427) 2019-05-15 10:52:31 +09:00
Sinan
63af41c0c6 New package: py-tblib (#11425) 2019-05-15 10:51:37 +09:00
Sinan
e2ce4386e2 New package: py-scoop (#11423) 2019-05-15 10:50:41 +09:00
Sinan
249845e80b New package: py-progressbar2 (#11421) 2019-05-15 10:49:28 +09:00
Sinan
544cf085b4 New package: py-python-utils (#11422) 2019-05-15 10:47:28 +09:00
Christoph Junghans
6083de3baa nut: add v0.1.1 (#11444) 2019-05-14 16:36:31 -06:00
Justin S
723eea00f3 r-construct: new package at 1.0.3 (#11452) 2019-05-14 16:24:01 -05:00
Justin S
1ceeac8603 r-rstan: add 2.18.2 (#11447) 2019-05-14 16:23:14 -05:00
Justin S
fc890c80fb r-loo: new package at 2.1.0 (#11448) 2019-05-14 16:22:29 -05:00
Brian Van Essen
92040a475f LBANN: add support for new python front end (#11395)
* LBANN: add python dependency and required python library dependencies
* LBANN: add version 0.99 as alias for develop branch
* LBANN: build Conduit library by default
* LBANN: CUB is included with Hydrogen for later versions
* New package: py-graphviz (dependency for LBANN)
* New package: py-texttable (dependency for LBANN)
* New package: py-onnx (dependency for LBANN)
* New package: py-typing-extensions (dependency for py-onnx)
* Conduit: add version 0.4.0
* NCCL: Add versions 2.4.6-1 and 2.4.2-1
* Protobuf: Add versions 3.7.1 and 3.7.0
* py-protobuf: add version 3.7.1
* py-typing: add version 3.6.4
* cuDNN: add versions. The source differs depending on the
  architecture, so the versions include a suffix to encode this.
  For example this adds 7.5.1-10.1-x86_64 as well as
  7.5.1-10.1-ppc64le
* cuDNN: Newer versions require newer versions of CUDA
* Hydrogen: add configure options for CUB and Aluminum
2019-05-15 06:20:00 +09:00
Justin S
7ff4105ab5 gmap-gsnap: add 2019-05-12 (#11453) 2019-05-14 15:58:48 -05:00
Justin S
f726e14a0a r-rstantools: new package at 1.5.1 (#11451) 2019-05-14 15:57:54 -05:00
Justin S
ea49b64c44 r-caroline: new package at 0.7.6 (#11450) 2019-05-14 15:57:33 -05:00
Justin S
a4ceffa4ff r-stanheaders: add 2.18.1 (#11446) 2019-05-14 15:18:03 -05:00
Justin S
4f1717998a r-withr: add 2.1.2 (#11445) 2019-05-14 15:17:25 -05:00
Justin S
c6d34076dc repeatmasker: add 4.0.9, refactor interactive config (#11385) 2019-05-14 15:16:32 -05:00
Jon Rood
5cd593743e PNetCDF package: enable option required by NetCDF (#11420)
The --enable-relax-coord-bound option was added in 1.8.0. NetCDF
4.6.3 enabled relax coords by default and required it from PNetCDF.
PNetCDF 1.10.0 enabled it by default but for versions between 1.8.0
and 1.10.0 it should be enabled explicitly.
2019-05-15 05:15:38 +09:00
Peter Scheibel
c54f23d405 CUDA package: exclude compat libs (#11449)
CUDA 10.0 provides Compatability libraries for running newer versions
of CUDA with older drivers. These do not work with newer drivers.
2019-05-15 04:59:12 +09:00
Justin S
a5cf50df2e megadock: new package at 4.0.3 (#10537)
* megadock: new package at 4.0.3

* megadock: remove CudaPackage redundancies

* megadock: move env vars to build targets, use cuda_arch variant

* megadock: flake8 fixes, more flexible mathlib
2019-05-14 14:47:19 -05:00
Jon Rood
f7a778af3c Fix py-yt for Python 2 by requesting older py-ipython version (#11416)
* Fix py-yt for Python 2 by requesting older py-ipython version.
* Add conflicts statement to py-ipython because version 7: is not
  compatible with python@2.7
2019-05-15 04:24:52 +09:00
william-dawson
76dd7a92e1 New Package: NTPoly (#11412) 2019-05-15 04:06:10 +09:00
Greg Becker
b5316c31af Remove vestigial print statement in module logic (#11438)
Remove a vestigial print statement introduced in #8570
2019-05-14 09:03:34 +09:00
Jon Rood
4a013adc3e Add new versions of metaphysicl and change masa to use branch instead of tag. (#11436) 2019-05-14 08:56:52 +09:00
Justin S
4fcd70cc29 r-bh: add 1.69.0-1 (#11435) 2019-05-14 08:56:14 +09:00
Levi Baber
71d8b8a9b6 rename py-pauvr to py-pauvre (#11437)
* rename py-pauvr to py-pauvre
2019-05-14 08:55:53 +09:00
George Zagaris
a27f2978b9 m4 package: fix OS version check (#11290)
f242f5f removed spec.architecture.platform_os, which was used to test
an option in the 'm4' package. The attribute is now accessed as
'spec.architecture.os'.
2019-05-14 04:53:23 +09:00
Adam J. Stewart
f283487670 Add master branch of leveldb (#11405) 2019-05-13 14:35:15 -04:00
Todd Gamblin
3c2e4b9558 tests: stop testing Python 3.4 2019-05-11 16:39:53 -07:00
Todd Gamblin
963eb98979 tests: require Python 2.6 tests to pass 2019-05-11 16:20:36 -07:00
Todd Gamblin
dda90a5666 bugfix: Do not run spack spec in the test environment for Python 2.6
- Trying to get our Python 2.6 tests working again.
- This seems to crash travis in the 2.6 environment, for whatever reason.
2019-05-10 13:13:44 -07:00
Todd Gamblin
54920d100a enable coverage for python 2.6 unit tests 2019-05-10 13:13:44 -07:00
Shane R. Spencer
dcbe798ca7 New package: py-pycares (starting at 3.0.0) (#11340) 2019-05-11 03:48:37 +09:00
Chuck Atkins
418d9f07dc mesa: Add 19.0.4 (#11415) 2019-05-10 13:25:26 -05:00
Hans Pabst
8f0fe5939f LIBXSMM 1.12 (#11414) 2019-05-10 13:11:47 -05:00
Jon Rood
feac68d248 Add new version of PGI compiler. (#11417) 2019-05-10 13:11:23 -05:00
Chris Green
7467a46c2c sqlite: add versions; restore old versions; variant resolves security issues. (#11336)
* Add versions 3.27.{0,1,2} and 3.28.0
* Add url_for_version: the URL format includes the year so this
  function maps version ranges to years
* Restore patches for versions removed in 84c547c: this commit
  removed versions before 3.26.0 due to a security issue with FTS
  support. Add a +fts variant (default true) that enables FTS
  support along with a conflict for +fts with earlier versions.
2019-05-11 02:58:23 +09:00
Todd Gamblin
3903658bfc coverage: only run coverage for subset of unit tests
- Codecov cannot handle as many coverage reports as we are generating

- as a result, our PR coverage pages have been broken for a while, and
  it's hard to tell people where to enhance their testing in PR reviews.

- Scale back to only running coverage for 3.7 and 2.7 unit tests

- This is *probably* better.  We run the build tests for good measure,
  but we do not need to evaluate them for coverage.  The coverage reports
  are about unit tests.
2019-05-11 02:23:22 +09:00
Chuck Atkins
85fa2dbe36 paraview: Fix OpenGL search to ignore glvnd (#11400) 2019-05-10 09:47:20 -04:00
xfzhao
d0bfe753be py-pauvr:new package (#11292)
* py-pauvr:new package

* py-pauvr: using url and Releases

* py-pauvr: remove extra comments
2019-05-10 08:29:45 -05:00
Greg Becker
f67a59fabc permissions: preserve suid and sgid bits (#10727)
* Don't overwrite suid/sgid bits when setting permissions
* add tests for permission setting
2019-05-10 00:38:13 -07:00
Glenn Johnson
c752af098d Intel packages: multiple installs and optional scalapack libs (#11384)
Add fixes to support multiple installs and dependents using a subset
of IntelPackage functionality.

* Update IntelPackage to only return scalapack libraries if the root
  spec depends on MPI: scalapack requires MPI to be mentioned as a
  dependency in the DAG. Package builds using intel-mkl for its
  blas/lapack implementations but not for scalapack were failing to
  build.

  Ideally it would be possible to ask if any of the packages in the
  DAG are actually requesting the scalapack functionality provided by
  the IntelPackage and only return scalapack libs in that case, but
  that is not easily done at this time.

  Fixes #11314
  Fixes #11289

* set HOME when the intel silent installer is run. This prevents the
  installer from using the ~/intel directory (which can cause
  conflicts for multiple installs of the same IntelPackage)

  Fixes #9713
2019-05-10 10:54:05 +09:00
Greg Becker
3d3cea1c87 modules: use new module function instead of get_module_cmd (#8570)
Use new `module` function instead of `get_module_cmd`

Previously, Spack relied on either examining the bash `module()` function or using the `which` command to find the underlying executable for modules. More complicated module systems do not allow for the sort of simple analysis we were doing (see #6451).

Spack now uses the `module` function directly and copies environment changes from the resulting subprocess back into Spack. This should provide a future-proof implementation for changes to the logic underlying the module system on various HPC systems.
2019-05-09 15:04:24 -07:00
Peter Josef Scheibel
53ec16c9e5 make license check more-strict
The license text is now expected to match almost exactly (not
accounting for formatting in different file types (e.g. rst vs.
bash script vs. python)
2019-05-10 04:37:56 +09:00
Peter Josef Scheibel
7e94774214 update aom package license 2019-05-10 04:37:56 +09:00
Peter Josef Scheibel
57a65acedc update license date range for simgrid 2019-05-10 04:37:56 +09:00
Mark W. Krentel
26b9369c57 dyninst: update cmake args and boost dependency (#11378)
* Starting with the upcoming 10.1 release, Dyninst changed the names of
  some cmake args to camel case: LIBELF_* to LibElf_* and LIBDWARF_* to
  LibDwarf_*.  This change is needed now for @develop and will be used
  for 10.1 when it is released.
* New versions of Dyninst now requires cmake version 3.4.0 or later.
* Restrict boost dependency version to < 1.70.0 to avoid build error
2019-05-10 03:58:41 +09:00
David Gardner
ac3cbfd69a update to texlive 2019 (#11365) 2019-05-09 13:47:43 -05:00
Tiziano Müller
92c4567404 elpa: override headers prop for common include-dir localization
... and apply this in SIRIUS, CP2K & QE.

Thanks to @scheibelp for the idea.
2019-05-10 03:43:02 +09:00
Tiziano Müller
f87722b74d packages/cp2k: require libxsmm 1.11+ 2019-05-10 03:43:02 +09:00
Tiziano Müller
4b3e43cc64 packages/cp2k: build with -ggdb with GNU for backtraces 2019-05-10 03:43:02 +09:00
Tiziano Müller
f343d6fc68 packages/cp2k: add support for sirius 2019-05-10 03:43:02 +09:00
Tiziano Müller
844a993605 packages/json-fortran: initial commit, required by CP2K+sirius 2019-05-10 03:43:02 +09:00
Tiziano Müller
a3341bbdf3 packages/sirius: initial commit 2019-05-10 03:43:02 +09:00
Tiziano Müller
3b72d71d9c packages/libvdwxc: initial commit, required for SIRIUS 2019-05-10 03:43:02 +09:00
Jerome Soumagne
a5f88d6ec8 Clean up mercury package and add boostsys, shared variants (#11368)
Use tarballs instead of git tags

Fix openpa dependency on gcc < 4.9

Fix boost dependency

Change sm variant default to true
2019-05-09 12:56:10 -05:00
Michael Kuhn
d284ea39a1 nco: Add 4.7.9 (#11389)
Earlier versions do not compile with gcc@9.
2019-05-09 12:33:36 -05:00
Michael Kuhn
ebc32319f6 netcdf: Fix build if curl is not installed (#11387)
For 4.7.0, configure fails if curl is not installed.
2019-05-09 13:23:49 -04:00
Michael Kuhn
4e0c909d0a qt: Fix build with gcc@9 (#11391) 2019-05-09 11:28:56 -05:00
Michael Kuhn
2b378f27a2 papi: Add 5.7.0 (#11390)
This also fixes the GCC patch to be applied for versions 8 and up.
2019-05-09 11:26:05 -05:00
Michael Kuhn
220cf08f82 gcc: Add 9.1.0 (#11386) 2019-05-09 11:25:29 -05:00
Michael Kuhn
a9febea40f mesa: Add missing dependencies (#11394) 2019-05-09 07:56:37 -04:00
Todd Gamblin
d95bef06e5 Make CODE_OF_CONDUCT.md more Spack-specific (#11403) 2019-05-08 17:49:03 -07:00
Chuck Atkins
5ac0172b33 qt: sqlite needs to be a run dep because of the qt plugin infrastructure (#11399) 2019-05-08 18:41:25 -04:00
Chuck Atkins
a0dc4dc94d mesa: Add 19.0.{1,2,3} (#11401) 2019-05-08 18:40:26 -04:00
Christoph Junghans
5445e17089 nut: fix nut build (#11393) 2019-05-08 11:34:48 -06:00
Kelly (KT) Thompson
bcdf9572e5 Provide a patched version of random123 that will work on ARM platforms (#11388)
+ The additional patch enables a non-optimized random123 code path that will
  work on ARM architectures. This solution is provided only for version 1.09 to
  allow the most current version of Random123 to function on ARM architectures.
+ A more complete, long term solution will be the addition of a native ARM
  intrinsics-based implementation of random123.  This solution is being worked
  on but it is several weeks or months away.  Once the full implementation is
  available it will be provided to the author/maintainer of Random123.
2019-05-08 08:38:47 -06:00
Seth R Johnson
6cdbc33c90 Hide some variables in spack-build.env file
Don't arbitrarily reset PWD and OLDPWD when sourcing, as well as other
session-specific IDs
2019-05-08 06:36:52 +09:00
Chuck Atkins
e4ce4e5c2c llvm: Adjust default supported targets
The default install for llvm should just be the common typical case, i.e.
support for local host and cpu architectures.  Enablingsupport for the wide
array of auxiliary architectures should be explicit rather than implicit.
2019-05-08 04:36:43 +09:00
Janne Blomqvist
4a83b4710c Add OpenBLAS 0.3.6 (#11375)
Signed-off-by: Janne Blomqvist <janne.blomqvist@aalto.fi>
2019-05-07 13:36:38 -05:00
Levi Baber
43204049aa py-scikit-learn: needs setuptools (#11379) 2019-05-07 13:35:32 -05:00
Mark W. Krentel
119d04d53f hpcviewer: add version 2019.04 (#11380) 2019-05-07 13:34:05 -05:00
Chuck Atkins
251f3f5058 ninja: drop python as a run dep (#11347)
* ninja: Make python a build-only dependency

* ninja, ninja-fortran: allow the packages to provide eachother
2019-05-07 13:07:24 -04:00
xfzhao
65ff6ed8f6 py-pysam: update (#11377) 2019-05-07 08:29:05 -05:00
Chris Green
01eaca607f Environment path sanitization and sourcing (#8476)
Add two functions to the EnvironmentModifications object to help
users sanitize environment variables in their package definitions:

* deprioritize_system_paths: this keeps system paths in the
  environment variable but moves them to the end.
* prune_duplicate_paths: remove any duplicate paths from the
  variable

This includes testing for the new functions as well as for
(previously-untested) old convenience functions for environment
variable manipulation.

This also adds special handling for bash functions so they
will be defined when the exported environment file is sourced.
2019-05-07 11:29:18 +09:00
Felix Niederwanger
6de3e1c7b6 New package: CCfits (#11262) 2019-05-07 03:58:29 +09:00
George Hartzell
96a95bb5bf Mesa should depend_on('glproto') (#11360)
* Mesa should depend_on('glproto')

The mesa package refers to `GL/glproto.h`.  On systems that don't have
the OS packages installed, this leads to failures during the build
[e.g. this comment in
01482](https://github.com/spack/spack/pull/10482#issuecomment-488786745).

This fixes it.  Tested on a minimally provisioned CentOS 7.

* Constrain glproto prereq to when +glx

* mesa: make glproto a build only dep
2019-05-06 14:37:13 -04:00
G-Ragghianti
b64a286820 SLATE package: fix variant/header errors (#11353)
* The 'mkl' variant implementation was not complete and was
  preventing the package from building, so remove it.
* The slate.hh file has moved in the 'develop' version (which is
  currently the only version of SLATE listed)
2019-05-07 02:52:40 +09:00
Todd Kordenbrock
dd3573b78d FAODEL: Add FAODEL package to spack (#11323)
* FAODEL: Add FAODEL package to spack

FAODEL (Flexible, Asynchronous, Object Data-Exchange Libraries) is a collection
of software libraries that are used to implement different data management
services on high-performance computing (HPC) platforms. This project is part of
the Advanced Technology Development and Mitigation (ATDM) effort for NNSA's ASC
program at Sandia National Laboratories.

(cherry picked from commit 6afe045d25)

* FAODEL: Update FAODEL package

  Dependencies: set minimum versions for boost, cmake and libfabric
  Dependencies: add conflict for boost v1.59.0
  Patch: add a patch for v1.1803.1
  Patch: add a when= for the v1.1811.1 specific patches
  Compiler: check for C++11 support in gcc

(cherry picked from commit fb6ed2b3cf20d7e4fff647cba5a70887a78f627f)

* FAODEL: Update FAODEL package

  * replace previous maintainers with @tkordenbrock and @craigulmer
  * default to shared libs to meet Spack policy
  * increase min boost version to 1.60.0 and remove boost 1.59.0 conflict
  * replace complex version check with conflict for gcc <= 4.8.0 (C++11 support required)
  * set type=build for cmake
  * enable googletest for all versions with type=build
  * enable tests for for all versions except when MPI is disabled

* FAODEL: Update FAODEL package

  * add version v1.1811.2
  * limit comment line length
2019-05-06 13:44:32 -04:00
Justin M Wozniak
4c6fb4cefe Turbine package: add m4 dependency (#10948)
m4 is a build and run dependency for Turbine: it is used at run time
to generate scheduler job files for the workflows.
2019-05-07 02:36:32 +09:00
Cameron Smith
78ade980d4 omega-h package: add version 9.27.0 (#11366) 2019-05-04 06:59:26 +09:00
Bili Dong
74295a1217 py-yt package: add versions 3.5.0, 3.5.1, 4.0 development branch (#11350) 2019-05-04 06:49:11 +09:00
Patrick Gartung
9a85a7a5aa Binary caches on MacOS - allow expanded RPATHs (#11345)
Fixes #11335

Update the Spack compiler wrappers to add the headerpad_max_install_names
linker flag on MacOS. This allows the install_name_tool to rewrite
the RPATH entry of the binary to be longer if needed. This is
primarily useful for creating and distributing binary caches of
packages (i.e. using the "spack buildcache" command); binary caches
created on MacOS before this commit may not successfully relocate
(if the target root path is larger).
2019-05-04 06:41:57 +09:00
cedricchevalier19
328a3f97fd cURL package: add gssapi option (#11344)
This option allows curl and its dependents (git, ...) to work with
proxy using Kerberos authentification.
2019-05-04 05:43:56 +09:00
Sinan
ddf485ee6d New package: GMTSAR (#11315) 2019-05-04 05:40:14 +09:00
Thilina Rathnayake
c2f9061a3c Nek5000: Fix CFLAGS and FFLAGS handling (#11339) 2019-05-04 03:52:45 +09:00
Justin S
9b0000d04f New package: PASTA (#11338) 2019-05-04 03:50:54 +09:00
Sinan
df15969a7d rJava package: add version 0.9-11 (#11334) 2019-05-04 03:45:35 +09:00
Owen Solberg
c031cff2bc BLAST-Plus package: add versions 2.9.0 and 2.8.1 (#11333) 2019-05-04 03:33:35 +09:00
Greg Sjaardema
74fe12bb4e NETCDF: add version 4.7.0 (#11330) 2019-05-04 03:31:36 +09:00
Greg Sjaardema
5d9d8171bb PARALLEL-NETCDF: add version 1.11.1 (#11329) 2019-05-04 03:30:35 +09:00
Sinan
ba58b2f43a GDAL package: add version 2.4.1 (#11328) 2019-05-04 03:30:10 +09:00
Leonhard Reichenbach
edac053cf5 libunistring: added newer versions and patch older ones (#11255)
* Add versions 0.9.10, 0.9.9, and 0.9.8
* Port a change in 0.9.10 to earlier versions as a patch
2019-05-04 03:21:43 +09:00
Massimiliano Culpo
5ffb270714 Added a function that concretizes specs together (#11158)
* Added a function that concretizes specs together

* Specs concretized together are copied instead of being referenced

This makes the specs different objects and removes any reference to the
fake root package that is needed currently for concretization.

* Factored creating a repository for concretization into its own function

* Added a test on overlapping dependencies
2019-05-04 03:04:38 +09:00
Federico Ficarelli
0425670942 arm-forge: add all available versions (#11198)
* arm-forge: add all available versions

* Add TODO for the version hell

* Fix linting

Looks like 'black' formatter isn't Spack friendly

* Fix versions ordering

* Remove obsolete package (allinea-forge → arm-forge)
2019-05-03 08:14:25 -07:00
Chris Green
2d8708e542 range-v3: New versions 0.3.7, 0.4.0, 0.5.0. (#11358) 2019-05-03 09:13:50 +02:00
Chris Green
2155d611df libxml2: New version 2.9.9. (#11357) 2019-05-03 09:13:22 +02:00
Chris Green
fe7e85e6d9 cppunit: New version 1.14.0. (#11359) 2019-05-03 09:12:22 +02:00
Phil Carns
2c2228df59 add BMI package (#11310)
- also enable optional dependency in Mercury
2019-05-03 09:11:31 +02:00
Nichols A. Romero
42b01c02b1 QMCPACK: compiler flags and mpi wrapper updates (#11326)
* Set mpi compiler wrappers using CC/etc. variables as recommended
  at https://spack.readthedocs.io/en/latest/packaging_guide.html#compiler-wrappers
  rather than setting CMake variables like -DCMAKE_C_COMPILER
* Use convenience functionality provided by inherited CMakePackage to
  export all compiler flags as CMake options
2019-05-03 11:13:19 +09:00
Christoph Junghans
54c19ce16c py-espresso: added v4.0.2 2019-05-03 10:40:54 +09:00
Patrick Schratz
dd668cb00c grass package: use url_for_version, add versions (#11324) 2019-05-03 10:40:23 +09:00
Vanessasaurus
4aeb0d19bd Singularity package: new version, legacy builds, and root permissions (#11094)
* Remove old Singularity versions, add version 3.1.1
* Recent versions of Singularity build with go rather than autotools:
  update dependencies and build logic
* Move old Singularity versions to new singularity-legacy package
  which uses the autotools build system
* Some binaries built by Singularity need to be run as root: include
  a script that the user can run after the Spack Singularity install
  to change these permissions.
* The Singularity go build expects to work with a custom stage
  directory relative to GOPATH: override the stage phase to create
  this expected path.
* Update Singularity install config to point to Spack-installed
  makesquashfs dependency
2019-05-03 10:27:13 +09:00
Chuck Atkins
f44443ed3a llvm: depend on python only when +python (#11348)
Based on the LLVM documentation [1], Python is used to run the automated
test suite. Therefore is it always a dependency for LLVM. However, if
build without Python (~python), we limit it to a build time dependency.

Note that py-lit is not added as a spack dependency even though it is
available as a spack package. This is because it is already included
in llvm and llvm is difficult to configure using an external py-lit
(several CMake variables to set correctly). Additionally, having
py-lit as a spack dependency adds Python as a runtime dependency
for llvm even though it is not required at runtime.

[1] https://llvm.org/docs/GettingStarted.html#requirements
2019-05-02 16:21:06 -04:00
Denis Davydov
5b82bf47af extend Version class so that 2.0 > 1.develop > 1.1 and develop > master > head > trunk > 9999 (#1983)
* extend Version class so that 2.0 > 1.develop > 1.1

* add concretization tests, with preferences and preferred version.

* add master, head, trunk as develop-like versions, develop > master > head > trunk

* update documentation on version comparison
2019-05-03 03:32:40 +09:00
Omar Padron
0bbd41c7f7 install spack under /opt/spack in docker images (#10969)
* install spack under /opt/spack
2019-05-02 12:05:42 -04:00
Levi Baber
9e72fc48c8 fix error when adding package to env in container (#11321) 2019-05-02 11:04:21 -05:00
Patrick Gartung
309122c329 Don't use buildcache to install patchelf (#11343) 2019-05-02 10:02:25 -05:00
Hans Pabst
0e9513be97 LIBXSMM: add version 1.11, update wrapper settings (#11317)
Remove makefile editing to set compiler wrappers (which was not
working) and instead set them as arguments to 'make'.
2019-05-02 08:45:00 +09:00
Simon Flood
ff2be5e866 R: add version 3.6.0 2019-05-02 08:34:00 +09:00
Daryl W. Grunau
7a3be1bf15 New package: py-pydv (#11313) 2019-05-02 08:28:21 +09:00
tcojean
68c4849f77 Ginkgo package: update to release 1.0.0 (#11312)
* Version 1.0.0 was released and the master branch tracks the
  latest release.
* Multiple issues with MacOS have been fixed. The static patch is
  now unneeded.
* Add support for building Ginkgo with the full Block Jacobi
  performance (compilation takes a long time).
* Do not build anything which is not useful for the installation.
  Namely, documentation, benchmarks, examples and tests.
2019-05-02 08:25:39 +09:00
Phil Carns
396955b9ba New package: libpmemobj-cpp (#11309) 2019-05-02 08:12:01 +09:00
Felix Mayr
c2e280b794 python: add versions 3.7.3, 3.5.7, and 3.4.10 (#11300) 2019-05-02 08:01:30 +09:00
Chuck Atkins
9f848205e4 mesa: re-written to new meson build system (#10482)
* mesa: re-writen to new meson build system

* xorg-server: Remove unneeded mesa dependency

* glx: provide the virtual GLX package

* Convert most "mesa" dependencies to use virtual gl and glx dependencies

* mesa: Switch to always building from the git repo instead of a tarball

* Use gl and glx version ranges instead of exact versions

* glx: provide a default package

* add auto to swr variant

* Revert "add auto to swr variant"

This reverts commit 2e7cd8a8ac.

* update mesa package to version 19.0

* set +glx by default only when running on linux

* fix style issues in geant4 package

* remove virtual package "egl"
2019-05-01 17:57:33 -05:00
Phil Carns
a698ac9711 add PMDK 1.6
- also remove superflous ncurses dependency for PMDK 1.5
2019-05-02 03:37:22 +09:00
Kelly (KT) Thompson
2e6eaa2c0a trilinos: add variant for ShyLU support (#11294) 2019-05-02 03:36:00 +09:00
Sean McGrath
a605fc7e06 ffmpeg package: add aom support (#11210)
* Add Aom package
* Add aom variant to ffmpeg package which controls whether to build
  with the Aom dependency
2019-05-02 03:33:03 +09:00
xfzhao
2a1ba0e142 Supernova package: add version 2.1.1 (#11285) 2019-05-01 09:56:53 +09:00
Francois Budin
b56e418dfe Add margo package and add rc1 tag for argobots package (#11281)
margo package is a required dependency for unifycr but the package
was not available in spack. margo requires a recent version of argobots
that has the ABT_SCHED_BASIC_WAIT scheduler (rc1 does while previously
available versions of this package in spack did not have it).
2019-05-01 09:47:34 +09:00
Francois Budin
52752efa4d veloc package: add version 1.1 and update master dependencies (#11270)
* Add version 1.1 and set it as preferred
* Add pdsh as a dependency for `master`
2019-05-01 09:44:51 +09:00
Francois Budin
e2825d0ad4 Darshan 3.1.7 and develop versions fpr darshan-runtime and darshan-util (#11269)
* Add version 3.1.7
* Add develop branch (git master)
2019-05-01 09:42:32 +09:00
Thomas Gruber
06ed77bdfa Lua: Fix unresolved symbols in shared library by linking with libdl.so (#11260)
The current lua package.py does not link with libdl.so, so you get
unresolved symbols while linking with lua. This PR adds libdl to fix
the issue.
2019-05-01 08:41:08 +09:00
Greg Becker
7b715564d0 openfoam-com package: build without kahip by default (#11259)
Kahip does not build with clang (conflicts('%clang') in kahip package.
Because of this, openfoam-com %clang fails concretization. Therefore,
this changes the default openfoam-com variant for kahip to False.
2019-05-01 08:26:54 +09:00
Tiziano Müller
d2786ec064 CP2K package: add versions and tests, adjust optimization flags (#11263)
* Remove -ffast-math optimization flag
* Add 'develop' version which points to git repo
* Depend on libint for all versions >= 3.0
* Build directory is different for versions >= 7 (including develop)
* Add "make test" as post install check
2019-05-01 04:52:13 +09:00
Todd Gamblin
8e5e36dc0b Fix spack flake8 to use Travis's target as base when needed 2019-05-01 04:44:02 +09:00
Jannek Squar
f41103770d OpenCV: New versions, adjust protobuf dependency (#11243)
* Add versions 3.4.4 through 4.1.0 and 4.1.0-openvino
* Add conflict for gcc version >= 7 when building with +cuda
* Later version of protobuf is required for later versions of OpenCV
* Explicitly remove protobuf dependency with CMake option when not
  building with +dnn
2019-05-01 03:37:47 +09:00
xfzhao
e10dd6f779 Masurca (#11286)
* py-pauvr:new package

* falcon-unzip: new package

* supernova: updating

* masurca: updating

* rm extra files

* modifying available versions and adding url

* fixing deleted supernova
2019-04-30 08:24:12 -05:00
Matthias Diener
c43296e00d git-lfs: add version 2.7.2 (#11311) 2019-04-30 10:20:03 +02:00
Denis Davydov
a11b252a1b remove myself from maintainers of some packages (#11319) 2019-04-30 10:16:53 +02:00
Chuck Atkins
d2a5a10f08 vtk: Use the vendored libharu (#11293)
VTK requires a patched libharu that is not maintained upstream
See https://github.com/libharu/libharu/pull/157
2019-04-30 10:07:29 +02:00
Xavier Delaruelle
1a920ee64f environment-modules: add version 4.2.4 (#11307) 2019-04-27 20:32:57 +02:00
Daryl W. Grunau
c860d743f9 py-dateutil: add missing dependency on py-setuptools-scm (#11282)
Confirmed that versions before 2.7.5 do not require this dependency.
2019-04-26 20:28:35 +09:00
Felix Mayr
a195ffada2 QuantumEspresso package: add version 6.4 (#11302) 2019-04-26 20:25:40 +09:00
Frédéric Simonis
c951d1cb98 precice: add version 1.4.1 (#11276) 2019-04-26 09:49:11 +02:00
Chris Green
1b2817ee0a root: new versions, variants and patches (#11215)
* root: new versions, variants and patches to bring in to line with FNAL's use.

* Support MySQL.
* Patches:
    * Bigger stringbuf.
    * Find MySQL even when it's called mariadb-c-client.
    * Honor external provision of unuran.
    * Properly handle the ROOT7 web GUI for 6.16/00.
* `memstat` variant is now default-OFF due to version-related constraints.
* Add missing dependencies.
* Propagate `python` to `libxml2`.
* Handle external FTGL dependency with X / OpenGL: depends on PR ####
* Force `SPACK_INCLUDE_DIRS` to avoid warning.
* New `gminimal` variant default ON per discussion with Javier Cervantes.

* Style fixes per flake8.

* Remove redundant `PATH_SUFFIX` per https://github.com/root-project/root/pull/1993#discussion_r276840329

* Comment patches per https://github.com/spack/spack/pull/11215#discussion_r276887199.

* Reflect the fact that MariaDB support patch is now upstream.

* Restore ncurses dependency for libtinfo.
2019-04-24 08:48:52 +02:00
Toyohisa Kameyama
ac7f9ef93d Fix handling of MODULEPATH in setup-env.sh (#11274)
Usage of double quotes was preventing word-splitting when parsing
module roots in setup-env.sh, which lead to an error when multiple
module roots are used (in particular when Spack is pointed to use
an upstream module root in addition to its own).
2019-04-24 11:53:25 +09:00
Toyohisa Kameyama
3d46dcd6f0 nest: change cmake_options to args. (#11273) 2019-04-24 11:09:49 +09:00
Eric Martin
e6bd4d27ea py-pandas: Add version 0.20.0 (#11264) 2019-04-24 09:01:56 +09:00
George Hartzell
b0080c705c squashfs should depend_on('zlib') (#11265)
Add zlib dependency to squashfs

On my CentOS system it was getting linked in (from Spack, no less)
fortuitously.

On a minimal Ubuntu system it failed until it was added as an explicit
dependency.
2019-04-24 09:01:36 +09:00
Daryl W. Grunau
edca0cde1c _valid_tokens list is missing intended comma (#11271)
* _valid_tokens list is missing a needed comma
2019-04-24 08:55:20 +09:00
Chris Green
597037c9ff ftgl: update to 2.1.3-rc5. (#11214)
* ftgl: update to 2.1.3-rc5.

This updates to the last release (from 2008) with patches required to work with Spack and Root.

* Working 2.1.2 with/without docs, 2.1.3-rc5 without.
2019-04-23 09:42:10 -05:00
Eric Martin
bc080d753c py-umi-tools: Add latest versions (#11256) 2019-04-23 18:23:44 +09:00
George Hartzell
efe62b7d6d Install squashfs exe's into prefix.bin, not prefix (#11246)
The squashfs Makefile's `INSTALL_DIR` args is the path to the `bin` directory, not the top of the install tree.

Adjust accordingly.
2019-04-22 20:16:57 +02:00
Todd Gamblin
552c9c57fd Update tutorial page with RIKEN tutorial slides. (#11254)
- Add link to container image, as well as a description of VMs
- Update slide link to point to latest RIKEN tutorial
2019-04-23 01:53:47 +09:00
Greg Becker
5aa4edb939 Fix transitions between tutorial sections (#11251) 2019-04-22 17:14:26 +09:00
Todd Gamblin
0aed3bcea6 spack edit: use execv instead of Executable (#11245)
- `spack edit` previously used `spack.util.executable` `Executable` objects,
  and didn't `exec` the editor like you'd expect it to

- This meant that Spack was still running while your editor was, and
 stdout/stdin were being set up in weird ways

- e.g. on macOS, if you call `spack edit` with `EDITOR` set to the
  builtin `emacs` command, then type `Ctrl-g`, the whole thing dies with
  a `==> Error: Keyboard interrupt`

- Fix all this by changing spack.util.editor to use `os.execv` instead of
  Spack's `Executable` object
2019-04-20 20:51:45 -07:00
Janne Blomqvist
5fb6145f6f OpenBLAS: Allow enabling/disabling AVX2/512 support
Allow specifying whether AVX2 or AVX512 should be enabled or disabled
on x86 targets.

As AVX2 hardware and toolchain support is quite ubiquitous by now,
AVX2 is enabled by default.  Also AVX2 support is not disabled when
building the +virtual_machine variant.

AVX512 is not supported in older but still supported toolchains,
hardware is still expensive, and OpenBLAS AVX512 kernels still have
bugs. Thus AVX512 is disabled by default.
2019-04-20 16:43:11 -07:00
Adam J. Stewart
7255d5ee3c Fix detection of LLVM-enabled PGI compilers (#10704)
* Fix detection of LLVM-enabled PGI compilers

* Add unit tests for LLVM-enabled PGI compiler version detection
2019-04-20 17:52:55 -05:00
Matthias Diener
a40492172f hdf5: add symbols (#10991) 2019-04-20 15:09:46 -07:00
Adam J. Stewart
f8dc385392 Mercury package: add version 1.0.1 and update dependencies (#10906)
* Add Mercury version 1.0.1
* Remove cci and bmi dependency requirements: these are not currently
  defined in Spack. If +bmi is enabled, the effect is that it may
  use a system install of bmi
* Add a note that fabtests is deprecated and has been folded into the
  libfabric package. Add the fabtests resource to the libfabric
  package
* Add CMake option settings to Mercury based on variant settings
* Mercury: Set OFI testing protocol depending on how libfabric was
  built
* Mercury: add version constraints to dependencies
2019-04-20 15:03:18 -07:00
Denis Davydov
95fafb4e44 Move NoLibrariesError/NoHeadersError into error.py (#10997)
Also add constructor to NoLibrariesError which can either take an
error message (like other SpackErrors) or a name and prefix (in
which case the error message is constructed).
2019-04-20 14:08:05 -07:00
Satish Balay
39855fbcf8 dealii: add patch for build with boost@1.70.0 (#11239)
Ref: https://github.com/dealii/dealii/issues/7934
2019-04-20 14:00:34 +02:00
Sajid Ali
4a2ec792a6 miniconda 2 and 3 packages: add version 4.6.14 (#11232) 2019-04-19 17:42:02 -07:00
Justin S
6f1fe3904c Fix outdated R packages failing to fetch (#11039)
PR #10758 made a slight change to find_versions_of_archive() which included
archive_url in the search process. While this fixed `spack create` and
`spack checksum` missing command-line arguments, it caused `spack
install` to prefer those URLs over those it found in the scrape process.

As a result, the package url was treated as a list_url causing all R
packages to stop fetching once the package was updated on CRAN.

This patch is more selective about including the archive_url in the
remote versions, explicitly overriding it with matching versions found
by the scraper.
2019-04-19 17:39:13 -07:00
Chris Green
3b34931f68 mysql: 5.7.X versions link boost (#11237)
Fixes #11226

MySQL 5.7.X and Boost 1.59.0 have a closer relationship than
MySQL >= 8.0 and their corresponding Boost versions: 5.7.X needs to
link against boost libraries which is indicated by marking boost as
a link dependency (removing the 'type' reverts to the default, which
includes link and build).
2019-04-19 15:34:55 -07:00
Oliver Breitwieser
56c233b0b7 jdk package: Fix fetching with curl 7.64.0+ (#11108)
Starting with version 7.64.0, curl skips cookies specified with "-H"
(generic custom header specification) when following redirects, which
causes the "accept-license"-cookie for jdk to disappear. The result
is that jdk fails to download. This uses the "-b" option (which is
used specifically for configuring cookies) instead, which is more
permissive.
2019-04-19 14:43:45 -07:00
Satish Balay
e86027d1f8 MUMPS: add version 5.2.0 (#11234) 2019-04-19 15:55:56 -05:00
Satish Balay
1746150f58 hypre: add @osborn9 to maintainers (#11233) 2019-04-19 15:55:35 -05:00
Greg Becker
141e8b8de3 Fix backwards compatibility for module naming (#11236)
f242f5f8 changed the format strings but maintained backwards
compatibility in all cases except one: The list of valid tokens for
the module naming schemes was not updated properly to contain both
the new and old styles for compilers and package names.

This PR re-adds the old tokens into the list of valid tokens.
2019-04-19 13:20:41 -07:00
kustowski1
7ee9953dec added libsodium 1.0.16 and 1.0.17 (#11231) 2019-04-19 12:19:51 -07:00
Satish Balay
1eb01e7be5 petsc: fix suitesparse configure options. (#11188)
spec['dep'].libs.ld_flags can return system paths in some cases.
This is a targeted fix for the petsc package when retrieving
suite-sparse dependency libraries.
2019-04-19 11:44:05 -07:00
Massimiliano Culpo
3892b57244 hpx: overhaul of the package recipe (#11194)
* added latest versions + malloc variant
* added a variant to activate different instrumentations
* added a variant to activate or not networking
* added a variant to activate or not cuda and tools
* enforce c++ standard and make it consistent with boost
2019-04-19 16:58:46 +02:00
Harsh Bhatia
3f50dcf6d9 memsurfer: add new package 2019-04-18 19:31:08 -07:00
Harsh Bhatia
1842f9fbd5 vtk: add version 8.1.2 2019-04-18 19:31:08 -07:00
Harsh Bhatia
81f7238743 cgal: add version 4.13 2019-04-18 19:31:08 -07:00
Peter Scheibel
8a23154755 Spack chain docs: config should go in upstreams.yaml (#11225)
#11152 added documentation for #8772 but some details were based on
an earlier implementation that had changed by the time #8772 was
merged. In particular, #11152 mentioned that upstream Spack instances
were configured in config.yaml, when in fact they should be placed in
a separate upstreams.yaml config file; this PR updates the
documentation accordingly.
2019-04-18 18:57:10 -07:00
Massimiliano Culpo
9cf650d2ab Moved cleanup before raising (the code couldn't be reached before) 2019-04-18 18:41:22 -07:00
Massimiliano Culpo
400aa5fe51 Cleaned get methods of Repo and RepoPath 2019-04-18 18:41:22 -07:00
Massimiliano Culpo
76b5af6bf3 Used functools.wrap for the decorator + reordered imports 2019-04-18 18:41:22 -07:00
Massimiliano Culpo
bbb5d61662 Removed 'namespace' argument from Repo and RepoPath
fixes #11159

The 'namespace' argument to both Repo and RepoPath were used to set the
"super namespace". Currently it seems to be vestigial as the only
"super namespace" allowed for packages is 'spack.pkg' since 39c9bbf
2019-04-18 18:41:22 -07:00
Nichols A. Romero
eb7c79720d QMCPACK CMake fix (#11212)
* cflags and cxxflags from packages.yaml need to be passed into QMCPACK's CMake explictly for now.

* You need the ifcore library from the Intel compler to be manually linked in when you linked against a LAPACK provider that is not MKL.
2019-04-18 20:00:24 +02:00
Daniel Topa
c7725e9ff8 Add Open MPI v3.0.4 (#11221)
tarball posted 2019-04-15
https://www.open-mpi.org/software/ompi/v3.0/

dantopa@cn209:openmpi-3.0.4-5ienfvwpcxky3nz5jt3rygxzxzltkwm4 $ cd lib/

dantopa@cn209:lib $ ls -alh
total 27M
...
lrwxrwxrwx 1 dantopa dantopa   16 Apr 17 10:01 libmpi.so -> libmpi.so.40.0.5

confirmation builds Darwin (LANL):

x86_64
-- linux-centos7-x86_64 / gcc@4.8.5 -----------------------------
5ienfvw    openmpi@3.0.4%gcc
bkkhvej        ^hwloc@1.11.11%gcc
5chyfxo            ^libpciaccess@0.13.5%gcc
bcnjbc3            ^libxml2@2.9.8%gcc
tt2hkol            ^numactl@2.0.12%gcc
64vg6e4        ^zlib@1.2.11%gcc

ARM
-- linux-rhel7-aarch64 / gcc@4.8.5 ------------------------------
cq2y6b3    openmpi@3.0.4%gcc
7gqvelc        ^hwloc@1.11.11%gcc
6a4he35            ^libpciaccess@0.13.5%gcc
6a5uzd6            ^libxml2@2.9.8%gcc
m5neuus            ^numactl@2.0.12%gcc
67s2oqn        ^zlib@1.2.11%gcc

Power9
-- linux-rhel7-ppc64le / gcc@4.8.5 ------------------------------
otirvfn    openmpi@3.0.4%gcc
r6cylpu        ^hwloc@1.11.11%gcc
uzm3xdv            ^libpciaccess@0.13.5%gcc
trik6hj            ^libxml2@2.9.8%gcc
pmgndwh            ^numactl@2.0.12%gcc
4v3ticy        ^zlib@1.2.11%gcc

2019-04-18

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-04-18 12:33:26 -05:00
Zack Galbreath
7febb88c2a improvements to our CDash reporter (#11168)
* Make a separate CDash report for each package installed

Previously, we generated a single CDash report ("build") for the complete results
of running a `spack install` command. Now we create a separate CDash build for
each package that was installed.

This commit also changes some of the tests related to CDash reporting.
Now only one of the tests exercises the code path of uploading to a
(nonexistent) CDash server. The rest of the related tests write their reports
to disk without trying to upload them.

* Don't report errors to CDash for successful packages

Convert errors detected by our log scraper into warnings when the package
being installed reports that it was successful.

* Report a maximum of 50 errors/warnings to CDash

This is in line with what CTest does. The idea is that if you have more than
50 errors/warnings you probably aren't going to read through them all anyway.
This change reduces the amount of data that we need to transfer and store.
2019-04-18 09:39:35 -07:00
Federico Ficarelli
e64ee7e1be Prevent building llvm@8: with an incompatilble gcc (#11220) 2019-04-18 16:58:41 +02:00
Satish Balay
4571a96a43 xsdk: add/update maintainers to xsdk packages (#11146)
pumi
  slepc
  plasma
  magma
  trilinos
  alquimia
  pflotran
  strumpack
  tasmanian
  amrex
  hypre
  omega-h
  superlu-dist
2019-04-18 08:20:22 -05:00
Stephen Herbein
1dc3744d2c new package: kitty terminal (#9621) 2019-04-18 08:53:52 +02:00
Greg Becker
f242f5f8a9 Features: Improve Spec format strings (#10556)
* Update spec format to simpler syntax, maintain backwards compatibility
* Switch to new spec.format method throughout internals
* update package files for new format strings
* documentation and minor code cleanup. removed nonsensical variant sigils
2019-04-17 18:21:40 -07:00
Veselin Dobrev
49334f006d [WIP] CEED 2.0 (#10903)
* Initial commit for v2.0 of the CEED software suite.

* Update Nek packages and gslib

* Help spack concretize the hypre version for ceed-2.0.

* Fix nekcem install error

* Add support for gfortran v8 in nek5000 and nekcem.

* Split Nek5000 into Nek5000 and Nektools

* Get Nektools to build fine in Theta

* Fix travis failure: remove unused 'import numbers' from nek5000.

* Check for gfortran if it is wrapped

* Tweak the detection of gfortran in nek5000.

* Fix Nek packages to add -std=legacy when FC=gcc

* spack install ceed~petsc works fine on Theta

* Fix flake8 errors

* Fix more flake8 tests

* Fix an import issue

* Tweak the suite-sparse package to avoid interaction with existing system
installations of suite-sparse.

* petsc: update superlu-dist dependency

* Updates in the packages: occa, libceed, and ceed.

* In the libceed package, explicitly tell nvcc which host compiler to use.

* Fix python formatting.

* Simplify the test for gfortran in nek* packages.

* ceed: 2.0 uses petsc@3.11.0

* hpgmg-0.4; use from ceed@2.0.0

* Update the hypre dependency for ceed 2.0.

* Disable the superlu-dist dependency (through hypre) when using a
+quickbuild of ceed 2.0.

* petsc-3.11.0: add xlf fix

* nekcem: has a build dependency on Python 2.7+

* hpgmg: better setting of compiler options and use python for configure

* libceed: use v0.4 tag

* libceed: fix 0.4 release oops (pkgconfig version)

* Add a patch for magma-2.5.0 that brings it up the current 'master'.

* In the mfem package, install the examples, miniapps, and data under
$prefix/share/mfem.

* In the magma package, apply a patch to v2.5.0 that disables
magma_sparse - for testing purposes.

* In the magma package, link the 'magma' library with the
'nvToolsExt' library.

* In the magma package, update the 'magma-2.5.0.patch' with the latest
commits from the magma source repository. Also, remove the library
'nvToolsExt' from the 'magma-2.5.0-cmake.patch' - now it is not
needed.

* In the magma package, disable OpenMP when using v2.5.0 with the
IBM XL compiler.

 Please enter the commit message for your changes. Lines starting

* In the mfem package, add version for the 'laghos-v2.0' tag; also,
prefix the versions `laghos-v*` with their respective development
version numbers -- this way they are properly ordered within spack
relative to the official numbered versions.

* petsc: add version 3.11.1 (#11179)


(cherry picked from commit 1eab6e3c86)

* ceed-2.0: use petsc-3.11.1

* this-is-so-dumb.f -> empty.f
2019-04-17 17:37:41 -07:00
Elsa Gonsiorowski, PhD
a26aec520b mpifileutils v0.9.1 (#11216)
* mpifileutils v0.9.1

* mpifileutils v0.9.1 for realz
2019-04-17 18:11:14 -05:00
Michael Kuhn
b61dd57fdc sublime-text: Miscellaneous improvements (#11154)
- Add 3.2.1
- Reformat versions to include proper upstream version tags
- Add gtk dependency
- Add prefix to PATH so sublime_text can be found
2019-04-17 13:44:34 -07:00
Satish Balay
7280f21397 Add ftn to lib/spack/env (#11180)
Fixes #11070 #11010

Spack attempts to intercede on behalf of all compiler invocations for
a build. This involves adding its wrappers to PATH. Cray systems
include a "ftn" executable and Spack was only redirecting this call
when the Spec was built with cce. This updates the compiler wrappers
to add "ftn" in all cases.
2019-04-17 13:12:25 -07:00
Oliver Breitwieser
f276b3ffa0 ruby: Install certificate for +openssl only (#11184)
If specifying ~openssl, the post-install step will still try to install
the non-existent certificate, leading to an IOError.
2019-04-17 13:03:58 -05:00
Christoph Junghans
c628ca99cf gromacs: added 2019 patch releases (#11211) 2019-04-17 12:48:06 -05:00
Satish Balay
4731041f88 strumpack@3.1.1: add patch for Intel-19 build failure on cori (#11204)
Ref: https://github.com/spack/spack/issues/11202
2019-04-17 12:10:05 -05:00
Justin S
01ada1a3de astral: add 5.6.1 (#11195) 2019-04-17 09:32:50 -05:00
sknigh
e372464611 Add llvm 8.0.0 (#11197) 2019-04-17 09:31:42 -05:00
Michael Kuhn
ea2a85dbd3 lz4: Add 1.9.0 (#11207) 2019-04-17 09:30:23 -05:00
Michael Kuhn
3028f5674c zstd: Add 1.4.0 (#11208) 2019-04-17 09:29:52 -05:00
Peter Scheibel
ef8b5c73ce don't record 'view: True' in environment config (#11182)
The default (implied) behavior for all environments, as of ea1de6b,
is that an environment will maintain a view in a location of its
choosing. ea1de6b explicitly recorded all three possible states of
maintaining a view:

 1. Maintain a view, and let the environment decide where to put it
    (default)
 2. Maintain a view, and let the user decide
 3. Don't maintain a view

This commit updates the config writer so that for case [1], nothing
will be written to the config.yaml. This will not change any existing
behavior, it just serves to keep the config more compact.
2019-04-16 19:08:10 -07:00
sknigh
308805cd54 Added rust 1.34.0 (#11200) 2019-04-16 18:32:11 -05:00
sknigh
a287ad6edd Added openmpi 3.1.4 (#11201)
* Added openmpi 3.1.4

* fix suffix comment
2019-04-16 18:31:54 -05:00
Matthias Mayr
e07cf4d661 New package: CLN library (#11167) 2019-04-16 16:03:51 -07:00
Frédéric Simonis
2ef7287a3b precice package: add versions and dependencies (#11176)
* Add versions 1.4.0, 1.3.0, and 1.2.0
* Add dependencies and update constraints (e.g. version 1.4.0 of
  precice requires a later version of boost)
* Add maintainers
2019-04-16 12:38:08 -07:00
paulanda
88cc895a70 setup-env.sh: fix zsh compatibility error (#11153)
Still look for BASH_SOURCE[0] first, but if it's not set,
_sp_source_file is initialized to an empty value addressing the
unset parameter error (line 217).
2019-04-16 12:33:02 -07:00
Nichols A. Romero
9a79a2345d QMCPACK package: Remove Spack MKL hack for older version (#11127)
A Spack hack for MKL usage was needed in QMCPACK prior to version 3.5
when non-Intel compilers were used. This Spack hack could have
undesirable side-effects and led to ugly code that was extra work to
maintain. For older versions of QMCPACK, we throw a conflict if you
want to use Intel MKL with the other compilers commonly found on x86.

Note that there is no impact to version of QMCPACK since 3.5.
2019-04-16 12:04:40 -07:00
Satish Balay
c25d162b3c superlu-dist: fix issue with adding system blas/lapack - when MKL is explicitly specified (#11187)
Version 6 added dependency on LAPACK - so additional -DTPL_LAPACK_LIBRARIES option is required

Ref: https://github.com/xiaoyeli/superlu_dist/issues/36
Ref: https://github.com/spack/spack/issues/10173
2019-04-16 08:52:48 -05:00
Adam J. Stewart
dbfa928cdb Add unit tests for Cray compiler detection (#11191) 2019-04-16 10:01:42 +02:00
Greg Becker
5f74f22dc6 Bugfix: Install missing compilers for dependency packages (#11175)
Compilers are treated separately from other dependencies in Spack.
#10761 added the option to automatically install compilers when a
package specifies using a compiler that is not available in Spack.
However, this did not work correctly for dependency packages (it
would only build a compiler for the root of an install DAG). This
commit enables the building of compilers for dependency packages.
2019-04-15 17:41:15 -07:00
Jordan Ogas
a49de9eb09 add charliecloud 0.9.9 (#11190) 2019-04-15 17:59:10 -05:00
Matthias Diener
dd97cf9315 cmake: add version 3.14.2 (#11192) 2019-04-15 17:17:24 -05:00
Denis Davydov
06a17ef052 pixman: fix patch (#11173) 2019-04-15 14:49:02 +02:00
Denis Davydov
0341e19540 boost: add 1.70.0 (#11183) 2019-04-15 09:59:04 +02:00
Oliver Breitwieser
dadbd723a3 verilator: Fix FlexLexer.h not found (#11185)
Similar to #10956 flex needs to be a link-dependency for verilator in
order for FlexLexer.h to be found during install.
2019-04-15 09:56:07 +02:00
Satish Balay
5b5e00aaa9 petsc4py: add verson 3.11.0 (#11186)
Also added maintainers
2019-04-15 09:54:40 +02:00
Mark C. Miller
1ae7477d20 Update FASTMath metapackage (#11171)
* Limit to FASTMath-only packages
* Replace boxlib with amrex

As requested by @asalmgren
2019-04-12 16:54:19 -05:00
Satish Balay
832a1ddbaa petsc: add fftw variant (#11178) 2019-04-12 09:46:23 -05:00
Satish Balay
1eab6e3c86 petsc: add version 3.11.1 (#11179) 2019-04-12 09:45:43 -05:00
Owen Solberg
227f9c9026 py-deeptools: adding release 3.2.1 sha256 sum (#11174) 2019-04-12 09:45:04 +02:00
Massimiliano Culpo
263d8a818a Updated Sphinx configuration (#11165) 2019-04-11 14:38:52 -07:00
Denis Davydov
177b7f111a intel: optionally take gcc executable from cflags (#11136) 2019-04-11 12:33:59 -07:00
Satish Balay
6b09781936 xsdk@develop: enable amrex@develop+sundials (#11169) 2019-04-11 12:16:23 -05:00
Cody Balos
0d0358733d amrex: add sundials variant (#11147) 2019-04-11 10:43:11 -05:00
brietzke
d0e281e201 libxsmm package: add variant to build generator executables (#11114) 2019-04-10 16:34:38 -07:00
clellsolomon
7ec12c59ab fzf package: change mirror and add vim plugin (#10920)
This commit edits the Makefile to use github.com mirrors rather than the
default mirrors of the dependency packages installed by GO.
2019-04-10 16:23:37 -07:00
Chuck Atkins
f1bdaa11d4 New Packages: ecp-io-sdk and ecp-viz-sdk (#11073) 2019-04-10 16:18:05 -07:00
Peter Scheibel
ea1de6b941 Maintain a view for an environment (#10017)
Environments are nowm by default, created with views.  When activated, if an environment includes a view, this view will be added to `PATH`, `CPATH`, and other shell variables to expose the Spack environment in the user's shell.

Example:

```
spack env create e1 #by default this will maintain a view in the directory Spack maintains for the env
spack env create e1 --with-view=/abs/path/to/anywhere
spack env create e1 --without-view
```

The `spack.yaml` manifest file now looks like this:

```
spack:
  specs:
  - python
  view: true #or false, or a string
```

These commands can be used to control the view configuration for the active environment, without hand-editing the `spack.yaml` file:

```
spack env view enable
spack env view envable /abs/path/to/anywhere
spack env view disable
```

Views are automatically updated when specs are installed to an environment. A view only maintains one copy of any package. An environment may refer to a package multiple times, in particular if it appears as a dependency. This PR establishes a prioritization for which environment specs are added to views: a spec has higher priority if it was concretized first. This does not necessarily exactly match the order in which specs were added, for example, given `X->Z` and `Y->Z'`:

```
spack env activate e1
spack add X
spack install Y # immediately concretizes and installs Y and Z'
spack install # concretizes X and Z
```

In this case `Z'` will be favored over `Z`. 

Specs in the environment must be concrete and installed to be added to the view, so there is another minor ordering effect: by default the view maintained for the environment ignores file conflicts between packages. If packages are not installed in order, and there are file conflicts, then the version chosen depends on the order.

Both ordering issues are avoided if `spack install`/`spack add` and `spack install <spec>` are not mixed.
2019-04-10 16:00:12 -07:00
Eric Martin
8f1ebfc73c py-requests: Add missing dependencies for versions 2.16.0 and up (#10996) 2019-04-10 15:38:28 -07:00
Mario Melara
a1db22ba1a Unload altd and darshan (#11162) 2019-04-10 13:19:41 -07:00
Peter Scheibel
c1f8fdd5df Add documentation for chaining Spack instances (#11152)
Add documentation for the Spack chain feature added in #8772
2019-04-10 11:54:13 -07:00
Patrick Gartung
a5315f3878 Fix bug when system perl is used. (#11034)
* Fix bug when system perl is used.

If system perl is being used through packages.yaml there cannot be dependent modules.
The  setup_dependent_packages function should not do anything in that case.
2019-04-10 08:44:27 -05:00
Denis Davydov
1e9748a3c8 dealii: fix build with tbb from intel parallel studio (#11138) 2019-04-10 14:51:38 +02:00
Denis Davydov
b2611c8086 suite-sparse: fix tbb patching (#11155) 2019-04-10 09:21:54 +02:00
Michael Kuhn
1ac576923f libfabric: Add 1.7.1 (#11141) 2019-04-09 18:38:15 -05:00
Matthias Diener
687a7db73f wget: add version 1.20.3 (#11148) 2019-04-09 18:37:04 -05:00
George Hartzell
0256766ab9 Typo: Unkown -> Unknown (#11150) 2019-04-09 18:36:45 -05:00
Denis Davydov
1f1ea2c859 intel: consolidate libs() in the base class (#11143)
* intel: consolidate libs() in the base class

* white space

* flake8
2019-04-09 13:54:21 -07:00
Denis Davydov
82455a30d0 openmpi: add 4.0.1 (#11126)
* openmpi: add 4.0.1

* openmpi: enable-mpi1-compatibility for 4.0.1 and above

* remove preferred

* make 3.1.3 preferred
2019-04-09 21:41:14 +02:00
Satish Balay
a9bf3bdd6a xsdk@develop: enable hypre shared (even on OSX) and superlu-dist variant (#11131) 2019-04-09 08:42:44 -05:00
Owen Solberg
c6a7d0db03 cdhit - add new release 4.8.1 checksum (#11130) 2019-04-09 10:33:07 +02:00
Satish Balay
6e78730a97 mumps: add version 5.1.2 (#11132)
Add patch for gfortran-8 runtime errors
2019-04-09 10:28:41 +02:00
Patrick Gartung
aac3799d2c Unset SPACK_INCLUDE_DIRS so the compiler wrapper does not prepend any -I flags. The assumption is that cmake will set the correct include flags. (#11129) 2019-04-08 14:30:22 -05:00
Michael Kuhn
db98f16382 zfp: Add 0.5.4 (#11016) 2019-04-08 09:11:28 +02:00
thelfer
3b5d7bfa99 Add new TFEL' versions (3.0.4, 3.1.4 and 3.2.1). Add new MGIS version (1.0.1). (#11109) 2019-04-08 09:09:14 +02:00
Cameron Smith
0e04410044 kokkos: update cuda conflict (#11110)
see https://github.com/spack/spack/pull/10943#issuecomment-475303870
2019-04-08 08:58:35 +02:00
Levi Baber
6e4b234d13 sra-toolkit new version (#11111) 2019-04-08 08:56:49 +02:00
Satish Balay
d11b1b18f0 netlib-scalapack: fix compatibility with mpi2 i.e openmpi-4 (#11124) 2019-04-07 10:01:54 -05:00
Abhinav Bhatele
ed66ccb6f2 ecp-proxy-apps: update version (#11119) 2019-04-06 15:33:29 -07:00
Scott Wittenburg
3616617804 Allow spack install to take either cdash stamp or track (#11106)
When providing a track, the cdash reporter will format the stamp
itself, as it has always done, and register the build during the
package installation process.  When providing a stamp, it should
first be formatted as cdash expects, and then cdash will be sure
to report results to same build id which was registered manually
elsewhere.
2019-04-06 15:30:34 -07:00
Satish Balay
90c7c74334 hypre: disable variant superlu-dist default (#11097) 2019-04-05 21:11:36 -05:00
Greg Becker
8a17282001 Fix reading externals from old databases (#11118)
* Update Spec.prefix to have special case for 'None' in database path; regression test
* Update in database reader rather than spec
* Change assertion to conditional + raise
* Added test for concrete check in Spec.prefix
2019-04-05 14:58:57 -07:00
Gregory Lee
af3e91926a fixes py-basemap package (#11104)
* fixes py-basemap package
* remove basemap mpl_toolkit __init__.py
2019-04-05 11:27:23 -07:00
Michael Kuhn
320e00276f Fix module_parsing test (#11087)
The module_parsing test checks whether the module function is available
by looking for the string 'not found'. If the user has set a different
locale, the test can assume that the module function is available when
it actually is not.
2019-04-05 11:26:40 -07:00
Patrick Gartung
f1f582714c Set Geant4 cmake module path environment variable in dependents. (#11112) 2019-04-04 13:09:13 -05:00
Marco Comparato
553acbbe3d xcb-util-wm: add m4 build system dependency (#11056) 2019-04-04 13:11:02 +02:00
Abhinav Bhatele
8da6593e43 miniamr: add develop version and update release (#11101)
* miniamr: add develop version and update release

* change from url to git

* add url back
2019-04-03 16:17:04 -06:00
Abhinav Bhatele
5f3620f7ac raja: add newer versions (#11102) 2019-04-03 12:09:45 -06:00
Abhinav Bhatele
b2a2c31883 laghos: update dependencies (#11100) 2019-04-03 11:22:40 -06:00
Abhinav Bhatele
af2d166adf AMG: update version (#11099) 2019-04-03 11:11:06 -06:00
Phil Carns
03bb6500f3 fio package: add optional libaio dependency (#11083) 2019-04-02 18:21:45 -07:00
Neil Flood
c3e5c9981a proj package: add versions 5.2.0 and 5.1.0 (#11079)
* Add versions 5.2.0 and 5.1.0
* Avoid adding version 6.0.0: this version has a new API that is
  not compatible with older versions (and dependents may break with
  it)
* Added comment block explaining the problems with version 6.x
* Replace old datumgrid resource (1.7) with new (1.8)
* Add speculative sqlite dependency for when a 6.x version is added
2019-04-02 18:18:56 -07:00
Elsa Gonsiorowski, PhD
9b5ce67f1e ross package: add version 7.0.1 (#11078)
* add version 7.0.1
* replace md5 with sha256 for various versions.
* v7.0.1 fixes some environment hacking to properly find MPI and
  system architecture
2019-04-02 17:50:41 -07:00
Tim Fuller
a9ae507152 Fix directory layout using namespace (#11076)
Directory layouts using ${NAMESPACE} were broken. This addresses that
and adds a test to prevent regression.
2019-04-02 17:47:57 -07:00
Ryan S. Elliott
3c641f47cd kim-api and openkim-models: version update and rename (#11065) 2019-04-02 17:44:24 -07:00
Jon Rood
0cb08e42f5 Trilinos: Add Tpetra_INST_INT_LONG_LONG to explicit template instantiation (#11060) 2019-04-02 17:38:52 -07:00
Seth R. Johnson
f237c81060 openmpi: Add stub mpirun script for openmpi~legacylaunchers+slurm (#11059)
This adds a stub script for mpirun and other standard executables
when installing OpenMPI with slurm. The purpose is to make the
removal less of a surprise to administrators/users: it explains why
they were removed and how to restore them.
2019-04-02 17:34:25 -07:00
Justin Stanley
3988732ef4 r-hoardr: new package at 0.5.2 (#11051) 2019-04-02 17:28:05 -07:00
Justin Stanley
6500310b08 r-roxygen2 package: added 6.1.1, more dependencies (#11045) 2019-04-02 17:27:04 -07:00
Justin Stanley
f459bba322 r-rhmmer: new package at 0.1.0 (#11050) 2019-04-02 17:25:55 -07:00
Justin Stanley
f5d61f8f58 r-commonmark: new package at 1.7 (#11049) 2019-04-02 17:22:42 -07:00
Justin Stanley
8710203e08 r-pkgload: new package at 1.0.2 (#11047) 2019-04-02 17:21:55 -07:00
Justin Stanley
6ac99f6275 r-desc: new package at 1.2.0 (#11048) 2019-04-02 17:10:24 -07:00
Justin Stanley
e094821a54 r-pkgbuild: new package at 1.0.3 (#11046) 2019-04-02 17:09:59 -07:00
Denis Davydov
ecde4502f2 arpack-ng package: add version 3.7.0 (#11041) 2019-04-02 17:08:16 -07:00
Gregory Lee
8625faefc9 mvapich2 package: add version 2.3.1 (#11037) 2019-04-02 17:07:06 -07:00
Tristan Carel
4793242158 spack repo add: fix error message when `packages' directory is missing (#11031) 2019-04-02 17:05:57 -07:00
Dustin Lagoy
229ed5c228 netcdf-cxx package: set ldflags for hdf5 and netcdf (#11026)
Ensure that netcdf-cxx uses the Spack-installed hdf5 and netcdf4
rather than system-installed versions.
2019-04-02 17:04:09 -07:00
Jon Rood
bc4c372ebd nalu-wind package: require hypre without superlu-dist. (#11022) 2019-04-02 17:02:22 -07:00
Eric Martin
6d6bc8010f picard package: Add version 2.19.0 (#11018) 2019-04-02 17:01:17 -07:00
Matthias Wolf
9fc4489ee1 py-arrow and arrow: add version 0.12.1 (#11004)
Also constrain the py-arrow version to depend on the same version
of arrow (e.g. 0.12.1 of py-arrow depends on 0.12.1 of arrow)
2019-04-02 17:00:04 -07:00
Christoph Junghans
27a72cf7fe branson: fix install (#11093) 2019-04-02 16:44:46 -06:00
Christoph Junghans
81f1bd7732 nut: fix install (#11092) 2019-04-02 16:38:03 -06:00
Christoph Junghans
7a28a61a59 miniqmc: fix install (#11091) 2019-04-02 16:23:37 -06:00
Christoph Junghans
356b5df715 kripke: fix install (#11090) 2019-04-02 16:05:21 -06:00
Christoph Junghans
82be3a4668 hacckernels: fix install (#11089) 2019-04-02 15:58:40 -06:00
Christoph Junghans
4ff3ce494a macsio: fix install (#11088) 2019-04-02 15:58:21 -06:00
Massimiliano Culpo
a1255b61c0 Added tests on compiler's version detection (#10931)
* Split get_compiler_version into two functions:
  get_compiler_version_output runs the compiler with the relevant
  option to print the version; extract_version_from_output determines
  the version by examining this output. This makes it easier to test
  the customized version detection for each compiler. Users can
  customize this by overriding the following:
  * version_argument: this is the argument that tells the compiler to
    print its version. It assumes that the compiler will report its
	version if invoked with a single option (like "--version")
  * version_regex: the regular expression used to extract the version
    from the compiler argument. This assumes that a regular
	expression is sufficient to extract the version, and that the
	version can be extracted from a single capture group (Spack uses
	the first capture group)
  * default_version: allows you to completely override all version
    detection logic
  * get_compiler_version_output: if getting the compiler to report
    its version is more complex than invoking it with a single arg
  * extract_version_from_output: if it is difficult to define a regex
    that can be used to extract the version from the output
* Added tests for version detection of most compilers
* Removed redundant code from xl_r compiler class (by inheriting
  from xl compiler definition)
2019-04-02 12:52:47 -07:00
Vanessasaurus
b08518dadd adding package to install squashfs for singularity (#11077)
* adding package to install squashfs for singularity

* dont need os import

Signed-off-by: Vanessa Sochat <vsochat@stanford.edu>

* updating md5 to sha1 for squashfs package

Signed-off-by: Vanessa Sochat <vsochat@stanford.edu>

* two blank lines

Signed-off-by: Vanessa Sochat <vsochat@stanford.edu>
2019-04-02 12:33:23 -05:00
Gregory Lee
007e168b9e add pkgconfig as dependence for flux packages (#11036) 2019-04-01 18:33:55 +02:00
Nichols A. Romero
0ccc69411b QMCPACK MKL buglet. Now you are able to use the Intel compiler with other BLAS and LAPACK providers, no longer forced to use MKL. (#11019) 2019-03-31 19:31:59 -05:00
Matthias Diener
6034ddfed8 cmake: add version 3.14.1 (#11063) 2019-03-31 19:22:59 -05:00
Satish Balay
4946e1d0a2 petsc: update superlu-dist dependency (#11068) 2019-03-31 12:20:15 -05:00
Satish Balay
7eb734c4d9 slepc: add versions 3.10.2 and 3.11 (#11067) 2019-03-31 12:19:58 -05:00
Satish Balay
650a15436b superlu-dist: add version 6.1.1 (#11066) 2019-03-31 12:19:43 -05:00
Massimiliano Culpo
e3f00750e8 Update llnl.util.lang.memoized so that Sphinx can extract signature (#11055)
Replace the original implementation of the "memoized" decorator with
an implementation that exposes the docstring and arguments of the
wrapped function. This is achieved using functools.wraps.
2019-03-29 17:11:44 -07:00
Denis Davydov
def5b23763 add libs property to IntelMkl and IntelParallelStudio (#10993)
* add libs property to IntelMkl and IntelParallelStudio
* fix scalapack_libs when MPI is provided by intel-parallel-studio
2019-03-29 13:01:43 -07:00
Satish Balay
03d39ed34c petsc: add versions 3.10.5, 3.11.0 (#11058) 2019-03-29 11:54:23 -05:00
Massimiliano Culpo
0a006351c8 Spack can be extended with external commands (#8612)
This provides a mechanism to implement a new Spack command in a
separate directory, and with a small configuration change point Spack
to the new command.

To register the command, the directory must be added to the
"extensions" section of config.yaml. The command directory name must
have the prefix "spack-", and have the following layout:

  spack-X/
    pytest.ini #optional, for testing
    X/
	  cmd/
	    name-of-command1.py
	    name-of-command2.py
	    ...
    tests/ #optional
      conftest.py
	  test_name-of-command1.py
    templates/ #optional jinja templates, if needed

And in config.yaml:

  config:
    extensions:
      - /path/to/spack-X

If the extension includes tests, you can run them via spack by adding
the --extension option, like "spack test --extension=X"
2019-03-28 16:56:36 -07:00
Kelly (KT) Thompson
b2b91a1f00 Random123 - provide a patch to fix compiles with IBM XL (#11028)
* Newer versions of IBM XL no longer define `__xlC__`, but define `__ibmxl__`
  instead.  This one-line patch fixes this problem in Random123.
* This patch was also provided to the Random123 maintiners
  (Random123@DEShawResearch.com). I don't expect a new release from them for a
  while, so I believe that this patch is the correct path forward (for now).
2019-03-28 17:20:28 -05:00
Satish Balay
06e82edf15 hypre: add a modified superlu-dist patch for @:2.14.0 (#11032) 2019-03-28 14:57:51 -05:00
Peter Scheibel
a6511fbafc Consistent patch ordering (#10879)
* preserve the order in which patches are applied by packages (in spite of grouping them by 'when')

* add tests confirming patch order
2019-03-28 11:25:44 -07:00
Peter Scheibel
99f35c3338 spack chain (#8772)
* initial work to make use of an 'upstream' spack installation: this uses the DB of the upstream installation to check if a package is installed

* need to query upstream dbs when adding new record to local db

* prevent reindexing upstream DBs

* set prefix on specs read from DB based on path stored in install record

* check that Spack does not install packages that are recorded as installed in an upstream db

* externals do not add their path to install records - need to use 'external_path' to get path of upstream externals

* views need to check for upstream installations when linking metadata

* package and spec now calculate upstream installation properties on-demand themselves rather than depending on concretization to set these properties up-front. The added tests for upstream installations don't work with this new strategy so they need to be updated

* only refresh modules for local specs (not those in upstream packages); optionally generate local module files for packages installed upstream

* when a user tries to locate a module file for a package installed upstream, tell them to use the upstream spack instance to locate it

* support recursive upstream databases (allow upstream databases to use their own upstream databases)

* separate upstream config into separate file with its own schema; each entry now also includes a name

* metadata_dir is no longer customizable on a per-instance basis for YamlDirectoryLayout

* treat metadata_dir as an instance variable but dont set it from kwargs; this follows several other hardcoded variables which must be consistent between upstream and downstream DBs. Also update DirectoryLayout.metadata_path to work entirely with Spec.prefix, since Spec.prefix is set from the DB when available (so metadata_path was duplicating that logic)
2019-03-27 13:06:46 -07:00
Mario Melara
298a55b28f Replace previous bash command to new one (#7005)
Prevents infinite recursion caused by sourcing `setup-env.sh` in bashrc
2019-03-27 10:26:52 -07:00
Elsa Gonsiorowski, PhD
8a4e762bec libyogrt package: add versions, scheduler support (#10884)
* Add latest libyogrt versions
* Add url_for_version to handle differing url formats for different
  versions
* Add 'scheduler' variant to configure scheduler. Currently only
  slurm can be installed with Spack. A value of 'system' indicates
  to use the scheduler installed on the system
2019-03-27 10:25:31 -07:00
Chris Green
e88c1d585c Move CMakePackage build directory to base stage directory (#8431)
Change the location of the CMake build area from the staged source
directory to the stage base directory.

This change allows CMake packages to refer to the build directory in
setup_environment (e.g. if tests need to have a directory in PATH):
Staging happens after the call to setup_environment(), and if the
stage area does not exist, then spec.stage.source_path returns None.

To accommodate this change, archived files (like config.log for
Autotools packages) are archived relative to the stage base directory
rather than the expanded source directory.

Other packages (those not using CMake) will still use the staged
source directory as the default working directory for builds (and
will still be unable to reference this directory in
setup_environment())
2019-03-26 17:40:49 -05:00
Michael Kuhn
7df70154dd lzo package: add version 2.10 (#11015) 2019-03-26 15:40:48 -05:00
Michael Kuhn
44311da0de c-blosc package: add version 1.16.3 (#11014) 2019-03-26 15:40:24 -05:00
Justin Stanley
35d439b1f7 beast1 package: add version 1.10.4, use url_for_version (#11009) 2019-03-26 15:39:42 -05:00
Gregory Lee
d2bd4f86dd py-netcdf package: add py-cftime dependency (#11005) 2019-03-26 15:39:10 -05:00
Eric Martin
69bd67385c py-xopen: Add version 0.5.0 (#10995) 2019-03-26 15:32:09 -05:00
Mark W. Krentel
675bb23431 intel-xed package: add versions 2019.03.01 and develop (#10987)
Also add conflicts for PPC
2019-03-26 15:31:28 -05:00
ajw1980
e5b86c5527 Retrieve environment-modules prefix based on architecture (#10975)
When multiple instances of environment-modules were installed with
different architectures, Spack was not retrieving the installation
appropriate for the current architecture when finding the module
prefix.
2019-03-26 15:23:17 -05:00
ajw1980
7a4712b90a New package: py-scikit-optimize (#10973) 2019-03-26 15:10:35 -05:00
ajw1980
48a8ee0363 New package: py-pyodbc (#10972) 2019-03-26 15:09:55 -05:00
ajw1980
99a51e7ed1 New package: py-luigi (#10970) 2019-03-26 15:08:20 -05:00
ajw1980
40121eddd9 Py-jupyter package: dependency fixes (#10966)
* py-prompt-toolkit: Add newer version for required for newer
  py-ipython versions
* py-ipykernel:
  * Add newer py-ipykernel version
  * Depend on py-setuptools so a python egg isn't attempted to be
    built
  * Update dependency for newer py-ipykernel versions
* py-jupyter-console: Remove py-prompt-toolkit dependency since it is
  picked up in py-ipython
* py-ipython:
  * Add missing py-backcall dependency
  * Adjust py-prompt-toolkit dependencies for newer versions of
    ipython
* py-jupyter-notebook: Require newer version of py-ipykernel since
  jupyter is broken with previous versions
2019-03-26 15:05:39 -05:00
ajw1980
9437cf88f0 node-js package: Depend on zlib when +zlib (#10965) 2019-03-26 14:43:30 -05:00
ajw1980
994b8afedc py-numba package: Depend on py-setuptools so an egg isn't built (#10964) 2019-03-26 14:42:57 -05:00
ajw1980
4b76602914 py-dateutil package: add version 2.7.5 (#10961) 2019-03-26 14:42:31 -05:00
ajw1980
6a6a51922f py-pytz package: add version 2018.4 (#10959) 2019-03-26 14:41:09 -05:00
Justin M Wozniak
4719bf25dd r-rinside package: add version 0.2.15 (#10949) 2019-03-26 14:37:49 -05:00
Brian Spilner
308a39eca3 ruby package: add version 2.6.2 (#10945) 2019-03-26 14:34:33 -05:00
Andrew Gaspar
1e6da47b4e Kokkos package: pthreads feature and new kokkos versions (#10943) 2019-03-26 14:31:48 -05:00
Seth R. Johnson
844ca31894 Use 'shlex' to split default Executable arguments (#10929)
This allows shell commands for `spack edit` to be executed correctly if
they have quoted arguments.
2019-03-26 14:02:32 -05:00
Chris Green
670ef9bd7c nix package: improve dependencies based on prerequisites from manual. (#10927) 2019-03-26 13:39:40 -05:00
Michael Kuhn
63ddc44db6 ior package: Add patch to fix 3.2.0 with hdf5 (#10923) 2019-03-26 13:36:54 -05:00
fcannini
f08c9aa601 quantum-espresso: Enable EPW installation (#10637) 2019-03-26 13:33:10 -05:00
Chris Green
763549fe7c mysql: Support client-only, cxxstd and more versions (#10911)
* add cxxstd variant
* add CMake constraints based on platform/version
* add older versions
* update boost dependency version constraints (which are closely
  tied to mysql version) and update boost cxxstd choice to be
  the same as the cxxstd chosen for mysql
* add client-only support (including a patch for 5.5.x)
* record the mysql package as a provider of the mysql-client virtual
2019-03-26 13:19:06 -05:00
Chris Green
1bd8c0c460 boost: Fix build of versions < 1.62.0 (#10910)
Improve management of the Fiber library and C++ standard support:

* Remove Fiber from list of libraries to build
* Improve variant management for Fiber; add variants for Context and
  Coroutine libraries.
* Add known conflict with C++17 for boost < 1.63.0
* Remove C++ standard "default" option, which left the choice of
  C++ standard to the compiler used to build boost
2019-03-26 12:50:06 -05:00
Massimiliano Culpo
89b9880719 Add regression marker to pytest.ini (#11011) 2019-03-26 12:04:36 -05:00
Michael Kuhn
8434e7803d lz4: Add 1.8.3 (#11013) 2019-03-26 15:34:25 +01:00
Michael Kuhn
58d186fc00 zstd: Add 1.3.8 (#11012) 2019-03-26 15:33:26 +01:00
Nichols A. Romero
66172f80f3 Fixed some issues with CUDA-Intel compiler conflicts. (#10924)
* Fixed some issues with CUDA-Intel compiler conflicts.

* Comment about expressing CUDA-compiler conflicts.

* More precise conflicts and also add support for Intel 19.0
2019-03-26 15:31:56 +01:00
clellsolomon
31d7df7860 ninja-fortran package: add newer versions (#10921) 2019-03-25 20:38:45 -05:00
bfovet
cc2ff82027 New package: MMG (#10902) 2019-03-25 20:24:40 -05:00
Dustin Lagoy
14acfb65c4 netcdf-cxx package: Add optional netCDF4 support (#10899) 2019-03-25 20:22:15 -05:00
Omar Padron
57523c3f0b explicitly install unzip in all docker images (#10891) 2019-03-25 20:10:42 -05:00
Chris Green
17da285cfb range-v3 package: Add notes, conflicts and doc dependencies. (#10887)
* record conflicts with compiler versions which don't provide
  required c++ standard support
* add doxygen (build) dependency
* add note that range-v3 is header-only as of 0.3.6 and update
  package description
2019-03-25 20:10:01 -05:00
Chris Green
a4bf8de09b gl2ps: add missing dependencies and doc variant. (#10886)
Makes building of documentation optional.
2019-03-25 20:04:33 -05:00
Dustin Lagoy
4c68d2e14e py-netcdf4: avoid using system installs of dependencies (#10885)
Use environment variables to point setup.py to Spack installations
of hdf5/netcdf
2019-03-25 20:03:02 -05:00
Chris Green
c124b1f471 postgresql package: build enhancements. (#10877)
We add new variants to handle readline vs libedit, a client-only
build and install, and bindings to TCL, Python and Perl. We also add
new versions and the ability to detect remote versions not otherwise
dealt with.
2019-03-25 19:51:51 -05:00
simo-tuomisto
6478a32598 New package: elmer-fem (#10860)
Elmer finite element method solver; builds Elmer, ElmerICE and
contributed solvers with MPI support.
2019-03-25 19:47:15 -05:00
Omar Padron
bf03edb51b LLVM package: disable CUDA (#10858)
This avoids using a system-installed CUDA package. In the future a
variant can be added to allow using Spack-installed CUDA, but for
now CUDA support is always disabled.
2019-03-25 19:43:18 -05:00
Brian Van Essen
a88b540723 Conduit package: add option to build with hdf5 versions > 1.8 (#10913)
Added a variant to allow conduit to build with newer versions of
HDF5.  Set the default for the variant to prefer compatibility mode
with HDF5 v1.8
2019-03-25 12:26:30 -05:00
Satish Balay
365c17a3d5 xsdk: enable sundials@4.1.0 for xsdk@develop (#10989)
- disable sundials varaiant for dealii and mfem - as they are incomatible with sundials@4.1.0
2019-03-24 22:17:20 -05:00
Satish Balay
8c165494f2 hypre: add superlu-dist variant (#10985)
- add a patch to fix build error with superlu-dist
2019-03-24 22:16:47 -05:00
Satish Balay
d7e984bcf8 amrex: current @develop - and future releases require cmake@3.13 or higher (#10953) 2019-03-24 22:15:49 -05:00
Navdeep Rana
fb946e51a4 Added a package for chapel. (#11002)
* Added a package for chapel.

* flake8 compliance.
2019-03-24 17:18:19 -05:00
Xavier Delaruelle
95a0e9c693 environment-modules: add version 4.2.3 (#11003) 2019-03-24 17:17:50 -05:00
Denis Davydov
64acce557d petsc: workaround xcode stub-out-of-sync issue (#10999) 2019-03-24 10:38:40 -05:00
Daryl W. Grunau
7081dba9ee Packages/zoltan (#10432)
* serialize the F90 interface build

* serialize the F90 interface build
2019-03-23 13:38:29 +01:00
Stephen McDowell
878b122f45 add ninja v1.9.0 (#10994) 2019-03-22 10:05:14 -05:00
Eric Martin
ec45c22808 netgen: update broken URL (#10882)
* netgen: update broken URL

* netgen: fix url_for_version URL
2019-03-22 10:01:07 -05:00
Michael Kuhn
b6185d4ad7 openfoam-com: Fix flex dependency (#10956)
openfoam-com needs flex's FlexLexer.h, which can only be found if flex
is also a link dependency.
2019-03-22 12:46:53 +01:00
Eric Martin
ba5f37ee26 vdt: Add version 0.4.3 (#10982) 2019-03-22 11:57:30 +01:00
Michael Kuhn
ea227b9974 py-hpccm: New package (#10957) 2019-03-22 11:39:10 +01:00
Eric Martin
1599dce2ae canu: Add versions 1.8 and 1.7 (#10978) 2019-03-22 11:27:36 +01:00
Eric Martin
563e573b13 megahit: Add version 1.1.4 (#10979) 2019-03-22 11:19:28 +01:00
Eric Martin
d9eaad80c3 racon: Add versions 1.3.2 and 1.3.1 (#10980) 2019-03-22 11:19:13 +01:00
Eric Martin
487fa5713c trimgalore: Add versions 0.6.0 and 0.6.1 (#10981) 2019-03-22 11:18:45 +01:00
Eric Martin
46e0ad3269 bowtie: Add missing zlib dependency (#10984) 2019-03-22 11:17:16 +01:00
Matthias Diener
133d4ca9ce gdb: add version 8.2.1 (#10988) 2019-03-22 11:00:28 +01:00
Hadrien G
cc8a086082 ACTS: add version 0.8.2 (#10974) 2019-03-22 10:59:45 +01:00
Denis Davydov
6d971c4493 add ginkgo package, use it in dealii along with symengine (#10917) 2019-03-22 10:58:48 +01:00
Shahzeb Siddiqui
724acb6421 typo in documentation (#10976) 2019-03-21 14:29:40 -05:00
Stephen McDowell
7bc899d9ca add eigen v3.3.7 (#10955) 2019-03-21 12:16:26 -05:00
George Hartzell
aa1e70aab1 Minor commentary correction, TCL -> lmod (#10951) 2019-03-21 11:17:41 +01:00
Stephen McDowell
70e436e932 prevent UnboundLocalError when sourcing files (#10950)
Patch extracted from #7536 courtesy of @mgsternberg
2019-03-21 11:08:29 +01:00
Patrick Schratz
bffe3a605f update R to v3.5.3 (#10928)
* update R to v3.5.3
2019-03-20 13:06:57 -05:00
Michael Kuhn
e02eb3633e mpich: Do not use libfabric@1.7: with ch3 ofi netmod (#10919) 2019-03-20 10:01:39 -07:00
Michael Kuhn
c66a24f22d pkgconf: add 1.6.0 (#10942) 2019-03-20 14:10:11 +01:00
bfovet
81f699eca3 Update GMSH to 4.2.2 with OpenMP variant (#10914) 2019-03-20 05:12:57 +01:00
Patrick Schratz
f51bce5636 saga-gis: new versions up to 7.3.0 (#10922) 2019-03-20 05:03:14 +01:00
Denis Davydov
de3ff1a96b gettext: fix dependency type of xz (#10935) 2019-03-20 04:57:08 +01:00
sknigh
e717230bf8 added yara (#10901) 2019-03-20 04:55:02 +01:00
fcannini
9a8c4cf071 gromacs: make sure cuda support is disabled when cuda=False (#10936)
* abinit: Fix building with hdf5/netcdf.

* gromacs: Fix attempt to build with cuda support when 'cuda=False'

If for some reason there's a cuda toolkit installed by other means,
(i.e. not by spack) cmake will still try to build with cuda support,
even though 'cuda=False' is the default of the spec.

* Revert "abinit: Fix building with hdf5/netcdf."

This reverts commit e16f725e37.

This should not be here.
2019-03-20 04:54:03 +01:00
Michael Kuhn
1db5a3e0a3 libfabric: add 1.6.2 (#10918) 2019-03-20 04:52:50 +01:00
Matthias Diener
d935048982 git: add version 2.21.0 (#10937) 2019-03-20 04:49:47 +01:00
Michael Kuhn
b48a6f22be strace: add 5.0 (#10940) 2019-03-20 04:48:13 +01:00
Michael Kuhn
09d57d8cee libeatmydata: new package (#10941) 2019-03-20 04:47:45 +01:00
Chris Green
9ad02685d9 Fix help text for --no-checksum. (#10932) 2019-03-19 15:02:06 -05:00
Kelly (KT) Thompson
a1eeeadfd8 Branson: provide new versions. (#10926)
* Branson: provide new versions.

+ Also update dependencies (newer version have fewer dependencies).

* fix style issue
2019-03-19 08:49:58 -06:00
Kelly (KT) Thompson
29ce8eb892 Draco: add variants (#10925)
* Draco: add variants

+ This package has many optional build dependencies that were not registered in
  older versions of this recipe.  I've added (and tested) this more complete
  list of optional dependencies: parmetis, superlu-dist, qt.

* fix style issues
2019-03-19 08:49:30 -06:00
Owen Solberg
3618d405b1 added checksum for new bowtie2 version (#10930) 2019-03-19 15:14:25 +01:00
Christoph Junghans
a6ccd99054 cabana: cuda backend (#10660) 2019-03-18 14:02:28 -06:00
Massimiliano Culpo
4aead5e35b redis: new package (#10915)
Added versions from 4.0.11 to 5.0.3

closes #9180
2019-03-16 14:47:11 +01:00
Mark W. Krentel
e811e23f2e hpcviewer: new package (#10878)
* hpcviewer: new package

Add binary package for hpcviewer and hpctraceviewer for the Rice
hpctoolkit on Linux x86_64, ppc64 and ppc64le.

* ibm-java: add property 'home' so that spec['java'].home will work.

* Flake

* More flake.

* Test that the version, machine type pair exists before using it in the
sha dictionaries so that 'spack info' doesn't crash on unsupported
configurations.
2019-03-15 15:47:22 -05:00
Chris Green
6de6d5396c New package: mariadb-c-client (#7729)
* mariadb-c-client is a new package using the distinct, LGPL,
  MySQL-compatible client library from mariadb.com. It provides the
  virtual package mariadb-client
* mariadb is recorded as a provider of the mariadb-client virtual
* The mysql-client virtual package is also added, and mariadb-c-client
  is recorded as a provider for it
2019-03-15 14:12:30 -05:00
Adam J. Stewart
82e3380049 Add latest version and missing dependencies of MySQL (#10904)
* Add latest version and missing dependencies of MySQL

* m4 only needed on solaris
2019-03-15 14:01:54 -05:00
Christoph Junghans
4baf3d9d02 py-espressopp: add v2.0.2 (#10909) 2019-03-15 12:59:23 -05:00
Matthias Diener
dd09ab697b cmake: add version 3.14.0 (#10908) 2019-03-15 11:49:59 -05:00
Adam J. Stewart
cba5a8058e Add ladot package (#10905) 2019-03-15 01:13:25 -05:00
Adam J. Stewart
4e6285a19b Ensure that every package has a description (#10896) 2019-03-14 20:49:07 -05:00
Chris Green
9b51fb09f1 Support VISUAL environment variable for editing. (#10898)
If the user has set the environment variable VISUAL, it will be used
in preference to EDITOR for all Spack editing activities. If VISUAL
is not set or fails (perhaps due to a lack of graphical editing
capabilities),EDITOR will be used instead. We fall back to one of
several common editors if neither bears fruit.

This feature has been tailored to:

* Provide identical behavior to the previous implementation in the
  case that VISUAL is not set.
* Not require any change to code utilizing the editor feature.
* Follow usual UNIX behavior concerning VISUAL and EDITOR.
2019-03-14 16:16:26 -05:00
Jordan Ogas
1d73868333 charliecloud: added version 0.9.8 (#10900) 2019-03-14 20:36:53 +01:00
Chris Green
6a9f02c96f cppunit: support cxxstd. (#10888) 2019-03-14 16:17:31 +01:00
Elizabeth Fischer
f15f3076db libxaw: added version 1.0.12 (#10591) 2019-03-14 12:55:56 +01:00
Levi Baber
a71664a42d py-pybigwig: needs curl at link time (#10892) 2019-03-14 11:07:50 +01:00
Cody Balos
4025ec9508 sundials: add new version (4.1.0) (#10890) 2019-03-14 11:00:22 +01:00
Nichols A. Romero
ec5bf38245 QMCPACK More CUDA Fixes (#10864)
* Throw InstallError if more than one GPU architecture is passed to cuda_arch. Previous cuda_arch test was not actually working because comparison with none string was on the cuda_arch list instead of the first entry of the list.

* Removing redundant cuda_arch statement.
2019-03-13 16:03:28 -05:00
Eric Martin
2bca687605 py-treehash: Create new package (#10872) 2019-03-13 16:03:09 -05:00
Levi Baber
39c40ee3fc revbayes: new version (#10873) 2019-03-13 21:36:13 +01:00
Michael Kuhn
d3365e4356 libplist, libusbmuxd: Fix pkgconfig dependency (#10876)
pkgconfig is the correct virtual provider.
2019-03-13 14:55:23 -05:00
Michael Kuhn
db79317eb9 cubelib, cubew: Add missing pkgconfig dependency (#10875) 2019-03-13 20:15:02 +01:00
Michael Kuhn
3019068e0c mpich: Add patch to fix node list parsing (#10870)
mpich@3.3 introduced a new regex-based function for node list parsing
that does not recognize hostnames without a dash properly.
2019-03-13 10:58:05 -07:00
Eric Martin
358226b946 py-biomine: new package (#10868) 2019-03-13 15:17:06 +01:00
Eric Martin
6a87b6215f help2man: Add version 1.47.8 and perl runtime dependency (#10862) 2019-03-13 15:11:45 +01:00
Eric Martin
7d50567423 py-advancedhtmlparser: new package (#10867) 2019-03-13 15:06:01 +01:00
Eric Martin
ffbc4f199e fqtrim: Create new package (#10861) 2019-03-12 21:30:30 -05:00
David Hows
c629a6f780 Fix mysqldb1 (#9978)
* Update package.py

* Add MYSQL Package file

* Fixes for linter
2019-03-12 20:57:29 -05:00
Elizabeth Fischer
82e9c01b5c New package: py-mysql-connector (#10327)
* New package: py-mysql-connector

* Fixed docstring

* 1. Determined that py-setuptools was not needed at all, so removed.
2. Added py-protobuf.  Docs seem to imply that only C protobuf library is required; however, the Python setup.py says differently, and some Python code seems to reference protobuf too.  I don't know why this worked for me, but it looks like including py-protobuf is the right thing to do.

* Applied solution detailed in:

https://github.com/mysql/mysql-connector-python/pull/9

Uncommenting this patch will make `error: option --single-version-externally-managed not recognized`  reappear.

* Clean up / reorder lines

* flake8
2019-03-12 20:52:43 -05:00
Tristan Carel
c3662492de Do not use string module to be compatible with python 3 (#248) (#10667)
`string.find` is not part of Python 3 anymore.
2019-03-12 20:34:47 -05:00
Eric Martin
3d7164c13f varscan: set VARSCAN_HOME variable to jar file location (#10744) 2019-03-12 20:29:48 -05:00
Eric Martin
0ebd81bd15 py-pytables: Add hdf5 1.10.x support for versions above 3.4.0 (#10746) 2019-03-12 20:29:24 -05:00
David Poliakoff
d5c3ce790f Update caliper package (#10750)
* Updating Caliper package with a shared lib option

* Tightened version bounds on Caliper package

* Removed testing. Loosened version constraints

* Add Caliper 2.0.1, cleanup dependency specs
2019-03-12 20:28:13 -05:00
Justin Stanley
2bea940e43 find_versions_of_archive: expand link search (#10758) 2019-03-12 20:19:46 -05:00
Nick Forrington
6bda37f542 Fix clearing EnvironmentModifications with python2 (#10791)
* Fix clearing EnvironmentModifications with python2

* Add EnvironmentModifications::clear unit test

Use re-assignment rather than del to clear array

* Fix flake issues
2019-03-12 20:12:51 -05:00
Rob Latham
da28b592fc "Werror" too strict for recent compilers (#10802)
rapidjson gives warnings with gcc-7.3 and branch fall through
2019-03-12 20:10:51 -05:00
Michael Kuhn
65f37746af qt: Use more system dependencies and fix build with new gcc versions (#10817)
qt currently falls back to bundled versions of sqlite, harfbuzz, pcre,
double-conversion and xcb. This adds the appropriate dependencies and
configure arguments. A new variant adds multibyte support to pcre and
pcre2, which is required by qt.

Additionally, newer versions of gcc (starting with @8.3.0) cause build
failures. This adds a patch to fix the problem.

The changes have been tested with all versions of qt currently available
in Spack. 5.2 and 5.3 do not build for reasons that seem to be unrelated
to these changes, though.
2019-03-12 20:04:11 -05:00
健美猞猁
a79230c832 casacore does not support fftw+mpi . (#10839) 2019-03-12 19:59:48 -05:00
健美猞猁
d32a342fc6 Aoflagger: a new package. (#10840)
* A new package: aoflagger.

* aoflagger does not support boost>1.66.0 .

* Add fftw~mpi dependency.

* flake8.

* Flake8.

* Update package heder.

* md5 -> sha256.
2019-03-12 19:59:24 -05:00
Axel Huebl
fd6d3f6b8c openPMD-api: shared variant (#10847)
Add a variant to control shared/static builds (one at a time) and
make shared the default.
2019-03-12 19:58:44 -05:00
Alberto Chiusole
46fb6ed5b6 Revert to manual flag enabling, due to RegCM bug in configure. (#10863)
The configure of RegCM treats --disable-FEATURE as --enable-FEATURE,
so we cannot use enable_or_disable.
2019-03-12 19:48:45 -05:00
Owen Solberg
dc5b16a8e9 added checksum for 20190222 release of gnu parallel (#10865) 2019-03-12 19:40:29 -05:00
Eric Martin
50193229ea py-llvmlite: Add versions 0.26.0 and 0.27.1 (#10866) 2019-03-12 19:40:01 -05:00
Mark W. Krentel
3ed6e78338 New package: ibm-java (#10777)
* Add binary package of the IBM Java SDK for big and little-endian
  powerpc (power7, 8 and 9).  The jdk and openjdk packages only install
  on x86_64.
* Add ibm-java as a java provider
* The jdk and openjdk packages only install on x86_64. Add conflicts
  for ppc64 and ppc64le to jdk and openjdk.
2019-03-12 18:05:47 -05:00
wspear
e1e5eb29d2 Elfutils package: add m4 dependency and version 0.176 (#10834)
* Elfutils requires m4 to build
* Add version 0.176
2019-03-12 17:35:59 -05:00
Robert Pavel
1450fe72fa New package: Draco (#10844) 2019-03-11 20:57:00 -05:00
Matthias Diener
5e68af5a78 scons package: add missing dependency to py-setuptools (#10856) 2019-03-11 20:30:12 -05:00
Jiawei Zhuang
74b33e9f82 OpenMPI: v4.0.0 + Slurm installation error (#10853)
shmemrun and oshrun do not exist in OpenMPI v4.0.0
(ref: https://www.open-mpi.org/doc/v4.0/)

The Spack OpenMPI package was failing the install by trying to
remove them. This guards the removal of several scripts when
using the Slurm scheduler to handle the case where they don't exist.
2019-03-11 20:18:50 -05:00
Michael Kuhn
1e6b13d335 Fix URLs for VI-HPS projects (#10821)
URLs for the opari2, otf2, and scorep packages have changed (although
the checksums are the same)
2019-03-11 20:12:44 -05:00
Stas Sergienko
9ffd508d7c mpich: add psm2 fabric support (#10814)
psm2 is only supported for versions 2.2 and up, so a conflict is
added for earlier versions
2019-03-11 20:10:02 -05:00
健美猞猁
888bb76758 New package: cotter (#10838) 2019-03-11 19:46:40 -05:00
Eric Martin
1d51cdf824 STAR: Add versions 2.7.0d and 2.7.0e (#10831) 2019-03-11 19:44:54 -05:00
Eric Martin
23b73ca982 py-chardet: Add version 3.0.2 (#10827) 2019-03-11 19:44:30 -05:00
Eric Martin
2e47b45d9f py-urllib3: Add version 1.21.1 (#10826) 2019-03-11 19:44:07 -05:00
Greg Sjaardema
204063e21a cgns package: add version 3.4.0 and update hdf5 dependency (#10803)
* Add version 3.4.0
* Update checksums for older versions to sha256
* Require hdf5~mpi when building with ~mpi
2019-03-11 19:43:16 -05:00
Eric Martin
dc0b6a0613 samtools package: Add version 1.5 and htslib 1.5 dependency (#10825) 2019-03-11 19:29:29 -05:00
Alberto Chiusole
2b591653fa hdf5 package: add version 1.10.5 (#10794) 2019-03-11 15:15:03 -05:00
Justin Stanley
46466381b8 py-crossmap: new package at 0.3.3 (#10854) 2019-03-11 15:13:02 -05:00
Michael Kuhn
9425075a23 flex: Apply 2.6.4 patch regardless of gcc version (#10841)
It seems that this is actually a glibc problem and while 2.6.4 builds
without the patch on newer versions of gcc (@8:), it still sometimes
segfaults (as observed during the doxygen build).
2019-03-11 15:12:28 -05:00
Ce Qin
43525d3445 mpich: remove libpciaccess dependency for MacOS (#10795) 2019-03-11 15:06:49 -05:00
Shahzeb Siddiqui
d20b5ce2ec format change and typo in doc (#10848) 2019-03-11 13:19:13 -05:00
Massimiliano Culpo
a42fd7f276 Improved detection of Clang versions (#10316)
Fixes #10191

* Add more regular expressions to detect clang versions that were
  not being picked up
* Add a test for parsing versions from the output of Clang (this
  does not run Clang, but rather uses example outputs from Clang)
* Separate Clang version parsing into its own method (to make it
  easier to test)
2019-03-11 13:15:34 -05:00
Gregory Lee
1fd01af773 added intel 19.0.3 packages (#10835)
* added intel 19.0.3 packages

* added intel 19.0.3 packages
2019-03-11 07:03:24 -07:00
Chris Green
1931bc8b40 Add 2019.{3,4} and patches for pedantic warnings. (#10836) 2019-03-11 09:03:19 -05:00
Chris Green
7e22fdfa21 boost: patch for problem with warnings for 1.69.0. (#10820) 2019-03-11 09:02:50 -05:00
Michael Kuhn
a1c91f3c07 Fix find_headers to also look for C++ headers and Fortran modules (#10798)
Currently, only C headers are considered, causing build failures for
packages depending on, e.g., netcdf-fortran and xerces-c. Additionally,
the regex used to look for the include path component did not consider
word boundaries, causing false matches.
2019-03-08 21:06:22 -06:00
Eric Martin
43b45f4140 breseq package: Add version 0.33.2 and zlib dependency (#10747)
For zlib, also update the `CFLAGS`/`LDFLAGS`
2019-03-08 20:57:00 -06:00
Denis Davydov
c81e68030a intel: add 2019.3 (#10843) 2019-03-08 14:50:58 -08:00
Greg Becker
f4d4322a41 Create option to build compilers as needed (#10761)
* Create option to build missing compilers and add them to config before installing packages that use them
* Clean up kwarg passing for do_install, put compiler bootstrapping in separate method
2019-03-07 17:30:48 -08:00
Christoph Junghans
0d07dea2eb snap: overwrite flags (#10832) 2019-03-07 14:53:04 -07:00
Christoph Junghans
c11e745421 cloverleaf3d: overwrite flags (#10830) 2019-03-07 14:08:52 -07:00
Christoph Junghans
2f7589adc4 cloverleaf: overwrite flags (#10829) 2019-03-07 14:08:36 -07:00
Levi Baber
016945f67a autofact: fix dependency (#10818) 2019-03-07 13:51:40 -06:00
Eric Martin
e750c5af66 trimmomatic package: restrict java dependency to version 8 (#10741) 2019-03-07 13:49:57 -06:00
Tristan Carel
dd6e91fcb6 Nix package: update dependencies (#10646)
* Add 'fiber' as a default library for boost
* Add autoconf/automake etc. dependencies to libseccomp package
* New package: brotli
* New package: editline
* Add brotli, editline, boost dependencies to Nix
2019-03-07 13:32:55 -06:00
Matthias Maiterth
23822e9717 GEOPM package: add version 1.0.0-rc2 (#10737) 2019-03-07 13:18:05 -06:00
Eric Martin
d072a1e0e3 py-sip package: Add version 4.19.3 (#10742) 2019-03-07 13:16:54 -06:00
Eric Martin
435db9d1a5 seqtk package: Add version 1.3 (#10743) 2019-03-07 13:16:20 -06:00
Michael Kuhn
3fb75e1206 flex package: patch for building 2.6.4 with gcc 7 (#10754)
Remove 2.6.3 as preferred version (but keep it available for
building). The latest version (currently 2.6.4) is now preferred
(according to Spack's defaults).
2019-03-07 13:15:47 -06:00
Eric Martin
49e307398b py-certifi: Add version 2017.4.17 (#10828) 2019-03-07 13:09:26 -06:00
Michael Kuhn
2fed84058d py-flake8: Add missing dependencies for @3.7.7 (#10796)
* Update dependencies for py-flake8 when building version 3.7.7
* Add FIXME comment for an example dependency constraint which causes
  concretization to hang
* Add py-entrypoints version 0.3
* Add py-pycodestyle version 2.5.0
2019-03-07 12:50:30 -06:00
健美猞猁
42633e34ab CMake package: update libuv dependency constraints (#10824)
* Add libuv version 1.10.0
* CMake versions before 3.12.0 do not build with libuv version
  1.25.0, so a constraint is added to build earlier versions of
  CMake with libuv version 1.10.x
2019-03-07 12:42:24 -06:00
prs513rosewood
32bbffc869 thrust: add versions 1.9.0-1.9.4 (#10823) 2019-03-07 14:36:59 +01:00
Eric Martin
efdeb860d1 transdecoder package: Add version 5.5.0 and fix up url and installation paths (#10745)
* Add version 5.5.0 and fix installation locations
* URL format has changed as of version 5.5.0
* Update paths created for installation
2019-03-06 20:58:50 -06:00
Eric Martin
45856c3660 bsseeker2 package: Add versions 2.1.8 and 2.1.5 (#10748)
As of version 2.1.8, the url format changed, so also update that
2019-03-06 20:55:06 -06:00
Jeongseok Lee
0e22a94f81 Eigen package: support Spack-external builds using Eigen (#10751)
Update CPATH in setup_environment for Eigen, so that the
Spack-generated module for Eigen will help builds outside of Spack
use the appropriate include prefix for Eigen headers 
(<install_prefix>/include/eigen3/ rather than <install_prefix>/include/)
Note that this only updates the run-time environment, rather than the
build-time environment, so Spack builds depending on Eigen that use
pkgconfig will not be confused by the presence of the Eigen include
directory in CPATH.
2019-03-06 20:48:38 -06:00
Matthias Diener
836f40e30f scons: add version 3.0.4, cleanup URLs (#10806) 2019-03-06 20:39:39 -06:00
HAOCHENG LIU
a3a8ed7234 vtk-m package: turn off mpi support by default (#10755) 2019-03-06 20:34:49 -06:00
健美猞猁
9d880b8838 New package: dysco (#10767) 2019-03-06 20:25:06 -06:00
Greg Sjaardema
c19df8be5d NetCDF package: update constraints on hdf5 mpi support (#10788)
Update NetCDF to require building hdf5 without mpi when NetCDF itself
is built without mpi support.
2019-03-06 20:20:16 -06:00
Satish Balay
35daaa440f omega-h: add version 9.22.2 and update gcc 8 conflict (#10776)
* Versions before 9.22.2 compiler with gcc 8.3 or later
* Added version 9.22.2, which compiles with all gcc 8.x versions
  (including those before 8.3)
2019-03-06 20:10:47 -06:00
Adam J. Stewart
f7223e54ed Make is a required dependency of Spack (#10386)
Update documentation on getting started to mention that a "make"
executable is required to build packages with Spack.
2019-03-06 19:46:54 -06:00
Ryan S. Elliott
39467e4d67 Update kim-api package and add openkim-models-v2 (#10780)
* Replace kim-api package with kim-api-v2, which has different
  versions and removes the 'cmake_args' method
* Add openkim-models-v2 as an extension package
2019-03-06 19:23:05 -06:00
Mark W. Krentel
edecdc3ace libelf: move url to fossies.org (#10815)
* libelf: move url to fossies.org

Libelf is no longer maintained and the original mr511.de web site no
longer exists.  The final release, 0.8.13 from Nov 2009 is still
archived at fossies.org.

Fixes #10757.

* Change the homepage to the FSF entry.
2019-03-06 11:42:44 -08:00
Gregory Lee
10b0251af0 added python 2.7.16 (#10805) 2019-03-06 11:05:32 -08:00
Gregory Lee
86a1230a60 build fixes for util-linux (#10811) 2019-03-06 11:04:53 -08:00
Cameron Stanavige
9f734e0cfd unifycr: dependency changes and new version (#10722)
New release of UnifyCR. Remove unsupported pre-1.0 versions

UnifyCR has had a few dependency changes to make the backend more
efficient. A new pre-release version has been released as well to
mark these changes. Prior versions are no longer supported.
2019-03-06 10:56:20 -08:00
Owen Solberg
ff7cd40ca1 update package rsem (#10813) 2019-03-06 14:57:54 +01:00
Isaac Whitfield
1605368148 libusbmuxd: new package (#10726) 2019-03-06 10:10:02 +01:00
健美猞猁
c5573e660c intel-parallel-studio package: add version cluster.2019.2 (#10782) 2019-03-05 18:08:00 -06:00
健美猞猁
40d66e34d3 New package: pal (#10766) 2019-03-05 17:41:54 -06:00
健美猞猁
063f5b63da New package: erfa (#10763) 2019-03-05 17:40:39 -06:00
Greg Sjaardema
4c493b065c NetCDF package: add version 4.6.3 and update naming (#10786)
* Add NetCDF version 4.6.3
* Naming scheme for artifacts >= 4.6.2 has changed. Add a
  url_for_version function to generate the appropriate URLs
2019-03-05 17:33:47 -06:00
clellsolomon
b72715ed7c Add fzf utility package (#10778)
* Add fzf utility package

* Fix "style checks" errors

- var/spack/repos/builtin/packages/fzf/package.py:32:
  [E226] missing whitespace around arithmetic operator
2019-03-05 17:17:48 -06:00
Michael Kuhn
5758e49c80 gcc package: Add 8.3.0 (#10772) 2019-03-05 17:15:57 -06:00
Gregory Lee
7bd8689f06 openss package: allow all 2.7.x versions (#10807)
Originally the version constraint range had an upper bound of 2.7.15
This allows all 2.7.x versions
2019-03-05 17:14:32 -06:00
Alberto Chiusole
63e172d2ac RegCM: intel FC 'hint', 4.7.0 intel warning, fcflags, fix extensions. (#10797)
This should fix and improve #9934, which was messed up by a fetch from develop
2019-03-05 21:30:53 +01:00
Gregory Lee
bad485a221 various package version updates and build fixes (#10775)
* various package version updates and build fixes
2019-03-05 11:59:47 -08:00
Matthias Diener
c939e36ed9 cantera: make sundials dependency optional (#10764) 2019-03-05 19:58:00 +01:00
Michael Kuhn
c717f56359 ncl: Add 6.6.2 (#10800) 2019-03-05 17:13:51 +01:00
Michael Kuhn
21fb7dadb3 openssl: Add 1.1.1b, 1.1.0j and 1.0.2r (#10779) 2019-03-05 16:26:18 +01:00
Matthias Diener
9ba4d4e2af git-lfs: add version 2.7.1 (#10770) 2019-03-05 16:25:20 +01:00
Greg Sjaardema
d580d2a033 seacas: Update NetCDF version requirement (#10787)
Modified NetCDF requirement to allow NetCDF-4.6.2 and subsequent versions.
2019-03-05 14:05:52 +01:00
Justin Stanley
f19a214a19 libbeagle: add 3.1.2 (#10789) 2019-03-05 14:02:52 +01:00
Peter Scheibel
af4a36c4d9 Header subdirectories for Python and Eigen (#10773)
Fixes #10769 

This updates the .headers property to include header subdirectories
for Python and Eigen (as is recommended by these packages).

#10623 updated the default behavior of .headers.directories to
exclude subdirectories (since this can cause clashes with system
headers). This broke some packages which depended on the old behavior
of .headers.directories: for example if you had
<package-prefix>/include/subdir/ex1.h, .headers.directories would
include <package-prefix>/include/subdir.
2019-03-04 12:36:51 -06:00
Brian Van Essen
0ce1500376 Package Updates for ECP CANDLE Supervisor (#10760)
* Add EQ-R package
* Add Fansi, Pillar, UTF8 (R) packages
* Add new versions for py-mdanalysis, r-cli, r-dplyr, r-pkgconfig,
  r-rlang, r-tibble, stc, and turbine packages
* Add hdf5 support for turbine
* Specify configure directory for stc package
2019-03-01 14:46:13 -06:00
Justin Stanley
c8557ba7d8 blast2go: new package at 5.2.5 (#10725)
* blast2go: new package at 5.2.5

* blast2go: remove redundant url
2019-03-01 12:36:00 -06:00
Matthias Diener
ee5e5ce3c6 new package: intel-pin (#10546) 2019-03-01 12:29:01 -06:00
Justin Stanley
1a8161a982 r-bfastspatial: new package at 0.6.2 (#10734) 2019-03-01 10:18:14 -06:00
Justin Stanley
cbc6a2070a r-bfast: new package at 1.5.7 (#10733) 2019-03-01 10:17:37 -06:00
Justin Stanley
94357a274c bedops: avoid static linking with glibc (#10456) 2019-03-01 10:17:01 -06:00
Justin Stanley
165d8da0c2 blast-legacy: new package at 2.2.26 (#10610)
* blast-legacy: new package at 2.2.26

* blast-legacy: compile from source

* blast-legacy: add missing os.symlink import

* blast-legacy: fix build script interpreter
2019-03-01 10:14:37 -06:00
Justin Stanley
f9947333ca bridger: new package at 2014-12-01 (#10611) 2019-03-01 10:09:23 -06:00
Justin Stanley
c4aba6a204 r-spatial: new package at 7.3-11 (#10728) 2019-03-01 09:57:59 -06:00
Justin Stanley
16af5f31d9 r-nortest: new package at 1.0-4 (#10729) 2019-03-01 09:55:30 -06:00
Justin Stanley
4f1044a072 r-xts: add 0.11-2 (#10730) 2019-03-01 09:54:26 -06:00
Justin Stanley
104a8a1422 r-gdalutils: new package at 2.0.1.14 (#10731) 2019-03-01 09:53:30 -06:00
Justin Stanley
0766e7fbbb r-rgdal: add 1.3-9 (#10732) 2019-03-01 09:52:07 -06:00
Justin Stanley
89f59f7ab0 hyphy: new package at 2.3.14 (#10759) 2019-03-01 09:31:46 -06:00
Patrick Gartung
1d4289afdd This fixes a problem where the placeholder path was not in the first rpath entry.
* Rework of buildcache creation and install prefix checking using the functions introduced in
https://github.com/spack/spack/pull/9199

Instead of replacing rpaths with placeholder and then checking strings, make use of the functions
relocate.is_recocatable and relocate.is_file_relocatable to decide if a package needs the allow-root option.

This fixes a problem where the placeholder path was not in the first rpath entry. This was seen in c++ libraries and binaries because the compiler was outside the spack install base path and always appears first in the rpath.

Instead of checking the first rpath entry, all rpaths have the placeholder path and the old install path (if it exists) replaced with the new install path.

* flake8
2019-03-01 07:47:26 -06:00
Jiawei Zhuang
433cc4a972 Fix sha256 sum for IOR (#10765) 2019-03-01 09:59:36 +01:00
Massimiliano Culpo
e3af8ed454 Added a sub-command to show if packages are relocatable (#9199)
* Added the `spack buildcache preview` sub-command

This is similar to `spack spec -I` but highlights which nodes in a DAG
are relocatable and which are not.

spec.tree has been generalized a little to accept a status function,
instead of always showing the install status

The current implementation works only for ELF, and needs to be
generalized to other platforms.

* Added a test to check if an executable is relocatable or not

This test requires a few commands to be present in the environment.
Currently it will run only under python 3.7 (which uses Xenial instead
of Trusty).

* Added tests for the 'buildcache preview' command.

* Fixed codebase after rebase

* Fixed the list of apt addons for Python 3.7 in travis.yaml

* Only check ELF executables and shared libraries. Skip checking virtual or external packages. (#229)

* Fixed flake8 issues

* Add handling for macOS mach binaries (#231)
2019-02-28 15:36:47 -06:00
Sajid Ali
6d20e938da petsc: add +knl variant 2019-02-28 11:07:04 -06:00
Satish Balay
f8da8dbd0e Trilinos: add release 12.14.1 (#10740)
xsdk: switch from 12.14.0-rc1 to 12.14.1
2019-02-28 11:05:05 -06:00
Michael Kuhn
617c1a3706 Fix shell integration with environment-modules@4 (#10736) 2019-02-28 13:22:44 +01:00
Eric Martin
4e80977506 py-tetoolkit: Add version 2.0.3 (#10749) 2019-02-28 12:59:30 +01:00
Owen Solberg
fac2dbda07 git-lfs: patch Makefile for v2.7.0 (#10720)
Fixes #10702

Same fix merged upstream in git-lfs/git-lfs#3545 -- it may appear
in future release v2.7.2 according to package maintainer.
2019-02-27 16:02:25 -06:00
Adam J. Stewart
a25edb51a9 Fix 'make test' detection when LANG is not in English (#10499) 2019-02-27 14:01:50 -06:00
Justin Stanley
2f4f828b45 wtdbg2: new package (#10639)
* wtdbg2: new package at 2.3

* wtdbg2: flake8 fix
2019-02-27 13:27:45 -06:00
Michael Kuhn
b1a04b7699 mpich: Improve package (#10643)
- Add missing pkg-config, libpciaccess and libxml2 dependencies
- Add slurm variant for nodelist parsing
- Add missing configure flag for libfabric
- Unset F90 and F90FLAGS
- Allow selecting different PMI interfaces
2019-02-27 13:13:44 -06:00
Paschalis Korosoglou
ab499a958d otf2 package: fix download URL (#10735) 2019-02-27 12:47:56 -06:00
Gregory Lee
d60106a3f6 Add newer versions for 51 Python packages (#10738) 2019-02-27 12:45:28 -06:00
Massimiliano Culpo
7eec038690 Update environment-modules package (#10717)
The environment modules package has been updated to include 
versions up to 4.0.0. The url of the package and the homepage
have been updated accordingly.

The `spack bootstrap` command now builds version 3.2.10 of
the environment-modules package, and will do until #10708 
is fixed.
2019-02-27 14:00:46 +01:00
Isaac Whitfield
5efff5d2fc new package: libusb (#10682) 2019-02-26 20:52:47 -06:00
Isaac Whitfield
938939b7e4 new package: libtasn1 (#10681) 2019-02-26 20:52:04 -06:00
Nichols A. Romero
d9b7c1faea QMCPACK package: cuda/hdf5 fixes (#10701)
* Make use of new QE multi-valued HDF5 variant interface
* Remove explicit CUDA dependency (which is handled by inheriting
  from CudaPackage)
* Update cuda_arch unset variant check
2019-02-26 20:50:32 -06:00
Satish Balay
c11f598e0b petsc: add version 3.10.4 (#10724) 2019-02-26 20:41:33 -06:00
Justin Stanley
cbecf9f555 new package: phred (#10700)
Part of the software collection introduced in #10529. Developers must
be contacted via email to receive the source code.
2019-02-26 19:14:58 -06:00
Isaac Whitfield
fbdbed1180 new package: libplist (#10680)
Dependency of Google's Flutter toolchain.
2019-02-26 19:12:41 -06:00
Justin Stanley
df4b77f120 libbeagle package: add cuda support (#10650)
libbeagle compiles against CUDA by default but no there is no mention
of it in the package recipe. This PR adds explicit cuda paths and
variants, and fixes the target architecture as well (for those who
don't have compute_13)
2019-02-26 18:50:08 -06:00
Michael Kuhn
0adf1b5405 vampirtrace: patch for new mpich and openmpi versions (#10665) 2019-02-26 18:48:14 -06:00
Phil Tooley
018ae371d6 new package: routino (#10679) 2019-02-26 18:41:44 -06:00
Janne Blomqvist
312122f169 Don't try to build TARGET=PILEDRIVER on aarch64
Piledriver is a codename for an AMD x86-64 processor, it can't
possibly make sense to compile for that if the architecture is
aarch64.
2019-02-26 18:40:39 -06:00
Neil Flood
2831184e41 kealib package: add version 1.4.11 (#10706) 2019-02-26 18:39:27 -06:00
Daryl W. Grunau
ecd98d1953 eospac package: add version 6.4.0 (#10718) 2019-02-26 18:38:52 -06:00
Justin Stanley
ba2ed96513 beast2 package: add version 2.5.2 (#10723) 2019-02-26 18:38:21 -06:00
Nichols A. Romero
5aa6cbf437 Quantum ESPRESSO package: Serial HDF5 Bug Fix (#10689)
Serial HDF5 in serial QE only works in develop version. This adds
a conflict to the QE package to prevent Spack from trying to build
specs which don't satisfy this constraint.
2019-02-26 18:36:50 -06:00
Massimiliano Culpo
42386dbe94 Use Package.headers for -I options (#10623)
This restores the use of Package.headers when computing -I options
for building a package that was added in #8136 and reverted in
#10604. #8136 used utility logic that located all header files in
an installation prefix, and calculated the -I options as the
immediate roots containing those header files.

In some cases, for a package containing a directory structure like

  prefix/
    include/
	  ex1.h
	  subdir/
	    ex2.h

dependents may expect to include ex2.h relative to 'include', and
adding 'prefix/include/subdir' as a -I was causing errors,
in particular if ex2.h has the same name as a system header.

This updates header utility logic to by default return the base
"include" directory when it exists, rather than subdirectories.
It also makes it possible for package implementers to override
Package.headers to return the subdirectory when it is required
(for example with libxml2).
2019-02-26 12:42:30 -06:00
Justin Stanley
ad25e7f3b0 r-vfs: new package at 1.0.2 (#10697) 2019-02-26 12:21:12 -06:00
Justin Stanley
68318ab076 r-nleqslv: new package at 3.3.2 (#10696) 2019-02-26 12:19:48 -06:00
Daniel Topa
c832479c65 Add libhio v1.4.1.3, 1.4.1.1 (#10699)
- Switch all libhio tarball listings to sha256 checksums
- Correct typo in alert message in /lib/spack/spack/util/module_cmd.py: fucntion -> function

https://github.com/hpc/libhio/releases
Released 2019-02-01

Verification builds on LANL Darwin:

**Intel Xeon**
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                40
On-line CPU(s) list:   0-39
Thread(s) per core:    2
Core(s) per socket:    10
Socket(s):             2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 63
Model name:            Intel(R) Xeon(R) CPU E5-2660 v3 @ 2.60GHz
Stepping:              2
CPU MHz:               1198.779
CPU max MHz:           3300.0000
CPU min MHz:           1200.0000
BogoMIPS:              5193.70
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              25600K
NUMA node0 CPU(s):     0-9,20-29
NUMA node1 CPU(s):     10-19,30-39
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts
`
[+] /scratch/users/dantopa/new-spack/strawman.pr.libhio/opt/spack/linux-centos7-x86_64/gcc-4.8.5/libhio-1.4.1.3-s4fnmesfp65trhks5qi3it5p73ssfpsp
[+] /scratch/users/dantopa/new-spack/strawman.pr.libhio/opt/spack/linux-centos7-x86_64/gcc-4.8.5/libhio-1.4.1.2-fkgh5vqpijvwqywffmokgmsglqxwfrtl
`

**Arm**
Architecture:          aarch64
Byte Order:            Little Endian
CPU(s):                256
On-line CPU(s) list:   0-255
Thread(s) per core:    4
Core(s) per socket:    32
Socket(s):             2
NUMA node(s):          2
Model:                 0
BogoMIPS:              400.00
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              32768K
NUMA node0 CPU(s):     0-127
NUMA node1 CPU(s):     128-255
Flags:                 fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics cpuid asimdrdm
`
[+] /scratch/users/dantopa/new-spack/strawman.pr.libhio/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/libhio-1.4.1.3-q6nnwiy6bi7ktnghdsngwamom23zpmgy
[+] /scratch/users/dantopa/new-spack/strawman.pr.libhio/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/libhio-1.4.1.2-y6nwovff3qbdy242zc4x2toloz6xpcvm
`

2019-02-25

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-02-26 09:56:20 +01:00
Adam J. Stewart
a75a6ee1b7 Add /hash to spack help --spec (#10691)
* Add /hash to spack help --spec
* Make /hash gray, add ^/hash
2019-02-25 16:20:28 -08:00
Stephen Hudson
7c38dc06dc libEnsemble package: add v0.4.1 (#10688)
Also add v0.4.0 and remove version lower bound on petsc4py
2019-02-25 14:37:51 -06:00
Michael Kuhn
385d108b5d slurm: Add PMI support (#10683)
- Add support for pmix (optional)
- Install pmi2 header and library
2019-02-25 13:05:31 -06:00
Elsa Gonsiorowski, PhD
d85a0bae8f mpiFileUtils v0.9 (#10676)
* working on updating to cmake

* generic package, any ver of cmake

* install for autotools or cmake
2019-02-25 09:24:52 -08:00
Hadrien G
236180c109 ACTS: new package (#10600) 2019-02-25 11:11:01 +01:00
Sinan
691a2f4b71 py-unicycler: new package (#7727) 2019-02-25 09:44:05 +01:00
Denis Davydov
2851b3f57c dealii: fix default of cuda_arch (#10690) 2019-02-24 08:53:13 +01:00
Adam J. Stewart
b43e8fcaa7 Python: optional dependencies and post-installation tests (#10335)
* Add post-installation tests to Python package

* libbsd does not build on macOS

* Make Python dependencies optional

* Add readline dep, remove ncurses patch, fix autoreconf
2019-02-23 12:36:26 -06:00
Justin Stanley
68af6148d1 beast-tracer: new package at 1.7.1 (#10652) 2019-02-22 19:22:30 -06:00
Levi Baber
0e7b19adf4 stacks package: add version 2.3b (#10653) 2019-02-22 19:16:44 -06:00
Brian Spilner
ba70d6e706 cdo package: add version 1.9.6 (#10654) 2019-02-22 18:38:35 -06:00
Geoffrey Oxberry
219c17a340 automake package: add version 1.13.4 (#10662)
Also replace MD5 hashes with SHA256 hashes for older versions
2019-02-22 18:38:00 -06:00
Eric Martin
49f56cb49c gmap-gsnap package: Add version 2019-02-15 (#10677) 2019-02-22 18:36:40 -06:00
Axel Huebl
7bd960ba86 ADIOS package: add version 2.3.1 (#10666)
Update older md5 checksums to sha256. Require CMake >= 3.6.0 (updated
from 3.5.0). Remove some third-party depends_on statements (which
were commented out before).
2019-02-22 18:36:04 -06:00
Hadrien G
510a28d156 Gaudi package: new version + xenv bugfix (#10668)
Extract implicit xenv dependency into a new package and add it as an
explicit dependency. Update Gaudi to explicitly depend on older
versions of xenv rather than the latest develop because that
conflicts with Spack's compiler wrappers.
2019-02-21 19:04:03 -06:00
cedricchevalier19
3b10e450d2 mono package: add new versions (#10670) 2019-02-21 18:52:30 -06:00
Daniel Topa
e230b0a00f UCX package: add version 1.5.0 (#10678) 2019-02-21 18:22:32 -06:00
Peter Scheibel
98f1c9a291 CPATH warning: downgrade to debug message (#10675)
Spack warns users when a dependency package updates CPATH. This
warning message is generating bug reports and alarm in cases where
there is no problem. For now this downgrades the warning message to
the debug level, so it only shows up if something goes wrong for the
user and they ask for more information from Spack.
2019-02-21 17:26:38 -06:00
Daryl W. Grunau
4f5be841d4 gcc package: skip nvptx_install for gcc~nvptx (#10672)
The nvptx installation support phase (added in 040b658) was always
running for gcc regardless of whether +nvptx was enabled. This
removes the "@when" syntax (which apparently is not working) and
adds a check inside of the "nvptx_install" function to bail out if
+nvptx is not enabled.
2019-02-21 15:43:29 -06:00
Scott Wittenburg
5600c9f0d9 release workflow: Add build scripts for jobs and means to upload pkgs 2019-02-21 15:37:35 -06:00
Scott Wittenburg
a6e8e889b2 release workflow: Add spack command for generating the .gitlab-ci.yml
This spack command adds a new schema for a file which describes the
builder containers available, along with the compilers availabe on
each builder.  The release-jobs command then generates the .gitlab-ci.yml
file by first expanding the release spec set, concretizing each spec
(in an appropriate docker container if --this-machine-only argument is
not provided on command line), and then combining and staging all the
concrete specs as jobs to be run by gitlab.
2019-02-21 15:37:35 -06:00
Scott Wittenburg
05cdb5a0bb docker: Add Dockerfiles for images needed by AWS gitlab-runners
The built images are set up with fairly recent versions of gcc and
clang:

  - centos_7:     [ gcc@5.5.0 (built from src), clang@6.0.0 (spack-built from src) ]
  - ubuntu_18.04: [ gcc@5.5.0 (system), clang@6.0.0-1ubuntu2 (system) ]
2019-02-21 15:37:35 -06:00
Scott Wittenburg
fce1c4133f buildcache: Add sub-commands needed by release workflow
Adds four new sub-commands to the buildcache command:

1. save-yaml: Takes a root spec and a list of dependent spec names,
along with a directory in which to save yaml files, and writes out
the full spec.yaml for each of the dependent specs.  This only needs
to concretize the root spec once, then indexes it with the names of
the dependent specs.

2. check: Checks a spec (via either an abstract spec or via a full
spec.yaml) against remote mirror to see if it needs to be rebuilt.
Comparies full_hash stored on remote mirror with full_hash computed
locally to determine whether spec needs to be rebuilt.  Can also
generate list of specs to check against remote mirror by expanding
the set of release specs expressed in etc/spack/defaults/release.yaml.

3. get-buildcache-name: Makes it possible to attempt to read directly
the spec.yaml file on a remote or local mirror by providing the path
where the file should live based on concretizing the spec.

4. download: Downloads all buildcache files associated with a spec
on a remote mirror, including any .spack, .spec, and .cdashid files
that might exist.  Puts the files into the local path provided on
the command line, and organizes them in the same hierarchy found on
the remote mirror

This commit also refactors lib/spack/spack/util/web.py to expose
functionality allowing other modules to read data from a url.
2019-02-21 15:37:35 -06:00
Todd Gamblin
be4b95ee30 add CombinatorialSpecSet class for taking cross-products of Specs.
- add CombinatorialSpecSet in spack.util.spec_set module.
  - class is iterable and encaspulated YAML parsing and validation.

- Adjust YAML format to be more generic
  - YAML spec-set format now has a `matrix` section, which can contain
    multiple lists of specs, generated different ways. Including:
    - specs: a raw list of specs.
    - packages: a list of package names and versions
    - compilers: a list of compiler names and versions

  - All of the elements of `matrix` are dimensions for the build matrix;
    we take the cartesian product of these lists of specs to generate a
    build matrix.  This means we can add things like [^mpich, ^openmpi]
    to get builds with different MPI versions.  It also means we can
    multiply the build matrix out with lots of different parameters.

- Add a schema format for spec-sets
2019-02-21 15:37:35 -06:00
Jordan Ogas
ad8036e5a2 add charliecloud 0.9.7 (#10661) 2019-02-21 09:58:37 +01:00
Levi Baber
040b65876b gcc: add nvptx offload capability (#9406)
Add optional support for Nvidia PTX
2019-02-20 20:52:15 -06:00
Adam J. Stewart
af8d84197d Download GNU packages from mirrors (Part 2) (#10555) 2019-02-20 09:08:42 -06:00
Massimiliano Culpo
0a252eccc4 uvw: new package (#10645) 2019-02-20 13:53:07 +01:00
Ben Morgan
fb6a2b5cab xxhash: edit prefix in Makefile for macOS (#10606)
On macOS, the build of libxxhash is performed by a bare `make`
launched by `MakePackage`s default `build` phase. As `prefix`
is not set at this point, the library gets compiled with a hard-coded
install name of `/usr/local/libxxhash.dylib`. Downstream clients,
in the tested case Root, will then fail to build as the install name
is incorrect.

Move setting of `prefix` from `install` to `edit` so that it
propagates to subsequent `build` and `install` phases.
2019-02-20 10:55:09 +01:00
Isaac Whitfield
286da7f47b new package: libyaml (#10634) 2019-02-19 12:45:31 -06:00
Nichols A. Romero
7dd5bdcfa4 Quantum ESPRESSO: HDF5 update (#10607)
* QE hdf5 is now a multi-valued variant. Update conflicts accordingly.

* Update dependencies for hdf5 multi-valued variant. Bug fix:  high-level hdf5 library needs to be a hard dependecy.

* Support for HDF5 serial interface. Note that this is not supported in QE autoconf, but will be fixed in the next official release.
2019-02-19 17:07:27 +01:00
Tristan Carel
efc3406900 nix: new package added (#9171) 2019-02-19 15:27:39 +01:00
Rob Latham
2242b9f338 update IOR package (#10595)
- new GitHub home
- new 3.2 release
2019-02-19 12:10:17 +01:00
Andreas Baumbach
66bfad8d44 cquery: new package (#10636) 2019-02-19 11:30:41 +01:00
Andreas Baumbach
9e3d92692d connect-proxy: new package (#10635) 2019-02-19 11:30:09 +01:00
Michael Kuhn
bcee3efecd mvapich2: Improve package (#10642)
- Add support for nemesis:ofi netmod
- Add missing pkg-config and libxml2 dependencies
2019-02-19 11:02:02 +01:00
Elizabeth Fischer
ec4da14e2c Add comments and version (#10592) 2019-02-18 21:48:01 -06:00
Matthias Diener
aabd2be31a git-lfs: add version 2.7.0 (#10631) 2019-02-18 08:59:11 +01:00
Axel Huebl
899c83c215 openPMD-api: mpi4py support (#10616)
Refactor dependencies, increase new min versions, add
mpi4py variant.
2019-02-18 08:54:27 +01:00
Axel Huebl
e5dc5c173e NLohmann-JSON: v3.5.0 (#10615)
Add the latest bugfix release.
2019-02-18 08:53:50 +01:00
Axel Huebl
a4f9501a56 Catch2: v2.6.1 (#10613)
add the lastest bugfix release of Catch2
2019-02-18 08:53:33 +01:00
Nichols A. Romero
05269ad392 Update CUDA support in QMCPACK (#10587)
* Support in QMCPACK for CUDA_ARCH flag.

* No need to have explicit CUDA variant anymore.

* Internal QMCPACK CMake assumes a minimum GPU architecture if none is provided.
2019-02-17 08:17:58 -05:00
Hadrien G
a93581e8de Fix plural typo in ROOT package (#10614) 2019-02-16 21:22:23 +01:00
Omar Padron
67415a1875 [Docker] more base images (#10560)
* Revert "work around an issue with docker/dockerhub (#10547)"

This reverts commit 0ef139ac4d.

* Add more docker base image configurations.

 - Renamed configs

   - "centos" -> "centos-7"
   - "fedora" -> "fedora-24"
   - "opensuse" -> "opensuse-tumbleweed"
   - "scilinux" -> "scilinux-7"
   - "ubuntu" -> "ubuntu-1804"

 - Added configs

   - "centos-6"
   - "fedora-29"
   - "opensuse-leap"
   - "scilinux-6"
   - "ubuntu-1604"

With these changes, our docker hub image
collection will consist of the following:

 - "spack/archlinux"
   - "latest"
 - "spack/centos"
   - "latest", "centos7", "7"
   - "centos6", "6"
 - "spack/fedora"
   - "latest", "29"
   - "24"
 - "spack/opensuse"
   - "latest", "tumbleweed"
   - "leap"
 - "spack/scilinux"
   - "latest", "7"
   - "6"
 - "spack/ubuntu"
   - "latest", "bionic", "18.04"
   - "xenial", "16.04"
2019-02-16 10:20:25 -05:00
Peter Scheibel
32ba471816 Dependency libs: filter system paths and always add lib dir (#10622)
Fixes #10617
Fixes #10624
Closes: #10619

#8136 dependended entirely on spec.libs to retrieve library directories
from dependencies. By default this function only retrieves libraries if
their name is something like lib<package> (e.g. "libfoo.so" for a
package called "Foo"). This unconditionally adds lib/lib64 directories
for each dependency as link/rpath directories. 

This also filters system paths from link/rpaths/include directories and
removes duplicated paths that #8136 could add.
2019-02-15 17:21:35 -06:00
Javier Cervantes
9b1690641b Fix bug getting specs from build caches (#9600) 2019-02-15 13:33:49 -06:00
Scott Wittenburg
75487dca44 CDash: allow installing from spec.yaml (#10565)
If the -f <specyamlfile> argument to install is used (rather than
providing package specs on the command line), CDash throws an exception
due to missing the installation command (the packages targeted for
install).  This fixes that behavior so CDash reporting succeeds in
either case.
2019-02-14 17:43:53 -06:00
Cameron Smith
a06bf21610 new variant: simmodsuite for pumi (#8775) 2019-02-14 21:36:56 +01:00
Massimiliano Culpo
1ec0d4feb3 Removed pkg.headers.directories from the include list (#10604)
fixes #10601

Due to a bug this attribute is wrong for packages that use directories
as namespaces. For instance it will add "<boost-prefix>/include/boost"
instead of "<boost-prefix>/include" to the include path.

As a minor addition a few loops in the compiler wrappers have been
simplified.
2019-02-14 08:35:41 -08:00
Massimiliano Culpo
b3dd95bd62 cp2k is now a MakefilePackage (#10570)
* cp2k: archive the Makefile after a successful installation

* cp2k: all checksums are now sha256

* libint: all checksums are now sha256 + added versions 2.4.X

* libxc: all checksums are now sha256 + added version 4.3.2

* cp2k: os.path.join instead of join_path + simplified openmp flags

* cp2k: turned into a MakefilePackage

* cp2k: refactored edit method so that Makefile writing happens last
2019-02-14 07:11:20 +01:00
Chris Green
051c66335f pythia6: fix input verification issue and example data checksum. (#10563)
* pythia6: fix issue validating integer input.

* pythia6: account for apparent update of example data file.
2019-02-13 23:17:46 -06:00
Chris Green
24d7f0f0af xrootd: allow specification of C++ standard. (#10577)
* xrootd: add cxxstd variant.

* xrootd: support for recent and upcoming versions.
2019-02-13 23:17:10 -06:00
Ben Morgan
7e8b8d61a1 icu4c: Add cxxstd variant (#10552)
* icu4c: Add cxxstd variant

For versions supported in Spack, ICU4C defaults to the C++11.
Provide a variant to default to this, plus options for C++14
and 17 if dependees require for ABI compatibility.

* icu4c: cxxstd variant cannot be multi
2019-02-13 23:05:39 -06:00
Hadrien G
6e95e06bda Add Gaudi and RELAX packages (#9194)
* Add a RELAX package

* Add a Gaudi package
2019-02-13 23:04:38 -06:00
Hadrien G
54f94e5828 Add a DD4hep package (#9208) 2019-02-13 22:58:27 -06:00
Hadrien G
0e0e7d4137 Add new ROOT release, move to SHA-256 checksums (#10583) 2019-02-13 22:54:45 -06:00
Patrick Gartung
0748a32b2d Updated Geant4 and dependencies clhep and vecgeom to use cxxstd= variant (#10518)
* Updated Geant4 and dependencies clhep and vecgeom to use cxxstd= variant so that it is applied consistently.

* Make standalone geant4 data packages that are used when data is not installed with geant4. This allows installing the data files are externals that can be common to many compiler version.

* move geant4 data package dependencies to umbrella package geant4-data
2019-02-13 22:51:26 -06:00
Phil Carns
6971f8ae32 make SPACK_SHELL detection more robust (#9712)
Spack shell detection in setup-env.sh was originally based on
examining the executable name of $$ (from "ps"). In some cases this
does not actually give the name of the shell used, for example when
setup-env.sh was invoked from a script using "#!". To make shell
detection more robust, this adds a preliminary check for shell
variables which indicate that the shell is bash or zsh; the
executable name of $$ is retained as a fallback if those variables
are not defined.
2019-02-13 19:52:18 -06:00
Peter Scheibel
8ca384875e Dynamic library/include paths (#8136)
Fixes #7855
Closes #8070
Closes #2645

When searching for library directories (e.g. to add "-L" arguments to
the compiler wrapper) Spack was only trying the "lib/" and "lib64/"
directories for each dependency install prefix; this missed cases
where packages would install libraries to subdirectories and also was
not customizable. This PR makes use of the ".headers" and ".libs"
properties for more-advanced location of header/library directories.
Since packages can override the default behavior of ".headers" and
".libs", it also allows package writers to customize.

The following environment variables which used to be set by Spack
for a package build have been removed:

* Remove SPACK_PREFIX and SPACK_DEPENDENCIES environment variables as
  they are no-longer used
* Remove SPACK_INSTALL environment variable: it was not used before
  this PR
2019-02-13 17:38:14 -06:00
Peter Doak
1bf86292e1 add latest version of pixman (#10580) 2019-02-13 21:26:51 +01:00
Hadrien G
9374adb455 Eigen package: deactivate some dependencies (#10572)
Set defaults in eigen package to omit typically-unused dependencies
2019-02-13 13:33:01 -06:00
Brian Van Essen
406a242847 Update lbann sw stack dependencies (#10579)
* Added a package for the MDAnalysis toolkit.

* Updated LBANN, Hydrogen, and Aluminum to not require CUDA-aware MPI
even when using CUDA.  Fixed small bugs within both LBANN and Hydrogen
packages.  Added requirements for breathe and cereal to LBANN.

* Update use case for doc dependencies.

* Cleaning up some of the LBANN software stack dependencies.
2019-02-13 11:19:15 -08:00
abernede
89727ba4e7 Bug Fix in permission setter (#10584)
* fix permission setter

Fix a typo in islink test when applied to files.

* os.walk explicitly set not to follow links

The algorithm strongly rely on not following links.
2019-02-13 11:18:36 -08:00
sknigh
a76c50d1ee Allow tty output to be timestamped (#10554)
* Spack debug output now includes microsecond-granularity timestamps.
* Timestamps can also be enabled with the `--timestamp` command line argument.
2019-02-13 10:14:35 -08:00
健美猞猁
2202579685 Cnvnator: a new package. (#8959) 2019-02-13 11:15:00 +01:00
Matthias Wolf
861dd06bd1 enh: allow time like HH:MM in date strings. (#10034) 2019-02-13 11:05:00 +01:00
George Hartzell
f65a1155e1 Enhancement to module autoload documentation (#10310)
* Note that `none` is the default for lmod autoload

Save a bit of confusion by *explicitly* pointing out that `none` is
the default value for autoload in the lmod module file generator.

* Add a tip re building software externally

Add a tip about using `autoload: all` when building packages outside
of the tree that use artifacts (e.g. libraries, includes) within the
tree.
2019-02-12 22:02:13 +01:00
Chris Green
05f565356f Allow secondary generators when building with CMake. (#9324)
CMake supports the notion of secondary generators which provide extra
information to (e.g.) IDEs over and above that normally provided by
the primary generator. Spack only supports the 'Unix Makefiles' and
'Ninja' primary generators but was not parsing out the primary
generator when a secondary generator was also included (e.g. for
a generator attribute like 'Codeblocks - Ninja'). This adds a regex
for extracting the primary generator for validation.

Since the secondary generator is irrelevant to a Spack build, it is
passed on to CMake without further validation.
2019-02-12 12:39:19 -06:00
健美猞猁
f9c27f52bd casacore: new package (#7471) 2019-02-12 17:22:48 +01:00
Ben Morgan
8fd4e9a9fa xerces-c: Add cxxstd variant (#10561)
Add variant to support compiling against main C++ standards if needed
for ABI compatibility. Use 'default' value as Xerces-C autoconf system
does not enforce a minimum, or set a default, C++ standard.
2019-02-12 09:40:59 +01:00
Brian Van Essen
dc12ca5c76 lbann: updated versions (#10568) 2019-02-12 09:05:32 +01:00
Matthias Diener
068eefb4f5 remove remaining lzma dependencies (#10553) 2019-02-12 09:03:50 +01:00
Matthias Diener
6e38423d1c openssl: add version 1.1.1a (#10562) 2019-02-12 08:58:50 +01:00
Omar Padron
0ef139ac4d work around an issue with docker/dockerhub (#10547)
* try to workaround an issue with docker/dockerhub
* apply workaround only when running in travis
2019-02-08 16:39:40 -08:00
Javier Cervantes
36ebd7462c root package major update (#8428)
* Extend current recipe for root package
* Add removed old version
* Add dependency type for Python and R packages
* Add compiler variants
* Adding new root version: 6.14.00
* Add back the minimum cmake version required
* LZ4 and xxhash support for old (using builtin options) and new versions (external packages)
* Set PYTHONPATH in setup_environment
* Address typos and issues pointed by HadrienG2
* Add newer ROOT versions
* Solve support for asimage
* Define incompatible variants
* Organize old dependencies
* Add support for minuit
* Add support for pythia6
* Remove unneeded list_url
* Update license header
* Remove block of commented old dependencies
* Contrain Qt version
* Comment pythia8 variant/dependency, not supported by spack
* Force not to build pythia8
2019-02-08 09:17:07 -08:00
Matthias Diener
ff67009161 libarchive: remove lzma dependency (#10517)
lzma was last updated in 2008 and has compilation
issues on some platforms. The format has been superceded
by xz (see e.g. https://tukaani.org/xz/).
2019-02-08 16:33:13 +01:00
Denis Davydov
5623ac3d6b CudaPackage: fix wrong version range (#10551) 2019-02-08 16:32:43 +01:00
Robert Blake
a55fc5b963 Adding a package for cardioid. (#10448)
* Adding a package for cardioid.

* Changing package to pass flake8

* Removing template leftovers per @ax3l 's advice

* Adding a homepage so tests pass.

* Removing whitespace for flake8

* Changing the name of master branch to match spack standards.
2019-02-08 11:17:26 +01:00
Michael Kuhn
84bc2a4215 meson: add 0.49.1 and disable rpath stripping (#10463)
rpath stripping breaks (at least) the gtkplus build because at-spi2-atk's
dependencies can not be found.
2019-02-08 11:15:49 +01:00
Peter Scheibel
d8746d596e bug report template: suggest --stacktrace instead of -s (#10548)
1137b18 removed the -s option from spack such that to see a stack
trace you must pass the --stacktrace option. The bug report templates
were not updated accordingly.
2019-02-07 21:06:57 -06:00
Piotr Luszczek
f093515002 netlib-scalapack package: add CMake test patch (#10452)
Add patch to fix Fortran mangling in CMake test

This is a fix for builds with GCC 6/7/8 and CMake 2/3. It includes
a link to the issue where this is reported. For now, the Spack
package applies the patch to all releases >= 2.0.2
2019-02-07 20:58:27 -06:00
Justin Stanley
ec6de8326e repeatmasker package: add variant for cross_match engine (#10534) 2019-02-07 16:53:30 -06:00
wspear
76feb0205d New package: py-jupyterhub (#10461)
This package depends on both python 3.5+ and node-js which depends on
python 2.7/2.8 to build. Currently it can only be installed if the
node-js package's python dependency is manually removed, so node-js
will build with python found on the system rather than provided by
spack. Upcoming commits may allow spack to reconcile this
automatically.
2019-02-07 16:47:46 -06:00
Justin Stanley
ef89ae03bc mirdeep2 package: make sure bins are executable (#10515) 2019-02-07 13:05:19 -06:00
mathsen
570af0c313 Trilinos package: update superlu-dist dependency (#10511)
Trilinos master branch gets the latest superlu-dist (currently 6.1.0)
2019-02-07 12:58:45 -06:00
Massimiliano Culpo
58f1dc037a log-parse: fix error message when no error lines are found (#10543) 2019-02-07 12:19:19 -06:00
Satish Balay
b8684b318c petsc: petscvariables is used from user makefiles - so it should not have spack compilers listed (#10365) 2019-02-07 09:09:23 -06:00
Satish Balay
1d71a5ea57 petsc4py and libensemble: add @develop dependencies (#10539)
* py-petsc4py: add @develop

* py-libensemble: add @develop dependency on py-petsc4py@develop
2019-02-07 09:06:31 -06:00
Satish Balay
0ad1b2a2c8 petsc@xsdk-0.2.0: fix sowing dependency (#10535) 2019-02-07 09:05:43 -06:00
Satish Balay
753fec39ae xsdk@develop fixes (#10521)
* xsdk@develop: switch trilinos from @master to @develop

* xsdk@develop: dtk - fix trilinos dependency on dtk.
 - dkt-3.0 should be used with trilinos-12.4*
 - dtk/master should be used with trilinos@develop
2019-02-07 09:05:14 -06:00
Justin Stanley
09a884322f orthofiller: new package at 1.1.4 (#10373) 2019-02-07 10:22:36 +01:00
Gregory Lee
f0cb4580d1 fixed checksum (#10393) 2019-02-07 10:20:45 +01:00
Levi Baber
af7f1bb3ca new package: perl logger simple (#10509) 2019-02-07 10:19:07 +01:00
Levi Baber
07b5a6a512 perl-file-homedir: new package (#10533) 2019-02-07 10:09:20 +01:00
Levi Baber
4679c11098 py-biopython: new version (#10532) 2019-02-07 10:08:45 +01:00
Matthias Diener
d4d402586c cmake: add version 3.13.4 (#10538) 2019-02-07 09:15:32 +01:00
Justin Stanley
401d305f4e phrap-crossmatch-swat: new package at 1.090518 (#10529) 2019-02-06 19:13:44 -06:00
Mario Melara
5bc71f07dd Add x86_64 as target to cray platform (#10369)
Add x86_64 as a target for the Cray platform, and also designate it
as the default front_end target.
2019-02-06 17:49:00 -06:00
Owen Solberg
cdbaf8dfc5 mafft package: add version 7.407 (#10488) 2019-02-06 13:55:16 -06:00
Matthias Diener
6dbc1afe45 jdk package: add version 1.8.0_202 (#10536) 2019-02-06 13:54:02 -06:00
Levi Baber
0cf0fd47c8 New package: perl-object-insideout (#10508) 2019-02-06 13:53:33 -06:00
Matthias Wolf
5281403fb2 fmt package: fix cmake arguments (#10500) 2019-02-06 13:52:49 -06:00
Stephen Herbein
b028e99cac py-black: add new package 2019-02-06 13:50:04 -06:00
Stephen Herbein
4e92974ed1 py-toml: add latest version and update checksums to sha256
A version >= 0.9.4 required for py-black.  Added latest, which is
0.10.0.  Manually verified that the .tar.gz for v0.9.3 used to generate
the sha256 matched the previous md5.
2019-02-06 13:50:04 -06:00
Matthias Diener
bdabdb85ed curl package: add version 7.63.0 (#10516) 2019-02-06 13:48:36 -06:00
Douglas Duckworth
d053eac538 py-multiqc: add version 1.7 (#10520)
Added sha256 for py-multiqc as well as require py-matplotlib < v 3.0
2019-02-06 13:47:59 -06:00
Levi Baber
1a34bebe79 genemark et package: add version 4.38 (#10519)
Also add heu_dir to bin/
2019-02-06 13:46:35 -06:00
Jon Rood
11c52c3bf7 Paraview package: update PYTHONPATH for dependents (#10501)
Add vtkmodules directory to PYTHONPATH in Paraview for Trilinos
2019-02-06 12:45:14 -06:00
Daniel Topa
d9d75635c7 Add Python 3.7.2 updated (#10531)
Also add versions 3.7.1, 3.6.8, 3.6.7, 3.6.6. Does NOT alter preferred version (2.7.15).

Supplants PR 10491 "Add Python 3.7.2" (https://github.com/spack/spack/pull/10491).

Verification builds on LANL Darwin:

**Intel Xeon**
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/general/opt/spack/linux-centos7-x86_64/gcc-4.8.5/python-3.7.2-d3p7vg6w2r563cpmwsmbgjbsiqc4j4fq
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/general/opt/spack/linux-centos7-x86_64/gcc-4.8.5/python-3.7.1-ibom6qj2z64egyaqz5htkwp5tr362il6
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/general/opt/spack/linux-centos7-x86_64/gcc-4.8.5/python-3.6.8-rkifc3c7mjgdglw27upiap767ut4wpkz
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/general/opt/spack/linux-centos7-x86_64/gcc-4.8.5/python-3.6.7-meuesn43twttt756exyzqgdhohjgipjq
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/general/opt/spack/linux-centos7-x86_64/gcc-4.8.5/python-3.6.6-qwnwme7otyuoqqudcglfmfy75t5npywl

**Arm**
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/arm/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/python-3.7.2-qj27kzs4ttdqudm3hsi3pt57kv7lshco
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/arm/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/python-3.7.1-io5eneirgvpegy3tosvp6wq5ndf7yjis
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/arm/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/python-3.6.8-ej3vnvta2hbtrh7p5hokfqkuewxeqgsa
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/arm/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/python-3.6.7-l3qnue72ewppn2wxza3w6l62l7ijlque
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/arm/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/python-3.6.6-b55pdoqsr5bie4k5djd4vokm3nywhm45

**Power9**
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/power9/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/python-3.7.2-cicayvl7ki4tswoqlljsmcetwqcnoh3x
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/power9/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/python-3.7.1-7vej3zvnvyj2jvz5lnxhnts3ok2fcxbp
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/power9/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/python-3.6.8-xijljmdanyrybcx2rv65qshycmbrfv6c
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/power9/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/python-3.6.7-vqdhzg7c3xxxregqmzxsqqfzxt2hajvq
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/power9/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/python-3.6.6-jf4bnsdwk3qjhtmvjjhblnrcz5dztfdq

2019-02-05
Signed-off-by: Daniel Topa <dantopa@lanl.gov>

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-02-06 12:03:25 -06:00
Nichols A. Romero
5394f0016a CUDA compiler conflicts for Linux (#10460)
* CUDA compiler conflicts for Linux.

* Add Volta and Turing GPUs.

* Add mandatory conflict for Volta and Turing GPUs.

* Revert "CUDA compiler conflicts for Linux."

This reverts commit 7d4ff654ac.

* Compiler conflicts introduced from previous commit into CUDA packaged moved and integrated into CUDA build system.

* More conversative with compiler conflicts for cuda 10.0.130, since I don't know what will happen with future cuda 10.x releases.

* Correct off-by-one errors in clang conflicts for x86_64 Linux.

* No restrictions on Apple Clang compiler until we are able to distinguish Xcode clang from github clang more easily. Note to fix this in the future.

* Change comment to clarify that github clang refers to LLVM clang.

* Fix and simplify index range.

* Fix overlapping conflicts for CUDA 10.0.130

* Removed extra ^cuda from conflict.
2019-02-06 17:09:52 +01:00
Valentin Clement (バレンタイン クレメン)
548e6736c4 Update CLAW package with version 1.2.1 (#10528) 2019-02-06 15:51:52 +01:00
Levi Baber
881ce3a5c2 perl-yaml: new package (#10514) 2019-02-06 15:47:54 +01:00
simo-tuomisto
1be258a587 wordnet: new package (#10526) 2019-02-06 15:38:48 +01:00
Denis Davydov
871e7f525c xsdk: enable slepc in deal.ii (used to be a concretization error) (#10218) 2019-02-06 07:59:36 -06:00
Phil Carns
0b4a7dd04a New package: PMDK (#10453) 2019-02-05 16:53:16 -06:00
Justin Stanley
003ebf8bab r-wgcna: new package at 1.64-1 (#10392) 2019-02-05 09:00:25 -06:00
Axel Huebl
293e5c0781 MPark: Variant v1.4.0 (#10512)
Add the latest release of Michael Park's C++ Variant lib.
2019-02-05 15:18:19 +01:00
Phil Carns
de91d0badc mercury package: add 'udreg' variant (#10415)
Faster and/or more robust in some cases on Cray platforms
2019-02-04 19:51:04 -06:00
Levi Baber
c7ecb66a2f New package: perl-hash-merge (#10506) 2019-02-04 18:05:36 -06:00
Levi Baber
736a317e0c New package: perl-clone-choose (#10507) 2019-02-04 18:04:55 -06:00
Christoph Junghans
514cf0c1f4 votca*: add v1.5 (#10495)
* votca-tools: add v1.5

* votca-csg: add v1.5

* votca-xtp: add v1.5

* votca-ctp: add v1.5
2019-02-04 12:57:19 -07:00
Justin Stanley
478c3f5e8b augustus: fix bam2wig auxprog build (#10362)
* augustus: fix bam2wig auxprog build

* augustus: few more changes to make new versions work
2019-02-04 10:36:10 -06:00
Matthias Diener
bca72036a8 tar: add version 1.31 (#10485) 2019-02-04 11:02:13 +01:00
Axel Huebl
17cc4f208f Catch2: v2.6.0 (#10490)
Add the latest Catch2 release.
2019-02-04 10:52:47 +01:00
wspear
43fae5b807 New package: py-alembic (#10436) 2019-02-01 16:24:44 -06:00
wspear
ec7c7332c0 New package: py-prometheus-client (#10440) 2019-02-01 16:23:59 -06:00
Nicholas Labello
8c87a937e1 plumed package: add versions 2.4.4 and 2.5.0 (#10496) 2019-02-01 16:21:55 -06:00
Mark W. Krentel
a1969d9eec dyninst: add patch to work with new boost (#10454)
Add tribool.patch to add explicit casts from tribool to bool in two
places.  Boost, starting with version 1.69, turned on explicit
conversions for tribool, which breaks the build for dyninst.

This is merged into the current dyninst develop and is expected to be
part of the next release, so the version range uses the current
release as an upper bound.
2019-02-01 16:18:16 -06:00
wspear
c2b06c27ac New package: py-async-generator (#10439) 2019-02-01 12:40:19 -06:00
zschulte
a701c412bc gatk package: new versions, updated helper script (#10459)
Closes #10168

* Add versions 4.1.0.0 and 4.0.12.0
* Replace md5 checksums with sha256
* Logic to generate a helper script for versions earlier than 4 was
  not running. This corrects the branch which controls whether this
  script is generated.
* Constrain Java dependency to version 8 (GATK does not work with
  Java 11)
* Avoid adding scripts that have dependencies not handled by Spack
  such as gcloud and google-chrome. These scripts are good candidates
  for later extensions.
2019-01-31 16:10:06 -06:00
Ricardo Silva
cf754245fd py-pybigwig: fix build with python3, add numpy variant (#10444)
* added patch to correctly pick up non-system curl when building
  with Python 3
* added numpy variant
* add version 0.3.12
* update checksums to sha256
2019-01-31 14:50:10 -06:00
snehring
21afd258a4 New package: openjdk (#9861)
Closes #2622

This retrieves and installs the binary of Oracle's OpenJDK (an
open-source JDK implementation). The logic is largely based on the
Spack JDK package (Oracle's closed-source JDK implementation).

For now this is only supports Linux. If the download could be
customized based on OS (for the same version), binaries are also
available for MacOS and Windows.
2019-01-31 12:54:28 -06:00
Matthias Diener
ec78d362d2 git-lfs: add version 2.6.1, update build system (#10405)
Build system was changed to use a Makefile. Therefore older versions
(which don't support this) are removed. The new build system also
supports testing by default.
2019-01-30 21:21:08 -06:00
Tom Payerle
c42528fac2 fftw: fix include error for 2.x versions (#10039)
Fixes #7372

Added patch method which renames config.h in the fftw subdir of the
source tree. fftw 2.1.5 appears to ship with a copy of this file
with all defines commented out. This gets read by the #include
directives instead of the version in the build directory with the
correct defines. As a result, many C preprocessor macros left
undefined, including F77_FUNC_ which causes the bulk of fttwf77.c
to be skipped due to an #ifdef, so fftw_reverse_int_array et al
not included in library. Fixes #7372

Also fixed some inconsistencies with the handling of quad and
long_double in specs between the configure method and the build,
check, and install methods.
2019-01-30 21:18:10 -06:00
Axel Huebl
2aad75d98f HDF5: Add develop Version (#10382) 2019-01-30 21:04:24 -06:00
Phil Carns
36c46a7daf Mercury package: update libfabric dependency on Cray (#10408)
The Mercury package previously depended on libfabric@develop on
Cray platforms in order to pick up a fix for the GNI provider that
was only available in git. This is no longer needed now that the
libfabric package is at 1.7.0.
2019-01-30 20:57:31 -06:00
Justin Stanley
5a431eb408 r-pkgmaker: add 0.27, new dependencies (#10419) 2019-01-30 20:54:24 -06:00
Michael Kuhn
b1af6b43dc gobject-introspection: add 1.56.1 and fix download (#10462)
Define url_for_version, since Spack's default substitution is
not sufficient
2019-01-30 20:53:08 -06:00
Matthias Diener
3ce0fba036 go: fix directory structure issue for 1.11.5 (#10484) 2019-01-30 20:30:05 -06:00
Chuck Atkins
be38fded9b cmake: Fix linker errors on Darwin when using external dependencies (#10467)
Adds upstream patch for a missing framework. This is anticipated
to be fixed by CMake 3.13.4 so is only applied up to version 3.13.3
2019-01-30 20:24:20 -06:00
Matt Belhorn
2b6bf06150 libsodium: Updates source URL. (#10483)
The source URL for versions 1.0.15 and older is updated to reflect where
those archives are now hosted by the upstream libsodium developers.
2019-01-30 20:14:41 -06:00
Jon Rood
86747b39d4 ninja: Add kitware version with fortran capability (#10470) 2019-01-30 20:06:09 -06:00
G-Ragghianti
9630d732d6 New package: SLATE (#10434) 2019-01-30 19:59:26 -06:00
Jason Lee
c698384216 jemalloc: Add variant to prepend public api with "je_" prefix (#10356) 2019-01-30 19:16:33 -06:00
Justin Stanley
993745b919 redundans: add 0.14a (#10006)
Also update install to use globbing
2019-01-30 18:55:59 -06:00
Samuel Thibault
9bfcbcc155 New package: simgrid (#10076) 2019-01-30 18:39:59 -06:00
Cameron Smith
9d7f215e47 zoltan: detect metis int64 variant (#10051)
Configure zoltan depending on metis int64 support
2019-01-30 15:19:38 -06:00
dorier
477d3fb479 Package py-keras: add new versions and dependencies (#10353)
Add new versions for py-keras. Versions of py-keras at or after
2.2.0 require keras-processing and keras-applications packages.
Add these packages to Spack and add dependencies to the py-keras
package.
2019-01-30 14:32:37 -06:00
Jimmy Tang
47887499bf cudnn package: add version 7.2 (#10481) 2019-01-30 13:44:24 -06:00
sknigh
d4fbaa054f Update opa-psm2 package (#10344)
* Add version 11.2.68
* Add variant to disable AVX2 for older hardware
* Change the makefile so libraries and includes are not placed
  under $PREFIX/usr
* Updated URL and homepage
2019-01-30 13:38:48 -06:00
Justin Stanley
a3926620ee r-preprocesscore: add version 1.44.0 (#10389) 2019-01-30 13:30:06 -06:00
Justin Stanley
65429026af r-impute: add version 1.56.0 (#10390) 2019-01-30 13:29:09 -06:00
Abhinav Bhatele
5c99716160 codes package: add version 1.1.0 (#10414) 2019-01-30 13:27:56 -06:00
Justin Stanley
25d2ccfcc5 r-runit: new package at 0.4.32 (#10416) 2019-01-30 13:26:34 -06:00
Justin Stanley
2a28e6e6bb r-bibtex: new package at 0.4.2 (#10417) 2019-01-30 13:25:43 -06:00
Justin Stanley
9efeff6b1f r-rngtools: add 1.3.1 (#10418) 2019-01-30 13:25:10 -06:00
Abhinav Bhatele
16819a5b18 ROSS package: update homepage and git url (#10429) 2019-01-30 13:24:14 -06:00
Adam J. Stewart
f011c9976f Add JDK 11.0.2_9 (#10413)
Also add 11.0.1_13; remove 11.0.1, which is no longer available for
download.
2019-01-30 13:20:30 -06:00
Michael Kuhn
e338f2c2c1 ncl package: require cairo with pdf support (#10465)
Needed after #10135
2019-01-30 13:10:08 -06:00
Michael Kuhn
5ada4d9956 gtkplus: add gettext dependency (#10464) 2019-01-30 13:08:43 -06:00
G-Ragghianti
b114ec4e77 New package: lm-sensors (#10443) 2019-01-30 13:04:52 -06:00
Matthias Diener
28de435584 go: add version 1.11.5 (#10451) 2019-01-30 12:57:45 -06:00
Satish Balay
d8e9d7acbd py-petsc4py: add version 3.10.1 (#10457)
Also update dependency version ranges
2019-01-30 12:54:45 -06:00
Christoph Junghans
ccb3face64 py-espresso package: add version 4.0.1 (#10469) 2019-01-30 12:53:24 -06:00
Sajid Ali
a67995d66a py-dask package: add version 1.1.0 (#10475) 2019-01-30 12:51:56 -06:00
Sajid Ali
b34e2b8973 neovim package: add version 0.3.4 (#10472) 2019-01-30 12:51:17 -06:00
Matthias Maiterth
f50e91776d geopm package: new versions, dependency updates (#10480)
Added versions 1.0.0-rc1, 0.6.1, 0.6.0, 0.5.1

hwloc dependency was removed after 0.5.1, so the related configure
option is not specified after 0.5.1

Require py-matplotlib dependency version 2.2.3 (version was not
specified before)
2019-01-30 12:50:38 -06:00
Daniel Topa
1d4d2cff50 Add Open MPI 2.1.6 (#10478) 2019-01-30 12:45:46 -06:00
Sajid Ali
5992f508d3 py-numexpr package: add version 2.6.9 (#10477) 2019-01-30 12:45:19 -06:00
Sajid Ali
e0387ab1a1 modified: var/spack/repos/builtin/packages/libx11/package.py (#10473) 2019-01-30 12:44:03 -06:00
Sajid Ali
627ef75bb8 py-pyfftw package: add version 0.11.1 (#10474) 2019-01-30 12:43:23 -06:00
George Hartzell
f878c0cb5b Add configparser v3.5.1, fixes backports namespace (#10433)
Fixes #8343 #4154 #7370
Closes #4155 

All but one of the backports packages were using "pkgutil-style"
namespacing, but configparser was using "pkg_resource-style".
A namespace needs to be one style or another. This adds a new
configparser version which switches to using the pkgutil-style
namespace approach.

With this update, one can now install flake8 with Spack and use
it by loading modules.
2019-01-29 17:58:56 -06:00
Peter Scheibel
b2c2cbadcd debug output includes modulecmd output (#9476)
Debug output now includes the output of modulecmd executions. Only
output module content when a failure occurs; always report when a
module is loaded/unloaded.
2019-01-29 17:41:15 -06:00
Chuck Atkins
b7c31cb561 rhash: Fix broken RPATH info on darwin
The PREFIX variable in the makefiles is directly used to construct the
install name on the library metadata on darwin.  If not passed, the
default /usr/local is used and the resulting librhash.dylib contains
usage informaiton of /usr/local/lib/librhash.0.dylib.  This adds the
PREFIX= variable directly to the make command so the resulting usage
metadata contains the correct valid library path.
2019-01-29 16:31:15 -06:00
Stephen Herbein
67a1e56e4d add flux-core@0.11.0 and flux-sched@0.7.0 (#10447)
* flux-core: add v0.11.0 and updated dependencies

libuuid hasn't been a direct dependency of flux-core since 2015 (well
before any of the versions listed in the package).

The yaml-cpp dependency moved to flux-sched when we moved the jobpsec
library from core to sched.

Some python3 incompatibilities were found in 0.11.0, so bump the python3
support back a version.

* flux-sched: add v0.7.0 and make boost dependency more precise
2019-01-28 21:20:01 -07:00
Chuck Atkins
6535eae5c7 llvm: various updates (#10427)
* llvm: Bump version to 7.0.1

* llvm: Added perl-data-dumper build dependency for openmp

* llvm: Enable exception handling and RTTI

Useful to have turned on in general with RTTI but also necessary
to workaround some lldb stability issues with some versions of
libstdc++.
2019-01-29 00:32:30 +01:00
Ralph Castain
3b1fb7d9ff Update the PMIx package (#10442)
* Update the PMIx package

- Add latest releases to the list.
- Add dependency on hwloc for versions >= 3.0
- Flag preferred versions for libevent and hwloc
- Improve the description
- Point the project URL to the correct site

Signed-off-by: Ralph Castain <rhc@pmix.org>

* Only install the hwloc dependency for versions >= 3.0.0

Thanks to @ax3l for the suggestion

Signed-off-by: Ralph Castain <rhc@pmix.org>

* Add myself as a listed maintainer

Signed-off-by: Ralph Castain <rhc@pmix.org>
2019-01-26 21:25:18 +01:00
Cameron Smith
4e14752dd6 add variant for a debug build (#10409) 2019-01-26 18:42:24 +01:00
Nichols A. Romero
4ab89f4de1 QMCPACK Update - Jan 2019 (#10252)
* Add warnings for existing conflicts. New versions of QMCPACK require a compiler with C++14 support.

* QMCPACK now requires a newer release of CMake.

* Switch QMCPACK to using FFTW-api provider.

* Relax dependencies on QMCPACK +da variant.

* Add QMCPACK 3.6.0 release.

* QMCPACK compiler-CUDA conflicts.

* QMCPACK fix typo in expressing conflict.

* Conditional needed since these variables are only used when FFTW is a dependency to QMCPACK.

* QMCPACK QE variant dependency was underspecified. Must include MPI as a hard dependency on QE.

* Update QMCPACK dependencies for HDF5, CMake and Boost.

* QMCPACK clean-up, more consistent use of spec vs. self.spec.

* Add support for collective I/O variant of QMCPACK.

* Update QMCPACK conflicts for QE and PHDF5 variants.

* Use built-in install method for QMCPACK starting with 3.6.0

* QMCPACK compiler C++14 conflicts were off by one version.

* QMCPACK package needs to setup_environment method.

* In support of PR#10252, get rid of slashes in string.

* Migrate these to the CUDA package and make a seperate PR.

* In support of PR#10252, get rid of join_path for nexus.

* In support of PR#10252, work around concretizer limitation.

* In support of PR#10252, convert to conditionals to if-else clauses for compactness.

* In support of PR#10252, get rid of extra space and new line in warning messages.
2019-01-26 10:13:51 -06:00
Abhinav Bhatele
a307822fd9 laghos: update version (#10420) 2019-01-26 16:29:32 +01:00
Satish Balay
d071c6d341 petsc: configure works with python3 in current petsc@develop - and will work in future releases [3.11+] (#10380) 2019-01-26 16:28:20 +01:00
Matthias Diener
f299507fa9 diffutils: add version 3.7 (#10406) 2019-01-26 16:26:47 +01:00
Matthias Diener
2826d37a45 rust: add version 1.32.0 (#10407) 2019-01-26 16:26:16 +01:00
Ricardo Silva
3fc8203b93 bcftools: do not use bundled htslib (#10445)
* if the path to htslib is not specified the bundled one is built instead
* additionally this fixes the build with the intel compiler
2019-01-26 16:21:04 +01:00
Chuck Atkins
e867319ac3 perl-data-dumper: New package (#10425)
This package is added to satisfy a build time dependency for llvm-openmp
2019-01-26 16:16:03 +01:00
Chuck Atkins
76c757de22 libuv: Bump version to 1.25.0 (#10423) 2019-01-26 16:11:45 +01:00
Chuck Atkins
3266c69352 cmake: Use system libs by default (#10424)
This also fixes the libuv version dependency for 3.11+
2019-01-26 16:11:32 +01:00
wspear
68eb2a1418 Added the py-send2trash package as a pre-req for py-jupyterhub (#10441) 2019-01-26 16:10:02 +01:00
Piotr Luszczek
b94c8c2d53 magma: add version 2.5.0 (#10438) 2019-01-26 16:03:05 +01:00
Levi Baber
248452df4f capstone: new package (#10449) 2019-01-26 15:52:39 +01:00
Peter Scheibel
5abf29c971 Environments: fix bug for install of external packages (#10437)
"spack install" will install all packages added to the current
environment. When this included external packages, the environment
update would fail because it would attempt to copy log files that
were only generated if Spack handled the install itself. This skips
that step for external packages.
2019-01-24 21:29:21 -06:00
Greg Becker
98e0b5b0db Allow spack install --overwrite for nonexistent or multiple packages (#9201)
* Allow overwrite nonexistent and multiple packages

initial implementation
give one prompt to users instead of a prompt per spec
testing

* flake

* bugfix: install overwrite check each spec against installed

* python3 compliance for filter/map
2019-01-24 12:10:32 -08:00
Omar Padron
7d64994cbd fix issue where docker images were being pushed without login (#10379) 2019-01-24 10:08:38 -08:00
sameershende
7d12ff6e16 Update ecp st tau pdt (#8192)
* Updated MPI and TAU versions in the TAU package
* Updated PDT versions
* Added support for Python (+python), default to `False`
* Cleaned up binutils, python, mpi usage.
* Updated binutils install to add additional header files to the include/extra directory.
* Resolving review problems with TAU and binutils packages.
  The binutils package was updated to include support for installing
  the ELF headers as a +headers variant.  The TAU package was updated
  to use all known Spack dependencies.
2019-01-23 20:40:58 -08:00
Justin Stanley
9252f7f957 trinotate: remove perl-dbd-mysql, move runtime files to HOME (#9850) 2019-01-22 14:26:31 -06:00
Justin Stanley
7baea68278 r-gamlss: new package (and data) at 5.1-2 (#10360)
* r-gamlss-data: new package at 5.1-0

* r-gamlss-dist: new package at 5.1-1

* r-gamlss: new package at 5.1-2

* r-gamlss: add mass, survival, nlme imports
2019-01-22 14:25:57 -06:00
Justin Stanley
bb942e1fc5 entrezdirect: new package (#10374) 2019-01-22 14:25:10 -06:00
Justin Stanley
4b7510ec38 py-whatshap: new package at 0.17 (#10377)
* py-whatshap: new package at 0.17

* py-whatshap: remove unused build_args
2019-01-22 14:24:45 -06:00
Justin Stanley
c1a1415e90 r-rrcov: new package at 1.4-7 (#10387) 2019-01-22 14:22:37 -06:00
Justin Stanley
e8014be017 r-robust: new package at 0.4-18 (#10391) 2019-01-22 14:22:24 -06:00
Justin Stanley
1bcc6e4d9c r-dynamictreecut: new package at 1.63-1 (#10388) 2019-01-22 14:22:09 -06:00
Peter Scheibel
c0972a3260 Exclude system mkl installs from numpy (#10383)
Fixes #10361
Fixes #6634

When mkl isnt in the spec, still write an explicit mkl entry to
prevent numpy from looking in system dirs and using a system install
of mkl. Do the same for openblas and atlas (although mkl was the only
system install reported to interfere with Spack's choice).
2019-01-22 12:18:54 -06:00
Justin Stanley
636d6007ba py-pyvcf: new package at 0.6.0 (#10375) 2019-01-22 17:11:19 +01:00
Adam J. Stewart
39725e0784 Typo fixes in .flake8 comments (#10399) 2019-01-21 12:35:11 +01:00
Justin Stanley
bb1f8b0e3e py-pyfaidx: new package at 0.5.5.2 (#10376) 2019-01-20 14:16:43 +01:00
Matthias Diener
ab00de9e81 cmake: add version 3.13.3 (#10397) 2019-01-20 14:14:37 +01:00
Jon Rood
e896ce7457 Update Nalu-Wind and dependencies (#10204)
* Updating nalu-wind, nalu, openfast, and tioga packages. Includes
  improved handling of +shared variant.
* Add fftw and catalyst support to nalu-wind.
* Restrict ParaView to use matplotlib versions before 3 (which
  require Python 3)
2019-01-18 18:43:59 -06:00
Owen Solberg
7a2315aa38 adding checksum for latest lmod release (#10381) 2019-01-18 08:49:26 +01:00
Hadrien G
3497098978 Update templight pseudo-release to remove need for patching (#10290)
* Update templight+LLVM combo

* Bring back old pseudo-release
2019-01-16 10:36:34 -06:00
Massimiliano Culpo
4bc3936004 Openblas: added version 0.3.5 (#10364) 2019-01-16 08:11:07 -06:00
sknigh
b31ecb0342 Added latest version of singularity 2.x (#10354) 2019-01-16 13:14:32 +01:00
George Hartzell
1f9fe02309 Add package for Hugo (static website generator) (#10358) 2019-01-16 13:11:15 +01:00
Tom Payerle
01bd67eb43 py-modred: New package (#10309)
* py-modred: New package

Parallelized python module for finding modal decompositions and
reduced order models.

* fix license
I think?

* Add dependency on py-numpy

and remove commented out code
2019-01-15 16:42:20 -06:00
sknigh
eaa340eba7 Added hpl 2.3 (#10345)
* Added hpl 2.3

* Added requested build fixes, added step to copy HPL.dat in 2.3+
2019-01-15 16:41:33 -06:00
Adam J. Stewart
d7fb3fd88e r requires cairo+pdf (#10350) 2019-01-15 09:58:53 -06:00
Owen Solberg
2585c04b50 explicitly depend_on cairo with X **and** pdf variants (#10351) 2019-01-15 09:58:39 -06:00
Elizabeth Fischer
0628ebefd8 Add useful comment explaining why this is not needed for Python3. (#10326) 2019-01-15 07:31:20 -08:00
Axel Huebl
89a493522c openPMD-api: Dependency Update (#10314)
openPMD-api now only supports Python 3, needs a newer CMake and
ADIOS1 and also learned to read & write JSON :-)
2019-01-15 09:28:13 -06:00
Neil Flood
49dedb2443 vigra: new package (#10337)
* vigra: new package

* Better constraints and types on some depends_on. Use site_packages_dir variable for Python install dir. Explicit switch-offs where available. Change some local variables to suit style checks.

* Take care of lines too long

* Explicit WITH_HDF5=ON
2019-01-14 20:39:34 -06:00
Andrew Gaspar
04d4b07636 Add span-lite version (#10347) 2019-01-14 18:22:29 -06:00
sknigh
a1994d883c Added latest rust releases and develop branch (#10341)
* Added latest rust releases and develop branch

* Fixed spacing
2019-01-14 17:22:38 -06:00
Levi Baber
d1b7e560bd namd: fixing to reflect renamed charmpp per #9216 (#10342) 2019-01-14 17:22:03 -06:00
sknigh
43e6114db7 Added latest version of libfabric (#10343) 2019-01-14 17:21:33 -06:00
Geoffrey Oxberry
baf595351e feature: py-invoke: new python package (#10225) 2019-01-14 17:13:17 -06:00
Todd Gamblin
618741fce2 tutorial: update tutorial materials for ECP19 2019-01-14 01:03:38 -06:00
Gregory Becker
dc005f3ff1 version bump: v0.12.1 2019-01-13 14:26:39 -08:00
George Hartzell
7abc2fb26d bugfix/gdk-pixbuf (#10312)
* docbook processing works correctly for gdk-pixbuf

1. The various bits of documentation in gdk-pixbuf include hardcoded
   references to dtd's and stuff at their canonical, Internet,
   locations.  BUT, gdk-pixbuf runs xslt-proc with the `--nonet`
   option, which forbids it from using the network.  Sadness ensues.

   Traditionally folks use XML Catalogs to map these to local copies.
   Our docbook-xsl package wasn't setting the appropriate env var in
   its dependents environments to use our catalog.

   Now it does.  Less sadness ensues.

2. If we're going to use these things, we should depend on them.

* Add gdk-pixbuf's bin to build environment

The "post-install.sh" script uses gdk-pixbuf-query-loaders, which was
installed earlier.

If py-psyclone can set its own bin on its PATH, so can we...

* Make gdk-pixbuf use recognizable docbook location

Our docbook-xsl package assumes that the canonical location is
`http://cdn.docbook.org/release/xsl/current/manpages/docbook.xsl`, but
the gdk-pixbuf's meson build script uses
`http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl`.

This means that our XML Catalog doesn't fix the reference and sadness
happens.

Just patch the build that we see what we want to see, then we can make
it all go away.

* Add commentary re docbook patch

* Make catalog helper a property

Thanks @adamjstewart!

* Run tests if/when run_tests is true

Thanks @adamjstewart!

* Tune up dependencies

Thanks @adamjstewart!

* Wordsmit commentary
2019-01-13 14:40:20 -06:00
Cyrus Harrison
9350db5665 update alpine ascent and friends (#10320)
This adds a lot of fixes and updates for alpine ascent and its dependencies:

* add support for static (via ~shared) and use vtk-m 1.2
* update vtkh package to output cmake configure file and pinning it to vtkm 1.2
* make conduit respect ~python
* fix ascent python logic
* consistant cmake usage
* conditionally add tbb in ascent if vtkh
* enable openmp
* more robust handling of variants
* update ascent and conduit for static builds
* add optional support for mfem in ascent
* 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
* 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 preferred conduit version
* allow mfem to use conduit master
* adding rover package and editing ascent
* updating vtkm cmake dep
* 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
* add post install test
* add testing to ascent
* add testing of the using-with-make example
* add ctest output on error for run_tests
2019-01-12 17:43:39 -08:00
Adam J. Stewart
dc6dca3c36 cc: clean up cray compilers, fix issues with case-insensitive filesystems (#10323)
* Remove Cray CC compilers causing problems on case-insensitive filesystems
* cray -> cce
* Ensure that compiler-specific directory comes first in build-env
* Point to compiler-specific symlinks
2019-01-12 17:37:20 -08:00
Jiawei Zhuang
07d9d444ea Added osu-micro-benchmarks@5.5 (#10333) 2019-01-12 17:31:13 -08:00
Omar Padron
8e71ba8aa0 fix typo in docker test script (#10334) 2019-01-12 17:30:35 -08:00
George Hartzell
6c638600d7 Add libxslt v1.1.33 info (#10328) 2019-01-12 17:36:53 -06:00
Denis Davydov
09033e991e dealii: does not support sundials 4.x (#10324) 2019-01-12 15:28:57 -06:00
Neil Flood
04c1af0ee2 gdal: Add variant for GRIB driver (#10322) 2019-01-12 10:33:18 -06:00
Omar Padron
c2529358f2 fix archlinux docker build (#10289) 2019-01-12 00:52:50 -08:00
Greg Becker
c63c4a048c Binary caching bugfix: symlink relocation (#10073)
Binary caches of packages with absolute symlinks had broken symlinks.
As a stopgap measure, #9747 addressed this by replacing symlinks with
copies of files when creating binary cached packages.

This reverts #9747 and instead, either relative-izes the symlink or
rewrites the target. If the binary cache is created using '--rel' (as
in "spack buildcache create --rel...") then absolute symlinks will be
replaced with relative symlinks (in addition to making RPATHs relative
as before); otherwise they are rewritten (when the binary cache is
unpacked and installed).
2019-01-11 14:52:01 -08:00
Matthias Wolf
3c6d484150 enh: buildcache list should behave similar to find (#10052)
The current output of buildcache list is very verbose and I feel like
some details are getting lost. By making the output similar to find, I
think users will be able to get a better overview of what is stored in
the cache.
2019-01-11 13:57:10 -08:00
Dan Ibanez
f9967d2f6f Omega_h changed its URL (#10315)
From https://github.com/ibaned/omega_h
To https://github.com/SNLComputation/omega_h
2019-01-11 13:29:56 -06:00
Satish Balay
4cbeec07a0 omega-h: fix CMAKE_BUILD_TYPE: breaks with spack deafult 'RelWithDebInfo' (#10297) 2019-01-11 10:08:28 -08:00
Denis Davydov
f4bda74b30 dealii: fix concretization of xsdk package (#10288)
* dealii: fix concretization of xsdk package

* tests: add concretization tests for deal.II and xSDK, which are often broken due to limitations in the concretizer

* use pytest.mark.parametrize
2019-01-11 10:07:28 -08:00
Brian Van Essen
9102cd5790 Updating LBANN and related packages (#10305)
Updated LBANN, Hydrogen, and Aluminum to not require CUDA-aware MPI
even when using CUDA.  Fixed small bugs within both LBANN and Hydrogen
packages.  Added requirements for breathe and cereal to LBANN.
2019-01-10 17:10:11 -08:00
Mark W. Krentel
08c4b9d47a boost: fix the bjam build for Cray (#10295)
Fixes issues #9613 and #3209.

Remove the spack wrapper directories from PATH for the bootstrap step.
This was breaking the build for Cray (and other cross-compile) because
bjam was built for the BE and died on SIGILL on the FE.

This only affects building bjam.  The boost libraries are still built
the normal spack way with the spack wrappers.
2019-01-10 16:34:05 -08:00
Mark W. Krentel
7e8b17b177 hpctoolkit: variants to build for cray and blue gene (#10223)
Add variants 'cray' and 'bgq' to build for Cray and Blue Gene compute
nodes.  These systems need separate options to find the MPI compiler
for hpcprof-mpi.
2019-01-10 12:50:58 -08:00
Cody Balos
60a44d5155 sundials: add version 4.0.1 and remove 4.0.0-dev series (#10306)
The 4.0.1 release is the culmination of the SUNDIALS 4.0.0 preview releases,
i.e. the 4.0.0-dev versions. As such, the 4.0.0-dev releases are now
being removed.
2019-01-10 14:47:48 -06:00
Eric
b25f27d442 py-checkm-genome: Add version 1.0.13 (#10304)
* py-checkm-genome: Add version 1.0.13

* py-checkm-genome: Add missing py-backports-functools-lru-cache dependency

* py-checkm-genome: Fix missing whitespace
2019-01-10 12:28:07 -06:00
Jon Rood
12cf4eb734 Explicitly listing blas and lapack sections in site.cfg for numpy (#8708)
* Explicitly listing blas and lapack sections in site.cfg for numpy when using netlib-lapack so that scipy can find them as well.

* Reducing code to use a function call instead of copying and pasting.

* Fixing flake8 errors.

* Fixing python 3.6 error when site.cfg lists library_dirs multiple times.

* Formatting.

* Verifying blas and lapack are enabled before writing to site.cfg.

* Fixing flake8 errors.

* Fixing conflicts since this package file has been updated.

* Fixing flake8 stuff.

* Handling blas and lapack variants for netlib-lapack in site.cfg for py-numpy.

* Don't write netlib-lapack site.cfg file if no blas or lapack variants enabled in py-numpy.

* Removing redundant if statement.

* Fixing mistake in py-numpy site.cfg generation.

* Separating blas and lapack further in site.cfg for netlib-lapack in py-numpy.
2019-01-10 11:14:24 -06:00
Owen Solberg
586fe32166 update r-rcpp package with new versions (#10301) 2019-01-10 09:07:09 -06:00
Adam J. Stewart
72a41a4918 spack versions: only list safe versions (#10004)
* spack versions: only list safe versions
* Add unit tests for spack versions -s
2019-01-10 00:32:47 -08:00
Greg Becker
450b0e3059 Allow combinatorial projections in views (#9679)
Allow customizing views with Spec-formatted directory structure

Allow views to specify projections that are more complicated than
merging every package into a single shared prefix. This will allow
sites to configure a view for the way they want to present packages
to their users; for example this can be used to create a prefix for
each package but omit the DAG hash from the path.

This includes a new YAML format file for specifying the simplified
prefix for a spec in a view. This configuration allows the use of
different prefix formats for different specs (i.e. specs depending
on MPI can include the MPI implementation in the prefix).
Documentation on usage of the view projection configuration is
included.

Depending on the projection configuration, paths are not guaranteed
to be unique and it may not be possible to add multiple installs of
a package to a view.
2019-01-09 17:39:35 -08:00
Greg Becker
f5bb93c75b tutorial basics section: fix gcc install version (#10298) 2019-01-09 17:37:37 -06:00
Satish Balay
8ca674a574 petsc: fix petsc+debug to not reset COPTFLAGS - i.e use configure defaults '-g' (#10296) 2019-01-09 17:36:28 -06:00
Daryl W. Grunau
d1bb9caba4 eospac version bump to 6.4.0beta.4 (#10294) 2019-01-09 15:57:05 -06:00
Mark W. Krentel
1b991f9385 elfutils: option to install elf.h header file (#10185)
* elfutils: option to install elf.h header file

Add variant 'elfh' (default False) to install the elf.h header file to
the include directory.  This provides access to a newer version of
elf.h and allows an elf application to build with the same elf.h that
libelf.so was built with.

Add version 0.175.

* Drop the variant 'elfh' and always install elf.h instead.
2019-01-09 14:40:15 -06:00
Eric
b4dc73bed4 py-pyyaml: Add version 3.13 (#10293) 2019-01-09 13:39:34 -06:00
Simon Flood
0b2314bbc4 R: add version 3.5.2 (#10292) 2019-01-09 12:19:58 -06:00
Andreas Baumbach
730c629b09 New package: git-fat-git (#10266)
* new package: git-fat

* backport of rsync -> older versions no longer available

Change-Id: I3a41f17df0f88ca11e08ea6fd2f2d381435e0f09

* fix legal stuff and use new git attribute

Change-Id: Ice156dfe8ad4137a861f7b2938ee92f4024142be

* use date as version number rather than hash

Change-Id: Ib537659e368f69124895306d6a6ac0c5e36061a7

* only use the date once

Change-Id: I2592fa28aaa53fed949ddc82959d712ff3f6f752
2019-01-09 09:07:12 -06:00
marvinbernhardt
7571787a3a gromacs: added simd and rdtscp variants + version 2019 (#9931) 2019-01-09 10:39:05 +01:00
Axel Huebl
efe3e905a3 OpenMPI: Add Development Version (#10257)
Add the development version of OpenMPI from the git repo
in `master`.
2019-01-08 20:48:55 -06:00
sknigh
e3a2c94d60 Updated fish to 3.0.0 (#10286) 2019-01-08 20:47:52 -06:00
Owen Solberg
c48b0a13b9 bug fix: copy permissions when staging (#10285)
Fixes #10284

#10152 replaced shutil.move with llnl's copy and copy_tree for
resources. This did not copy permissions so led to later failures
if an executable was copied (e.g. a configure script). This uses
install/install_tree instead, which preserve permissions.
2019-01-08 17:56:16 -08:00
Srinath Vadlamani
4fdd3b6794 Armcompiler (#9840)
* Initial compiler support

* added arm.py

* Changed licence to Arm suggested header

* Changed licence to the same as clang.py
Main author of file is Nick Forrington <Nick.Forrington@arm.com>
Minor changes by Srinath Vadlamani <srinath.vadlamani@arm.com>

* compilers: add arm compiler detection to Spack

- added arm.py with support for detecting `armclang` and `armflang`

Co-authored-by: Srinath Vadlamani <srinath.vadlamani@arm.com>

* Changed to using get get_compiler_version

* linking to general cc for arm compiler

* For arm compiler add CFLAGS to use compiler-rt rtlib.

* Escape for special characters in rexep

* Cleaned up for Flake8 to pass.

* libcompiler-rt should be part of the LDFLAGS not CFLAGS

* fixed m4 when using clang to used LDFLAGS.  Fixed comments for arm.py to display compiler --version output with # NOAQ for flakes pass.

* added arm compilers

* proper linked names
2019-01-08 16:31:25 -08:00
Owen Solberg
ee64db4764 r-ape: new versions (#10258)
* updated versions for r-ape

* added type=('build', 'run') to r dependency
2019-01-08 18:15:03 -06:00
Owen Solberg
aa20724519 r-cowplot: new versions, more specific dependencies (#10259)
* updated versions for r-cowplot

* depends_on: added type=('build', 'run') to r, and added r-scales
2019-01-08 18:14:50 -06:00
Owen Solberg
7a816b9a66 r-data-table: new versions (#10260)
* updated versions for r-data-table

* added type=('build', 'run') to r dependency
2019-01-08 18:14:34 -06:00
Owen Solberg
2bd054adff r-dbplyr: new versions (#10262)
* added new versions, and tightened up depends_on() specs

* added type=('build', 'run') to r dependency
2019-01-08 18:14:19 -06:00
thelfer
d3caad4cd7 New package: MGIS (#10273)
* 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
2019-01-08 15:07:47 -06:00
Eric
45882e1b6f usearch: Make installed binary executable (#10269)
* usearch: Make binary executable

* usearch: remove join_path
2019-01-08 14:20:13 -06:00
sknigh
d9c8d2f27b Added bash 5.0 (#10282) 2019-01-08 13:20:30 -06:00
Owen Solberg
0e50ff7339 r-dt: new versions (#10261)
* updated release and checksums, also tightened depends_on()

* remove blank line at end of file

* removing new version 0.5
2019-01-08 13:06:36 -06:00
Owen Solberg
76dd4ca9ae updated versions (#10263) 2019-01-08 13:00:12 -06:00
Owen Solberg
5c4156cd39 updated versions and depends_on() (#10264) 2019-01-08 12:54:55 -06:00
dorier
0a60cae516 added openpa package (#10265) 2019-01-08 12:53:37 -06:00
Eric
6ce6c79beb libzip: Add zlib dependency (#10270)
* libzip: Add zlib dependency

* libzip: Add version limit
2019-01-08 12:49:03 -06:00
Andreas Baumbach
a33d167c72 new version 1.0.1 for py-html5lib (#10278)
Change-Id: I2837dc098fce142b152d2969687d1873e182bbc8
2019-01-08 12:43:33 -06:00
Ross Miller
2934eda311 Check for ARM compiler in addition to clang (#10280)
Add "-rtlib=compiler-rt" to CFLAGS when building with either Clang or
the ARM compiler.

Refs #10279
2019-01-08 12:41:05 -06:00
Eric
dabf4f17d3 salmon: Add version 0.12.0 (#10271) 2019-01-08 14:01:02 +01:00
Michael Kuhn
48db757be1 go: add 1.11.4 (#10272) 2019-01-08 13:57:25 +01:00
Andreas Baumbach
12b52baf7b new package: py-webencodings (#10277)
Change-Id: Icf20035367a34fa88acfef2d3fa3742c3f3901ac
2019-01-08 13:55:41 +01:00
Peter Josef Scheibel
9f79995718 For spec-file-based installs, store the initial spec read from the file as the abstract spec 2019-01-07 20:40:34 -08:00
George Hartzell
b984adb386 bowtie: new versions and %gcc@8.0.0: fix (#10232)
* bowtie: new versions and %gcc@8.0.0: fix

Bowtie development shifted from Sourceforge to GitHub.

This commit adds several versions from GitHub, using the archive
tarballs.  Note that the URL for 1.2.2 tarball is actually an '_p1'
tag....

It leaves the old 1.2 release download info in place.

Versions 1.2.0 and newer come from GitHub (I'm unsure if the 1.2 and
1.2.0 are equivalent).

Include a fix that enables %gcc@8.0.0: from:

  https://github.com/BenLangmead/bowtie/issues/87

But, v1.2.2 has trouble with "newer" gcc's, so it only adds v1.2.2 for
%gcc@6.0.0:.

Feel free to tighten this.  I know that:

- 1.2 -> 1.2.2 work with %gcc@5.5.0;
- 1.2 -> 1.2.1.1 work with %gcc@8.2.0; and
- 1.2.2 fails with %gcc@8.2.0

* Tighten to `conflicts('%gcc@8:', when='@1.2.2')`

* Point 1.2.2 and 1.2.2_p1 at the 1.2.2_p1 tarball
2019-01-07 11:30:59 -06:00
Chad Wood
3b59f70751 doxygen: URL and version hashes updated to project's GitHub home (#10250)
* Update package.py

Doxygen has migrated from a private SVN to GitHub. This PR updates the URLs and adds versioned commit hashes from GitHub. It also includes version 1.8.15 as the latest option.

* Update package.py
2019-01-07 10:38:32 +01:00
Massimiliano Culpo
c4521535e7 Multi-valued variants: better support for combinations (#9481)
This enforces conventions that allow for correct handling of
multi-valued variants where specifying no value is an option,
and adds convenience functionality for specifying multi-valued
variants with conflicting sets of values. This also adds a notion
of "feature values" for variants, which are those that are understood
by the build system (e.g. those that would appear as configure
options). In more detail:

* Add documentation on variants to the packaging guide
* Forbid usage of '' or None as a possible variant value, in
  particular as a default. To indicate choosing no value, the user
  must explicitly define an option like 'none'. Without this,
  multi-valued variants with default set to None were not parsable
  from the command line (Fixes #6314)
* Add "disjoint_sets" function to support the declaration of
  multi-valued variants with conflicting sets of options. For example
  a variant "foo" with possible values "a", "b", and "c" where "c"
  is exclusive of the other values ("foo=a,b" and "foo=c" are
  valid but "foo=a,c" is not).
* Add "any_combination_of" function to support the declaration of
  multi-valued variants where it is valid to choose none of the
  values. This automatically defines "none" as an option (exclusive
  with all other choices); this value does not appear when iterating
  over the variant's values, for example in "with_or_without" (which
  constructs autotools option strings from variant values).
* The "disjoint_sets" and "any_combination_of" methods return an
  object which tracks the possible values. It is also possible to
  indicate that some of these values do not correspond to options
  understood by the package's build system, such that methods like
  "with_or_without" will not define options for those values (this
  occurs automatically for "none")
* Add documentation for usage of new functions for specifying
  multi-valued variants
2019-01-04 19:02:34 -08:00
Michael Kuhn
051057caa3 mvapich2: add missing zlib dependency (#10254) 2019-01-04 20:52:00 -06:00
Elizabeth Fischer
f7b78412b1 Added package osmctools (#10249)
* Added package osmctools

* Simplified

Removed functions that did the same as existing defaults

* flake8
2019-01-04 20:51:44 -06:00
Peter Josef Scheibel
64deda1b0c Add tests for expanding/non-expanding resources 2019-01-04 17:04:28 -08:00
Michael Kuhn
41ef02ee10 stage: fix resources being deleted from local cache (#10152)
Non-expanded resources were being deleted from the cache on account
of two behaviors:

* ResourceStage was moving files rather than copying them, and uses
  "os.path.realpath" to resolve symlinks
* CacheFetchStrategy creates a symlink to a cached resource rather
  than copying it

This alters the first behavior: ResourceStage now copies the file
rather than moving it.
2019-01-04 17:04:28 -08:00
Jimmy Tang
5450303c97 Fix download path, the existing one has been removed from nvidia's site (#10253) 2019-01-04 18:13:11 -06:00
Neil Flood
3477d33751 openssl: add location of system certificates for SUSE Linux (#10242) 2019-01-03 10:02:25 -06:00
Ben Zwick
7d9dbc5fd2 Add missing code block (#10243)
Otherwise the `--` in `--dot` is rendered as a single en-dash.
2019-01-03 09:41:14 -06:00
Michael Kuhn
802dc4a03a patch: split up fetch and clean into separate methods (#10150)
"mirror create" was invoking a package's do_patch method in order to
retrieve and archive URL patches. If a package implements a "patch"
method, this is also called as part of do_patch; this failed when the
package-specific implementation referred to environment variables
that are only available at the time the package is built
(e.g. "spack_cc").

This change introduces fetch and clean methods for patches. They are
no-ops for FilePatch but perform the appropriate actions for
UrlPatch. This allows "mirror create" to invoke do_fetch, which does
not call the package's patch method.
2019-01-02 11:44:50 -08:00
Axel Huebl
63e75c3972 Catch2: v2.5.0 (#10237)
Add the 2.5.0 release of catch2.
2019-01-02 08:59:36 -06:00
Ben Zwick
0c8fd8734d petsc4py: new versions (up to 3.10.0) and update website (#10238) 2019-01-02 08:59:14 -06:00
Ben Zwick
2577a5e686 slepc4py: new versions (up to 3.10.1) and update website (#10239) 2019-01-02 08:58:45 -06:00
Greg Sjaardema
9f40813004 PARALLEL-NETCDF: Update new version and location (#10172)
* PARALLEL-NETCDF: Update new version and location

PnetCDF-1.11.0 is released.

Also, the canonical download area has been changed and they are now using git, so can also provide a develop and master checkout.
One issue is that they changed the name of the tar files, so 1.11.0 needs special handling (and future versions will also).

All checksums at new location match the checksums from the old location.

* Address concerns in review

Added a `url_for_version` function to handle the name change in the tar files at version 1.11.0 and later.  Updated description to match current shown on website.  Updated `homepage` setting since it has recently moved.

* Address issues in second review
2019-01-01 19:55:29 -06:00
Massimiliano Culpo
8540d5390e Removed an extra comma after a dict literal (#10236)
The extra comma was turning a dict into a tuple, and caused errors
during validation of the schema.
2019-01-02 01:15:15 +01:00
Ben Zwick
aca195367e FEniCS: workaround concretization issue with PETSc (#10235) 2019-01-01 10:39:07 -06:00
George Hartzell
60968a3fbf Add list_url for r-readr, finding old versions (#10231)
r-tidyverse needs r-readr@1.1.1, r-reardr needs a list_url so that it
can find it.
2019-01-01 08:05:53 -06:00
Todd Gamblin
4ecb465a36 README: LLNL release number and SPDX id don't need to be monospaced. 2019-01-01 00:44:28 -08:00
Todd Gamblin
5425a3dad4 flake8: fix flake8 issues with invalid escapes
- in many files, regular strings were used in places where raw strings
  should've been used.

- convert these to raw strings and get rid of new flake8 errors
2019-01-01 00:44:28 -08:00
Todd Gamblin
6f50cd52ed copyright: update license headers for 2013-2019 copyright. 2019-01-01 00:44:28 -08:00
Todd Gamblin
e82992ae32 license: license command prints sorted, non-redundant results
- spack license command now ignores symlinks

- spack license list-files now prints sorted output, and checks for files
  we've already seen.
2019-01-01 00:44:28 -08:00
Massimiliano Culpo
3b8b13809e Improve validation of modules.yaml (#9878)
This PR improves the validation of `modules.yaml` by introducing a custom validator that checks if an attribute listed in `properties` or `patternProperties` is a valid spec. This new check applied to the test case in #9857 gives:

```console
$ spack install szip
==> Error: /home/mculpo/.spack/linux/modules.yaml:5: "^python@2.7@" is an invalid spec [Invalid version specifier]
```

Details: 
* Moved the set-up of a custom validator class to spack.schema
  * In Spack we use `jsonschema` to validate configuration files 
    against a schema. We also need custom validators to enforce
    writing default values within "properties" or "patternProperties"
    attributes.

  * Currently, validators were customized at the place of use and with the
    recent introduction of environments that meant we were setting-up and
    using 2 different validator classes in two different modules.

  * This commit moves the set-up of a custom validator class in the
    `spack.schema` module and refactors the code in `spack.config` and
    `spack.environments` to use it.

* Added a custom validator to check if an attribute is a valid spec
  * Added a custom validator that can be used on objects, which yields an
    error if the attribute is not a valid spec.

* Updated the schema for modules.yaml

* Updated modules.yaml to fix a few inconsistencies:
  - a few attributes were not tested properly using 'anyOf'
  - suffixes has been updated to also check that the attribute is a spec
  - hierarchical_scheme has been updated to hierarchy

* Removed $ref from every schema
  * $ref is not composable or particularly legible
  * Use python dicts and regular old variables instead.
2019-01-01 00:11:49 -08:00
George Hartzell
e6b2f0c179 express: new version, use tags and fix gcc@6.0.0: (#10230)
* express: new version, use tags and fix gcc@6.0.0:

Express fails to build with gcc@6.0.0:.

The debian project [has a
fix](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811859) but
they don't seem to have pushed it upstream.

I've opened an issue and a PR in eXpress repo, but eXpress isn't
actively developed, so I'm fixing it here too.

Since the Spack package was created, the eXpress team tagged their
releases.  I've updated the package to use the tags.

Version 1.5.1 used to be known as 2015-11-29 (same commit).  1.5.2 is
new(er).

* Make flake8 happ{y,ier}
2018-12-31 20:28:15 -06:00
George Hartzell
fb52eb2a18 aspell builds with newer gcc's (#10227)
Apply fix from aspell issue (519) for a pointer dereference bug that
newer versions of gcc won't let slip past.

There hasn't been a release that includes the fix, this applies the
change to the latest release.
2018-12-31 16:13:03 -06:00
George Hartzell
51fbd315e9 fastx-toolkit builds with newer gcc's (#10228)
There's a missing break in a switch statement that newer gcc's
dislike.

Our #4696 simply disallowed newer gcc's.

This fixes the problem instead.

It's been [PR'ed upstream](https://github.com/agordon/fastx_toolkit/pull/22).

Tested with gcc@5.5.0 and gcc@8.2.0 on CentOS.
2018-12-31 16:12:51 -06:00
George Hartzell
7aeff18b6f bamutil builds with newer gcc's (#10229)
The most recent release of bamutil that we support uses an embedded
copy of libStatGen that has several issues that keep it from building
with newer releases of gcc.

They've all been fixed upstream and the latest release of bamutil
would pick them up if/when we support it.  The build process has
changed though, plus my team needs *this* version.

This commit backports those fixes.
2018-12-31 16:12:14 -06:00
Justin Stanley
7f528a5ed2 ds: new package at 9.8.0 (#9852)
* ds: new package at 9.8.0rc6

* ds: move patches to patch func

* ds: use built-in configure phase, remove autoreconf skip

* ds: revert to stable 9.8.0

* ds: remove unnecessary dep types

* ds: make url consistent with versions
2018-12-31 16:11:20 -06:00
Gary Klimowicz
a1d651e80f flang, llvm, pgmath: Add release for 2018-09-21 (#10224) 2018-12-31 11:50:04 -06:00
Geoffrey Oxberry
88417492f7 py-sphinxautomodapi: new python package (#10226) 2018-12-31 11:47:48 -06:00
Nichols A. Romero
54f76f7c51 Over specifying Quantum Espresso compiler variables causes problems in some corner cases. (#10216) 2018-12-30 11:29:28 -06:00
Sinan
70c5088a4c xgboost: make sure "libxgboost.so" is provided under prefix/lib (#10208) 2018-12-30 08:15:08 -08:00
Denis Davydov
309f70758b dealii: workaround concretization issue with PETSc (#10217) 2018-12-30 08:43:25 -06:00
Todd Gamblin
365387e929 stopgap: allow travis to fail for Python 2.6 again
- Travis still fails on `spack spec` in Python 2.6.
- Allow the failure until we get to the bottom of it.
2018-12-30 00:19:08 -08:00
Todd Gamblin
2e3303abd0 bugfix: nested directives were broken in python 3
- The nested directive implementation was broken for python 3

- directive results were not properly removed from the directive list
  when it was processed in the DirectiveMeta metaclass.

- the issue was that remove_directives only descended into a list or
  tuple, but in Python3, the initial value passed to the function is a
  view of dictionary values.

- make it a list to fix things, and add a regression test.
2018-12-30 00:19:08 -08:00
Todd Gamblin
d763e92141 commands: add spack resource command to inspect downloadable files
- currently just looks at patches
  - allows you to find out which package applied a patch to a spec

- intended to work with tarballs and resources in the future.

- add tab completion for `spack resource` and subcommands
2018-12-30 00:19:08 -08:00
Todd Gamblin
d2db978c7f tests: add a test to make sure that patched specs can be round-tripped
- previously, if a concrete sub-DAG with patched specs was written out
  and read back in, its patches would not be found because the dependent
  that patched it was no longer in the DAG.

- Add a test to ensure that the PatchCache handles this case.

- Also add tests to ensure that patch objects are properly created from
  Specs -- previously we only checked that the patches were on the Spec.
2018-12-30 00:19:08 -08:00
Todd Gamblin
d3ee6c977b patches: add a per-repository patch index
- this fixes a bug where if we save a concretized sug-DAG where a package
  had been patched by a dependent, and the dependent was not in the DAG,
  we would not read in all patches correctly.

- Rather than looking up patches in the DAG, we look them up globally
  from an index created from the entire repository.

- The patch cache is a bit tricky for several reasons:

  - we have to cache information from packages, specifically, the patch
    level and working directory.

  - FilePatches need to know which package owns them, so that they can
    figure out where the patch lives.  The repo can change locations from
    run to run, so we have to store relative paths and restore them when
    the cache is reloaded.

  - Patch files can change underneath the cache, because repo indexes
    only update on package changes.  We currently punt on this -- there
    are stub methods for needs_update() that will need to check patch
    files when packages are loaded.  There isn't an easy way to do this
    at global indexing time without making the FastPackageChecker a lot
    slower.  This is TBD for a future commit.

  - Currently, the same patch can only be used one way in a package. That
    is, if it appears twice with different level/working_dir settings,
    bad things will happen.  There's no package that current uses the
    same patch two different ways, so we've punted on this as well, but
    we may need to fix this in the future by moving a lot of the metdata
    (level, working dir) to the spec, and *only* caching sha256sums in
    the PatchCache.  That would require some much more complicated tweaks
    to the Spec, so we're holding off on that til later.

- This required patches to be refactored somewhat -- the difference
  between a UrlPatch and a FilePatch is still not particularly clean.
2018-12-30 00:19:08 -08:00
Todd Gamblin
a9b69fa902 ProviderIndex uses json instead of YAML
- indexes should use json, not YAML, to optimize for speed
- only use YAML in human-editable files
- this makes ProviderIndex consistent with other indexes
2018-12-30 00:19:08 -08:00
Todd Gamblin
c1d7adaaac repo: refactor indexes to be more extensible
- virtual provider cache and tags were previously generated by nearly
  identical but separate methods.

- factor out an Indexer interface for updating repository caches, and
  provide implementations for each type of index (TagIndex,
  ProviderIndex) so that more can be added if needed.

- Among other things, this allows all indexes to be updated at once.
  This is an advantage because loading package files is the real
  overhead, and building the indexes once the packages are loaded is
  trivial. We avoid extra bulk read-ins by generating all package indexes
  at once.

- This can be extended for dependents (reverse dependencies) and patches
  later.
2018-12-30 00:19:08 -08:00
Todd Gamblin
527ff860f0 patches: clean up patch.py, directives, and package class properties
- cleanup patch.py:
  - make patch.py constructors more understandable
  - loosen coupling of patch.py with package

- in Package: make package_dir, module, and namespace class properties

  - These were previously instance properties and couldn't be called from
    directives, e.g. in patch.create()

  - make them class properties so that they can be used in class definition

  - also add some instance properties to delegate to class properties so
    that prior usage on Package objects still works
2018-12-30 00:19:08 -08:00
Todd Gamblin
19b7b15929 coverage: use kcov to get coverage for our cc script 2018-12-29 23:47:29 -08:00
George Hartzell
51cbc278aa Always build glib with iconv (#10219)
* Always build glib with iconv

My early PR, #10165, which added a variant to configure glib to use
libiconv and defaulted to false, seems to be causing more trouble than
the knob is worth.

This changes the glib package to always depend on and use libiconv.

* libiconv depends_on is no longer conditional
2018-12-29 16:01:08 -06:00
Todd Gamblin
c92ac70c72 bugfix: add codecov upload back to travis.yml (#10220)
Codecov upload was accidentally removed in #9805
2018-12-29 12:09:42 -08:00
Todd Gamblin
d65c6ba9b2 Use homebrew addon instead of manually invoking brew (#10213) 2018-12-29 06:12:02 +01:00
Adam J. Stewart
5f957920c4 Add GDAL 2.4.0 (#10215) 2018-12-28 21:20:13 -06:00
Eric
2c76e8feef salmon: Add version 0.12.0 (#10211) 2018-12-28 13:02:36 -06:00
Eric
ada8d5ce5c velvet: Add missing zlib dependency to fix installation errors (#10212) 2018-12-28 13:02:16 -06:00
Eric
722e7058f8 py-testinfra: Add version 1.18.0 (#10210) 2018-12-28 18:24:58 +01:00
Andrew Gaspar
69f1199c55 Add new versions of optional-lite and string-view-lite (#10179) 2018-12-27 17:03:21 +01:00
Justin Stanley
c451733f9a xgboost: new package at 0.81 (#9854) 2018-12-27 07:42:44 +01:00
Lukasz
25129d4a3b fix moab installation for version 5.0.2 removed from ftp (#10201)
* moab install from git repository, fix version 5.0.2 removed from ftp server

* add moab dependencies above verson 5.0.1
2018-12-26 16:18:32 -06:00
StackKorora
39589065b1 Add Stata package (#10189)
* First draft for installing Stata 15

I've tested this works on my systems and gives a successful install of STATA 15.

* Flake8 cleanup

* Another Flake8

* Update license header

* Various improvements

A lot of improvements as suggested by @adamjstewart

* flake8 check
2018-12-26 16:17:42 -06:00
Christoph Junghans
18b128e6c1 pgmath: depend on awk (#10200) 2018-12-26 13:46:52 -07:00
Adam J. Stewart
42de399b18 Fix pkgconf downloads (#10202) 2018-12-26 13:46:30 -07:00
Adam J. Stewart
fc48f65a0f Fix libxml2+python and libxslt+python import tests (#10196)
* Fix libxml2+python import tests

* Same for libxslt package
2018-12-26 10:36:59 -06:00
Christoph Junghans
58079b13eb mawk: added 1.3.4_p20171017 (#10197) 2018-12-26 08:41:26 -06:00
Satish Balay
0f2f0deee7 slepc: fix homepage URL (#10199) 2018-12-26 08:41:09 -06:00
Massimiliano Culpo
28fd1baa86 tests: run 'test_compiler_add' serially in Python 2 (#10127)
* Don't spawn processes during python 2.6/2.7 'test_compiler_add' unit tests
* Travis seems to choke on the excessive parallelism in `compiler find`
2018-12-25 23:47:46 -08:00
Denis Davydov
39b23d277b environment: ignore invalid files names in var/spack/environments (#10198) 2018-12-25 22:22:21 -08:00
Denis Davydov
d9da7c98a2 dealii: fix build with some Intel compilers (#10188) 2018-12-24 18:53:53 -06:00
Adam J. Stewart
376ef5f87a Add latest version of NCCL (#10194) 2018-12-24 17:27:15 -06:00
Adam J. Stewart
9c58dacaec Add PyTorch 1.0 (#10193) 2018-12-24 17:27:01 -06:00
Eric
791aab8564 manta: Add version 1.5.0 and add missing zlib dependency (#10178) 2018-12-24 21:04:18 +01:00
Todd Gamblin
35dd929651 bugfix: handle unicode properly in spack.util.executable (#10186)
- When returning string output, use text_type and decode utf-8 in Python
  2 instead of using `str`

- This properly handles unicode, whereas before we would pass bad strings
  to colify in `spack blame` when reading git output

- add a test that round-trips some unicode through an Executable object
2018-12-23 23:59:58 -08:00
Omar Padron
fcce8b8dc2 travis: fix pip install for docker stage (#10177) 2018-12-23 17:42:09 -08:00
Satish Balay
908ecf3e74 xsdk-0.4.0: add/update package versions: (#10038)
* xsdk-0.4.0: add/update package versions:
  hypre@2.15.1
  mfem@3.4.0
  superlu-dist@6.1.0
  trilinos@12.14.0-rc1
  petsc@3.10.3
  dealii@9.0.1
  pflotran@xsdk-0.4.0
  alquimia@xsdk-0.4.0
  sundials@3.2.1
  plasma@18.11.1
  magma@2.4.0
  amrex@18.10.1
  slepc@3.10.1
  omega-h@9.19.1
  strumpack@3.1.1
  pumi@2.2.0
  tasmanian@6.0
  phist@1.7.5
  dtk-3.0 [via trilinos features '+dtk+intrepid2+shards']

add option to disable omega-h build [wrt gcc-8 conflict]
  spack install xsdk~omega-h
add option to disable dealii build [wrt cori build error]
  spack install xsdk~dealii

* trilinos: default version should be the prior release
2018-12-23 17:35:03 -08:00
Neil Flood
75b83ef2a7 py-cftime: new package (#10066)
* py-cftime: new package

* Added dependency on py-setuptools, and version range for py-cython, thanks to the ever-vigilant @adamjstewart
2018-12-23 14:56:08 -06:00
Simone Bnà
e7e32cc2d6 openFOAM-paraview-catalyst (#10129)
* paraview: adding variants to use external packages as internal do not compile

* paraview: add latest paraview version

* catalyst: fixed libvtkexpat undefined reference linking error in Catalyst 5.5

* catalyst: add latest catalyst version

* catalyst: added ParaView_DIR env variable to catalyst module

* add paraview, catalyst patches

- https://gitlab.kitware.com/vtk/vtk-m/merge_requests/1166
- https://gitlab.kitware.com/paraview/paraview/merge_requests/2433
- https://gitlab.kitware.com/paraview/paraview/merge_requests/2436

* - Handle updated library paths for catalyst.

  Versions 5.4 and old places libraries under a paraview subdirectory.
  Eg, "lib/paraview-5.4", they are now placed directly under "lib"

- Minor code style cleanup

* Handle update library and python paths for ParaView-5.5

* catalyst: added ParaView_DIR path to spack_env

* BUG: applied the patch to the extracted catalyst source files

* paraview: added missing self to a member variable

* paraview: added Paraview_DIR to env

* catalyst: added osmesa variant

* of-catalyst: added new package

* add (FOAM,WM)_PROJECT_DIR  also to spack_env environment

* depends on first openfoam release supporting catalyst

* openfoam-com: added missing env variables to module generation

* openfoam: fixed flake8 errors

* of-catalyst: added full variant and openfoam version dependency

* paraview: adding variants to use external packages as internal do not compile

* catalyst: fixed libvtkexpat undefined reference linking error in Catalyst 5.5

* catalyst: added ParaView_DIR env variable to catalyst module

* add paraview, catalyst patches

- https://gitlab.kitware.com/vtk/vtk-m/merge_requests/1166
- https://gitlab.kitware.com/paraview/paraview/merge_requests/2433
- https://gitlab.kitware.com/paraview/paraview/merge_requests/2436

* - Handle updated library paths for catalyst.

  Versions 5.4 and old places libraries under a paraview subdirectory.
  Eg, "lib/paraview-5.4", they are now placed directly under "lib"

- Minor code style cleanup

* Handle update library and python paths for ParaView-5.5

* catalyst: added ParaView_DIR path to spack_env

* BUG: applied the patch to the extracted catalyst source files

* of-catalyst: added new package

* add (FOAM,WM)_PROJECT_DIR  also to spack_env environment

* depends on first openfoam release supporting catalyst

* paraview: added missing self to a member variable

* openfoam-com: added missing env variables to module generation

* openfoam: fixed flake8 errors

* paraview: added Paraview_DIR to env

* catalyst: added osmesa variant

* of-catalyst: added full variant and openfoam version dependency

* paraview-catalyst: use always external expat and netcdf

* of-catalyst: reformatted package description

* paraview-catalyst: removed duplicated function

* catalyst: fixed flake8 error

* of-catalyst: fixed license header

* of-catalyst: minor changes

* of-catalyst: renamed gitrepo with git

* of-catalyst: removed useless gitrepo parameter
2018-12-23 13:40:25 -06:00
Brian Van Essen
bdc9804078 Feature add breathe and m2r (#10180)
* Added a package for the MDAnalysis toolkit.

* Added python packages for breathe and m2r.  Updated versions and URL
for the sphinx package.

* Fixed flake8 error

* Updated package requirements based on feedback.

* Updated with requirements from the setup.py

* Switched it back to pypi.
2018-12-23 13:39:21 -06:00
Neil Flood
451bfbd1ab py-pynio: new package (#10074)
* py-pynio: new package

* Major re-working to add some of the optional dependencies, and make it conform to the approach described in the pynio setup.py comments. Much of it turned out to be too complicated, and I have added some notes in comments to explain this to future adventurers.

* Added variants for the hdf5 and gdal dependencies, which do seem to be genuinely optional. Also added absolute dependencies for jpeg and zlib, which setup.py says it wants, but were being found as the os-installed versions.

* Added descriptions for the new variants, and moved them to above the dependencies
2018-12-23 09:50:41 -06:00
Jim Galarowicz
93d9139ff6 Add missing module env variable setting causing OSS to fail. (#10182) 2018-12-22 17:24:44 -06:00
Justin Stanley
90dce26db9 r-corhmm: new package at 1.22 (#9859) 2018-12-22 19:09:20 +01:00
Satish Balay
fad4ecc90b petsc-3.10.3: syncs with superlu-dist-6.1. (#10166) 2018-12-22 10:40:08 -06:00
Levi Baber
ec2c5e5b0d gpgme: new package (#10174) 2018-12-21 12:17:45 -06:00
Jordan Ogas
b1944d4cbf add charliecloud 0.9.6 (#10176) 2018-12-21 12:17:33 -06:00
Matthias Wolf
a3ecdf1f41 py-numba: fix py-llvmlite version (#10175) 2018-12-21 11:34:32 -06:00
George Hartzell
7f095cee48 Add libiconv variant to glib (#10165)
Enable explicitly building glib with or without libiconv.

Heads up: if you build with ~iconv but there is something else in the
spec that includes libiconv then glib will *still* automagically
discover it and the build will fail.
2018-12-21 11:33:28 -06:00
Elsa Gonsiorowski, PhD
74a5d92f07 Remove /nfs/tmp2 from default build_stage locations (#10170)
* Remove /nfs/tmp2 from default configuration
* /nfs/tmp2 is going away from LC... and doesn’t exist for the rest of the world.
* update documentation to remove /nfs/tmp2 as well
2018-12-21 02:03:54 -08:00
Daryl W. Grunau
36ab7be406 R3D spackage (#10164)
* r3d spackage

* address Adam's review comments

* fix flake8: too many blank lines
2018-12-20 17:23:38 -06:00
Sajid Ali
e57ddda4cc update h5py to 2.9.0 (#10169)
* 	modified:   var/spack/repos/builtin/packages/py-h5py/package.py

* Update package.py

* Update package.py
2018-12-20 17:23:17 -06:00
thelfer
00d84b1978 Update TFEL package (#9995)
* 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)
2018-12-20 15:47:24 -06:00
Mark Olesen
7ded7fdbda OpenFOAM-v1812 - new version (#10167) 2018-12-20 13:18:51 -06:00
Omar Padron
60298787e4 Fix docker builds (#9805)
* move docker test logic to share/spack/qa
* update Dockerfile for archlinux
2018-12-20 11:17:46 -08:00
Omar Padron
56cb691fcc fix multiple issues with the docker images (#9718)
- fixed an issue where some undesirable parts of
   the spack source tree were being copied into
   the image context.

 - added a workaround for a tty ioctl warning on
   ubuntu

 - adjusted how the main images are built so that
   `RUN spack ...` works automatically for child
   images that base themselves on them.
2018-12-20 11:11:55 -08:00
Zack Galbreath
b90f619037 Performance improvements for CDash reporter
* Record build output as an array of lines rather than concatenating to a
  single large string.
* Use string.find to avoid running re.search on every line of output.
2018-12-20 09:23:08 -08:00
Zack Galbreath
6355ee208c Include accurate build time in CDash report 2018-12-20 09:23:08 -08:00
Zack Galbreath
8d0872083c Report current git commit of Spack to CDash
When using the CDash reporter, upload a Update.xml file that
indicates the hash of Spack's current git commit.
2018-12-20 09:23:08 -08:00
Scott Wittenburg
7217b4a4b9 Make sure to urlencode cdash submit parameters 2018-12-20 09:23:08 -08:00
Zack Galbreath
aed9a532c6 Get buildId from CDash at submit time
Pass extra data when submitting to CDash.  If CDash responds with a buildId,
construct and display helpful URL that links to the uploaded report.
2018-12-20 09:23:08 -08:00
Zack Galbreath
738d2bd77a Allow more customization for CDash reporter
Add new command line arguments to `spack install` that allow users
to set the build name, site name, and track in their CDash report.
2018-12-20 09:23:08 -08:00
Zack Galbreath
0bae6626a4 Avoid UnboundLocalError
Make sure cdash_phase is defined before referring to it.
2018-12-20 09:23:08 -08:00
jthies
9110c727bb packages/phist: add maintainer (#10162) 2018-12-20 13:23:35 +01:00
Greg Sjaardema
93c491f729 CGNS: Allow use of git branch versions (#10156)
* CGNS: Allow use of git branch versions

Add ability to use git `master` and `develop` branches of the CGNS library.  The `seacas` package sometimes needs to use the `master` or `develop` branch due to some new changes to the parallel I/O implementation in CGNS which has not yet been released.

* CGNS: Reorder to put newest version on top

Based on review comments, place newest version (develop) first in list.
2018-12-19 20:02:24 -06:00
Todd Gamblin
207c37759c env: all commands that disambiguate specs should be env-aware
- some commands were missed in the rollout of spack environments

- this makes all commands that need to disambiguate specs restrict the
  disambiguation to installed packages in the active environment, as
  users would expect
2018-12-19 17:49:51 -08:00
Mark W. Krentel
84b33523ec dyninst: patch to build dyninst with older gcc (#10160)
* dyninst: patch to build dyninst with older gcc

Add 'v9.3.2-auto.patch'.  This patch changes some 'auto t: type' usage
to the older but equivalent 'type.begin()'.  This allows building
dyninst 9.3.2 with gcc 4.4 which doesn't support the newer syntax.
This patch is harmless with newer gcc.

* Fix typo in patch.  (My bad for sloppy cut-and-paste.)

* Restrict the patch to gcc 4.7 and earlier.  gcc 4.8 supports the newer
usage and thus doesn't need the patch.
2018-12-19 17:24:43 -08:00
Michael Kuhn
84c547cf6e sqlite: add 3.26.0 (#10138) 2018-12-19 17:07:03 -06:00
Owen Solberg
6b1b9031ea updated checksum for kallisto (#10158) 2018-12-19 17:06:33 -06:00
Michael Kuhn
67ab73d381 fetch_strategy: improve GitFetchStrategy (#10153)
Currently, only the Git repsository's URL shows up in the `spack info`
output, which makes it hard to distinguish different versions:
```
Safe versions:
    develop    [git] https://github.com/LLNL/H5Z-ZFP.git
    0.8.0      [git] https://github.com/LLNL/H5Z-ZFP.git
    0.7.0      [git] https://github.com/LLNL/H5Z-ZFP.git
```

This change adds additional information as shown when cloning a Git
repository:
```
Safe versions:
    develop    [git] https://github.com/LLNL/H5Z-ZFP.git on branch master
    0.8.0      [git] https://github.com/LLNL/H5Z-ZFP.git at commit af165c4
    0.7.0      [git] https://github.com/LLNL/H5Z-ZFP.git at commit 58ac811
```
2018-12-19 14:33:58 -08:00
jthies
5f3d9a4076 phist tag 1.7.5 was moved (#10155) 2018-12-19 13:36:49 -06:00
sknigh
5adec7e491 Updated Dakota to 6.9 (#10157)
* Updated Dakota to 6.9

* Change comment wording
2018-12-19 13:03:14 -06:00
Adam J. Stewart
adfbe71b1b Add python bindings to libxslt (#10149) 2018-12-19 11:39:19 -06:00
Adam J. Stewart
654360d2ad Add missing libiconv dependency to libxml2 (#10148) 2018-12-19 11:38:14 -06:00
Adam J. Stewart
0fcca9f422 Add list_url to docbook-xml (#10146) 2018-12-19 11:37:54 -06:00
Adam J. Stewart
e19e176e67 Add latest version of docbook-xsl (#10147) 2018-12-19 11:37:35 -06:00
Adam J. Stewart
ed0ca18c3c Restrict patch to oldest version of libbsd (#10145) 2018-12-19 11:37:11 -06:00
Satish Balay
c1e562f333 PETSc: add version 3.10.3 (#10154) 2018-12-19 10:46:02 -06:00
Neil Flood
a6e2f1a96a mapserver: new package (#10067) 2018-12-19 10:04:25 +01:00
Massimiliano Culpo
e057500009 Added labels in github issue templates (#10128) 2018-12-19 09:56:26 +01:00
Adam J. Stewart
c1a99bf8ec Add additional info to MesonPackage docs (#10133)
* Add additional info to MesonPackage docs

* No Pygments lexer for Meson code, default to none
2018-12-18 21:51:42 -06:00
Elsa Gonsiorowski, PhD
b091fcdb8e fix for mpifileutils package (#10142)
* proper include & linking of libarchive

* due to linux headers, mfu can't build on mac

* hard code deps in configure line

rather than relying on pkg-config

* +xattr during config

* must also link the lib

* find mfu.h

* long lines
2018-12-18 21:51:24 -06:00
Dave
b27f81ac00 WarpX: Added dependency on fftw when +psatd (#10144) 2018-12-18 20:11:08 -06:00
Matthias Wolf
22d9938560 flatbuffers: add 1.10.0 (#10137)
Also unpin the version from the arrow package.
2018-12-18 10:53:02 -06:00
Adam J. Stewart
f8c650b9c4 Add pdf variant to cairo (#10135) 2018-12-18 16:39:36 +01:00
Justin Stanley
59d7854b89 clp: add build_directory, remove old hack (#10112)
* clp: add build_directory, remove old hack

* clp: use spack-build for building
2018-12-18 08:36:40 -06:00
Adam J. Stewart
d4b5fc141c Add latest version of libxkbcommon (#10134) 2018-12-17 19:27:58 -06:00
Alberto Chiusole
a41571a1b6 Add variant to ecflow to choose whether to use static boost libraries. (#9933)
When this variant is set, it requires boost to be built with the +pic variant.
2018-12-17 19:23:53 -06:00
David Hows
c70ea22c6f Add thread count variant to atlas (#9999)
* Add thread count variant

Atlas automatically configures itself and optimizes to run with a fixed number of threads. This can be overridden during compile by setting a flag and atlas will tune itself to use the specified number, rather than all system CPUs. 

Default value is the existing logic, autoconfigure.

* Fix Linting

* Another lint for longline
2018-12-17 19:12:00 -06:00
Jannek Squar
09d2df690a Add spack package for saga-gis (#10018)
* Add spack package for saga-gis

* Adjusted license header

* Adjust saga-gis package, added fixme comments

* Removed version constraint

* Fixed fixme comment
2018-12-17 19:10:50 -06:00
Matthias Diener
776f99a414 git: add version 2.20.1 (#10130) 2018-12-17 17:36:57 -06:00
Omar Awile
d313291c2d Added RocksDB package (#10084)
* Added rocksdb package

* Fixes based on @tristan0x and @pramodk comments

* Cleanup

* A couple minor fixes based on @adamjstewart 's advice

* Fixed flake8 errors
2018-12-17 17:36:45 -06:00
Adam J. Stewart
c2b546fa97 Add missing gettext dependency to at-spi2-core (#10124) 2018-12-17 14:00:53 -06:00
Todd Gamblin
37954a78ff Revert "mark: Create new package. (#7069)" (#10131)
This reverts commit 90b34c96d6.
2018-12-17 11:15:32 -08:00
Adam J. Stewart
bcd65906c9 Add latest version of gdk-pixbuf (#10126) 2018-12-17 13:04:40 -06:00
Adam J. Stewart
5964d14936 Add latest version of ghostscript (#10123) 2018-12-17 13:04:16 -06:00
Adam J. Stewart
fe73043170 Add missing libbsd dependency to libxdmcp (#10122) 2018-12-17 13:04:00 -06:00
Adam J. Stewart
9913b3b846 Add latest version of libbsd (#10121) 2018-12-17 13:03:43 -06:00
Adam J. Stewart
2d0ddd5d11 Add help messages to spack gpg subcommands (#10117) 2018-12-17 13:02:51 -06:00
Adam J. Stewart
d5d64bdf3b spack buildcache: --allow_root -> --allow-root (#10115) 2018-12-17 13:02:28 -06:00
Adam J. Stewart
29f26da04d Update Spack's Bash completion script (#10114)
* Update Spack's Bash completion script

* spack mirror create options changed
2018-12-17 13:02:09 -06:00
Adam J. Stewart
a8a0aee3f3 Add patch to fix windows.h include in freetype (#10075)
* Add patch to fix windows.h include in freetype

* Fix patch
2018-12-17 13:00:43 -06:00
Mark Olesen
cbedd507cf ENH: fixes and updates for openfoam-com build (#10065)
- previous removal of FOAM_EXT_LIBBIN (ThirdParty) from the environment
  during the build could lead to the system scotch library being found
  instead of the spack installation.

  Avoid this largely cosmetic change to the setting in favour of
  improved build robustness. These modifications will be largely
  superfluous in the 1812 release anyhow.

- Split the patching algorithm into 'regular' and '@:1806' since the
  next versions of openfoam will again need fewer patches.

- Add hook into foamCreateManpage to be used where available
2018-12-17 12:58:09 -06:00
Greg Sjaardema
ccce3b79ab SEACAS: Add preliminary support for seacas package (#9972)
* SEACAS: Add preliminary support for seacas package

* Eliminate leftover from package I copied from.

* And remove another stray line

Sorry, thought I had checked this better...

* SEACAS: Shorten long lines; fixup indentation

* SEACAS: Remove unused os import

* Add PLASMA version 18.11.0 and Lua variant (#9689)

* Add PLASMA 18.11.1 with optional Lua and test for headers

* New versions for a few python modules (#9969)

* py-jupyter-console: Add version 5.2.0

* py-jupyter-core: add version 4.4.0

* py-lxml: add version 4.2.5

* py-zmq: add version 17.1.2

* py-terminado: add version 0.8.1

* py-pexpect: add version 4.6.0

* py-pytables: add version 3.4.4

* SEACAS: Default to mpi on

* SEACAS: Modify to reduce variants

Instead of using an `allpkgs` or explicitly specifying each individual subset,
changed to minimize variants:
 * By default, the exodus and IOSS libraries are built and a few
   executables directly related to the IOSS library.
 * variant `common` defaults to True and builds the "common" seacas
   applications.  This is based on my definition, so there may be
   could be some discussion on what belongs here.
 * variant `legacy` defaults to True and builds the remainder of the
   seacas applications.  These are still used, but mainly in more
   esoteric areas.  Might be better to default to False, but I wanted
   default to just build everything which is what other SEACAS builds
   always do...

Removed the `kokkos` variants for now as I need to do some more
thinking on how best to support this.  Not often used currently,
so shouldn't be an issue.

Cleaned up other issues raised by Adam and found by me.

* SEACAS: Address flake8 issues

* SEACAS: Clean up variant package logic

Fixed package variant logic.
Consolidated some other variant handling logic
Other minor refactors for hopefully better readability

* SEACAS: Fix flake8 error

Missing whitespace around operator fixed.
2018-12-17 12:57:31 -06:00
Ricardo Silva
f979b974a5 GDL: python integration fixes (#9936)
* GDL: python integration fixes

* renamed python-related variants to follow the convention
* building the Python module requires patches currently targetting 0.9.8 othwerwise asking for the Python module *only* builds the Pyhton module
* building the python module also requires patching the vendored (with the GDL) antlr to be built as a shared library

* Typo

Co-Authored-By: rmsds <ricardo.d.silva@gmail.com>

* Rename embed-python variant to embed_python
2018-12-17 12:47:16 -06:00
TZ
a02cf107b5 zoltan: rely on MPI wrappers instead of guessing MPI libraries (#8986)
* zoltan: only add gussed MPI libs if no MPI wrappers are used

- if MPI-wrappers are used for compilation, we can assume that
  linking works without manually specifying MPI libs
  (guessing may result in wrong libs, cf. #8979)
- thus, only guess the NPI libs and add them explicitly if no
  MPI-wrappers are used
- use llnl.util.filesystem.find_libraries instead of a locally
  defined routine to guess the MPI libs if needed
  (cf. #8979)

* zoltan: rely on MPI-wrappers to know the required MPI libs
2018-12-17 12:45:49 -06:00
lingnanyuan
90b34c96d6 mark: Create new package. (#7069)
* mark: Create new package.

* mark: change description.

* mark: change description.

* mark: Delete set_up environment.

* mark: replace join_path(prefix.bin, mark) with prefix.bin.mark
2018-12-17 12:34:16 -06:00
Adam J. Stewart
ae307f5b0f Add latest version of atk (#10125) 2018-12-17 08:48:31 +01:00
jthies
17c77533ee packages/phist: new version 1.7.5 (#10120) 2018-12-16 13:35:44 -06:00
Peter Scheibel
0217a651c8 mirrors: patches are now properly added to mirrors (#8993)
* This fixes a number of bugs:

  * Patches were not properly downloaded and added to mirrors.

  * Mirror create didn't respect `list_url` in packages

  * Update the `spack mirror` command to add all packages in the
    concretized DAG (where originally it only added the package specified
    by the user). This is required in order to collect patches that are specified
    by dependents. Example:
      * if X->Y and X requires a patch on Y called Pxy, then Pxy will only
        be discovered if you create a mirror with X.

  * replace confusing --one-version-per-spec option for `spack mirror create`
    with --versions-per-spec; support retrieving multiple versions for 
    concrete specs

* Implementation details:

  * `spack mirror create` now uses regular staging logic to download files 
    into a mirror, instead of reimplementing it in `add_single_spec`.

  * use a separate resource caching object to keep track of new
    resources and already-existing resources; also accepts storing
    resources retrieved from a cache (unlike the local cache)

  * mirror cache object now stores resources that are considered
    non-cachable, like (e.g. the tip of a branch);

  * the 'create' function of the mirror module no longer traverses
    dependencies since this was already handled by the 'mirror' command; 

  * Change handling of `--no-checksum`:

    * now that 'mirror create' uses stages, the mirror tests disable
      checksums when creating the mirror

    * remove `no_checksum` argument from library functions - this is now
      handled at the Spack-command-level (like for 'spack install')
2018-12-16 10:15:22 -08:00
Matthias Diener
9f528ccba0 env setup: support --help for cd/env commands (#10069) 2018-12-15 17:47:05 -08:00
Justin Stanley
87615d54cc r-multitaper: new package at 1.0-14 (#10110) 2018-12-15 20:08:33 +01:00
Massimiliano Culpo
61239257f9 Store ccache directory explicitly in Travis. (#10119)
* Store ccache directory explicitly in Travis.

Despite we started using ccache on `develop`, it seems the cache itself
is not stored from one CI build to the next. This might be du to the
fact that our language on Travis is Python and not C nor C++.

Hence here we store the ccache directory explicitly.
2018-12-15 17:53:51 +01:00
Justin Stanley
c973d761e9 r-popgenome: new package at 2.6.1 (#10108) 2018-12-15 08:44:20 -06:00
Justin Stanley
3b59bf9efa r-xnomial: new package at 1.0.4 (#10111)
* r-xnomial: new package at 1.0.4

* r-xnomial: add list_url
2018-12-15 08:43:08 -06:00
Adam J. Stewart
1424830378 spack pkg add: add help message (#10116) 2018-12-15 11:44:37 +01:00
Christoph Junghans
71a86bb840 .travis.yml: enable ccache (#6370) 2018-12-15 10:52:31 +01:00
Adam J. Stewart
caf94253e0 Add latest version of libsigcpp (#10103) 2018-12-14 21:09:33 -06:00
Adam J. Stewart
a55976747e Add latest version of bdw-gc (#10100) 2018-12-14 21:09:19 -06:00
Adam J. Stewart
316df3cd37 Add latest version of libatomic-ops (#10099) 2018-12-14 21:09:04 -06:00
Levi Baber
7a0c334d81 pbsuite: pythonpath should be prepended not set (#10113) 2018-12-14 18:12:51 -08:00
Justin Stanley
6469f8953d clp: add explicit datadir (#10109) 2018-12-14 16:20:47 -06:00
Andrew Gaspar
e9281cc436 Updates to Google Test: (#10079)
- Add version 1.8.1
- Change to sha256 checksums
2018-12-14 13:23:08 -06:00
Michael Kuhn
f224f4a57e qt: fix openssl dependency for older versions (#10106) 2018-12-14 11:11:31 -06:00
Adam J. Stewart
34499c9b82 Add latest version of libxslt (#10098) 2018-12-14 10:47:23 -06:00
Adam J. Stewart
d7b4160e67 Add latest version of poppler (#10101) 2018-12-14 10:47:07 -06:00
Adam J. Stewart
bfdbadf2bb Add latest version of cairo (#10102) 2018-12-14 10:46:52 -06:00
Massimiliano Culpo
020a01b18f Updated the Travis environment to xenial (#10090)
* Updated the Travis environment to xenial.
* Python 2.6 needs to remain on Trusty (can't be installed from Xenial)
2018-12-14 08:43:58 -08:00
Massimiliano Culpo
488e513e84 Turn on verbose output for MPICH builds in Travis (#10105)
Lately many CI runs for PRs are failing due to the `mpich` build that
times out on Travis (10 mins. without output). As the timeout seems to
happen consistently during the build phase, increasing the verbosity of
that test can help working around the issue.
2018-12-14 08:43:04 -08:00
Greg Becker
d2d0ab06b7 Fix spack package inheritance for module variables (#10097)
* we weren't properly setting module variables for the root package in a DAG -- just for transitive dependencies.
2018-12-14 08:37:22 -08:00
Adam J. Stewart
05f9c68c30 Add latest version of meson (#10104) 2018-12-14 09:10:55 -06:00
Elsa Gonsiorowski, PhD
76bfdd65fc make dtcmp an autotools spackage (#10095)
* make dtcmp an autotools spackage

* better code
2018-12-14 09:08:57 -06:00
Adam J. Stewart
3432a71430 Add new packages for ELSD and ELSDc (#10072) 2018-12-13 22:05:24 -06:00
Matthias Diener
289ad8f375 cmake: add version 3.13.2 (#10092) 2018-12-13 17:35:58 -06:00
Miles Perry
b7a2192f91 Feature/spm (#10053)
* extract spm12.ctf to get binaries and libraries

* flake8 edits

* flake8 edits

* spm: updates

* spm: previous version
2018-12-13 12:43:45 -06:00
Eric
7f60226662 trf: add version 4.07b and install fixes (#10093)
* trf: add version 4.07 and install fixes

* suggested fixes
2018-12-13 12:42:26 -06:00
Satish Balay
e87d394038 superlu-dist: update v6.1.0 checksum (#10078) 2018-12-13 09:05:47 -06:00
Jon Rood
5dd9a321a4 Add CUDA_HOME variable to cuda module file. (#10088) 2018-12-13 08:05:13 +01:00
Christoph Junghans
0b42cf4d96 lammps: add new stable version (#10086) 2018-12-12 11:08:59 -06:00
Denis Davydov
7d5058ebe4 boost: add 1.69.0 (#10083)
signals (v1) was removed in 1.69.0
2018-12-12 10:14:47 -06:00
Eric
ce00c13297 LEMON: Create new package (#10077) 2018-12-11 23:08:45 -06:00
Elsa Gonsiorowski, PhD
2b483f24f1 added sha256 for scr v1.2.0-2 (#10082) 2018-12-11 22:56:23 -06:00
Mark W. Krentel
ab8870fd51 gcc: fix sys_ustat.h patch for gcc 4.8 and 4.9 (#10081)
The sys_ustat.h.patch to file sanitizer_platform_limits_posix.cc from
PR #10046 does not apply cleanly to gcc 4.8 or 4.9 (or earlier).

GCC up to 4.8.x either don't have libsanitizer or else don't include
ustat.h in sanitizer_platform_limits_posix.cc.

GCC 4.9.x includes ustat.h, but needs a slightly different patch.

The patch applies to GCC 5.x up to 6.4, and 7.x up to 7.3 and also
8.1.0.

The patch is already included in the tar files for gcc 6.5.0, 7.4.0
and 8.2.0.
2018-12-11 22:54:12 -06:00
Stephen Herbein
92229e46e3 flux-core & flux-sched: fix compilation and dependencies (#10049)
* flux-sched: fix compilation errors

configure was being run twice becuase the staging symlinks were
confusing autotools

mirror flux-core in building in a subdirectory to avoid other common
compilation problems, like the one in PR #3543

* flux-core: update dependencies

munge is no longer a dependency

provide hints for lua version so that `spack install flux-core` works
"out-of-the-box". Currently, when no explicity version is provided, the
concretizer attempts to use lua@5.3, which is invalid. Closes #10000
2018-12-11 22:34:58 -06:00
Brian Van Essen
abd575f273 Update LBANN generator and bug fix (#9906)
* Added a package for the MDAnalysis toolkit.

* Added Ninja as the generator for LBANN, Hydrogen, and Aluminum.  Also
fixed a bug in how the Conduit variant is included in LBANN.  Added
new versions for Hydrogen and LBANN.

* Updated lbann package so that the CMAKE parameters are set when the
variant is on and off.
2018-12-10 15:12:43 -08:00
Adam J. Stewart
ad046402b6 Make downloads from list_url deterministic (#10047) 2018-12-10 14:36:55 +01:00
Lukasz
22446d7303 mofem: add new releases and minor changes (#9138) 2018-12-10 14:33:31 +01:00
Matthias Diener
2670823c1e cloc: URLs are now consistent (#10068)
Fixed in upstream:
https://github.com/AlDanial/cloc/issues/352
2018-12-10 14:28:52 +01:00
Tom Payerle
8f0fc259c8 metis: Fix issues with gcc6 and misleading indentation (#10058)
Added patch to GKlibSystem.cmake to disable warnings (which get
promoted to errors) due to -Wmisleading-indentation being added
to -Wall in gcc 6
2018-12-09 13:08:38 -06:00
Matthias Diener
f0326c0ccf gcc: add versions 7.4, 6.5 (#10061) 2018-12-08 09:22:28 -06:00
Jon Rood
2f80432f62 OpenMPI: adding static libraries with slurm support for latest versions. (#10055) 2018-12-08 13:49:09 +01:00
Abhinav Bhatele
05155cbc59 TraceR: add release tag/version (#10054) 2018-12-08 01:09:48 -06:00
Cameron Smith
130706d1b8 pumi: shared variant (#10057) 2018-12-08 01:08:58 -06:00
Matthias Diener
718379eea1 eztrace: add new package (#10060) 2018-12-08 01:06:28 -06:00
Justin Stanley
3955f7cba5 r-expint: new package at 0.1-5 (#10043) 2018-12-07 18:21:40 -08:00
Axel Huebl
892ae2043f Fix Catch2 Single Header (#10022)
Fix the install of the single header amalgate in catch2.

The public API for catch < 2.3.0 was "#include <catch.hpp>".
For 2.3.0+ it is "#include <catch2/catch.hpp>"
2018-12-07 18:13:40 -08:00
James Clark
1650e9c0b2 gcc: Add patch to build GCC with glibc 2.28 and later (#10046) 2018-12-07 18:06:07 -08:00
Justin Stanley
4471f9ea32 pbsuite: new package at 15.8.24 (#10059) 2018-12-07 18:01:44 -08:00
Justin Stanley
4d5b136270 scallop: new package at 0.10.3 (#10041) 2018-12-07 17:39:07 -08:00
Justin Stanley
76ab54caec r-sseq: new package at 1.20.0 (#10042) 2018-12-07 11:24:55 -06:00
Justin Stanley
d72ba01a71 r-blockmodeling: new package at 0.3.1 (#10044) 2018-12-07 11:24:43 -06:00
Mario Melara
138d74f40c Spades: Add version 3.13.0 (#10033)
* Spades: Add version 3.13.0

In version 3.13.0 the CmakeLists.txt dir is at a different location than
in other versions. Versions up to 3.12.0 are located in "src" whereas
3.13.0 is a level deeper at "assemblers/src".

* Remove git and add new version hash
2018-12-07 11:24:17 -06:00
Justin Stanley
fb5880ab14 clp: new package at 1.16.11 (#10040) 2018-12-06 19:31:33 -08:00
Michael Kuhn
6ec8e4146f cdo: fix URLs (#10025) 2018-12-06 18:04:50 -06:00
Gregory Becker
b072c9b457 multimethod: slight refactoring, documentation for code review 2018-12-06 15:48:23 -08:00
Gregory Becker
2621af41d1 fix MRO for multimethod.__call__ using iterative algorithm.
Add tests MRO for inherited multimethods with multiple inheritance
Add tests for inherited and overridden multimethods
2018-12-06 15:48:23 -08:00
Todd Gamblin
43d94d4a30 tests: fully parametrize multimethod test
- all multimethod tests are now run for both `multimethod` and
  `multimethod-inheritor`

- do this with a parameterized fixture (pkg_name) that runs the same
  tests on both
2018-12-06 15:48:23 -08:00
Todd Gamblin
61b859193d multimethod uses Spec() instead of parse_anonymous_spec()
- simplify logic in multimethod
- remove the requirement of multimethod invocations to walk up the stack.
2018-12-06 15:48:23 -08:00
Todd Gamblin
88cb11758b spec: refactor and clean up Spec initialization
- Since early Spack versions, the SpecParser has (weirdly) been
  responsible for initializing Spec fields.

- This refactors initialization to take place in Spec.__init__, as it
  probably should have originally.

- This makes the code easier to read, the parser easier to understand,
  and removes the use of __new__ in the parser to initialize the Spec.

- This also makes it possible to make a completely empty Spec with
  `Spec()` -- this is an abstract Spec that will match anything.
2018-12-06 15:48:23 -08:00
Todd Gamblin
e0d22519cd remove spurious print in zlib patch method 2018-12-06 15:48:23 -08:00
Gregory Becker
7bb7b94666 Added test for multimethod inheritance 2018-12-06 15:48:23 -08:00
Satish Balay
f35a91a88a superlu-dist: update to version 6.1.0 (#10037) 2018-12-06 09:46:17 -06:00
Jon Rood
bba6df4a1f Adding patch to remove unicode character from pyrope readme file (#9988)
* Adding new versions of py-rope.
2018-12-06 11:11:23 +01:00
Nichols A. Romero
298da8e2c4 Quantum ESPRESSO update - Nov 2018 (#9853)
* Add mising QE releases.

* Update QE dependencies and conflicts.

* QE 6.3 install method requires a patch to work properly.

* include QE git develop branch

* QE HDF5 needs Fortran support. HDF5 versions prior to 1.8.16 leads to QE runtime errors.

* Number of MKL related conflicts for QE.

* Flake8 fixes for QE for hdf5 lines.

* Pass in all compilers properly to QE configure

* Fixed external BLAS/LAPACK linkage in QE.

* Library search was problematic in QE.

* Add section headings to QE package.

* External FFTW compatible libraries properly detected in QE.

* Flake8 fixes for QE

* QE configure defaults to False for ELPA, thus Spack package should as well.

* QE depends on FFTW3 provider instead of FFTW explictly.

* Primary QE repo is gitlab.com, not github.com. Github mirror lags behind gitlab site.

* Support both 6.3-backports branch and develop branch in QE.

* QE patch needed for proper MKL detection. MKL_ROOT is detected and preferred, still falls back to finding first MKL installation in /opt/intel.

* Use FFTW-API provider versioned interface for specify QE FFT dependency.

* QE FFTW conflicts no longer need thanks to FFTW-API provider versioned interface.

* Flake8 3.6.0 fix in support of https://github.com/spack/spack/pull/9853

* Fix QE conflict with ilp64 variant in support of https://github.com/spack/spack/pull/9853

* Remove custom url_for_version for QE package and use builtin url instead. In support of https://github.com/spack/spack/pull/9853

* Use FFTW builtin flags for QE instead of custom Python code. In support of https://github.com/spack/spack/pull/9853

* Fix typo in QE package comments. In support of https://github.com/spack/spack/pull/9853

* Future proof QE package patches in anticipation of QE >= 6.3.1. In support of https://github.com/spack/spack/pull/9853
2018-12-06 10:57:52 +01:00
Eric
dcb27c008a DIAMOND: Add version 0.9.23 (#10030) 2018-12-05 19:16:51 -06:00
Jannek Squar
8951cc5d77 Fix doxygen package (#10021) 2018-12-05 19:02:38 -06:00
Matthias Diener
0009854e33 cloc: add version 1.80 (#10029) 2018-12-05 18:55:27 -06:00
sknigh
060d1944d4 Rewrite Rust package (#9998) 2018-12-05 20:15:45 +01:00
Matthias Diener
5434a25076 openblas: add version 0.3.4 (#10016) 2018-12-05 08:41:58 -06:00
Christoph Junghans
d149ab63a9 pfunit: add mpi-test patch (#9387) 2018-12-05 06:15:16 -07:00
Jon Rood
583617ed67 Hwloc and numactl updates (#9987)
* Adding version 2.0.12 of numactl.

* Adding new versions of hwloc.

* Adding NVML variant to hwloc.

* Adding gl variant to hwloc.

* Updating hwloc numactl dependency and gl dependency.

* Using gl virtual package in hwloc.
2018-12-05 10:26:53 +01:00
Justin Stanley
87bf5296c3 biobloom: new package at 2.2.0 (#10014) 2018-12-04 17:20:24 -06:00
Justin Stanley
68a0305e13 sdsl-lite: new package at 2.1.1 (#10013) 2018-12-04 17:20:10 -06:00
Miles Perry
6020123a0b added bwa runtime dep (#10012) 2018-12-04 17:19:56 -06:00
Matthias Diener
deda7fdd60 ffmpeg: add version 4.1 (#10015) 2018-12-04 17:19:40 -06:00
Denis Davydov
121362383b dealii: do not hardcode prefix.include for BLAS/LAPACK (#10008)
* dealii: do not hardcode prefix.include for BLAS/LAPACK

* dealii: rename lapack_blas -> lapack_blas_libs
2018-12-04 16:55:41 -06:00
HAOCHENG LIU
ce485731bb Remove openmp version guard in vtkm and add precision options (#10005)
Clang 8.0 now supports openmp 4.5 and many commerical compilers also support
openmp >= 4.0. This commit removes the openmp version guard and rely on CMake
to throw errors out when openmp version requirement is not satisified.

It also add options for precision control.
2018-12-04 11:53:17 -08:00
Greg Sjaardema
9f8e445510 CGNS: Add option for 64-bit integers (#9990)
* CGNS: Add option for 64-bit integers

Added the `int64` variant which will build the library using 64-bit integers for certain values.  This gives the capability to have models with more than 2 billion cells and/or nodes.  

Beginning with CGNS-3.1.0, two new typedef variables have been introduced to support 64-bit mode. The `cglong_t` typedef is always a 64-bit integer, and `cgsize_t` will be either a 32-bit or 64-bit integer depending on how the library was built. Many of the C functions in the MLL have been changed to to use `cgsize_t` instead of `int` in the arguments. These functions include any that may exceed the 2Gb limit of an` int`, e.g. zone dimensions, element data, boundary conditions, and connectivity. In Fortran, all integer data is taken to be `integer*4` for 32-bit and `integer*8` for 64-bit builds.
2018-12-04 18:13:49 +01:00
Greg Sjaardema
ec67bbec2f EXODUS: Update version and dependencies (#9971)
* EXODUS: Update version and dependencies

Allow pulling master version from git.  Note that I hope to have better versioning "soon"

Add requirement to use Netcdf-4.6.1 or later as those versions no longer require changing the `maxdims` or `maxvars` defines in the netcdf.h include file.  With these versions, Exodus can use an unmodified NetCDF.  These versions of NetCDF are also better than previous versions (code quality, performance, robustness).

It is still possible to run exodusII with previous NetCDF versions, but I don't know how to specify that the dependency where maxdims/maxvars variants are only needed for versions prior to 4.6.0.  

I also removed the explicit dependency on HDF5 as that dependency should be applied through the NetCDF dependency.

* Remove white-space on blank line
2018-12-04 09:48:15 -06:00
Axel Huebl
427993b951 c-blosc: 1.15.0 (#10009)
Add latest version of c-blosc.
2018-12-04 09:10:08 -06:00
Kelly (KT) Thompson
4d26faac81 Provide a new spackage for py-pint. (#9991)
* Provide a new spackage for py-pint.

Pint is a Python package to define, operate and manipulate physical quantities:
the product of a numerical value and a unit of measurement. It allows arithmetic
operations between them and conversions from and to different
units. https://pint.readthedocs.io/en/latest/

* Switch hash from md5 to sha256.
2018-12-04 08:58:11 -06:00
Greg Sjaardema
b471e2768b MATIO: New versions (#9993)
Add several new versions so that current functionality can be accessed.  Current version is now 1.5.13.

Update `url`, `list_url`, and `list_depth` so spack can find available versions
2018-12-04 08:53:15 -06:00
Oliver Breitwieser
3cf998a5db Add tmux@2.8 (#10010) 2018-12-04 08:37:09 -06:00
Greg Sjaardema
231888f3e9 PNETCDF: Update with current versions (#9982)
* PNETCDF: Update with current versions

Added latest versions. (1.10.0, 1.9.0, 1.8.1)

* PNETCDF: Revert version change in url

Reverted the change in the url variable version since not required.
2018-12-04 08:31:41 -06:00
Greg Sjaardema
6e3b016aa2 NETCDF: Add new versions and update url (#9970)
* NETCDF: Add new versions and update url

Added the 4.6.2 version which was recently released.
Changed the url to point to the official Unidata site and added option to retrieve master version from git.

* NETCDF: checksum and version updates

Reverted back to use of previous URL.  The `https://github.com/Unidata/netcdf-c/archive/v4.6.2.tar.gz` location is newer, but spack does not seem to be able to access all of the versions at that location -- only goes back to 4.5.0.  Since several installations are still providing 4.4.0, thought it best to go back to previous url.  However, it looks like the naming convention has changed since 4.6.2, so need to provide explicit url for 4.6.2.  Probably best to go to a `url_for_version()` scheme if that naming convention stays in place?
2018-12-04 15:03:25 +01:00
Bert Wesarg
262b3f859e boost: 1.68 also needs boost_1.67.0_pgi.patch (#9980)
Its in upstream with the upcoming 1.69 release though.
2018-12-04 14:49:20 +01:00
Peter Scheibel
34f64f1f3f improved constraint conflict error message (#9975) 2018-12-04 14:19:57 +01:00
Matthias Wolf
e3aa36f4cb fix: adapt junit template to escape std{out,err} (#9935) 2018-12-04 14:05:45 +01:00
George Hartzell
0c3f220fb1 Disallow bcl2fastq2 on OS X (#9966)
* Disallow bcl2fastq2 on OS X

[Illumina's computing requirements][reqs] claim support for RHEL/CentOS and
go on to say:

> May be possible to install and run on other 64-bit Linux distributions or Unix variants.

The sufficient issue is its reliance of malloc.h.  There may be more.

[reqs]: https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software/computing-requirements.html

* Add an informative msg for the user
2018-12-04 13:44:15 +01:00
Neil Flood
e3d204cb8f Expand dependency on qt to allow qt4 (#9964) 2018-12-04 13:37:37 +01:00
Satish Balay
808c2ea5ce petsc: when petsc is built with fortran [default in spack] its best to use hdf5+fortran (#9986) 2018-12-04 13:32:30 +01:00
Neil Flood
47b7016ea7 r-optparse: new package (#9967) 2018-12-04 13:20:08 +01:00
Nick Forrington
9551b34cb5 pgi: Add checksum for PGI 18.10 (#9985) 2018-12-04 13:12:20 +01:00
Matthias Diener
dfb02fd078 cmake: add version 3.13.1 (#9983) 2018-12-04 13:09:49 +01:00
Levi Baber
27e8fcb945 abyss: new version (#9981) 2018-12-04 13:02:36 +01:00
sknigh
a9695bac50 Added missing libtool dependencies to libvterm and unibilium (#10007) 2018-12-04 13:01:37 +01:00
Robert Maynard
0d033a042c Download CMake sources from the Github releases (#10003)
Now that CMake is providing CMake release artifacts on github,
we should prefer those as they have better download speeds and
uptime.
2018-12-03 12:35:51 -06:00
jthies
3a2045b7c0 Phist 1.7.4 (#9996)
* packages/phist: new version 1.7.4 with new variant 'host' to enable/disable host-specific optimizations.
2018-12-03 09:40:51 -06:00
HAOCHENG LIU
66a62d82c4 Bump vtkm to version 1.3 and add new features (#9968)
This commit allows users to enable openmp, rendering, logging and mpi
in vtkm. Meanwhile, it adds support for cuda architecture selection.

[VTK-m 1.3 Release notes](https://gitlab.kitware.com/vtk/vtk-m/tags/v1.3.0)
2018-11-30 19:48:22 -08:00
Mark W. Krentel
cc5446f25c hpctoolkit: overhaul to use spack dependencies (#9946)
Overhaul hpctoolkit to AutotoolsPackage and to build its dependencies
directly from spack instead of using hpctoolkit-externals.

Remove hpctoolkit-externals since it's no longer needed.
2018-11-30 18:11:12 -08:00
jwallior
930debcf35 New versions for a few python modules (#9969)
* py-jupyter-console: Add version 5.2.0

* py-jupyter-core: add version 4.4.0

* py-lxml: add version 4.2.5

* py-zmq: add version 17.1.2

* py-terminado: add version 0.8.1

* py-pexpect: add version 4.6.0

* py-pytables: add version 3.4.4
2018-11-28 21:44:15 -06:00
Piotr Luszczek
8375b5b571 Add PLASMA version 18.11.0 and Lua variant (#9689)
* Add PLASMA 18.11.1 with optional Lua and test for headers
2018-11-28 16:59:05 -06:00
Ondřej Čertík
62f1cf3678 Add f18 package (#9183)
* Add f18 package

* Fix flake8 errors

* Install the f18 binary into prefix.bin by hand

* Add spack-build into the path

* Fix the license header
2018-11-28 14:13:30 -06:00
Massimiliano Culpo
e998a399da Injected flags have a consistent order (#9960)
Fixes #9908

Spack was assembling flags in a manner that could in different
orderings for repeated concretizations of the same spec and config
2018-11-28 10:23:38 -08:00
Michael Kuhn
5cea4a75d7 glib: disable SELinux explicitly (#9956) 2018-11-28 10:06:17 +01:00
George Hartzell
e4e980ee97 bcl2fastq2 package: recursively delete after copy (#9959)
Fixes #9944

73c978d replaced a move with a copy, which cased rmdir to fail (as
it expects an empty directory). This switches to use `shutil.rmtree`
instead.
2018-11-27 17:22:14 -08:00
Scott Wittenburg
33b112a60d Expose option to save all dependencies when writing spec.yaml (#9965) 2018-11-27 17:13:39 -08:00
Jon Rood
4c3091b05e Fixing problems with lammps dependencies voropp and latte (#9909)
* Fixing problems with lammps dependencies voropp and latte.

* Always replacing CFLAGS in voropp and specifying voropp+pic dependency in lammps.
2018-11-27 16:55:21 -07:00
Matthias Diener
2164181d0a git: add version 2.19.2 (#9961)
Also fixes instructions for new releases
2018-11-27 16:32:22 -06:00
Neil Flood
8a78c9c6bc Rename py-proj to py-pyproj, consistent with Spack's current naming conventions (#9962) 2018-11-27 16:31:30 -06:00
thelfer
2e04f3daab new package: add support for the tfel package (#9930) 2018-11-27 07:16:55 +01:00
Michael Kuhn
16d3e44515 py-pygobject: add missing pkgconfig dependency (#9955) 2018-11-26 21:41:44 -06:00
Axel Huebl
b26c85301d OpenMPI: Prefer Last 3.X (#9945)
The latest OpenMPI release, v4.0.0, does not build with many GCC
variants. Since this is our default, a lot of users get hit.

Let's wait for some point releases.
2018-11-26 16:46:04 -06:00
Eric
20a6dde10b GATK: Add version 4.0.11.0 (#9953) 2018-11-26 14:54:05 -06:00
Eric
d9046e70c1 minced: Add version 0.1.6 (#9951) 2018-11-26 14:22:17 -06:00
Matthias Diener
bab3d7734a hdf5: add version 1.8.21 (#9952) 2018-11-26 12:56:44 -06:00
Michael Kuhn
7df14134c1 go: add 1.11.2 (#9948) 2018-11-26 11:33:55 -06:00
Eric
5cd8233139 metabat: Add version 2.11.2 (#9950) 2018-11-26 11:32:14 -06:00
Miles Perry
28e93a7a79 Feature/gatk (#9872)
* added 3.8-1 version

* fixed flake8 stuff
2018-11-26 11:30:21 -06:00
Adam J. Stewart
06dcf72f14 Uncomment dependencies previously disallowed by concretizer (#9942) 2018-11-26 09:11:16 +01:00
Sinan
096922c39d Package/py scikit learn (#9843)
* add v0.20 specific dependency versions, also add cython and py-test as dependencies

* make flake8 happy

* make cython a build-only dependency
2018-11-24 19:03:30 -06:00
Neil Flood
4c1733bff4 py-pygresql: new package (#9922)
* py-pygresql: new package

* Added dependency on py-setuptools, as the build will use it if present
2018-11-24 17:45:27 -06:00
Neil Flood
e3e01ab3d7 py-psycopg2: new package (#9926)
* py-psycopg2: new package

* Added dependency on py-setuptools, as the build will use it if present
2018-11-24 17:45:16 -06:00
Denis Davydov
058a772a52 p4est: fix a typo (#9932) 2018-11-24 17:45:04 -06:00
Matthias Diener
9d2ea84112 mc: add version 4.8.21 (#9943) 2018-11-24 17:42:46 -06:00
Matthias Diener
e86a28aff7 intel-parallel-studio: add missing updates to 2019.1 (#9941) 2018-11-24 15:44:57 -06:00
Neil Flood
9945a59c47 py-geopandas: New package. (#9919)
* py-geopandas: New package, including packages for its dependencies

* Trailing whitespace removed, etc

* One more trailing whitespace

* Removed some extraneous dependencies. No idea why I thought I needed them, but it now builds fine without them.

* Added a variant +plotting, to include the dependencies required for plotting, as these are large-ish if not being used.

* Added explicit dependency on py-matplotlib
2018-11-24 15:44:44 -06:00
Matthias Diener
25b9938ad1 cmake: add version 3.13.0 (#9940) 2018-11-24 14:23:10 -06:00
Neil Flood
a0fc573ff4 r-geor: new package, and a couple of its dependencies (#9920)
* r-geor: new package, and a couple of its dependencies

* Update to new copyright header

* Include the list_url for the R package archive dir

* Added explicit version ranges on dependencies, as per the relevant CRAN pages

* Correct dependency types in r-splancs.
2018-11-24 14:21:54 -06:00
Andreas Baumbach
862d1799fb new version 18.1 for py-pip (#9938)
Change-Id: Ie462e802049dd6150767dc555fb5708999e081ec
2018-11-23 18:09:20 -06:00
Neil Flood
2e510413c3 r-compositions: new package, including its dependencies (#9921)
* r-compositions: new package, including its dependencies

* Include the list_url for the R package archive dir

* Added explicit version ranges on dependencies, as per the relevant CRAN pages
2018-11-23 18:06:57 -06:00
Neil Flood
3557b6e149 libspatialite: new package (#9923) 2018-11-22 13:54:52 -06:00
Nicholas Labello
13f2e68688 munge: update versions and url format to reflect switch to .xz format… (#9916)
* munge: update versions and url format to reflect switch to .xz format in recent releases

* package:munge remove unneeded version-specific urls
2018-11-22 13:13:40 -06:00
Eric
be92d46962 minced: add version 0.3.2 and fix install paths (#9918) 2018-11-22 13:13:06 -06:00
Neil Flood
c42ceb886c qca: new package (#9924) 2018-11-22 12:45:42 -06:00
Neil Flood
b6e664846a qjson: new package (#9925) 2018-11-22 12:45:17 -06:00
Denis Davydov
0f6f3ece95 p4est: apply patches to 2.0 only (#9928) 2018-11-22 12:40:22 -06:00
Michael Kuhn
f7a445e4b0 multitime: new package (#9929) 2018-11-22 12:39:51 -06:00
Michael Kuhn
ffaf617e74 flecsale: add missing dependencies and fix flecsi runtime model (#9774) 2018-11-22 12:38:59 -06:00
Ken Raffenetti
0eb8cd9a8f Add MPICH version 3.3 (#9915) 2018-11-21 14:42:52 -06:00
Mark W. Krentel
27ad0f1269 dyninst: overhaul package.py to CMakePackage (#9871)
Drop versions 8.1.x.  These were > 5 years old, no other spack package
uses them, and they used autotools.  Packages 'stat' and 'mitos' still
use 8.2.1, so we keep that.

Switch class Dyninst to CMakePackage.

Clean up how the versions depend on various packages.  For example,
Dyninst used libelf up to 9.2, and then elfutils starting with 9.3.
This makes things easier going forward.

Add variant 'openmp' (default True) to enable openmp support for
ParseAPI.  This was added in 10.0.0.

Add variant 'static' (default False) to also build static libraries.
This goes back to 9.1.0.

Disable cotire for the 9.3.x versions.  Cotire has no real use in a
one-time build and can break parallel builds with both static and
shared libs.
2018-11-21 10:47:19 -08:00
Elsa Gonsiorowski, PhD
1c5688fcbc correct sha for axl v1.1 (#9907) 2018-11-20 19:28:47 -06:00
Tom Scogland
ba5a251896 package: add asciidoctor gem (#9905)
* package: add asciidoctor gem

Faster, easier to use, less impossible to install correctly
implementation of asciidoc.

* ritual sacrifice of EOF whitespace to flake8
2018-11-20 14:32:44 -06:00
Tiziano Müller
84bc1d6654 CP2K related fixes and update (#9308)
* openblas: enable parallel builds

* cp2k: enable parallel builds

* cp2k: fix building on multilib/Suse distros

use the actual directory path where files where installed to instead of
the default prefix+'/lib'

* cp2k: ensure we have a non-header-only libxsmm

* openblas: disable max num CPU detection on virtualized build

* cp2k: install data and set compiled-in DATA_DIR

* cp2k: make libxc an optional dependency (enabled by default)

* cp2k: link libint statically

* cp2k: declare statically linked library deps as type=build

* cp2k: add support for PGI compiler

* cp2k: rename smm=none to smm=blas for clarification

* cp2k: blacklist unsupported compilers

* cp2k: mark wannier90 a build-time dep since statically linked

* cp2k: make pexsi and elpa optional

* cp2k: add support for v6.1

* libxc: add version 4.2.3

* cp2k: use pkg-config to link properly to libxsmm

* cp2k: fix OpenMP support by making it explicit

Previously, CP2K accepted threaded ELPA or BLAS, leading to #(CPU) processes
being spawned even though no explicit OpenMP was requested. Now the
`popt` variant should truly be thread free while the `psmp` variant uses
threads also internally.

* cp2k: source tarballs moved to GitHub
2018-11-20 09:23:01 -08:00
dorier
13b95b8ae6 Package: Mercury (#9903)
* added mercury package

* updating mercury package to satisfy flake8

* improved mercury package
2018-11-20 11:14:30 -06:00
Jon Rood
128af27c21 Add 2019.1 and 2018.4 version of the Intel performance libraries. (#9899)
* Add 2019.1 and 2018.4 version of the Intel performance libraries.

* Fixing typo.
2018-11-20 09:30:53 -06:00
Adam Moody
5127bb590f mpifileutils: add v0.8.1 (#9346) 2018-11-19 20:48:50 -06:00
Michael Kuhn
44d1d928e8 openssl: make 1.1.1 the default version (#9836)
* openssl: add 1.0.2p, 1.1.0i and 1.1.1

* openssl: make 1.1.1 the default version
2018-11-19 20:46:38 -06:00
Justin Stanley
7bb9020227 added several new perl modules (#9760) 2018-11-19 20:44:44 -06:00
Justin Stanley
9dfea8ee17 circos: new package starting at 0.69-6 (#9761)
* circos: new package starting at 0.69-6

* circos: add homepage, simplify paths

* circos: simplified more paths
2018-11-19 20:44:01 -06:00
Sinan
0a0e5642df gdk-pixbuf: explicitly disable building of gtk-docs (#9882) 2018-11-19 20:42:56 -06:00
Levi Baber
535035b223 r-rrpp: new package (#9887) 2018-11-19 20:42:45 -06:00
Jon Rood
1972376865 Adding openmpi version 4.0.0 (#9888) 2018-11-19 20:42:34 -06:00
Eric
177c5f3c6d breseq: Add version 0.33.1 (#9889) 2018-11-19 20:42:21 -06:00
Sinan
47a641f13b package/harfbuzz: disable building of gtk-docs, add new version (#9891) 2018-11-19 20:42:08 -06:00
Levi Baber
561a561d23 r-crosstalk: remove unnecessary constraint (#9892) 2018-11-19 20:41:41 -06:00
Levi Baber
71943703f2 r-geomorph: new version (#9890)
* r-geomorph: new version

* r-geomorph: min r version
2018-11-19 20:41:19 -06:00
Levi Baber
43a26d0850 r-diversitree: new package (#9893)
* r-diversitree: new package

* r-diversitree: system reqs
2018-11-19 20:41:01 -06:00
Levi Baber
7e1f96c0aa r-paleotree: new package (#9895) 2018-11-19 20:39:42 -06:00
Sinan
000bb8ca39 package/pango: disable gtk-docs (#9896) 2018-11-19 20:38:52 -06:00
Sinan
71464a8b0a package/gtkplus: disable gtk-docs (#9897) 2018-11-19 20:38:34 -06:00
Mark C. Miller
a6efd22e60 Explicitly set FC= empty for non-fortran builds (#9898) 2018-11-19 20:38:06 -06:00
Eric
0c1988ffdf Trimmomatic: Add version 0.38 (#9883) 2018-11-19 15:56:49 -06:00
Jon Rood
c8a1a81a87 Adding intel-parallel-studio cluster 2019.1 version (#9884) 2018-11-19 15:56:31 -06:00
Daniel Topa
7402112b1f Add UCX v1.4.0 (#9881)
Verification build
dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ spack install ucx % gcc @ 4.8.5
==> Installing libsigsegv
==> Installing m4
==> Installing pkgconf
==> Installing ncurses
==> Installing readline
==> Installing gdbm
==> Installing perl
==> Installing autoconf
==> Installing automake
==> Installing libtool
==> Installing numactl
==> Installing zlib
==> Installing openssl
==> Installing diffutils
==> Installing bzip2
==> Installing xz
==> Installing libxml2
==> Installing tar
==> Installing gettext
==> Installing help2man
==> Installing bison
==> Installing flex
==> Installing libnl
==> Installing rdma-core
==> Installing ucx
==> Successfully installed ucx
  Fetch: 1.17s.  Build: 40.59s.  Total: 41.76s.
[+] /scratch/users/dantopa/new-spack/pr.ucx.spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/ucx-1.4.0-ilfonxj2f5my4ur65li3sr7kuvfg3kim

dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ spack spec ucx
Input spec
--------------------------------
ucx

Concretized
--------------------------------
ucx@1.4.0%gcc@4.8.5 arch=linux-centos7-x86_64
    ^numactl@2.0.11%gcc@4.8.5 patches=592f30f7f5f757dfc239ad0ffd39a9a048487ad803c26b419e0f96b8cda08c1a arch=linux-centos7-x86_64
        ^autoconf@2.69%gcc@4.8.5 arch=linux-centos7-x86_64
            ^m4@1.4.18%gcc@4.8.5 patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00,c0a408fbffb7255fcc75e26bd8edab116fc81d216bfd18b473668b7739a4158e,fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8 +sigsegv arch=linux-centos7-x86_64
                ^libsigsegv@2.11%gcc@4.8.5 arch=linux-centos7-x86_64
            ^perl@5.26.2%gcc@4.8.5+cpanm patches=0eac10ed90aeb0459ad8851f88081d439a4e41978e586ec743069e8b059370ac +shared+threads arch=linux-centos7-x86_64
                ^gdbm@1.18.1%gcc@4.8.5 arch=linux-centos7-x86_64
                    ^readline@7.0%gcc@4.8.5 arch=linux-centos7-x86_64
                        ^ncurses@6.1%gcc@4.8.5~symlinks~termlib arch=linux-centos7-x86_64
                            ^pkgconf@1.5.4%gcc@4.8.5 arch=linux-centos7-x86_64
        ^automake@1.16.1%gcc@4.8.5 arch=linux-centos7-x86_64
        ^libtool@2.4.6%gcc@4.8.5 arch=linux-centos7-x86_64
    ^rdma-core@20%gcc@4.8.5 build_type=RelWithDebInfo arch=linux-centos7-x86_64
        ^cmake@3.12.4%gcc@4.8.5~doc+ncurses+openssl+ownlibs patches=dd3a40d4d92f6b2158b87d6fb354c277947c776424aa03f6dc8096cf3135f5d0 ~qt arch=linux-centos7-x86_64
            ^openssl@1.0.2o%gcc@4.8.5+systemcerts arch=linux-centos7-x86_64
                ^zlib@1.2.11%gcc@4.8.5+optimize+pic+shared arch=linux-centos7-x86_64
        ^libnl@3.3.0%gcc@4.8.5 arch=linux-centos7-x86_64
            ^bison@3.0.5%gcc@4.8.5 arch=linux-centos7-x86_64
                ^diffutils@3.6%gcc@4.8.5 arch=linux-centos7-x86_64
                ^help2man@1.47.4%gcc@4.8.5 arch=linux-centos7-x86_64
                    ^gettext@0.19.8.1%gcc@4.8.5+bzip2+curses+git~libunistring+libxml2 patches=9acdb4e73f67c241b5ef32505c9ddf7cf6884ca8ea661692f21dca28483b04b8 +tar+xz arch=linux-centos7-x86_64
                        ^bzip2@1.0.6%gcc@4.8.5+shared arch=linux-centos7-x86_64
                        ^libxml2@2.9.8%gcc@4.8.5~python arch=linux-centos7-x86_64
                            ^xz@5.2.4%gcc@4.8.5 arch=linux-centos7-x86_64
                        ^tar@1.30%gcc@4.8.5 arch=linux-centos7-x86_64
            ^flex@2.6.3%gcc@4.8.5+lex arch=linux-centos7-x86_64

Environment:
dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ echo $HOSTNAME
darwin-fe2.lanl.gov

dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ grep -i 'model name' /proc/cpuinfo | sort | uniq
model name      : Intel(R) Xeon(R) CPU E5-2695 v3 @ 2.30GHz

dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ lsb_release -d
-bash: lsb_release: command not found

dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ uname -a
Linux darwin-fe2.lanl.gov 4.18.8-1.el7.elrepo.x86_64 #1 SMP Sat Sep 15 10:10:09 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux

dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ date
Mon Nov 19 10:47:47 MST 2018

dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ pwd
/scratch/users/dantopa/new-spack/pr.ucx.spack

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2018-11-19 13:20:22 -06:00
Andrea Negri
494d48f012 new package: mongo-cxx-driver (#9880)
* new package: mongo-cxx-driver

* fixed url
2018-11-19 13:19:19 -06:00
Eric
36b4758a97 samtools: make zlib/bzip2 dependencies unconditional (#9866) 2018-11-19 10:36:48 -08:00
Andrea Negri
9aa9359604 libmongoc: updated versions (#9877) 2018-11-18 20:35:24 -06:00
Alberto Chiusole
c61250e2ef New package: ecFlow, a work flow manager. (#9867)
* New package: ecFlow, a work flow manager.

* Fix pep8 style issues.
2018-11-18 10:13:31 -06:00
Sajid Ali
c45080398c Add +x variant to petsc. (#9830)
* 	modified:   var/spack/repos/builtin/packages/petsc/package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2018-11-17 21:35:37 -06:00
simo-tuomisto
93879e575d mixcr: Added a new package for MiXCR. (#9864)
* mixcr: Added a new package for MiXCR.

* mixcr: Fixed spack license string.
2018-11-17 21:19:04 -06:00
Christoph Junghans
26e51ff170 lammps package: added new versions (#9868) 2018-11-16 14:52:26 -08:00
Sinan
22cd6494be py-cython: add new versions (#9846) 2018-11-16 13:20:34 -08:00
Justin Stanley
9dff444570 new package: r-gensa (starting at 1.1.7) (#9858) 2018-11-16 13:13:48 -08:00
Eric
dc2911208f py-ply: fix download url (#9862) 2018-11-16 13:12:05 -08:00
Eric
61adf39fe1 vt package: add zlib dependency (#9870) 2018-11-16 12:52:15 -08:00
Denis Davydov
abd7b185f7 intel-mkl: fix usage of openmp_libs and tbb_libs (#9863)
* intel-mkl: fix usage of openmp_libs and tbb_libs
* intel-mkl: remove trailing whitespace from openmp lib
2018-11-16 10:25:15 -08:00
Levi Baber
0a57f90d75 r-rgl: update url, add new version (#9796) 2018-11-16 15:26:09 +01:00
Michael Kuhn
c645c8e2a6 py-cffi: add missing pkgconfig dependency (#9784) 2018-11-15 19:38:52 +01:00
Michael Kuhn
d4f8bd5b8d py-cryptography: add 2.3.1 (#9785)
Required for openssl@1.1 compatibility.
2018-11-15 18:27:29 +01:00
Michael Kuhn
480951c231 krb5: add missing bison dependency for yacc (#9778) 2018-11-15 17:54:51 +01:00
Michael Kuhn
4d426e63f0 globus-toolkit: add missing pkgconfig dependency (#9775) 2018-11-15 17:54:22 +01:00
Justin Stanley
5be2169c9b hybpiper: add 1.3.1 (#9762) 2018-11-15 17:41:56 +01:00
Hadrien G
d7983e2aa4 Fix and update verrou (#9847)
* Fix verrou-python integration

* Add verrou 2.1.0

* Patch level changed in v2.1.0
2018-11-15 10:22:13 -06:00
Denis Davydov
32884dbc03 dbcsr: minor fixes due to upstream changes (#9799) 2018-11-15 17:10:50 +01:00
Leonhard Reichenbach
2b64047e07 Updated protobuf and py-protobuf to version 3.6.1 (#9536)
* Updated protobuf and py-protobuf to version 3.6.1

also updated the download link as the repository has moved

* protobuf: modified conflict
2018-11-15 16:59:04 +01:00
Adam J. Stewart
2723db9f73 Add GMT, CitcomS, and fstrack packages (#9768)
* Add initial packages for citcoms and dependencies

* Ignore Pythia imports

* Add py-merlin package

* Add GMT package

* Fixes to get GMT working

* Get hc package building

* Get CitcomS 3.2.0 working

* Add fstrack package

* Fix hash
2018-11-14 23:30:44 -06:00
Levi Baber
b9c50249cf r-cairo: new package (#9794)
* r-cairo: new package

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

Co-Authored-By: baberlevi <baberlevi@gmail.com>
2018-11-14 21:44:55 -06:00
dorier
8a41cbf813 Argobots: added @develop version and +valgrind variant (#9664)
* added develop version in argobots package and added valgrind variant

* made autotools required only for develop version

* corrected style

* Added --disable-valgrind

Added --disable-valgrind to explicitly disable it when +valgrind isn't provided.
2018-11-14 21:39:35 -06:00
Justin Stanley
12177e41f0 r-phytools: new package at 0.6-60 (#9766)
* r-phytools: new package at 0.6-60

* r-phytools: add list_url

* r-phytools: add deps, dep versions
2018-11-14 21:39:05 -06:00
Geoffrey Oxberry
605dc8bf85 openblas: add headers property (#9831)
This commit adds only the public headers from the full list of headers
installed by OpenBLAS; this list of headers is the same as in
netlib-lapack.
2018-11-14 21:35:42 -06:00
Mark W. Krentel
b53eb2026a elfutils: add version 0.174. (#9812)
Pass cflags to configure so that configure gets the values from the
spack install line.

Disable -Werror so that we don't fail the build over a stray warning.
2018-11-14 19:05:08 -06:00
Mark W. Krentel
2554e24d09 libunwind: add version for current snapshot (#9770)
Libunwind releases are few and far between, so we need access to
recent snapshots from the git repository.

Pass cflags to configure so that make will respect the value from the
spack install line.
2018-11-14 18:56:52 -06:00
Sergey Kosukhin
75e86a61fe netcdf-fortran: add LDFLAGS to fix contents of libnetcdff.la. (#9647) 2018-11-14 09:40:16 -06:00
Levi Baber
6a08eb88b1 new package: time (#9842) 2018-11-14 09:38:37 -06:00
Michael Kuhn
9a7a532084 node-js: add 10.13.0 and 11.1.0 (#9781)
Required for openssl@1.1 compatibility.
2018-11-13 11:39:52 -06:00
Michael Kuhn
e20efb3f8f cmake: add 3.12.4 (#9758) 2018-11-13 11:34:09 -06:00
Michael Kuhn
eddba22e1c perl-net-ssleay: fix build (#9783)
- Add 1.85
- OPENSSL_PREFIX has to be set in the environment, otherwise Spack's
  openssl will not be found
2018-11-13 11:30:04 -06:00
Justin Stanley
e1f9ddd574 erne: new package starting at 2.1.1 (#9676)
* erne: new package starting at 2.1.1

* erne: remove unused configure args

* erne: remove unused prefix arg

* erne: add explicit mpi disable
2018-11-13 11:02:39 -06:00
Luigi Calori
4f27bb4f4e Fix #9673 : build fonts on powerpc architecture (#9683)
* use AutotoolsPackage so config.guess get updated by autoreconf step, fix build problem on ppc #9673

* same error, same fix under ppc arch
2018-11-13 11:01:46 -06:00
Douglas Duckworth
ab48a96149 added r-bindr v 0.1.1 (#9717) 2018-11-13 10:58:31 -06:00
Levi Baber
b668e66b81 r-genomeinfodbdata: url fix (#9732) 2018-11-13 10:57:04 -06:00
Matthias Diener
8b1a5a8e6c intel-parallel-studio: add missing updates (#9742)
* intel-parallel-studio: add missing updates

* add 2018.4
2018-11-13 10:56:31 -06:00
Levi Baber
25d71e68f2 Packages/trinotate fix (#9745)
* trinotate: fix perl location

* trinotate: not where that is

* trinotate: glob

* trinotate: needs perl-dbd-sqlite
2018-11-13 10:55:59 -06:00
Alberto Chiusole
7938ff9653 Add pic variant to cflags in boost. (#9750)
* Add pic variant to cflags in boost.

* Improve description in pic variant of boost, see #9750.
2018-11-13 10:55:01 -06:00
Miles Perry
63535542a1 new version (#9752) 2018-11-13 10:53:47 -06:00
Michael Kuhn
05a4d5a0c6 glib: add 2.56.3 (#9754) 2018-11-13 10:52:56 -06:00
Michael Kuhn
55f8dbbba0 sqlite: add 3.25.3 (#9756) 2018-11-13 10:50:54 -06:00
Michael Kuhn
c7f2c819a1 gdbm: add 1.18.1 (#9757) 2018-11-13 10:50:30 -06:00
Michael Kuhn
52e990dfa1 lmdb: add 0.9.22 (#9759) 2018-11-13 10:49:24 -06:00
Daryl W. Grunau
ff30ab462b eospac version bump (#9763) 2018-11-13 10:47:11 -06:00
Justin Stanley
c26a965c3b r-combinat: new package at 0.0-8 (#9764)
* r-combinat: new package at 0.0-8

* r-combinat: add list_url
2018-11-13 10:41:54 -06:00
Michael Kuhn
a852028b02 glib: explicitly disable gtk-doc (#9771)
glib should not use the globally installed gtk-doc. Otherwise, gtk-doc
can fail with Python errors such as `ImportError: No module named site`.

This is due to the fact that Spack sets `PYTHONHOME`, which can confuse
the global Python installation that is used by gtk-doc.
2018-11-13 10:37:19 -06:00
Michael Kuhn
fe8c287036 nginx: add 1.15.6 (#9780)
Needed to compile with gcc@8 and recent versions of glibc.
2018-11-13 10:25:00 -06:00
Eric
3cd3631fb6 DIAMOND: add version 0.9.22 (#9790) 2018-11-13 10:20:53 -06:00
Eric
4b63b93485 stringtie: add version 1.3.4d (#9791) 2018-11-13 10:20:30 -06:00
Hans Pabst
23c2d5af38 LIBXSMM 1.10 (#9813)
* LIBXSMM 1.10

* Accurately replaced MD5 with SHA256 sums (libxsmm).
2018-11-13 10:09:47 -06:00
Eric
fea0722daa aragorn: add version 1.2.36 (#9817) 2018-11-13 10:09:14 -06:00
Eric
5ba76cf908 minimap2: Add versions 2.10 and 2.14 (#9818)
* Also add missing zlib dependency
2018-11-13 10:08:42 -06:00
Quinn
2f454c5317 New Package: Nyancat (#9819)
* nyancat: adding the most important piece of software ever written

* nyancat: some formatting updates

* nyancat: flake8 error fix
2018-11-13 10:07:54 -06:00
Matthias Diener
6743aef554 charm++: add version 6.9.0 (#9827) 2018-11-13 10:03:22 -06:00
Christoph Junghans
78c7a8218c gromacs: added 2018.[34] (#9828) 2018-11-13 10:02:59 -06:00
Geoffrey Oxberry
f1e5f8e37b hypre: patch only @2.13.0 and @2.14.0 on darwin (#9832) 2018-11-13 09:54:09 -06:00
Michael Kuhn
3f0fc98062 wt: add missing pkgconfig dependency and fix boost version range (#9835)
wt does not build with newer versions of boost.
2018-11-13 09:53:44 -06:00
Michael Kuhn
59a6eada53 libssh: fix fetching and add 0.8.5 (#9779)
Required for openssl@1.1 compatibility.
2018-11-13 09:51:57 -06:00
Michael Kuhn
68222f2639 libevent: add 2.1.8 and 2.0.22 (#9777)
- 2.1.8 is required for openssl@1.1 compatibility
- Introduce url_for_version since the URL has changed starting with
  version 2.0.22
2018-11-13 09:51:26 -06:00
Valentin Clement (バレンタイン クレメン)
1388f6e907 Add new version 1.2.0 to the package (#9837) 2018-11-13 09:49:08 -06:00
Matthias Diener
86b7e6abc3 man-db: add missing gdbm dependency (#9751) 2018-11-13 09:41:43 -06:00
Michael Kuhn
cc928481f8 openssh: add 7.9p1 (#9782)
- Required for openssl@1.1 compatibility
- Fix openssh's privilege separation path to be below the prefix
2018-11-13 09:41:17 -06:00
Jon Rood
b4c7ffd424 Adding Paraview version 5.6. (#9788) 2018-11-13 09:36:18 -06:00
Michael Kuhn
86e00e7294 ruby: add 2.5.3 (#9793)
Required for openssl@1.1 compatibility.
2018-11-13 09:35:47 -06:00
Michael Kuhn
66ef3c2b18 thrift: add missing pkgconfig dependency (#9834)
Without pkgconfig, Spack's openssl cannot be found.
2018-11-13 09:34:51 -06:00
Eric
f48820a71e barrnap package: Add versions 0.6 and 0.7 (#9820) 2018-11-13 09:33:56 -06:00
Adam J. Stewart
b771b4015a Fix bugs in Modules Tutorial (#9821)
Found a couple bugs while trying to copy and paste the exact
tutorial content.
2018-11-13 09:31:09 -06:00
Phil Tooley
16aa37bdfe New package: openimageio (#9715) 2018-11-13 00:14:29 -06:00
Phil Tooley
ff09fd5a85 New package: dcmtk (#9716) 2018-11-13 00:08:29 -06:00
Michael Kuhn
f56f6d4e38 Fix pkg-config dependencies (#9738)
Replace dependencies on specific pkgconfig implementation (e.g. pkgconf)
with dependency on pkgconfig virtual package
2018-11-13 00:01:41 -06:00
Michael Kuhn
077e509dda gplates package: improvements (#9735)
- Add version 2.1.0
- Now that #9264 has been merged, gplates seems to build fine with newer
  versions of gcc (tested with gcc@8)
- When using the ninja generator, gplates can be built in parallel
2018-11-12 23:56:59 -06:00
Alberto Chiusole
c7c3fab744 Add 'pic' variant to netcdf packages (#9605) 2018-11-12 23:54:11 -06:00
Peer-Timo Bremer
91302f89e4 TALASS package: replace old version with new version (#9703)
New version has bug fixes
2018-11-12 23:38:03 -06:00
Manav Bhatia
0b86675879 libMesh: new version and dependency updates (#9709)
* added v1.3.1 checksum
* added vtk and petsc variants
* bugfix: enable petsc when slepc variant is specified
2018-11-12 23:29:58 -06:00
Daniel Topa
79ad078f78 Open MPI: add versions 3.1.3, 3.0.3, update checksums (#9734)
All checksums are now sha256
2018-11-12 23:26:39 -06:00
Michael Kuhn
47d74f3bca pkgconf: Add 1.5.4 (#9737) 2018-11-12 23:22:34 -06:00
Matthias Diener
dbdee8e542 chrpath: add new package (#9708) 2018-11-12 23:21:56 -06:00
Phil Tooley
02cdfd654e version/dependency updates for ilmbase and openexr (#9714)
* include zlib dependency for openexr, fixes #7274
* version bump to openexr/ilmbase 2.3.0
2018-11-12 23:18:54 -06:00
Cameron Stanavige
230bdce34e new package: flatcc (#9695) 2018-11-12 23:11:52 -06:00
Axel Huebl
152346f275 nlohmann-json: add new version 3.4.0 (#9692) 2018-11-12 23:08:40 -06:00
Ross Miller
7c267e8534 py-numba: update dependencies and versions (#9706)
The latest version of py-numba (0.40.1) wants a newer version of
py-llvmlite.  Had to add that version to py-llvmlite/package.py.
2018-11-12 23:07:40 -06:00
Justin Stanley
87df41e0ca migrate: new package starting at 3.6.11 (#9707) 2018-11-12 23:05:54 -06:00
Sinan
9e67216593 new package: PyH5glance (#9700) 2018-11-12 18:55:49 -06:00
Sinan
ec7e5d3b8b new package: python htmlgen (#9699) 2018-11-12 18:47:04 -06:00
Denis Davydov
e04adbca66 gnuplot: add X11 dependency and QT terminal (#9722) 2018-11-12 18:45:27 -06:00
Justin Stanley
553cecaade r-manipulatewidget: new package at 0.10.0 (#9826) 2018-11-12 18:41:03 -06:00
Justin Stanley
2ee0d98be1 r-webshot: new package at 0.5.1 (#9824) 2018-11-12 18:38:48 -06:00
Levi Baber
dcb696bd3f r-callr: adding new dependencies (#9730) 2018-11-12 18:38:03 -06:00
Justin Stanley
5ed3873f2f r-convevol: new package at 1.3 (#9767) 2018-11-12 18:36:31 -06:00
Justin Stanley
8357c1e0bc r-miniui: new package at 0.1.1.1 (#9823) 2018-11-12 18:34:56 -06:00
Justin Stanley
407bfbc2cb r-clustergeneration: new package at 1.3.4 (#9765) 2018-11-12 18:34:03 -06:00
5748 changed files with 191060 additions and 48318 deletions

View File

@@ -4,33 +4,12 @@ coverage:
range: 60...90
status:
project:
default: true
llnl:
threshold: 0.5
paths:
- lib/spack/llnl
commands:
threshold: 0.5
paths:
- lib/spack/spack/cmd
build_systems:
threshold: 0.5
paths:
- lib/spack/spack/build_systems
modules:
threshold: 0.5
paths:
- lib/spack/spack/modules
core:
threshold: 0.5
paths:
- "!lib/spack/llnl"
- "!lib/spack/spack/cmd"
default: yes
ignore:
- lib/spack/spack/test/.*
- lib/spack/env/.*
- lib/spack/docs/.*
- lib/spack/external/.*
- share/spack/qa/.*
comment: off

View File

@@ -7,9 +7,9 @@ branch = True
source = lib
omit =
lib/spack/spack/test/*
lib/spack/env/*
lib/spack/docs/*
lib/spack/external/*
share/spack/qa/*
[report]
# Regexes for lines to exclude from consideration

View File

@@ -1,6 +1,11 @@
.git
opt/spack
share/spack/docker/Dockerfile
share/spack/docker/build-image.sh
share/spack/docker/run-image.sh
share/spack/docker/push-image.sh
.git/*
opt/spack/*
/etc/spack/*
!/etc/spack/defaults
share/spack/dotkit/*
share/spack/lmod/*
share/spack/modules/*
lib/spack/spack/test/*

22
.flake8
View File

@@ -1,24 +1,32 @@
# -*- conf -*-
# flake8 settings for Spack core files.
#
# These exceptions ar for Spack core files. We're slightly more lenient
# These exceptions are for Spack core files. We're slightly more lenient
# with packages. See .flake8_packages for that.
#
# Let people line things up nicely:
# E1: Indentation
# - E129: visually indented line with same indent as next logical line
#
# E2: Whitespace
# - E221: multiple spaces before operator
# - E241: multiple spaces after ','
# - E272: multiple spaces before keyword
#
# Let people use terse Python features:
# - E731: lambda expressions
# E7: Statement
# - E731: do not assign a lambda expression, use a def
#
# W5: Line break warning
# - W503: line break before binary operator
# - W504: line break after binary operator
#
# These are required to get the package.py files to test clean:
# - F999: syntax error in doctest
#
# Exempt to allow decorator classes to be lowercase, but follow otherwise:
# - N801: CapWords for class names.
# N8: PEP8-naming
# - N801: class names should use CapWords convention
# - N813: camelcase imported as lowercase
# - N814: camelcase imported as constant
#
[flake8]
ignore = E129,E221,E241,E272,E731,F999,N801,W503,W504
ignore = E129,E221,E241,E272,E731,W503,W504,F999,N801,N813,N814
max-line-length = 79

View File

@@ -7,16 +7,18 @@
# wildcard import and dependencies can set globals for their
# dependents. So we add exceptions for checks related to undefined names.
#
# Note that we also add *per-line* exemptions for certain patters in the
# 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.
#
# Redefinition exceptions:
# F4: Import
# - F405: `name` may be undefined, or undefined from star imports: `module`
# - F821: undefined name `name` (needed for cmake, configure, etc.)
#
# F8: Name
# - F821: undefined name `name`
#
[flake8]
ignore = E129,E221,E241,E272,E731,F999,F405,F821,W503,W504
ignore = E129,E221,E241,E272,E731,W503,W504,F405,F821,F999,N801,N813,N814
max-line-length = 79

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.py diff=python

View File

@@ -1,4 +1,4 @@
# Contributor Covenant Code of Conduct
# Spack Community Code of Conduct
## Our Pledge
@@ -30,7 +30,7 @@ Project maintainers have the right and responsibility to remove, edit, or reject
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the Spack project or its community. Examples of representing the project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of the project may be further defined and clarified by Spack maintainers.
## Enforcement

View File

@@ -1,14 +1,11 @@
---
name: Bug report
about: Report a bug in the core of Spack (command not working as expected, etc.)
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 -sd 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 -sd <command1> <spec>
$ spack -sd <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,27 +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

@@ -0,0 +1,6 @@
FROM python:3.7-alpine
RUN pip install pygithub
ADD entrypoint.py /entrypoint.py
ENTRYPOINT ["/entrypoint.py"]

View File

@@ -0,0 +1,85 @@
#!/usr/bin/env python
#
# 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)
"""Maintainer review action.
This action checks which packages have changed in a PR, and adds their
maintainers to the pull request for review.
"""
import json
import os
import re
import subprocess
from github import Github
def spack(*args):
"""Run the spack executable with arguments, and return the output split.
This does just enough to run `spack pkg` and `spack maintainers`, the
two commands used by this action.
"""
github_workspace = os.environ['GITHUB_WORKSPACE']
spack = os.path.join(github_workspace, 'bin', 'spack')
output = subprocess.check_output([spack] + list(args))
split = re.split(r'\s*', output.decode('utf-8').strip())
return [s for s in split if s]
def main():
# get these first so that we'll fail early
token = os.environ['GITHUB_TOKEN']
event_path = os.environ['GITHUB_EVENT_PATH']
with open(event_path) as file:
data = json.load(file)
# make sure it's a pull_request event
assert 'pull_request' in data
# only request reviews on open, edit, or reopen
action = data['action']
if action not in ('opened', 'edited', 'reopened'):
return
# get data from the event payload
pr_data = data['pull_request']
base_branch_name = pr_data['base']['ref']
full_repo_name = pr_data['base']['repo']['full_name']
pr_number = pr_data['number']
requested_reviewers = pr_data['requested_reviewers']
author = pr_data['user']['login']
# get a list of packages that this PR modified
changed_pkgs = spack(
'pkg', 'changed', '--type', 'ac', '%s...' % base_branch_name)
# get maintainers for all modified packages
maintainers = set()
for pkg in changed_pkgs:
pkg_maintainers = set(spack('maintainers', pkg))
maintainers |= pkg_maintainers
# remove any maintainers who are already on the PR, and the author,
# as you can't review your own PR)
maintainers -= set(requested_reviewers)
maintainers -= set([author])
if not maintainers:
return
# request reviews from each maintainer
gh = Github(token)
repo = gh.get_repo(full_repo_name)
pr = repo.get_pull(pr_number)
pr.create_review_request(list(maintainers))
if __name__ == "__main__":
main()

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,61 @@
name: linux builds
on:
push:
branches:
- master
- develop
- releases/**
pull_request:
branches:
- master
- develop
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:
max-parallel: 4
matrix:
package: [lz4, mpich, tut, py-setuptools, openjpeg, r-rcpp]
steps:
- uses: actions/checkout@v2
- name: Cache ccache's store
uses: actions/cache@v1
with:
path: ~/.ccache
key: ccache-build-${{ matrix.package }}
restore-keys: |
ccache-build-${{ matrix.package }}
- name: Setup Python
uses: actions/setup-python@v1
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

62
.github/workflows/linux_unit_tests.yaml vendored Normal file
View File

@@ -0,0 +1,62 @@
name: linux tests
on:
push:
branches:
- master
- develop
- releases/**
pull_request:
branches:
- master
- develop
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
- name: Setup Python ${{ matrix.python-version }}
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
git config --global user.email "spack@example.com"
git config --global user.name "Test User"
git fetch -u origin develop:develop
- 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
- name: Upload to codecov.io
uses: codecov/codecov-action@v1
with:
flags: unittests,linux

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

49
.github/workflows/macos_unit_tests.yaml vendored Normal file
View File

@@ -0,0 +1,49 @@
name: macos tests
on:
push:
branches:
- master
- develop
- releases/**
pull_request:
branches:
- master
- develop
jobs:
build:
runs-on: macos-latest
strategy:
matrix:
python-version: [3.7]
steps:
- uses: actions/checkout@v2
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- 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
git fetch -u origin develop:develop
. share/spack/setup-env.sh
coverage run $(which spack) test
coverage combine
coverage xml
- name: Upload to codecov.io
uses: codecov/codecov-action@v1
with:
file: ./coverage.xml
flags: unittests,macos

View File

@@ -0,0 +1,31 @@
name: python version check
on:
push:
branches:
- master
- develop
- releases/**
pull_request:
branches:
- master
- develop
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v1
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

14
.gitignore vendored
View File

@@ -4,6 +4,7 @@
/var/spack/environments
/var/spack/repos/*/index.yaml
/var/spack/repos/*/lock
__pycache__/
*.pyc
/opt
*~
@@ -20,9 +21,20 @@
*.swp
/htmlcov
.coverage
#*
\#*
.#*
.cache
lib/spack/spack/test/.cache
/bin/spackc
*.in.log
*.out.log
*.orig
# Eclipse files
.project
.cproject
.pydevproject
# VSCode files
.vscode
.devcontainer

9
.readthedocs.yml Normal file
View File

@@ -0,0 +1,9 @@
version: 2
sphinx:
configuration: lib/spack/docs/conf.py
python:
version: 3.7
install:
- requirements: lib/spack/docs/requirements.txt

View File

@@ -12,161 +12,90 @@ branches:
# Build matrix
#=============================================================================
# Adding the keyword dist to permit an `allow_failures` section
# under `matrix.include`. More information here:
#
# https://docs.travis-ci.com/user/customizing-the-build/#Rows-that-are-Allowed-to-Fail
dist: trusty
dist: bionic
jobs:
fast_finish: true
include:
- stage: 'style checks'
python: '2.7'
sudo: required
python: '3.8'
os: linux
language: python
env: TEST_SUITE=flake8
- stage: 'unit tests + documentation'
python: '2.6'
sudo: required
dist: trusty
os: linux
language: python
env: TEST_SUITE=unit
- python: '2.7'
sudo: required
addons:
apt:
# Everything but patchelf, that is not available for trusty
packages:
- ccache
- gfortran
- graphviz
- gnupg2
- kcov
- mercurial
- ninja-build
- realpath
- zsh
- fish
env: [ TEST_SUITE=unit, COVERAGE=true ]
- python: '3.8'
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.4'
sudo: required
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.5'
sudo: required
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.6'
sudo: required
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.7'
sudo: required
os: linux
dist: xenial
language: python
env: TEST_SUITE=unit
- python: '3.6'
sudo: required
env: [ TEST_SUITE=shell, COVERAGE=true, KCOV_VERSION=38 ]
- python: '3.8'
os: linux
language: python
env: TEST_SUITE=doc
- os: osx
language: generic
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7 ]
# mpich (AutotoolsPackage)
- stage: 'build tests'
python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=mpich' ]
# astyle (MakefilePackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=astyle' ]
# tut (WafPackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=tut' ]
# py-setuptools (PythonPackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=py-setuptools' ]
# perl-dbi (PerlPackage)
# - python: '2.7'
# os: linux
# language: python
# env: [ TEST_SUITE=build, 'SPEC=perl-dbi' ]
# openjpeg (CMakePackage + external cmake)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=openjpeg' ]
# r-rcpp (RPackage + external R)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=r-rcpp' ]
# mpich (AutotoolsPackage)
- python: '3.6'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=mpich' ]
- stage: 'docker build'
sudo: required
os: linux
language: generic
env: TEST_SUITE=docker
allow_failures:
- dist: xenial
- env: TEST_SUITE=docker
# temporary Python 2.6 exception while we figure out why Travis is hanging
- python: '2.6'
stages:
- 'style checks'
- 'unit tests + documentation'
- 'build tests'
- name: 'docker build'
if: type = push AND branch IN (develop, master)
#=============================================================================
# Environment
#=============================================================================
# Use new Travis infrastructure (Docker can't sudo yet)
sudo: false
# Docs need graphviz to build
addons:
# for Linux builds, we use APT
apt:
packages:
- ccache
- coreutils
- gfortran
- mercurial
- graphviz
- gnupg2
- cmake
- mercurial
- ninja-build
- r-base
- r-base-core
- r-base-dev
- perl
- perl-base
- patchelf
- zsh
- fish
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
brew update;
export HOMEBREW_NO_AUTO_UPDATE=1;
rm /usr/local/include/c++ ;
brew ls --versions python@2 > /dev/null || brew install python@2;
brew ls --versions gcc > /dev/null || brew install gcc;
brew ls --versions gnupg2 > /dev/null || brew install gnupg2;
pip2 install --upgrade pip;
pip2 install virtualenv;
virtualenv venv;
source venv/bin/activate;
- ccache -M 2G && ccache -z
# Install kcov manually, since it's not packaged for bionic beaver
- if [[ "$KCOV_VERSION" ]]; then
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev;
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;
fi
# Install various dependencies
@@ -174,7 +103,7 @@ install:
- pip install --upgrade pip
- pip install --upgrade six
- pip install --upgrade setuptools
- pip install --upgrade codecov
- pip install --upgrade codecov coverage==4.5.4
- pip install --upgrade flake8
- pip install --upgrade pep8-naming
- if [[ "$TEST_SUITE" == "doc" ]]; then
@@ -187,49 +116,37 @@ before_script:
- git config --global user.name "Test User"
# Need this to be able to compute the list of changed files
- git fetch origin develop:develop
# 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/packages.yaml etc/spack/packages.yaml;
fi
- git fetch origin ${TRAVIS_BRANCH}:${TRAVIS_BRANCH}
#=============================================================================
# Building
#=============================================================================
services:
- docker
script:
- share/spack/qa/run-$TEST_SUITE-tests
- if [[ "$TEST_SUITE" == "docker build" ]]; then
login_attempted=0; login_success=0;
for config in share/spack/docker/config/* ; do
source "$config" ;
./share/spack/docker/build-image.sh;
if [ "$TRAVIS_EVENT_TYPE" != "pull_request" ]; then
if [ "$login_attempted" '=' '0' ]; then
if echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin; then
login_success=1;
fi;
login_attempted=1;
fi;
if [ "$login_success" '=' '1' ]; then
./share/spack/docker/push-image.sh;
fi
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
done;
fi
- if [[ "$TEST_SUITE" == "unit" || "$TEST_SUITE" == "build" ]]; then
codecov --env PYTHON_VERSION
--required --flags "${TEST_SUITE}${TRAVIS_OS_NAME}";
fi
;;
shell)
codecov --env PYTHON_VERSION
--required
--flags "${TEST_SUITE}${TRAVIS_OS_NAME}";
esac
#=============================================================================
# Notifications
#=============================================================================
notifications:
email:
recipients: tgamblin@llnl.gov
recipients:
- tgamblin@llnl.gov
- massimiliano.culpo@gmail.com
on_success: change
on_failure: always

580
CHANGELOG.md Normal file
View File

@@ -0,0 +1,580 @@
# 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:
* bugfixes for invoking python in various environments (#14349, #14496, #14569)
* brought tab completion up to date (#14392)
* bugfix for removing extensions from views in order (#12961)
* bugfix for nondeterministic hashing for specs with externals (#14390)
# v0.13.3 (2019-12-23)
This release contains more major performance improvements for Spack
environments, as well as bugfixes for mirrors and a `python` issue with
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 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)
* improve installation performance in environments (#14263)
# v0.13.2 (2019-12-04)
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)
# v0.13.1 (2019-11-05)
This is a bugfix release on top of `v0.13.0`. Specific fixes include:
* `spack find` now displays variants and other spec constraints
* bugfix: uninstall should find concrete specs by DAG hash (#13598)
* environments: make shell modifications partially unconditional (#13523)
* binary distribution: relocate text files properly in relative binaries (#13578)
* bugfix: fetch prefers to fetch local mirrors over remote resources (#13545)
* environments: only write when necessary (#13546)
* bugfix: spack.util.url.join() now handles absolute paths correctly (#13488)
* sbang: use utf-8 for encoding when patching (#13490)
* Specs with quoted flags containing spaces are parsed correctly (#13521)
* targets: print a warning message before downgrading (#13513)
* Travis CI: Test Python 3.8 (#13347)
* Documentation: Database.query methods share docstrings (#13515)
* cuda: fix conflict statements for x86-64 targets (#13472)
* cpu: fix clang flags for generic x86_64 (#13491)
* syaml_int type should use int.__repr__ rather than str.__repr__ (#13487)
* elpa: prefer 2016.05.004 until sse/avx/avx2 issues are resolved (#13530)
* trilinos: temporarily constrain netcdf@:4.7.1 (#13526)
# v0.13.0 (2019-10-25)
`v0.13.0` is our biggest Spack release yet, with *many* new major features.
From facility deployment to improved environments, microarchitecture
support, and auto-generated build farms, this release has features for all of
our users.
Spack grew by over 700 packages in the past year, and the project now has
over 450 contributors. Thanks to all of you for making this release possible.
## Major new core features
- Chaining: use dependencies from external "upstream" Spack instances
- Environments now behave more like virtualenv/conda
- Each env has a *view*: a directory with all packages symlinked in
- Activating an environment sets `PATH`, `LD_LIBRARY_PATH`, `CPATH`,
`CMAKE_PREFIX_PATH`, `PKG_CONFIG_PATH`, etc. to point to this view.
- Spack detects and builds specifically for your microarchitecture
- named, understandable targets like `skylake`, `broadwell`, `power9`, `zen2`
- Spack knows which compilers can build for which architectures
- Packages can easily query support for features like `avx512` and `sse3`
- You can pick a target with, e.g. `spack install foo target=icelake`
- Spack stacks: combinatorial environments for facility deployment
- Environments can now build cartesian products of specs (with `matrix:`)
- Conditional syntax support to exclude certain builds from the stack
- Projections: ability to build easily navigable symlink trees environments
- Support no-source packages (BundlePackage) to aggregate related packages
- Extensions: users can write custom commands that live outside of Spack repo
- Support ARM and Fujitsu compilers
## CI/build farm support
- `spack release-jobs` can detect `package.py` changes and generate
`.gitlab-ci.yml` to create binaries for an environment or stack
in parallel (initial support -- will change in future release).
- Results of build pipelines can be uploaded to a CDash server.
- Spack can now upload/fetch from package mirrors in Amazon S3
## New commands/options
- `spack mirror create --all` downloads *all* package sources/resources/patches
- `spack dev-build` runs phases of the install pipeline on the working directory
- `spack deprecate` permanently symlinks an old, unwanted package to a new one
- `spack verify` chcecks that packages' files match what was originally installed
- `spack find --json` prints `JSON` that is easy to parse with, e.g. `jq`
- `spack find --format FORMAT` allows you to flexibly print package metadata
- `spack spec --json` prints JSON version of `spec.yaml`
## Selected improvements
- Auto-build requested compilers if they do not exist
- Spack automatically adds `RPATHs` needed to make executables find compiler
runtime libraries (e.g., path to newer `libstdc++` in `icpc` or `g++`)
- setup-env.sh is now compatible with Bash, Dash, and Zsh
- Spack now caps build jobs at min(16, ncores) by default
- `spack compiler find` now also throttles number of spawned processes
- Spack now writes stage directories directly to `$TMPDIR` instead of
symlinking stages within `$spack/var/spack/cache`.
- Improved and more powerful `spec` format strings
- You can pass a `spec.yaml` file anywhere in the CLI you can type a spec.
- Many improvements to binary caching
- Gradually supporting new features from Environment Modules v4
- `spack edit` respects `VISUAL` environment variable
- Simplified package syntax for specifying build/run environment modifications
- Numerous improvements to support for environments across Spack commands
- Concretization improvements
## Documentation
- Multi-lingual documentation (Started a Japanese translation)
- Tutorial now has its own site at spack-tutorial.readthedocs.io
- This enables us to keep multiple versions of the tutorial around
## Deprecations
- Spack no longer supports dotkit (LLNL's homegrown, now deprecated module tool)
- `spack build`, `spack configure`, `spack diy` deprecated in favor of
`spack dev-build` and `spack install`
## Important package changes
- 3,563 total packages (718 added since 0.12.1)
- Spack now defaults to Python 3 (previously preferred 2.7 by default)
- Much improved ARM support thanks to Fugaku (RIKEN) and SNL teams
- Support new special versions: master, trunk, and head (in addition to develop)
- Better finding logic for libraries and headers
# v0.12.1 (2018-11-13)
This is a minor bugfix release, with a minor fix in the tutorial and a `flake8` fix.
Bugfixes
* Add `r` back to regex strings in binary distribution
* Fix gcc install version in the tutorial
# v0.12.0 (2018-11-13)
## Major new features
- Spack environments
- `spack.yaml` and `spack.lock` files for tracking dependencies
- Custom configurations via command line
- Better support for linking Python packages into view directories
- Packages have more control over compiler flags via flag handlers
- Better support for module file generation
- Better support for Intel compilers, Intel MPI, etc.
- Many performance improvements, improved startup time
## License
- As of this release, all of Spack is permissively licensed under Apache-2.0 or MIT, at the user's option.
- Consents from over 300 contributors were obtained to make this relicense possible.
- Previous versions were distributed under the LGPL license, version 2.1.
## New packages
Over 2,900 packages (800 added since last year)
Spack would not be possible without our community. Thanks to all of our
[contributors](https://github.com/spack/spack/graphs/contributors) for the
new features and packages in this release!
# v0.11.2 (2018-02-07)
This release contains the following fixes:
* Fixes for `gfortran` 7 compiler detection (#7017)
* Fixes for exceptions thrown during module generation (#7173)
# v0.11.1 (2018-01-19)
This release contains bugfixes for compiler flag handling. There were issues in `v0.11.0` that caused some packages to be built without proper optimization.
Fixes:
* Issue #6999: FFTW installed with Spack 0.11.0 gets built without optimisations
Includes:
* PR #6415: Fixes for flag handling behavior
* PR #6960: Fix type issues with setting flag handlers
* 880e319: Upstream fixes to `list_url` in various R packages
# v0.11.0 (2018-01-17)
Spack v0.11.0 contains many improvements since v0.10.0.
Below is a summary of the major features, broken down by category.
## New packages
- Spack now has 2,178 packages (from 1,114 in v0.10.0)
- Many more Python packages (356) and R packages (471)
- 48 Exascale Proxy Apps (try `spack list -t proxy-app`)
## Core features for users
- Relocatable binary packages (`spack buildcache`, #4854)
- Spack now fully supports Python 3 (#3395)
- Packages can be tagged and searched by tags (#4786)
- Custom module file templates using Jinja (#3183)
- `spack bootstrap` command now sets up a basic module environment (#3057)
- Simplified and better organized help output (#3033)
- Improved, less redundant `spack install` output (#5714, #5950)
- Reworked `spack dependents` and `spack dependencies` commands (#4478)
## Major new features for packagers
- Multi-valued variants (#2386)
- New `conflicts()` directive (#3125)
- New dependency type: `test` dependencies (#5132)
- Packages can require their own patches on dependencies (#5476)
- `depends_on(..., patches=<patch list>)`
- Build interface for passing linker information through Specs (#1875)
- Major packages that use blas/lapack now use this interface
- Flag handlers allow packages more control over compiler flags (#6415)
- Package subclasses support many more build systems:
- autotools, perl, qmake, scons, cmake, makefile, python, R, WAF
- package-level support for installing Intel HPC products (#4300)
- `spack blame` command shows contributors to packages (#5522)
- `spack create` now guesses many more build systems (#2707)
- Better URL parsing to guess package version URLs (#2972)
- Much improved `PythonPackage` support (#3367)
## Core
- Much faster concretization (#5716, #5783)
- Improved output redirection (redirecting build output works properly #5084)
- Numerous improvements to internal structure and APIs
## Tutorials & Documentation
- Many updates to documentation
- [New tutorial material from SC17](https://spack.readthedocs.io/en/latest/tutorial.html)
- configuration
- build systems
- build interface
- working with module generation
- Documentation on docker workflows and best practices
## Selected improvements and bug fixes
- No longer build Python eggs -- installations are plain directories (#3587)
- Improved filtering of system paths from build PATHs and RPATHs (#2083, #3910)
- Git submodules are properly handled on fetch (#3956)
- Can now set default number of parallel build jobs in `config.yaml`
- Improvements to `setup-env.csh` (#4044)
- Better default compiler discovery on Mac OS X (#3427)
- clang will automatically mix with gfortran
- Improved compiler detection on Cray machines (#3075)
- Better support for IBM XL compilers
- Better tab completion
- Resume gracefully after prematurely terminated partial installs (#4331)
- Better mesa support (#5170)
Spack would not be possible without our community. Thanks to all of our
[contributors](https://github.com/spack/spack/graphs/contributors) for the
new features and packages in this release!
# v0.10.0 (2017-01-17)
This is Spack `v0.10.0`. With this release, we will start to push Spack
releases more regularly. This is the last Spack release without
automated package testing. With the next release, we will begin to run
package tests in addition to unit tests.
Spack has grown rapidly from 422 to
[1,114 packages](https://spack.readthedocs.io/en/v0.10.0/package_list.html),
thanks to the hard work of over 100 contributors. Below is a condensed
version of all the changes since `v0.9.1`.
### Packages
- Grew from 422 to 1,114 packages
- Includes major updates like X11, Qt
- Expanded HPC, R, and Python ecosystems
### Core
- Major speed improvements for spack find and concretization
- Completely reworked architecture support
- Platforms can have front-end and back-end OS/target combinations
- Much better support for Cray and BG/Q cross-compiled environments
- Downloads are now cached locally
- Support installations in deeply nested directories: patch long shebangs using `sbang`
### Basic usage
- Easier global configuration via config.yaml
- customize install, stage, and cache locations
- Hierarchical configuration scopes: default, site, user
- Platform-specific scopes allow better per-platform defaults
- Ability to set `cflags`, `cxxflags`, `fflags` on the command line
- YAML-configurable support for both Lmod and tcl modules in mainline
- `spack install` supports --dirty option for emergencies
### For developers
- Support multiple dependency types: `build`, `link`, and `run`
- Added `Package` base classes for custom build systems
- `AutotoolsPackage`, `CMakePackage`, `PythonPackage`, etc.
- `spack create` now guesses many more build systems
- Development environment integration with `spack setup`
- New interface to pass linking information via `spec` objects
- Currently used for `BLAS`/`LAPACK`/`SCALAPACK` libraries
- Polymorphic virtual dependency attributes: `spec['blas'].blas_libs`
### Testing & Documentation
- Unit tests run continuously on Travis CI for Mac and Linux
- Switched from `nose` to `pytest` for unit tests.
- Unit tests take 1 minute now instead of 8
- Massively expanded documentation
- Docs are now hosted on [spack.readthedocs.io](http://spack.readthedocs.io)

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
@@ -83,3 +79,11 @@ PackageLicenseDeclared: MIT
PackageName: six
PackageHomePage: https://pypi.python.org/pypi/six
PackageLicenseDeclared: MIT
PackageName: macholib
PackageHomePage: https://macholib.readthedocs.io/en/latest/index.html
PackageLicenseDeclared: MIT
PackageName: altgraph
PackageHomePage: https://altgraph.readthedocs.io/en/latest/index.html
PackageLicenseDeclared: MIT

View File

@@ -1,4 +1,4 @@
Copyright 2013-2018 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,10 @@
# <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)
[![Build Status](https://travis-ci.com/spack/spack.svg?branch=develop)](https://travis-ci.com/spack/spack)
[![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)
@@ -26,55 +30,43 @@ Then:
$ git clone https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install libelf
$ ./spack install zlib
Documentation
----------------
[**Full documentation**](http://spack.readthedocs.io/) for Spack is
the first place to look.
[**Full documentation**](http://spack.readthedocs.io/) is available, or
run `spack help` or `spack help --all`.
Try the
[**Spack Tutorial**](http://spack.readthedocs.io/en/latest/tutorial.html),
to learn how to use spack, write packages, or deploy packages for users
at your site.
Tutorial
----------------
See also:
* [Technical paper](http://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf) and
[slides](https://tgamblin.github.io/files/Gamblin-Spack-SC15-Talk.pdf) on Spack's design and implementation.
* [Short presentation](https://tgamblin.github.io/files/Gamblin-Spack-Lightning-Talk-BOF-SC15.pdf) from the *Getting Scientific Software Installed* BOF session at Supercomputing 2015.
We maintain a
[**hands-on tutorial**](http://spack.readthedocs.io/en/latest/tutorial.html).
It covers basic to advanced usage, packaging, developer features, and large HPC
deployments. You can do all of the exercises on your own laptop using a
Docker container.
Get Involved!
Feel free to use these materials to teach users at your organization
about Spack.
Community
------------------------
Spack is an open source project. Questions, discussion, and
contributions are welcome. Contributions can be anything from new
packages to bugfixes, or even new core features.
packages to bugfixes, documentation, or even new core features.
### Mailing list
Resources:
If you are interested in contributing to spack, join the mailing list.
We're using Google Groups for this:
* [Spack Google Group](https://groups.google.com/d/forum/spack)
### Slack channel
Spack has a Slack channel where you can chat about all things Spack:
* [Spack on Slack](https://spackpm.slack.com)
[Sign up here](https://spackpm.herokuapp.com) to get an invitation mailed
to you.
### Twitter
You can follow [@spackpm](https://twitter.com/spackpm) on Twitter for
updates. Also, feel free to `@mention` us in in questions or comments
about your own experience with Spack.
### Contributions
* **Slack workspace**: [spackpm.slack.com](https://spackpm.slack.com).
To get an invitation, [**click here**](https://spackpm.herokuapp.com).
* **Mailing list**: [groups.google.com/d/forum/spack](https://groups.google.com/d/forum/spack)
* **Twitter**: [@spackpm](https://twitter.com/spackpm). Be sure to
`@mention` us!
Contributing
------------------------
Contributing to Spack is relatively easy. Just send us a
[pull request](https://help.github.com/articles/using-pull-requests/).
When you send your request, make ``develop`` the destination branch on the
@@ -92,6 +84,13 @@ branching model. The ``develop`` branch contains the latest
contributions, and ``master`` is always tagged and points to the latest
stable release.
Code of Conduct
------------------------
Please note that Spack has a
[**Code of Conduct**](.github/CODE_OF_CONDUCT.md). By participating in
the Spack community, you agree to abide by its rules.
Authors
----------------
Many thanks go to Spack's [contributors](https://github.com/spack/spack/graphs/contributors).
@@ -122,6 +121,6 @@ See [LICENSE-MIT](https://github.com/spack/spack/blob/develop/LICENSE-MIT),
[COPYRIGHT](https://github.com/spack/spack/blob/develop/COPYRIGHT), and
[NOTICE](https://github.com/spack/spack/blob/develop/NOTICE) for details.
`SPDX-License-Identifier: (Apache-2.0 OR MIT)`
SPDX-License-Identifier: (Apache-2.0 OR MIT)
``LLNL-CODE-647188``
LLNL-CODE-811652

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2013-2018 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,10 +1,26 @@
#!/usr/bin/env python
#!/bin/sh
# -*- python -*-
#
# Copyright 2013-2018 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)
# This file is bilingual. The following shell code finds our preferred python.
# Following line is a shell no-op, and starts a multi-line Python comment.
# See https://stackoverflow.com/a/47886254
""":"
# prefer python3, then python, then python2
for cmd in python3 python python2; do
command -v > /dev/null $cmd && exec $cmd $0 "$@"
done
echo "==> Error: spack could not find a python interpreter!" >&2
exit 1
":"""
# Line above is a shell no-op, and ends a python multi-line comment.
# The code above runs this file with our preferred python interpreter.
from __future__ import print_function
import os
@@ -35,7 +51,7 @@ sys.path.insert(0, spack_external_libs)
# (see #9206 for a broader description of the issue).
#
# Briefly: ruamel.yaml produces a .pth file when installed with pip that
# makes the site installed package the preferred one, even tough sys.path
# makes the site installed package the preferred one, even though sys.path
# is modified to point to another version of ruamel.yaml.
if 'ruamel.yaml' in sys.modules:
del sys.modules['ruamel.yaml']

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright 2013-2018 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

@@ -32,24 +32,37 @@ config:
module_roots:
tcl: $spack/share/spack/modules
lmod: $spack/share/spack/lmod
dotkit: $spack/share/spack/dotkit
# Temporary locations Spack can try to use for builds.
#
# Spack will use the first one it finds that exists and is writable.
# You can use $tempdir to refer to the system default temp directory
# (as returned by tempfile.gettempdir()).
# Recommended options are given below.
#
# A value of $spack/var/spack/stage indicates that Spack should run
# builds directly inside its install directory without staging them in
# temporary space.
# Builds can be faster in temporary directories on some (e.g., HPC) systems.
# Specifying `$tempdir` will ensure use of the default temporary directory
# (i.e., ``$TMP` or ``$TMPDIR``).
#
# The build stage can be purged with `spack clean --stage`.
# Another option that prevents conflicts and potential permission issues is
# to specify `~/.spack/stage`, which ensures each user builds in their home
# directory.
#
# A more traditional path uses the value of `$spack/var/spack/stage`, which
# builds directly inside Spack's instance without staging them in a
# temporary space. Problems with specifying a path inside a Spack instance
# are that it precludes its use as a system package and its ability to be
# pip installable.
#
# In any case, if the username is not already in the path, Spack will append
# the value of `$user` in an attempt to avoid potential conflicts between
# users in shared temporary spaces.
#
# The build stage can be purged with `spack clean --stage` and
# `spack clean -a`, so it is important that the specified directory uniquely
# identifies Spack staging to avoid accidentally wiping out non-Spack work.
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $spack/var/spack/stage
- $tempdir/$user/spack-stage
- ~/.spack/stage
# - $spack/var/spack/stage
# Cache directory for already downloaded source tarballs and archived
@@ -62,11 +75,31 @@ 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
# Suppress gpg warnings from binary package verification
# Only suppresses warnings, gpg failure will still fail the install
# Potential rationale to set True: users have already explicitly trusted the
# gpg key they are using, and may not want to see repeated warnings that it
# is self-signed or something of the sort.
suppress_gpg_warnings: false
# If set to true, Spack will attempt to build any compiler on the spec
# that is not already available. If set to False, Spack will only use
# compilers already configured in compilers.yaml
install_missing_compilers: False
# If set to true, Spack will always check checksums after downloading
# archives. If false, Spack skips the checksum step.
checksum: true
@@ -94,10 +127,12 @@ config:
locks: true
# The default number of jobs to use when running `make` in parallel.
# If set to 4, for example, `spack install` will run `make -j4`.
# If not set, all available cores are used by default.
# build_jobs: 4
# The maximum number of jobs to use when running `make` in parallel,
# always limited by the number of cores available. For instance:
# - If set to 16 on a 4 cores machine `spack install` will run `make -j4`
# - If set to 16 on a 18 cores machine `spack install` will run `make -j16`
# If not set, Spack will use all available cores up to 16.
# build_jobs: 16
# If set to true, Spack will use ccache to cache C compiles.
@@ -108,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).
@@ -117,3 +152,12 @@ config:
# anticipates that a significant delay indicates that the lock attempt will
# never succeed.
package_lock_timeout: null
# Control whether Spack embeds RPATH or RUNPATH attributes in ELF binaries.
# 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

@@ -16,7 +16,6 @@
modules:
enable:
- tcl
- dotkit
prefix_inspections:
bin:
- PATH
@@ -31,11 +30,17 @@ 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:
- PKG_CONFIG_PATH
share/pkgconfig:
- PKG_CONFIG_PATH
'':
- CMAKE_PREFIX_PATH

View File

@@ -15,7 +15,7 @@
# -------------------------------------------------------------------------
packages:
all:
compiler: [gcc, intel, pgi, clang, xl, nag]
compiler: [gcc, intel, pgi, clang, xl, nag, fj]
providers:
D: [ldc]
awk: [gawk]
@@ -23,24 +23,30 @@ packages:
daal: [intel-daal]
elf: [elfutils]
fftw-api: [fftw]
gl: [mesa, opengl]
gl: [mesa+opengl, opengl]
glx: [mesa+glx, opengl]
glu: [mesa-glu, openglu]
golang: [gcc]
iconv: [libiconv]
ipp: [intel-ipp]
java: [jdk]
java: [openjdk, jdk, ibm-java]
jpeg: [libjpeg-turbo, libjpeg]
lapack: [openblas]
mariadb-client: [mariadb-c-client, mariadb]
mkl: [intel-mkl]
mpe: [mpe2]
mpi: [openmpi, mpich]
mysql-client: [mysql, mariadb-c-client]
opencl: [pocl]
openfoam: [openfoam-com, openfoam-org, foam-extend]
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

@@ -3,3 +3,5 @@ command_index.rst
spack*.rst
llnl*.rst
_build
.spack-env
spack.lock

View File

@@ -2,7 +2,7 @@
#
# You can set these variables from the command line.
SPHINXOPTS = -E
SPHINXOPTS = -W
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build

1
lib/spack/docs/_spack_root Symbolic link
View File

@@ -0,0 +1 @@
../../..

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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
--------------------------
@@ -39,12 +47,15 @@ available. You can see a list of available package names at the
``spack list``
^^^^^^^^^^^^^^
The ``spack list`` command prints out a list of all of the packages
Spack can install:
The ``spack list`` command prints out a list of all of the packages Spack
can install:
.. command-output:: spack list
:ellipsis: 10
The packages are listed by name in alphabetical order.
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 ``?``,
will be treated as though it started and ended with
``*``, so ``util`` is equivalent to ``*util*``. All patterns will be treated
@@ -229,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
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -274,6 +329,86 @@ the tarballs in question to it (see :ref:`mirrors`):
$ spack install galahad
-----------------------------
Deprecating insecure packages
-----------------------------
``spack deprecate`` allows for the removal of insecure packages with
minimal impact to their dependents.
.. warning::
The ``spack deprecate`` command is designed for use only in
extraordinary circumstances. This is a VERY big hammer to be used
with care.
The ``spack deprecate`` command will remove one package and replace it
with another by replacing the deprecated package's prefix with a link
to the deprecator package's prefix.
.. warning::
The ``spack deprecate`` command makes no promises about binary
compatibility. It is up to the user to ensure the deprecator is
suitable for the deprecated package.
Spack tracks concrete deprecated specs and ensures that no future packages
concretize to a deprecated spec.
The first spec given to the ``spack deprecate`` command is the package
to deprecate. It is an abstract spec that must describe a single
installed package. The second spec argument is the deprecator
spec. By default it must be an abstract spec that describes a single
installed package, but with the ``-i/--install-deprecator`` it can be
any abstract spec that Spack will install and then use as the
deprecator. The ``-I/--no-install-deprecator`` option will ensure
the default behavior.
By default, ``spack deprecate`` will deprecate all dependencies of the
deprecated spec, replacing each by the dependency of the same name in
the deprecator spec. The ``-d/--dependencies`` option will ensure the
default, while the ``-D/--no-dependencies`` option will deprecate only
the root of the deprecate spec in favor of the root of the deprecator
spec.
``spack deprecate`` can use symbolic links or hard links. The default
behavior is symbolic links, but the ``-l/--link-type`` flag can take
options ``hard`` or ``soft``.
-----------------------
Verifying installations
-----------------------
The ``spack verify`` command can be used to verify the validity of
Spack-installed packages any time after installation.
At installation time, Spack creates a manifest of every file in the
installation prefix. For links, Spack tracks the mode, ownership, and
destination. For directories, Spack tracks the mode, and
ownership. For files, Spack tracks the mode, ownership, modification
time, hash, and size. The Spack verify command will check, for every
file in each package, whether any of those attributes have changed. It
will also check for newly added files or deleted files from the
installation prefix. Spack can either check all installed packages
using the `-a,--all` or accept specs listed on the command line to
verify.
The ``spack verify`` command can also verify for individual files that
they haven't been altered since installation time. If the given file
is not in a Spack installation prefix, Spack will report that it is
not owned by any package. To check individual files instead of specs,
use the ``-f,--files`` option.
Spack installation manifests are part of the tarball signed by Spack
for binary package distribution. When installed from a binary package,
Spack uses the packaged installation manifest instead of creating one
at install time.
The ``spack verify`` command also accepts the ``-l,--local`` option to
check only local packages (as opposed to those used transparently from
``upstream`` spack instances) and the ``-j,--json`` option to output
machine-readable json data for any errors.
-------------------------
Seeing installed packages
-------------------------
@@ -331,11 +466,19 @@ 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.
``spack find`` can filter the package list based on the package name, spec, or
a number of properties of their installation status. For example, missing
dependencies of a spec can be shown with ``--missing``, packages which were
explicitly installed with ``spack install <package>`` can be singled out with
``--explicit`` and those which have been pulled in only as dependencies with
.. _cmd-spack-find-metadata:
""""""""""""""""""""""""""""""""
Viewing more metadata
""""""""""""""""""""""""""""""""
``spack find`` can filter the package list based on the package name,
spec, or a number of properties of their installation status. For
example, missing dependencies of a spec can be shown with
``--missing``, deprecated packages can be included with
``--deprecated``, packages which were explicitly installed with
``spack install <package>`` can be singled out with ``--explicit`` and
those which have been pulled in only as dependencies with
``--implicit``.
In some cases, there may be different configurations of the *same*
@@ -388,8 +531,8 @@ use ``spack find --paths``:
callpath@1.0.2 ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/callpath@1.0.2-5dce4318
...
And, finally, you can restrict your search to a particular package
by supplying its name:
You can restrict your search to a particular package by supplying its
name:
.. code-block:: console
@@ -399,6 +542,10 @@ by supplying its name:
libelf@0.8.12 ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/libelf@0.8.12
libelf@0.8.13 ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/libelf@0.8.13
""""""""""""""""""""""""""""""""
Spec queries
""""""""""""""""""""""""""""""""
``spack find`` actually does a lot more than this. You can use
*specs* to query for specific configurations and builds of each
package. If you want to find only libelf versions greater than version
@@ -426,6 +573,109 @@ with the 'debug' compile-time option enabled.
The full spec syntax is discussed in detail in :ref:`sec-specs`.
""""""""""""""""""""""""""""""""
Machine-readable output
""""""""""""""""""""""""""""""""
If you only want to see very specific things about installed packages,
Spack has some options for you. ``spack find --format`` can be used to
output only specific fields:
.. code-block:: console
$ spack find --format "{name}-{version}-{hash}"
autoconf-2.69-icynozk7ti6h4ezzgonqe6jgw5f3ulx4
automake-1.16.1-o5v3tc77kesgonxjbmeqlwfmb5qzj7zy
bzip2-1.0.6-syohzw57v2jfag5du2x4bowziw3m5p67
bzip2-1.0.8-zjny4jwfyvzbx6vii3uuekoxmtu6eyuj
cmake-3.15.1-7cf6onn52gywnddbmgp7qkil4hdoxpcb
...
or:
.. code-block:: console
$ spack find --format "{hash:7}"
icynozk
o5v3tc7
syohzw5
zjny4jw
7cf6onn
...
This uses the same syntax as described in documentation for
:meth:`~spack.spec.Spec.format` -- you can use any of the options there.
This is useful for passing metadata about packages to other command-line
tools.
Alternately, if you want something even more machine readable, you can
output each spec as JSON records using ``spack find --json``. This will
output metadata on specs and all dependencies as json:
.. code-block:: console
$ spack find --json sqlite@3.28.0
[
{
"name": "sqlite",
"hash": "3ws7bsihwbn44ghf6ep4s6h4y2o6eznv",
"version": "3.28.0",
"arch": {
"platform": "darwin",
"platform_os": "mojave",
"target": "x86_64"
},
"compiler": {
"name": "apple-clang",
"version": "10.0.0"
},
"namespace": "builtin",
"parameters": {
"fts": true,
"functions": false,
"cflags": [],
"cppflags": [],
"cxxflags": [],
"fflags": [],
"ldflags": [],
"ldlibs": []
},
"dependencies": {
"readline": {
"hash": "722dzmgymxyxd6ovjvh4742kcetkqtfs",
"type": [
"build",
"link"
]
}
}
},
...
]
You can use this with tools like `jq <https://stedolan.github.io/jq/>`_ to quickly create JSON records
structured the way you want:
.. code-block:: console
$ spack find --json sqlite@3.28.0 | jq -C '.[] | { name, version, hash }'
{
"name": "sqlite",
"version": "3.28.0",
"hash": "3ws7bsihwbn44ghf6ep4s6h4y2o6eznv"
}
{
"name": "readline",
"version": "7.0",
"hash": "722dzmgymxyxd6ovjvh4742kcetkqtfs"
}
{
"name": "ncurses",
"version": "6.1",
"hash": "zvaa4lhlhilypw5quj3akyd3apbq5gap"
}
.. _sec-specs:
--------------------
@@ -612,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.
@@ -673,10 +923,10 @@ compile line.
Notice that the value of the compiler flags must be quoted if it
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 they value of the
``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``
will be interpreted as an attempt to set `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
in GNU Autotools. If all flags are set, the order is
@@ -687,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``.
@@ -708,44 +960,130 @@ 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
^^^^^^^^^^^^^^^^^^^^^^^
The architecture can be specified by using the reserved
words ``target`` and/or ``os`` (``target=x86-64 os=debian7``). You can also
use the triplet form of platform, operating system and processor.
Each node in the dependency graph of a spec has an architecture attribute.
This attribute is a triplet of platform, operating system and processor.
You can specify the elements either separately, by using
the reserved keywords ``platform``, ``os`` and ``target``:
.. code-block:: console
$ spack install libelf platform=linux
$ spack install libelf os=ubuntu18.04
$ spack install libelf target=broadwell
or together by using the reserved keyword ``arch``:
.. code-block:: console
$ spack install libelf arch=cray-CNL10-haswell
Users on non-Cray systems won't have to worry about specifying the architecture.
Spack will autodetect what kind of operating system is on your machine as well
as the processor. For more information on how the architecture can be
used on Cray machines, see :ref:`cray-support`
Normally users don't have to bother specifying the architecture if they
are installing software for their current host, as in that case the
values will be detected automatically. If you need fine-grained control
over which packages use which targets (or over *all* packages' default
target), see :ref:`concretization-preferences`.
.. admonition:: Cray machines
The situation is a little bit different for Cray machines and a detailed
explanation on how the architecture can be set on them can be found at :ref:`cray-support`
.. _support-for-microarchitectures:
"""""""""""""""""""""""""""""""""""""""
Support for specific microarchitectures
"""""""""""""""""""""""""""""""""""""""
Spack knows how to detect and optimize for many specific microarchitectures
(including recent Intel, AMD and IBM chips) and encodes this information in
the ``target`` portion of the architecture specification. A complete list of
the microarchitectures known to Spack can be obtained in the following way:
.. command-output:: spack arch --known-targets
When a spec is installed Spack matches the compiler being used with the
microarchitecture being targeted to inject appropriate optimization flags
at compile time. Giving a command such as the following:
.. code-block:: console
$ spack install zlib%gcc@9.0.1 target=icelake
will produce compilation lines similar to:
.. code-block:: console
$ /usr/bin/gcc-9 -march=icelake-client -mtune=icelake-client -c ztest10532.c
$ /usr/bin/gcc-9 -march=icelake-client -mtune=icelake-client -c -fPIC -O2 ztest10532.
...
where the flags ``-march=icelake-client -mtune=icelake-client`` are injected
by Spack based on the requested target and compiler.
If Spack knows that the requested compiler can't optimize for the current target
or can't build binaries for that target at all, it will exit with a meaningful error message:
.. code-block:: console
$ spack install zlib%gcc@5.5.0 target=icelake
==> Error: cannot produce optimized binary for micro-architecture "icelake" with gcc@5.5.0 [supported compiler versions are 8:]
When instead an old compiler is selected on a recent enough microarchitecture but there is
no explicit ``target`` specification, Spack will optimize for the best match it can find instead
of failing:
.. code-block:: console
$ spack arch
linux-ubuntu18.04-broadwell
$ spack spec zlib%gcc@4.8
Input spec
--------------------------------
zlib%gcc@4.8
Concretized
--------------------------------
zlib@1.2.11%gcc@4.8+optimize+pic+shared arch=linux-ubuntu18.04-haswell
$ spack spec zlib%gcc@9.0.1
Input spec
--------------------------------
zlib%gcc@9.0.1
Concretized
--------------------------------
zlib@1.2.11%gcc@9.0.1+optimize+pic+shared arch=linux-ubuntu18.04-broadwell
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
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
on which optimization flags should be used for a given compiler. This behavior
might change in the future.
.. _sec-virtual-dependencies:
@@ -753,7 +1091,7 @@ used on Cray machines, see :ref:`cray-support`
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*
@@ -896,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
---------------------------
@@ -903,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,
@@ -980,33 +1319,41 @@ 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 ``use`` or ``load`` the
module for the extension, and it will be added to the ``PYTHONPATH``
in your current shell.
For tcl modules:
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
$ spack load python
$ spack load py-numpy
or, for dotkit:
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
$ spack use python
$ spack use py-numpy
$ module load <name of numpy module>
Now ``import numpy`` will succeed for as long as you keep your current
session open.
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.
@@ -1072,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-2018 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-2018 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,16 +58,26 @@ 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.
If Spack is asked to build a package that uses one of these MPIs as a
dependency, it will use the pre-installed OpenMPI in
the given directory. ``packages.yaml`` can also be used to specify modules
to load instead of the installation prefixes.
the given directory. Note that the specified path is the top-level
install prefix, not the ``bin`` subdirectory.
``packages.yaml`` can also be used to specify modules to load instead
of the installation prefixes. The following example says that module
``CMake/3.7.2`` provides cmake version 3.7.2.
.. code-block:: yaml
cmake:
modules:
cmake@3.7.2: CMake/3.7.2
Each ``packages.yaml`` begins with a ``packages:`` token, followed
by a list of package names. To specify externals, add a ``paths`` or ``modules``
@@ -97,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
@@ -114,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:
@@ -138,7 +220,8 @@ Here's an example ``packages.yaml`` file that sets preferred packages:
gperftools:
version: [2.2, 2.4, 2.3]
all:
compiler: [gcc@4.4.7, gcc@4.6:, intel, clang, pgi]
compiler: [gcc@4.4.7, 'gcc@4.6:', intel, clang, pgi]
target: [sandybridge]
providers:
mpi: [mvapich2, mpich, openmpi]
@@ -152,11 +235,11 @@ on the command line if explicitly requested.
Each ``packages.yaml`` file begins with the string ``packages:`` and
package names are specified on the next level. The special string ``all``
applies settings to each package. Underneath each package name is
one or more components: ``compiler``, ``variants``, ``version``,
or ``providers``. Each component has an ordered list of spec
``constraints``, with earlier entries in the list being preferred over
later entries.
applies settings to *all* packages. Underneath each package name is one
or more components: ``compiler``, ``variants``, ``version``,
``providers``, and ``target``. Each component has an ordered list of
spec ``constraints``, with earlier entries in the list being preferred
over later entries.
Sometimes a package installation may have constraints that forbid
the first concretization rule, in which case Spack will use the first

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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)
@@ -40,6 +40,7 @@ on these ideas for each distinct build system that Spack supports:
build_systems/cmakepackage
build_systems/mesonpackage
build_systems/qmakepackage
build_systems/sippackage
.. toctree::
:maxdepth: 1
@@ -55,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-2018 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-2018 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-2018 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-2018 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-2018 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)
@@ -120,7 +120,7 @@ version numbers seen with most other Spack packages. For example, we have:
...
Preferred version:
professional.2018.3 http:...
Safe versions:
professional.2018.3 http:...
...
@@ -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.
@@ -728,7 +728,7 @@ For packages that contain a compiler, follow `the previous section
.. code-block:: console
$ spack install intel-mpi@2018.3.199
$ spack install intel-mpi@2018.3.199
$ spack install intel-mpi@2018.3.199 %intel@18
4. To prepare the new packages for use with client packages,
@@ -802,7 +802,7 @@ by one of the following means:
Configure the order of compilers in the appropriate ``packages.yaml`` file,
under either an ``all:`` or client-package-specific entry, in a
``compiler:`` list. Consult the Spack documentation for
:ref:`Configuring Package Preferences <configs-tutorial-package-prefs>`
`Configuring Package Preferences <https://spack-tutorial.readthedocs.io/en/latest/tutorial_configuration.html#configuring-package-preferences>`_
and
:ref:`Concretization Preferences <concretization-preferences>`.
@@ -851,7 +851,7 @@ client packages, edit the ``packages.yaml`` file. Customize, either in the
the virtual packages and whose values are the Spack specs that satisfy the
virtual package, in order of decreasing preference. To learn more about the
``providers:`` settings, see the Spack tutorial for
:ref:`Configuring Package Preferences <configs-tutorial-package-prefs>`
`Configuring Package Preferences <https://spack-tutorial.readthedocs.io/en/latest/tutorial_configuration.html#configuring-package-preferences>`_
and the section
:ref:`Concretization Preferences <concretization-preferences>`.
@@ -965,14 +965,14 @@ 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:
.. code-block:: python
self.spec['blas'].headers.include_flags
and to generate linker options (``-L<dir> -llibname ...``), use the same as above,
.. code-block:: python
@@ -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-2018 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-2018 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)
@@ -54,6 +54,28 @@ Packages that use the Meson build system can be identified by the
presence of a ``meson.build`` file. This file declares things
like build instructions and dependencies.
One thing to look for is the ``meson_version`` key that gets passed
to the ``project`` function:
.. code-block:: none
:emphasize-lines: 10
project('gtk+', 'c',
version: '3.94.0',
default_options: [
'buildtype=debugoptimized',
'warning_level=1',
# We only need c99, but glib needs GNU-specific features
# https://github.com/mesonbuild/meson/issues/2289
'c_std=gnu99',
],
meson_version: '>= 0.43.0',
license: 'LGPLv2.1+')
This means that Meson 0.43.0 is the earliest release that will work.
You should specify this in a ``depends_on`` statement.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -67,6 +89,28 @@ the ``MesonPackage`` base class already contains:
depends_on('meson', type='build')
depends_on('ninja', type='build')
If you need to specify a particular version requirement, you can
override this in your package:
.. code-block:: python
depends_on('meson@0.43.0:', type='build')
depends_on('ninja', type='build')
^^^^^^^^^^^^^^^^^^^
Finding meson flags
^^^^^^^^^^^^^^^^^^^
To get a list of valid flags that can be passed to ``meson``, run the
following command in the directory that contains ``meson.build``:
.. code-block:: console
$ meson setup --help
^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to meson
^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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-2018 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-2018 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-2018 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-2018 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)
@@ -42,7 +42,11 @@ If it isn't on CRAN, try Bioconductor, another common R repository.
For the purposes of this tutorial, we will be walking through
`r-caret <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/r-caret/package.py>`_
as an example. If you search for "CRAN caret", you will quickly find what
you are looking for at https://cran.r-project.org/web/packages/caret/index.html.
you are looking for at https://cran.r-project.org/package=caret.
https://cran.r-project.org is the main CRAN website. However, CRAN also
has a https://cloud.r-project.org site that automatically redirects to
`mirrors around the world <https://cloud.r-project.org/mirrors.html>`_.
For stability and performance reasons, we will use https://cloud.r-project.org/package=caret.
If you search for "Package source", you will find the download URL for
the latest release. Use this URL with ``spack create`` to create a new
package.
@@ -93,8 +97,8 @@ If you look at the bottom of the page, you'll see:
Please use the canonical form https://CRAN.R-project.org/package=caret to link to this page.
Please uphold the wishes of the CRAN admins and use
https://CRAN.R-project.org/package=caret as the homepage instead of
https://cran.r-project.org/web/packages/caret/index.html. The latter may
https://cloud.r-project.org/package=caret as the homepage instead of
https://cloud.r-project.org/web/packages/caret/index.html. The latter may
change without notice.
^^^
@@ -109,12 +113,12 @@ List URL
^^^^^^^^
CRAN maintains a single webpage containing the latest release of every
single package: https://cran.r-project.org/src/contrib/
single package: https://cloud.r-project.org/src/contrib/
Of course, as soon as a new release comes out, the version you were using
in your package is no longer available at that URL. It is moved to an
archive directory. If you search for "Old sources", you will find:
https://cran.r-project.org/src/contrib/Archive/caret
https://cloud.r-project.org/src/contrib/Archive/caret
If you only specify the URL for the latest release, your package will
no longer be able to fetch that version as soon as a new release comes
@@ -138,12 +142,12 @@ every R package needs this, the ``RPackage`` base class contains:
Take a close look at the homepage for ``caret``. If you look at the
"Depends" section, you'll notice that ``caret`` depends on "R (≥ 2.10)".
"Depends" section, you'll notice that ``caret`` depends on "R (≥ 3.2.0)".
You should add this to your package like so:
.. code-block:: python
depends_on('r@2.10:', type=('build', 'run'))
depends_on('r@3.2.0:', type=('build', 'run'))
^^^^^^^^^^^^^^
@@ -162,7 +166,7 @@ and list all of their dependencies in the following sections:
As far as Spack is concerned, all 3 of these dependency types
correspond to ``type=('build', 'run')``, so you don't have to worry
about them. If you are curious what they mean,
about the details. If you are curious what they mean,
https://github.com/spack/spack/issues/2951 has a pretty good summary:
``Depends`` is required and will cause those R packages to be *attached*,
@@ -193,6 +197,14 @@ R packages already have enough dependencies as it is, and adding
optional dependencies can really slow down the concretization
process. They can also introduce circular dependencies.
A fifth rarely used section is:
* Enhances
This means that the package can be used as an optional dependency
for another package. Again, these packages should **NOT** be listed
as dependencies.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Core, recommended, and non-core packages
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -208,8 +220,8 @@ If you look at the ``caret`` homepage, you'll notice a few dependencies
that don't have a link to the package, like ``methods``, ``stats``, and
``utils``. These packages are part of the core R distribution and are
tied to the R version installed. You can basically consider these to be
"R itself". These are so essential to R so it would not make sense that
they could be updated via CRAN. If so, you would basically get a different
"R itself". These are so essential to R that it would not make sense for
them to be updated via CRAN. If you did, you would basically get a different
version of R. Thus, they're updated when R is updated.
You can find a list of these core libraries at:
@@ -265,7 +277,7 @@ Non-R dependencies
Some packages depend on non-R libraries for linking. Check out the
`r-stringi <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/r-stringi/package.py>`_
package for an example: https://CRAN.R-project.org/package=stringi.
package for an example: https://cloud.r-project.org/package=stringi.
If you search for the text "SystemRequirements", you will see:
ICU4C (>= 52, optional)
@@ -344,3 +356,11 @@ External documentation
For more information on installing R packages, see:
https://stat.ethz.ch/R-manual/R-devel/library/utils/html/INSTALL.html
For more information on writing R packages, see:
https://cloud.r-project.org/doc/manuals/r-release/R-exts.html
In particular,
https://cloud.r-project.org/doc/manuals/r-release/R-exts.html#Package-Dependencies
has a great explanation of the difference between Depends, Imports,
and LinkingTo.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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-2018 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

@@ -0,0 +1,135 @@
.. 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)
.. _sippackage:
----------
SIPPackage
----------
SIP is a tool that makes it very easy to create Python bindings for C and C++
libraries. It was originally developed to create PyQt, the Python bindings for
the Qt toolkit, but can be used to create bindings for any C or C++ library.
SIP comprises a code generator and a Python module. The code generator
processes a set of specification files and generates C or C++ code which is
then compiled to create the bindings extension module. The SIP Python module
provides support functions to the automatically generated code.
^^^^^^
Phases
^^^^^^
The ``SIPPackage`` base class comes with the following phases:
#. ``configure`` - configure the package
#. ``build`` - build the package
#. ``install`` - install the package
By default, these phases run:
.. code-block:: console
$ python configure.py --bindir ... --destdir ...
$ make
$ make install
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
Each SIP package comes with a custom ``configure.py`` build script,
written in Python. This script contains instructions to build the project.
^^^^^^^^^^^^^^^^^^^^^^^^^
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. All of these dependencies are automatically
added via the base class
.. code-block:: python
extends('python')
depends_on('qt', type='build')
depends_on('py-sip', type='build')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to ``configure.py``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Each phase comes with a ``<phase_args>`` function that can be used to pass
arguments to that particular phase. For example, if you need to pass
arguments to the configure phase, you can use:
.. code-block:: python
def configure_args(self, spec, prefix):
return ['--no-python-dbus']
A list of valid options can be found by running ``python configure.py --help``.
^^^^^^^
Testing
^^^^^^^
Just because a package successfully built does not mean that it built
correctly. The most reliable test of whether or not the package was
correctly installed is to attempt to import all of the modules that
get installed. To get a list of modules, run the following command
in the site-packages directory:
.. code-block:: console
$ python
>>> import setuptools
>>> setuptools.find_packages()
['QtPy5']
Large, complex packages like ``QtPy5`` will return a long list of
packages, while other packages may return an empty list. These packages
only install a single ``foo.py`` file. In Python packaging lingo,
a "package" is a directory containing files like:
.. code-block:: none
foo/__init__.py
foo/bar.py
foo/baz.py
whereas a "module" is a single Python file. Since ``find_packages``
only returns packages, you'll have to determine the correct module
names yourself. You can now add these packages and modules to the
package like so:
.. code-block:: python
import_modules = ['PyQt5']
When you run ``spack install --test=root py-pyqt5``, Spack will attempt
to import the ``PyQt5`` module after installation.
These tests most often catch missing dependencies and non-RPATHed
libraries.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on the SIP build system, see:
* https://www.riverbankcomputing.com/software/sip/intro
* https://www.riverbankcomputing.com/static/Docs/sip/
* https://wiki.python.org/moin/SIP

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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

96
lib/spack/docs/chain.rst Normal file
View File

@@ -0,0 +1,96 @@
.. 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)
.. chain:
============================
Chaining Spack Installations
============================
You can point your Spack installation to another installation to use any
packages that are installed there. To register the other Spack instance,
you can add it as an entry to ``upstreams.yaml``:
.. code-block:: yaml
upstreams:
spack-instance-1:
install_tree: /path/to/other/spack/opt/spack
spack-instance-2:
install_tree: /path/to/another/spack/opt/spack
``install_tree`` must point to the ``opt/spack`` directory inside of the
Spack base directory.
Once the upstream Spack instance has been added, ``spack find`` will
automatically check the upstream instance when querying installed packages,
and new package installations for the local Spack install will use any
dependencies that are installed in the upstream instance.
This other instance of Spack has no knowledge of the local Spack instance
and may not have the same permissions or ownership as the local Spack instance.
This has the following consequences:
#. Upstream Spack instances are not locked. Therefore it is up to users to
make sure that the local instance is not using an upstream instance when it
is being modified.
#. Users should not uninstall packages from the upstream instance. Since the
upstream instance doesn't know about the local instance, it cannot prevent
the uninstallation of packages which the local instance depends on.
Other details about upstream installations:
#. If a package is installed both locally and upstream, the local installation
will always be used as a dependency. This can occur if the local Spack
installs a package which is not present in the upstream, but later on the
upstream Spack instance also installs that package.
#. If an upstream Spack instance registers and installs an external package,
the local Spack instance will treat this the same as a Spack-installed
package. This feature will only work if the upstream Spack instance
includes the upstream functionality (i.e. if its commit is after March
27, 2019).
---------------------------------------
Using Multiple Upstream Spack Instances
---------------------------------------
A single Spack instance can use multiple upstream Spack installations. Spack
will search upstream instances in the order you list them in your
configuration. If your installation refers to instances X and Y, in that order,
then instance X must list Y as an upstream in its own ``upstreams.yaml``.
-----------------------------------
Using Modules for Upstream Packages
-----------------------------------
The local Spack instance does not generate modules for packages which are
installed upstream. The local Spack instance can be configured to use the
modules generated by the upstream Spack instance.
There are two requirements to use the modules created by an upstream Spack
instance: firstly the upstream instance must do a ``spack module tcl refresh``,
which generates an index file that maps installed packages to their modules;
secondly, the local Spack instance must add a ``modules`` entry to the
configuration:
.. code-block:: yaml
upstreams:
spack-instance-1:
install_tree: /path/to/other/spack/opt/spack
modules:
tcl: /path/to/other/spack/share/spack/modules
Each time new packages are installed in the upstream Spack instance, the
upstream Spack maintainer should run ``spack module tcl refresh`` (or the
corresponding command for the type of module they intend to use).
.. note::
Spack can generate modules that :ref:`automatically load
<autoloading-dependencies>` the modules of dependency packages. Spack cannot
currently do this for modules in upstream packages.

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2018 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)
@@ -20,67 +20,45 @@
import sys
import os
import re
import shutil
import subprocess
from glob import glob
# Since Sphinx 1.7, sphinx.apidoc has been moved to sphinx.ext.apidoc
# sphinx.apidoc is deprecated and will be removed in Sphinx 2.0
try:
from sphinx.ext.apidoc import main as sphinx_apidoc
except ImportError:
from sphinx.apidoc import main as sphinx_apidoc
from sphinx.ext.apidoc import main as sphinx_apidoc
# -- Spack customizations -----------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath('../external'))
sys.path.insert(0, os.path.abspath('_spack_root/lib/spack/external'))
if sys.version_info[0] < 3:
sys.path.insert(0, os.path.abspath('../external/yaml/lib'))
sys.path.insert(
0, os.path.abspath('_spack_root/lib/spack/external/yaml/lib'))
else:
sys.path.insert(0, os.path.abspath('../external/yaml/lib3'))
sys.path.append(os.path.abspath('..'))
sys.path.insert(
0, os.path.abspath('_spack_root/lib/spack/external/yaml/lib3'))
sys.path.append(os.path.abspath('_spack_root/lib/spack/'))
# Add the Spack bin directory to the path so that we can use its output in docs.
spack_root = '../../..'
os.environ['SPACK_ROOT'] = spack_root
os.environ['PATH'] += '%s%s/bin' % (os.pathsep, spack_root)
os.environ['SPACK_ROOT'] = os.path.abspath('_spack_root')
os.environ['PATH'] += "%s%s" % (os.pathsep, os.path.abspath('_spack_root/bin'))
# Set an environment variable so that colify will print output like it would to
# a terminal.
os.environ['COLIFY_SIZE'] = '25x120'
#
# Generate package list using spack command
#
with open('package_list.html', 'w') as plist_file:
subprocess.Popen(
[spack_root + '/bin/spack', 'list', '--format=html'],
stdout=plist_file)
#
# Find all the `cmd-spack-*` references and add them to a command index
#
import spack
import spack.cmd
command_names = spack.cmd.all_commands()
documented_commands = set()
for filename in glob('*rst'):
with open(filename) as f:
for line in f:
match = re.match('.. _cmd-(spack-.*):', line)
if match:
documented_commands.add(match.group(1).strip())
os.environ['COLUMNS'] = '120'
shutil.copy('command_index.in', 'command_index.rst')
with open('command_index.rst', 'a') as index:
subprocess.Popen(
[spack_root + '/bin/spack', 'commands', '--format=rst'] + list(
documented_commands),
stdout=index)
# Generate full package list if needed
subprocess.call([
'spack', 'list', '--format=html', '--update=package_list.html'])
# Generate a command index if an update is needed
subprocess.call([
'spack', 'commands',
'--format=rst',
'--header=command_index.in',
'--update=command_index.rst'] + glob('*rst'))
#
# Run sphinx-apidoc
@@ -90,13 +68,12 @@
# Without this, the API Docs will never actually update
#
apidoc_args = [
'--force', # Older versions of Sphinx ignore the first argument
'--force', # Overwrite existing files
'--no-toc', # Don't create a table of contents file
'--output-dir=.', # Directory to place all output
]
sphinx_apidoc(apidoc_args + ['../spack'])
sphinx_apidoc(apidoc_args + ['../llnl'])
sphinx_apidoc(apidoc_args + ['_spack_root/lib/spack/spack'])
sphinx_apidoc(apidoc_args + ['_spack_root/lib/spack/llnl'])
# Enable todo items
todo_include_todos = True
@@ -113,12 +90,12 @@ def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode):
env, fromdocname, builder, typ, target, node, contnode)
def setup(sphinx):
sphinx.override_domain(PatchedPythonDomain)
sphinx.add_domain(PatchedPythonDomain, override=True)
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
needs_sphinx = '1.8'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
@@ -151,13 +128,14 @@ def setup(sphinx):
# General information about the project.
project = u'Spack'
copyright = u'2013-2018, Lawrence Livermore National Laboratory.'
copyright = u'2013-2019, Lawrence Livermore National Laboratory.'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
import spack
version = '.'.join(str(s) for s in spack.spack_version_info[:2])
# The full version, including alpha/beta/rc tags.
release = spack.spack_version
@@ -166,6 +144,13 @@ def setup(sphinx):
# for a list of supported languages.
#language = None
# Places to look for .po/.mo files for doc translations
#locale_dirs = []
# Sphinx gettext settings
gettext_compact = True
gettext_uuid = False
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
@@ -174,7 +159,7 @@ def setup(sphinx):
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
exclude_patterns = ['_build', '_spack_root', '.spack-env']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
@@ -191,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 = []
@@ -220,12 +223,12 @@ def setup(sphinx):
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
html_logo = '../../../share/spack/logo/spack-logo-white-text.svg'
html_logo = '_spack_root/share/spack/logo/spack-logo-white-text.svg'
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
html_favicon = '../../../share/spack/logo/favicon.ico'
html_favicon = '_spack_root/share/spack/logo/favicon.ico'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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,7 +13,7 @@ Spack's basic configuration options are set in ``config.yaml``. You can
see the default settings by looking at
``etc/spack/defaults/config.yaml``:
.. literalinclude:: ../../../etc/spack/defaults/config.yaml
.. literalinclude:: _spack_root/etc/spack/defaults/config.yaml
:language: yaml
These settings can be overridden in ``etc/spack/config.yaml`` or
@@ -30,25 +30,34 @@ 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:
Secondly, it is
also possible to modify the entire installation scheme. By default
Spack uses
``${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}``
.. 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
``{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}``
where the tokens that are available for use in this directive are the
same as those understood by the ``Spec.format`` method. Using this parameter it
is possible to use a different package layout or reduce the depth of
the installation paths. For example
same as those understood by the :meth:`~spack.spec.Spec.format`
method. Using this parameter it is possible to use a different package
layout or reduce the depth of the installation paths. For example
.. code-block:: yaml
config:
install_path_scheme: '${PACKAGE}/${VERSION}/${HASH:7}'
install_path_scheme: '{name}/{version}/{hash:7}'
would install packages into sub-directories using only the package
name, version and a hash length of 7 characters.
@@ -75,7 +84,6 @@ the location for each type of module. e.g.:
module_roots:
tcl: $spack/share/spack/modules
lmod: $spack/share/spack/lmod
dotkit: $spack/share/spack/dotkit
See :ref:`modules` for details.
@@ -85,40 +93,46 @@ See :ref:`modules` for details.
Spack is designed to run out of a user home directory, and on many
systems the home directory is a (slow) network file system. On most systems,
building in a temporary file system results in faster builds than building
in the home directory. Usually, there is also more space available in
the temporary location than in the home directory. So, Spack tries to
create build stages in temporary space.
building in a temporary file system is faster. Usually, there is also more
space available in the temporary location than in the home directory. If the
username is not already in the path, Spack will append the value of ``$user`` to
the selected ``build_stage`` path.
.. warning:: We highly recommend specifying ``build_stage`` paths that
distinguish between staging and other activities to ensure
``spack clean`` does not inadvertently remove unrelated files.
Spack prepends ``spack-stage-`` to temporary staging directory names to
reduce this risk. Using a combination of ``spack`` and or ``stage`` in
each specified path, as shown in the default settings and documented
examples, will add another layer of protection.
By default, Spack's ``build_stage`` is configured like this:
.. code-block:: yaml
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $spack/var/spack/stage
- $tempdir/$user/spack-stage
- ~/.spack/stage
This is an ordered list of paths that Spack should search when trying to
This can be an ordered list of paths that Spack should search when trying to
find a temporary directory for the build stage. The list is searched in
order, and Spack will use the first directory to which it has write access.
See :ref:`config-file-variables` for more on ``$tempdir`` and ``$spack``.
Specifying `~/.spack/stage` first will ensure each user builds in their home
directory. The historic Spack stage path `$spack/var/spack/stage` will build
directly inside the Spack instance. See :ref:`config-file-variables` for more
on ``$tempdir`` and ``$spack``.
When Spack builds a package, it creates a temporary directory within the
``build_stage``, and it creates a symbolic link to that directory in
``$spack/var/spack/stage``. This is used to track the stage.
After a package is successfully installed, Spack deletes the temporary
directory it used to build. Unsuccessful builds are not deleted, but you
can manually purge them with :ref:`spack clean --stage
``build_stage``. After the package is successfully installed, Spack deletes
the temporary directory it used to build. Unsuccessful builds are not
deleted, but you can manually purge them with :ref:`spack clean --stage
<cmd-spack-clean>`.
.. note::
The last item in the list is ``$spack/var/spack/stage``. If this is the
only writable directory in the ``build_stage`` list, Spack will build
*directly* in ``$spack/var/spack/stage`` and will not link to temporary
space.
The build will fail if there is no writable directory in the ``build_stage``
list, where any user- and site-specific setting will be searched first.
--------------------
``source_cache``
@@ -180,16 +194,23 @@ set ``dirty`` to ``true`` to skip the cleaning step and make all builds
"dirty" by default. Be aware that this will reduce the reproducibility
of builds.
.. _build-jobs:
--------------
``build_jobs``
--------------
Unless overridden in a package or on the command line, Spack builds all
packages in parallel. For a build system that uses Makefiles, this means
running ``make -j<build_jobs>``, where ``build_jobs`` is the number of
threads to use.
packages in parallel. The default parallelism is equal to the number of
cores on your machine, up to 16. Parallelism cannot exceed the number of
cores available on the host. For a build system that uses Makefiles, this
means running:
- ``make -j<build_jobs>``, when ``build_jobs`` is less than the number of
cores on the machine
- ``make -j<ncores>``, when ``build_jobs`` is greater or equal to the
number of cores on the machine
The default parallelism is equal to the number of cores on your machine.
If you work on a shared login node or have a strict ulimit, it may be
necessary to set the default to a lower value. By setting ``build_jobs``
to 4, for example, commands like ``spack install`` will run ``make -j4``
@@ -215,3 +236,24 @@ ccache`` to learn more about the default settings and how to change
them). Please note that we currently disable ccache's ``hash_dir``
feature to avoid an issue with the stage directory (see
https://github.com/LLNL/spack/pull/3761#issuecomment-294352232).
------------------
``shared_linking``
------------------
Control whether Spack embeds ``RPATH`` or ``RUNPATH`` attributes in ELF binaries
so that they can find their dependencies. Has no effect on macOS.
Two options are allowed:
1. ``rpath`` uses ``RPATH`` and forces the ``--disable-new-tags`` flag to be passed to the linker
2. ``runpath`` uses ``RUNPATH`` and forces the ``--enable-new-tags`` flag to be passed to the linker
``RPATH`` search paths have higher precedence than ``LD_LIBRARY_PATH``
and ld.so will search for libraries in transitive ``RPATHs`` of
parent objects.
``RUNPATH`` search paths have lower precedence than ``LD_LIBRARY_PATH``,
and ld.so will ONLY search for dependencies in the ``RUNPATH`` of
the loading object.
DO NOT MIX the two options within the same install tree.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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)
@@ -36,8 +36,8 @@ Here is an example ``config.yaml`` file:
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $tempdir/$user/spack-stage
- ~/.spack/stage
Each Spack configuration file is nested under a top-level section
corresponding to its name. So, ``config.yaml`` starts with ``config:``,
@@ -244,8 +244,8 @@ your configurations look like this:
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $tempdir/$user/spack-stage
- ~/.spack/stage
.. code-block:: yaml
@@ -269,8 +269,8 @@ command:
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $tempdir/$user/spack-stage
- ~/.spack/stage
.. _config-overrides:
@@ -312,8 +312,8 @@ Let's revisit the ``config.yaml`` example one more time. The
:caption: $(prefix)/etc/spack/defaults/config.yaml
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $tempdir/$user/spack-stage
- ~/.spack/stage
Suppose the user configuration adds its *own* list of ``build_stage``
@@ -323,7 +323,7 @@ paths:
:caption: ~/.spack/config.yaml
build_stage:
- /lustre-scratch/$user
- /lustre-scratch/$user/spack
- ~/mystage
@@ -341,10 +341,10 @@ get config`` shows the result:
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- /lustre-scratch/$user
- /lustre-scratch/$user/spack
- ~/mystage
- $tempdir
- /nfs/tmp2/$user
- $tempdir/$user/spack-stage
- ~/.spack/stage
As in :ref:`config-overrides`, the higher-precedence scope can
@@ -356,7 +356,7 @@ user config looked like this:
:caption: ~/.spack/config.yaml
build_stage::
- /lustre-scratch/$user
- /lustre-scratch/$user/spack
- ~/mystage
@@ -371,7 +371,7 @@ The merged configuration would look like this:
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- /lustre-scratch/$user
- /lustre-scratch/$user/spack
- ~/mystage
@@ -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
----------------------------
@@ -459,14 +486,13 @@ account all scopes. For example, to see the fully merged
install_tree: $spack/opt/spack
template_dirs:
- $spack/templates
directory_layout: ${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}
directory_layout: {architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}
module_roots:
tcl: $spack/share/spack/modules
lmod: $spack/share/spack/lmod
dotkit: $spack/share/spack/dotkit
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $tempdir/$user/spack-stage
- ~/.spack/stage
- $spack/var/spack/stage
source_cache: $spack/var/spack/cache
misc_cache: ~/.spack/cache
@@ -510,14 +536,13 @@ down the problem:
./my-scope/config.yaml:2 install_tree: /path/to/some/tree
/home/myuser/spack/etc/spack/defaults/config.yaml:23 template_dirs:
/home/myuser/spack/etc/spack/defaults/config.yaml:24 - $spack/templates
/home/myuser/spack/etc/spack/defaults/config.yaml:28 directory_layout: ${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}
/home/myuser/spack/etc/spack/defaults/config.yaml:28 directory_layout: {architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}
/home/myuser/spack/etc/spack/defaults/config.yaml:32 module_roots:
/home/myuser/spack/etc/spack/defaults/config.yaml:33 tcl: $spack/share/spack/modules
/home/myuser/spack/etc/spack/defaults/config.yaml:34 lmod: $spack/share/spack/lmod
/home/myuser/spack/etc/spack/defaults/config.yaml:35 dotkit: $spack/share/spack/dotkit
/home/myuser/spack/etc/spack/defaults/config.yaml:49 build_stage:
/home/myuser/spack/etc/spack/defaults/config.yaml:50 - $tempdir
/home/myuser/spack/etc/spack/defaults/config.yaml:51 - /nfs/tmp2/$user
/home/myuser/spack/etc/spack/defaults/config.yaml:50 - $tempdir/$user/spack-stage
/home/myuser/spack/etc/spack/defaults/config.yaml:51 - ~/.spack/stage
/home/myuser/spack/etc/spack/defaults/config.yaml:52 - $spack/var/spack/stage
/home/myuser/spack/etc/spack/defaults/config.yaml:57 source_cache: $spack/var/spack/cache
/home/myuser/spack/etc/spack/defaults/config.yaml:62 misc_cache: ~/.spack/cache

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-2018 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)
@@ -64,6 +64,8 @@ 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
perform 3 types of tests:
.. _cmd-spack-test:
^^^^^^^^^^
Unit Tests
^^^^^^^^^^
@@ -86,40 +88,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 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 fromework, 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 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 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 Travis 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
@@ -223,8 +268,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 +278,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 +297,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
@@ -332,8 +385,8 @@ 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!

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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:
^^^^^^^^^^^^^^^^
@@ -488,7 +488,7 @@ supply ``--profile`` to Spack on the command line, before any subcommands.
``spack --profile`` output looks like this:
.. command-output:: spack --profile graph dyninst
.. command-output:: spack --profile graph hdf5
:ellipsis: 25
The bottom of the output shows the top most time consuming functions,

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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

@@ -0,0 +1,855 @@
.. 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)
.. _environments:
============
Environments
============
An environment is used to group together a set of specs for the
purpose of building, rebuilding and deploying in a coherent fashion.
Environments provide a number of advantages over the *à la carte*
approach of building and loading individual Spack modules:
#. Environments separate the steps of (a) choosing what to
install, (b) concretizing, and (c) installing. This allows
Environments to remain stable and repeatable, even if Spack packages
are upgraded: specs are only re-concretized when the user
explicitly asks for it. It is even possible to reliably
transport environments between different computers running
different versions of Spack!
#. Environments allow several specs to be built at once; a more robust
solution than ad-hoc scripts making multiple calls to ``spack
install``.
#. An Environment that is built as a whole can be loaded as a whole
into the user environment. An Environment can be built to maintain
a filesystem view of its packages, and the environment can load
that view into the user environment at activation time. Spack can
also generate a script to load all modules related to an
environment.
Other packaging systems also provide environments that are similar in
some ways to Spack environments; for example, `Conda environments
<https://conda.io/docs/user-guide/tasks/manage-environments.html>`_ or
`Python Virtual Environments
<https://docs.python.org/3/tutorial/venv.html>`_. Spack environments
provide some distinctive features:
#. A spec installed "in" an environment is no different from the same
spec installed anywhere else in Spack. Environments are assembled
simply by collecting together a set of specs.
#. Spack Environments may contain more than one spec of the same
package.
Spack uses a "manifest and lock" model similar to `Bundler gemfiles
<https://bundler.io/man/gemfile.5.html>`_ and other package
managers. The user input file is named ``spack.yaml`` and the lock
file is named ``spack.lock``
.. _environments-using:
------------------
Using Environments
------------------
Here we follow a typical use case of creating, concretizing,
installing and loading an environment.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Creating a named Environment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
An environment is created by:
.. code-block:: console
$ spack env create myenv
Spack then creates the directory ``var/spack/environments/myenv``.
.. note::
All named environments are stored in the ``var/spack/environments`` folder.
In the ``var/spack/environments/myenv`` directory, Spack creates the
file ``spack.yaml`` and the hidden directory ``.spack-env``.
Spack stores metadata in the ``.spack-env`` directory. User
interaction will occur through the ``spack.yaml`` file and the Spack
commands that affect it. When the environment is concretized, Spack
will create a file ``spack.lock`` with the concrete information for
the environment.
In addition to being the default location for the view associated with
an Environment, the ``.spack-env`` directory also contains:
* ``repo/``: A repo consisting of the Spack packages used in this
environment. This allows the environment to build the same, in
theory, even on different versions of Spack with different
packages!
* ``logs/``: A directory containing the build logs for the packages
in this Environment.
Spack Environments can also be created from either a ``spack.yaml``
manifest or a ``spack.lock`` lockfile. To create an Environment from a
``spack.yaml`` manifest:
.. code-block:: console
$ spack env create myenv spack.yaml
To create an Environment from a ``spack.lock`` lockfile:
.. code-block:: console
$ spack env create myenv spack.lock
Either of these commands can also take a full path to the
initialization file.
A Spack Environment created from a ``spack.yaml`` manifest is
guaranteed to have the same root specs as the original Environment,
but may concretize differently. A Spack Environment created from a
``spack.lock`` lockfile is guaranteed to have the same concrete specs
as the original Environment. Either may obviously then differ as the
user modifies it.
^^^^^^^^^^^^^^^^^^^^^^^^^
Activating an Environment
^^^^^^^^^^^^^^^^^^^^^^^^^
To activate an environment, use the following command:
.. code-block:: console
$ spack env activate myenv
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-view`` argument activates the environment without changing
the user environment variables.
The ``-p`` option to the ``spack env activate`` command modifies the
user's prompt to begin with the environment name in brackets.
.. code-block:: console
$ spack env activate -p myenv
[myenv] $ ...
To deactivate an environment, use the command:
.. code-block:: console
$ spack env deactivate
or the shortcut alias
.. code-block:: console
$ despacktivate
If the environment was activated with its view, deactivating the
environment will remove the view from the user environment.
^^^^^^^^^^^^^^^^^^^^^^
Anonymous Environments
^^^^^^^^^^^^^^^^^^^^^^
Any directory can be treated as an environment if it contains a file
``spack.yaml``. To load an anonymous environment, use:
.. code-block:: console
$ spack env activate -d /path/to/directory
Anonymous specs can be created in place using the command:
.. code-block:: console
$ spack env create -d .
In this case Spack simply creates a spack.yaml file in the requested
directory.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Environment Sensitive Commands
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Spack commands are environment sensitive. For example, the ``find``
command shows only the specs in the active Environment if an
Environment has been activated. Similarly, the ``install`` and
``uninstall`` commands act on the active environment.
.. code-block:: console
$ spack find
==> 0 installed packages
$ spack install zlib@1.2.11
==> Installing zlib
==> Searching for binary cache of zlib
==> Warning: No Spack mirrors are currently configured
==> No binary for zlib found: installing from source
==> Fetching http://zlib.net/fossils/zlib-1.2.11.tar.gz
######################################################################## 100.0%
==> Staging archive: /spack/var/spack/stage/zlib-1.2.11-3r4cfkmx3wwfqeof4bc244yduu2mz4ur/zlib-1.2.11.tar.gz
==> Created stage in /spack/var/spack/stage/zlib-1.2.11-3r4cfkmx3wwfqeof4bc244yduu2mz4ur
==> No patches needed for zlib
==> Building zlib [Package]
==> Executing phase: 'install'
==> Successfully installed zlib
Fetch: 0.36s. Build: 11.58s. Total: 11.93s.
[+] /spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/zlib-1.2.11-3r4cfkmx3wwfqeof4bc244yduu2mz4ur
$ spack env activate myenv
$ spack find
==> In environment myenv
==> No root specs
==> 0 installed packages
$ spack install zlib@1.2.8
==> Installing zlib
==> Searching for binary cache of zlib
==> Warning: No Spack mirrors are currently configured
==> No binary for zlib found: installing from source
==> Fetching http://zlib.net/fossils/zlib-1.2.8.tar.gz
######################################################################## 100.0%
==> Staging archive: /spack/var/spack/stage/zlib-1.2.8-y2t6kq3s23l52yzhcyhbpovswajzi7f7/zlib-1.2.8.tar.gz
==> Created stage in /spack/var/spack/stage/zlib-1.2.8-y2t6kq3s23l52yzhcyhbpovswajzi7f7
==> No patches needed for zlib
==> Building zlib [Package]
==> Executing phase: 'install'
==> Successfully installed zlib
Fetch: 0.26s. Build: 2.08s. Total: 2.35s.
[+] /spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/zlib-1.2.8-y2t6kq3s23l52yzhcyhbpovswajzi7f7
$ spack find
==> In environment myenv
==> Root specs
zlib@1.2.8
==> 1 installed package
-- linux-rhel7-x86_64 / gcc@4.9.3 -------------------------------
zlib@1.2.8
$ despacktivate
$ spack find
==> 2 installed packages
-- linux-rhel7-x86_64 / gcc@4.9.3 -------------------------------
zlib@1.2.8 zlib@1.2.11
Note that when we installed the abstract spec ``zlib@1.2.8``, it was
presented as a root of the Environment. All explicitly installed
packages will be listed as roots of the Environment.
All of the Spack commands that act on the list of installed specs are
Environment-sensitive in this way, including ``install``,
``uninstall``, ``activate``, ``deactivate``, ``find``, ``extensions``,
and more. In the :ref:`environment-configuration` section we will discuss
Environment-sensitive commands further.
^^^^^^^^^^^^^^^^^^^^^
Adding Abstract Specs
^^^^^^^^^^^^^^^^^^^^^
An abstract spec is the user-specified spec before Spack has applied
any defaults or dependency information.
Users can add abstract specs to an Environment using the ``spack add``
command. The most important component of an Environment is a list of
abstract specs.
Adding a spec adds to the manifest (the ``spack.yaml`` file) and to
the roots of the Environment, but does not affect the concrete specs
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.
.. code-block:: console
$ spack env activate myenv
$ spack add mpileaks
or
.. code-block:: console
$ spack -e myenv add python
.. _environments_concretization:
^^^^^^^^^^^^
Concretizing
^^^^^^^^^^^^
Once some user specs have been added to an environment, they can be
concretized. *By default specs are concretized separately*, one after
the other. This mode of operation permits to deploy a full
software stack where multiple configurations of the same package
need to be installed alongside each other. Central installations done
at HPC centers by system administrators or user support groups
are a common case that fits in this behavior.
Environments *can also be configured to concretize all
the root specs in a self-consistent way* to ensure that
each package in the environment comes with a single configuration. This
mode of operation is usually what is required by software developers that
want to deploy their development environment.
Regardless of which mode of operation has been chosen, the following
command will ensure all the root specs are concretized according to the
constraints that are prescribed in the configuration:
.. code-block:: console
[myenv]$ spack concretize
In the case of specs that are not concretized together, the command
above will concretize only the specs that were added and not yet
concretized. Forcing a re-concretization of all the specs can be done
instead with this command:
.. code-block:: console
[myenv]$ spack concretize -f
When the ``-f`` flag is not used to reconcretize all specs, Spack
guarantees that already concretized specs are unchanged in the
environment.
The ``concretize`` command does not install any packages. For packages
that have already been installed outside of the environment, the
process of adding the spec and concretizing is identical to installing
the spec assuming it concretizes to the exact spec that was installed
outside of the environment.
The ``spack find`` command can show concretized specs separately from
installed specs using the ``-c`` (``--concretized``) flag.
.. code-block:: console
[myenv]$ spack add zlib
[myenv]$ spack concretize
[myenv]$ spack find -c
==> In environment myenv
==> Root specs
zlib
==> Concretized roots
-- linux-rhel7-x86_64 / gcc@4.9.3 -------------------------------
zlib@1.2.11
==> 0 installed packages
^^^^^^^^^^^^^^^^^^^^^^^^^
Installing an Environment
^^^^^^^^^^^^^^^^^^^^^^^^^
In addition to installing individual specs into an Environment, one
can install the entire Environment at once using the command
.. code-block:: console
[myenv]$ spack install
If the Environment has been concretized, Spack will install the
concretized specs. Otherwise, ``spack install`` will first concretize
the Environment and then install the concretized specs.
As it installs, ``spack install`` creates symbolic links in the
``logs/`` directory in the Environment, allowing for easy inspection
of build logs related to that environment. The ``spack install``
command also stores a Spack repo containing the ``package.py`` file
used at install time for each package in the ``repos/`` directory in
the Environment.
^^^^^^^
Loading
^^^^^^^
Once an environment has been installed, the following creates a load
script for it:
.. code-block:: console
$ 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
user; and can be included in ``.bashrc`` files, etc. The ``loads``
file may also be copied out of the environment, renamed, etc.
----------
spack.yaml
----------
Spack environments can be customized at finer granularity by editing
the ``spack.yaml`` manifest file directly.
.. _environment-configuration:
^^^^^^^^^^^^^^^^^^^^^^^^
Configuring Environments
^^^^^^^^^^^^^^^^^^^^^^^^
A variety of Spack behaviors are changed through Spack configuration
files, covered in more detail in the :ref:`configuration`
section.
Spack Environments provide an additional level of configuration scope
between the custom scope and the user scope discussed in the
configuration documentation.
There are two ways to include configuration information in a Spack Environment:
#. Inline in the ``spack.yaml`` file
#. Included in the ``spack.yaml`` file from another file.
"""""""""""""""""""""
Inline configurations
"""""""""""""""""""""
Inline Environment-scope configuration is done using the same yaml
format as standard Spack configuration scopes, covered in the
:ref:`configuration` section. Each section is contained under a
top-level yaml object with it's name. For example, a ``spack.yaml``
manifest file containing some package preference configuration (as in
a ``packages.yaml`` file) could contain:
.. code-block:: yaml
spack:
...
packages:
all:
compiler: [intel]
...
This configuration sets the default compiler for all packages to
``intel``.
"""""""""""""""""""""""
Included configurations
"""""""""""""""""""""""
Spack environments allow an ``include`` heading in their yaml
schema. This heading pulls in external configuration files and applies
them to the Environment.
.. code-block:: yaml
spack:
include:
- relative/path/to/config.yaml
- /absolute/path/to/packages.yaml
Environments can include files with either relative or absolute
paths. Inline configurations take precedence over included
configurations, so you don't have to change shared configuration files
to make small changes to an individual Environment. Included configs
listed later will have higher precedence, as the included configs are
applied in order.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Manually Editing the Specs List
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The list of abstract/root specs in the Environment is maintained in
the ``spack.yaml`` manifest under the heading ``specs``.
.. code-block:: yaml
spack:
specs:
- ncview
- netcdf
- nco
- py-sphinx
Appending to this list in the yaml is identical to using the ``spack
add`` command from the command line. However, there is more power
available from the yaml file.
"""""""""""""""""""
Spec concretization
"""""""""""""""""""
Specs can be concretized separately or together, as already
explained in :ref:`environments_concretization`. The behavior active
under any environment is determined by the ``concretization`` property:
.. code-block:: yaml
spack:
specs:
- ncview
- netcdf
- nco
- py-sphinx
concretization: together
which can currently take either one of the two allowed values ``together`` or ``separately``
(the default).
.. admonition:: Re-concretization of user specs
When concretizing specs together the entire set of specs will be
re-concretized after any addition of new user specs, to ensure that
the environment remains consistent. When instead the specs are concretized
separately only the new specs will be re-concretized after any addition.
"""""""""""""
Spec Matrices
"""""""""""""
Entries in the ``specs`` list can be individual abstract specs or a
spec matrix.
A spec matrix is a yaml object containing multiple lists of specs, and
evaluates to the cross-product of those specs. Spec matrices also
contain an ``excludes`` directive, which eliminates certain
combinations from the evaluated result.
The following two Environment manifests are identical:
.. code-block:: yaml
spack:
specs:
- zlib %gcc@7.1.0
- zlib %gcc@4.9.3
- libelf %gcc@7.1.0
- libelf %gcc@4.9.3
- libdwarf %gcc@7.1.0
- cmake
spack:
specs:
- matrix:
- [zlib, libelf, libdwarf]
- ['%gcc@7.1.0', '%gcc@4.9.3']
exclude:
- libdwarf%gcc@4.9.3
- cmake
Spec matrices can be used to install swaths of software across various
toolchains.
The concretization logic for spec matrices differs slightly from the
rest of Spack. If a variant or dependency constraint from a matrix is
invalid, Spack will reject the constraint and try again without
it. For example, the following two Environment manifests will produce
the same specs:
.. code-block:: yaml
spack:
specs:
- matrix:
- [zlib, libelf, hdf5+mpi]
- [^mvapich2@2.2, ^openmpi@3.1.0]
spack:
specs:
- zlib
- libelf
- hdf5+mpi ^mvapich2@2.2
- hdf5+mpi ^openmpi@3.1.0
This allows one to create toolchains out of combinations of
constraints and apply them somewhat indiscriminately to packages,
without regard for the applicability of the constraint.
""""""""""""""""""""
Spec List References
""""""""""""""""""""
The last type of possible entry in the specs list is a reference.
The Spack Environment manifest yaml schema contains an additional
heading ``definitions``. Under definitions is an array of yaml
objects. Each object has one or two fields. The one required field is
a name, and the optional field is a ``when`` clause.
The named field is a spec list. The spec list uses the same syntax as
the ``specs`` entry. Each entry in the spec list can be a spec, a spec
matrix, or a reference to an earlier named list. References are
specified using the ``$`` sigil, and are "splatted" into place
(i.e. the elements of the referent are at the same level as the
elements listed separately). As an example, the following two manifest
files are identical.
.. code-block:: yaml
spack:
definitions:
- first: [libelf, libdwarf]
- compilers: ['%gcc', '%intel']
- second:
- $first
- matrix:
- [zlib]
- [$compilers]
specs:
- $second
- cmake
spack:
specs:
- libelf
- libdwarf
- zlib%gcc
- zlib%intel
- cmake
.. note::
Named spec lists in the definitions section may only refer
to a named list defined above itself. Order matters.
In short files like the example, it may be easier to simply list the
included specs. However for more complicated examples involving many
packages across many toolchains, separately factored lists make
Environments substantially more manageable.
Additionally, the ``-l`` option to the ``spack add`` command allows
one to add to named lists in the definitions section of the manifest
file directly from the command line.
The ``when`` directive can be used to conditionally add specs to a
named list. The ``when`` directive takes a string of Python code
referring to a restricted set of variables, and evaluates to a
boolean. The specs listed are appended to the named list if the
``when`` string evaluates to ``True``. In the following snippet, the
named list ``compilers`` is ``['%gcc', '%clang', '%intel']`` on
``x86_64`` systems and ``['%gcc', '%clang']`` on all other systems.
.. code-block:: yaml
spack:
definitions:
- compilers: ['%gcc', '%clang']
- when: arch.satisfies('x86_64:')
compilers: ['%intel']
.. note::
Any definitions with the same named list with true ``when``
clauses (or absent ``when`` clauses) will be appended together
The valid variables for a ``when`` clause are:
#. ``platform``. The platform string of the default Spack
architecture on the system.
#. ``os``. The os string of the default Spack architecture on
the system.
#. ``target``. The target 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.
#. ``env``. The user environment (usually ``os.environ`` in Python).
#. ``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
^^^^^^^^^^^^^^^^^^^^^^^^^
Spack Environments can define filesystem views of their software,
which are maintained as packages and can be installed and uninstalled from
the Environment. Filesystem views provide an access point for packages
from the filesystem for users who want to access those packages
directly. For more information on filesystem views, see the section
:ref:`filesystem-views`.
Spack Environment managed views are updated every time the environment
is written out to the lock file ``spack.lock``, so the concrete
environment and the view are always compatible.
"""""""""""""""""""""""""""""
Configuring environment views
"""""""""""""""""""""""""""""
The Spack Environment manifest file has a top-level keyword
``view``. Each entry under that heading is a view descriptor, headed
by a name. The view descriptor contains the root of the view, and
optionally the projections for the view, and ``select`` and
``exclude`` lists for the view. For example, in the following manifest
file snippet we define a view named ``mpis``, rooted at
``/path/to/view`` in which all projections use the package name,
version, and compiler name to determine the path for a given
package. This view selects all packages that depend on MPI, and
excludes those built with the PGI compiler at version 18.5.
.. code-block:: yaml
spack:
...
view:
mpis:
root: /path/to/view
select: [^mpi]
exclude: ['%pgi@18.5']
projections:
all: {name}/{version}-{compiler.name}
For more information on using view projections, see the section on
:ref:`adding_projections_to_views`. The default for the ``select`` and
``exclude`` values is to select everything and exclude nothing. The
default projection is the default view projection (``{}``).
Any number of views may be defined under the ``view`` heading in a
Spack Environment.
There are two shorthands for environments with a single view. If the
environment at ``/path/to/env`` has a single view, with a root at
``/path/to/env/.spack-env/view``, with default selection and exclusion
and the default projection, we can put ``view: True`` in the
environment manifest. Similarly, if the environment has a view with a
different root, but default selection, exclusion, and projections, the
manifest can say ``view: /path/to/view``. These views are
automatically named ``default``, so that
.. code-block:: yaml
spack:
...
view: True
is equivalent to
.. code-block:: yaml
spack:
...
view:
default:
root: .spack-env/view
and
.. code-block:: yaml
spack:
...
view: /path/to/view
is equivalent to
.. code-block:: yaml
spack:
...
view:
default:
root: /path/to/view
By default, Spack environments are configured with ``view: True`` in
the manifest. Environments can be configured without views using
``view: False``. For backwards compatibility reasons, environments
with no ``view`` key are treated the same as ``view: True``.
From the command line, the ``spack env create`` command takes an
argument ``--with-view [PATH]`` that sets the path for a single, default
view. If no path is specified, the default path is used (``view:
True``). The argument ``--without-view`` can be used to create an
environment without any view configured.
The ``spack env view`` command can be used to change the manage views
of an Environment. The subcommand ``spack env view enable`` will add a
view named ``default`` to an environment. It takes an optional
argument to specify the path for the new default view. The subcommand
``spack env view disable`` will remove the view named ``default`` from
an environment if one exists. The subcommand ``spack env view
regenerate`` will regenerate the views for the environment. This will
apply any updates in the environment configuration that have not yet
been applied.
""""""""""""""""""""""""""""
Activating environment views
""""""""""""""""""""""""""""
The ``spack env activate`` command will put the default view for the
environment into the user's path, in addition to activating the
environment for Spack commands. The arguments ``-v,--with-view`` and
``-V,--without-view`` can be used to tune this behavior. The default
behavior is to activate with the environment view if there is one.
The environment variables affected by the ``spack env activate``
command and the paths that are used to update them are in the
following table.
=================== =========
Variable Paths
=================== =========
PATH bin
MANPATH man, share/man
ACLOCAL_PATH share/aclocal
LD_LIBRARY_PATH lib, lib64
LIBRARY_PATH lib, lib64
CPATH include
PKG_CONFIG_PATH lib/pkgconfig, lib64/pkgconfig, share/pkgconfig
CMAKE_PREFIX_PATH .
=================== =========
Each of these paths are appended to the view root, and added to the
relevant variable if the path exists. For this reason, it is not
recommended to use non-default projections with the default view of an
environment.
The ``spack env deactivate`` command will remove the default view of
the environment from the user's path.

View File

@@ -0,0 +1,161 @@
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
# - xsdk@0.4.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'
mirrors:
cloud_gitlab: https://mirror.spack.io
compilers:
# The .gitlab-ci.yml for this project picks a Docker container which does
# not have any compilers pre-built and ready to use, so we need to fake the
# existence of those here.
- compiler:
operating_system: centos7
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: gcc@5.5.0
target: x86_64
- compiler:
operating_system: centos7
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: gcc@6.5.0
target: x86_64
- compiler:
operating_system: centos7
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: clang@6.0.0
target: x86_64
- compiler:
operating_system: centos7
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: clang@6.0.1
target: x86_64
- compiler:
operating_system: ubuntu18.04
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: clang@6.0.0
target: x86_64
- compiler:
operating_system: ubuntu18.04
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: clang@6.0.1
target: x86_64
- compiler:
operating_system: ubuntu18.04
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: gcc@6.5.0
target: x86_64
- compiler:
operating_system: ubuntu18.04
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: gcc@7.3.0
target: x86_64
gitlab-ci:
bootstrap:
- name: compiler-pkgs
compiler-agnostic: true
mappings:
- # spack-cloud-ubuntu
match:
# these are specs, if *any* match the spec under consideration, this
# 'mapping' will be used to generate the CI job
- os=ubuntu18.04
runner-attributes:
# 'tags' and 'image' go directly onto the job, 'variables' will
# be added to what we already necessarily create for the job as
# a part of the CI workflow
tags:
- spack-k8s
image:
name: scottwittenburg/spack_builder_ubuntu_18.04
entrypoint: [""]
- # spack-cloud-centos
match:
# these are specs, if *any* match the spec under consideration, this
# 'mapping' will be used to generate the CI job
- 'os=centos7'
runner-attributes:
tags:
- spack-k8s
image:
name: scottwittenburg/spack_builder_centos_7
entrypoint: [""]
cdash:
build-group: Release Testing
url: http://cdash
project: Spack Testing
site: Spack Docker-Compose Workflow
repos: []
upstreams: {}
modules:
enable: []
packages: {}
config: {}

View File

@@ -0,0 +1,122 @@
.. 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)
.. extensions:
=================
Custom Extensions
=================
*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
too specific to be considered for reintegration into the mainline or to
evolve a command through its early stages before starting a discussion to merge
it upstream.
From Spack's point of view an extension is any path in your filesystem which
respects a prescribed naming and layout for files:
.. code-block:: console
spack-scripting/ # The top level directory must match the format 'spack-{extension_name}'
├── pytest.ini # Optional file if the extension ships its own tests
├── scripting # Folder that may contain modules that are needed for the extension commands
│   └── cmd # Folder containing extension commands
│   └── filter.py # A new command that will be available
├── tests # Tests for this extension
│ ├── conftest.py
│ └── test_filter.py
└── templates # Templates that may be needed by the extension
In the example above the extension named *scripting* adds an additional command (``filter``)
and unit tests to verify its behavior. The code for this example can be
obtained by cloning the corresponding git repository:
.. TODO: write an ad-hoc "hello world" extension and make it part of the spack organization
.. code-block:: console
$ pwd
/home/user
$ mkdir tmp && cd tmp
$ git clone https://github.com/alalazo/spack-scripting.git
Cloning into 'spack-scripting'...
remote: Counting objects: 11, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 11 (delta 0), reused 11 (delta 0), pack-reused 0
Receiving objects: 100% (11/11), done.
As you can see by inspecting the sources, Python modules that are part of the extension
can import any core Spack module.
---------------------------------
Configure Spack to Use Extensions
---------------------------------
To make your current Spack instance aware of extensions you should add their root
paths to ``config.yaml``. In the case of our example this means ensuring that:
.. code-block:: yaml
config:
extensions:
- /home/user/tmp/spack-scripting
is part of your configuration file. Once this is setup any command that the extension provides
will be available from the command line:
.. code-block:: console
$ spack filter --help
usage: spack filter [-h] [--installed | --not-installed]
[--explicit | --implicit] [--output OUTPUT]
...
filter specs based on their properties
positional arguments:
specs specs to be filtered
optional arguments:
-h, --help show this help message and exit
--installed select installed specs
--not-installed select specs that are not yet installed
--explicit select specs that were installed explicitly
--implicit select specs that are not installed or were installed implicitly
--output OUTPUT where to dump the result
The corresponding unit tests can be run giving the appropriate options to ``spack test``:
.. code-block:: console
$ spack test --extension=scripting
============================================================== test session starts ===============================================================
platform linux2 -- Python 2.7.15rc1, pytest-3.2.5, py-1.4.34, pluggy-0.4.0
rootdir: /home/mculpo/tmp/spack-scripting, inifile: pytest.ini
collected 5 items
tests/test_filter.py ...XX
============================================================ short test summary info =============================================================
XPASS tests/test_filter.py::test_filtering_specs[flags3-specs3-expected3]
XPASS tests/test_filter.py::test_filtering_specs[flags4-specs4-expected4]
=========================================================== slowest 20 test durations ============================================================
3.74s setup tests/test_filter.py::test_filtering_specs[flags0-specs0-expected0]
0.17s call tests/test_filter.py::test_filtering_specs[flags3-specs3-expected3]
0.16s call tests/test_filter.py::test_filtering_specs[flags2-specs2-expected2]
0.15s call tests/test_filter.py::test_filtering_specs[flags1-specs1-expected1]
0.13s call tests/test_filter.py::test_filtering_specs[flags4-specs4-expected4]
0.08s call tests/test_filter.py::test_filtering_specs[flags0-specs0-expected0]
0.04s teardown tests/test_filter.py::test_filtering_specs[flags4-specs4-expected4]
0.00s setup tests/test_filter.py::test_filtering_specs[flags4-specs4-expected4]
0.00s setup tests/test_filter.py::test_filtering_specs[flags3-specs3-expected3]
0.00s setup tests/test_filter.py::test_filtering_specs[flags1-specs1-expected1]
0.00s setup tests/test_filter.py::test_filtering_specs[flags2-specs2-expected2]
0.00s teardown tests/test_filter.py::test_filtering_specs[flags2-specs2-expected2]
0.00s teardown tests/test_filter.py::test_filtering_specs[flags1-specs1-expected1]
0.00s teardown tests/test_filter.py::test_filtering_specs[flags0-specs0-expected0]
0.00s teardown tests/test_filter.py::test_filtering_specs[flags3-specs3-expected3]
====================================================== 3 passed, 2 xpassed in 4.51 seconds =======================================================

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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)
@@ -60,14 +60,14 @@ Customize dependencies
----------------------
Spack allows *dependencies* of a particular installation to be
customized extensively. Suppose that ``mpileaks`` depends indirectly
on ``libelf`` and ``libdwarf``. Using ``^``, users can add custom
customized extensively. Suppose that ``hdf5`` depends
on ``openmpi`` and indirectly on ``hwloc``. Using ``^``, users can add custom
configurations for the dependencies:
.. code-block:: console
# Install mpileaks and link it with specific versions of libelf and libdwarf
$ spack install mpileaks@1.1.2 %gcc@4.7.3 +debug ^libelf@0.8.12 ^libdwarf@20130729+debug
# Install hdf5 and link it with specific versions of openmpi and hwloc
$ spack install hdf5@1.10.1 %gcc@4.7.3 +debug ^openmpi+cuda fabrics=auto ^hwloc+gl
------------------------
Non-destructive installs
@@ -130,7 +130,7 @@ creates a simple python file:
It doesn't take much python coding to get from there to a working
package:
.. literalinclude:: ../../../var/spack/repos/builtin/packages/libelf/package.py
.. literalinclude:: _spack_root/var/spack/repos/builtin/packages/libelf/package.py
:lines: 6-
Spack also provides wrapper functions around common commands like

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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)
@@ -16,10 +16,11 @@ Prerequisites
Spack has the following minimum requirements, which must be installed
before Spack is run:
1. Python 2 (2.6 or 2.7) or 3 (3.4 - 3.7)
2. A C/C++ compiler
3. The ``git`` and ``curl`` commands.
4. If using the ``gpg`` subcommand, ``gnupg2`` is required.
#. Python 2 (2.6 or 2.7) or 3 (3.5 - 3.8) to run Spack
#. A C/C++ compiler for building
#. The ``make`` executable for building
#. The ``git`` and ``curl`` commands for fetching
#. If using the ``gpg`` subcommand, ``gnupg2`` is required
These requirements can be easily installed on most modern Linux systems;
on Macintosh, XCode is required. Spack is designed to run on HPC
@@ -70,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 or dotkit <InstallEnvironmentModules>` is
installed and available, the ``spack`` command can also load and unload
:ref:`modules <modules>`.
^^^^^^^^^^^^^^^^^
Clean Environment
^^^^^^^^^^^^^^^^^
@@ -96,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
^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -189,7 +186,7 @@ where the compiler is installed. For example:
.. code-block:: console
$ spack compiler find /usr/local/tools/ic-13.0.079
==> Added 1 new compiler to ~/.spack/compilers.yaml
==> Added 1 new compiler to ~/.spack/linux/compilers.yaml
intel@13.0.079
Or you can run ``spack compiler find`` with no arguments to force
@@ -201,7 +198,7 @@ installed, but you know that new compilers have been added to your
$ module load gcc-4.9.0
$ spack compiler find
==> Added 1 new compiler to ~/.spack/compilers.yaml
==> Added 1 new compiler to ~/.spack/linux/compilers.yaml
gcc@4.9.0
This loads the environment module for gcc-4.9.0 to add it to
@@ -246,7 +243,7 @@ Manual compiler configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If auto-detection fails, you can manually configure a compiler by
editing your ``~/.spack/compilers.yaml`` file. You can do this by running
editing your ``~/.spack/<platform>/compilers.yaml`` file. You can do this by running
``spack config edit compilers``, which will open the file in your ``$EDITOR``.
Each compiler configuration in the file looks like this:
@@ -262,7 +259,7 @@ Each compiler configuration in the file looks like this:
cxx: /usr/local/bin/icpc-15.0.024-beta
f77: /usr/local/bin/ifort-15.0.024-beta
fc: /usr/local/bin/ifort-15.0.024-beta
spec: intel@15.0.0:
spec: intel@15.0.0
For compilers that do not support Fortran (like ``clang``), put
``None`` for ``f77`` and ``fc``:
@@ -468,18 +465,21 @@ Fortran.
install GCC with Spack (``spack install gcc``) or with Homebrew
(``brew install gcc``).
#. The only thing left to do is to edit ``~/.spack/compilers.yaml`` to provide
#. The only thing left to do is to edit ``~/.spack/darwin/compilers.yaml`` to provide
the path to ``gfortran``:
.. code-block:: yaml
compilers:
darwin-x86_64:
clang@7.3.0-apple:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: /path/to/bin/gfortran
fc: /path/to/bin/gfortran
- compiler:
...
paths:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: /path/to/bin/gfortran
fc: /path/to/bin/gfortran
spec: apple-clang@11.0.0
If you used Spack to install GCC, you can get the installation prefix by
``spack location -i gcc`` (this will only work if you have a single version
@@ -590,11 +590,12 @@ flags to the ``icc`` command:
operating_system: centos7
paths:
cc: /opt/intel-15.0.24/bin/icc-15.0.24-beta
cflags: -gcc-name ~/spack/opt/spack/linux-centos7-x86_64/gcc-4.9.3-iy4rw.../bin/gcc
cxx: /opt/intel-15.0.24/bin/icpc-15.0.24-beta
cxxflags: -gxx-name ~/spack/opt/spack/linux-centos7-x86_64/gcc-4.9.3-iy4rw.../bin/g++
f77: /opt/intel-15.0.24/bin/ifort-15.0.24-beta
fc: /opt/intel-15.0.24/bin/ifort-15.0.24-beta
flags:
cflags: -gcc-name ~/spack/opt/spack/linux-centos7-x86_64/gcc-4.9.3-iy4rw.../bin/gcc
cxxflags: -gxx-name ~/spack/opt/spack/linux-centos7-x86_64/gcc-4.9.3-iy4rw.../bin/g++
fflags: -gcc-name ~/spack/opt/spack/linux-centos7-x86_64/gcc-4.9.3-iy4rw.../bin/gcc
spec: intel@15.0.24.4.9.3
@@ -846,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
@@ -895,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
@@ -905,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:
""""""""""""""""""""""""""
@@ -936,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
^^^^^^^^^^^^^^^^^

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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)
@@ -55,7 +55,7 @@ or refer to the full manual below.
getting_started
basic_usage
workflows
tutorial
Tutorial: Spack 101 <https://spack-tutorial.readthedocs.io>
known_issues
.. toctree::
@@ -65,12 +65,17 @@ or refer to the full manual below.
configuration
config_yaml
build_settings
environments
containers
mirrors
module_file_support
repositories
binary_caches
command_index
package_list
chain
extensions
pipelines
.. toctree::
:maxdepth: 2
@@ -81,6 +86,11 @@ or refer to the full manual below.
build_systems
developer_guide
docker_for_developers
.. toctree::
:maxdepth: 2
:caption: API Docs
Spack API Docs <spack>
LLNL API Docs <llnl>

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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-2018 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-2018 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,26 +13,20 @@ The use of module systems to manage user environment in a controlled way
is a common practice at HPC centers that is often embraced also by individual
programmers on their development machines. To support this common practice
Spack integrates with `Environment Modules
<http://modules.sourceforge.net/>`_ , `LMod
<http://lmod.readthedocs.io/en/latest/>`_ and `Dotkit <https://computing.llnl.gov/?set=jobs&page=dotkit>`_ by
<http://modules.sourceforge.net/>`_ and `LMod
<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
@@ -67,7 +61,7 @@ to load the ``cmake`` module:
$ module load cmake-3.7.2-gcc-6.3.0-fowuuby
Neither of these is particularly pretty, easy to remember, or
easy to type. Luckily, Spack has its own interface for using modules and dotkits.
easy to type. Luckily, Spack has its own interface for using modules.
^^^^^^^^^^^^^
Shell support
@@ -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.
@@ -108,20 +100,10 @@ that the startup time may be slightly increased because of that.
^^^^^^^^^^^^^^^^^^^^^^^
Once you have shell support enabled you can use the same spec syntax
you're used to:
you're used to and you can use the same shortened names you use
everywhere else in Spack.
========================= ==========================
Modules Dotkit
========================= ==========================
``spack load <spec>`` ``spack use <spec>``
``spack unload <spec>`` ``spack unuse <spec>``
========================= ==========================
And you can use the same shortened names you use everywhere else in
Spack.
For example, if you are using dotkit, this will add the ``mpich``
package built with ``gcc`` to your path:
For example this will add the ``mpich`` package built with ``gcc`` to your path:
.. code-block:: console
@@ -129,45 +111,39 @@ package built with ``gcc`` to your path:
# ... wait for install ...
$ spack use mpich %gcc@4.4.7 # dotkit
Prepending: mpich@3.0.4%gcc@4.4.7 (ok)
$ 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
Or, similarly if you are using modules, you could type:
.. code-block:: console
$ spack load mpich %gcc@4.4.7 # modules
These commands will add appropriate directories to your ``PATH``,
``MANPATH``, ``CPATH``, and ``LD_LIBRARY_PATH``. When you no longer
want to use a package, you can type unload or unuse similarly:
.. code-block:: console
$ spack unload mpich %gcc@4.4.7 # modules
$ spack unuse mpich %gcc@4.4.7 # dotkit
$ spack unload mpich %gcc@4.4.7
.. note::
These ``use``, ``unuse``, ``load``, and ``unload`` subcommands are
only available if you have enabled Spack's shell support *and* you
have dotkit or 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
@@ -181,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
@@ -215,8 +196,8 @@ Module Commands for Shell Scripts
Although Spack is flexible, the ``module`` command is much faster.
This could become an issue when emitting a series of ``spack load``
commands inside a shell script. By adding the ``--shell`` flag,
``spack module tcl find`` may also be used to generate code that can be
commands inside a shell script. By adding the ``--dependencies`` flag,
``spack module tcl loads`` may also be used to generate code that can be
cut-and-pasted into a shell script. For example:
.. code-block:: console
@@ -292,8 +273,6 @@ that can be generated by Spack:
+-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
| | **Hook name** | **Default root directory** | **Default template file** | **Compatible tools** |
+=============================+====================+===============================+==============================================+======================+
| **Dotkit** | ``dotkit`` | share/spack/dotkit | share/spack/templates/modules/modulefile.dk | DotKit |
+-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
| **TCL - Non-Hierarchical** | ``tcl`` | share/spack/modules | share/spack/templates/modules/modulefile.tcl | Env. Modules/LMod |
+-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
| **Lua - Hierarchical** | ``lmod`` | share/spack/lmod | share/spack/templates/modules/modulefile.lua | LMod |
@@ -323,8 +302,7 @@ content of the module files generated by Spack. The first one:
.. code-block:: python
def setup_environment(self, spack_env, run_env):
"""Set up the compile and runtime environments for a package."""
def setup_run_environment(self, env):
pass
can alter the content of the module file associated with the same package where it is overridden.
@@ -332,16 +310,15 @@ The second method:
.. code-block:: python
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
"""Set up the environment of packages that depend on this one"""
def setup_dependent_run_environment(self, env, dependent_spec):
pass
can instead inject run-time environment modifications in the module files of packages
that depend on it. In both cases you need to fill ``run_env`` with the desired
list of environment modifications.
.. note::
The ``r`` package and callback APIs
.. admonition:: The ``r`` package and callback APIs
An example in which it is crucial to override both methods
is given by the ``r`` package. This package installs libraries and headers
in non-standard locations and it is possible to prepend the appropriate directory
@@ -355,15 +332,15 @@ list of environment modifications.
with the following snippet:
.. literalinclude:: ../../../var/spack/repos/builtin/packages/r/package.py
:pyobject: R.setup_environment
.. literalinclude:: _spack_root/var/spack/repos/builtin/packages/r/package.py
:pyobject: R.setup_run_environment
The ``r`` package also knows which environment variable should be modified
to make language extensions provided by other packages available, and modifies
it appropriately in the override of the second method:
.. literalinclude:: ../../../var/spack/repos/builtin/packages/r/package.py
:pyobject: R.setup_dependent_environment
.. literalinclude:: _spack_root/var/spack/repos/builtin/packages/r/package.py
:pyobject: R.setup_dependent_run_environment
.. _modules-yaml:
@@ -374,10 +351,10 @@ Write a configuration file
The configuration files that control module generation behavior
are named ``modules.yaml``. The default configuration:
.. literalinclude:: ../../../etc/spack/defaults/modules.yaml
.. literalinclude:: _spack_root/etc/spack/defaults/modules.yaml
:language: yaml
activates the hooks to generate ``tcl`` and ``dotkit`` module files and inspects
activates the hooks to generate ``tcl`` module files and inspects
the installation folder of each package for the presence of a set of subdirectories
(``bin``, ``man``, ``share/man``, etc.). If any is found its full path is prepended
to the environment variables listed below the folder name.
@@ -399,12 +376,9 @@ to the generator being customized:
modules:
enable:
- tcl
- dotkit
- lmod
tcl:
# contains environment modules specific customizations
dotkit:
# contains dotkit specific customizations
lmod:
# contains lmod specific customizations
@@ -485,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
@@ -526,26 +500,52 @@ 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: '${PACKAGE}/${VERSION}-${COMPILERNAME}-${COMPILERVER}'
all:
conflict:
- '${PACKAGE}'
- '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
load two or more versions of the same software at the same time. The tokens
that are available for use in this directive are the same understood by
the ``Spec.format`` method.
the :meth:`~spack.spec.Spec.format` method.
.. note::
@@ -564,6 +564,8 @@ most likely via the ``+blas`` variant specification.
lmod:
core_compilers:
- 'gcc@4.8'
core_specs:
- 'python'
hierarchy:
- 'mpi'
- 'lapack'
@@ -573,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.
@@ -590,15 +601,17 @@ do so by using the environment blacklist:
.. code-block:: yaml
modules:
dotkit:
tcl:
all:
filter:
# Exclude changes to any of these variables
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
The configuration above will generate dotkit module files that will not contain
modifications to either ``CPATH`` or ``LIBRARY_PATH`` and environment module
files that instead will contain these modifications.
The configuration above will generate module files that will not contain
modifications to either ``CPATH`` or ``LIBRARY_PATH``.
.. _autoloading-dependencies:
"""""""""""""""""""""
Autoload dependencies
@@ -618,7 +631,21 @@ activated using ``spack activate``:
The configuration file above will produce module files that will
load their direct dependencies if the package installed depends on ``python``.
The allowed values for the ``autoload`` statement are either ``none``,
``direct`` or ``all``.
``direct`` or ``all``. The default is ``none``.
.. tip::
Building external software
Setting ``autoload`` to ``direct`` for all packages can be useful
when building software outside of a Spack installation that depends on
artifacts in that installation. E.g. (adjust ``lmod`` vs ``tcl``
as appropriate):
.. code-block:: yaml
modules:
lmod:
all:
autoload: 'direct'
.. note::
TCL prerequisites

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2018 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)

File diff suppressed because it is too large Load Diff

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-2018 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,6 +1,7 @@
# These dependencies should be installed using pip in order
# to build the documentation.
sphinx==1.7.0
sphinx
sphinxcontrib-programoutput
sphinx-rtd-theme
python-levenshtein

19
lib/spack/docs/spack.yaml Normal file
View File

@@ -0,0 +1,19 @@
# 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)
#
# These are requirements for building the documentation. You can run
# these commands in this directory to install Sphinx and its plugins,
# then build the docs:
#
# spack install
# spack env activate .
# make
#
spack:
specs:
- py-sphinx
- py-sphinxcontrib-programoutput
- py-sphinx-rtd-theme

View File

@@ -1,60 +0,0 @@
.. Copyright 2013-2018 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)
.. _spack-101:
=============================
Tutorial: Spack 101
=============================
This is a full-day introduction to Spack with lectures and live demos. It
was presented as a tutorial at `Supercomputing 2018
<http://sc18.supercomputing.org>`_. You can use these materials to teach
a course on Spack at your own site, or you can just skip ahead and read
the live demo scripts to see how Spack is used in practice.
.. _sc16-slides:
.. rubric:: Slides
.. figure:: tutorial/sc16-tutorial-slide-preview.png
:target: http://spack.io/slides/Spack-SC18-Tutorial.pdf
:height: 72px
:align: left
:alt: Slide Preview
`Download Slides <http://spack.io/slides/Spack-SC18-Tutorial.pdf>`_.
**Full citation:** Todd Gamblin, Gregory Becker, Massimiliano Culpo, Matt
Legendre, Mario Melara, Peter Scheibel, and Adam Stewart.
`Managing HPC Software Complexity with Spack
<https://sc18.supercomputing.org/presentation/?id=tut165&sess=sess252>`_.
Tutorial presented at Supercomputing 2018. November 12, 2018, Dallas, TX, USA.
.. _sc16-live-demos:
.. rubric:: Live Demos
These scripts will take you step-by-step through basic Spack tasks. They
correspond to sections in the slides above.
1. :ref:`basics-tutorial`
2. :ref:`configs-tutorial`
3. :ref:`packaging-tutorial`
4. :ref:`environments-tutorial`
5. :ref:`modules-tutorial`
6. :ref:`build-systems-tutorial`
7. :ref:`advanced-packaging-tutorial`
Full contents:
.. toctree::
tutorial_basics
tutorial_configuration
tutorial_packaging
tutorial_environments
tutorial_modules
tutorial_buildsystems
tutorial_advanced_packaging

View File

@@ -1,39 +0,0 @@
# Copyright 2013-2018 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 is a template package file for Spack. We've put "FIXME"
# next to all the things you'll want to change. Once you've handled
# them, you can save this file and test your package like this:
#
# spack install mpileaks
#
# You can edit this file again by typing:
#
# spack edit mpileaks
#
# See the Spack documentation for more information on packaging.
# If you submit this package back to Spack as a pull request,
# please first remove this boilerplate and all FIXME comments.
#
from spack import *
class Mpileaks(Package):
"""FIXME: Put a proper description of your package here."""
# FIXME: Add a proper url for your package's homepage here.
homepage = "http://www.example.com"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
# FIXME: Add dependencies if required.
# depends_on('foo')
def install(self, spec, prefix):
# FIXME: Unknown build system
make()
make('install')

View File

@@ -1,23 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Mpileaks(Package):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz" # NOQA
version('1.0', '8838c574b39202a57d7c2d68692718aa')
# FIXME: Add dependencies if required.
# depends_on('foo')
def install(self, spec, prefix):
# FIXME: Unknown build system
make()
make('install')

View File

@@ -1,25 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Mpileaks(Package):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
depends_on('mpi')
depends_on('adept-utils')
depends_on('callpath')
def install(self, spec, prefix):
# FIXME: Unknown build system
make()
make('install')

View File

@@ -1,25 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Mpileaks(Package):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
depends_on('mpi')
depends_on('adept-utils')
depends_on('callpath')
def install(self, spec, prefix):
configure()
make()
make('install')

View File

@@ -1,27 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Mpileaks(Package):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
depends_on('mpi')
depends_on('adept-utils')
depends_on('callpath')
def install(self, spec, prefix):
configure('--with-adept-utils=%s' % self.spec['adept-utils'].prefix,
'--with-callpath=%s' % self.spec['callpath'].prefix,
'--prefix=%s' % self.spec.prefix)
make()
make('install')

View File

@@ -1,34 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Mpileaks(Package):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
variant('stackstart', values=int, default=0, description='Specify the number of stack frames to truncate.')
depends_on('mpi')
depends_on('adept-utils')
depends_on('callpath')
def install(self, spec, prefix):
stackstart = int(self.spec.variants['stackstart'].value)
confargs = ['--with-adept-utils=%s' % self.spec['adept-utils'].prefix,
'--with-callpath=%s' % self.spec['callpath'].prefix,
'--prefix=%s' % self.spec.prefix]
if stackstart:
confargs.extend(['--with-stack-start-c=%s' % stackstart,
'--with-stack-start-fortran=%s' % stackstart])
configure(*confargs)
make()
make('install')

View File

@@ -1,27 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Mpileaks(AutotoolsPackage):
"""Tool to detect and report leaked MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
depends_on("mpi")
depends_on("adept-utils")
depends_on("callpath")
def install(self, spec, prefix):
configure("--prefix=" + prefix,
"--with-adept-utils=" + spec['adept-utils'].prefix,
"--with-callpath=" + spec['callpath'].prefix)
make()
make("install")

View File

@@ -1,32 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Mpileaks(AutotoolsPackage):
"""Tool to detect and report leaked MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
variant("stackstart", values=int, default=0,
description="Specify the number of stack frames to truncate")
depends_on("mpi")
depends_on("adept-utils")
depends_on("callpath")
def configure_args(self):
stackstart = int(self.spec.variants['stackstart'].value)
args = ["--with-adept-utils=" + spec['adept-utils'].prefix,
"--with-callpath=" + spec['callpath'].prefix]
if stackstart:
args.extend(['--with-stack-start-c=%s' % stackstart,
'--with-stack-start-fortran=%s' % stackstart])
return args

View File

@@ -1,41 +0,0 @@
# Copyright 2013-2018 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 is a template package file for Spack. We've put "FIXME"
# next to all the things you'll want to change. Once you've handled
# them, you can save this file and test your package like this:
#
# spack install callpath
#
# You can edit this file again by typing:
#
# spack edit callpath
#
# See the Spack documentation for more information on packaging.
# If you submit this package back to Spack as a pull request,
# please first remove this boilerplate and all FIXME comments.
#
from spack import *
class Callpath(CMakePackage):
"""FIXME: Put a proper description of your package here."""
# FIXME: Add a proper url for your package's homepage here.
homepage = "http://www.example.com"
url = "https://github.com/llnl/callpath/archive/v1.0.1.tar.gz"
version('1.0.3', 'c89089b3f1c1ba47b09b8508a574294a')
# FIXME: Add dependencies if required.
# depends_on('foo')
def cmake_args(self):
# FIXME: Add arguments other than
# FIXME: CMAKE_INSTALL_PREFIX and CMAKE_BUILD_TYPE
# FIXME: If not needed delete this function
args = []
return args

View File

@@ -1,23 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Callpath(CMakePackage):
"""Library for representing callpaths consistently in
distributed-memory performance tools."""
homepage = "https://github.com/llnl/callpath"
url = "https://github.com/llnl/callpath/archive/v1.0.3.tar.gz"
version('1.0.3', 'c89089b3f1c1ba47b09b8508a574294a')
depends_on("elf", type="link")
depends_on("libdwarf")
depends_on("dyninst")
depends_on("adept-utils")
depends_on("mpi")
depends_on("cmake@2.8:", type="build")

View File

@@ -1,33 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Callpath(CMakePackage):
"""Library for representing callpaths consistently in
distributed-memory performance tools."""
homepage = "https://github.com/llnl/callpath"
url = "https://github.com/llnl/callpath/archive/v1.0.3.tar.gz"
version('1.0.3', 'c89089b3f1c1ba47b09b8508a574294a')
depends_on("elf", type="link")
depends_on("libdwarf")
depends_on("dyninst")
depends_on("adept-utils")
depends_on("mpi")
depends_on("cmake@2.8:", type="build")
def cmake_args(self):
args = ["-DCALLPATH_WALKER=dyninst"]
if self.spec.satisfies("^dyninst@9.3.0:"):
std.flag = self.compiler.cxx_flag
args.append("-DCMAKE_CXX_FLAGS='{0}' -fpermissive'".format(
std_flag))
return args

View File

@@ -1,26 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Bowtie(MakefilePackage):
"""FIXME: Put a proper description of your package here."""
# FIXME: Add a proper url for your package's homepage here.
homepage = "http://www.example.com"
url = "https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.1.1/bowtie-1.2.1.1-src.zip"
version('1.2.1.1', 'ec06265730c5f587cd58bcfef6697ddf')
# FIXME: Add dependencies if required.
# depends_on('foo')
def edit(self, spec, prefix):
# FIXME: Edit the Makefile if necessary
# FIXME: If not needed delete this function
# makefile = FileFilter('Makefile')
# makefile.filter('CC = .*', 'CC = cc')
return

View File

@@ -1,27 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Bowtie(MakefilePackage):
"""Bowtie is an ultrafast, memory efficient short read aligner
for short DNA sequences (reads) from next-gen sequencers."""
homepage = "https://sourceforge.net/projects/bowtie-bio/"
url = "https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.1.1/bowtie-1.2.1.1-src.zip"
version('1.2.1.1', 'ec06265730c5f587cd58bcfef6697ddf')
variant("tbb", default=False, description="Use Intel thread building block")
depends_on("tbb", when="+tbb")
def edit(self, spec, prefix):
# FIXME: Edit the Makefile if necessary
# FIXME: If not needed delete this function
# makefile = FileFilter('Makefile')
# makefile.filter('CC = .*', 'CC = cc')
return

View File

@@ -1,25 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Bowtie(MakefilePackage):
"""Bowtie is an ultrafast, memory efficient short read aligner
for short DNA sequences (reads) from next-gen sequencers."""
homepage = "https://sourceforge.net/projects/bowtie-bio/"
url = "https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.1.1/bowtie-1.2.1.1-src.zip"
version('1.2.1.1', 'ec06265730c5f587cd58bcfef6697ddf')
variant("tbb", default=False, description="Use Intel thread building block")
depends_on("tbb", when="+tbb")
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
makefile.filter('CC= .*', 'CC = ' + env['CC'])
makefile.filter('CXX = .*', 'CXX = ' + env['CXX'])

View File

@@ -1,36 +0,0 @@
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Bowtie(MakefilePackage):
"""Bowtie is an ultrafast, memory efficient short read aligner
for short DNA sequences (reads) from next-gen sequencers."""
homepage = "https://sourceforge.net/projects/bowtie-bio/"
url = "https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.1.1/bowtie-1.2.1.1-src.zip"
version('1.2.1.1', 'ec06265730c5f587cd58bcfef6697ddf')
variant("tbb", default=False, description="Use Intel thread building block")
depends_on("tbb", when="+tbb")
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
makefile.filter('CC= .*', 'CC = ' + env['CC'])
makefile.filter('CXX = .*', 'CXX = ' + env['CXX'])
@property
def build_targets(self):
if "+tbb" in spec:
return []
else:
return ["NO_TBB=1"]
@property
def install_targets(self):
return ['prefix={0}'.format(self.prefix), 'install']

View File

@@ -1,41 +0,0 @@
# Copyright 2013-2018 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 is a template package file for Spack. We've put "FIXME"
# next to all the things you'll want to change. Once you've handled
# them, you can save this file and test your package like this:
#
# spack install py-pandas
#
# You can edit this file again by typing:
#
# spack edit py-pandas
#
# See the Spack documentation for more information on packaging.
# If you submit this package back to Spack as a pull request,
# please first remove this boilerplate and all FIXME comments.
#
from spack import *
class PyPandas(PythonPackage):
"""FIXME: Put a proper description of your package here."""
# FIXME: Add a proper url for your package's homepage here.
homepage = "http://www.example.com"
url = "https://pypi.io/packages/source/p/pandas/pandas-0.19.0.tar.gz"
version('0.19.0', 'bc9bb7188e510b5d44fbdd249698a2c3')
# FIXME: Add dependencies if required.
# depends_on('py-setuptools', type='build')
# depends_on('py-foo', type=('build', 'run'))
def build_args(self, spec, prefix):
# FIXME: Add arguments other than --prefix
# FIXME: If not needed delete this function
args = []
return args

Some files were not shown because too many files have changed in this diff Show More