Commit graph

7320 commits

Author SHA1 Message Date
Denis Davydov
3e67b98e29 dealii: blacklist boost 1.64 and 1.65 (#5805)
* dealii: blacklist boost 1.64 and 1.65

* flake8
2017-10-18 15:58:05 -06:00
Stephen Hudson
0b62625e9d py-mpi4py: Add develop version and dependencies (#5798)
* py-mpi4py: Add develop version and dependencies

- Add cython dependency for develop version

- Add explicit python dependency

* py-mpi4py: Specify 2.0.1 instead of develop for conditional dep
2017-10-18 15:56:48 -06:00
Akhil Reddy Patlolla
9b994c05f4 CoMD Proxy App with Serial, MPI, OpenMP Support (#4864) 2017-10-17 19:59:57 -06:00
George Hartzell
ad5fb40d75 perl: add write permissions to update config files (#5746)
Perl installs a couple of config files that need to be munged so that
they don't refer to the spack compiler.  These files are installed
read-only.  Behind the scenes 'filter_file' moves its file to a safe
place, and tries to create a working file that is both O_WRONLY and
has the perms of the original file.  On an NFSv4 filesystem, the
combination of 'r--r--r--' and O_WRONLY throws a permissions error.

This commit adds a simple context manager that temporarily makes the
files writable.
2017-10-17 18:38:23 -07:00
George Hartzell
464e558aea filter_file, don't remove absent backup file (#5733)
I'm tracking down a problem with the perl package that's been
generating this error:

```
OSError: OSError: [Errno 2] No such file or directory: '/blah/blah/blah/lib/5.24.1/x86_64-linux/Config.pm~'
```

The real problem is upstream, but it's being masked by an exception
raised in `filter_file`s finally block.

In my case, `backup` is `False`.

The backup is created around line 127, the `re.sub()` calls
fails (working on that), the `except` block fires and moves the backup
file back, then the finally block tries to remove the non-existent
backup file.

This change just avoids trying to remove the non-existent file.
2017-10-17 11:26:05 -07:00
David Hows
ffc4c31b82 Add a new +clanglibcpp option for Boost (#5708)
* Add a new +clanglibcpp option for Boost

Currently, the compile of boost with clang will use the stdlibc++. This patch adds an optional flag to use clangs included libc++ instead.

* Linting

Fix long lines and white space errors
2017-10-17 01:40:09 -07:00
Christoph Junghans
5f592fb911 votca-xtp: added url (#5772) 2017-10-17 01:39:02 -07:00
Christoph Junghans
244c7af864 flang: clean up (#5766) 2017-10-17 01:38:41 -07:00
Christoph Junghans
1a12e6022b liquo: added 1.3 and develop (#5781) 2017-10-17 01:36:54 -07:00
Michael F. Herbst
1952a92820 Minor typos and corections (#5789)
- The shell script uses arrays and hence only works on sophisticated shells and not the default `sh`. For clarity the shebang `#!/bin/bash` has been used instead.
2017-10-17 01:36:03 -07:00
Douglas Duckworth
f0da8251b3 singularity 2.4 added (#5782) 2017-10-17 01:28:19 -07:00
Todd Gamblin
100fb1e6ee Exercise more code paths in the git fetcher.
- This fakes out GitFetchStrategy to try code paths for different git
  versions.

- This allows us to test code paths for old versions using a newer git
  version.
2017-10-17 01:26:31 -07:00
Todd Gamblin
d14816cbaf Spack tests no longer clutter var/spack/stage
- Tests use a session-scoped mock stage directory so as not to interfere
  with the real install.

- Every test is forced to clean up after itself with an additional check.
  We now automatically assert that no new files have been added to
  `spack.stage_path` during each test.

  - This means that tests that fail installs now need to clean up their
    stages, but in all other cases the check is useful.
2017-10-17 01:26:31 -07:00
Todd Gamblin
44bebd7a8f `Package.stage` no longer implicitly makes stage directory
- Be explicit about stage creation during the install process.

- This avoids accidental creation of stages
  - e.g., during `spack install --fake`, stages were erroneously recreated
    after being destroyed
2017-10-17 01:26:31 -07:00
Todd Gamblin
894a1a73a4 Spack tests no longer use the var/spack/stage directory.
- This prevents the main spack install from being clusttered by
  invocations of `spack test`.

- This uses a session-scoped stage fixture to ensure tests don't
  interfere.
2017-10-17 01:26:31 -07:00
Todd Gamblin
c14f2dc7b4 Spack core and tests no longer use os.chdir()
- Spack's core package interface was previously overly stateful, in that
  calling methods like `do_stage()` could change your working directory.

- This removes Stage's `chdir` and `chdir_to_source` methods and replaces
  their usages with `with working_dir(stage.path)` and `with
  working_dir(stage.source_path)`, respectively.  These ensure the
  original working directory is preserved.

- This not only makes the API more usable, it makes the tests more
  deterministic, as previously a test could leave the current working
  directory in a bad state and cause subsequent tests to fail
  mysteriously.
2017-10-17 01:26:31 -07:00
Jon Rood
890c5ad329 Forcing Paraview to avoid using git describe to determine its own version number (#5783)
* Forcing Paraview to avoid using git describe to determine its own version number.

* Shortening references to spec in paraview.
2017-10-16 15:32:23 -06:00
Aaron Fisher
639d9c305a Updated the rc tag and version. (#5761) 2017-10-16 11:26:26 -07:00
Christoph Junghans
89344ebd44 portage: fixes + added v1.1.* (#5706) 2017-10-16 09:59:41 -07:00
Michael F. Herbst
d0cf3db46e armadillo: use libs to provide arpack and superlu libraries (#5777) 2017-10-16 12:57:01 +02:00
Denis Davydov
f6c16de6de petsc: a temporary workaround for concretizer bug in all packages which depend on SLEPc (#5755) 2017-10-16 00:53:55 -07:00
Johann Klähn
6c67de48e8 Update llvm to version 5.0.0 (#5773) 2017-10-15 13:04:40 -06:00
Michael F. Herbst
5656554922 Add krims and lazyten (#5771)
* Add krims to spack

* Add lazyten to spack

* Add description for lazyten

* Changes suggested by @davydden and @junghans
2017-10-15 11:45:11 -06:00
Denis Davydov
a16ec21fbe boost: remove preferred 1.63 (#5770)
1.64 had issues serialization (make_array and others) when built with
+mpi+python. It appears that those issues are fixed in 1.65.1
so we can remove preferred tag from 1.63.
2017-10-14 16:50:28 -06:00
Denis Davydov
cfd823c3f7 intel-tbb: add 2018.1 (#5769) 2017-10-14 16:40:23 -06:00
Denis Davydov
dcb888d477 gsl: add 2.4 (#5768) 2017-10-14 16:39:43 -06:00
Denis Davydov
8f52295dd8 oce: add 0.18.2 (#5767) 2017-10-14 16:39:21 -06:00
Christoph Junghans
31115af128 boost: call_once_variadic.patch is already part of 1.56.0 (#5341) 2017-10-14 12:53:25 -06:00
Christoph Junghans
a685372636 Revert "Use cflags instead of the args variable (#5756)" (#5765)
This reverts commit 6c3184820a.
2017-10-14 13:55:02 +02:00
Adam J. Stewart
6f9036c858 Ensure that FileList makes it into the documentation (#5739) 2017-10-14 06:20:39 +02:00
Satish Balay
0168025c1c superlu_dist: update to latest version 5.2.1 (#5762)
The interface to +int64 changed from  -D_LONGINT to XSDK_INDEX_SIZE=64. This change
uses the appropriate interface for for the given version
2017-10-13 21:22:44 -06:00
David Gardner
f885c89fdc Update Sundials package (#5696)
* initial update of sundials package

* fix bugs in initial sundials update

* add xsdk cmake setup, fix generic math option, add cuda/raja Makefiles to install fixes

* Fix lapack install bug, add new conflicts, clean up formatting

* Address pull requeset comments and make fomatting style consistent

Remove blas variant as blas is only needed when used by an external
linear solver. Set related CMake blas variables as needed depending
enabled external linear solvers.

Add minimum required CMake version.

Additional conflicts and dependencies for external libraries based
on mpi, indextype, and precision.

Fix SuperLU_MT logic to check which threading type SuperLU_MT was
configured with.

Add maintaiers.

Change Sundials solver options to use an array of values.

Consistently use % for formatting.

* change triple-single quotes to single quotes

* Change indextype option to a single int64 option
2017-10-13 21:13:10 -06:00
Todd Gamblin
1ba4c1af63 Clean up logic in Sepc.satisfies_dependencies()
- This puts in a fast path when there are no dependencies to satisfy.

- Reduces time spent to concretize r-rminer by 2x, down to 5s from 10s
2017-10-13 19:46:57 -07:00
Todd Gamblin
afc99ca516 Remove single-root assertion from Spec.root
- Assertion would search for root through all possible paths.
  - It's also really slow.

- This isn't needed anymore. We're pretty good at ensuring single-rooted
  DAGs, and this assertion has never been thrown.

- This shaves another 6 seconds off r-rminer concretization
2017-10-13 19:46:57 -07:00
Todd Gamblin
3f091fb6db Use list instead of OrderedDict to find virtual/external candidates
- This reduces concretization time for r-rminer from over 1 minute to
  only 16 seconds.
  - OrderedDict ends up taking a *lot* of time to compare larger specs.

- An OrderedDict isn't actually needed here.  It's actually not possible
  to find duplicates, and we end up sorting the contents of the
  OrderedDict anyway.
2017-10-13 19:46:57 -07:00
Todd Gamblin
f58c503091 avoid creating lots of dictionaries in traverse_edges()
- This is an optimization to the way traverse_edges iterates over
  successors.

- Previous version called dependencies_dict(), which involved a lot of
  redundant work (creating dicts and calling caonical_deptype)
2017-10-13 19:46:57 -07:00
Todd Gamblin
9ccaf6474d Don't redundantly check for providers of non-virtuals. 2017-10-13 19:46:57 -07:00
Todd Gamblin
55f85f2307 Cache compilers parsed from config files
- Spack ends up constructing compilers frequently from YAML data.

- This caches the result of parsing the compiler config

- The logic in compilers/__init__.py could use a bigger cleanup, but this
  makes concretization much faster for now.

- on macOS, this also ensures that xcrun is called only twice, as opposed
  to every time a new compiler object is constructed.
2017-10-13 19:46:57 -07:00
Patrick Gartung
2e1aa0a5e9 This fixes a bug in creating rpaths relative to $ORIGIN on linux. (#5726)
* This fixes a bug in creating rpaths relative to  on linux.

* fix for macOS as well

* found in testing

* flake8

* fix testing on macOS

* flake8
2017-10-13 19:13:07 -07:00
Yifan Zhu
4d3424a5d4 r-preprocesscore: added versioned dependency on r (#5671) 2017-10-13 18:50:26 -06:00
Yifan Zhu
e6109381fc r-rmpi: added list_url and updated md5 (#5698) 2017-10-13 18:35:06 -06:00
Yifan Zhu
ad8b9522d6 r-edger: added versioned dependency on r (#5669) 2017-10-13 18:32:43 -06:00
Yifan Zhu
8c2fe52f8e r-s4vectors: added versioned dependency on r (#5672) 2017-10-13 18:32:17 -06:00
Denis Davydov
c13e13a52b likwid: update versions (#5757) 2017-10-13 16:08:49 -06:00
Yifan Zhu
2c73c9fb50 r-xvector: added versioned dependency on r (#5731) 2017-10-13 16:01:18 -06:00
Satish Balay
6fcfc3bd5a flake8: fix warnings (#5759) 2017-10-13 15:16:58 -06:00
Ondřej Čertík
6c3184820a Use cflags instead of the args variable (#5756)
That way the user can still append things to CFLAGS.
2017-10-13 15:15:06 -06:00
Christoph Junghans
3c7dd367f8 py-espresso: initial commit (#5724) 2017-10-13 12:29:30 -07:00
Christoph Junghans
23e801923d espressopp -> py-espressopp (#5732)
* espressopp -> py-espressopp

* Update package.py
2017-10-13 12:28:36 -07:00
Axel Huebl
e17765db39 Docker Workflow (#5582)
This adds a workflow section on how to use spack on Docker.

It provides an example on the best-practices I collected over the
last months and circumvents the common pitfalls I tapped in.

Works with MPI, CUDA, Modules, execution as root, etc.

Background: Developed initially for PIConGPU.
2017-10-13 12:17:20 -07:00