Commit graph

11582 commits

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