Commit graph

12599 commits

Author SHA1 Message Date
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 835b1f822d8c083f6ab9eb17222c00409e8eb3da.

* 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