Compare commits

...

5250 Commits

Author SHA1 Message Date
Harmen Stoppels
3b55c2e715 Bump version and update changelog 2021-09-21 16:58:41 -07:00
Harmen Stoppels
7caa844d49 Fix style tests 2021-09-21 16:58:41 -07:00
Harmen Stoppels
4cd6381ed5 Remove centos:6 image references
This was EOL November 30th, 2020. I believe the "builds" are failing on
develop because of it.
2021-09-21 16:58:41 -07:00
Massimiliano Culpo
aebc8f6ce5 docker: remove boto3 from CentOS 6 since it requires and updated pip (#24813) 2021-09-21 16:58:41 -07:00
Massimiliano Culpo
073c92d526 docker: Fix CentOS 6 build on Docker Hub (#24804)
This change make yum usable again on CentOS 6
2021-09-21 16:58:41 -07:00
Greg Becker
0e85d7011e Ensure all roots of an installed environment are marked explicit in db (#24277) 2021-09-21 16:58:41 -07:00
Todd Gamblin
77e633efa1 locks: only open lockfiles once instead of for every lock held (#24794)
This adds lockfile tracking to Spack's lock mechanism, so that we ensure that there
is only one open file descriptor per inode.

The `fcntl` locks that Spack uses are associated with an inode and a process.
This is convenient, because if a process exits, it releases its locks.
Unfortunately, this also means that if you close a file, *all* locks associated
with that file's inode are released, regardless of whether the process has any
other open file descriptors on it.

Because of this, we need to track open lock files so that we only close them when
a process no longer needs them.  We do this by tracking each lockfile by its
inode and process id.  This has several nice properties:

1. Tracking by pid ensures that, if we fork, we don't inadvertently track the parent
   process's lockfiles. `fcntl` locks are not inherited across forks, so we'll
   just track new lockfiles in the child.
2. Tracking by inode ensures that referencs are counted per inode, and that we don't
   inadvertently close a file whose inode still has open locks.
3. Tracking by both pid and inode ensures that we only open lockfiles the minimum
   number of times necessary for the locks we have.

Note: as mentioned elsewhere, these locks aren't thread safe -- they're designed to
work in Python and assume the GIL.

Tasks:
- [x] Introduce an `OpenFileTracker` class to track open file descriptors by inode.
- [x] Reference-count open file descriptors and only close them if they're no longer
      needed (this avoids inadvertently releasing locks that should not be released).
2021-09-21 16:58:41 -07:00
Todd Gamblin
2ae92ebdbb Use AWS CloudFront for source mirror (#23978)
Spack's source mirror was previously in a plain old S3 bucket. That will still
work, but we can do better. This switches to AWS's CloudFront CDN for hosting
the mirror.

CloudFront is 16x faster (or more) than the old bucket.

- [x] change mirror to https://mirror.spack.io
2021-09-21 16:58:41 -07:00
Harmen Stoppels
7f29dd238f Cray: fix extracting paths from module files (#23472)
Co-authored-by: Tiziano Müller <tm@dev-zero.ch>
2021-09-21 16:58:41 -07:00
Adam J. Stewart
0f486080b3 Fix use of quotes in Python build system (#22279) 2021-09-21 16:58:41 -07:00
Michael Kuhn
6b0c775448 clang/llvm: fix version detection (#19978)
This PR fixes two problems with clang/llvm's version detection. clang's
version output looks like this:

```
clang version 11.0.0
Target: x86_64-unknown-linux-gnu
```

This caused clang's version to be misdetected as:

```
clang@11.0.0
Target:
```

This resulted in errors when trying to actually use it as a compiler.

When using `spack external find`, we couldn't determine the compiler
version, resulting in errors like this:

```
==> Warning: "llvm@11.0.0+clang+lld+lldb" has been detected on the system but will not be added to packages.yaml [reason=c compiler not found for llvm@11.0.0+clang+lld+lldb]
```

Changing the regex to only match until the end of the line fixes these
problems.

Fixes: #19473
2021-09-21 16:58:41 -07:00
Adam J. Stewart
9120856c01 Fix fetching for Python 3.9.6 (#24686)
When using Python 3.9.6, Spack is no longer able to fetch anything. Commands like `spack fetch` and `spack install` all break.

Python 3.9.6 includes a [new change](https://github.com/python/cpython/pull/25853/files#diff-b3712475a413ec972134c0260c8f1eb1deefb66184f740ef00c37b4487ef873eR462) that means that `scheme` must be a string, it cannot be None. The solution is to use an empty string like the method default.

Fixes #24644. Also see https://github.com/Homebrew/homebrew-core/pull/80175 where this issue was discovered by CI. Thanks @branchvincent for reporting such a serious issue before any actual users encountered it!

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2021-09-21 16:58:41 -07:00
Massimiliano Culpo
c699e907fc Update command to setup tutorial (#24488) 2021-06-23 19:38:36 -05:00
Todd Gamblin
f1fe03cd59 Update CHANGELOG and release version for v0.16.2 2021-05-22 14:57:30 -07:00
Massimiliano Culpo
80f0c78f00 Style fixes for v0.16.2 release 2021-05-22 14:57:30 -07:00
Todd Gamblin
818664d55a performance: speed up existence checks in packages (#23661)
Spack doesn't require users to manually index their repos; it reindexes the indexes automatically when things change. To determine when to do this, it has to `stat()` all package files in each repository to make sure that indexes up to date with packages. We currently index virtual providers, patches by sha256, and tags on packages.

When this was originally implemented, we ran the checker all the time, at startup, but that was slow (see #7587). But we didn't go far enough -- it still consults the checker and does all the stat operations just to see if a package exists (`Repo.exists()`).  That might've been a wash in 2018, but as the number of packages has grown, it's gotten slower -- checking 5k packages is expensive and users see this for small operations.  It's a win now to make `Repo.exists()` check files directly.

**Fix:**

This PR does a number of things to speed up `spack load`, `spack info`, and other commands:

- [x] Make `Repo.exists()` check files directly again with `os.path.exists()` (this is the big one)
- [x] Refactor `Spec.satisfies()` so that a checking for virtual packages only happens if needed
      (avoids some calls to exists())
- [x] Avoid calling `Repo.exists(spec)` in `Repo.get()`. `Repo.get()` will ultimately try to load
      a `package.py` file anyway; we can let the failure to load it indicate that the package doesn't
      exist, and avoid another call to exists().
- [x] Fix up some comments in spec parsing
- [x] Call `UnknownPackageError` more consistently in `repo.py`
2021-05-22 14:57:30 -07:00
Massimiliano Culpo
76c5a02125 ASP-based solve: minimize compiler mismatches (#23016)
fixes #22718

Instead of trying to maximize the number of
matches (preferred behavior), try to minimize
the number of mismatches (unwanted behavior).
2021-05-22 14:57:30 -07:00
Massimiliano Culpo
30dd61264a ASP-based solver: no intermediate package for concretizing together (#23307)
The ASP-based solver can natively manage cases where more than one root spec is given, and is able to concretize all the roots together (ensuring one spec per package at most).

Modifications:
- [x] When concretising together an environment the ASP-based solver calls directly its `solve` method rather than constructing a temporary fake root package.
2021-05-22 11:51:21 -07:00
Massimiliano Culpo
13fed376f2 Import hooks using Python's built-in machinery (#23288)
The function we coded in Spack to load Python modules with arbitrary
names from a file seem to have issues with local imports. For
loading hooks though it is unnecessary to use such functions, since
we don't care to bind a custom name to a module nor we have to load
it from an unknown location.

This PR thus modifies spack.hook in the following ways:

- Use __import__ instead of spack.util.imp.load_source (this
  addresses #20005)
- Sync module docstring with all the hooks we have
- Avoid using memoization in a module function
- Marked with a leading underscore all the names that are supposed
  to stay local
2021-05-22 11:51:21 -07:00
Harmen Stoppels
fb27c7ad0c spack location: fix usage without args (#22755) 2021-05-22 11:51:21 -07:00
Harmen Stoppels
4a7581eda3 Add "spack [cd|location] --source-dir" (#22321) 2021-05-22 11:51:20 -07:00
Massimiliano Culpo
0d173bb32b Use Python's built-in machinery to import compilers (#23290) 2021-05-22 11:51:20 -07:00
Massimiliano Culpo
8a7bfe97c3 ASP-based solver: suppress warnings when constructing facts (#23090)
fixes #22786

Trying to get optimization flags for a specific target from
a compiler may trigger warnings. In the context of constructing
facts for the ASP-based solver we don't want to show these
warnings to the user, so here we simply ignore them.
2021-05-22 11:51:20 -07:00
Peter Scheibel
f1f94ad31a Externals with merged prefixes (#22653)
We remove system paths from search variables like PATH and 
from -L options because they may contain many packages and
could interfere with Spack-built packages. External packages 
may be installed to prefixes that are not actually system paths 
but are still "merged" in the sense that many other packages are
installed there. To avoid conflicts, this PR places all external
packages at the end of search paths.
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
2655e21bd0 ASP-based solver: assign OS correctly with inheritance from parent (#22896)
fixes #22871

When in presence of multiple choices for the operating system
we were lacking a rule to derive the node OS if it was
inherited.
2021-05-22 11:51:20 -07:00
Peter Scheibel
5546b22c70 "spack build-env" searches env for relevant spec (#21642)
If you install packages using spack install in an environment with
complex spec constraints, and the install fails, you may want to
test out the build using spack build-env; one issue (particularly
if you use concretize: together) is that it may be hard to pass
the appropriate spec that matches what the environment is
attempting to install.

This updates the build-env command to default to pulling a matching
spec from the environment rather than concretizing what the user
provides on the command line independently.

This makes a similar change to spack cd.

If the user-provided spec matches multiple specs in the environment,
then these commands will now report an error and display all
matching specs (to help the user specify).

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2021-05-22 11:51:20 -07:00
Adam J. Stewart
2496c7b514 Remove erroneous warnings about quotes for from_source_file (#22767) 2021-05-22 11:51:20 -07:00
Massimiliano Culpo
43cea1b354 Bootstrapping: swap store before configuration (#22631)
fixes #22294

A combination of the swapping order for global variables and
the fact that most of them are lazily evaluated resulted in
custom install tree not being taken into account if clingo
had to be bootstrapped.

This commit fixes that particular issue, but a broader refactor
may be needed to ensure that similar situations won't affect us
in the future.
2021-05-22 11:51:20 -07:00
Harmen Stoppels
cbd55332e3 Bootstrap: add _builtin config scope (#22610)
(cherry picked from commit a37c916dff)
2021-05-22 11:51:20 -07:00
Harmen Stoppels
c8a10e4910 Fix clearing cache of InternalConfigScope (#22609)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-05-22 11:51:20 -07:00
Cyrus Harrison
a5213dabb1 bugfix for active when pkg is already active error (#22587)
* bugfix for active when pkg is already active error

Co-authored-by: Greg Becker <becker33@llnl.gov>
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
6e714808fa Enforce uniqueness of the version_weight atom per node
fixes #22565

This change enforces the uniqueness of the version_weight
atom per node(Package) in the DAG. It does so by applying
FTSE and adding an extra layer of indirection with the
possible_version_weight/2 atom.

Before this change it may have happened that for the same
node two different version_weight/2 were in the answer set,
each of which referred to a different spec with the same
version, and their weights would sum up.

This lead to unexpected result like preferring to build a
new version of an external if the external version was
older.
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
9f99e8ad64 Externals are preferred even when they have non-default variant values
fixes #22596

Variants which are specified in an external spec are not
scored negatively if they encode a non-default value.
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
18880a668b clingo: modify recipe for bootstrapping (#22354)
* clingo: modify recipe for bootstrapping

Modifications:
- clingo builds with shared Python only if ^python+shared
- avoid building the clingo app for bootstrapping
- don't link to libpython when bootstrapping

* Remove option that breaks on linux

* Give more hints for the current Python

* Disable CLINGO_BUILD_PY_SHARED for bootstrapping

* bootstrapping: try to detect the current python from std library

This is much faster than calling external executables

* Fix compatibility with Python 2.6

* Give hints on which compiler and OS to use when bootstrapping

This change hints which compiler to use for bootstrapping clingo
(either GCC or Apple Clang on MacOS). On Cray platforms it also
hints to build for the frontend system, where software is meant
to be installed.

* Use spec_for_current_python to constrain module requirement

(cherry picked from commit d5fa509b07)
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
e7494b627b ASP-based solver: model disjoint sets for multivalued variants (#22534)
* ASP-based solver: avoid adding values to variants when they're set

fixes #22533
fixes #21911

Added a rule that prevents any value to slip in a variant when the
variant is set explicitly. This is relevant for multi-valued variants,
in particular for those that have disjoint sets of values.

* Ensure disjoint sets have a clear semantics for external packages
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
b11dd0478a Make SingleFileScope able to repopulate the cache after clearing it (#22559)
fixes #22547

SingleFileScope was not able to repopulate its cache before this
change. This was affecting the configuration seen by environments
using clingo bootstrapped from sources, since the bootstrapping
operation involved a few cache invalidation for config files.
2021-05-22 11:51:20 -07:00
Rémi Lacroix
31a07f9bc4 Channelflow: Fix the package. (#22483)
A search and replace went wrong in 2264e30d99.

Thanks to @wadudmiah who reported this issue.
2021-05-22 11:51:20 -07:00
Harmen Stoppels
61e619bb27 spack location: bugfix for out of source build dirs (#22348) 2021-05-22 11:51:20 -07:00
Todd Gamblin
4d148a430e bugfix: allow imposed constraints to be overridden in special cases
In most cases, we want condition_holds(ID) to imply any imposed
constraints associated with the ID. However, the dependency relationship
in Spack is special because it's "extra" conditional -- a dependency
*condition* may hold, but we have decided that externals will not have
dependencies, so we need a way to avoid having imposed constraints appear
for nodes that don't exist.

This introduces a new rule that says that constraints are imposed
*unless* we define `do_not_impose(ID)`. This allows rules like
dependencies, which rely on more than just spec conditions, to cancel
imposed constraints.

We add one special case for this: dependencies of externals.
2021-05-22 11:51:20 -07:00
Todd Gamblin
9717e0244f bugfix: do not generate dep conditions when no dependency
We only consider test dependencies some of the time. Some packages are
*only* test dependencies. Spack's algorithm was previously generating
dependency conditions that could hold, *even* if there was no potential
dependency type.

- [x] change asp.py so that this can't happen -- we now only generate
      dependency types for possible dependencies.
2021-05-22 11:51:20 -07:00
Todd Gamblin
a823cffc40 concretizer: unify logic for spec conditionals
This builds on #20638 by unifying all the places in the concretizer where
things are conditional on specs. Previously, we duplicated a common spec
conditional pattern for dependencies, virtual providers, conflicts, and
externals. That was introduced in #20423 and refined in #20507, and
roughly looked as follows.

Given some directives in a package like:

```python
depends_on("foo@1.0+bar", when="@2.0+variant")
provides("mpi@2:", when="@1.9:")
```

We handled the `@2.0+variant` and `@1.9:` parts by generating generated
`dependency_condition()`, `required_dependency_condition()`, and
`imposed_dependency_condition()` facts to trigger rules like this:

```prolog
dependency_conditions_hold(ID, Parent, Dependency) :-
  attr(Name, Arg1)             : required_dependency_condition(ID, Name, Arg1);
  attr(Name, Arg1, Arg2)       : required_dependency_condition(ID, Name, Arg1, Arg2);
  attr(Name, Arg1, Arg2, Arg3) : required_dependency_condition(ID, Name, Arg1, Arg2, Arg3);
  dependency_condition(ID, Parent, Dependency);
  node(Parent).
```

And we handled `foo@1.0+bar` and `mpi@2:` parts ("imposed constraints")
like this:

```prolog
attr(Name, Arg1, Arg2) :-
  dependency_conditions_hold(ID, Package, Dependency),
  imposed_dependency_condition(ID, Name, Arg1, Arg2).

attr(Name, Arg1, Arg2, Arg3) :-
  dependency_conditions_hold(ID, Package, Dependency),
  imposed_dependency_condition(ID, Name, Arg1, Arg2, Arg3).
```

These rules were repeated with different input predicates for
requirements (e.g., `required_dependency_condition`) and imposed
constraints (e.g., `imposed_dependency_condition`) throughout
`concretize.lp`. In #20638 it got to be a bit confusing, because we used
the same `dependency_condition_holds` predicate to impose constraints on
conditional dependencies and virtual providers. So, even though the
pattern was repeated, some of the conditional rules were conjoined in a
weird way.

Instead of repeating this pattern everywhere, we now have *one* set of
consolidated rules for conditions:

```prolog
condition_holds(ID) :-
  condition(ID);
  attr(Name, A1)         : condition_requirement(ID, Name, A1);
  attr(Name, A1, A2)     : condition_requirement(ID, Name, A1, A2);
  attr(Name, A1, A2, A3) : condition_requirement(ID, Name, A1, A2, A3).

attr(Name, A1)         :- condition_holds(ID), imposed_constraint(ID, Name, A1).
attr(Name, A1, A2)     :- condition_holds(ID), imposed_constraint(ID, Name, A1, A2).
attr(Name, A1, A2, A3) :- condition_holds(ID), imposed_constraint(ID, Name, A1, A2, A3).
```

this allows us to use `condition(ID)` and `condition_holds(ID)` to
encapsulate the conditional logic on specs in all the scenarios where we
need it. Instead of defining predicates for the requirements and imposed
constraints, we generate the condition inputs with generic facts, and
define predicates to associate the condition ID with a particular
scenario. So, now, the generated facts for a condition look like this:

```prolog
condition(121).
condition_requirement(121,"node","cairo").
condition_requirement(121,"variant_value","cairo","fc","True").
imposed_constraint(121,"version_satisfies","fontconfig","2.10.91:").
dependency_condition(121,"cairo","fontconfig").
dependency_type(121,"build").
dependency_type(121,"link").
```

The requirements and imposed constraints are generic, and we associate
them with their meaning via the id. Here, `dependency_condition(121,
"cairo", "fontconfig")` tells us that condition 121 has to do with the
dependency of `cairo` on `fontconfig`, and the conditional dependency
rules just become:

```prolog
dependency_holds(Package, Dependency, Type) :-
  dependency_condition(ID, Package, Dependency),
  dependency_type(ID, Type),
  condition_holds(ID).
```

Dependencies, virtuals, conflicts, and externals all now use similar
patterns, and the logic for generating condition facts is common to all
of them on the python side, as well. The more specific routines like
`package_dependencies_rules` just call `self.condition(...)` to get an id
and generate requirements and imposed constraints, then they generate
their extra facts with the returned id, like this:

```python
    def package_dependencies_rules(self, pkg, tests):
        """Translate 'depends_on' directives into ASP logic."""
        for _, conditions in sorted(pkg.dependencies.items()):
            for cond, dep in sorted(conditions.items()):
                condition_id = self.condition(cond, dep.spec, pkg.name)  # create a condition and get its id
                self.gen.fact(fn.dependency_condition(  # associate specifics about the dependency w/the id
                    condition_id, pkg.name, dep.spec.name
                ))
        # etc.
```

- [x] unify generation and logic for conditions
- [x] use unified logic for dependencies
- [x] use unified logic for virtuals
- [x] use unified logic for conflicts
- [x] use unified logic for externals

LocalWords:  concretizer mpi attr Arg concretize lp cairo fc fontconfig
LocalWords:  virtuals def pkg cond dep fn refactor github py
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
f1c7402c64 bootstrap: account for platform specific configuration scopes (#22489)
This change accounts for platform specific configuration scopes,
like ~/.spack/linux, during bootstrapping. These scopes were
previously not accounted for and that was causing issues e.g.
when searching for compilers.

(cherry picked from commit 413c422e53)
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
16f7a02654 Bootstrap clingo from sources (#21446)
* Allow the bootstrapping of clingo from sources

Allow python builds with system python as external
for MacOS

* Ensure consistent configuration when bootstrapping clingo

This commit uses context managers to ensure we can
bootstrap clingo using a consistent configuration
regardless of the use case being managed.

* Github actions: test clingo with bootstrapping from sources

* Add command to inspect and clean the bootstrap store

 Prevent users to set the install tree root to the bootstrap store

* clingo: documented how to bootstrap from sources

Co-authored-by: Gregory Becker <becker33@llnl.gov>
(cherry picked from commit 10e9e142b7)
2021-05-22 11:50:59 -07:00
Massimiliano Culpo
6c1b348d91 clingo-bootstrap: account for cray platform (#22460)
(cherry picked from commit 138312efab)
2021-05-21 19:42:12 +02:00
Maxim Belkin
68ef6fce92 clingo: fix typo (#22444) 2021-05-21 19:42:12 +02:00
Massimiliano Culpo
0b5c5b8068 clingo: added a package with option for bootstrapping clingo (#20652)
* clingo/clingo-bootstrap: added a package with option for bootstrapping clingo

package builds in Release mode
uses GCC options to link libstdc++ and libgcc statically

* clingo-bootstrap: apple-clang options to bootstrap statically on darwin

* clingo: fix the path of the Python interpreter

In case multiple Python versions are in the same prefix
(e.g. when clingo is built against an external Python),
it may happen that the Python used by CMake does not
match the corresponding node in the current spec.

This is fixed here by defining "Python_EXECUTABLE"
properly as a hint to CMake.

* clingo: the commit for "spack" version has been updated.
2021-05-21 19:42:12 +02:00
Adam J. Stewart
add339cbfe Clingo: fix missing import (#21364) 2021-05-21 19:42:12 +02:00
Todd Gamblin
316c292685 clingo: prefer master branch
Most people installing `clingo` with Spack are going to be doing it to
use the new concretizer, and that requires the `master` branch.

- [x] make `master` the default so we don't have to keep telling people
  to install `clingo@master`. We'll update the preferred version when
  there's a new release.
2021-05-21 19:42:12 +02:00
Andreas Baumbach
bd9929f9dc make spack fetch work with environments (#19166)
* make `spack fetch` work with environments
* previously: `spack fetch` required the explicit statement of
              the specs to be fetched, even when in an environment
* now: if there is no spec(s) provided to `spack fetch` we check
       if an environment is active and if yes we fetch all
       uninstalled specs.
2021-05-21 19:42:12 +02:00
Massimiliano Culpo
2a5f46d8d3 Added a context manager to swap architectures
This solves a few FIXMEs in conftest.py, where
we were manipulating globals and seeing side
effects prior to registering fixtures.

This commit solves the FIXMEs, but introduces
a performance regression on tests that may need
to be investigated

(cherry picked from commit 4558dc06e2)
2021-05-21 18:06:49 +02:00
Greg Becker
095ace9028 bugfix for target adjustments on target ranges (#20537)
(cherry picked from commit 61c1b71d38)
2021-05-21 18:05:42 +02:00
Massimiliano Culpo
f30fc6cd33 Move context manager to swap the current configuration into spack.config
The context manager can be used to swap the current
configuration temporarily, for any use case that may need it.

(cherry picked from commit 553d37a6d6)
2021-05-21 18:00:05 +02:00
Massimiliano Culpo
4e5e1e8f35 Move context manager to swap the current store into spack.store
The context manager can be used to swap the current
store temporarily, for any use case that may need it.

(cherry picked from commit cb2c233a97)
2021-05-21 17:59:57 +02:00
Massimiliano Culpo
0678d5df90 repo: generalize "swap" context manager to also accept paths
The method is now called "use_repositories" and
makes it clear in the docstring that it accepts
as arguments either Repo objects or paths.

Since there was some duplication between this
contextmanager and "use_repo" in the testing framework,
remove the latter and use spack.repo.use_repositories
across the entire code base.

Make a few adjustment to MockPackageMultiRepo, since it was
stating in the docstring that it was supposed to mock
spack.repo.Repo and was instead mocking spack.repo.RepoPath.

(cherry picked from commit 1a8963b0f4)
2021-05-21 17:59:50 +02:00
Massimiliano Culpo
2a4d2f905c Run clingo-cffi tests in a container (#21913)
There clingo-cffi job has two issues to be solved:

1. It uses the default concretizer
2. It requires a package from https://test.pypi.org/simple/

The former can be fixed by setting the SPACK_TEST_SOLVER
environment variable to "clingo".

The latter though requires clingo-cffi to be pushed to a
more stable package index (since https://test.pypi.org/simple/
is meant as a scratch version of PyPI that can be wiped at
any time).

For the time being run the tests in a container. Switch back to
PyPI whenever a new official version of clingo will be released.
2021-05-21 15:09:08 +02:00
Josh Essman
14e179398f Updates to support clingo-cffi (#20657)
* Support clingo when used with cffi

Clingo recently merged in a new Python module option based on cffi.

Compatibility with this module requires a few changes to spack - it does not automatically convert strings/ints/etc to Symbol and clingo.Symbol.string throws on failure.

manually convert str/int to clingo.Symbol types
catch stringify exceptions
add job for clingo-cffi to Spack CI
switch to potassco-vendored wheel for clingo-cffi CI
on_unsat argument when cffi

(cherry picked from commit 93ed1a410c)
2021-05-21 15:09:08 +02:00
Massimiliano Culpo
8d13193434 Improve error message for inconsistencies in package.py (#21811)
* Improve error message for inconsistencies in package.py

Sometimes directives refer to variants that do not exist.
Make it such that:

1. The name of the variant
2. The name of the package which is supposed to have
   such variant
3. The name of the package making this assumption

are all printed in the error message for easier debugging.

* Add unit tests

(cherry picked from commit 7226bd64dc)
2021-05-21 15:09:08 +02:00
Massimiliano Culpo
94bb37c107 concretizer: simplify "fact" method (#21148)
The "fact" method before was dealing with multiple facts
registered per call, which was used when we were emitting
grounded rules from knowledge of the problem instance.

Now that the encoding is changed we can simplify the method
to deal only with a single fact per call.

(cherry picked from commit ba42c36f00)
2021-05-21 15:09:04 +02:00
Adam J. Stewart
a59fcd60f5 Python 3.10 support: collections.abc (#20441)
(cherry picked from commit 40a40e0265)
2021-05-21 14:55:18 +02:00
Phil Tooley
566becbbfe use package supplied autogen.sh (#20319) 2021-05-10 23:11:29 -07:00
Greg Becker
8c05387ebc respect -k/verify-ssl-false in _existing_url method (#21864) 2021-05-10 23:11:29 -07:00
Gregory Becker
393a105c06 update tutorial public key 2021-04-15 00:04:29 -07:00
Gregory Becker
a3714b3292 updates for new tutorial
update s3 bucket
update tutorial branch
2021-04-15 00:04:29 -07:00
Tamara Dahlgren
8dd2d740b1 Update CHANGELOG and release version 2021-02-19 11:06:33 -08:00
Tamara Dahlgren
d0798160cf Resolve (post-cherry-picking) flake8 errors 2021-02-19 11:05:53 -08:00
Adam J. Stewart
3256f018eb apple-clang: add correct path to compiler wrappers (#21662)
Follow-up to #17110

### Before
```bash
CC=/Users/Adam/spack/lib/spack/env/clang/clang; export CC
SPACK_CC=/usr/bin/clang; export SPACK_CC
PATH=...:/Users/Adam/spack/lib/spack/env/apple-clang:/Users/Adam/spack/lib/spack/env/case-insensitive:/Users/Adam/spack/lib/spack/env:...; export PATH
```

### After
```bash
CC=/Users/Adam/spack/lib/spack/env/clang/clang; export CC
SPACK_CC=/usr/bin/clang; export SPACK_CC
PATH=...:/Users/Adam/spack/lib/spack/env/clang:/Users/Adam/spack/lib/spack/env/case-insensitive:/Users/Adam/spack/lib/spack/env:...; export PATH
```

`CC` and `SPACK_CC` were being set correctly, but `PATH` was using the name of the compiler `apple-clang` instead of `clang`. For most packages, since `CC` was set correctly, nothing broke. But for packages using `Makefiles` that set `CC` based on `which clang`, it was using the system compilers instead of the compiler wrappers. Discovered when working on `py-xgboost@0.90`.

An alternative fix would be to copy the symlinks in `env/clang` to `env/apple-clang`. Let me know if you think there's a better way to do this, or to test this.
2021-02-17 17:07:48 -08:00
Frank Willmore
2607bc5cff intel-oneapi-compilers/mpi: add module support (#20808)
Facilitate running intel-oneapi-mpi outside of Spack (set PATH,
LD_LIBRARY_PATH, etc. appropriately).

Co-authored-by: Robert Cohn <rscohn2@gmail.com>
2021-02-17 17:07:47 -08:00
Frank Willmore
863f455cf9 intel-oneapi-compilers: add to LD_LIBRARY_PATH so that it finds libimf.so (#20717)
* add  to LD_LIBRARY_PATH so that it finds libimf.so

* amrex: fix handling of CUDA arch (#20786)

* amrex: fix handling of CUDA arch
* amrex: fix style
* amrex: fix bug
* Update var/spack/repos/builtin/packages/amrex/package.py
* Update var/spack/repos/builtin/packages/amrex/package.py

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* ecp-data-vis-sdk: Combine the vis and io SDK packages (#20737)

This better enables the collective set to be deployed togethor satisfying
eachothers dependencies

* r-sf: fix dependency error (#20898)

* improve documentation for Rocm (hip amd builds) (#20812)

* improve documentation

* astyle: Fix makefile for install parameter (#20899)

* llvm-doe: added new package (#20719)

The package contains duplicated code from llvm/package.py,
will supersede solve.

* r-e1071: added v1.7-4 (#20891)

* r-diffusionmap: added v1.2.0 (#20881)

* r-covr: added v3.5.1 (#20868)

* r-class: added v7.3-17 (#20856)

* py-h5py: HDF5_DIR is needed for ~mpi too (#20905)

For the `~mpi` variant, the environment variable `HDF5_DIR` is still required.  I moved this command out of the `+mpi` conditional.

* py-hovorod: fix typo on variant name in conflicts directive (#20906)

* fujitsu-fftw: Add new package (#20824)

* pocl: added v1.6 (#20932)

Made version 1.5 or lower conflicts with a64fx.

* PCL: add new package (#20933)

* r-rle: new package (#20916)

Common 'base' and 'stats' methods for 'rle' objects, aiming to make it
possible to treat them transparently as vectors.

* r-ellipsis: added v0.3.1 (#20913)

* libconfig: add build dependency on texinfo (#20930)

* r-flexmix: add v2.3-17 (#20924)

* r-fitdistrplus: add v1.1-3 (#20923)

* r-fit-models: add v0.64 (#20922)

* r-fields: add v11.6 (#20921)

* r-fftwtools: add v0.9-9 (#20920)

* r-farver: add v2.0.3 (#20919)

* r-expm: add v0.999-6 (#20918)

* cln: add build dependency on texinfo (#20928)

* r-expint: add v0.1-6 (#20917)

* r-envstats: add v2.4.0 (#20915)

* r-energy: add v1.7-7 (#20914)

* r-ellipse: add v0.4.2 (#20912)

* py-fiscalyear: add v0.3.0 (#20911)

* r-ecp: add v3.1.3 (#20910)

* r-plotmo: add v3.6.0 (#20909)

* Improve gcc detection in llvm. (#20189)

Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>

* hatchet: updated urls (#20908)

* py-anuga: add new package (#20782)

* libvips: added v8.10.5 (#20902)

* libzmq: add platform conditions to libbsd dependency (#20893)

* r-dtw: add v1.22-3 (#20890)

* r-dt: add v0.17 (#20889)

* r-dosnow: add v1.0.19 (#20888)

* add version 1.0.16 to r-doparallel (#20886)

* add version 1.3.7 to r-domc (#20885)

* add version 0.9-15 to r-diversitree (#20884)

* add version 1.3-3 to r-dismo (#20883)

* add version 0.6.27 to r-digest (#20882)

* add version 1.5 to r-rngtools (#20887)

* add version 1.5.8 to r-dicekriging (#20877)

* add version 1.4.2 to r-httr (#20876)

* add version   1.28 to r-desolve (#20875)

* add version   2.2-5 to r-deoptim (#20874)

* add version   0.2-3 to r-deldir (#20873)

* add version   1.0.0 to r-crul (#20870)

* add version   1.1.0.1 to r-crosstalk (#20869)

* add version   1.0-1 to r-copula (#20867)

* add version 5.0.2 to r-rcppparallel (#20866)

* add version   2.0-1 to r-compositions (#20865)

* add version 0.4.10 to r-rlang (#20796)

* add version 0.3.6 to r-vctrs (#20878)

* amrex: add ROCm support (#20809)

* add version 2.0-0 to r-colorspace (#20864)

* add version 1.3-1 to r-coin (#20863)

* add version   0.19-4 to r-coda (#20862)

* add version 1.3.7 to r-clustergeneration (#20861)

* add version 0.3-58 to r-clue (#20860)

* add version 0.7.1 to r-clipr (#20859)

* add version 2.2.0 to r-cli (#20858)

* add version 0.4-3 to r-classint (#20857)

* add version 0.1.2 to r-globaloptions (#20855)

* add version 2.3-56 to r-chron (#20854)

* add version 0.4.10 to r-checkpoint (#20853)

* add version 2.0.0 to r-checkmate (#20852)

* add version 1.18.1 to r-catools (#20850)

* add version 1.2.2.2 to r-modelmetrics (#20849)

* add version 3.0-4 to r-cardata (#20847)

* add version 1.0.1 to r-caracas (#20846)

* r-lifecycle: new package at v0.2.0 (#20845)

* add version 3.0-10 to r-car (#20844)

* add version 3.4.5 to r-processx (#20843)

* add version 1.5-12.2 to r-cairo (#20842)

* add version 0.2.3 to r-cubist (#20841)

* add version 2.6 to r-rmarkdown (#20838)

* add version 1.2.1 to r-blob (#20819)

* add version 4.0.4 to r-bit (#20818)

* add version 2.4-1 to r-bio3d (#20816)

* add version 0.4.2.3 to r-bibtex (#20815)

* add version 3.1-4 to r-bayesm (#20807)

* add version 1.2.1 to r-backports (#20806)

* add version 2.0.3 to r-argparse (#20805)

* add version 5.4-1 to r-ape (#20804)

* add version 0.8-18 to r-amap (#20803)

* r-pixmap: added new package (#20795)

* zoltan: source code location change (#20787)

* refactor path logic

* added some paths to make compilers and libs discoverable

* add  to LD_LIBRARY_PATH so that it finds libimf.so
and cleanup PEP8

* refactor path logic

* adding paths to LIBRARY_PATH so compiler wrappers will find -lmpi

* added vals for CC=icx, CXX=icpx, FC=ifx to generated module

* back out changes to intel-oneapi-mpi, save for separate PR

* Update var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py

path is joined in _ld_library_path()

Co-authored-by: Robert Cohn <rscohn2@gmail.com>

* set absolute paths to icx,icpx,ifx

* dang close parenthesis

Co-authored-by: Robert Cohn <rscohn2@gmail.com>
Co-authored-by: mic84 <mrosso@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Chuck Atkins <chuck.atkins@kitware.com>
Co-authored-by: darmac <xiaojun2@hisilicon.com>
Co-authored-by: Danny Taller <66029857+dtaller@users.noreply.github.com>
Co-authored-by: Tomoyasu Nojiri <68096132+t-nojiri@users.noreply.github.com>
Co-authored-by: Shintaro Iwasaki <siwasaki@anl.gov>
Co-authored-by: Glenn Johnson <glenn-johnson@uiowa.edu>
Co-authored-by: Kelly (KT) Thompson <KineticTheory@users.noreply.github.com>
Co-authored-by: Henrique Mendonça <henrique@users.noreply.github.com>
Co-authored-by: h-denpo <57649496+h-denpo@users.noreply.github.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Thomas Green <tomgreen66@hotmail.com>
Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>
Co-authored-by: Abhinav Bhatele <bhatele@cs.umd.edu>
Co-authored-by: a-saitoh-fj <63334055+a-saitoh-fj@users.noreply.github.com>
Co-authored-by: QuellynSnead <quellyn@lanl.gov>
2021-02-17 17:07:47 -08:00
Frank Willmore
805b412bb6 adding environment to OneMKL packages so that examples will build (#21377) 2021-02-17 17:07:46 -08:00
Greg Becker
240726a2e1 add intel oneapi to compiler/pkg translations (#21448) 2021-02-17 17:07:46 -08:00
eugeneswalker
e1dc4ba370 llvm: "master" branch is now "main" branch (#21411) 2021-02-17 17:07:45 -08:00
Yang Zongze
40d32890d0 Print groups properly for spack find -d (#20028) 2021-02-17 17:07:45 -08:00
eugeneswalker
18022050f2 store sbang_install_path in buildinfo, use for subsequent relocation (#20768) 2021-02-17 17:07:44 -08:00
Nathan Hanford
cdd86bddec [WIP] relocate.py: parallelize test replacement logic (#19690)
* sbang pushed back to callers;
star moved to util.lang

* updated unit test

* sbang test moved; local tests pass

Co-authored-by: Nathan Hanford <hanford1@llnl.gov>
2021-02-17 17:07:44 -08:00
Henrique Mendonça
58d167bce9 py-hovorod: fix typo on variant name in conflicts directive (#20906) 2021-02-17 17:07:43 -08:00
Massimiliano Culpo
488a08b464 concretizer: require at least a dependency type to say the dependency holds
fixes #20784

Similarly to the previous bug, here we were deducing
conditions to be imposed on nodes that were not part
of the DAG.
2021-02-17 17:07:43 -08:00
Massimiliano Culpo
7162e15531 concretizer: dependency conditions cannot hold if package is external
fixes #20736

Before this one line fix we were erroneously deducing
that dependency conditions hold even if a package
was external.

This may result in answer sets that contain imposed
conditions on a node without the node being present
in the DAG, hence #20736.
2021-02-17 17:07:42 -08:00
Massimiliano Culpo
ffa8479004 libyogrt: remove conflicts triggered by an invalid value (#20794)
fixes #20611

The conflict was triggered by an invalid value of the
'scheduler' variant. This causes Spack to error when libyogrt
facts are validated by the ASP-based concretizer.
2021-02-17 17:07:41 -08:00
Robert Underwood
c99850dd58 restore ability of dev-build to skip patches (#20351)
At some point in the past, the skip_patch argument was removed
from the call to package.do_install() this broke the --skip-patch
flag on the dev-build command.
2021-02-17 17:07:41 -08:00
Robert Cohn
1df8e1daca intel-oneapi-mpi: virtual provider support (#20732)
Set up environment and dependent packages properly when building
with intel-oneapi-mpi as a dependency MPI provider (e.g. point to
mpicc compiler wrapper).
2021-02-17 17:07:41 -08:00
Frank Willmore
7e5f72817c intel-oneapi-compilers package: correct module file (#20686)
This properly sets PATH/CPATH/LIBRARY_PATH etc. to make the
Spack-generated module file for intel-oneapi-compilers useful
(without this, 'icx' would not be found after loading the module
file for intel-oneapi-compilers).
2021-02-17 17:07:40 -08:00
Robert Cohn
41e7293884 fix mpi lib paths, add virtual provides (#20693) 2021-02-17 17:07:40 -08:00
Ye Luo
d0594ba302 Remove hard-coded standard C++ library selection and add more releases in llvm package (#19933)
* Restore OS based Clang default choice of C++ standard library.

* Add LLVM 11.0.1 release
2021-02-17 17:07:39 -08:00
Massimiliano Culpo
ddd9c86ce0 concretizer: make rules on virtual packages more linear
fixes #20679

In this refactor we have a single cardinality rule on the
provider, which triggers a rule transforming a dependency
on a virtual package into a dependency on the provider of
the virtual.
2021-02-17 17:07:39 -08:00
Todd Gamblin
8e442d6dc1 concretizer: use consistent naming for compiler predicates (#20677)
Every other predicate in the concretizer uses a `_set` suffix to
implement user- or package-supplied settings, but compiler settings use a
`_hard` suffix for this. There's no difference in how they're used, so
make the names the same.

- [x] change `node_compiler_hard` to `node_compiler_set`
- [x] change `node_compiler_version_hard` to `node_compiler_version_set`
2021-02-17 17:07:38 -08:00
Todd Gamblin
9393d97139 concretizer: simplify handling of virtual version constraints
Previously, the concretizer handled version constraints by comparing all
pairs of constraints and ensuring they satisfied each other. This led to
INCONSISTENT ressults from clingo, due to ambiguous semantics like:

    version_constraint_satisfies("mpi", ":1", ":3")
    version_constraint_satisfies("mpi", ":3", ":1")

To get around this, we introduce possible (fake) versions for virtuals,
based on their constraints. Essentially, we add any Versions,
VersionRange endpoints, and all such Versions and endpoints from
VersionLists to the constraint. Virtuals will have one of these synthetic
versions "picked" by the solver. This also allows us to remove a special
case from handling of `version_satisfies/3` -- virtuals now work just
like regular packages.
2021-02-17 17:07:38 -08:00
Todd Gamblin
8f85ab88c0 concretizer: remove rule generation code from concretizer
Our program only generates facts now, so remove all unused code related
to generating cardinality constraints and rules.
2021-02-17 17:07:37 -08:00
Todd Gamblin
247e73e85a concretizer: convert virtuals to facts; move all rules to concretize.lp
This converts the virtual handling in the new concretizer from
already-ground rules to facts. This is the last thing that needs to be
refactored, and it converts the entire concretizer to just use facts.

The previous way of handling virtuals hinged on rules involving
`single_provider_for` facts that were tied to the virtual and a version
range. The new method uses the condition pattern we've been using for
dependencies, externals, and conflicts.

To handle virtuals as conditions, we impose constraints on "fake" virtual
specs in the logic program. i.e., `version_satisfies("mpi", "2.0:",
"2.0")` is legal whereas before we wouldn't have seen something like
this. Currently, constriants are only handled on versions -- we don't
handle variants or anything else yet, but they key change here is that we
*could*. For a long time, virtual handling in Spack has only dealt with
versions, and we'd like to be able to handle variants as well. We could
easily add an integrity constraint to handle variants like the one we use
for versions.

One issue with the implementation here is that virtual packages don't
actually declare possible versions like regular packages do. To get
around that, we implement an integrity constraint like this:

    :- virtual_node(Virtual),
       version_satisfies(Virtual, V1), version_satisfies(Virtual, V2),
       not version_constraint_satisfies(Virtual, V1, V2).

This requires us to compare every version constraint to every other, both
in program generation and within the concretizer -- so there's a
potentially quadratic evaluation time on virtual constraints because we
don't have a real version to "anchor" things to. We just say that all the
constraints need to agree for the virtual constraint to hold.

We can investigate adding synthetic versions for virtuals in the future,
to speed this up.
2021-02-17 17:07:37 -08:00
Todd Gamblin
6056cb71d3 concretizer: consolidate handling of virtuals into spec_clauses 2021-02-17 17:07:36 -08:00
Todd Gamblin
66376ab971 concretizer: make _condtion_id_counter an iterator 2021-02-17 17:07:36 -08:00
Todd Gamblin
9bb0375443 concretizer: more detailed section headers in concretize.lp 2021-02-17 17:07:35 -08:00
Todd Gamblin
56acb5a0c7 bugfix: infinite loop when building a set from incomplete specs (#20649)
This code in `SpecBuilder.build_specs()` introduced in #20203, can loop
seemingly interminably for very large specs:

```python
set([spec.root for spec in self._specs.values()])
```

It's deceptive, because it seems like there must be an issue with
`spec.root`, but that works fine. It's building the set afterwards that
takes forever, at least on `r-rminer`. Currently if you try running
`spack solve r-rminer`, it loops infinitely and spins up your fan.

The issue (I think) is that the spec is not yet complete when this is
run, and something is going wrong when constructing and comparing so many
values produced by `_cmp_key()`. We can investigate the efficiency of
`_cmp_key()` separately, but for now, the fix is:

```python
roots = [spec.root for spec in self._specs.values()]
roots = dict((id(r), r) for r in roots)
```

We know the specs in `self._specs` are distinct (they just came out of
the solver), so we can just use their `id()` to unique them here. This
gets rid of the infinite loop.
2021-02-17 17:07:35 -08:00
Massimiliano Culpo
ec42016241 concretizer: generate facts for externals
Generate only facts for external specs. Substitute the
use of already grounded rules with non-grounded rules
in concretize.lp
2021-02-17 17:07:35 -08:00
Greg Becker
f7195123d4 bugfix: do not write empty default dicts/lists in envs (#20526)
Environment yaml files should not have default values written to them.

To accomplish this, we change the validator to not add the default values to yaml. We rely on the code to set defaults for all values (and use defaulting getters like dict.get(key, default)).

Includes regression test.
2021-02-17 17:07:34 -08:00
Robert Cohn
290043b72a Add Intel oneAPI packages (#20411)
This creates a set of packages which all use the same script to install
components of Intel oneAPI. This includes:

* An inheritable IntelOneApiPackage which knows how to invoke the
  installation script based on which components are requested
* For components which include headers/libraries, an inheritable
  IntelOneApiLibraryPackage is provided to locate them
* Individual packages for DAL, DNN, TBB, etc.
* A package for the Intel oneAPI compilers (icx/ifx). This also includes
  icc/ifortran but these are not currently detected in this PR
2021-02-17 17:07:33 -08:00
Todd Gamblin
1a1babe185 concretizer: refactor conditional rules to be less repetitious (#20507)
We have to repeat all the spec attributes in a number of places in
`concretize.lp`, and Spack has a fair number of spec attributes. If we
instead add some rules up front that establish equivalencies like this:

```
    node(Package) :- attr("node", Package).
    attr("node", Package) :- node(Package).

    version(Package, Version) :- attr("version", Package, Version).
    attr("version", Package, Version) :- version(Package, Version).
```

We can rewrite most of the repetitive conditions with `attr` and repeat
only for each arity (there are only 3 arities for spec attributes so far)
as opposed to each spec attribute. This makes the logic easier to read
and the rules easier to follow.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-02-17 17:07:32 -08:00
Massimiliano Culpo
acd523c7f3 concretizer: optimize loop on compiler version
Similar to the optimization on platform
2021-02-17 17:07:32 -08:00
Massimiliano Culpo
4bbc6eec51 concretizer: optimized loop on node platforms
We can speed-up the computation by avoiding a
double loop in a cardinality constraint and
enforcing the rule instead as an integrity
constraint.
2021-02-17 17:07:31 -08:00
Massimiliano Culpo
cb76c5a90d concretizer: fix failing unit tests 2021-02-17 17:07:31 -08:00
Massimiliano Culpo
ab3f53d781 concretizer: emit facts for integrity constraints 2021-02-17 17:07:30 -08:00
Massimiliano Culpo
364c5b636c concretizer: emit facts for constraints on imposed dependencies 2021-02-17 17:07:30 -08:00
Massimiliano Culpo
02e0ea6105 concretizer: avoid redundant grounding on dependency types 2021-02-17 17:07:30 -08:00
Todd Gamblin
ff9ee9f243 concretizer: move conditional dependency logic into concretize.lp
Continuing to convert everything in `asp.py` into facts, make the
generation of ground rules for conditional dependencies use facts, and
move the semantics into `concretize.lp`.

This is probably the most complex logic in Spack, as dependencies can be
conditional on anything, and we need conditional ASP rules to accumulate
and map all the dependency conditions to spec attributes.

The logic looks complicated, but essentially it accumulates any
constraints associated with particular conditions into a fact associated
with the condition by id. Then, if *any* condition id's fact is True, we
trigger the dependency.

This simplifies the way `declared_dependency()` works -- the dependency
is now declared regardless of whether it is conditional, and the
conditions are handled by `dependency_condition()` facts.
2021-02-17 17:07:29 -08:00
Todd Gamblin
6c6631cfdc concretizer: spec_clauses should traverse dependencies
There are currently no places where we do not want to traverse
dependencies in `spec_clauses()`, so simplify the logic by consolidating
`spec_traverse_clauses()` with `spec_clauses()`.
2021-02-17 17:07:29 -08:00
Todd Gamblin
ea617f807f concretizer: pull _develop_specs_from_env out of main setup loop 2021-02-17 17:07:28 -08:00
Todd Gamblin
d0dfd3cb82 concretizer: add #defined statements to avoid warnings.
`version_satisfies/2` and `node_compiler_version_satisfies/3` are
generated but need `#defined` directives to avoid " info: atom does not
occur in any rule head:" warnings.
2021-02-17 17:07:28 -08:00
Massimiliano Culpo
a4066a52be asp: memoize the list of all target_specs to speed-up setup phase (#20473)
* asp: memoize the list of all target_specs to speed-up setup phase

* asp: memoize using a cache per solver object
2021-02-17 17:07:28 -08:00
Scott Wittenburg
18c5f10ae7 ci: fixes for compiler bootstrapping (#17563)
This PR addresses a number of issues related to compiler bootstrapping.

Specifically:
1. Collect compilers to be bootstrapped while queueing in installer
Compiler tasks currently have an incomplete list in their task.dependents,
making those packages fail to install as they think they have not all their
dependencies installed. This PR collects the dependents and sets them on
compiler tasks.

2. allow boostrapped compilers to back off target
Bootstrapped compilers may be built with a compiler that doesn't support
the target used by the rest of the spec.  Allow them to build with less
aggressive target optimization settings.

3. Support for target ranges
Backing off the target necessitates computing target ranges, so make Spack
handle those properly.  Notably, this adds an intersection method for target
ranges and fixes the way ranges are satisfied and constrained on Spec objects.

This PR also:
- adds testing
- improves concretizer handling of target ranges

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
Co-authored-by: Gregory Becker <becker33@llnl.gov>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-02-17 17:07:27 -08:00
Massimiliano Culpo
d82d2bb2db unit-tests: ensure that installed packages can be reused (#20307)
refers #20292

Added a unit test that ensures we can reuse installed
packages even if in the repository variants have been
removed or added.
2021-02-17 17:07:27 -08:00
Greg Becker
378af922a2 Fix comparisons for abstract specs (#20341)
bug only relevant for python3
2021-02-17 17:07:27 -08:00
Todd Gamblin
12d035b225 concretizer: don't use one_of_iff for range constraints (#20383)
Currently, version range constraints, compiler version range constraints,
and target range constraints are implemented by generating ground rules
from `asp.py`, via `one_of_iff()`.  The rules look like this:

```
version_satisfies("python", "2.6:") :- 1 { version("python", "2.4"); ... } 1.
1 { version("python", "2.4"); ... } 1. :- version_satisfies("python", "2.6:").
```

So, `version_satisfies(Package, Constraint)` is true if and only if the
package is assigned a version that satisfies the constraint. We
precompute the set of known versions that satisfy the constraint, and
generate the rule in `SpackSolverSetup`.

We shouldn't need to generate already-ground rules for this. Rather, we
should leave it to the grounder to do the grounding, and generate facts
so that the constraint semantics can be defined in `concretize.lp`.

We can replace rules like the ones above with facts like this:

```
version_satisfies("python", "2.6:", "2.4")
```

And ground them in `concretize.lp` with rules like this:

```
1 { version(Package, Version) : version_satisfies(Package, Constraint, Version) } 1
  :- version_satisfies(Package, Constraint).
version_satisfies(Package, Constraint)
  :- version(Package, Version), version_satisfies(Package, Constraint, Version).
```

The top rule is the same as before. It makes conditional dependencies and
other places where version constraints are used work properly. Note that
we do not need the cardinality constraint for the second rule -- we
already have rules saying there can be only one version assigned to a
package, so we can just infer from `version/2` `version_satisfies/3`.
This form is also safe for grounding -- If we used the original form we'd
have unsafe variables like `Constraint` and `Package` -- the original
form only really worked when specified as ground to begin with.

- [x] use facts instead of generating rules for package version constraints
- [x] use facts instead of generating rules for compiler version constraints
- [x] use facts instead of generating rules for target range constraints
- [x] remove `one_of_iff()` and `iff()` as they're no longer needed
2021-02-17 17:07:26 -08:00
Massimiliano Culpo
bf3a873a42 package sanity: ensure all variant defaults are allowed values (#20373) 2021-02-17 17:07:26 -08:00
Todd Gamblin
27f6b3df92 concretizer: remove clingo command-line driver (#20362)
I was keeping the old `clingo` driver code around in case we had to run
using the command line tool instad of through the Python interface.

So far, the command line is faster than running through Python, but I'm
working on fixing that.  I found that if I do this:

```python
control = clingo.Control()
control.load("concretize.lp")
control.load("hdf5.lp")       # code from spack solve --show asp hdf5
control.load("display.lp")

control.ground([("base", [])])
control.solve(...)
```

It's just as fast as the command line tool. So we can always generate the
code and load it manually if we need to -- we don't need two drivers for
clingo. Given that the python interface is also the only way to get unsat
cores, I think we pretty much have to use it.

So, I'm removing the old command line driver and other unused code. We
can dig it up again from the history if it is needed.
2021-02-17 17:07:25 -08:00
Tamara Dahlgren
802c5bdff7 Tests: enable re-use of post-install tests in smoke tests (#20298) 2021-02-17 17:07:25 -08:00
Andrew W Elble
ab3f1b10db concretizer: try hard to obtain all needed variant_possible_value()'s (#20102)
Track all the variant values mentioned when emitting constraints, validate them
and emit a fact that allows them as possible values.

This modification ensures that open-ended variants (variants accepting any string 
or any integer) are projected to the finite set of values that are relevant for this 
concretization.
2021-02-17 17:07:24 -08:00
Massimiliano Culpo
30a9e6462f bugfix: work around issue handling packages not in any repo 2021-02-17 17:07:24 -08:00
Todd Gamblin
0e725f0ab1 concretizer: refactor handling of special variants dev_build and patches
Other parts of the concretizer code build up lists of things we can't
know without traversing all specs and packages, and they output these
list at the very end.

The code for this for variant values from spec literals was intertwined
with the code for traversing the input specs. This only covers the input
specs and misses variant values that might come from directives in
packages.

- [x] move ad-hoc value handling code into spec_clauses so we do it in
  one place for CLI and packages

- [x] move handling of `variant_possible_value`, etc. into
  `concretize.lp`, where we can automatically infer variant existence
  more concisely.

- [x] simplify/clarify some of the code for variants in `spec_clauses()`
2021-02-17 17:07:23 -08:00
Robert Maynard
9499dc4a7e VTK-m: update to specify correct requirements to kokkos (#20097) 2021-02-17 17:07:23 -08:00
Massimiliano Culpo
ecfba13d89 concretizer: each external version is allowed by definition (#20247)
Registering external versions among the lists of allowed ones
generates the correct rules for `version_satisfies`
2021-02-17 17:07:22 -08:00
Massimiliano Culpo
a6d433b937 concretizer: restrict maximizing variant values to MV variants (#20194) 2021-02-17 17:07:22 -08:00
Matthias Wolf
b4f79f3cb7 environment installs: fix reporting. (#20004)
PR #15702 changed the invocation of the report context when installing
specs, do the same when building environments.
2021-02-17 17:07:22 -08:00
Greg Becker
30290acf67 avoid circular import (#20236) 2021-02-17 17:07:21 -08:00
Andrew W Elble
92de484228 concretizer: call inject_patches_variants() on the roots of the specs (#20203)
As was done in the old concretizer. Fixes an issue where conditionally
patched dependencies did not show up in spec (gdal+jasper)
2021-02-17 17:07:21 -08:00
Massimiliano Culpo
b78cc5b43d concretizer: try hard to infer the real version of compilers (#20099)
fixes #20055

Compiler with custom versions like gcc@foo are not currently
matched to the appropriate targets. This is because the
version of spec doesn't match the "real" version of the
compiler.

This PR replicates the strategy used in the original
concretizer to deal with that and tries to detect the real
version of compilers if the version in the spec returns no
results.
2021-02-17 17:07:21 -08:00
Harmen Stoppels
571e36787b Fix hipcc once more (#20095) 2021-02-17 17:07:20 -08:00
Massimiliano Culpo
63d75cd089 boost: disable find_package's config mode for boost prior to v1.70.0 (#20198) 2021-02-17 17:07:20 -08:00
Andrew W Elble
598c25b434 concretizer: don't optimize emitting version_satisfies() (#20128)
When all versions were allowed a version_satisfies rule was not emitted,
and this caused conditional directives to fail.
2021-02-17 17:07:19 -08:00
MichaelLaufer
24fb43cc43 Fixes compile time errors (#20006)
Co-authored-by: michael laufer <michael.laufer@toganetworks.com>
2021-02-17 17:07:19 -08:00
Massimiliano Culpo
0b7a22dea2 spec: return early from concretization if a spec is already concrete (#20196) 2021-02-17 17:07:18 -08:00
Massimiliano Culpo
1e1a6f4e30 concretizer: remove ad-hoc rule for external packages (#20193)
fixes #20040

Matching compilers among nodes has been prioritized
in #20020. Selection of default variants has been
tuned in #20182. With this setup there is no need
to have an ad-hoc rule for external packages. On
the contrary it should be removed to prefer having
default variant values over more external nodes in
the DAG.
2021-02-17 17:07:18 -08:00
Massimiliano Culpo
22d7937c50 concretizer: swap priority of selecting provider and default variant (#20182)
refers #20040

Before this PR optimization rules would have selected default
providers at a higher priority than default variants. Here we
swap this priority and we consider variants that are forced by
any means (root spec or spec in depends_on clause) the same as
if they were with a default value.

This prevents the solver from avoiding expected configurations
just because they contain directives like:

depends_on('pkg+foo')

and `+foo` is not the default variant value for pkg.
2021-02-17 17:07:18 -08:00
George Hartzell
96283867d6 Typos: add missing closing parens (#20174) 2021-02-17 17:07:17 -08:00
Massimiliano Culpo
d7ffdd76f6 concretizer: treat target ranges in directives correctly (#19988)
fixes #19981

This commit adds support for target ranges in directives,
for instance:

conflicts('+foo', when='target=x86_64:,aarch64:')

If any target in a spec body is not a known target the
following clause will be emitted:

node_target_satisfies(Package, TargetConstraint)

when traversing the spec and a definition of
the clause will then be printed at the end similarly
to what is done for package and compiler versions.
2021-02-17 17:07:17 -08:00
Massimiliano Culpo
b326d59e10 concretizer: prioritize matching compilers over newer versions (#20020)
fixes #20019

Before this modification having a newer version of a node came
at higher priority in the optimization than having matching
compilers. This could result in unexpected configurations for
packages with conflict directives on compilers of the type:

conflicts('%gcc@X.Y:', when='@:A.B')

where changing the compiler for just that node is preferred to
lower the node version to less than 'A.B'. Now the priority has
been switched so the solver will try to lower the version of the
nodes in question before changing their compiler.
2021-02-17 17:07:16 -08:00
Massimiliano Culpo
0ae49821e2 concretizer: allow a bool to be passed as argument for tests dependencies (#20082)
refers #20079

Added docstrings to 'concretize' and 'concretized' to
document the format for tests.

Added tests for the activation of test dependencies.
2021-02-17 17:07:16 -08:00
Massimiliano Culpo
8e1b5f734f concretizer: treat conditional providers correctly (#20086)
refers #20040

This modification emits rules like:

provides_virtual("netlib-lapack","blas") :- variant_value("netlib-lapack","external-blas","False").

for packages that provide virtual dependencies conditionally instead
of a fact that doesn't account for the condition.
2021-02-17 17:07:16 -08:00
Adam J. Stewart
ad84351c43 Docs: remove duplication in Command Reference (#20021) 2021-02-17 17:07:15 -08:00
Martin Aumüller
508534aad9 recognize macOS 11.1 as big sur (#20038)
Big Sur versions go 11.0, 11.0.1, 11.1 (vs. prior versions that
only used the minor component)

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2021-02-17 17:07:15 -08:00
Adam J. Stewart
cda34ba20a py-ipykernel: fix bug in phase method (#19986)
* py-ipykernel: fix bug in phase method

* Fix bug in executable calling
2021-02-17 17:07:15 -08:00
Greg Becker
38cf4f9fc2 fix error handling for spack test results command (#19987) 2021-02-17 17:07:14 -08:00
Danny Taller
c42ce439e4 hip support for umpire, chai, raja, camp (#19715)
* create HipPackage base class and do some refactoring

* comments and added conflict to raja for openmp with hip
2021-02-17 17:07:14 -08:00
Axel Huebl
d6bd95db2e py-ipykernel: fix install (#19617)
There is a post-install routine in `ipykernel` that needs to be
called for proper registration with jupyter.
2021-02-17 17:07:14 -08:00
Todd Gamblin
77d9acb071 update CHANGELOG.md for v0.16.0 2020-11-18 04:22:09 -08:00
Todd Gamblin
82383093ee bump version number to 0.16.0 2020-11-18 04:22:09 -08:00
Massimiliano Culpo
532fc40e94 clingo: add master branch version (#19958)
* updated @master to point to the master branch
* also added a @spack that points to a fixed commit
2020-11-18 04:21:55 -08:00
Michael Kuhn
20367e472d cmd: add spack mark command (#16662)
This adds a new `mark` command that can be used to mark packages as either
explicitly or implicitly installed. Apart from fixing the package
database after installing a dependency manually, it can be used to
implement upgrade workflows as outlined in #13385.

The following commands demonstrate how the `mark` and `gc` commands can be
used to only keep the current version of a package installed:
```console
$ spack install pkgA
$ spack install pkgB
$ git pull # Imagine new versions for pkgA and/or pkgB are introduced
$ spack mark -i -a
$ spack install pkgA
$ spack install pkgB
$ spack gc
```

If there is no new version for a package, `install` will simply mark it as
explicitly installed and `gc` will not remove it.

Co-authored-by: Greg Becker <becker33@llnl.gov>
2020-11-18 03:20:56 -08:00
Greg Becker
77b2e578ec spack test (#15702)
Users can add test() methods to their packages to run smoke tests on
installations with the new `spack test` command (the old `spack test` is
now `spack unit-test`). spack test is environment-aware, so you can
`spack install` an environment and then run `spack test run` to run smoke
tests on all of its packages. Historical test logs can be perused with
`spack test results`. Generic smoke tests for MPI implementations, C,
C++, and Fortran compilers as well as specific smoke tests for 18
packages.

Inside the test method, individual tests can be run separately (and
continue to run best-effort after a test failure) using the `run_test`
method. The `run_test` method encapsulates finding test executables,
running and checking return codes, checking output, and error handling.

This handles the following trickier aspects of testing with direct
support in Spack's package API:

- [x] Caching source or intermediate build files at build time for
      use at test time.
- [x] Test dependencies,
- [x] packages that require a compiler for testing (such as library only
      packages).

See the packaging guide for more details on using Spack testing support.
Included is support for package.py files for virtual packages. This does
not change the Spack interface, but is a major change in internals.

Co-authored-by: Tamara Dahlgren <dahlgren1@llnl.gov>
Co-authored-by: wspear <wjspear@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-18 02:39:02 -08:00
sameershende
b81bbfb6e9 Added -level_zero -rocm -opencl flags and sha256 for TAU v2.30. (#19962)
* Added -level_zero -rocm -opencl flags and sha256 for TAU v2.30.

* Removed the depends_on clause for OpenCL and added a variant for OneAPI level_zero.

* remove depends_on rocm

* remove depends_on rocprofiler

Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com>
2020-11-17 19:09:24 -08:00
Massimiliano Culpo
89181f253b Improve warning message for deprecated attributes in "packages.yaml"
The deprecatedProperties custom validator now can accept a function
to compute a better error message.

Improve error/warning message for deprecated properties
2020-11-17 17:34:27 -08:00
Peter Scheibel
c9ad2affcc Documentation: spack load/environments prefix inspections (#19961)
As of #18260, `spack load` and `spack env activate` now use
`prefix_inspections` from the modules configuration to decide
how to modify environment variables.

This updates the modules configuration documentation to describe
how to update environment variables with the `prefix_inspections`
section. This also updates the `spack load` and environments
documentation to refer to the new `prefix_inspections` documentation.
2020-11-17 15:24:00 -08:00
Dr. Christian Tacke
d65f078f66 spack load/environments: allow customization of prefix inspections (#18260)
`spack load` and `spack env activate` now use the prefix inspections
defined in `modules.yaml`. This allows users to customize/override
environment variable modifications if desired.

If no `prefix_inspections` configuration is present, Spack uses the
values in the default configuration.
2020-11-17 14:04:13 -08:00
Massimiliano Culpo
5f636fc317 spack containerize: allow users to customize the base image (#15028)
This PR reworks a few attributes in the container subsection of
spack.yaml to permit the injection of custom base images when
generating containers with Spack. In more detail, users can still
specify the base operating system and Spack version they want to use:

  spack:
    container:
      images:
        os: ubuntu:18.04
        spack: develop

in which case the generated recipe will use one of the Spack images
built on Docker Hub for the build stage and the base OS image in the
final stage. Alternatively, they can specify explicitly the two
base images:

  spack:
    container:
      images:
        build: spack/ubuntu-bionic:latest
        final: ubuntu:18.04

and it will be up to them to ensure their consistency.

Additional changes:

* This commit adds documentation on the two approaches.
* Users can now specify OS packages to install (e.g. with apt or yum)
  prior to the build (previously this was only available for the
  finalized image).
* Handles to avoid an update of the available system packages have been
  added to the configuration to facilitate the generation of recipes
  permitting deterministic builds.
2020-11-17 11:25:13 -08:00
Massimiliano Culpo
7ffad278d3 concretizer: modified weights for providers and matching for externals
This commit address the case of concretizing a root spec with a
transitive conditional dependency on a virtual package, provided
by an external. Before these modifications default variant values
for the dependency bringing in the virtual package were not
respected, and the external package providing the virtual was added
to the DAG.

The issue stems from two facts:
- Selecting a provider has higher precedence than selecting default variants
- To ensure that an external is preferred, we used a negative weight

To solve it we shift all the providers weight so that:
- External providers have a weight of 0
- Non external provider have a weight of 10 or more

Using a weight of zero for external providers is such that having
an external provider, if present, or not having a provider at all
has the same effect on the higher priority minimization.

Also fixed a few minor bugs in concretize.lp, that were causing
spurious entries in the final answer set.

Cleaned concretize.lp from leftover rules.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
ca31f52be3 concretizer: maximize the number of default values used for a single variant
If a the default of a multi-valued variant is set to
multiple values either in package.py or in packages.yaml
we need to ensure that all the values are present in the
concretized spec.

Since each default value has a weight of 0 and the
variant value is set implicitly by the concretizer
we need to add a rule to maximize on the number of
default values that are used.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
9a03fd2834 concretizer: don't require a provider for virtual deps if spec is external
This commit introduces a new rule:

real_node(Package) :- not external(Package), node(Package).

that permits to distinguish between an external node and a
real node that shouldn't trim dependency. It solves the
case of concretizing ninja with an external Python.
2020-11-17 10:04:13 -08:00
Todd Gamblin
44aa94a210 concretizer: spec_clauses() shouldn't emit node_compiler_hard for rule bodies.
`node_compiler_hard()` means that something explicitly asked for a node's
compiler to be set -- i.e., it's not inherited, it's required. We're
generating this in spec_clauses even for specs in rule bodies, which
results in conditions like this for optional dependencies:

In py-torch/package.py:

    depends_on('llvm-openmp', when='%apple-clang +openmp')

In the generated ASP:

    declared_dependency("py-torch","llvm-openmp","build")
      :- node("py-torch"),
         variant_value("py-torch","openmp","True"),
         node_compiler("py-torch","apple-clang"),
         node_compiler_hard("py-torch","apple-clang"),
         node_compiler_version_satisfies("py-torch","apple-clang",":").

The `node_compiler_hard` there means we would have to *explicitly* set
py-torch's compiler to trigger the llvm-openmp dependency, rather than
just letting it be set by preferences. This is wrong; the dependency
should be there regardless of how the compiler was set.

- [x] remove fn.node_compiler_hard() call from spec_clauses when
      generating rule body clauses.
2020-11-17 10:04:13 -08:00
Todd Gamblin
0620d954f5 concretizer: don't generate rules for empty version lists
If the version list passed to one_of_iff is empty, it still generates a
rule like this:

    node_compiler_version_satisfies("fujitsu-mpi", "arm", ":") :- 1 {  } 1.
    1 {  } 1 :- node_compiler_version_satisfies("fujitsu-mpi", "arm", ":").

The cardinality rules on the right and left above are never
satisfiale, and these rules do nothing.

- [x] Skip generating any rules at all for empty version lists.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
2231dfc898 concretizer: add a rule to avoid cycles in the graph of dependencies 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
522be6cadf External packages have a consistent hash across different concretizers 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
5c5a44988e Don't fail if MV variants have a tuple as default value 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
1b0338befb Fixup for target preferences 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
e0ae60edc4 Added unit tests to for regressions on open concretizer bugs 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
63327d1eea Changed clingo options 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
577676106c Reworked optimization rules 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
6baa8157c7 concretizer: set target preference for inheritance from root 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
ccb537479a install: one less concretization when installing from file 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
27bb970a97 Fixed branch after rebase (port to archspec)
TODO: Investigate the need to remove
memoization on Spec.patches (infinite
recursion when testing `__contains__`)
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
930b05fab4 Add unit tests for dependencies being patched by parent 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
e226523aeb concretizer: handle dependencies conditional on other dependencies 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
e7208b1598 tests: verify to handle dependencies conditional on other dependencies 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
d00e8394f8 concretizer: handle conflicts with compiler ranges correctly
As reported, conflicts with compiler ranges were not treated
correctly. This commit adds tests to verify the expected behavior
for the new concretizer.

The new rules to enforce a correct behavior involve:
- Adding a rule to prefer the compiler selected for
  the root package, if no other preference is set
- Give a strong negative weight to compiler preferences
  expressed in packages.yaml
- Maximize on compiler AND compiler version match
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
0a56b7cfd6 Github actions: add CI for ASP based solver 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
7753d58e7e Make all tests pass
Fixed a couple of tests and marked a few xfails
to solve them later.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
8a855ddac5 concretizer: added handling for dev_path variant
This variant is currently either set from command line, in
which case it enters the concretization, or attached from
environment after concretization.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
a0e8ad7a8b concretizer: ensure upfront that variants are valid 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
ae1ef85af5 concretizer: account for test dependencies only when required 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
346beedfd4 Fix installer.py unit tests that check output 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
87c87ff767 Compute the correct package name for hierarchies that change class names 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
116f6b30eb concretizer: handle variants defined through validators
Variant of this kind don't have a list of possible
values encoded in the ASP facts. Since all we have
is a validator the list of possible values just includes
just the default value and possibly the value passed
from packages.yaml or cli.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
ada2fa36a9 concretizer: account for patches variant
This is done after the builder has actually built
the specs, to respect the semantics use with the
old concretizer.

Later we could move this to the solver as
a multivalued variant.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
a1fe88c95b concretizer: ensure that no deprecated spec is being used
This is done after the builder has actually built
the specs, to respect the semantics use with the
old concretizer.

A better approach is to substitute the spec
directly in concretization.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
58683b9e56 conftest: hook the new solver in the config fixture 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
3e4fd64169 concretizer: handle "none" value and '*' wildcard
The "none" variant value cannot be combined with
other values.

The '*' wildcard matches anything, including "none".
It's thus relevant in queries, but disregarded in
concretization.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
8b055ac8d8 Fixed failing unit tests
- The test on concretization of anonymous dependencies
  has been fixed by raising the expected exception.
- The test on compiler bootstrap has been fixed by
  updating the version of GCC used in the test.
  Since gcc@2.0 does not support targets later than
  x86_64, the new concretizer was looking for a
  non-existing spec, i.e. it was correctly trying
  to retrieve 'gcc target=x86_64' instead of
  'gcc target=core2'.
- The test on gitlab CI needed an update of the target
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
c047495981 concretizer: virtual entry in packages.yaml, external modules
This commit adds support for specifying rules in
packages.yaml that refer to virtual packages.

The approach is to normalize in memory each
configuration and turn it into an equivalent
configuration without rules on virtual. This
is possible if the set of packages to be handled
is considered fixed.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
4fe527cd3b concretizer: concretize a virtual root
Before this modification the root of a DAG has to be
a real package. This commit adds rules to concretize
virtual roots.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
1b115e200b concretizer: handle version preferences from packages.yaml 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
9c23ed6484 concretizer: handle target preferences from packages.yaml
The weight of the target used in concretization is, in order:
1. A specific per package weight, if set in packages.yaml
2. Inherited from the parent, if possible
3. The default target weight (always set)
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
67344326c3 concretizer: fixed test on compiler preferences 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
d4b83daa48 concretizer: added logic for preferred variants
If preferred variants are present, they'll
set the default value of a variant. Otherwise
the default value is what is encoded
in package.py
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
81c7cf45e1 concretizer: refine compiler logic
Concrete versions for compilers are respected
verbatim.

Permit to use a non-existing compiler if the
appropriate configuration option has been
set.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
c065245f14 Fixed failing unit tests
- Tests based on TestArchitecture
- Tests on non-buildable external
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
2ea8bd0b19 concretizer: prefer using the same compiler over using newer versions 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
28afdb9530 concretizer: added support for versioned virtual specs 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
48eb50921a concretizer: added rules and code for externals
Generate facts on externals by inspecting
packages.yaml. Added rules in concretize.lp

Added extra logic so that external specs
disregard any conflict encoded in the
package.

In ASP this would be a simple addition to
an integrity constraint:

:- c1, c2, c3, not external(pkg)

Using the the Backend API from Python it
requires some scaffolding to obtain a default
negated statement.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
b92659c3bf package_sanity: fixed wrong string format 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
1cdee03c4b concretizer: add conflict rules from packages
Conflict rules from packages are added as integrity
constraints in the ASP formulation. Most of the code
to generate them has been reused from PyclingoDriver.rules
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
2595b58503 test_noversion_pkg: generalized the error to be caught
The new concretizer and the old concretizer solve constraints
in a different way. Here we ensure that a SpackError is raised,
instead of a specific error that made sense in the old concretizer
but probably not in the new.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
aaa75b831f compiler constraints: deduplicate the list of compilers before encoding one_of_iff rules
This fixes 8 bugs in test/concretize.py
2020-11-17 10:04:13 -08:00
Todd Gamblin
e56f90c3ef concretizer: add compiler version constraints
Add rules to account for compiler version
constraints in concretize.lp.
2020-11-17 10:04:13 -08:00
Todd Gamblin
115384afbd concretizer: use cardinality constraints for versions
Instead of python callbacks, use cardinality constraints for package
versions. This is slightly faster and has the advantage that it can be
written to an ASP program to be executed *outside* of Spack. We can use
this in the future to unify the pyclingo driver and the clingo text
driver.

This makes use of add_weight_rule() to implement cardinality constraints.
add_weight_rule() only has a lower bound parameter, but you can implement
a strict "exactly one of" constraint using it. In particular, wee want to
define:

    1 {v1; v2; v3; ...} 1 :- version_satisfies(pkg, constraint).
    version_satisfies(pkg, constraint) :- 1 {v1; v2; v3; ...} 1.

And we do that like this, for every version constraint:

    atleast1(pkg, constr) :- 1 {version(pkg, v1); version(pkg, v2); ...}.
    morethan1(pkg, constr) :- 2 {version(pkg, v1); version(pkg, v2); ...}.
    version_satisfies(pkg, constr) :- atleast1, not morethan1(pkg, constr).
    :- version_satisfies(pkg, constr), morethan1.
    :- version_satisfies(pkg, constr), not atleast1.

v1, v2, v3, etc. are computed on the Python side by comparing every
possible package version with the constraint.

Computing things like this has the added advantage that if v1, v2, v3,
etc. comprise *all* possible versions of a package, we can just omit the
rules for the constraint under consideration. This happens pretty
frequently in the Spack mainline.
2020-11-17 10:04:13 -08:00
Todd Gamblin
0ed019d4ef concretizer: first working version with pyclingo interface
- [x] Solver now uses the Python interface to clingo
- [x] can extract unsatisfiable cores from problems when things go wrong
- [x] use Python callbacks for versions instead of choice rules (this may
      ultimately hurt performance)
2020-11-17 10:04:13 -08:00
Todd Gamblin
14ab63f97c concretizer: add a configuration option to use new or old concretizer
- [x] spec.py can call out to the new concretizer
- [x] config.yaml now has an option to choose a concretizer (original, clingo)
2020-11-17 10:04:13 -08:00
Todd Gamblin
2dd06f14f9 concretizer: use repository names, not specs with is_virtual 2020-11-17 10:04:13 -08:00
Todd Gamblin
ac9405a80e concretizer: refactor to support multiple solver backends
There are now three parts:

- `SpackSolverSetup`
  - Spack-specific logic for generating constraints. Calls methods on
    `AspTextGenerator` to set up the solver with a Spack problem. This
    shouln't change much from solver backend to solver backend.

- ClingoDriver
  - The solver driver provides methods for SolverSetup to generates an ASP
    program, send it to `clingo` (run as an external tool), and parse the
    output into function tuples suitable for `SpecBuilder`.
  - The interface is generic and should not have to change much for a
    driver for, say, the Clingo Python interface.

- SpecBuilder
  - Builds Spack specs from function tuples parsed by the solver driver.
2020-11-17 10:04:13 -08:00
Todd Gamblin
5bb83be827 concretizer: set spec constraints correctly for body and head 2020-11-17 10:04:13 -08:00
Todd Gamblin
cd55fd4bd3 concretizer: allow non-default OS, inherit OS along dependencies 2020-11-17 10:04:13 -08:00
Todd Gamblin
51cb49743e tests: add framework to mock targets 2020-11-17 10:04:13 -08:00
Todd Gamblin
43e7255e19 concretizer: split platforms, OS, and targets apart in Python and ASP 2020-11-17 10:04:13 -08:00
Todd Gamblin
cb919c2e39 concretizer: targets are inherited like compilers 2020-11-17 10:04:13 -08:00
Todd Gamblin
afa74ea155 concretizer: change single-letter variables to descriptive names
The original implementation was difficult to read, as it only had
single-letter variable names.  This converts all of them to descriptive
names, e.g., P -> Package, V -> Virtual/Version/Variant, etc.
2020-11-17 10:04:13 -08:00
Todd Gamblin
35ae4c0ddd concretizer: handle compiler existence check settings
To handle unknown compilers propely in tests (and elsewhere), we need to
add unknown compilers from the spec to the list of possible compilers.

Rework how the compiler list is generated and includes compilers from
specs if the existence check is disabled.
2020-11-17 10:04:13 -08:00
Todd Gamblin
3b648c294e concretizer: add initial package existence check 2020-11-17 10:04:13 -08:00
Todd Gamblin
520b71e89b concretizer: handle virtual spec constraints better
Specs like hdf5 ^mpi were unsatisfiable because we added a requierment
for `node("mpi").`.  This can't be resolved because "mpi" is not a
package.

- [x] Introduce `virtual_node()`, which says *some* provider must be in
      the DAG.
2020-11-17 10:04:13 -08:00
Todd Gamblin
3ef7c06a48 concretizer: solve with compiler flags but preserve order
This adds compiler flags to the ASP solve so that we can have conditions
based on them in the solve.  But, it keeps order out of the solve to
avoid unneeded complexity and combinatorial explosions.

The solver determines which flags are on a spec, but the order is
determined by DAG precedence (childrens' flags take precedence over
parents' and are added on the right) and order (order flags were
specified on the command line is respected).

The solver is responsible for determining when to propagate flags, when
to inheit them from other nodes, when to take them from compiler
preferences, etc.
2020-11-17 10:04:13 -08:00
Todd Gamblin
7a1b5ca65e concretizer: add timers around phases 2020-11-17 10:04:13 -08:00
Todd Gamblin
5185ed1d28 concretizer: optimize microarchitectures, constrained by compiler support
Weight microarchitectures and prefers more rercent ones.  Also disallow
nodes where the compiler does not support the selected target.

We should revisit this at some point as it seems like if I play around
with the compiler support for different architectures, the solver runs
very slowly.  See notes in comments -- the bad case was gcc supporting
broadwell and skylake with clang maxing out at haswell.
2020-11-17 10:04:13 -08:00
Todd Gamblin
71726a9b33 concretizer bugfix: require at least one value for multi-value variants
We didn't have a cardinality constraint for multi-valued variants, so the
solver wasn't filling them in.

- [x] add a requirement for at least one value for multi-valued variants
2020-11-17 10:04:13 -08:00
Todd Gamblin
309ae856ab commands: add --json argument to spack solve 2020-11-17 10:04:13 -08:00
Todd Gamblin
cb8ca505ef concretizer: make some rules into facts 2020-11-17 10:04:13 -08:00
Todd Gamblin
810542d4fe concretizer bugfix: all variants need possible values
Variants like `cpu_target` on `openblas` don't have defineed values, but
they have a default.  Ensure that the default is always a possible value
for the solver.
2020-11-17 10:04:13 -08:00
Todd Gamblin
9b1f05df00 concretizer bugfix: fix generations of conditionals for dependencies
Spack was generating the same dependency connstraints twice in the output ASP:

```
declared_dependency("abinit", "hdf5", "link")
    :- node("abinit"),
       variant_value("abinit", "mpi", "True"),
       variant_value("abinit", "mpi", "True").
```

This was because `AspFunction` was modifying itself when called.

- [x] fix `AspFunction` so that every call returns a new object
2020-11-17 10:04:13 -08:00
Todd Gamblin
e31be3da56 concretizer bugfix: *at most* one provider for any virtual 2020-11-17 10:04:13 -08:00
Todd Gamblin
04295f6531 concretizer: optimized for preferred virtuals before recent versions 2020-11-17 10:04:13 -08:00
Todd Gamblin
f365373a3d concretizer: handle compiler preferences with optimization
- [x] Add support for packages.yaml and command-line compiler preferences.
- [x] Rework compiler version propagation to use optimization rather than
  hard logic constraints
2020-11-17 10:04:13 -08:00
Todd Gamblin
1859ff31c9 concretizer: deterministic order for asp output for better diffs
Technically the ASP output order does not matter, but it's hard to diff
two different solve fomulations unless we order it.

- [x] make sure ASP output is emitted in a deterministic order (by
      sorting all hash keys)
2020-11-17 10:04:13 -08:00
Todd Gamblin
36dae9ee05 concretizer: rename --dump to --show 2020-11-17 10:04:13 -08:00
Todd Gamblin
da215b50a3 concretizer: handle package namespaces 2020-11-17 10:04:13 -08:00
Todd Gamblin
4d34363c1d concretizer: handle constraints on dependencies, adjust optimization
This needs more thought, as I am pretty sure the weights are not correct.
Or, at least, I'm not convinced that they do what we want in all cases.
See note in concretize.lp.
2020-11-17 10:04:13 -08:00
Todd Gamblin
db62b00d58 concretizer: handle dependency types 2020-11-17 10:04:13 -08:00
Todd Gamblin
cde10692b0 concretizer: prioritize versions by package pref, newest, preferred, actual
Solver now prefers newer versions like the old concretizer.  Prefer
package preferences from packages.yaml, preferred=True, package
definition, and finally each version itself.
2020-11-17 10:04:13 -08:00
Todd Gamblin
18fba433f6 concretizer: Use "competition" output format to avoid extra parsing
Competition output only prints out one model, so we do not have to
unnecessarily parse all the non-optimal models.  We'll just look at the
best model and bring that in.

In practice, this saves a lot of JSON parsing and spec construction time.
2020-11-17 10:04:13 -08:00
Todd Gamblin
b4e6d9d28e concretizer: handle virtual provider preferences from packages.yaml 2020-11-17 10:04:13 -08:00
Todd Gamblin
36ec66d997 concretizer: use clingo json output instead of text
Clingo actually has an option to output JSON -- use that instead of
parsing the raw otuput ourselves.

This also allows us to pick the best answer -- modify the parser to
*only* construct a spec for that one rather than building all of them
like we did before.
2020-11-17 10:04:13 -08:00
Todd Gamblin
a332981f2f concretizer: require only one provider for any virtual in the DAG 2020-11-17 10:04:13 -08:00
Todd Gamblin
501cb371c9 concretizer: handle variant defaults with optimization
- Instead of using default logic, handle variant defaults by minimizing
  the number of non-default variants in the solution.

- This actually seems to be pretty fast, and it fixes the long-standing
  issue that writing this:

      spack install hdf5 ^mpich

  will fail if you don't specify hdf5+mpi.  With optimization and
  allowing enums to be enumerated, the solver seems to be able to quickly
  discover that +mpi is the only way hdf5 can depend on mpich, and it
  forces the switch to be thrown.
2020-11-17 10:04:13 -08:00
Todd Gamblin
1cab1b1994 concretizer: support conditional dependencies 2020-11-17 10:04:13 -08:00
Todd Gamblin
51af590e64 variants: allow MultiValuedVariants to be constructed incrementally 2020-11-17 10:04:13 -08:00
Todd Gamblin
be10568a6a concretizer: initial support for virtual dependencies
Add initial support for virtual dependencies.  Solver now knows about all
virtuals and can choose one to resolve a dependency.
2020-11-17 10:04:13 -08:00
Todd Gamblin
3f93553a08 concretizer: print out virtuals 2020-11-17 10:04:13 -08:00
Todd Gamblin
8a6207aa70 concretizer: handle versions with choice construct rather than conflicts
Use '1 { version(x); version(y); version(z) } 1.' instead of declaring
conflicts for non-matching versions.  This keeps the sense of version
clauses positive, which will allow them to be used more easily in
conditionals later.

Also refactor `spec_clauses()` method to return clauses that can be used
in conditions, etc. instead of just printing out facts.
2020-11-17 10:04:13 -08:00
Todd Gamblin
6e31430bec concretizer: add another definition pragma.
- single_value_variant may not be defined by the generated program.  Mark
  it to avoid warnings.
2020-11-17 10:04:13 -08:00
Todd Gamblin
a81258663c concretizer: cleanup 2020-11-17 10:04:13 -08:00
Todd Gamblin
6bbc64555b concretizer: use conditional literals for versions. 2020-11-17 10:04:13 -08:00
Todd Gamblin
4288639770 concretizer: mark depends_on/2 defined for solves without dependencies. 2020-11-17 10:04:13 -08:00
Todd Gamblin
60cf3fdb34 concretizer: add basic semantics for compilers
- This handles setting the compiler and falling back to a default
  compiler, as well as providing default values for compilers/compiler
  versions.

- Versions still aren't quite right -- you can't properly override
  versions on compiler specs.
2020-11-17 10:04:13 -08:00
Todd Gamblin
f7dce19754 concretizer: simplify and move architecture semantics into concretize.lp
- Model architecture default settings and propagation off of variants

- Leverage ASP default logic to set architecture to default if it's not
  set otherwise.

- Move logic out of Python and into concretize.lp as first-order rules.
2020-11-17 10:04:13 -08:00
Todd Gamblin
34ea3d20cf concretizer: break output up into easier-to-understand sections 2020-11-17 10:04:13 -08:00
Todd Gamblin
d94d957536 concretizer: simplify and suppress warnings for variant handling
We are relying on default logic in the variant handling in that we set a
default value if we never see `variant_set(P, V, X)`.

- Move the logic for this into `concretize.lp` instead of generating it
  for every package.

- For programs that don't have explicit variant settings, clingo warns
  that variant_set(P, V, X) doesn't appear in any rule head, because a
  setting is never generated.

  - Specifically suppress this warning.
2020-11-17 10:04:13 -08:00
Todd Gamblin
b171ac5050 concretizer: split long lines in ASP programs 2020-11-17 10:04:13 -08:00
Todd Gamblin
573a2612dc concretizer: split main logic program out into files
- Add `concretize.lp` and `display.lp` as independent files
- Dump them instead of embedded strings
2020-11-17 10:04:13 -08:00
Todd Gamblin
8bc1092f41 concretizer: colorize ASP output 2020-11-17 10:04:13 -08:00
Todd Gamblin
3637b611a7 concretizer: move dump logic into solver.asp
- moving the dump logic into spack.solver.asp.solve() allows us to print
  out useful debug info sooner

- prior approach required a successful solve to print out anyhting.
2020-11-17 10:04:13 -08:00
Todd Gamblin
81e187e410 concretizer: first rudimentary round-trip with asp-based solver 2020-11-17 10:04:13 -08:00
Todd Gamblin
c7812f7e10 concretizer: add rudimentary variants with defaults to ASP solve 2020-11-17 10:04:13 -08:00
Todd Gamblin
a8a6d943d6 concretizer: beginnings of solve() command
- `spack solve` command outputs a really basic ASP program that handles
  unconditional dependencies, architecture and versions

- doesn't yet handle conflicts, picking latest versions, preferred
  versions, compilers, etc.

- doesn't handle variants
2020-11-17 10:04:13 -08:00
Todd Gamblin
5b725a37bc repo: Add all_package_classes() method.
- We were able to get names and instances previously
- Add a convenience function to get package classes
2020-11-17 10:04:13 -08:00
Themos Tsikas
72bc6cdf61 Build 7036 of Nag Fortran Compiler (#19954)
updated sha256sum of download .tgz
2020-11-17 11:14:22 -06:00
Robert Underwood
f359664493 include share/pkgconfig in user environments (#19909)
According to the documentation for spack and pkg-config,
$view/share/pkgconfig should also be a valid place to look
for package config files.  This commit ensures that when
spack activate env $dir is called, the environment has this
directory in PKG_CONFIG_PATH.
2020-11-17 11:10:28 -06:00
t-nojiri
7562e53a5a clfft: Fix for aarch64 (#19873)
* clfft: Fix for aarch64

* clfft: Changed the patch application conditions.

* clfft: Changed Patch file
2020-11-17 09:59:14 -06:00
Keita Iwabuchi
8ba0ee7a0e Metall package: add v0.7 (#19950)
* Metall: add version 0.2

* Add Metall v0.3

* Update Metall package to v0.4 and v0.5.

* Metall package: add v0.6

* Metall package: add v0.7
2020-11-17 09:58:36 -06:00
Tamara Dahlgren
6fa6af1070 Support parallel environment builds (#18131)
As of #13100, Spack installs the dependencies of a _single_ spec in parallel.
Environments, when installed, can only get parallelism from each individual
spec, as they're installed in order.  This PR makes entire environments build
in parallel by extending Spack's package installer to accept multiple root
specs.  The install command and Environment class have been updated to use
the new parallel install method.

The specs and kwargs for each *uninstalled* package (when not force-replacing
installations) of an environment are collected, passed to the `PackageInstaller`,
and processed using a single build queue.

This introduces a `BuildRequest` class to track install arguments, and it
significantly cleans up the code used to track package ids during installation.
Package ids in the build queue are now just DAG hashes as you would expect,

Other tasks:

- [x] Finish updating the unit tests based on `PackageInstaller`'s use of
      `BuildRequest` and the associated changes
- [x] Change `environment.py`'s `install_all` to use the `PackageInstaller` directly
- [x] Change the `install` command to leverage the new installation process for multiple specs
- [x] Change install output messages for external packages, e.g.:
       `[+] /usr` -> `[+] /usr (external bzip2-1.0.8-<dag-hash>`
- [x] Fix incomplete environment install's view setup/update and not confirming all 
       packages are installed (?)
- [x] Ensure externally installed package dependencies are properly accounted for in 
       remaining build tasks
- [x] Add tests for coverage (if insufficient and can identity the appropriate, uncovered non-comment lines)
- [x] Add documentation
- [x] Resolve multi-compiler environment install issues
- [x] Fix issue with environment installation reporting (restore CDash/JUnit reports)
2020-11-17 02:41:07 -08:00
Wouter Deconinck
423e80af23 spack edit: accept readonly packages (#19949) 2020-11-16 17:14:46 -08:00
Scott Wittenburg
ef0a555ca2 pipelines: support testing PRs from forks (#19248)
This change makes improvements to the `spack ci rebuild` command
which supports running gitlab pipelines on PRs from forks.  Much
of this has to do with making sure we can run without the secrets
previously required for running gitlab pipelines (e.g signing key,
aws credentials, etc).  Specific improvements in this PR:

Check if spack has precisely one signing key, and use that information
as an additional constraint on whether or not we should attempt to sign
the binary package we create.

Also, if spack does not have at least one public key, add the install
option "--no-check-signature"

If we are running a pipeline without any profile or environment
variables allowing us to push to S3, the pipeline could still
successfully create a buildcache in the artifacts and move on.  So
just print a message and move on if pushing either the buildcache
entry or cdash id file to the remote mirror fails.

When we attempt to generate a pacakge or gpg key index on an S3
mirror, and there is nothing to index, just print a warning and
exit gracefully rather than throw an exception.

Support the use of PR-specific mirrors for temporary binary pkg
storage.  This will allow quality-of-life improvement for developers,
providing a place to store binaries over the lifetime of a PR, so
that they must only wait for packages to rebuild from source when
they push a new commit that causes it to be necessary.

Replace two-pass install with a single pass and the new option:
 --require-full-hash-match.  Doing this also removes the need to
save a copy of the spack.yaml to be copied over the one spack
rewrites in between the two spack install passes.

Work around a mirror configuration issue caused by using
spack.util.executable to do the package installation.

* Update pipeline trigger jobs for PRs from forks

Moving to PRs from forks relies on external synchronization script
pushing special branch names.  Also secrets will only live on the
spack mirror project, and must be propagated to the E4S project via
variables on the trigger jobs.

When this change is merged, pipelines will not run until we update
the "Custom CI configuration path" in the Gitlab CI Settings, as the
name of the file has changed to better reflect its purpose.

* Arg to MirrorCollection is used exclusively, so add main remote mirror to it

* Compute full hash less frequently

* Add tests covering index generation error handling code
2020-11-16 15:16:24 -08:00
vvolkl
ee5ae14a3b [xerces-c] add netaccessor variant, new version (#19927)
* [xerces-c] add netaccessor variant, new version

* [geant4] add xerces-c netaccessor requirement

* [xerces-c] format
2020-11-16 16:12:53 -06:00
Wouter Deconinck
8752fc5872 [pythia6] needs CFLAGS/FFLAGS=-fcommon when %gcc@10: (#19947) 2020-11-16 16:12:20 -06:00
Jordan Ogas
385f5b8c53 node-js add gcc 4.8 conflict (#19945)
* add gcc 4.8 conflict

* commit suggestion

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-16 16:11:26 -06:00
eugeneswalker
81a7ae2c27 llvm: add variant: llvm_dylib (LLVM_BUILD_LLVM_DYLIB:Bool) (#19701) 2020-11-16 14:10:20 -08:00
Phil Tooley
42008e532f WRF: Add version 3.9.1.1 and improve recipe robustness (#19882)
* Add WRF 3.9.1.1 and improve recipe robustness

* Include version 3.9.1.1 as common benchmarking workload
* Fix compilation against recent glibc (detect spack installed libtirpc)
* Detect and handle failed compilation (upstream use make -i)

* WRF: PR changes round 1
fix build jobs
fix maintainers
fix pkgconfig dependency
use Executable to run compile stage
repair some overzealous autoformatting by black

* WRF: make recipe py26 compatible

* wrf: recipe review changes round 2

* more python 26 fixes
2020-11-16 15:56:39 -06:00
Dr. Christian Tacke
8d50427c45 vgm: Switch all URLs to https (#19943) 2020-11-16 13:31:53 -06:00
Hadrien G
c512d0f408 [acts] Add versions 1.2.1 and 2.0.0 (#19936) 2020-11-16 13:28:55 -06:00
Ruben Di Battista
1fb8ae42e0 texlive: Fix install of @live version (#19941)
The unattended install using the pre-compiled binaries (tl-install)
needs a .profile file or it goes in interactive mode blocking the
install process forever
2020-11-16 13:26:31 -06:00
Satish Balay
6142ab56c7 Trilinos: update 13.0.1 (#19944) 2020-11-16 13:55:48 -05:00
Andreas Baumbach
a8fccdbddd add new version py-wavelets@1.1.1 (#19930)
* add new version py-wavelets@1.1.1

* also update dependencies

* Update package.py
2020-11-16 10:41:17 -06:00
t-nojiri
793af74eb4 graphmap: Fix for aarch64 (#19935) 2020-11-16 10:41:00 -06:00
Matthieu Dorier
59d0c17654 Added new versions for the py-attrs package (#19938) 2020-11-16 10:39:49 -06:00
vvolkl
b6843e1a82 [dd4hep] switch to ninja generator to avoid running out of memory … (#19940)
* [dd4hep] switch to ninja generator to avoid running out of memory while compiling ddparsers

* [dd4hep] format
2020-11-16 10:38:50 -06:00
Dr. Christian Tacke
0aa55d426c vmc: Add Version 1-0-p3 (#19942) 2020-11-16 10:36:32 -06:00
Andreas Baumbach
6aaa44c929 add new version py-tifffile@2020.10.1 (#19929)
* add new version py-tifffile@2020.10.1

* also update dependencies

* Update package.py
2020-11-16 10:08:40 -06:00
Tomoki, Karatsu
9c4733ab59 py-numpy: Add Fujitsu Fortran compiler to compiler type. (#19858)
* py-numpy: Add Fujitsu Fortran compiler to compiler type.

py-scipy: Specify Fujitsu to fcompiler types.

* Create patches applicable to each version.
2020-11-16 10:05:45 -06:00
Dr. Christian Tacke
5e904e37bb singularity: added v3.6.4 (#19939) 2020-11-16 13:33:54 +01:00
Adam J. Stewart
3536433c41 macOS: Big Sur reports as either 10.16 or 11.0 (#19900) 2020-11-15 11:54:39 -06:00
Joseph Wang
b218991283 fix a typo in podio package script (#19928) 2020-11-15 11:33:19 -06:00
Xavier Delaruelle
9f24a4b783 environment-modules: add version 4.6.1 (#19926) 2020-11-14 20:24:54 -06:00
Brian Van Essen
55ec18a580 Bugfixes for lbann sw stack (#19903)
* Added guard for setting CUB_DIR to only when cuda variant is true

* Added support for OpenMP on OSX platforms

* Updated the way that LBANN, Hydrogen, and DiHydrogen handle
apple-clang with OpenMP and Clang installed on OS X via brew.

* Fixed bug in spec resolution

* Fixed merge conflict

* Fixed typo

* Fixed flake8
2020-11-14 18:59:12 -06:00
darmac
35511c178b Add new package: druid (#19911) 2020-11-14 09:45:10 -06:00
ilbiondo
e6972c9d37 bpp-phyl-omics package (#19734) 2020-11-14 09:40:49 -06:00
G-Ragghianti
19b26f2938 PAPI package: added cuda and nvml support (#19896)
* Added cuda support

* Added cuda and nvml variants

* Refined version conflict logic.
2020-11-14 09:39:14 -06:00
ilbiondo
d439573c60 bpp-seq-omics package (#19733) 2020-11-14 08:35:27 -06:00
Adam J. Stewart
168dd6d03a Don't use prefix.lib in tcl/tk/glib/etc (#19761) 2020-11-14 12:42:51 +01:00
darmac
cd7c2fca02 nbdkit: new package at v1.23.7 (#19922) 2020-11-14 12:39:13 +01:00
darmac
e549c32033 ncompress: new package at v4.2.4.6 (#19923) 2020-11-14 12:32:15 +01:00
Tomoki, Karatsu
e6b0019271 openblas: fix to build v0.3.11 or later with Fujitsu compiler. (#19853) 2020-11-14 12:29:30 +01:00
darmac
192bede002 libjson: new package at v0.8 (#19921) 2020-11-14 10:41:23 +01:00
darmac
3d6866cc1c iproute2: new package at v5.9.0 (#19920) 2020-11-14 10:28:50 +01:00
darmac
a8cf529791 httping: new package at v2.5 (#19919) 2020-11-14 10:14:47 +01:00
darmac
ec13fe2216 hashcat: new package at v6.1.1 (#19918) 2020-11-14 10:14:12 +01:00
darmac
4a75871d70 argon2: new package at v20190702 (#19917) 2020-11-14 10:04:08 +01:00
darmac
2c43cf5b22 newt: new package at v0.52.21 (#19915) 2020-11-14 09:50:02 +01:00
Antonio Arena
ecc5ef3e7b mathematica : added v12.1.1 (#19842) 2020-11-14 09:47:13 +01:00
Edoardo Aprà
6be5289e56 nwchem: remove patches for v6.6 (no longer supported) (#19906)
Since spack no longer offers NWChem 6.6, there is no need of the patch lines.
2020-11-14 09:45:18 +01:00
darmac
9ba6d485aa ipcalc: new package at v0.2.3 (#19912) 2020-11-14 09:37:04 +01:00
Wouter Deconinck
98ac13619e [gcc] depends_on diffutils (for all versions) (#19907) 2020-11-13 22:07:52 -08:00
Alexander Baumgarten
5f9de810ff Updated STAR to version 2.7.6a (#19904) 2020-11-13 14:59:03 -06:00
Alexander Baumgarten
c0486f6768 Feature/r tximportdata (#19902)
* # FIXME: Add a list of GitHub accounts to
    # FIXME: Add a list of GitHub accounts to
Package for r-tximportData

* Fixed file format / flake8 errors
2020-11-13 14:14:36 -06:00
fodinabor
472c365b58 binutils: Fix checksum for 2.35.1 (#19901)
As noted in #19899 and introduced by #19827
2020-11-13 12:55:58 -06:00
Thomas Madlener
d5b89b422d Add sio and add it as possible dependency for podio (#19875)
Newest podio can use SIO as backend
2020-11-13 12:43:43 -06:00
arjun-raj-kuppala
fbde1abc8c AMD ROCm - HIP update and bump up version to 3.9.0 for rccl,debug agent, hip-rocclr and atmi (#19832)
* AMD - Bumped up version for hip-rocclr, rocm-opencl, rocm-smi-lib

* AMD ROCm - HIP update and bump up version to 3.9.0 for rccl,debug agent, hip-rocclr and atmi

* Update package.py

* Update package.py

* Update package.py

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-13 12:25:57 -06:00
eugeneswalker
3a3bf5387e suite-sparse: mpfr, gmp needed for @5.8.0: (#19898) 2020-11-13 10:12:02 -08:00
Sreenivasa Murthy Kolam
b08744566d bump up version for 3.9.0 (#19894) 2020-11-13 10:59:18 -06:00
t-nojiri
d2673ac56c openfoam: Fix for aarch64 (#19803)
* openfoam: Fix for aarch64

* openfoam: Add comment for openfoam-org
2020-11-13 10:45:42 -06:00
Ganesh Kumar
d40a35e8d7 ROCm 3.9 Stage2 recipe (#19838)
Co-authored-by: root <root@mlseqa-hyd-virt-srv-07.amd.com>
2020-11-12 23:04:19 -06:00
Joseph Schoonover
d346e877ef Add feq-parse package (#19891)
Co-authored-by: Joe Schoonover <joe@fluidnumerics.com>
2020-11-12 22:31:04 -06:00
Tim Haines
a1e9d584e1 binutils: add version 2.35.1 (#19827) 2020-11-12 19:05:24 -06:00
Greg Becker
fafff0c6c0 move sbang to unpadded install tree root (#19640)
Since #11598 sbang has been installed within the install_tree. This doesn’t play
nicely with install_tree padding, since sbang can’t do its job if it is installed in a
long path (this is the whole point of sbang).

This PR changes the padding specification.  Instead of $padding inside paths,
we now have a separate `padding:` field in the `install_tree` configuration.

Previously, the `install_tree` looked like this:

```
    /path/to/opt/spack_padding_padding_padding_padding_padding/
        bin/
            sbang
        .spack-db/
            ...
        linux-rhel7-x86_64/
            ...
```

```
This PR updates things to look like this:

    /path/to/opt/
        bin/
            sbang
        spack_padding_padding_padding_padding_padding/
            .spack-db/
                ...
            linux-rhel7-x86_64/
                ...

So padding is added at the start of all install prefixes *within* the unpadded
root.  The database and all installations still go under the padded root.

This ensures that `sbang` is in the shorted possible path while also allowing
us to make long paths for relocatable binaries.
2020-11-12 16:08:55 -08:00
Peter Scheibel
32bfe0a001 Testing: ensure that all packages can be pickled (#19890)
As of #18205, all packages must be pickle-able to be installed by
Spack.

This adds a test to check that each package can be pickled. If any
package fails to pickle, the test keeps going and collects the names
of all failed packages; it then takes the first one that failed and
attempts to re-pickle it, generating the full stack trace for the
failed pickle attempt.
2020-11-12 15:55:34 -08:00
Peter Scheibel
ca3b912703 run unit tests on 3.8 only for Mac OS vs. both 3.8 and 3.9 (#19889) 2020-11-12 13:22:41 -08:00
Robert Blake
aeafe18b49 openmpi: external detection support (#18600) 2020-11-12 13:03:35 -08:00
Adam J. Stewart
02281a891d MavenPackage: allow additional build args (#19676) 2020-11-12 12:57:49 -08:00
Adam J. Stewart
f46bd411f4 py-cython: python is a link dep (#19768) 2020-11-12 12:53:13 -08:00
Adam J. Stewart
2fc2a4cd2a py-matplotlib: set LIBRARY_PATH to locate link deps (#19855)
* py-matplotlib: set LIBRARY_PATH to locate link deps

* py-matplotlib: add v3.3.3
2020-11-12 12:50:44 -08:00
Adam J. Stewart
37e51eb2a5 OpenSSL: libs may be in lib64 directory (#19862) 2020-11-12 12:45:45 -08:00
vvolkl
72e66bd01f [gaudi] v35r0 (#19878)
* [gaudi] v35r0

* [gaudi] format

* [gaudi] comments from #19878
2020-11-12 14:43:06 -06:00
tcojean
978e85d669 Add smoke tests to Ginkgo. (#19888) 2020-11-12 14:42:34 -06:00
Peter Scheibel
bb42470211 macos: update build process to use spawn instead of fork (#18205)
Spack creates a separate process to do package installation. Different
operating systems and Python versions use different methods to create
it but up until Python 3.8 both Linux and Mac OS used "fork" (which
duplicates process memory, file descriptor table, etc.).

Python >= 3.8 on Mac OS prefers creating an entirely new process
(referred to as the "spawn" start method) because "fork" was found to
cause issues (in other words "spawn" is the default start method used
by multiprocessing.Process). Spack was dependent on the particular
behavior of fork to replicate process memory and transmit file
descriptors.

This PR refactors the Spack internals to support starting a child
process with the "spawn" method. To achieve this, it makes the
following changes:

- ensure that the package repository and other global state are
  transmitted to the child process
- ensure that file descriptors are transmitted to the child process in
  a way that works with multiprocessing and spawn
- make all the state needed for the build process and tests picklable
  (package, stage, etc.)
- move a number of locally-defined functions into global scope so that
  they can be pickled
- rework tests where needed to avoid using local functions

This PR also reworks sbang tests to work on macOS, where temporary
directories are deeper than the Linux sbang limit. We make the limit
platform-dependent (macOS supports 512-character shebangs)

See: #14102
2020-11-12 12:26:23 -08:00
eugeneswalker
81cab3b271 suite-sparse: add deps: mpfr, gmp (#19883) 2020-11-12 11:29:07 -08:00
Morten Kristensen
8cf2806f00 py-vermin: add latest version 1.0.3 (#19886) 2020-11-12 13:23:38 -06:00
Wouter Deconinck
b0d2586f52 [acts] conflicts with %gcc@:7 since @0.23: due to c++17 <charconv> (#19881) 2020-11-12 13:08:12 -06:00
Scott Wittenburg
fbbd71d3d7 Pipelines: Compare target family instead of architecture (#19884)
In compiler bootstrapping pipelines, we add an artificial dependency
between jobs for packages to be built with a bootstrapped compiler
and the job building the compiler.  To find the right bootstrapped
compiler for each spec, we compared not only the compiler spec to
that required by the package spec, but also the architectures of
the compiler and package spec.

But this prevented us from finding the bootstrapped compiler for a
spec in cases where the architecture of the compiler wasn't exactly
the same as the spec.  For example, a gcc@4.8.5 might have 
bootstrapped a compiler with haswell as the architecture, while the 
spec had broadwell.  By comparing the families instead of the architecture
 itself, we know that we can build the zlib for broadwell with the gcc for 
haswell.
2020-11-12 10:46:15 -08:00
Brian Spilner
2a8dba48da new release: cdo-1.9.9 (#19876) 2020-11-12 11:29:57 -06:00
t-nojiri
301b94d338 elpa: Fix for aarch64 (#19872) 2020-11-12 11:24:45 -06:00
Satish Balay
757b74aeff xsdk@0.6.0 (#19846)
Update:
 hypre@2.20.0
 mfem@4.2.0
 superlu-dist@6.4.0
 trilinos@13.0.1
 datatransferkit@3.1-rc2
 petsc@3.14.1
 dealii@9.2.0
 pflotran@xsdk-0.6.0
 alquimia@xsdk-0.6.0
 sundials@5.5.0
 plasma@20.9.20
 magma@2.5.4
 amrex@20.10
 slepc@3.14.0
 omega-h@9.32.5
 strumpack@5.0.0
 pumi@2.2.5
 tasmanian@7.3
 phist@1.9.3
 ginkgo@1.3.0
 py-libensemble@0.7.1
 precice@2.1.1
 butterflypack@1.2.1

New:
 heffte@2.0.0
 slate@2020.10.00

Variants:
 datatransferkit
 heffte
 slate

petsc: enable +cuda
sundials: enable +cuda +trilinos
strumpack: enable +cuda
2020-11-12 11:15:29 -06:00
Desmond
9f7ad82665 Package/r bigalgebra (#19826)
* py-json-get: new package at 1.1.1

* py-json-get: new package at 1.1.1

* r-bigalgebra: new package at 0.8.4

* r-bigalgebra: new package at 0.8.4 with corrections

* Added an additional change to tarball and dependencies

* removing accidentally added file

* Added tarball that uses mirror and removed redundant dependencies

* Fixed version and added dep.

* Updated checksum

* Fixed urls

* Added list_url

Co-authored-by: las_djorton <las_djorton@build.las.iastate.edu>
2020-11-12 11:13:20 -06:00
Pieter Ghysels
d1493fb3d8 SuperLU-Dist: Add CUDA variant (#19847)
* Add CUDA support to superlu-dist

* Use spec['cuda'].libs.directories[0] iso spec['cuda'].prefix.lib
so it works for both lib and lib64

The suggested:
args.append('-DTPL_CUDA_LIBRARIES=' +
            spec['cuda'].libs.ld_flags)
did not work because it does not link with cuBLAS.
2020-11-12 08:57:44 -06:00
Jean-Paul Pelteret
821b195ba4 Fix scalapack build error (#19824) 2020-11-12 08:55:58 -06:00
Satish Balay
a99cc0fac0 kokkos add "graviton" to spack_micro_arch_map (#19869)
* kokkos add "graviton" to spack_micro_arch_map

* also add "graviton2"
2020-11-12 08:55:37 -06:00
Greg Becker
527a81b469 Keep output machine readable using spack find --format in an env (#19698)
Currently, full JSON output is the only machine readable option for `spack find`
in an environment.

`spack find --format` is also designed to be machine readable, but we print extra
headers in environments.

-[x] don't print headers in `spack find` output when in an environment
2020-11-11 22:13:51 -08:00
Dr. Christian Tacke
b9f20c2351 yaml-cpp: Improve shared library building (#19866)
* No version of yaml-cpp in spack can build shared AND
  static libraries at the same time.  So drop the "static"
  variant and let "shared" handle that alone.

  Or in other words: No version handles the
  BUILD_STATIC_LIBS flag.

* The flag for building shared libraries changed from
  BUILD_SHARED_LIBS to YAML_BUILD_SHARED_LIBS at some
  point. So just pass both flags.

* Use the newer define_from_variant.
2020-11-11 20:05:58 -06:00
Satish Balay
33469414a5 fix typo wrt target=graviton (#19865)
* fix typo wrt target=graviton

This fixes spack build on aarch64 box

* update archspec hash
2020-11-11 19:29:13 -06:00
Massimiliano Culpo
e80276cd14 spack env deactivate/spack unload: demote warning message to debug message (#19864) 2020-11-11 12:02:03 -08:00
Dr. Christian Tacke
2929f59c03 msgpack-c: Add Version 3.1.1 (#19863) 2020-11-11 12:27:28 -06:00
Jen Herting
3dab441986 New package: py-cuml (#19474)
* [py-cuml] created template

* [py-cuml] setup phases and added build_directory

* [py-cuml] added dependencies

* [py-cuml] depends on libcumlprims

* [py-cuml] requiring multigpu version

* [py-cuml] figuring out the best way to get concretization to happen cleanly

* [py-cuml] removed singlegpu variat from libcuml

* [py-cuml] depends on py-cudf

* [py-cuml] depends on cupy

* [py-cuml] fixed typoo

* [py-cuml] depends on py-scipy

* [py-cuml] depends on py-treelite

* [py-cuml] py-treelite is now a variant of treelite

* [py-cuml] depends on joblib

* [py-cuml] depends on py-scikit-learn

* [py-cuml] flake8

* [py-cuml] added homepage and description. removed fixmes

* [py-cuml] updated checksum
2020-11-11 12:27:12 -06:00
Adam J. Stewart
d1ca322aef Restore spack checksum verbosity (#19480) 2020-11-11 11:26:17 -06:00
Filippo Spiga
e828641d80 Adding support to build ucx development branch (#18089)
* Enabling build of v1.9.x development branch.

* v1.8.1 is the preferred (stable) version.

* Fixing code style

Co-authored-by: Filippo Spiga <fspiga@nvidia.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-11 10:58:29 -06:00
Jen Herting
b660a2112f New package: libcuml (#19471)
* [libcuml] created template

* [libcuml] set cmake list dir

* [libcuml] added some dependencies

* [libcuml] adding some default cmake args

* [libcuml] depends on nccl

* [libcuml] temporarily disabling cuml prims building

* [libcuml] building internal faiss?

* [libcuml] added dependency treelite

* [libcuml] depends on google_test

* [libcuml] forcing single gpu per: https://github.com/rapidsai/cuml/issues/2528#issuecomment-657675957

* [libcuml] added prims?

* [libcuml] adding libcumlcomms ?

* Revert "[libcuml] adding libcumlcomms ?"

This reverts commit 0e0765b7d4d27bdc01d54d24e8c2f9eac1cb4eb2.

* Revert "[libcuml] added prims?"

This reverts commit d0b1f868ea5e425cc7d1a5ce7adc642258dfc38e.

* [libcuml] added varient single gpu

* [libcuml] removed variant singlegpu

* [libcuml] added homepage and description. removed fixmes

* [libcuml] flake8

* [libcuml] cleaning up leftover commented out code

* [libcuml] updated checksum added ucx dependency
2020-11-11 10:55:57 -06:00
Sreenivasa Murthy Kolam
f5c7a3619a add spack recipe for rocm version of the tensile (#19669)
* add spack recipe for rocm version of the tensile

* fix flake8 error
2020-11-11 10:55:23 -06:00
Greg Becker
229fc11fdb axom: devtools require llvm clang-format (#19740)
* follow-up to previous PR

* build type
2020-11-11 10:54:24 -06:00
vvolkl
2c55d47c1e [podio] set pythonpath correctly (#19779)
* [podio] put python dir in python path

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-11 10:53:56 -06:00
Kai Torben Ohlhus
a6011ccbb7 suite-sparse: add versions 5.8.0 and 5.8.1 (#19812)
Update homepage URL and see release notes:
- https://github.com/DrTimothyAldenDavis/SuiteSparse/releases/tag/v5.8.1
- https://github.com/DrTimothyAldenDavis/SuiteSparse/releases/tag/v5.8.0
2020-11-11 10:53:27 -06:00
t-nojiri
48093350c6 arbor: Add version 0.4 (#19839) 2020-11-11 10:50:32 -06:00
Stephen Hudson
56df3fcbaa Add optional deps mpmath and deap to py-libensemble (#19852) 2020-11-11 10:45:16 -06:00
Keita Iwabuchi
8edd245bb3 Metall package: add v0.6 (#19854)
* Metall: add version 0.2

* Add Metall v0.3

* Update Metall package to v0.4 and v0.5.

* Metall package: add v0.6
2020-11-11 10:43:00 -06:00
t-nojiri
3167aec0ab ace: Add version 6.5.12 (#19856) 2020-11-11 10:42:30 -06:00
Mark Olesen
a90324a5b2 openfoam: remove mplibUSER provisioning (#19861)
- has never been used by the spack package or by the upstream package

Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-11-11 10:38:50 -06:00
Ganesh Kumar
b1ca2a4346 ROCm3.9 recipe for rocblas, hipblas & rocsolver (#19841)
* ROCm3.9 recipe for rocblas, hipblas & rocsolver

* review comments

* review comments

Co-authored-by: root <root@mlseqa-hyd-virt-srv-07.amd.com>
2020-11-11 10:24:25 -06:00
Peter Scheibel
9d5f4f9c6f Binary caching: fix buildcache list (multiple invocations) (#19848)
When invoking "buildcache list" multiple times, the command was
reporting no specs in the cache the second time around. The
presence of an up-to-date index was causing the internal
representation to be left un-initialized.
2020-11-10 23:24:18 -08:00
Justin S
15fbbdea7d soapdenovo2: add 242 (#19849) 2020-11-10 20:12:28 -06:00
Christoph Junghans
f7e3ef1b5c votca-xtp: update deps (#19850) 2020-11-10 15:01:25 -07:00
t-nojiri
dd96a86511 abi-dumper: Add phases (#19807) 2020-11-10 12:53:39 -06:00
Phil Tooley
db5aa927db py-torchvision: gather correct cuda_arch setting from py-torch (#19845)
* py-torchvision: gather correct cuda_arch setting from py-torch dependency

* py-torchvision: remove unneeded variant
2020-11-10 12:28:01 -06:00
Daryl W. Grunau
f7f4171d4e py-scipy: set F90 for all compilers (#19818)
* set F90 when compiling with Intel

* set F90 for all compilers

Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2020-11-10 10:52:54 -06:00
Wouter Deconinck
2913903e6a [geant4] depends_on glu when +opengl (#19821) 2020-11-10 10:29:21 +00:00
Greg Becker
0183a51c6c tutorial cmd: fix gpg invocation (#19829) 2020-11-09 21:09:36 -08:00
Adam J. Stewart
228a4d353c Fix minor typo in function comment (#19804) 2020-11-09 20:25:45 -05:00
Adam J. Stewart
65cef0a3ad py-gpytorch: add v1.2.1 (#19796) 2020-11-09 20:24:35 -05:00
h-denpo
d8d0935a24 saga-gis: add "depends_on('libsm', type='link')" (#19805) 2020-11-09 16:46:33 -06:00
Kai Torben Ohlhus
4e2f27141c openblas: Add versions 0.3.11 and 0.3.12 (#19811)
[OpenBLAS 0.3.11](https://github.com/xianyi/OpenBLAS/releases/tag/v0.3.11) and [OpenBLAS 0.3.12](https://github.com/xianyi/OpenBLAS/releases/tag/v0.3.12) were released.
2020-11-09 16:33:54 -06:00
Emir İşman
98e709da3b [docs] getting_started.rst: fix typo (#19815) 2020-11-09 16:31:53 -06:00
Wouter Deconinck
f69643512c [opencascade] depends_on libxext, libxmu, libxt, libxi (#19823)
* [opencascade] depends_on libxmu and libxi

* [opencascade] depends_on libxext and libxt
2020-11-09 16:24:51 -06:00
Satish Balay
01188396da Trilinos: add 13.0.1 (#19822) 2020-11-09 16:06:27 -05:00
Erik Schnetter
9619f77550 spiral: new version 8.2.0 (#19794)
* spiral: new version 8.2.0

* spiral: Sort versions anti-chronologically
2020-11-09 14:32:49 -06:00
Toyohisa Kameyama
52eecad65c py-pygps: new package. (#19774)
* py-pygps: new package.

* fixed url.
2020-11-09 14:32:10 -06:00
Morten Kristensen
a047ea84a3 py-vermin: add latest version 1.0.2 (#19820) 2020-11-09 14:31:21 -06:00
Satish Balay
a0216922f1 add sundials 5.5.0 (#19819)
(with xsdk build fixes, including mkl, superlu-dist)

Co-authored-by: Cody J. Balos <balos1@llnl.gov>
2020-11-09 13:59:55 -06:00
Amjad Kotobi
04fdcbed09 ruby-narray: Added git master branch (#19817) 2020-11-09 13:04:22 -06:00
ilbiondo
740cc4058b tskit package (#19725)
* tskit package

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

I can't see any hard requirement for 3.6:

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

* fixes following PR review

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-09 13:03:09 -06:00
Ethan Stam
e73e7cf0ad ParaView: correct path for PARAVIEW_VTK_DIR (#19770)
* ParaView: correct path for PARAVIEW_VTK_DIR

* Update formatting
2020-11-09 13:02:00 -06:00
Todd Gamblin
4092c90b57 commands: add spack tutorial command (#19808)
Added a command to set up Spack for our tutorial at
https://spack-tutorial.readthedocs.io.

The command does some common operations we need first-time users to do.
Specifically:

- checks out a particular branch of Spack
- deletes spurious configuration in `~/.spack` that might be
  left over from prior parts of the tutorial
- adds a mirror and trusts its public key
2020-11-09 12:47:08 +01:00
Mark Olesen
ac8a07ef4a openfoam / openfoam-org : handle arch naming differences #19777 (#19778)
- issue caused by the openfoam-org internal naming for their
  newly added support for aarch64

Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-11-08 20:26:51 -06:00
Michael Kuhn
0857648313 perl: make 5.32.0 the preferred version (#19799)
Version 5.32.0 has been out for quite a while and Linux distributions
are shipping it. I have also done a rebuild of some common packages with
the new version. Let's make it the preferred version.
2020-11-08 10:54:22 -06:00
Adam J. Stewart
1e35faa932 Bash: add new patches, maintainer (#19798) 2020-11-07 20:13:35 -06:00
mic84
765b4c5d2f amrex: new options names for version > 20.11 (#19769)
* amrex: new options names for version > 20.11

* amrex: change option name DIM -> AMReX_SPACEDIM

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-07 14:10:08 -06:00
Brian Van Essen
9cd0f00607 Added code to help DiHydrogen find cuDNN and CUB (#19783)
* Added code to help DiHydrogen find cuDNN and CUB

* Cleaning up dependencies on CUB and adding guards for when newer
versions of CUDA include CUB and it should be excluded.

* Changed Hydrogen to disable half support by default.

* Have LBANN force Hydrogen and DiHydrogen to build without half when the variant is disabled.

* Added explicit variants to enusre that if LBANN is build without Cuda,
Aluminum, or Half support, it enforces those constraints for Hydrogen
and DiHydrogen.  Cleaned up the use of Python extend versus append in
LBANN and DiHydrogen recipes.

* Fixed Flake8
2020-11-07 14:09:00 -06:00
Michael Kuhn
887bf734e4 fdupes: new package (#19747) 2020-11-07 14:08:15 -06:00
vvolkl
1d7d4a9071 [evtgen] add env var (#19787)
* [evtgen] add env var

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-07 14:06:41 -06:00
Itaru Kitayama
e87266c646 Add the scorep package dependency. (#19742)
Co-authored-by: Itaru Kitayama <itaru.kitayama@riken.jp>
2020-11-06 21:18:49 -06:00
Dr. Christian Tacke
c8b92ef34b fmt: Add Version 7.1.2 (#19756) 2020-11-06 21:12:45 -06:00
Dr. Christian Tacke
3b4558fe6c fairlogger: Add Version 1.9.0 (#19758) 2020-11-06 21:12:19 -06:00
Chen Wang
d085d53ebc New version of Recorder: 2.1.6 (#19760) 2020-11-06 21:11:49 -06:00
eugeneswalker
fbc7cefcf7 make TIMER compatible with LLVM F18 (#19765) 2020-11-06 21:11:13 -06:00
Thomas Madlener
381305da0f [root] fix package definition (#19775) 2020-11-06 21:04:23 -06:00
darmac
1d52bbdf17 Add new package: predixy (#19776) 2020-11-06 21:03:33 -06:00
Andrew W Elble
dcf3d8332a cp2k: fix lmax variant to use tuple (#19780)
* cp2k: fix lmax variant to use tuple

discovered during testing #19501

@dev-zero

* retain conversion to string
2020-11-06 20:58:38 -06:00
Cyrus Harrison
ef9b8da282 add new vtk-h versions (#19785) 2020-11-06 20:53:36 -06:00
eugeneswalker
8dc8155ed5 fast-global-file-status needs elf (#19789) 2020-11-06 20:52:19 -06:00
eugeneswalker
73773ef9f3 spot: add v2.9.4 (#19790) 2020-11-06 20:51:48 -06:00
Michael Kuhn
f447657395 expat: add 2.2.10 (#19791) 2020-11-06 20:51:04 -06:00
Michael Kuhn
d8f2e54ebf py-setuptools: add 50.3.2 (#19792) 2020-11-06 20:50:17 -06:00
Michael Kuhn
010ad6011e glib: add 2.66.2 and 2.64.6 (#19793) 2020-11-06 20:49:21 -06:00
Tom Payerle
07b1ddee23 virtualgl: Change virtual jpeg dependency to libjpeg-turbo dep (#19795)
See #19784

virtualgl CMake system is looking for a specific libjpeg-turbo include
file, not present in libjpeg (currently the only other jpeg provider)
2020-11-06 20:47:09 -06:00
Adam J. Stewart
319c4f2e9e meson: set STRIP on macOS (#19677)
* at-spi2-core: add new version

* Add strip hacks

* meson: set STRIP on macOS
2020-11-07 00:34:47 +01:00
ilbiondo
a3854700fb cget package (#19728)
* cget package

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

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

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-06 16:39:42 -06:00
Frank Willmore
2df73cae38 Mumps oneapi (#19786)
added oneapi compiler to directives for mumps package

Co-authored-by: Frank Willmore <willmore@anl.gov>
2020-11-06 13:56:42 -08:00
Andrew W Elble
f59bbf9c3a py-grpcio: workaround build failures pending new release (#19710)
https://github.com/grpc/grpc/pull/24449 grpc/grpc#24248
2020-11-06 15:02:11 -05:00
Jen Herting
1f8ca07f46 New package: code-server (#16076)
* [code-server] created template

* [code-server] installing base server

* [code-server] added description and homepage

* [code-server] removed fixmes

* [code-server] git version > 2 is recommended

* [code-server] added version 3.1.1

* [code-server] flake8

* [code-server] added version 3.4.1

* [code-server] cp() -> install_tree()

* [code-server] removes predefined utilies

* [code-server] ln() -> symlink()
2020-11-06 12:56:45 -06:00
Jen Herting
1b18e8fbad New Package: libcumlprims (#19108)
* [libcumlprims] created template

* [libcumlprims] setting up version urls and added versions

* [libcumlprims] added dependencies

* [libcumlprims] installing prebuild binaries

* [libcumlprims] fixing dependencies

* [libcumlprims] trying to fix cumlprims includedir

* [libcumlprims] updated envvar to SPACK_INCLUDE_DIRS

* [libcumlprims] typoo

* [libcumlprims] added homepage and description. removed fixmes

* [libcumlprims] cp -> install_tree

* [libcumlprims] removed unused import

* [libcumlprims] using new version of updating header files env vars

* [libcumlprims] flake8
2020-11-06 12:55:29 -06:00
Adam J. Stewart
3953f6af95 oneDNN: add v1.7 (#19718) 2020-11-06 11:45:33 -06:00
Adam J. Stewart
3c4ee6d3cb py-scipy: add v1.5.4 and master (#19757) 2020-11-06 11:45:14 -06:00
Adam J. Stewart
df3cc079eb GDAL: add v3.2.0 (#19685)
* GDAL: add v3.2.0

* Fix typo: satisfes -> satisfies

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

Co-authored-by: Andrew W Elble <aweits@rit.edu>
2020-11-06 11:42:46 -06:00
Adam J. Stewart
e26d01022e py-numpy: add v1.19.4 (#19678) 2020-11-06 11:41:48 -06:00
Sheng Di
2cb676e8d7 add z-checker (#19738)
* revise z-checker's package.py

* add mpi dependency to z-checker

* add one whitespace required by Flake8

* trailing whitespace

Co-authored-by: Sheng Di <sdi1@anl.gov>
2020-11-06 07:48:11 -06:00
Brian Van Essen
f041876470 Added CUB dependency to Aluminum (#19737)
* Added CUB dependency to Aluminum

* Added hash for version 0.6.0

* Added a maintainer field and slight cleanup.

* Cleanup extend versus append
2020-11-05 18:01:49 -06:00
Brian Van Essen
16c8cdaef7 LBANN update HWLOC versions (#19683)
* Updates in LBANN an Aluminum code now allow working with versions
HWLOC 1.11.x and 2.x and up.

* Updating the minimum CMake version to address a pending PR in LBANN
that will require C++17 support and needs CMake to properly separate
the compiler flags from nvcc.

* Clarified the support for different versions of HWLOC in LBANN
2020-11-05 16:28:27 -06:00
Greg Becker
8b96e10ecc Remove hardcoded version numbers from container logic (#19716)
Previously, we hardcoded a list of Spack versions which could be used by the containerize command.

This PR removes that list. It's a maintenance burden when cutting a release, and prevents older versions of Spack from creating containers to be used by newer versions.
2020-11-05 18:59:44 +01:00
ilbiondo
dcd514c321 filtlong package (#19732)
* filtlong package

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-05 11:04:24 -06:00
ilbiondo
4c254c6c9f bamaddrg package (#19729)
* bamaddrg package

* Change version to URL rather than git
2020-11-05 11:02:43 -06:00
Andrew W Elble
08e825f474 kokkos-legacy: fix host_arch/gpu_arch variants (#19754)
'default' specifies a value that is not present in 'values'.
2020-11-05 17:31:11 +01:00
Andrew W Elble
6dc25e7dbf py-pykwalify: fix conflict directive (missing '^') (#19753) 2020-11-05 17:30:32 +01:00
Andrew W Elble
fa7ba11d1a py-quantities: fix conflict directive (missing '^') (#19752) 2020-11-05 17:30:08 +01:00
Andrew W Elble
9bca9611c5 py-flye: fix conflict directive (missing '%') (#19751) 2020-11-05 16:53:24 +01:00
Andrew W Elble
9908e7a590 pfunit: fix conflict directive (missing '+') (#19750) 2020-11-05 16:26:26 +01:00
Andrew W Elble
d7335185e3 heffte: fix conflict directive (missing '^') (#19749) 2020-11-05 16:26:03 +01:00
Adam J. Stewart
09ec3e9268 Update packages.yaml format references in packages (#19741) 2020-11-05 15:44:00 +01:00
Tamara Dahlgren
619eb6c08b bug fix: Display error when curl is missing even in non-debug mode (#19695) 2020-11-04 15:47:08 -08:00
Andrew W Elble
c4b4cd4973 py-llvmlite: fix llvm compatibility version (#19739)
won't build with llvm 11
2020-11-04 15:17:19 -06:00
Chris White
4cd711cb79 Axom: update package (#19717)
* update spack package from axom's main repo

* flake8, plus loop over possible clangformat paths
2020-11-04 14:37:24 -06:00
Jeremy
6f4e2e58c3 10.1 release and various bug fixes for SST packages (#19719) 2020-11-04 12:47:41 -06:00
arjun-raj-kuppala
cc0a585816 AMD - Bumped up version for hip-rocclr, rocm-opencl, rocm-smi-lib (#19721) 2020-11-04 12:44:59 -06:00
Sreenivasa Murthy Kolam
3daa7b7b40 update rocm-bandwidth-test,rocm-dbgapi,rocprofiler for rocm 3.9.0 (#19724)
* update rocm-bandwidth-test,rocm-dbgapi,rocprofiler for rocm 3.9.0

* bump up rocm-gdb for rocm-3.9.0
2020-11-04 12:43:40 -06:00
ilbiondo
ab046403f6 admixtools package (#19727) 2020-11-04 12:37:15 -06:00
Satish Balay
5b02910e9c petsc add version 3.14.1 (#19730) 2020-11-04 12:27:11 -06:00
Veselin Dobrev
5511c29869 New MFEM version: 4.2 (#19684) 2020-11-04 12:26:39 -06:00
Robert Maynard
823a3fa646 Added HIP support to VTK-m package (#19523) 2020-11-04 12:25:17 -06:00
Satish Balay
c2b943c209 Trilinos: fix error when configuring downstream dependency 2020-11-04 11:28:14 -05:00
darmac
44d406a1aa Add new package: abi-compliance-checker (#18737)
* Add new package: abi-compliance-checker

* refine dependencies

* change exuberant-ctags to universal-ctags
2020-11-04 14:37:24 +01:00
Andrew W Elble
efb26bb14f libusb: disable udev (#19713)
* libusb: disable udev

spack has no libudev/systemd package currently

* convert to AutotoolsPackage

* remove spack import
2020-11-03 16:47:38 -06:00
Andrew W Elble
ddd2aa0ffc sirius,spfft: fix defaults for amdgpu_target to be str, not tuple (#19660) 2020-11-03 12:43:16 -06:00
Glenn Johnson
6bcb7128e6 Regenerate patch for gate to include SGE script (#19663)
The previous patch left out the SGE.script file.
2020-11-03 12:42:40 -06:00
Glenn Johnson
4ba7ad5162 New package - gatepet2stir (#19664) 2020-11-03 12:41:47 -06:00
Sreenivasa Murthy Kolam
e93ac1a8bd bump up hsakmt-roct ,hsa-rocr-dev,llvm-amdgpu version for 3.9.0 release (#19668)
* bump up version for 3.9.0 release

* update version of rocminfo for rocm-3.9.0

* bump up rocm-cmake version for rocm-3.9.0

* bump up rocm-smi and rocmdevice-libs for 3.9.0

* bumpup comgr version for rocm_ 3.9.0

* bump rocm-clang-ocl for rocm-3.9.0

* bump hipify-clang for rocm-3.9.0
2020-11-03 12:39:40 -06:00
Andrew W Elble
886ae9a83f speexdsp: fix link dependency on FFT library (#19714)
without this, the library does not have a dependency
on the fft lib it was built with.
2020-11-03 12:36:24 -06:00
Desmond
95d63afa58 Package/py json get (#19689)
* py-json-get: new package at 1.1.1

* py-json-get: new package at 1.1.1

Co-authored-by: las_djorton <las_djorton@build.las.iastate.edu>
2020-11-03 12:35:26 -06:00
Andrew W Elble
b9d12c93ef disable tests to fix build. (#19697) 2020-11-03 12:34:17 -06:00
mic84
001f90f411 amrex: new version 20.11 (#19691)
* amrex: new version 20.11

* Fix formatting issues
2020-11-03 12:33:45 -06:00
Geoffrey Oxberry
2c511a7dd0 new package: fprettify 0.3.6 (#19699) 2020-11-03 12:31:29 -06:00
Andrew W Elble
11fb0e17b0 py-pygobject: new version 3.38.0 (#19709)
fix to allow Gtk and others work from 'import gi' etc.
2020-11-03 12:29:59 -06:00
darmac
cefbc39356 Add new package: libbinio (#19706) 2020-11-03 12:27:45 -06:00
darmac
ffec64ce30 Add new package: jose (#19707) 2020-11-03 12:27:22 -06:00
darmac
b7421c1476 Add new package: libdatrie (#19708) 2020-11-03 12:26:54 -06:00
Daniel Arndt
6492b9a84e Use commit instead of branch as version for dtk 3.1-rc2 (#19712) 2020-11-03 12:25:26 -06:00
Char Aznable
859fbae4fa Trilinos: support cuda, hwloc, Kokkos_ARCH_* and c++ std (#19119) 2020-11-03 12:07:20 -06:00
Elliot Saba
771e8b6294 [julia]: CPU names are LLVM-style, must map across (#19549)
In this case, the `zen2` architecture is unknown; Spack must use the
LLVM-style `znver2` target instead.
2020-11-03 12:04:29 -06:00
Pieter Ghysels
8cc08bd88b Trilinos: Add STRUMPACK dependency (#19560)
* Trilinos: Add STRUMPACK dependency

* break long lines, flake8 cleanup

* Use spec['strumpack'].libs.directories[0]
instead of spec['strumpack'].prefix.lib
because libraries may be in lib or lib64.

Likewise use headers.directories[0] iso prefix.include.

Suggested by adamjstewart
2020-11-03 12:04:12 -06:00
Wouter Deconinck
cd625e5974 [dire] dire is included in pythia8@8300: so dire depends_on adjusted (#19628) 2020-11-03 12:03:48 -06:00
Geoffrey Gunter
125b80d193 range-v3: add version 0.11.0 (#19639)
* range-v3: add version 0.11.0

This release drops support for llvm-3.9 per the release notes.

https://github.com/ericniebler/range-v3/releases/tag/0.11.0

* range-v3: rename 'develop' version to 'master'

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-03 12:03:19 -06:00
Satish Balay
dc3d03ed30 superlu-dist: update to version 6.4.0 (#19682) 2020-11-03 12:02:53 -06:00
Satish Balay
5b33157a45 petsc@3.14 update superlu-dist dependency [keep it open-ended for both petsc and superlu-dist future versions] (#19686) 2020-11-03 12:01:14 -06:00
Satish Balay
294715282a py-petsc4py: add version 3.14.0 (#19681) 2020-11-03 12:00:50 -06:00
Tim Haines
7649186988 Elfutils: added v0.182 (#19700) 2020-11-03 16:37:35 +01:00
darmac
a920ef50dd Add new package: istio (#17829) 2020-11-03 08:19:43 -06:00
darmac
5a54e39d71 Add new package: py-boom (#18811)
* Add new package: py-boom

* change name to py-boom-boot-manager
2020-11-03 08:18:28 -06:00
Shahzeb Siddiqui
75e73d7fcc documentation: fix formatting of code-block section (#19693) 2020-11-03 12:15:46 +01:00
dunatotatos
4637d97d41 snakemake: add upper limit to allowed python versions (#19705)
Running v3.1.2 with Python 3.7 returns a SyntaxError close to `async=True`.
2020-11-03 12:13:00 +01:00
darmac
03b7404316 Add new package: abi-dumper (#18738)
* Add new package: abi-dumper

* refine dependencies
2020-11-03 11:20:06 +01:00
Brian Van Essen
d38fdb3854 Update cuDNN packages to check Power installation (#19620)
* Updated cuDNN package to check to make sure that target directory
exists before linking it.

* Fixed flake8

* Fixed Flake8
2020-11-02 20:08:44 -06:00
Hervé Yviquel
b4ea74c11b allow ucx to build with more recent version of gdrcopy (#19606)
* allows UCX since v1.7 to build with more recent version of gdrcopy (v2.X)

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-02 15:53:11 -06:00
Todd Gamblin
ecc3bfd484 Bugfix - hashing: don't recompute full_hash or build_hash (#19672)
There was an error introduced in #19209 where `full_hash()` and
`build_hash()` are called on older specs that we've read in from the DB;
older specs may not be able to compute these hashes (e.g. if they have
removed patches used in computing the full_hash).

When serializing a Spec, we want to generate the full/build hash when
possible, but we need a mechanism to skip it for Specs that have
themselves been read from YAML (and may not support this).

To get around this ambiguity and to fix the issue, we:

- Add an attribute to the spec called `_hashes_final`, that is `True`
  if we can't lazily compute `build_hash` and `full_hash`.
- Set `_hashes_final` to `False` for new specs (i.e., lazily
  computing hashes is ok)
- Set `_hashes_final` to `True` for concrete specs read in via
  `from_node_dict`, as it may be too late to recompute hashes.
- Compute and write out all hashes in `node_dict_with_hashes` *if
  possible*.

Effectively what this means is that we can round-trip specs that are
missing `_build_hash` and `_full_hash` without recomputing them, but for
all new specs, we'll compute them and store them. So Spack should work
fine with old DBs now.
2020-11-02 13:21:11 -08:00
Satish Balay
2ca894bd1e pumi add version 2.2.5 (#19680) 2020-11-02 14:02:50 -06:00
Satish Balay
4d6c9a8f29 omega-h: add version 9.32.5 (#19679) 2020-11-02 12:50:10 -06:00
Seth R. Johnson
62eab8923e ROOT: use native CMakePackage functions in packages.py (#19642)
* root: update to built-in CMakePackage functions

* root: Disable options from missing variants

* Remove modification of CMAKE_PROGRAM_PATH
2020-11-02 16:21:44 +00:00
Scott McMillan
f621e97f47 Fix issue with NAMD patch not applying cleanly (#19675)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2020-11-02 10:12:15 -06:00
Tiziano Müller
acc075d79d llvm: fix +lldb build with external ncurses on openSUSE (#19627)
fixes #19625
2020-11-02 07:39:21 -06:00
Harmen Stoppels
4fe56de72e hip: revert using libs.directories[0] instead of prefix.lib (#19671)
Currently fails with:

 Error: NoLibrariesError: Unable to recursively locate rocm-device-libs libraries
2020-11-02 09:54:29 +01:00
eugeneswalker
b2d6c63421 hip: setup run environments (#19637)
* hip: rocminfo is a runtime requirement

* hip: +setup_run_environment, +setup_dependent_run_environment

* hip: run environment: get lib dir using libs.directories[0], not prefix.lib

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-01 21:52:06 -06:00
Todd Gamblin
a80d221bfa sbang: fixes for sbang relocation
This fixes sbang relocation when using old binary packages, and updates
code in `relocate.py`.

There are really two places where we would want to handle an `sbang`
relocation:

1. Installing an old package that uses `sbang` with shebang lines like
   `#!/bin/bash $spack_prefix/sbang`
2. Installing a *new* package that uses `sbang` with shebang lines like
   `#!/bin/sh $install_tree/sbang`

The second case is actually handled automatically by our text relocation;
we don't need any special relocation logic for new shebangs, as our
relocation logic already changes references to the build-time
`install_tree` to point to the `install_tree` at intall-time.

Case 1 was not properly handled -- we would not take an old binary
package and point its shebangs at the new `sbang` location. This PR fixes
that and updates the code in `relocation.py` with some notes.

There is one more case we don't currently handle: if a binary package is
created from an installation in a short prefix that does *not* need
`sbang` and is installed to a long prefix that *does* need `sbang`, we
won't do anything. We should just patch the file as we would for a normal
install. In some upcoming PR we should probably change *all* `sbang`
relocation logic to be idempotent and to apply to any sort of shebang'd
file. Then we'd only have to worry about which files to `sbang`-ify at
install time and wouldn't need to care about these special cases.
2020-11-01 16:23:48 -08:00
Adam J. Stewart
a4dd8d5582 Scalapack: don't apply patches twice (#19662) 2020-11-01 15:15:04 -08:00
Adam J. Stewart
ea8ba48a32 meson: add new version, external find support (#19658) 2020-11-01 15:33:14 -06:00
Adam J. Stewart
750027e80f libepoxy: remove meson dependency (#19659) 2020-11-01 16:11:46 -05:00
Adam J. Stewart
854aed2571 krb5: fix build with Apple Clang 12 (#19657) 2020-11-01 16:11:40 -05:00
Hervé Yviquel
f62efe5e2e Fix rdma-core package installation (#19643)
* add python-docutils dependency

* adds symlink to script for better compatibility if py-docutils installation

* Improve post_install phase of py-docutils

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

* fix review of rdma-core package

* improve formating of py-docutils package

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-01 10:08:06 -06:00
Andrew W Elble
ffd5f6b196 arborx: fix depends_on conditional (missing '+') (#19655) 2020-11-01 10:07:45 -06:00
Andrew W Elble
68ab6b252a hpl: fix conflict directive (missing '^') (#19656) 2020-11-01 10:07:08 -06:00
Andrew W Elble
3630a8a87a root: conflict is with a dependency (#19654) 2020-11-01 15:11:38 +01:00
Massimiliano Culpo
e4a5a06e87 gromacs: simplified use of targets (#19646) 2020-11-01 13:16:59 +01:00
Massimiliano Culpo
77fc458d29 opencv: fixed conflict firectives (missing '^') (#19645)
See https://github.com/spack/spack/pull/19501#issuecomment-718406357
2020-10-31 19:05:13 -05:00
Tim Haines
6b35324cf3 elfutils: add support for version 0.181 (#19634)
This also includes handling of the new libdebuginfod flags.
2020-10-31 13:03:04 -05:00
Jerome Soumagne
2cf1606896 mercury: update to v2.0.0 (#19635)
Remove deprecated selfforward option, on by default

Rename verbose option to debug option
2020-10-31 13:02:03 -05:00
Geoffrey Gunter
826ed5ff24 fmt: add version 7.1.0 (#19638) 2020-10-31 12:58:37 -05:00
vijay kallesh
51a9473bf8 [NEW] Added amdfftw, amdlibflame and amdscalapack recipes (#19457)
* [NEW] Added amdfftw, amdlibflame and amdscalapack recipes

Updated base fftw, libflame and netlib-scalapack recipes
to accommodate the above listed AMD Optimizing CPU Libraries
which are a set of numerical routines optimized for AMD platforms.

Updated amdblis spack recipe

amdblis:
	1. updated with amdblis 2.2 release
amdfftw:
	1. "--enable-single" now work as synonym for "--enable-float"
amdlibflame:
	1. Added enable_or_disable_threads() to set value for "--enable-multithreading" flag
Libflame:
	1. Added enable_or_disable_threads() to set value for "--enable-multithreading" flag
	2. Corrected invocation of "enable_or_disable('threads')"

Change-Id: I9da0a2c2c4e2075b7fa2776e7cfe6548a2e0b32f

* Added amd-toolchain-support as maintainers

Added team github account amd-toolchain-support
as maintainers for all the recipes owned by
AMD Optimizing CPU Libraries (AOCL) team

Change-Id: I9a7969bd48fc42cfbb88dd7bd93e0802c6138582

* Incorporated review comments

Updated packages.yaml with aocl components
Handled Flake8 test failures

Change-Id: I0a03f02d8c9f326b2434ec907958c3de3a8e18eb

* Readded accidental removal of stream recipe

amdfftw:
	1. Updated the aocc clang selection as per spack standards
fftw:
	1. Currently apple-clang section is redundant,
	already it is handled in the conflict checks.

Change-Id: Idef4a3f61717eb81f321e0cd16e7ba9619eac846

* Fix for style and docs/validate (pull_request) test

unnumbered format placeholders from {} to {0}

Change-Id: If67a3374177ec067573e5504462d257712fafc05

* changed compiler references to Spack's compiler wrapper:spack_cc, spack_cxx, spack_fc

Change-Id: I7ae29c978fff16e37773913f14c84df232499763

* Removed 'single' variant from amdfftw recipe

Instead of conflict for apple-clang + openmp, handled this senario
via below available feature:
depends_on('llvm-openmp', when='%apple-clang +openmp')

Change-Id: I701b23d83e822a500ca3aaf2b60cc9ace09e13dc

* Added relevant info for users who prefers to use single precision

Change-Id: I3506e21da428ddef5fb7895b5aaed32c2a061ef6

* Minor changes on fftw, amdfftw and libflame

amdfftw:
	1. Removed escape symbol to the single quotes
	2. Rewording the conflict line from Recommended
	to Required

fftw:
	1. Reorded to following recommended sections:
	versions, variants, dependencies, providers,
	patches

libflame:
	1. Added provides entry for 5.1.0 version

Change-Id: I21ebff99b6dfde031763154693ecb3f1fa47b476

* Removed single quote from amdfftw docstring to fix style failures

Change-Id: Ife939a5a2f5ccbc8879b730c7bebfe2fcfef9332
2020-10-31 11:57:17 -05:00
Morten Kristensen
08f4ba0c98 py-vermin: add latest version 1.0.1 (#19641) 2020-10-31 11:55:32 -05:00
Adam J. Stewart
d855ad2abb py-pandas: add v1.1.4 (#19632) 2020-10-30 20:12:47 -04:00
Andrew W Elble
dee92f9b42 New package: gqrx (#19633)
* gqrx and dependencies

* changes

* forgot log4cpp

* misc dep fixes
2020-10-30 19:01:29 -05:00
Danny Taller
9fb2d5521d changes to support hip build of camp (#19502)
* camp: changes to support hip build

* hip: add fallback path for external hip to detect other rocm components

Co-authored-by: Greg Becker <becker33@llnl.gov>
2020-10-30 13:33:54 -07:00
Massimiliano Culpo
c4aa5cb5bc Update documentation on containers (#19631)
fixes #15183

- Moved the container related content from
  workflows.rst into containers.rst
- Deleted the docker_for_developers.rst file,
  since it describes an outdated procedure

Co-authored-by: Axel Huebl <a.huebl@hzdr.de>
Co-authored-by: Omar Padron <omar.padron@kitware.com>
2020-10-30 21:17:15 +01:00
Massimiliano Culpo
33c3c3c700 Config: cache results of get_config (#19605)
`config.get_config` now caches the results and returns the same
configuration if called multiple times with the same arguments
(i.e. the same section and scope).

As a consequence, it is expected that users will always call
update methods provided in the `config` module after changing
the configuration (even if manipulating it as a Python nested
dictionary). The following two examples should cover most
scenarios:

* Most configuration update logic in the core (e.g. relating to
  adding new compiler) should call `Configuration.update_config`
* Tests that need to change the global configuration should use the
  newly-provided `config.replace_config` function.

(if neither of these methods apply, then the essential requirement
is to use a method marked as `_config_mutator`)

Failure to call such a function after modifying the configuration
will lead to unexpected results (e.g. calling `get_config` after
changing the configuration will not reflect the changes since the
first call to get_config).
2020-10-30 13:10:45 -07:00
Massimiliano Culpo
458d88eaad Make archspec a vendored dependency (#19600)
- Added archspec to the list of vendored dependencies
- Removed every reference to llnl.util.cpu
- Removed tests from Spack code base
2020-10-30 13:02:14 -07:00
Mathew Cleveland
f82e858238 update to OPPPY-0_1_4 release (#17716)
Co-authored-by: Cleveland <cleveland@lanl.gov>
2020-10-30 14:58:09 -05:00
darmac
d0ad622272 Add new package: wayland (#18826)
* Add new package: wayland

* remove duplicated dependency
2020-10-30 14:56:31 -05:00
David M. Rogers
d6f0cb0461 Patched hypre to better add flags based on compiler. (#19498)
* Patched hypre to better add flags based on compiler.

* Update package.py

This file seems to have lots of edits, so the patch may succeed with offsets.  Has anyone checked with spack patch to be sure it'll work with versions 2.15 - 2.20?
2020-10-30 14:55:21 -05:00
t-nojiri
ae3178f4eb py-pycbc: Fix for aarch64 (#19563)
* py-pycbc: Fix for aarch64

* py-pycbc: Change patch application conditions
2020-10-30 14:54:04 -05:00
Scott Wittenburg
31f57e56bb Binary caching: use full hashes (#19209)
* "spack install" now has a "--require-full-hash-match" option, which
  forces Spack to skip an available binary package when the full hash
  doesn't match. Normally only a DAG-hash match is required, which
  ensures equivalent Specs, but does not account for changing logic
  inside the associated package.
* Add a local binary cache index which tracks specs that have a binary
  install available in a remote binary cache. It is updated with
  "spack buildcache list" or for a given spec when a binary package
  is retrieved for that Spec.
2020-10-30 12:53:33 -07:00
Dr. Christian Tacke
124d654337 glew: Refactor as CMakePackage (#19588)
In #18394 it was noted, that this package should be changed
from a generic "Package" to a "CMakePackage".
It makes a bunch of things easier.

And it uses all the common cmake code.
2020-10-30 14:52:15 -05:00
t-nojiri
e1c1967b54 diamond: The version 2.0.4 file name has been changed. (#19595)
* diamond: The version 2.0.4 file name has been changed.

* diamond: Removed v2.0.4 URL.
2020-10-30 14:51:57 -05:00
Brian Van Essen
7dea225fce Update lbann version and simplify installation (#19579)
* Added hash values for LBANN v0.101 and Hydrogen v1.5.0.  Updated the
LBANN package to be more successful in resolving a legal configuration
of MPI and HWLOC packages.  This required the removal of the MPI
virtual package since it is unable to resolve dependencies with
minimum version requirements. As a result to enable a reasonable
install line for LBANN this requires explicit forwarding of MPI
variants to Hydrogen and Aluminum.  Due to the lack of variant
forwarding, there are many explicitly replicated dependencies for both
LBANN and Hydrogen.  Fixed the error in LBANN where gpu variant was
replaced by the cuda variant, but not all dependencies were fixed.

* Fixed the minumum cuDNN version for newer versions of LBANN.

* Added explicit versioning of the MPI libraries for DiHydrogen to avoid
all of the conflicts with minimum required versions of the OpenMPI library.

* Removed explicit MPI versions and went back to using the MPI virtual
dependency.  Updated construction of variant forwarding to use
iterative construction of constraints and variants.  This exacerbates
the challenges with backtracking in the current concretizer, but
should be fixed in the new concretizer.

* Added support for including the DiHydrogen library in LBANN as well as
support for the distributed convolution (DistConv) parallel
algorithms.  Also include support for building with half precision.

* Moving dependencies around

* Added conflict statement to ensure that the variant dihydrogen is
required for distconv.

* Removed the preferred field

* Fixed Flake8 and cuDNN version bounds
2020-10-30 14:51:10 -05:00
Hervé Yviquel
a04e7686f8 add recent versions of rdma-core package (#19604) 2020-10-30 14:50:20 -05:00
Dr. Christian Tacke
c3630ed26e hepmc: Add variants for length and momemtum (#19609) 2020-10-30 14:46:19 -05:00
Toyohisa Kameyama
5a5c220d0a py-dotnetcore2: Add conflict non x86_64 targets. (#19623) 2020-10-30 14:44:15 -05:00
Robert Underwood
f2318d80d2 sz: version bump 2.1.11 (#19613) 2020-10-30 14:41:21 -05:00
Jen Herting
05cd3c4380 New package: py-cudf (#19111)
* [py-cudf] created template

* [py-cudf] set build directory

* [py-cudf] adding dependencies

* [py-cudf] fixed phases

* [py-cudf] added cmake to fetch some third party dependencies

* [py-cudf] flake8

* [py-cudf] added homepage and description. removed fixmes

* [py-cudf] added dependency of py-cupy

* [py-cudf] depends on py-fsspec

* [py-cudf] py-pyarrow requires +orc

* [py-cudf] py-pyarrow requires +parquet

* [py-cudf] removed upper python limit

* [py-cudf] checksum changed
2020-10-30 14:36:49 -05:00
Tiziano Müller
724325f789 molden: adding the package (#19626) 2020-10-30 14:35:24 -05:00
Teodor Nikolov
fef20524f9 clingo: compilation error - needs a patch (#19624)
* Add a patch to clingo

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-30 11:36:53 -07:00
Adam J. Stewart
3d7e8ff399 PyTorch: add v1.7.0 (#19555) 2020-10-30 12:42:15 -05:00
Adam J. Stewart
cb877e2a28 py-pillow-simd: add older version (#19500) 2020-10-30 12:23:12 -05:00
Adam J. Stewart
be14679719 GDAL: add new version (#19504) 2020-10-30 12:22:53 -05:00
Adam J. Stewart
bea65aacda py-torchvision: add v0.8.0 (#19556)
* py-torchvision: add v0.8.0

* py-torchvision: add v0.8.1
2020-10-30 12:22:38 -05:00
Adam J. Stewart
bfab98d41e oneDNN: add v1.6.5 (#19557) 2020-10-30 12:22:07 -05:00
Adam J. Stewart
9dd2ddb7db py-numpy: add v1.19.3 (#19593) 2020-10-30 12:21:52 -05:00
Seth R. Johnson
f6189031b9 ninja: support spack find external (#19616) 2020-10-30 11:53:30 -05:00
manifest
fc1d39dedc gemini dep cyordereddict + (#19333)
* gemini dep py-cyordereddict +

* dep ipyparallel +

* py-ipython-cluster +

* py-cyordereddict URL+dep fix

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

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

* py-ipython-cluster-helper dep fix

* py-ipyparallel dep fix

* ipython-cluster-helper debug

* ipython-cluster-helper debug

* ipyparallel dep fix

* ipython-cluster-helper dep fix

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-30 11:43:03 -05:00
ajaust
e4851d1a89 New package: py-pyprecice (#19558)
* added initial version of package and patch for precice-bindings

* updated package name

* cleanup in script; added version requirement to cython

* Remove unnecessary part of patch

* cleanup package

* added initial version of package and patch for precice-bindings

* updated package name

* cleanup in script; added version requirement to cython

* Remove unnecessary part of patch

* cleanup package

* update style of package

* reformatting to fullfil style requirements

* reformatting again

* fixing some of the issues mention in PR; working on fixing install stage

* readded py-wheel as dependency

Co-authored-by: Benjamin Rüth <benjamin.rueth@tum.de>
2020-10-30 11:39:59 -05:00
Chuck Atkins
aaa1afe9ec mesa: Retire older autotools mesa as mesa18 and create current meson mesa (#19528) 2020-10-30 11:16:17 -04:00
Morten Kristensen
6a381940ae py-vermin: added v1.0.0 (#19618) 2020-10-30 10:26:56 +01:00
t-nojiri
11ea2be74a openfoam-org: added v8.0 (#19622)
openfoam:  fixed build on aarch64
2020-10-30 10:19:40 +01:00
Michael Kuhn
aa14a0aec7 graphviz: fix implicit patch (#19621)
The patch seems to be included in version 2.44.1 already. Moreover, it
is necessary to specify `level=0` to make it apply.
2020-10-30 10:16:40 +01:00
Peter Scheibel
3a863020f0 CI: disable vermin check for deprecated hash (#19612)
Spack has a fallback for hash checking with m55sums that may not be
supported in earlier versions of Python 3.x. The comments in the
Spack code acknowledge that this is best effort and may fail, but
recent vermin checks (running as part of our CI) reject this. This
disables vermin checks for that fallback.
2020-10-29 22:23:36 -07:00
t-nojiri
52379d87fe caliper: Fix for aarch64 (#19564) 2020-10-29 22:01:05 -05:00
Chris Chambreau
ebe1c6badd mpip: add v3.5 release (#19559)
* Update for mpip-3.5 release

* Additional changes to support 3.5 and 3.4.1 releases

* Specify python deptype
2020-10-29 16:56:54 -07:00
Frank Willmore
c954d50998 Oneapi add compiler (#19330)
* enable flatcc to be built with gcc/9.X.X

* add static option for building libyogrt

* cleanup

* Initial working version

* rework new oneapi wrappers

* tested and removed my initials from source

* cleanup

* Update __init__.py

* remove whitespace

* working now with mods for testing, detection. Detection for oneapi is working, but entry needs to be modified to add link path for libimf.so. Cleared cruft for old Intel versions

* fixed some formatting

* cleanup

* flake8 cleanup

* flake8

* fixed syntax of compiler version detection tests

* fixed syntax of compiler version detection tests

	modified:   detection.py

* fix typo

* fixes for compilers tests

* remove erroneous tests for outdated -std= flags, remove ifx version check (output won't parse)

Co-authored-by: Frank Willmore <willmore@anl.gov>
2020-10-29 16:52:54 -05:00
Jean-Paul Pelteret
52959528a2 Suite-sparse: Fix Darwin install name (#19507) 2020-10-29 15:29:39 -05:00
Geoffrey Oxberry
af057e0196 yapf: add version 0.30.0 (#19598) 2020-10-29 14:14:55 -05:00
Ben Corbett
305d8d9b1b Adds a package for LvArray (#19221)
* RAJA and CHAI changes.

* Added LvArray package.
2020-10-29 13:52:10 -05:00
David Beckingsale
e2a720930a Patch CMake version check in Umpire (#19590)
* Patch CMake version check in Umpire

* Update version constraint for cmake_version_check patch

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

* Add maintainers to Umpire

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-29 11:32:56 -07:00
Jen Herting
518124c14a [py-torch-nvidia-apex] added version 201019 and added dependency on p… (#19548)
* [py-torch-nvidia-apex] added version 201019 and added dependency on py-pybind11

* [py-torch-nvidia-apex] changed versioning format

* [py-torch-nvidia-apex] removed redundent version condition

* [py-torch-nvidia-apex] removed condition on dependency
2020-10-29 11:20:18 -05:00
Jen Herting
0fc79293c6 New package: py-cupy (#19468)
* [py-cupy] created template

* [py-cupy] added dependencies

* [py-cupy] switched to git based download for submodules

* [py-cupy] added dependencies

* [py-cupy] added homepage and description. removed fixmes

* [py-cupy] updated to tarball from pypi
2020-10-29 11:17:14 -05:00
h-denpo
c2e6610948 plplot:fix: add: depends_on('libsm', type='link') (#19594) 2020-10-29 11:10:57 -05:00
Rémi Lacroix
a4a64e1fbd Gromacs: Remove a dependency that could never be enabled. (#19599)
The `fft` variant was removed but not the associated dependency.
2020-10-29 11:08:13 -05:00
Greg Becker
71cb46afde clingo+python extends python (#19585) 2020-10-29 10:38:17 -05:00
AMD Toolchain Support
09b63ae3d1 Adding AOCC support for M4 (#19572)
* Adding AOCC support for M4

* combining 4 if-statements into a single if-statement with or conditions

* keeping parentheses around the or expressions

* fixing flake8 test failures

Co-authored-by: mohan babu <mohbabul@amd.com>
2020-10-29 10:13:30 -05:00
G-Ragghianti
0bed9a1990 SLATE package: New versions of slate, blaspp, and lapackpp with CMake build support (#19587)
* New versions of slate, blaspp, and lapackpp with CMake build support

* Fixing formatting
2020-10-29 10:13:02 -05:00
t-nojiri
ad87eece17 launchmon: Fix for aarch64 (#19562) 2020-10-28 21:11:36 -05:00
Seth R. Johnson
ef9c80de23 qt: Silence build and force xmlpatterns library on for Qt4 (#19591)
For some mysterious reason Qt4 stopped building the xmlpatterns
component, needed by some downstream packages. With this patch, the
component successfully builds with
```
qt@4.8.7~dbus~debug~examples~framework~gtk~opengl~phonon+shared~sql~ssl~tools~webkit freetype=none arch=linux-rhel7-haswell %gcc@10.2.0
```
2020-10-28 20:47:16 -05:00
manifest
f7269ffd0a pest suit + (#19458)
* pestpp +

* build -f default
2020-10-28 20:46:04 -05:00
manifest
b4a0a43d98 PopLDdecay package + (#17802)
* poplddecay bio

* flake8 debug

* bin PATH correction

* build step opt

* BUILD_PATH fix

* retro implementation + style fix
2020-10-28 20:45:24 -05:00
manifest
3243e904a8 Pbbam debug (#17803)
* pbbam path fix

* pbbam flake8 fix

* sys var build_directory sub

* pbbam flake8 fix
2020-10-28 20:44:38 -05:00
Todd Gamblin
aebf20ebdc sbang: vendor sbang
`sbang` now lives at https://github.com/spack/sbang, and it has its own
test suite that's more extensive than what's in Spack. We'll leave sbang
tests to sbang from now on, and just vendor `bin/sbang` directly.
Remaining `sbang` tests have to do with patching files, not with
`sbang`'s functionality.

This update also fixes a bug with `sbang` and multiple command line
arguments that was introduced in #19529. See:
  * https://github.com/spack/sbang/pull/1
  * https://github.com/spack/sbang/pull/2

- [x] include latest `sbang` from https://github.com/spack/sbang
- [x] remove old `sbang` tests from Spack
- [x] update `COPYRIGHT` and `cmd/license.py`
2020-10-28 17:43:23 -07:00
David Beckingsale
44bacefb27 RAJA package: Don't set both CUDA_ARCH and CMAKE_CUDA_FLAGS (#19589) 2020-10-28 16:54:23 -07:00
dunatotatos
f028079564 Update strelka (#19565)
* Update package.py

Remove breaking patch.

Patching the shebang is useless is the dependencies are properly loaded before execution. Furthermore, the long paths which can be generated when installing with Spack can exceed the maximum length of the shebang.

* Add newer versions of strelka.
2020-10-28 10:58:30 -05:00
dunatotatos
1dd7370885 Remove unused dependency. (#19566)
Boost is not used to build Manta.
2020-10-28 10:57:19 -05:00
Toyohisa Kameyama
f320a650d8 py-mmcv: fix Opencv detection. (#19567) 2020-10-28 10:56:52 -05:00
Roberto Di Remigio
98a1771590 Do not build XCFun tests (#19568) 2020-10-28 10:56:11 -05:00
Roberto Di Remigio
f4b63db78f Do not build MRCPP tests (#19569) 2020-10-28 10:55:46 -05:00
Roberto Di Remigio
85e6334d6f Add new package: mrchem (#19571) 2020-10-28 10:55:19 -05:00
Dr. Christian Tacke
674fb16828 openssl: Add version 1.1.1h (#19574) 2020-10-28 10:53:33 -05:00
Pieter Ghysels
9b809e01b4 Add new minor version 1.2.1 for ButterflyPACK (#19554) 2020-10-27 20:28:24 -05:00
lorddavidiii
6a5d399f55 asciidoc-py3 add docbook dependency and fix a enviroment variable problem for docbook-{xml,xsl} (#19547)
* asciidoc-py3: add docbook-{xml,xsl} dependency

* docbook-{xsl,xml}: fix XML_CATALOG_FILES enviroment variable
2020-10-27 20:11:37 -05:00
Jen Herting
79b0eab2af New package: libcudf (#19110)
* [libcudf] created template

* [libcudf] depends on cuda

* [libcudf] set cmake dir

* [libcudf] depends on boost

* [libcudf] depends on py-pyarrow

* [libcudf] depends on librmm

* [libcudf] depends on dlpack

* [libcudf] added more dependency information from https://github.com/rapidsai/libcudf/blob/v0.15.0/CONTRIBUTING.md#customizing-the-build

* [libcudf] removed python dependencies

* [libcudf] fixed url that got mangled in package renaming

* [libcudf] added default build options from build.sh

* [libcudf] added version 0.16.0a

* [libcudf] removed version 0.16.0a as it's an alpha version

* [libcudf] added homepage and description. removed fixmes

* [libcudf] flake8

* [libcudf] arrow requires +orc

* [libcudf] requires +parquet

* [libcudf] checksum changed
2020-10-27 20:11:06 -05:00
Jen Herting
7bd5397aca New Package: py-rmm (#19104)
* [py-rmm] created template

* [py-rmm] added dependencies

* [py-rmm] setting build_directory

* [py-rmm] added dependencies cuda and spdlog

* [py-rmm] added homepage and description. removed fixmes

* [py-rmm] added for loop for dependency versions

* [py-rmm] flake8

* [py-rmm] updating upper range of python version

* [py-rmm] removing python upper limit
2020-10-27 20:10:40 -05:00
t-nojiri
429f49a1e4 bowtie2: Add version 2.4.2 (#19537) 2020-10-27 20:09:05 -05:00
Todd Gamblin
965ccb78cf sbang: use bashcov in sbang on Linux 2020-10-27 13:59:46 -07:00
Todd Gamblin
ec9456feb8 sbang: convert sbang script to POSIX shell
`sbang` was previously a bash script but did not need to be. This
converts it to a plain old POSIX shell script and adds some options. This
also allows us to simplify sbang shebangs to `#!/bin/sh /path/to/sbang`
instead of `#!/bin/bash /path/to/sbang`.

The new script passes shellcheck (with a few exceptions noted in the file)

- [x] `SBANG_DEBUG` env var enables printing what *would* be executed
- [x] `sbang` checks whether it has been passed an option and fails gracefully
- [x] `sbang` will now fail if it can't find a second shebang line, or if
      the second line happens to be sbang (avoid infinite loops)
- [x] add more rigorous tests for `sbang` behavior using `SBANG_DEBUG`
2020-10-27 13:59:46 -07:00
adityakavalur
9f89a7e9f7 Update package.py (#19513)
On Cori(Cray-XC40), I need to pass the entire path for the compilers, this is what is saved in c_compiler, cpp_compiler, f_compiler. Therefore, when for the MPI wrappers only the binary name is provided I run into the same issue. There is no drawback of passing the entire path, this is set by the user through the compiler path anyways.
2020-10-27 13:24:09 -05:00
Roberto Di Remigio
7313cf5ea5 Update MRCPP package.py (#19541) 2020-10-27 09:58:24 -05:00
h-denpo
78a759129a ghostscript: fix: add: depends_on('krb5', type='link') (#19536) 2020-10-27 09:54:33 -05:00
t-nojiri
f6c51efa85 diamond: Add version 2.0.4 (#19535) 2020-10-27 09:53:38 -05:00
Jungwon Kim
64974c43c7 added -lpthread flag in kv/tests/CMakeLists.txt (#19533)
* added -lpthread flag in kv/tests/CMakeLists.txt

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-27 09:53:22 -05:00
daichi-nishi
e214deec5b modified:var/spack/repos/builtin/packages/ppopen-appl-bem-at/package.py (#19538) 2020-10-27 09:53:04 -05:00
Chuck Atkins
57200f01fd camp: Add missing checksum (#19543) 2020-10-27 09:52:28 -05:00
Toyohisa Kameyama
bb00b1a7c9 sbang: add support for php (#18299)
PHP supports an initial shebang, but its comment syntax can't handle our 2-line
shebangs. So, we need to embed the 2nd-line shebang comment to look like a
PHP comment:

    <?php #!/path/to/php ?>

This adds patching support to the sbang hook and support for
instrumenting php shebangs.

This also patches `phar`, which is a tool used to create php packages.
`phar` itself has to add sbangs to those packages (as phar archives
apparently contain UTF-8, as well as binary blobs), and `phar` sets a
checksum based on the contents of the package.

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-10-26 22:11:43 -07:00
t-nojiri
cb07d9ddb1 netgauge: Fix for aarch64 (#19462)
* netgauge: Fix for aarch64

* netgauge: Revise the points indicated by the review.
2020-10-26 20:20:18 -05:00
Geoffrey Gunter
e9223062a8 New package: date (#19515)
* Add new package: date

* date: resolve style conformance issues

* date: explicitly disable some cmake options

Explicitly disable CMake options corresponding to variant
'tzdb=download'

* date: make more cmake options explicit

* date: simplify defining cmake cli args
2020-10-26 20:18:34 -05:00
Todd Gamblin
bc4e7eabfe coverage: add bin directory to coverage (#19530) 2020-10-26 16:23:22 -07:00
iarspider
93c985e5a9 New package: py-minrpc (#19524)
* New package: py-minrpc

* Delete package.py.save

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-26 16:20:45 -05:00
jthies
5d5711621a packages/phist: fix incorrect git url (#19527)
Co-authored-by: Thies <thie_jo@fe-store01.sc.bs.dlr.de>
2020-10-26 16:19:53 -05:00
Sinan
4f720fb9ba package/gunrock add v1.2 (#19516)
* package/gunrock add v1.2

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

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

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-26 16:17:27 -05:00
David Beckingsale
4f9c621284 Add camp & BLT dependencies to Umpire (#19411)
* Add camp & BLT dependencies to Umpire

* Remove tests variant
2020-10-26 16:12:03 -05:00
Patrick Gartung
1c2c30a139 sbang: put sbang in the install_tree (#11598)
`sbang` is not always accessible to users of packages, e.g., if Spack
is installed in someone's home directory and they deploy software
for others.  Avoid this by:

1. Always installing the `sbang` script in the `install_tree`
2. Relocating binaries to point to the copy in the `install_tree` 
   and not the one in the Spack installation.

This PR also:
- ensures that `sbang` is reinstalled if it is modified in Spack
- adds tests
- updates the way `gobject-introspection` patches Makefiles
   to support `sbang`

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-10-26 12:37:54 -07:00
dunatotatos
718150b997 Update GATK versions. (#19521) 2020-10-26 13:32:35 -05:00
takanori-ihara
b9d3d668d9 fujitsu-ssl2: update package.py (#19519) 2020-10-26 13:31:45 -05:00
Geoffrey Gunter
7ce4518cc0 abseil-cpp: add versions 20200923.{1,2} (#19517) 2020-10-26 13:29:16 -05:00
Jen Herting
7649c652c0 New package: py-visdom (#19479)
* [py-visdom] created template

* [py-visdom] added dependencies

* [py-visdom] added homepage and description. removed fixmes

* [py-visdom] added dependency on py-torchfile

* [py-visdom] py-pillow -> pil

* [py-visdom] fixed url format

* [py-visdom] fixed url format
2020-10-26 13:24:30 -05:00
David Beckingsale
7ca1f6c5d5 Add BLT package (#19410)
* Add BLT package

* Switch install function

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

* Add type='run' to cmake dependency

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

* Add git attribute to BLT

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-26 12:15:55 -05:00
Tiziano Müller
f921bcbe0b cp2k, libxc, libint: fix builds with %intel, resp. intel-parallel-studio+mkl (#19522)
* cp2k: locate correct include dir when using intel-parallel-studio+mkl for fftw-api

* libxc: drop arch-specific intel opt. flags

fixes #17794

* libint: drop arch-specific intel opt. flags, always build Fortran example with FC

fixes #17509
2020-10-26 16:32:15 +01:00
Todd Gamblin
fd6c163e02 bugfix: test_push_and_fetch_keys should be skipped w/o gpg (#19511)
- [x] add a `@pytest.skipif` decorator
2020-10-26 07:24:49 -07:00
Sinan
2e3355d2f9 package/pmdk add variants, version 1.9 (#19512)
* package/pmdk add variants, version 1.9

* add dependency

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

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

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-25 20:39:44 -05:00
jthies
182ca4cb68 phist: two new versions and disable ccache because we don't have a dependency on ccache. (#19510)
Otherwise, phist would look for ccache via cmake, which is not the spack way to do it.

Co-authored-by: Thies <thie_jo@be-cpu03.sc.bs.dlr.de>
2020-10-25 16:35:43 -05:00
Todd Gamblin
01953dc513 bugfix: fix config merge order for OrderdDicts (#18482)
The logic in `config.py` merges lists correctly so that list elements
from higher-precedence config files come first, but the way we merge
`dict` elements reverses the precedence.

Since `mirrors.yaml` relies on `OrderedDict` for precedence, this bug
causes mirrors in lower-precedence config scopes to be checked before
higher-precedence scopes.

We should probably convert `mirrors.yaml` to use a list at some point,
but in the meantie here's a fix for `OrderedDict`.

- [x] ensuring that keys are ordered correctly in `OrderedDict` by
      re-inserting keys from the destination `dict` after adding the keys from
      the source `dict`.

- [x] also simplify the logic in `merge_yaml` by always reinserting
      common keys -- this preserves mark information without all the special
      cases, and makes it simpler to preserve insertion order.

Assuming a default spack configuration, if we run this:

```console
$ spack mirror add foo https://bar.com
```

Results before this change:

```console
$ spack config blame mirrors
---                                                          mirrors:
/Users/gamblin2/src/spack/etc/spack/defaults/mirrors.yaml:2    spack-public: https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/
/Users/gamblin2/.spack/mirrors.yaml:2                          foo: https://bar.com
```

Results after:

```console
$ spack config blame mirrors
---                                                          mirrors:
/Users/gamblin2/.spack/mirrors.yaml:2                          foo: https://bar.com
/Users/gamblin2/src/spack/etc/spack/defaults/mirrors.yaml:2    spack-public: https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/
```
2020-10-24 16:48:04 -07:00
Massimiliano Culpo
6752a39629 py-coverage: added v5.3 (#19509) 2020-10-24 22:29:48 +02:00
Todd Gamblin
2893c23e7c docs: update docs on shell support and using packages (#19486)
Shell integration no longer requires setting `SPACK_ROOT`, so we can
simplify the documentation on it. The docs on shell support and using
packages are getting a bit old, and information on `spack load` (which
seems to be everyone's most common way of using packages) is hard to
find.

This PR simplifies the shell documentation to remove SPACK_ROOT, and also
moves some sections around for clearer organization.

- [x] make docs on sourcing setup scripts clearer and simpler

- [x] introduce `spack load` early in the basic usage guide instead of
      burying it in the module docs

- [x] clean up module docs so that spack module tcl loads comes later

- [x] be clear about the different ways to use packages so that the users
      can find the docs better.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-10-23 22:16:01 -07:00
Todd Gamblin
560beb098e csh: don't require SPACK_ROOT for sourcing setup-env.csh (#18225)
Don't require SPACK_ROOT for sourcing setup-env.csh and make output more consistent
2020-10-23 18:54:34 -07:00
Marty Kandes
4cf85ed5f7 Fix GROMACS to require FFTW when using cuda (#19505)
GROMACS still requires a version of FFTW when compiling it to utilize
NVIDIA GPUs. In fact, the type of calculation that depends on FFTW --
Particle-Mesh Ewald (PME) -- is generally run on the host system's CPUs,
even when GPUs are available.
2020-10-23 18:58:13 -05:00
iarspider
978d8ad0af New package: py-rise (#19496)
* New package: py-rise

* Fix URL and add description

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-23 14:59:52 -05:00
Tiziano Müller
bbc048e615 let intel-parallel-studio provide fftw-api for +mkl (#19497) 2020-10-23 11:02:56 -05:00
Scott McMillan
ccc331af26 CMake fix: narrow versions that the PGI patch is applied to (#19495)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2020-10-23 11:00:16 -05:00
iarspider
1d56ad0cdb New package: py-gsi (#19494)
* New package: py-gsi

* Add dependency on py-setuptools
2020-10-23 10:59:31 -05:00
lorddavidiii
4d414e58b9 Update asciidoc-py3 and fix build problem (#19491)
* asciidoc-py3: add new version 9.0.3

* asciidoc-py3: fix build

- add libxml2 and libxslt as dependency
2020-10-23 10:47:38 -05:00
daichi-nishi
270c647e71 modified:var/spack/repos/builtin/packages/ppopen-appl-fem/package.py (#19489) 2020-10-23 10:46:57 -05:00
daichi-nishi
5e3e3672f6 modified:var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py (#19488) 2020-10-23 10:46:30 -05:00
Tiziano Müller
33989341bd gaussian-src: initial commit, gaussian-view: update to 6.1.1 (#17711)
* gaussian-src: initial commit to build from source

* do not install the source to ensure to not accidentally distribute
  it to users
* set required runtime env vars based on the login.profile

* gaussian-view: update to 6.1.1
2020-10-23 10:43:34 -05:00
Michael Kuhn
dcf8cf317b gcc: Fix zstd patch version range (#19490)
PR #19482 updated gcc to only apply the zstd patch until @10.2 but the
releases/gcc-10 branch actually does not contain the patch yet, that is,
gcc@10.3 will most likely have the same problem. Apply the patch for all
10.x releases instead.
2020-10-23 07:37:15 -05:00
darmac
4d4f7393a3 Add new package: acpica-tools (#18739)
* Add new package: acpica-tools

* refine build dependencies
2020-10-23 10:17:46 +02:00
Thomas Green
fe04f06896 gcc: fix build of gcc@master by limiting the version range of a patch (#19482)
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>
2020-10-23 09:32:05 +02:00
Todd Gamblin
7b7907077f graphviz: add patch for XCode 12 (#19485)
- [x] Add a patch to fix an implicit declaration error with apple-clang 12
2020-10-23 09:26:55 +02:00
darmac
a381b44b75 openipmi: added new package at v2.0.28 (#18790)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-23 09:24:05 +02:00
daichi-nishi
98a7cf7654 modified:var/spack/repos/builtin/packages/ppopen-appl-fvm/package.py (#19487) 2020-10-22 23:06:37 -05:00
manifest
8ac4284e66 Bcolz (#19331)
* gemini dep -py-bcolz +

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

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

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

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

* py-bcolz URL fix

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-22 23:04:38 -05:00
iarspider
625136b5da Syscalc hash (#19323)
* Update syscalc hash

* Tiny fix

* Change URL and update hash as advised by the devs

Co-authored-by: iarspider <iarpsider@gmail.com>
2020-10-22 16:55:52 -05:00
Jen Herting
971d13e9bd New package: py-dominate (#19483)
* [py-dominate] created template

* [py-dominate] added dependencies

* [py-dominate] added homepage and description. removed fixmes

* [py-dominate] fixed url format
2020-10-22 16:53:01 -05:00
Scott McMillan
0015dd0bf8 Enable packages to use the NVIDIA HPC SDK (#19452)
* Enable packages to use the NVIDIA HPC SDK

* fix linter and review items

* fix linter issue

Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2020-10-22 16:42:48 -05:00
Jen Herting
fd3dbb2493 New package: py-torchfile (#19481)
* [py-torchfile] created template

* [py-torchfile] set python versions

* [py-torchfile] depends on py-numpy

* [py-torchfile] fixed url format

* [py-torchfile] added homepage and description. removed fixmes

* [py-torchfile] fixed url format
2020-10-22 16:36:34 -05:00
Massimiliano Culpo
4ec404dfc0 Add scratch module roots to test configuration (#19477)
fixes #19476

Module file content is written to file in a
temporary location and read back to be analyzed
by unit tests.

The approach to patch "open" and write to a
StringIO in memory has been abandoned, since
over time other operations insisting on the
filesystem have been added to the module file
generator.
2020-10-22 13:59:39 -07:00
Jen Herting
d6f19eeed2 [py-pyarrow] cuda and orc support (#19445)
* [py-pyarrow] telling setup.py that we want cuda support

* [py-pyarrow] added orc variant

* [py-pyarrow] passing the orc variant down the line

* [py-pyarrow] added variant description
2020-10-22 15:19:16 -05:00
Jen Herting
0baaeec58d Arrow: add orc support (#19442)
* [arrow] added orc support variant

* [arrow] depends on orc

* [arrow] added explicit disable of features for variants
2020-10-22 15:18:54 -05:00
daichi-nishi
5407a74f2b modified:var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py (#19459) 2020-10-22 15:03:09 -05:00
daichi-nishi
680c0ac06d modified : var/spack/repos/builtin/packages/ppopen-appl-bem/package.py (#19460) 2020-10-22 15:02:41 -05:00
daichi-nishi
fb82810d50 ppopen-appl-dem-util:change download site to github. (#19461)
* modified:var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py

* modified:var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py:deleted whitespace
2020-10-22 15:02:11 -05:00
lorddavidiii
6a82b2260f Add opencl-headers and use ocl-icd as OpenCL provider (#19463)
* ocl-icd: fix build problems

* New package: opencl-c-headers

* New package: opencl-clhpp

* New bundled package: opencl-headers

- bundle C and C++ header files

* ocl-icd: Add +headers variant to use this as opencl provider

* ocl-icd: add new upstream release 2.2.13

* ocl-icd: add asciidoc-py3 and xmlto dependency needed for manpage generation

* ocl-icd and opencl-headers provides OpenCL 3.0

- also add more explicit version providing for older ocl-icd versions

* opencl-headers: add maximum of supported opencl versions for all versions

* opencl-headers: there aren't final releases with OpenCL 3.0
2020-10-22 15:00:40 -05:00
daichi-nishi
7c78d15e74 modified:var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py (#19464) 2020-10-22 14:57:37 -05:00
dunatotatos
61a7900573 Restrict Python version for Strelka to Python 2. (#19466)
Fix #19465
2020-10-22 14:56:54 -05:00
Jen Herting
32a68fbbd4 New Package: py-fastrlock (#19467)
* [py-fastrlock] created template

* [py-fastrlock] added dependencies and setting --with-cython

* [py-fastrlock] added homepage and description. removed fixmes
2020-10-22 14:55:14 -05:00
Andrew W Elble
e4ce123ddf hercules (#19434) 2020-10-22 15:20:30 -04:00
darmac
0d46531791 Add new package: py-cantoolz (#18812)
* Add new package: py-cantoolz

* refine depends
2020-10-22 14:11:06 -05:00
Jen Herting
e1e0bbb4cb New package: orc (#19441)
* [orc] created template

* [orc] depends on maven

* [orc] building with -fPIC

* [orc] fixed name of c flags option

* [orc] depends on openssl

* [orc] added dependencies and disableing installing vendored libs

* [orc] disabling hdfs

* [orc] depending on specific versions of dependencies

* [orc] no building of third party libs

* [orc] helping cmake find the dependencies

* [orc] disabling features that would require static protobuf libraries

* [orc] dependency versions are ranges

* [orc] added homepage and description. removed fixmes

* [orc] flake8

* [orc] switching to compilier indipendent code
2020-10-22 14:05:18 -05:00
Jen Herting
bd0b53f4fb [treelite] added python and protobuf support (#19444)
* [treelite] added protobuf variant

* [treelite] adding python support

* [treelite] disable protobuf by default

* [treelite] flake8

* [treelite] reordered phases
2020-10-22 14:03:05 -05:00
Justin S
121a8a5cd9 transrate: new package at 1.0.3 (#19295)
* transrate: new package at 1.0.3

* transrate: add macOS binary distribution

* transrate: fix platform switching
2020-10-22 14:01:49 -05:00
Justin S
db167897f4 py-tomlkit: new package at 0.7.0 (#19450)
* py-tomlkit: new package at 0.7.0

* py-tomlkit: add dependencies
2020-10-22 14:01:14 -05:00
Andrew W Elble
f4049a71c2 New package: py-labours (#19433)
* py-labours

* fix dep version constraints
2020-10-22 14:14:57 -04:00
Andrew W Elble
b77279e9cc py-seriate (#19432) 2020-10-22 12:36:12 -04:00
Andrew W Elble
745875b008 New package: py-or-tools (#19431)
* py-or-tools

* python is, of course, a runtime dep

* more dependency fixes, use extends.

* protobuf is >= 3.12.2
2020-10-22 11:59:48 -04:00
darmac
646af81263 r-sf: fix build error (#19386)
* r-sf: fix build error

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-22 10:57:28 -05:00
iarspider
601636b755 Add herwig3 (#19406)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Add herwig3

* Prepare fixes based on MR (needs checking)

* Set all dependencies (except python) as build-type

* OK now

* Move import to the top of the file

* Fix dependency name

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-22 10:56:53 -05:00
Andrew W Elble
019205ec7a cbc (#19419) 2020-10-22 11:20:19 -04:00
Andrew W Elble
7935ec501f cgl (#19420) 2020-10-22 10:47:23 -04:00
Andrew W Elble
caab89b9c9 New package: py-lifelines (#19429)
* py-lifelines

* also carry the newer version of lifelines

* 0.25.5 needs python >= 3.6
2020-10-21 22:33:02 -05:00
Andrew W Elble
e800b6029f clp (#19418) 2020-10-21 22:32:44 -05:00
iarspider
74e93aff41 Add Gosam (#19401)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Add gosam

* Flake-8

* Flake-8

* Delete gosam-1.2.4.patch

Remove patch

* Remove patch from recipe

* Changes from MR

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-21 22:32:29 -05:00
Todd Gamblin
8060cca494 tests: increase tolerance of termios tests (#19456)
Synchronization on GitHub macOS runners seems to be very slow, and
frequently the foreground/background tests fail due to the race this
causes. This increases the tolerance for slowness a bit more, to allow up
to 4 spurious output lines in the tests.

This should hopefully result in no more false negatives on these tests
for macOS on GitHub.
2020-10-21 18:12:48 -07:00
Tamara Dahlgren
e78764caa1 Added _poll_lock exception tests (#19446) 2020-10-21 17:32:04 -07:00
Tom Payerle
94221fa225 new package: py-tinyarray (#19454) 2020-10-21 19:28:34 -05:00
Andrew W Elble
ec068f8070 New package: py-autograd-gamma (#19426)
* py-autograd-gamma

* missing dependencies
2020-10-21 19:19:46 -05:00
iarspider
27211ba90b Add Njet (#19399)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Add NJet

* flake-8

* Flake-8

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-21 19:16:29 -05:00
iarspider
399ca3b671 Add qgraf (#19404)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Add qgraf

* Update package.py

Changes from review

* Changes from MR

* Fix for URLs containing @ symbol

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-21 19:16:11 -05:00
Andrew W Elble
5a0303860d osi (#19424) 2020-10-21 19:15:34 -05:00
Todd Gamblin
16e75ecac0 shell support: make which spack output intelligible (#19256)
Zsh and newer versions of bash have a builtin `which` function that will
show you if a command is actually an alias or a function. For functions,
the entire function is printed, and our `spack()` function is quite long.
Instead of printing out all that, make the `spack()` function a wrapper
around `_spack_shell_wrapper()`, and include some no-ops in the
definition so that users can see where it was created and where Spack is
installed.

Here's what the new output looks like in zsh:

```console
$ which spack
spack () {
	: this is a shell function from: /Users/gamblin2/src/spack/share/spack/setup-env.sh
	: the real spack script is here: /Users/gamblin2/src/spack/bin/spack
	_spack "$@"
	return $?
}
```

Note that `:` is a no-op in Bourne shell; it just discards anything after
it on the line. We use it here to embed paths in the function definition
(as comments are stripped).
2020-10-21 17:04:42 -07:00
Todd Gamblin
93e7267dcc unzip: fix build for XCode 12 on macosx (#19453)
- [x] `build_targets` should use `macosx` on macOS, `generic` on other systems
- [x] enable `LARGE_FILE_SUPPORT` by default
2020-10-21 15:31:29 -07:00
iarspider
a1278bfba0 Add Madgraph 2.8.1 (#19400)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Update madgraph to 2.8.1

* Changes from MR

* Changes from MR

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-21 17:13:00 -05:00
Andrew W Elble
935aa06838 New package: py-fastdtw (#19427)
* py-fastdtw

* cython is buildtime dep
2020-10-21 17:09:41 -05:00
G-Ragghianti
d61c236db4 Lapackpp package update (#19447)
* Updated blaspp package

* Modified lapackpp for newest release

* Formatting

* Updates to lapackpp package for new version

* Added dependency on cblas

* Removed cblas dependency

* updated to lapackpp

* Added new version for blaspp and lapackpp

* Removed debugging output

* Converted version matching logic for for loop
2020-10-21 17:09:25 -05:00
Justin S
05df3c3225 py-drmaa: new package at 0.7.9 (#19451) 2020-10-21 17:09:08 -05:00
Justin S
2b3ead0b72 py-sqlalchemy-utils: new package at 0.36.8 (#19449) 2020-10-21 16:52:37 -05:00
Justin S
bbc9c5533e py-jsonref: new package at 0.2 (#19448) 2020-10-21 16:51:39 -05:00
Simon Frasch
44a81bf914 spla: Add version 1.2.1 (#19436) 2020-10-21 16:50:44 -05:00
Massimiliano Culpo
c696518efd Skip malformed spec strings when searching for externals (#19438)
fixes #19266

fzf search method has also been updated

Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
2020-10-21 21:35:02 +02:00
Sajid Ali
2bb775496e mpich : add python build-only dependency (#19403)
* mpich: yaksa configure fix

	modified:   var/spack/repos/builtin/packages/mpich/package.py

* typo

* python is not needed when building from preconfigured tarballs

* add maintainers
2020-10-21 13:38:09 -05:00
Andrew W Elble
b616dbc56b New package: py-autograd (#19425)
* py-autograd

* add missing dependencies
2020-10-21 13:37:05 -05:00
Lígia Diana Amorim
947ba7e8bf Added FFLAGS for apple-clang:11 (#17935)
* Added FFLAGS for apple-clang:11

* Added issue #

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-21 12:34:45 -05:00
Massimiliano Culpo
bd178ead14 gromacs: fix SIMD argument for ppc64le (#19435)
fixes #19414
2020-10-21 11:33:51 -05:00
Chuck Atkins
fdf0cde5b9 veloc: Add missing openssl dependency (#19437) 2020-10-21 12:32:35 -04:00
Andrew W Elble
d4a6efd021 scipoptsuite (#19430) 2020-10-21 10:56:16 -05:00
Andrew W Elble
e9eb9cdc41 py-hdbscan (#19428) 2020-10-21 10:53:43 -05:00
Andrew W Elble
c678f119ba glog (#19423) 2020-10-21 10:48:07 -05:00
Andrew W Elble
70cfdab372 gflags (#19422) 2020-10-21 10:47:31 -05:00
Andrew W Elble
a26b744b65 coinutils (#19421) 2020-10-21 10:46:50 -05:00
albestro
f006a54db2 Update git to 2.29.0 (#19415) 2020-10-21 11:39:43 -04:00
darmac
f4ecc8bad7 update version to avoid compile error (#19363)
* update version to avoid compile error

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-21 10:39:02 -05:00
Kelly (KT) Thompson
490105ea20 Provide doxygen@1.8.20. (#19412) 2020-10-21 10:38:40 -05:00
darmac
1a57787686 py-cvxopt: refine dependency @1.1.9 and update version to @1.2.5 (#19385)
* refine dependency @1.1.9 and update version to @1.2.5

* refine depends_on() for python
2020-10-21 10:22:26 -05:00
iarspider
640d1a0034 Add FORM (#19397)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Add FORM

* Update package.py

Changes from review

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-21 10:20:26 -05:00
iarspider
cf733b2dd2 Add QD (#19402)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Add QD

* Update package.py

Changes from review

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-21 10:18:15 -05:00
Chris Richardson
f0712bde48 Add Allinea to cray-libsci (#19232) 2020-10-21 10:06:31 -05:00
Toyohisa Kameyama
35ad3bb0fc quantum-espresso: fix build fail @6.6 and add conflicts a64fx. (#19383)
* quantum-espresso: fix build fail @6.6 and add conflicts a64fx.

* get patch to gitlab.

* Add +patch
2020-10-21 10:03:54 -05:00
Omri Mor
1147220b9b CMakePackage: added 'ipo' variant (#18374)
+ipo sets CMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
The option is not supported for CMake < 3.9
2020-10-21 11:09:45 +02:00
Massimiliano Culpo
bed929e7a9 Make url_fetch test independent of locale settings (#19390) 2020-10-21 09:18:50 +02:00
Greg Becker
a5faf7d27a Change 'any' to wildcard for variants (#19381) 2020-10-21 08:05:29 +02:00
Martin Aumüller
0e6b818c52 Add new packages: ispc & embree (#19361)
* Add new package: ispc

* Add new package: embree
2020-10-20 19:00:45 -05:00
iarspider
03611f2e89 Thepeg fix (#19405)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Fixes for thepeg

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-20 16:33:17 -05:00
Josh Essman
cee5c2e755 mfem: Fix support for SUNDIALS and PETSc features (#19326)
* mfem: specify PETSC_DIR, link correct sundials libraries

* fix: only use PETSC_DIR directly for static builds

* fix: only use sundials nvecmpiplusx for MFEM 4.2+
2020-10-20 16:26:34 -05:00
eugeneswalker
fa9ad0a3da tau unwind patch: only patch 2.29, not 2.29.1 (#19409) 2020-10-20 16:25:52 -05:00
iarspider
d9bb90d06e Lhapdf extends python (#19398)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* LHAPDF should extend Python to get env variables correct

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-20 14:59:54 -05:00
Jean-Paul Pelteret
3a56248eba deal.II: Add more conflicts due to symbol clashes between dependencies (#19408) 2020-10-20 14:55:22 -05:00
Massimiliano Culpo
a51702e3a2 py-archspec: added new package at v0.1.1 (#19395) 2020-10-20 18:40:31 +02:00
darmac
53fc4f92b7 axel: fix build error (#19387) 2020-10-20 11:01:26 -05:00
Chuck Atkins
9241cad299 mesa: Restrict llvm to < 11 (#19393) 2020-10-20 11:59:50 -04:00
darmac
0d1002750e refine setuptools version to avoid spec conflict (#19384) 2020-10-20 10:56:05 -05:00
GaneshPrasadMA
0253f0af29 Adding AOCC compiler to SPACK community (#19345)
* Adding AOCC compiler to SPACK community

The AOCC compiler system offers a high level of advanced optimizations, multi-threading and processor support that includes global optimization, vectorization, inter-procedural analyses, loop transformations, and code generation. AMD also provides highly optimized libraries, which extract the optimal performance from each x86 processor core when utilized. The AOCC Compiler Suite simplifies and accelerates development and tuning for x86 applications.

* Added unit tests for detection and flags for AOCC

* Addressed reviewers comments w.r.t version checks and url,checksum related line lengths

Co-authored-by: Test User <spack@example.com>
2020-10-20 10:50:09 -05:00
ketsubouchi
f68287afe9 boost: fix building old versions with non-system glib and bzip2 (#19389) 2020-10-20 15:39:57 +02:00
Toyohisa Kameyama
9beadc3c14 krims: disable float80 when non x86_64. (#19388) 2020-10-20 15:37:47 +02:00
Roberto Di Remigio
bac1f94046 MRCPP: added new versions up to v1.3.5 (#19257)
Removed all alpha versions too
2020-10-20 14:07:22 +02:00
Seth R. Johnson
18960435af py-pyqt4: Require older version of PySIP (#19391)
Fixes #19322, thanks sto @Sinan81.
2020-10-20 14:05:11 +02:00
Greg Becker
bf47045302 Fix python scripts relying on external python in env (#19241) 2020-10-20 10:09:13 +02:00
Glenn Johnson
87da91cef6 add updated version of py-dnaio (#19374)
* add updated version of py-dnaio

* Add py-setuptools-scm build dependency

* Fine tune the py-xopen dependency constraint

The needed version of xopen does not become specific until v0.4 of
dnaio.

* Set constraint on py-setuptools-scm

The py-setuptools-scm dependency is needed beginning with v0.4.
2020-10-19 19:53:12 -05:00
Glenn Johnson
bb87c1ff54 updated version of py-cutadapt (#19373)
* updated version of py-cutadapt

* Update dependency specs

* Add py-setuptools-scm build dependency

* More constraint fixes

* Fix version range for py-xopen
2020-10-19 19:52:27 -05:00
Martin Aumüller
b5ff28522a Add new package: botan (#19362) 2020-10-19 19:51:15 -05:00
Sajid Ali
3fd3676fc0 gdbm patch (#19380)
* gdbm patching

* compiler name fix

* rename patch
2020-10-19 19:49:31 -05:00
Sajid Ali
7052c65031 external find for cpio (#19379)
* external find for cpio

* address reviewer comments
2020-10-19 17:48:27 -05:00
wspear
92bbc2e789 Added tau version 2.29.1 hash (#19329)
* Added tau version 2.29.1 hash

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

Make version name match branch name (master)

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-19 16:25:58 -05:00
Scott Wittenburg
f561d3845b Fix "buildcache update-index --keys ..." when mirror is S3 (#19141) 2020-10-19 15:24:41 -06:00
Glenn Johnson
449604bfe8 add updated version of py-xopen (#19375)
* add updated version of py-xopen

* Update dependency constraints

* Further refine the python constraints

Also, put them all together.

* Put python constraints at top of list
2020-10-19 16:15:20 -05:00
Sergey Kosukhin
75bfdc7335 netcdf-fortran: support for Cray compiler (#18971) 2020-10-19 16:12:09 -05:00
Glenn Johnson
c31e96dcd7 New package - pulseaudio (#19378)
This PR adds the pulseaudio package and the speexdsp package as a
dependency. In addition, this PR adds a `libs` property to the libtool
package.
2020-10-19 16:11:45 -05:00
Glenn Johnson
95b9875e95 New package - Gate (#19377)
* New package - Gate

This PR adds the Gate package as well as the ITK dependency.

* Fix flake 8 errors

* Be more explicit with CMake options

Make sure Cmake values related to variants are explicitly set to either
ON/OFF.

The ITK_USE_MKL flag will turn on the following:
- USE_FFTWD=ON
- USE_FFTWF=ON
- USE_SYSTEM_FFTW=ON

Since the package depends on fftw-api, those options will always be set.
2020-10-19 16:07:47 -05:00
Glenn Johnson
152144f17a add updated version of trimgalore (#19376) 2020-10-19 14:53:12 -05:00
Glenn Johnson
302c69eb55 Add updated version of fastqc (#19372) 2020-10-19 13:57:43 -05:00
Dr. Christian Tacke
765b41fd34 util-linux: Add version 2.33.1 (#19370) 2020-10-19 13:27:40 -05:00
Robert Pavel
c3f3cea516 Added thrust@1.8.3 (#19368)
Added version 1.8.3 to thrust
2020-10-19 13:26:58 -05:00
Sebastian Schmitt
aef1ff7ec5 Remove version in extends (#19366)
extends expects the package name only.

Cf. #12480.
2020-10-19 13:26:37 -05:00
Andrew W Elble
0df70e217f A collection of tensorflow fixes and updates (#19371)
* A collection of tensorflow fixes and updates

* tensorflow 2.3.1 requires the workaround for external protobuf as well
* Update tensorflow-estimator to 2.3.0
* Update tensorboard to 2.3.0
* Update tensorboard-plugin-wit to use actual releases
* Patch that potentially fixes #16073

* add myself to maintainer list
2020-10-19 13:15:49 -05:00
G-Ragghianti
9cd2ab48ab Slate package: resolves missing header issue (#19032)
* Changed make command to support new slate build variable 'blas='

* Updated to use package's "make install" target

* Added variant 'blas' to support switching blas provider and removed legacy 'mkl' variant.

* Fixed problem caused by systems which use a non-bash /bin/sh

* Removed blas= variant in preference for setting blas provider via spec syntax (e.g., ^openblas).

* Fixed formating

* Changed to MakefilePackage and cleaned up make argument generation

* Implemented "edit" method

* Removed blank line

* Sqitched to using mpi compiler wrapper variables

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-19 12:16:10 -05:00
darmac
761b79e34f r-rgeos: fix build error (#19360) 2020-10-19 10:33:32 -05:00
Amjad Kotobi
432772dbb6 openssh: new version 8.4p1 (#19358) 2020-10-19 10:32:43 -05:00
Amjad Kotobi
cbd100819a anaconda3: new versions (#19357) 2020-10-19 10:31:58 -05:00
darmac
68b05b43e0 Add new package: py-mido (#19355) 2020-10-19 10:22:08 -05:00
darmac
b4f254df5d Add new package: py-cekit (#18813)
* Add new package: py-cekit

* refine dependencies
2020-10-19 10:21:08 -05:00
darmac
ced73019de Add new package: tpm2-tss (#18824)
* Add new package: tpm2-tss

* remove patch(), there's no need to use it
2020-10-19 10:14:51 -05:00
darmac
78986c5575 Add new package: percona-server (#18818) 2020-10-19 10:13:55 -05:00
darmac
d48b186500 py-coapthon3: added new package at v1.0.1 (#18990)
* Add new package: py-coapthon3

* remove mistake version
2020-10-19 11:42:48 +02:00
darmac
3807ceec0b premake-core: added new package at v5.0.0-alpha15 (#18807) 2020-10-19 10:39:40 +02:00
darmac
9799c553e8 wsmancli: added new package at v2.6.0 (#18906) 2020-10-19 10:30:41 +02:00
darmac
fb2aba6f0f junit4: added new package at v4.13 (#18769)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-19 10:11:00 +02:00
Sergey Kosukhin
fd7bfb1a50 filter_compiler_wrappers: a fix for NAG (#17133) 2020-10-18 23:18:18 -05:00
elsagermann
4750d479a0 Add testing option to dev-build command (#17293)
* ADD: testing to dev-build command

* RM: mutally exclusive group for testing in parser

* FIX: test option to subparser and not testing

* ADD: spack-completion.bash

* RM: local devbuildcosmo cmd

* FIX: bad merge --drop-in -b --before options forgotten

* FIX: --test place in spack-completion.bash

* FIX: typo

* FIX: blank line removing

* FIX: trailing white space

Co-authored-by: Elsa Germann <egermann@tsa-ln002.cm.cluster>
2020-10-18 23:17:07 -05:00
ketsubouchi
05ffbbc0be butterflypack: Support fj Fortran (#17514)
* butterflypack: Support fj Fortran

* butterflypack: split patch

* butteflypack: add ieee_support_nan
2020-10-18 23:16:19 -05:00
Massimiliano Culpo
008b77a2a7 nag: added external detection capabilities (#18153) 2020-10-18 23:12:05 -05:00
Wouter Deconinck
9471e9cb03 [docs] Pkg list: current version, not latest release (#18213)
The package list at https://spack.readthedocs.io/en/latest/package_list.html claims "it is automatically generated based on the packages in the latest Spack release" but it is actually based on the develop branch. This leads to confusion when users find that e.g. herwigpp is included in the list, but it cannot be found when they install the latest release. That latest release has a package list at https://spack.readthedocs.io/en/stable/package_list.html which does indeed not include herwigpp.

Changing the language from "the latest Spack release" to "this Spack version" might make that clearer. Maybe.
2020-10-18 23:11:20 -05:00
Robert Blake
1b558aaa81 mpich: Add external find support (#18330)
* Adding external support to mpich

* Removing debugging print statement.
2020-10-18 23:09:13 -05:00
Omar Padron
747151c3b7 remove package: libglvnd (#18363) 2020-10-18 23:08:03 -05:00
Miranda Mundt
29e2196340 Add new package: vvtest (#18701)
* Adding vvtest to spack

* Fixing flake8 failures

* Adding suggestions

* Removing unnecessary import

* Incorporating suggested changes
2020-10-18 23:06:18 -05:00
darmac
e88e6466e2 Add new package: soci (#18816) 2020-10-18 23:04:22 -05:00
arjun-raj-kuppala
761348a3af AMD ROCm rccl - numa.h issue fix (#19317) 2020-10-18 23:01:25 -05:00
Chuck Atkins
7d546a0145 Dataviz sdk update dep variants (#19327)
* ecp-io-sdk: Add preferred variants to all dependencies

* ecp-viz-sdk: Add preferred variants to all dependencies
2020-10-18 22:59:34 -05:00
Massimiliano Culpo
104eee7a7e Revert "ipopt: Add condition for 'aarch64' to Ipopt/config.guess (#13499)" (#19341)
This reverts commit e7f574aad5.
2020-10-18 22:59:18 -05:00
darmac
ea7273a93e Add new package: e2fsprogs (#18763)
* Add new package: e2fsprogs

* refine setup_run_environment()
2020-10-18 22:58:34 -05:00
t-nojiri
d16a980640 vdt: Removed the -mfpu=neon option for aarch64. (#18134) 2020-10-18 22:57:46 -05:00
t-nojiri
18391eef58 coevp: use libquadmath only x86_64 and ppcle. (#18130) 2020-10-18 21:07:04 -05:00
t-nojiri
567caafc58 dmtcp: Fix for aarch64 (#19246) 2020-10-18 20:24:51 -05:00
Jason Miller
25f817b8ae Fix for buildcache -o (#19354)
* Fix for buildcache -o

The method has more positional arguments than the caller expects.

* Address length issue.

Fix pylint/flake errors.
2020-10-18 19:40:28 -05:00
Adam J. Stewart
02575cb3bb bash: add ssh flag (#18992)
* bash: add flag on macOS

* Add flag unconditionally
2020-10-18 17:40:32 -04:00
Adam J. Stewart
c3f8df7c52 py-scipy: added v1.5.3 (#19353) 2020-10-18 16:15:23 +02:00
Stephen Hudson
c8581989d5 Update libensemble to v0.7.1 (#19349)
* Update libensemble to v0.7.1

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-17 19:00:54 -05:00
Nichols A. Romero
8619e5b5ab Removing classic flang. (#19350) 2020-10-17 15:27:09 -05:00
Ryan Mast
1a63baef4d helics: Add version 2.6.1 (#19348) 2020-10-17 15:23:40 -05:00
Omri Mor
bff0291dac Spec: fix multiple generator iteration in satisfies_dependencies (#18527) (#18559) 2020-10-17 11:40:31 +02:00
Nichols A. Romero
1a6c5ff541 Add LLVM 11.0.0 (#19309)
* Add LLVM 11.0.0

* This longdouble patch was merged in.
2020-10-16 23:02:57 -05:00
manifest
89332361ba gemini dep py-geneimpacts + (#19334) 2020-10-16 16:32:59 -05:00
iarspider
da71e9e88e Fix tar detection (missing import: re) (#19338)
Co-authored-by: iarspider <iarpsider@gmail.com>
2020-10-16 16:31:40 -05:00
iarspider
7296f8c628 Add external package support to xz (#19339)
* Add external package support to xz

* Flake-8

Co-authored-by: iarspider <iarpsider@gmail.com>
2020-10-16 16:30:57 -05:00
iarspider
e9da8d1633 Add external package support to bzip2 (#19343)
* Add external package support to bzip2

* Flake-8

* Flake-8 part 2

Co-authored-by: iarspider <iarpsider@gmail.com>
2020-10-16 16:28:31 -05:00
Scott McMillan
a612be1c98 New compiler: nvhpc (NVIDIA HPC SDK) (#19294)
* Add nvhpc compiler definition: "spack compiler add" will now look
  for instances of the NVIDIA HPC SDK compiler executables
  (nvc, nvc++, nvfortran) in supplied paths
* Add the nvhpc package which installs the nvhpc compiler
* Add testing for nvhpc detection and C++-standard/pic flags

Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2020-10-16 14:04:27 -07:00
iarspider
78f349c635 ghostscript: add external package detection (#19346)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-10-16 20:13:39 +02:00
Pieter Ghysels
f0b1f93d12 Fix for MKL ScaLAPACK (#19336) 2020-10-16 11:08:38 -05:00
darmac
01cf1d79db parquet-format: added new package at v2.8.0 (#18544)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-10-16 17:54:42 +02:00
manifest
506d2795a8 py-inheritance: added new package at v0.1.5 (#19337) 2020-10-16 17:07:23 +02:00
iarspider
8c7385096e spack external find: fix debug output (#19342)
Output was, e.g. `Executables in /bin and /,u,s,r,/,b,i,n are both associated with the same spec xz@5.2.2`, will be `Executables in /bin and /usr/bin are both associated with the same spec xz@5.2.2`.
2020-10-16 16:46:41 +02:00
iarspider
d34b612052 diffutils: added support for external detection (#19344) 2020-10-16 16:10:07 +02:00
t-nojiri
4b9701a195 opium : convert to be an autotools package (#18708) 2020-10-16 12:08:59 +02:00
Toyohisa Kameyama
a481087695 autotools: recursively patch config.guess and config.sub (#18347)
Previously config.guess and config.sub were patched only
in the root of the source path. 

This modification extend the previous behavior to patch every
config.guess or config.sub file even in subfolders, if need be.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-10-16 11:30:06 +02:00
dunatotatos
cdeecf2507 GenomeWorks: added new package at v0.5.3 (#19263) 2020-10-16 10:17:32 +02:00
Harsh Bhatia
878e89ecea faiss: added new package at v1.6.3 (#17290)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-10-16 09:47:22 +02:00
Greg Becker
7a6268593c Environments: specify packages for developer builds (#15256)
* allow environments to specify dev-build packages

* spack develop and spack undevelop commands

* never pull dev-build packges from bincache

* reinstall dev_specs when code has changed; reinstall dependents too

* preserve dev info paths and versions in concretization as special variant

* move install overwrite transaction into installer

* move dev-build argument handling to package.do_install

now that specs are dev-aware, package.do_install can add
necessary args (keep_stage=True, use_cache=False) to dev
builds. This simplifies driving logic in cmd and env._install

* allow 'any' as wildcard for variants

* spec: allow anonymous dependencies

raise an error when constraining by or normalizing an anonymous dep
refactor concretize_develop to remove dev_build variant
refactor tests to check for ^dev_path=any instead of +dev_build

* fix variant class hierarchy
2020-10-15 17:23:16 -07:00
Omar Padron
2ed39dfd8e make opengl and spectrum-mpi set has_code = False (#19133)
* make opengl and spectrum-mpi set has_code = False
2020-10-15 15:13:21 -04:00
Sreenivasa Murthy Kolam
0b6f995187 Update migraphx for rocm 3.8 (#19300)
* update to migraphx for rocm_3.7.0 and rocm_3.8.0

* fix flake8 errors

* address review comments

* review changes

* removed the msgpack,mentioned twice
2020-10-15 10:41:48 -05:00
darmac
9240058c0d Add new package: bdii (#18732)
* Add new package: bdii

* bdii: refine dependents
2020-10-15 16:47:06 +02:00
darmac
a9d25ea01b py-acme-tiny: added new package at v4.0.4 (#18808) 2020-10-15 16:14:13 +02:00
Jean-Paul Pelteret
c1f2d6a73b GiNaC: added new package at v1.7.11, updated cln (#15730) 2020-10-15 16:03:12 +02:00
Tom Payerle
d034d622c0 papi: restrict +sde to @6.0.0: (#19290)
Software defined events (SDE) appear to have been introduced only in
@6.0.0 (see e.g. http://icl.utk.edu/papi/software/view.html?id=275)
See #19289
2020-10-15 15:44:10 +02:00
Tom Payerle
9a554769a3 pexsi: add openmp flags to fortran flags if dependencies use OpenMP (#19274)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-15 15:41:58 +02:00
Cody Balos
a9dfa89c89 xbraid: added v2.3.0 and v3.0.0 (#19280) 2020-10-15 15:38:05 +02:00
Adam J. Stewart
d1423e21fb CMake: added v3.18.3 and v3.18.4 (#19302) 2020-10-15 15:28:09 +02:00
manifest
4b9bdea26b blasr-libcpp: improved setup_run_environment (#18038)
Added non standard paths to LD_LIBRARY_PATH
2020-10-15 15:26:39 +02:00
Thomas Gruber
f45e8ac70b LIKWID: added v5.0.2, new depends_on clauses and a patch for Lua (#19164) 2020-10-15 15:20:04 +02:00
G-Ragghianti
1bf87447ad Blaspp: added v2020.10.0, v2020.09.0, reworked recipe (#19311) 2020-10-15 14:58:31 +02:00
Hadrien G
298e18dbf3 acts: added v1.02.0 (#19305) 2020-10-15 14:13:55 +02:00
Axel Huebl
d1bfc426b0 Py-Pillow: added v8.0.0 (#19320) 2020-10-15 14:13:04 +02:00
Erik Schnetter
e4c1cb380b amrex: Add CUDA variant (#19306)
* amrex: Add CUDA variant

* amrex: require at least cuda 9
2020-10-14 21:24:20 -05:00
Jean-Paul Pelteret
50c7bc8cfd deal.II: Fix broken include and library path concatenation (#19315) 2020-10-14 21:23:55 -05:00
Nichols A. Romero
71d2ce7403 Removing f18 package. (#19307) 2020-10-14 13:44:22 -05:00
Tomoki, Karatsu
72f431b67b autotools.py: fix the list of objects to be removed from libtool (Fujitsu). (#19303) 2020-10-14 19:01:49 +02:00
vvolkl
a9bc5f7751 [delphes] new version, new env var (#19304) 2020-10-14 11:55:44 -05:00
Tomoki, Karatsu
48b14c4ac6 uqtk: Add version and fixes for Fujitsu compiler. (#19288)
* uqtk: Add version and fixes for Fujitsu compiler.

* Fixed order of versions.

* Add condition to execute function.
2020-10-14 11:44:27 -05:00
Nichols A. Romero
2651fab8d1 Flang NVidia offload fix (#18965)
* Make release_90 preferred version.

* Be more explicity about CUDA dependencies.

* Remove duplicate CUDA dependency in Flang package and introduce nvptx variant.

* Fix nvptx variant message.
2020-10-14 11:35:25 -05:00
Chuck Atkins
383b5b70cc adios2: Remove rogue zmq dependency for ssc engine (#19293) 2020-10-14 00:47:15 -07:00
Edoardo Aprà
c60cbab215 new release 7.0.2 (#19297) 2020-10-13 23:06:21 -05:00
Justin S
721efc62d1 busco: add 4.1.3 (#19296) 2020-10-13 23:05:43 -05:00
David M. Rogers
beeab6e1b9 Make DEAL_II_MPI_WITH_CUDA_SUPPORT conditional on mpi package option. (#19279) 2020-10-13 13:23:04 -05:00
hhoeflin
74a30bc624 Update neovim build and libvterm (#19015)
* Fixed wrong link to version 0.0.0 and add hash for version 0.1.4

* Fix failing build for neovim@master and neovim@stable and add hash for version 0.4.0

* Fix flake8 issues

* Removed unnecessary newline

* Depedency conditions restriction to neovim >= 0.2.0 as previous versions fail to compile

* Removed build dependency on git

* Removed master from all conditions
2020-10-13 13:18:08 -05:00
Massimiliano Culpo
b84812256d autotools: add attribute to delete libtool archives .la files (#18850)
* autotools: add attribute to delete libtool archives .la files

According to Autotools Mythbuster (https://autotools.io/libtool/lafiles.html)
libtool archive files are mostly vestigial, but they might create issues
when relocating binary packages as shown in #18694.

For GCC specifically, most distributions remove these files with
explicit commands:

https://git.stg.centos.org/rpms/gcc/blob/master/f/gcc.spec#_1303

Considered all of that, this commit adds an easy way for each
AutotoolsPackage to remove every .la file that has been installed.
The default, for the time being, is to maintain them - to be consistent
with what Spack was doing previously.

* autotools: delete libtool archive files by default

Following review this commit changes the default for
libtool archive files deletion and adds test to verify
the behavior.
2020-10-13 09:15:48 -07:00
vvolkl
c40de7c895 [acts] fix boost dependency (#19286)
@HadrienG2  the dependency is definitely there in all versions, but I did not check if the variants need to be adapted for the newer variants of acts
2020-10-13 10:09:14 -05:00
Toyohisa Kameyama
edfbfc8962 ppopen-math-vis: change download site to github. (#19285) 2020-10-13 10:08:21 -05:00
darmac
e65bb455eb talloc: update version and dependencies (#18817) 2020-10-13 09:58:41 -05:00
darmac
4402506527 Add new package: py-rbtools (#18963)
* Add new package: py-rbtools

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

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

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

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

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-13 09:57:50 -05:00
darmac
8e1e6585c4 Add new package: dnstracer (#18933)
* Add new package: dnstracer

* refine package class
2020-10-13 09:55:55 -05:00
darmac
97be7e7dd3 Add new package: libopts (#18836)
* Add new package: libopts

* fix flake8 error
2020-10-13 09:55:09 -05:00
darmac
d302d546a4 Add new package: py-eg (#18885)
* Add new package: py-eg

* refine dependency
2020-10-13 09:54:35 -05:00
darmac
3834bdfc27 Add new package: symlinks (#18925)
* Add new package: symlinks

* refine edit()
2020-10-13 09:54:06 -05:00
darmac
3b5cdf2f68 Add new package: xfsprogs (#18829)
* Add new package: xfsprogs

* remove lib64 path
2020-10-13 09:52:33 -05:00
Chuck Atkins
6084529eff paraview: Fix external dependencies for various versions (#19236) 2020-10-13 09:51:23 -05:00
darmac
08e30a21b0 py-adb-enhanced: new package at v2.5.4 (#19010) 2020-10-13 16:14:31 +02:00
darmac
5bddc652c5 Add new package: byteman (#18736) 2020-10-13 14:19:47 +02:00
Toyohisa Kameyama
9f6086e5c8 ppopen-math-mp: change download site to github. (#19284) 2020-10-13 10:31:21 +02:00
Adam J. Stewart
021cad1521 zip: add patches (#18994)
* zip: add patches

* Add .patch suffix

* Simplify build targets
2020-10-13 09:47:25 +02:00
Ganesh Kumar
cfd69da839 mivisionx: added package at v3.8.0 (#19042) 2020-10-13 09:30:53 +02:00
Toyohisa Kameyama
ae5c0054b3 ppopen-at: change download site to github (#19282) 2020-10-13 08:36:03 +02:00
Pieter Ghysels
cb9e0d5297 STRUMPACK: added v5.0.0 (#19283) 2020-10-13 08:21:59 +02:00
Adam J. Stewart
cb4e30b477 Python: add both lib and lib64 to PYTHONPATH (#18523) 2020-10-12 17:59:20 -07:00
Tomoki, Karatsu
82a224b0da octave: Specify fortran calling-convention for Fujitsu compiler. (#19218) 2020-10-12 16:53:37 -05:00
Michael Kuhn
a062517d3d gcc: Restrict permitted cuda versions (#19267)
gcc seems to use sm_30, which has been dropped in cuda@11.
2020-10-12 14:15:51 -05:00
Tom Payerle
7c12ca1d83 m4: Fix issue compiling with new intel compilers (#18894) (#19273)
Original version added --no-gcc to CFLAGS when compiling with intel
compilers.  This does not appear to be needed and indeed causes problems
(see #18894) with newer intel compilers; I have modified so it is not
added for intel@19: (I confirmed it is needed/works for intel@20, based
on comments in #18854 looks like holds for intel@19 as well).

(Also fix old formatting issue flake8 was complaining about)
2020-10-12 14:13:11 -05:00
Mark Olesen
7a562d4045 openfoam: update for version 20.06 patch 2020-10-12 (#19275)
Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-10-12 14:09:32 -05:00
Joe Koning
7a8974c2d8 Update py-redis (#19063)
* Update of py-redis for merlin-1.7.5

* Add hiredis variant and python versions for 3.5.x versions.

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-12 14:05:09 -05:00
Evan Bollig
7b0e628016 Added slurm version 20-02-4-1 and support to build slurmrestd (#19249)
* Added slurm version 20-02-4-1 and support to build slurmrestd

* cleanup formatting

* cleanup libjwt to pass unittests

* missed one boilerplate

* hacking a pass in unittests

* defer to default install routine in libjwt
2020-10-12 13:52:23 -05:00
Dr. Christian Tacke
7a28b91bb8 singularity: added v3.6.3 (#19272) 2020-10-12 19:28:28 +02:00
darmac
b50fe3cb6b evemu: added new package at v2.7.0 (#19013) 2020-10-12 18:14:55 +02:00
darmac
7083a542b6 libnetfilter-conntrack: new package at v1.0.4 (#19012) 2020-10-12 18:13:29 +02:00
Thomas Madlener
bead81fab5 [whizard] Disable parallel builds to avoid race condition (#19270) 2020-10-12 17:07:21 +02:00
Massimiliano Culpo
2399c2e78d autotools: refactor search paths for aclocal in its own method (#19258)
This commit refactors the computation of the search path
for aclocal in its own method, so that it's easier to reuse
for packages that need to have a custom autoreconf phase.

Co-authored-by: Toyohisa Kameyama <kameyama@riken.jp>
2020-10-12 16:35:52 +02:00
Harmen Stoppels
2d9f692d6c libamd_comgr.so.1 is linked to by libamdhip64.so.3, so it should be a link dep (#19025) 2020-10-12 16:28:48 +02:00
darmac
99278d9863 rng-tools: added new package at v6.10 (#19011) 2020-10-12 16:23:35 +02:00
darmac
c2517a31bf openwsman: added new package at v2.7.0 (#19009) 2020-10-12 16:20:35 +02:00
darmac
89cd3cfdb7 glib-networking: added new package at v2.66.0 (#19008) 2020-10-12 16:19:57 +02:00
darmac
39ded3fa0f ecdsautils: new package at v0.3.2 (#19007) 2020-10-12 16:18:32 +02:00
darmac
c49e66a06e conserver: added new package at v8.2.5 (#18988) 2020-10-12 15:17:32 +02:00
darmac
e929cb4d51 cc65: added new package at v2.18 (#18989) 2020-10-12 15:03:46 +02:00
Tomoki, Karatsu
db16f3e0d4 autotools.py: removed some options from libtool only for Fujitsu. (#19217) 2020-10-12 14:42:49 +02:00
darmac
93f8b14de5 console-bridge: added new package at v1.0.1 (#18986) 2020-10-12 14:39:41 +02:00
Dr. Christian Tacke
fe984b994d root: added more 6.20.* versions, switch preferred (#19265) 2020-10-12 14:12:19 +02:00
darmac
3a914f83c3 cmark: added new package at v0.29.0 (#18985) 2020-10-12 14:07:10 +02:00
Glenn Johnson
9915ce0315 Change how CUDA variants are handled for libbeagle (#18984)
- Override the cuda_arch variant setup, with multi=False to ensure one
  value is selected
- Use a conflicts statement rather than InstallError
2020-10-12 14:06:26 +02:00
Glenn Johnson
bd8c73ef18 Change how CUDA variants are handled (#18983)
- Override the cuda_arch variant setup, with multi=False to ensure one
  value is selected
- Use a conflicts statement rather than InstallError
2020-10-12 14:00:56 +02:00
Frédéric Simonis
3107f0367b precice: added v2.1.1 (#19264) 2020-10-12 13:25:51 +02:00
darmac
023db4696e asciidoc-py3: new patckage at v9.0.2 (#18920) 2020-10-12 13:23:48 +02:00
Glenn Johnson
eb03e648ec Fix r-devtools package (#18981)
The r-devtools package was not installable due to a few issues.

- The rstudioapi spec was for 0.11.0 but the rstudioapi version is
  actually 0.11. This caused an error during concretization.
- Set r-usethis to depend on rlang@0.4.3: rather than r-lang@0.4.3.
- Set r-usethis to depend on r-gh@1.1.0: rather than r-gh@1.1.0.
- Added version r-gh-1.1.0 as it is not currently present in spack.
2020-10-12 13:22:41 +02:00
David M. Rogers
d431fcd904 Added CUDAHOSTCXX variable needed to compile with cuda and mpi. (#19254)
* Added CUDAHOSTCXX variable needed to compile with cuda and mpi.

* Added guard for setting CUDAHOSTCXX with MPI.

* Acceptable working version of dealii+cuda+mpi.
2020-10-12 02:28:06 -07:00
h-denpo
88794f56ed itstool: modify depends_on('libxml2+python', type=('build', 'run')) (#19020) 2020-10-12 10:29:30 +02:00
Adam J. Stewart
1b9dce6b26 Python: add v3.9.0 (#19260) 2020-10-11 21:16:51 -07:00
Adam J. Stewart
372ac4a073 Add testing for Python 3.9 (#19261) 2020-10-11 21:16:00 -07:00
Adam J. Stewart
759e8ee4c2 CUDA: update maintainers (#19262) 2020-10-11 21:11:17 -07:00
Toyohisa Kameyama
683ecb3f6e mpifileutils: Add patch for aarch64. (#18724)
* mpifileutils: Add patch for aarch64.

* Update patch and limit version for apply patch.
2020-10-11 18:49:38 -05:00
Jean-Paul Pelteret
fe239c83fc deal.II: Further modernisation and improvements (#19253) 2020-10-11 15:48:09 -04:00
Adam J. Stewart
cc136c27a9 Fix failing mpich build tests (#19259)
By default Spack uses the latest (highest version) GCC 
compiler available, which might change across updates
of the Github CI environment.

Since a C compiler is always installed and `mpich~fortran`
will result in faster build times, avoid building the FORTRAN
interface as part of the test.
2020-10-11 20:49:59 +02:00
Daniel Arndt
46cae921b9 Update datatransferkit (#19239)
Conflicts:
	var/spack/repos/builtin/packages/datatransferkit/package.py
	var/spack/repos/builtin/packages/xsdk/package.py
2020-10-11 13:27:54 -05:00
Roberto Di Remigio
7f46c11fda Update XCFun with stable releases (#18784)
* Update XCFun with stable releases

* Fix lint
2020-10-10 21:14:15 -05:00
darmac
0ed8bbe765 Add new package: libgssglue (#18774) 2020-10-10 21:11:31 -05:00
darmac
be530949bb Add new package: pinfo (#18806) 2020-10-10 21:11:03 -05:00
darmac
794f2c7510 Add new package: xdelta (#18827) 2020-10-10 21:09:55 -05:00
tcojean
a691e75af3 Ginkgo: new version and HIP support (#18842)
* Bump the Ginkgo version and add HIP support.

* Add the HIP variant to Ginkgo.

* Make HIP support work, check C++ compatibility.
2020-10-10 21:08:58 -05:00
Tom Payerle
793ffd8d9c cpio: Fix issue compiling with newer intel compilers (#18854) (#18855)
* cpio: Fix issue compiling with newer intel compilers (#18854)

Do not add --no-gcc for recent intel compilers (e.g. 20.x)

* cpio: Remove --no-gcc flag for intel@19 as well as intel@20

Based on comments from @nrichart, removing --no-gcc option for intel@19
as well as intel@20
2020-10-10 21:07:04 -05:00
Toyohisa Kameyama
a408400619 audacious: add link type build to glib. (#18884) 2020-10-10 21:05:18 -05:00
Kelly (KT) Thompson
933aacf7b6 Provide draco-7_8_0. (#18947)
* Provide draco-7_8_0.

+ Also provide a patchfile for draco-7_6_0 to support CrayPE builds.
+ Version 7.8.0 has a new variant `+caliper`.
+ Sort dependencies alphabetically after grouping by required and optional.

* Remove patchfile that is no longer needed.

+ Newer versions of draco do not require this patch.
+ Older versions of draco are not supported for spectrum-mpi.

* Change new variant +caliper to default to False.
2020-10-10 21:02:00 -05:00
darmac
e8306e8f22 Add new package: less (#18952) 2020-10-10 21:00:54 -05:00
darmac
ec6f13aefa Add new package: lsscsi (#18953) 2020-10-10 20:59:21 -05:00
darmac
6e4cf08984 Add new package: libnftnl (#18954) 2020-10-10 20:58:53 -05:00
darmac
edfac1a04f Add new package: authd (#18955) 2020-10-10 20:58:29 -05:00
darmac
ff5d95da95 Add new package: backupninja (#18957) 2020-10-10 20:55:58 -05:00
darmac
3a59057f74 Add new package: universal-ctags (#18962) 2020-10-10 20:55:33 -05:00
darmac
28564620f6 Add new package: vtable-dumper (#18964) 2020-10-10 20:54:43 -05:00
Derek Ryan Strong
c9bee59bc3 pandoc: add variant for texlive (#18967)
* pandoc: add variant for texlive

Modifies the pandoc package by adding a variant for texlive, which is only needed for PDF output. Enables this variant by default.

* Fix whitespace
2020-10-10 20:53:51 -05:00
Toyohisa Kameyama
6383ef808d poplpler: fix patch for 0.90.1. (#18969) 2020-10-10 20:53:05 -05:00
Sergey Kosukhin
5a49c2bcaf parallel-netcdf: patch for PGI on Cray (#18972) 2020-10-10 20:50:25 -05:00
t-nojiri
b7ed6b4fe0 jellyfish@1.1.11: Change the type of the array dna_codes to the signed type. (#19019)
* jellyfish@1.1.11: Change the type of the array dna_codes to the signed type.

* jellyfish@1.1.11: Add patch file
2020-10-10 20:33:08 -05:00
Michael Kuhn
588cf7e03c julea: Fix dependency typo and add new optional rocksdb dependency (#19045) 2020-10-10 20:28:56 -05:00
vvolkl
e37e66abd1 [dd4hep] update version v1.14.1 (#19056)
up
2020-10-10 20:26:44 -05:00
t-nojiri
1bd825674a fl: Fix for aarch64 (#19089)
* fl: Fix for aarch64

* fl: Revise the points indicated by the review.
2020-10-10 20:25:36 -05:00
Tom Payerle
b3eb07cae0 superlu-mt: Add openmp flag to link command when using OpenMP (#19096)
Fix for #19095

When given +openmp, add the correct compiler openmp flag to the link
stage.  This seems to be required for %intel compilers.
I do this for all compilers, not just %intel, because it does not seem
to harm anything and might be beneficial for others (and just seems
'correct').
2020-10-10 20:24:08 -05:00
Pariksheet Nanda
9c5f0cab1d meme: newer tarballs use a hyphen (#19222)
* meme: newer tarballs use a hyphen

* meme: remove trailing whitespace for flake8
2020-10-10 20:12:39 -05:00
Keita Iwabuchi
ea101daf81 Update Metall package to v0.4 and v0.5 (#19223)
* Metall: add version 0.2

* Add Metall v0.3

* Update Metall package to v0.4 and v0.5.
2020-10-10 20:11:40 -05:00
Dingwen Tao
03b9f0452c Add cuSZ (#19228)
Co-authored-by: Dingwen Tao <tao@cs.ua.edu>
2020-10-10 20:10:55 -05:00
Melven Roehrig-Zoellner
ac91328c69 eigen: add a patch for 3.3.8 (#19229)
* eigen: add a patch for 3.3.8

* eigen: try to fix indenting
2020-10-10 20:09:21 -05:00
Hadrien G
528f86ddc4 [acts] Add version 1.1 (#19230) 2020-10-10 20:08:19 -05:00
Thomas Madlener
31772844d8 [whizard] Add compiler constraints and minimal ocaml version (#19231) 2020-10-10 20:07:43 -05:00
MichaelLaufer
ba04e8b890 parallel-netcdf: added burst buffer variant (#19237)
Co-authored-by: michael laufer <michael.laufer@toganetworks.com>
2020-10-10 19:56:51 -05:00
Andrew Gaspar
08a61006a5 Rust 1.47.0 (#19240) 2020-10-10 17:01:38 -05:00
h-denpo
cd800c20d3 asdcplib: Added PATH of openssl installed by spack to configure_args. (#19243) 2020-10-10 16:59:19 -05:00
Stan Tomov
160c00e3f7 Add MAGMA v2.5.4 release (#19245)
This release does not have conflict with CUDA 11.
2020-10-10 16:58:37 -05:00
darmac
3dd41548f6 Add new package: powertop (#18904) 2020-10-10 16:52:44 -05:00
Sajid Ali
9c56495503 py-scikit-image: bump version (#19153)
* py-scikit-image: bump version

* address reviewer comments

* address reviewer comments

* address reviewer comments

* py-scikit-image : update dependencies : part 2

* cloudpicke is a docs only dependency, enable it with a variant if necessary

* address reviewer comments

* cleanup build vs run deps

* address reviewer comments
2020-10-10 16:52:00 -05:00
Andrew Gaspar
ac7c3a1305 make py-pillow the default for pil (#19251)
py-pillow-simd is not portable to other architectures.
2020-10-10 12:55:07 -05:00
Jean-Paul Pelteret
69eb51dbfe dealii: Reorganize package and add some new settings (#19137)
New variants:
- cxxstd
- examples
2020-10-10 09:20:53 -04:00
Geoff Womeldorff
35a9626ae9 Add package for FLCL (#19252)
* Initial cut at FLCL spackage. Works with GCC so far.

* Update spackage to list release which supports spack. Add @agaspar as a maintainer. Default unit tests to disabled when building with spack.

* Change url to 0.2.

* Nope, 0.3.
2020-10-09 17:37:17 -06:00
Danny Taller
012b4279b6 camp: new package (#19235) 2020-10-09 15:25:06 -07:00
Brian Van Essen
9a46ee0085 Fixed the dependency of newer OpenMPI on current hwloc. Pathch (#17917)
contributed by Thorsten Kurth.
2020-10-09 15:29:58 -05:00
谭九鼎
5e9f4dc982 Use https for links (#19244) 2020-10-09 11:24:09 -05:00
Andreas Baumbach
47e253f7fe Add new package: bitsery (#19090) 2020-10-09 11:17:33 -05:00
Andreas Baumbach
830b30b8d5 Patch cereal (#19091)
Change-Id: I9fe2a1490c8c31a4174aca4ed2e270aa1efa1a50

Co-authored-by: Eric Müller <mueller@kip.uni-heidelberg.de>
2020-10-09 11:17:11 -05:00
Shahzeb Siddiqui
796561ed82 add package py-lmodule version 0.1.0 (#18856)
* add package py-lmodule version 0.1.0

Lmodule is tested with lmod >= 7.x. Lmod 6 has different json
structure in spider which is not supported by lmodule
2020-10-08 17:52:42 -05:00
Tom Payerle
47a7cd6a93 py-charm4py: new package (#18666)
* py-charm4py: new package

Charm++ for python

Installation notes:

1) charm4py ships with its own charm++ tarball.  It really wants
to use the version it ships with. It also builds charm++ in a special way to
produce libcharm.so (but not charmc, etc), so it does not seem
worthwhile to try to hack to build using a spack installed charmpp.

2) Originally, the installation was failing due to unresolved cuda
symbols when setup.py was doing a ctypes.CDLL of libcharm.so (in order
to verify version?).  This appears to be due to the fact that
libcharm.so had undefined cuda symbols, but did not show libcudart.so as
a dependency (in e.g. ldd output).  To fix this, I had to add
libcudart.so explicitly when linking libcharm.so, but since setup.py
untars a tarball to build libcharm, the solution was a tad convoluted:
2a) Add a patch in spack to py-charm4py which creates a patchfile
"spack-charm4py-setup.py.patch" which will modify a Makefile file (after it
is untarred) to add the flags in env var SPACK_CHARM4PY_EXTRALIBS to
the link command for libcharm.so
2b) The spack patch file also patches setup.py to run patch using the
aforementioned patchfile to patch the Makefile after it is untarred, and
sets the SPACK_CHARM4PY_EXTRALIBS variable appropriately in the setup
environment.

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

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

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

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

* py-charm4py: flake8 fixes

remove useless import

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-08 16:29:47 -05:00
perrymil
adf0ac1902 Pymol 2.4 package update (#18618)
* Update Package, Pymol 2.4

* Fixed flake8 stuff

* more style fixes

* missing ( at EOF

* added py-pymol 2.3 back this

* extra line removal

* white space in empty line removal

* added libpng and py-pyqt5 to prefix_path
2020-10-08 15:13:03 -05:00
darmac
f0e6d6619b Add new package: py-bmap-tools (#18810) 2020-10-08 15:11:01 -05:00
darmac
7de890fe22 Add new package: py-azote (#18960) 2020-10-08 15:09:30 -05:00
darmac
9366fe261b Add new package: py-walinuxagent (#18961) 2020-10-08 15:08:38 -05:00
Joe Koning
a7de469f58 Update of py-merlin for merlin-1.7.5 (#19069) 2020-10-08 14:56:10 -05:00
Andrew Gaspar
ee8d225757 Update py-fortran-language-server (#19156)
* Update py-fortran-language-server

* Restore v1.11.1
2020-10-08 14:44:32 -05:00
takanori-ihara
cbaa78cb4a fujitsu-ssl2: Add new package (#18498)
fujisu-ssl2: Add new package with thread-parallel, SVE and scalapack support
2020-10-08 09:36:00 -07:00
rvinaybharadwaj
cb11a58fdd Add mlperf-deepcam (#19206)
* Add mlperf-deepcam

* Change mlperf-deepcam to reflect updated name of dependency
2020-10-08 08:24:50 -06:00
rvinaybharadwaj
8b0a9f482f Add py-wandb (#19168) 2020-10-08 07:46:07 -06:00
rvinaybharadwaj
865e483abc Add py-sentry-sdk (#19173) 2020-10-08 07:04:01 -06:00
rvinaybharadwaj
bd8e307e82 Add py-sanic (#19174)
* Add py-sanic

* Update package.py

Co-authored-by: Christoph Junghans <christoph.junghans@gmail.com>
2020-10-08 05:59:06 -06:00
t-nojiri
d0bb991838 openimageio: added v2.2.7.0 (#19227) 2020-10-08 13:02:12 +02:00
rvinaybharadwaj
dc6132ff70 Add py-apache-beam (#19204) 2020-10-07 22:07:39 -06:00
rvinaybharadwaj
e70d9e3971 Add py-avro-python3 (#19202)
* Add py-avro-python3

* Adding deprecation warning

* Updating python versions

* Fixing docstring indentation

* Update package.py

Co-authored-by: Christoph Junghans <christoph.junghans@gmail.com>
2020-10-07 21:28:13 -06:00
rvinaybharadwaj
a83f6bdb46 Add py-httpx (#19185) 2020-10-07 20:59:51 -06:00
rvinaybharadwaj
2c387a3674 Add py-fastavro (#19196) 2020-10-07 20:17:05 -06:00
rvinaybharadwaj
26c1eb57db Add py-h2 (#19191) 2020-10-07 20:13:58 -06:00
rvinaybharadwaj
804b5f33f4 Add py-httpcore (#19187) 2020-10-07 20:13:34 -06:00
rvinaybharadwaj
11bcdc6ad1 Add py-falcon (#19197) 2020-10-07 14:37:23 -06:00
rvinaybharadwaj
d1bc0b6925 Add py-mlperf_logging (#19182)
* Add py-mlperf_logging

* replacing _ by - in package name
2020-10-07 14:32:11 -06:00
rvinaybharadwaj
3401404a26 Add py-uvloop (#19169) 2020-10-07 14:14:47 -06:00
rvinaybharadwaj
5580dbd899 Add py-crcmod (#19207)
* Add py-crcmod

* Updating homepage
2020-10-07 14:14:19 -06:00
rvinaybharadwaj
fe728a9741 Add py-future (#19195) 2020-10-07 13:39:10 -06:00
rvinaybharadwaj
6266ce9a9f Add py-rfc3986 (#19176) 2020-10-07 13:34:30 -06:00
rvinaybharadwaj
0a363b4c5d Add py-snappy (#19171) 2020-10-07 13:32:47 -06:00
rvinaybharadwaj
406491e239 Add py-grpcio (#19193) 2020-10-07 13:30:16 -06:00
rvinaybharadwaj
2d44d135fd Add py-gitpython (#19194)
* Add py-gitpython

* removing 3.1.7 checksum
2020-10-07 13:27:51 -06:00
rvinaybharadwaj
2b5bef3685 Add py-pytorch-gradual-warmup-lr (#19178)
* Add py-pytorch-gradual-warmup-lr

* Fixed license header

Co-authored-by: Robert Pavel <rspavel@lanl.gov>
2020-10-07 13:26:26 -06:00
zhiyuanzhai
38bfb81e2b macOS 11 version check for Perl (#19210)
* Fix 'unexpected product version' error for macOS 11.0

* Adjustment: add the minimum version that this macOS patch is necessary.

* Adding a keyword to prevent the patch being applied to systems other than darwin (macOS)

* Deleting quotation marks
2020-10-07 13:55:35 -05:00
rvinaybharadwaj
215183524c Add py-backports-lzma (#19201)
* Add py-backports-lzma

* Fixing python version compatibility
2020-10-07 10:38:29 -06:00
rvinaybharadwaj
91047a9722 Add py-sniffio (#19170) 2020-10-07 10:36:33 -06:00
rvinaybharadwaj
59c8761b9e Add py-shortuuid (#19172) 2020-10-07 10:34:42 -06:00
rvinaybharadwaj
5938a5d751 Add py-rq (#19175) 2020-10-07 10:33:25 -06:00
rvinaybharadwaj
7e4c8907da Add py-redis (#19177) 2020-10-07 10:30:42 -06:00
rvinaybharadwaj
77919e6693 Add py-pyspark (#19179) 2020-10-07 10:29:20 -06:00
rvinaybharadwaj
8956ee3bd8 Add py-pure-eval (#19180) 2020-10-07 10:28:56 -06:00
rvinaybharadwaj
a9de94bbd4 Add py-hyperframe (#19184) 2020-10-07 10:27:47 -06:00
rvinaybharadwaj
cde510b5f1 Add py-httptools (#19186) 2020-10-07 10:27:14 -06:00
rvinaybharadwaj
7d82276d0c Add py-h11 (#19192) 2020-10-07 10:25:57 -06:00
rvinaybharadwaj
f8d4c74d8c Add py-bottle (#19200)
* Add py-bottle

* fixing python versions
2020-10-07 10:24:28 -06:00
rvinaybharadwaj
a24844a206 Add py-hpack (#19189) 2020-10-07 10:20:47 -06:00
rvinaybharadwaj
8c9187c3b3 Add py-lz4 (#19183) 2020-10-07 10:20:14 -06:00
rvinaybharadwaj
09f910902a Add py-chalice (#19199)
* Add py-chalice

* fixing python versions
2020-10-07 10:18:56 -06:00
rvinaybharadwaj
f98aa5f336 Add py-dockerpy-creds (#19198)
* Add py-dockerpy-creds

* fixing python versions
2020-10-07 10:17:31 -06:00
rvinaybharadwaj
1ee6e4f993 Add py-hstspreload (#19188) 2020-10-07 10:16:58 -06:00
rvinaybharadwaj
50c3e9ffea Add py-watchdog (#19167) 2020-10-07 10:16:25 -06:00
arjun-raj-kuppala
09d0623be9 AMD ROCm 3.8.0 - roctracer-dev (#19086)
* AMD ROCm 3.8.0 - roctracer-dev

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

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

* added py-ply dependency

* remove py-ply

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-07 08:55:29 -05:00
arjun-raj-kuppala
4d45aca3ea AMD ROCm rocm-gdb update with its dependency package - babeltrace (#19142) 2020-10-07 08:54:38 -05:00
Toyohisa Kameyama
a12b03b8d4 sollve: build on aarch64 (#19123) 2020-10-07 08:54:07 -05:00
Robert Underwood
f83bd360c6 sz: fix fetch url for SZ for older releases (#19215)
fixes #19213
2020-10-06 18:12:53 -07:00
rvinaybharadwaj
0553ef32d9 py-arrow: add version 0.16.0 (#19203) 2020-10-06 17:44:26 -07:00
rvinaybharadwaj
7dbc07373d New package: py-aiofiles (#19205) 2020-10-06 17:43:13 -07:00
Christoph Junghans
6b70597271 gromacs: add v2020.4 (#19208) 2020-10-06 14:52:48 -05:00
Melven Roehrig-Zoellner
d43522deeb eigen: added v3.3.8 (#19165) 2020-10-06 16:00:26 +02:00
g-mathias
e2e018b68f package cuda: fix for chmod error (#17596)
* fix if cached cuda  is only rx

* use shell to install; rm chmod commands

* flake8 fix

* flake8 fix

Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-10-06 07:45:27 -05:00
Robert Underwood
87ac0ae3e3 SZ package: add switch for builtin profiling support (#19127) 2020-10-05 22:30:16 -07:00
Adam J. Stewart
bfb9e8f667 py-pandas: add version 1.1.3 (#19152) 2020-10-05 22:27:45 -07:00
Mark C. Miller
460bd695a3 VisIt package: improve info message (#19159) 2020-10-05 22:26:32 -07:00
Erik Schnetter
630f1fe2b8 New package: FastTransforms (#19160) 2020-10-05 22:12:11 -07:00
Sheng Di
eabfea2e49 SZ package: update URL; add 2.1.10 (#19161) 2020-10-05 22:11:32 -07:00
Kelly (KT) Thompson
e36bb89b33 Extend patch for XL to also support XL+cuda. (#19116) 2020-10-05 20:21:17 -05:00
Jean-Paul Pelteret
9bd83636e4 New package: Taskflow (#19138) 2020-10-05 20:13:51 -05:00
Hervé Yviquel
7d4663ea5d add gdrcopy 2.1 (#19151) 2020-10-05 20:08:17 -05:00
Chris de Graaf
95a46de7cb Add Julia 1.5.2 (#19154) 2020-10-05 20:07:26 -05:00
arjun-raj-kuppala
b91d501f12 AMD ROCm - aomp 3.7.0/3.8.0 and rccl 3.8.0 update (#19034)
* aomp 3.7.0 and rccl 3.8.0 update

* Bump up to ROCm 3.8.0 support on AOMP

* Create 0001-Add-amdgcn-to-devicelibs-bitcode-names-3.8.patch

* Create 0001-Add-amdgcn-to-devicelibs-bitcode-names.patch

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-05 19:57:00 -05:00
arjun-raj-kuppala
dbba74debd bump up rocm-debug-agent to ROCm 3.8.0 (#19037)
* bump up rocm-debug-agent to ROCm 3.8.0

* removed extra url

* re-added url with new path
2020-10-05 19:54:17 -05:00
Scott Wittenburg
438f80d19e Revert binary distribution cache manager (#19158)
This reverts #18359 and follow-on PRs intended to address issues with
#18359 because that PR changes the hash of all specs. A future PR will
reintroduce the changes.

* Revert "Fix location in spec.yaml where we look for full_hash (#19132)"
* Revert "Fix fetch of spec.yaml files from buildcache (#19101)"
* Revert "Merge pull request #18359 from scottwittenburg/add-binary-distribution-cache-manager"
2020-10-05 16:02:37 -07:00
Jonathan Maack
aabe210689 Closes #16303: Julia build fails with "ERROR: Invalid CPU name skylake_avx512." (#18745)
* Fix 'Invalid CPU name' error for skylake avx512 #16303

* Change new julia versions to use tarballs

* Remove setting of MARCH
2020-10-05 17:23:14 -05:00
Dr. Christian Tacke
4d586c598b ftgl: Improve shared library building on macOS (#18970)
Add -DCMAKE_MACOSX_RPATH=ON to cmake.
2020-10-05 09:56:52 -05:00
Adam J. Stewart
5d70096e44 bazel: add latest version (#18991) 2020-10-05 09:53:10 -05:00
Adam J. Stewart
0d64020007 py-horovod: added versions up to v0.20.3 (#18977) 2020-10-05 16:22:33 +02:00
Adam J. Stewart
cb7a1ac2bf py-ray: added new package at v0.8.7 (#19006) 2020-10-05 15:44:51 +02:00
Adam J. Stewart
a9c6964a1d py-opencensus: added new package at v0.7.10 (#19004) 2020-10-05 15:10:42 +02:00
Adam J. Stewart
7ac96e63d2 py-opencensus-context: added new package at v0.1.1 (#19003) 2020-10-05 11:57:33 +02:00
Adam J. Stewart
1450038f92 py-gpustat: added new package at v0.6.0 (#18999) 2020-10-05 09:55:09 +02:00
Adam J. Stewart
3e7d9b4279 py-aioredis: added new package at v1.3.1 (#18996) 2020-10-05 09:54:40 +02:00
Adam J. Stewart
8ba3f30f5c py-contextvars: added new package at v2.4 (#19149) 2020-10-05 09:20:48 +02:00
Adam J. Stewart
25cb2a68d3 py-immutables: added new package at v0.14 (#19148) 2020-10-05 07:32:03 +02:00
Joe Koning
eabfdba08f Fix for py-cffi sha256sum issue (#19143)
* Update of py-cffi for merlin-1.7.5

* Add new sha256sum for version 1.14.3
2020-10-04 15:38:09 -05:00
Adam J. Stewart
80bbeaf629 TensorFlow: added new versions up to v2.3.1 (#18945) 2020-10-04 20:50:45 +02:00
Adam J. Stewart
6acdc52f06 py-msgpack: added v1.0.0 (#18993) 2020-10-04 20:49:44 +02:00
Adam J. Stewart
a0cc5b78c8 py-grpcio: added v1.32.0 (#18995) 2020-10-04 20:48:35 +02:00
Adam J. Stewart
688dee861a py-colorful: added new package at v0.5.4 (#18997) 2020-10-04 20:46:23 +02:00
Adam J. Stewart
a99c9f93a1 py-google: added new package at v3.0.0 (#18998) 2020-10-04 20:45:05 +02:00
Adam J. Stewart
9a6ac5e809 py-hiredis: added new package at v1.1.0 (#19000) 2020-10-04 20:44:09 +02:00
Adam J. Stewart
e9d8804309 py-nvidia-ml-py: added new package at v11.450.51 (#19001) 2020-10-04 20:42:01 +02:00
Adam J. Stewart
aa3e88739f py-nvidia-ml-py3: added new package at v7.352.0 (#19002) 2020-10-04 20:39:49 +02:00
Adam J. Stewart
d2b3ea24e4 py-py-spy: added new package at v0.3.3 (#19005) 2020-10-04 20:38:34 +02:00
Adam J. Stewart
8cf42b3e71 unrar: added v5.9.4, fix macOS build (#19136) 2020-10-04 20:36:31 +02:00
Adam J. Stewart
0cd2728843 py-vermin: added v0.10.5, fixed compilation on MacOS (#19017) 2020-10-04 20:32:56 +02:00
Simon Frasch
543008069d spla: added v1.2.0 (#19146) 2020-10-04 20:30:42 +02:00
Sinan
fd8fd189c7 package/qgis: add new versions (#19014)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2020-10-03 21:59:17 -05:00
MichaelLaufer
b9b0d1c2cb Added WPS package, cleaned up WRF package (#18711)
Co-authored-by: michael laufer <michael.laufer@toganetworks.com>
2020-10-03 21:26:33 -05:00
Joe Koning
2b56707b7e Py-celery: update for merlin-1.7.5 (#19079) 2020-10-03 20:29:29 -04:00
Scott Wittenburg
7cfdf61979 Fix location in spec.yaml where we look for full_hash (#19132)
When we attempt to determine whether a remote spec (in a binary mirror)
is up-to-date or needs to be rebuilt, we compare the full_hash stored in
the remote spec.yaml file against the full_hash computed from the local
concrete spec.  Since the full_hash moved into the spec (and is no longer
at the top level of the spec.yaml), we need to look there for it.  This
oversight from #18359 was causing all specs to get rebuilt when the
full_hash wasn't fouhd at the expected location.
2020-10-02 15:37:47 -06:00
Seth R. Johnson
670f3a5e4c Trilinos: restrict SuperLU-dist version (#19044)
SuperLU v6.3.0 changes the name of numerous structures, causing errors
in Amesos up through Trilinos 13.
2020-10-02 14:20:49 -07:00
Jonathan Maack
42c3327e5b Coin HSL package: add version 2019.05.21 (#19047) 2020-10-02 14:19:00 -07:00
Jerome Soumagne
1ca753e5a6 mercury package: turn off post limit by default (#19048)
Prevents potential deadlocks
2020-10-02 14:14:55 -07:00
Tom Payerle
a07c3d2aa8 metis: Ignore pragma omp warnings/errors with %intel (#19049)
It looks like intel compilers generate warnings for omp pragmas when
openmp flag is not given, which due to other flags set get promoted to
errors.

This adds a flag to ignore the pragma omp warnings (icc diagnostic
number 3180 on %intel@14:).
2020-10-02 14:08:48 -07:00
codeandkey
c4a0c50036 trimmomatic: add 0.39 2020-10-02 14:01:45 -07:00
Jed Brown
ba18675bd1 libceed 0.7 and occa 1.1.0 (#19055) 2020-10-02 14:00:53 -07:00
Andreas Baumbach
9644332a13 openblas: patch to build with apple-clang@12.0.0 (#19057) 2020-10-02 13:57:46 -07:00
Jose E. Roman
b18d597c8b SLEPc: add version 3.14 (#19058) 2020-10-02 13:54:23 -07:00
Sajid Ali
9ba83e6cc6 lammps: choose FFT implementation based on provider (#19060) 2020-10-02 13:53:50 -07:00
Joe Koning
3052e003e0 py-sqlalchemy: add version 1.3.19 (#19062) 2020-10-02 13:36:15 -07:00
Joe Koning
640d5a9a63 py-pytz: add version 2020.1 (#19064) 2020-10-02 13:34:42 -07:00
Joe Koning
ac94bc9ed3 py-pycparser: add version 2.20 (#19065) 2020-10-02 13:33:44 -07:00
Joe Koning
84791e1051 py-psutil: add version 5.7.2 (#19066) 2020-10-02 13:32:49 -07:00
Joe Koning
f067bdd522 py-prompt-toolkit: add version 3.0.7 (#19067) 2020-10-02 13:32:03 -07:00
Joe Koning
18165b6d88 py-parse: add version 1.18.0 (#19068) 2020-10-02 13:31:24 -07:00
Joe Koning
addedd9a82 py-maestrowf: add version 1.1.7dev0 (#19070) 2020-10-02 13:30:21 -07:00
Joe Koning
57d36426bd py-kombu: add versions 4.6.11 and 5.0.2 (#19071) 2020-10-02 13:29:00 -07:00
Joe Koning
d4410e45d5 py-cffi: add version 1.14.3 (#19078) 2020-10-02 13:25:46 -07:00
Joe Koning
1ef7da295f py-importlib-metadata: add version 2.0.0 (#19072) 2020-10-02 13:19:28 -07:00
Joe Koning
92853598e9 py-humanfriendly: add version 8.2 (#19073) 2020-10-02 13:18:49 -07:00
Joe Koning
898f9c8838 py-filelock: add version 3.0.12 (#19074) 2020-10-02 13:18:02 -07:00
Joe Koning
4482f20900 py-coloredlogs: add version 14.0 (#19075) 2020-10-02 13:17:04 -07:00
Joe Koning
bc17b78b47 New package: py-click-repl (#19076) 2020-10-02 13:16:24 -07:00
Joe Koning
d8dadd1435 New package py-click-didyoumean (#19077) 2020-10-02 13:15:21 -07:00
Joe Koning
2682c32d50 py-cached-property: add version 1.5.2 (#19080) 2020-10-02 12:17:06 -07:00
Joe Koning
0e30179d0a py-billiard: add version 3.6.3.0 (#19081) 2020-10-02 12:16:12 -07:00
Joe Koning
861586ce86 py-amqp: add versions 5.0.1 and 2.6.1 (#19082) 2020-10-02 12:15:17 -07:00
Joe Koning
76218fab04 py-tabulate: add version 0.8.7 (#19083) 2020-10-02 12:14:01 -07:00
Joe Koning
4ac13cb322 py-vine: add version 5.0.0 (#19084) 2020-10-02 12:13:19 -07:00
Michael Kuhn
e47b725d8e New package: libisal (#19098) 2020-10-02 12:12:18 -07:00
Jen Herting
c21a65b73a New package: librmm (#19103) 2020-10-02 12:10:49 -07:00
Andreas Baumbach
145e3c7215 New package: Icarus (#19092)
Co-authored-by: Philipp Spilger <philipp.spilger@kip.uni-heidelberg.de>
Co-authored-by: Eric Müller <mueller@kip.uni-heidelberg.de>
2020-10-02 12:06:01 -07:00
Satish Balay
569eb866fc Add hypre@2.20.0 petsc@3.14.0 [and 3.13.6,3.13.5] (#19105) 2020-10-02 12:02:23 -07:00
Justin S
28265d31ee New package: perl-file-slurp (starting at 9999.32) (#19112) 2020-10-02 11:41:22 -07:00
Adam J. Stewart
db794ea201 p7zip: fix build on macOS 2020-10-02 11:38:11 -07:00
arjun-raj-kuppala
e760f16cf8 New package: rdc (ROCm Data Center Tool) (#19118) 2020-10-02 11:24:22 -07:00
Miroslav Stoyanov
1ad405d649 heffte: added v2.0.0 with Python an Fortran bindings (#19129) 2020-10-02 20:13:44 +02:00
h-denpo
c71c509f05 sbml: fix configuration with ~python (#19120) 2020-10-02 11:07:24 -07:00
Michael Kuhn
f7a2412626 go: Add 1.15.2 and 1.14.9 2020-10-02 11:05:29 -07:00
Michael Kuhn
65fe75d978 node-js: Add 14.13.0 and 12.18.4 2020-10-02 11:05:07 -07:00
aurianer
e996f29f25 Add HPX 1.5.1 release 2020-10-02 11:04:18 -07:00
Adam J. Stewart
ee61f6b772 oneDNN: add versions including 1.6.4 (#19130) 2020-10-02 11:00:18 -07:00
Scott Wittenburg
a44135dccf Update buildcache key index when we update the package index (#19117)
This changes makes sure that when we run the pipeline job that updates
the buildcache package index on the remote mirror, we also update the
key index.  The public keys corresponding to the signing keys used to
sign the package was pushed to the mirror as a part of creating the
buildcache index, so this is just ensuring those keys are reflected
in the key index.

Also, this change makes sure the "spack buildcache update-index"
job runs even when there may have been pipeline failures, since we
would like the index always to reflect the true state of the mirror.
2020-10-02 11:00:42 -06:00
Harmen Stoppels
0e8be35c25 Bump rocblas to 3.8.0 (#19027)
* Add rocblas 3.8.0 and add all Tensile deps

* Deploy rocm_smi to the bin/ folder so that it is in $PATH

* BUILD_WITH_TENSILE_HOST=ON on 3.7.0+ and fix flake8
2020-10-02 11:14:12 -05:00
vvolkl
d1ae087960 add py-hepunits and py-particle (#19030)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

[py-particle] format

[py-particle] switch to pypi downloads

[py-particle] specify dependencies in more details

[py-particle] format

Update var/spack/repos/builtin/packages/py-particle/package.py

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

Update var/spack/repos/builtin/packages/py-particle/package.py

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

Update var/spack/repos/builtin/packages/py-particle/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-02 10:59:47 -05:00
Harmen Stoppels
04f48034fb Add sirius@6.5.7 (#19026) 2020-10-02 17:59:31 +02:00
Brian Van Essen
d2da7e6671 Added initial version hash (#19053) 2020-10-02 10:56:06 -05:00
Miroslav Stoyanov
7f2f2a01ff new release for Tasmanian (#19113) 2020-10-02 15:47:58 +02:00
vvolkl
a1482be8f2 [whizard] add version 2.8.5 (#19125) 2020-10-02 15:15:23 +02:00
Scott Wittenburg
d3d98075c5 Fix fetch of spec.yaml files from buildcache (#19101)
Since those files currently exist in buildcaches (in S3 buckets) with
potentially different content types, we should be less restrictive in
what content types we accept when attempting to fetch them.  This PR
removes the content type constraint so any file with the matching
name will be found.
2020-10-01 14:32:43 -06:00
Patrick Gartung
a2795519df Binary caching: avoid duplicate RPATHs, unnecessary updates (#19061)
* Remove duplication of reconstructed RPATHs caused by multiple
  identical entries in prefixes dictionary
* Don't rewrite RPATHs if relative RPATHs are unchanged because the
  directory layout is unchanged
2020-10-01 13:21:02 -07:00
Andrew Gaspar
6aa9866b79 Add yacc provider and add dependency to swig (#19087)
* Add byacc dependency to swig when building an autoconf version

* Add yacc provider

Removed extra sycl provider default
2020-10-01 16:09:24 -04:00
Michael Kuhn
252031a9f8 nasm: added v2.15.05 (#19099) 2020-10-01 21:58:27 +02:00
Carson Woods
e2626b8438 ucx: added v1.9.0 (#19100) 2020-10-01 21:56:19 +02:00
Sajid Ali
c4b9febcb2 blis : added v0.7.0 (#19102) 2020-10-01 21:47:39 +02:00
Satish Balay
d49bdac859 PLASMA: added v20.9.20 (#19106)
Co-authored-by: Piotr Luszczek <luszczek@icl.utk.edu>
2020-10-01 21:46:49 +02:00
mic84
21c3acf34d amrex: added v20.10 (#19107) 2020-10-01 21:44:36 +02:00
Patrick Gartung
a380ceb139 Buildcache: Need to check the binary is not a Mach-o binary in a linux package or an ELF binary in a macOS package. (#18670)
* Need to check the binary is not a Mach-o binary in a linux package or an ELF binary in a macOS package.

* use sys.platform

* Darwin -> darwin for sys.platform
2020-10-01 12:39:59 -05:00
Todd Kordenbrock
e0c7f5ae3d FAODEL: apply a patch to fix CMake failures on NERSC Cori in faodel@1.1906.1 (#19093)
Co-authored-by: Todd Kordenbrock <thkorde@sandia.gov>
2020-10-01 10:38:40 -07:00
Ganesh Kumar
03790a4f36 ROCm3.8 miopen-opencl (#19022)
* ROCm3.8 miopen

* ROCm3.8 miopen

* review comments

* setting OCL_ICD_VENDORS path
2020-10-01 07:48:04 -05:00
Jonathan R. Madsen
5c6153ce0d timemory: created +python_deps variant (#18472)
* Created +python_deps variant

- the timemory python bindings can still be imported without these runtime packages and forcing a dependence by default significantly increases the spack install time

* Added conflict

- added conflicts('+python_deps', when='~python')
2020-09-30 19:24:26 -05:00
Scott Wittenburg
075c3e0d92 Merge pull request #18359 from scottwittenburg/add-binary-distribution-cache-manager
Add binary distribution cache manager
2020-09-30 16:37:35 -06:00
Sreenivasa Murthy Kolam
5558bc2b50 rocm-3.8.0 updates for hipblas, rocsolver, miopen-hip, rocalution, rocmvalidationsuite (#19031)
* rocm-3.8.0 updates for hipblas,rocsolver,rocm-opencl

* rocm-3.8.0 updates to rocalution and rename and change rocmvalidationsuite

* rocm-3.8.0 update to miopen-hip

* Revert "rocm-3.8.0 updates for hipblas,rocsolver,rocm-opencl"

This reverts commit 2542e8b1be.

* rocm-3.8.0 changes for rocsolver and hipblas
2020-09-30 17:27:40 -05:00
Christoph Junghans
9431a67a27 ecp proxy apps: add v4.0 (#19059)
* ecp-proxy-apps: add v4.0

* miniamr: add v1.6.4
2020-09-30 11:22:15 -06:00
t-nojiri
70a3626af7 optipng: allow build on aarch64 (#19039)
Added a patch to allow building on aarch64
2020-09-30 17:59:40 +02:00
Brian Van Essen
c23d79c6d2 cuDNN: add version 8.0.4 (#19054) 2020-09-29 23:21:08 -05:00
Sinan
59720e0ef9 new package: py-gitpython (#18387)
* new package: py-gitpython

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

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

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Sinan81 <Sinan81@earth>
2020-09-29 11:19:34 -05:00
Axel Huebl
1e01518ef4 py-(re)commonmark: dependency types (#18743)
* py-(re)commonmark: dependency types

fix the python dependency types for python packages.

* py-(re)commonmark: add missing deps

* Remove unused `py-future`
2020-09-29 11:15:50 -05:00
Toyohisa Kameyama
609f361f93 texstudio: added v3.0.0 and v3.0.1. (#19040) 2020-09-29 14:12:55 +02:00
Axel Huebl
8edb31e934 CUDA: added v11.1.0 (#19036)
Compiler conflicts have been updated accordingly
2020-09-29 11:38:56 +02:00
David Beckingsale
04771ad9f8 Fixup conflicts for CUDA 11.0.2 and GCC (#19035)
* Fixup conflicts for CUDA 11.0.2 and GCC
* Updates for ppc64le
* Fix missing "or newer"

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2020-09-28 18:01:20 -07:00
Adam J. Stewart
d183d16abb macOS CI: replace jupyter with jupyterlab (#19029) 2020-09-28 17:43:56 -07:00
QuellynSnead
977117b502 Paraview 5.6.2's version of VTK (8.2.0) is incompatible with Python 3.8 (#18881)
* Paraview 5.6.2's version of VTK (8.2.0) is incompatible with Python 3.8.
(see https://gitlab.kitware.com/vtk/vtk/-/issues/17670)

* Trailing whitespace
2020-09-28 19:30:18 -05:00
Sreenivasa Murthy Kolam
60644f889e rocfft ,rocrand changes for rocm-3.8.0 (#18879)
* rocfft changes for rocm-3.8.0

* changes to the version

* rocrand recipe changes for rocm-3.8.0
2020-09-28 17:08:29 -05:00
Massimiliano Culpo
971e0049b1 EnTT: added new package at v3.5.2 (#19021) 2020-09-28 12:07:28 -05:00
Harmen Stoppels
496d83a26a Kokkos nvcc wrapper 3.2.00 (#19023)
* Add more updates for kokkos 3.2 release, particularly nvcc-wrapper

* Use an ordinary Package

Co-authored-by: Jeremiah J Wilke <jjwilke@kokkos-dev-2.sandia.gov>
2020-09-28 10:24:18 -06:00
Adam J. Stewart
c62c94d521 APR: fix build with Apple Clang 12 (#19016) 2020-09-28 12:22:31 -04:00
Ganesh Kumar
7d965f7bb1 ROCm3.8 hipcub, hipsparse, rocprim, rocsparse & rocthrust (#18936)
* ROCm3.8 atmi, hipify-clang, rocm-clang-ocl, rocm-dbgapi, rocprofiler

* ROCm3.8 hipcub, hipsparse, rocprim, rocsparse & rocthrust

* review comments

* Review comments

Co-authored-by: root <root@mlseqa-hyd-virt-srv-07.amd.com>
2020-09-28 11:10:34 -05:00
Ganesh Kumar
a3d290a248 ROCm3.8 hipfort recipe (#19024)
* ROCm3.8 hipfort recipe

* review comments
2020-09-28 10:26:20 -05:00
Pariksheet Nanda
a50b3323a9 librsvg: added v2.50.0 (#18865) (#18869) 2020-09-28 13:29:48 +02:00
Tomoki, Karatsu
b76189a2e5 autotools: patch 'libtool' recursively in subdirectories (#18620)
Previous version was doing it only in the root build directory.
2020-09-28 10:53:56 +02:00
Adam J. Stewart
c8ac61979b Fix usage of builtin file as variable name (#19018) 2020-09-28 07:14:39 +02:00
Massimiliano Culpo
ac7c69e62e libuv: added v1.40.0 and v1.39.0 (#18974) 2020-09-25 16:52:29 -05:00
Omar Padron
2d93154119 Streamline key management for build caches (#17792)
* Rework spack.util.web.list_url()

list_url() now accepts an optional recursive argument (default: False)
for controlling whether to only return files within the prefix url or to
return all files whose path starts with the prefix url.  Allows for the
most effecient implementation for the given prefix url scheme.  For
example, only recursive queries are supported for S3 prefixes, so the
returned list is trimmed down if recursive == False, but the native
search is returned as-is when recursive == True.  Suitable
implementations for each case are also used for file system URLs.

* Switch to using an explicit index for public keys

Switches to maintaining a build cache's keys under build_cache/_pgp.
Within this directory is an index.json file listing all the available
keys and a <fingerprint>.pub file for each such key.

 - Adds spack.binary_distribution.generate_key_index()
   - (re)generates a build cache's key index

 - Modifies spack.binary_distribution.build_tarball()
   - if tarball is signed, automatically pushes the key used for signing
     along with the tarball
   - if regenerate_index == True, automatically (re)generates the build
     cache's key index along with the build cache's package index; as in
     spack.binary_distribution.generate_key_index()

 - Modifies spack.binary_distribution.get_keys()
   - a build cache's key index is now used instead of programmatic
     listing

 - Adds spack.binary_distribution.push_keys()
   - publishes keys from Spack's keyring to a given list of mirrors

 - Adds new spack subcommand: spack gpg publish
   - publishes keys from Spack's keyring to a given list of mirrors

 - Modifies spack.util.gpg.Gpg.signing_keys()
   - Accepts optional positional arguments for filtering the set of keys
     returned

 - Adds spack.util.gpg.Gpg.public_keys()
   - As spack.util.gpg.Gpg.signing_keys(), except public keys are
     returned

 - Modifies spack.util.gpg.Gpg.export_keys()
   - Fixes an issue where GnuPG would prompt for user input if trying to
     overwrite an existing file

 - Modifies spack.util.gpg.Gpg.untrust()
   - Fixes an issue where GnuPG would fail for input that were not key
     fingerprints

 - Modifies spack.util.web.url_exists()
   - Fixes an issue where url_exists() would throw instead of returning
     False

* rework gpg module/fix error with very long GNUPGHOME dir

* add a shim for functools.cached_property

* handle permission denied error in gpg util

* fix tests/make gpgconf optional if no socket dir is available
2020-09-25 12:54:24 -04:00
darmac
421f4e12a7 Add new package: 3proxy (#18831) 2020-09-25 11:33:51 -05:00
eugeneswalker
7bf0ebc5eb veloc: add v1.4, unconstrain dependency on boost (#18938)
* veloc: add v1.4

* veloc: unconstrain boost dependency
2020-09-25 11:24:56 -05:00
Greg Becker
f616422fd7 refactor install_tree to use projections format (#18341)
* refactor install_tree to use projections format

* Add update method for config.yaml

* add test for config update config
2020-09-25 11:15:49 -05:00
t-nojiri
51b90edd78 sgpp: allow building on aarch64 (#18968) 2020-09-25 17:20:35 +02:00
Matthias Diener
9c5a47183e pyopencl: add new package (#18899)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-25 10:19:56 +02:00
Sergey Kosukhin
54517e571a eccodes: update and a add new version (#18864) 2020-09-25 09:44:37 +02:00
t-nojiri
9cc0bc9ca3 steps:allow building on aarch64 (#18966) 2020-09-25 09:33:03 +02:00
Kelly (KT) Thompson
a7cbd6074e lcov: added v1.15 (#18959) 2020-09-25 09:28:01 +02:00
Matthias Diener
8ac1d62159 oclgrind: added new package at v19.10 (#18943) 2020-09-25 09:07:07 +02:00
egreen77
c9c2bac373 umap: added v2.1.0 (#18946) 2020-09-25 08:57:47 +02:00
Cody Balos
aab8c45a34 sundials: added v5.4.0 (#18949) 2020-09-25 08:51:34 +02:00
t-nojiri
78b304c0c3 minimd: allow building on aarch64 (#18951) 2020-09-25 08:49:50 +02:00
Ganesh Kumar
a9c9501a47 ROCm3.8 atmi, hipify-clang, rocm-clang-ocl, rocm-dbgapi, rocprofiler (#18871)
Co-authored-by: root <root@mlseqa-hyd-virt-srv-07.amd.com>
2020-09-25 08:26:04 +02:00
Brian Van Essen
ce5d0cb951 Updated cuDNN to include hash codes for 8.0.3. (#18948) 2020-09-24 20:16:14 -05:00
Sinan
878f7cbf14 package py-psycopg2: add new version, specify python versions (#18877)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2020-09-24 14:41:02 -05:00
darmac
906fa5f50d Add new package: cachefilesd (#18907) 2020-09-24 11:53:51 -05:00
darmac
420bfa41a2 Add new package: dhtest (#18908) 2020-09-24 11:52:23 -05:00
darmac
c8989e2247 Add new package: cronie (#18909) 2020-09-24 11:51:58 -05:00
darmac
8aa06154dc Add new package: dcap (#18910) 2020-09-24 11:51:29 -05:00
darmac
c5f5b7273d Add new package: ctpl (#18911) 2020-09-24 11:51:05 -05:00
darmac
2a2d90f9cd Add new package: chrony (#18912) 2020-09-24 11:50:36 -05:00
darmac
e4699cbc54 Add new package: duperemove (#18913) 2020-09-24 11:50:07 -05:00
darmac
9e06e56634 Add new package: dracut (#18914) 2020-09-24 11:49:43 -05:00
darmac
b9e7db3447 Add new package: distcc (#18915) 2020-09-24 11:49:20 -05:00
darmac
72203e529f Add new package: libuser (#18916) 2020-09-24 11:48:50 -05:00
t-nojiri
93e989316e lcals: Fix for aarch64 (#18918) 2020-09-24 11:47:21 -05:00
darmac
9288091963 Add new package: rrdtool (#18919) 2020-09-24 11:46:45 -05:00
darmac
928e46088c Add new package: procps-ng (#18921) 2020-09-24 11:43:06 -05:00
darmac
c4d3b59166 Add new package: quota (#18922) 2020-09-24 11:42:42 -05:00
darmac
a0c32e6ed7 Add new package: slang (#18923) 2020-09-24 11:42:18 -05:00
darmac
e0dd5ce68a Add new package: acct (#18924) 2020-09-24 11:41:53 -05:00
darmac
fb7f07b27c Add new package: smartmontools (#18926) 2020-09-24 11:40:26 -05:00
darmac
af162498f0 Add new package: geoip (#18927) 2020-09-24 11:39:41 -05:00
darmac
b01aea2cec Add new package: libtheora (#18928) 2020-09-24 11:38:42 -05:00
darmac
65ea663fd4 Add new package: setserial (#18929) 2020-09-24 11:38:05 -05:00
darmac
cf4e468ed2 Add new package: diffmark (#18930) 2020-09-24 11:37:38 -05:00
darmac
b04ee99315 Add new package: debbuild (#18931) 2020-09-24 11:37:01 -05:00
darmac
ae05e73bc8 Add new package: turnserver (#18932) 2020-09-24 11:36:33 -05:00
darmac
6b3116516e Add new package: disktype (#18934) 2020-09-24 11:33:31 -05:00
darmac
a9a25acdb9 Add new package: dnstop (#18935) 2020-09-24 11:32:17 -05:00
Nichols A. Romero
89cca23840 Classic Flang Master Update (#18748)
* Flang master branch is now the preferred version.

* Flang master branch can now use LLVM 9

* Remove master as this was never used by Flang.

* Add LLVM-Flang release_90 and release_90.
2020-09-24 11:27:43 -05:00
Sreenivasa Murthy Kolam
6ec3c4d35e renaming of Rocclr ,rocgdb to hip-rocclr and rocm-gdb ,fix build error for rocm-opencl (#18900)
* renaming of rocclr , rocgdb to hip-rocclr and rocm-gdb

* fix flake8 errors and fix build error for luma
2020-09-24 10:49:46 -05:00
Dr. Christian Tacke
69d618e90d pythia8: Add version 8303, make default (#18874)
* Add version 8303
* Until now, the latest 82xx release was the `preferred` version.
  We agreed to let the latest version be the preferred one now.
2020-09-24 08:40:07 +02:00
Michael Kuhn
7810f73653 Fix pkgconfig dependency (#18750)
pkgconfig is the virtual dependency, pkg-config is one provider.
2020-09-23 21:29:47 -05:00
darmac
0fabbff03e Add new package: usbutils (#18825) 2020-09-23 21:15:06 -05:00
darmac
3b76217e8a Add new package: abduco (#18725) 2020-09-23 21:11:18 -05:00
darmac
aec8cf1602 Add new package: aeskeyfind (#18726) 2020-09-23 21:09:39 -05:00
darmac
3e61d3c536 Add new package: bannergrab (#18730)
* Add new package: bannergrab

* refine installation flow
2020-09-23 21:06:50 -05:00
darmac
ae6834311b Add new package: beakerlib (#18734) 2020-09-23 21:05:45 -05:00
darmac
b9e79ee99d Add new package: bitlbee (#18735) 2020-09-23 21:05:15 -05:00
darmac
7fcd32aa6c Add new package: libcap-ng (#18752) 2020-09-23 21:02:22 -05:00
darmac
5e8ac6c261 Add new package: ck (#18753) 2020-09-23 21:01:52 -05:00
darmac
7c8cb01179 Add new package: cracklib (#18755) 2020-09-23 21:01:29 -05:00
darmac
0b8fb43e3e Add new package: cunit (#18757) 2020-09-23 21:00:57 -05:00
darmac
ddf27b56ad Add new package: ding-libs (#18758) 2020-09-23 21:00:19 -05:00
darmac
dec8da9257 Add new package: dmidecode (#18759) 2020-09-23 20:59:51 -05:00
darmac
3cdb79f569 Add new package: dnsmap (#18760) 2020-09-23 20:59:11 -05:00
darmac
84f111ff85 Add new package: dotconf (#18761) 2020-09-23 20:58:27 -05:00
darmac
74e4b41008 Add new package: dropwatch (#18762) 2020-09-23 20:58:06 -05:00
darmac
56270b229f Add new package: audacity (#18764) 2020-09-23 20:56:50 -05:00
darmac
4664221576 Add new package: earlyoom (#18765) 2020-09-23 20:56:09 -05:00
darmac
1662251b77 Add new package: libuecc (#18766) 2020-09-23 20:55:40 -05:00
darmac
2bc6997418 Maven: add version 3.0.4 for some special package (#18767) 2020-09-23 20:55:15 -05:00
darmac
d4fe61f770 Add new package: gsettings-desktop-schemas (#18768) 2020-09-23 20:54:48 -05:00
darmac
3f892a7722 Add new package: libproxy (#18770) 2020-09-23 20:51:42 -05:00
darmac
dc0cff5eb2 Add new package: libatasmart (#18771) 2020-09-23 20:51:20 -05:00
darmac
c4f57890b5 Add new package: libbytesize (#18772)
* Add new package: libbytesize

* libbytesize: refine url
2020-09-23 20:50:55 -05:00
darmac
bbb3d94599 Add new package: libdaemon (#18773) 2020-09-23 20:50:13 -05:00
darmac
ce10e4ea03 Add new package: libnet (#18776) 2020-09-23 20:47:57 -05:00
darmac
6f48ac5eb6 Add new package: libkcapi (#18777) 2020-09-23 20:47:19 -05:00
darmac
92fe14cc47 Add new package: libp11 (#18778) 2020-09-23 20:46:57 -05:00
darmac
b69643de7f Add new package: librelp (#18779) 2020-09-23 20:46:28 -05:00
darmac
527ea798c5 Add new package: librtlsdr (#18780) 2020-09-23 20:45:47 -05:00
darmac
f2093dc3c4 Add new package: libtar (#18781) 2020-09-23 20:45:22 -05:00
darmac
8ae3ccdea4 Add new package: libtommath (#18782) 2020-09-23 20:44:51 -05:00
darmac
63d45b975d Add new package: libxcrypt (#18783) 2020-09-23 20:44:23 -05:00
darmac
e70c20f13f Add new package: libverto (#18785) 2020-09-23 20:43:55 -05:00
darmac
28c6f1ddc2 Add new package: logrotate (#18786) 2020-09-23 20:43:29 -05:00
darmac
4a2b56122c Add new package: mcpp (#18787) 2020-09-23 20:42:45 -05:00
darmac
17c55f3d91 Add new package: mlocate (#18788) 2020-09-23 20:42:21 -05:00
darmac
16c0375d70 Add new package: mokutil (#18789) 2020-09-23 20:41:12 -05:00
darmac
1b707988c5 Add new package: openslp (#18791) 2020-09-23 20:38:38 -05:00
darmac
f87d032228 Add new package: sblim-sfcc (#18792) 2020-09-23 20:38:02 -05:00
darmac
d1d5ee395d Add new package: p11-kit (#18793) 2020-09-23 20:37:36 -05:00
darmac
6970e0da69 Add new package: patchutils (#18794)
* Add new package: patchutils

* patchutils: refine url
2020-09-23 20:37:06 -05:00
darmac
83c1f035a2 Add new package: pciutils (#18795) 2020-09-23 20:35:50 -05:00
darmac
9577ed71fe Add new package: oci-systemd-hook (#18805) 2020-09-23 20:35:14 -05:00
darmac
8c3b081147 Add new package: py-asyncio (#18809) 2020-09-23 20:30:17 -05:00
darmac
9263f56b6d Add new package: py-robotframework (#18814) 2020-09-23 20:19:36 -05:00
darmac
dd4f55cb46 Add new package: py-chronyk (#18815) 2020-09-23 20:17:11 -05:00
darmac
0dcfd8909a Add new package: sysfsutils (#18819)
* Add new package: sysfsutils

* fix flake8 error
2020-09-23 20:12:52 -05:00
darmac
16d4bc59ba Add new package: tcpdump (#18820) 2020-09-23 20:12:24 -05:00
darmac
0aafdcfadb Add new package: tdengine (#18821) 2020-09-23 20:11:57 -05:00
darmac
15e75c03ff Add new package: systemtap (#18822) 2020-09-23 20:11:21 -05:00
darmac
733a8ee77b Add new package: timedatex (#18823)
* Add new package: timedatex

* timedatex: fix flake8 error
2020-09-23 20:10:54 -05:00
darmac
72e03161e4 Add new package: xmlrpc-c (#18828) 2020-09-23 20:06:23 -05:00
darmac
3b9ba5a9ab Add new package: authselect (#18832) 2020-09-23 20:02:56 -05:00
darmac
d72c73cd60 Add new package: bird (#18833) 2020-09-23 20:02:15 -05:00
darmac
5cf8fd4cb3 Add new package: libmetalink (#18834) 2020-09-23 20:01:50 -05:00
darmac
d796566605 Add new package: libnfnetlink (#18835) 2020-09-23 20:01:22 -05:00
darmac
6539d45ad6 Add new package: mesa-demos (#18839) 2020-09-23 19:59:36 -05:00
darmac
a0228d6f94 Add new package: zabbix (#18840) 2020-09-23 19:59:05 -05:00
darmac
63340a1fac Add new package: libevdev (#18886) 2020-09-23 19:56:23 -05:00
darmac
653344a9f1 Add new package: fakechroot (#18887) 2020-09-23 19:55:47 -05:00
darmac
3690a81aa4 Add new package: f2c (#18889) 2020-09-23 19:55:21 -05:00
darmac
e294a1e0a6 fasttext: new package at v0.9.2 (#18890) 2020-09-23 18:53:31 +02:00
eugeneswalker
9eb87d1026 OLCF Ascent gitlab ci trigger: pass SPACK_REF (#18875) 2020-09-23 09:35:29 -07:00
vvolkl
394a23d392 py-uproot4: added new package at v0.0.27 (#18891) 2020-09-23 18:17:57 +02:00
vvolkl
3c418d9faa py-awkward1: added new package at v0.3.1 (#18892) 2020-09-23 18:15:32 +02:00
Matthieu Dorier
4277bc6429 nlohmann-json-schema-validator: new package at v2.1.0 (#18837) 2020-09-23 17:28:33 +02:00
Howard Pritchard
aedc056f9a trilinos: patch for cray cce fortran compiler (#18164)
two patchfiles needed since this file changed between 12.12.1 and 12.14.1

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2020-09-23 09:54:51 -05:00
darmac
562f504000 Add new package: addrwatch (#18728)
* Add new package: addrwatch

* addrwatch: refine url
2020-09-23 14:02:03 +02:00
Andre Sailer
8fac02e437 LCIO: added v2.15.[0123] (#18841) 2020-09-23 13:55:01 +02:00
Mathias Anselmann
b578d55d12 setting old GO default values for older trilinos versioins to (hopefully) not break the installation. Adjusting dealii package to just explicitly set GO if trilinos >= 12.18.1 is installed (#15439) 2020-09-22 18:52:05 -05:00
Jen Herting
bbb6b14540 treelite: new package at v0.93 (#18861) 2020-09-22 22:30:04 +02:00
Massimiliano Culpo
92b8177b77 gromacs: remove 'rdtscp' variant, deduce the flag from the target (#18868)
refers #18858
2020-09-22 13:11:35 -06:00
Miroslav Stoyanov
acf4dc2e12 Heffte: add magma variant (#18849) 2020-09-22 15:05:00 -04:00
Martin Pokorny
a23d67f7ea casacore: added v3.3.0 (#18870) 2020-09-22 20:55:58 +02:00
Andrew Gaspar
0d0ba79bfb Rust: added v1.46.0 (#18863) 2020-09-22 20:54:54 +02:00
Jordan Ogas
435c8862a6 charliecloud: added v0.19 (#18866) 2020-09-22 20:45:29 +02:00
Glenn Johnson
84dbf6948e Set conflicts parameter for cuda-11 (#18847)
Magma is not currently compatible with CUDA-11. While this is reflected
in the package, it is done with a comment in a `depends_on` directive,
which has the effect of trying to install a version of CUDA that may be
different from the one in the current environment, without any message
to the end user. A `conflicts` is a better way to handle this.
2020-09-22 12:35:13 -04:00
Adam J. Stewart
9558377f0f Bash: fix build with Xcode 12 (#18843) 2020-09-22 12:25:54 -04:00
Ganesh Kumar
9e906e2d47 ROCm 3.8 Stage1 Components (#18830)
* ROCm 3.8 Stage1 Components

* version review comments

* 3.5 dependency restrictions

Co-authored-by: root <root@mlseqa-hyd-virt-srv-07.amd.com>
2020-09-22 11:09:03 -05:00
Simon Pintarelli
7d0ae0f295 sirius: use -DCUDA_ARCH for develop, version >7.0.0 (#18852)
Also remove master branch
2020-09-22 17:35:11 +02:00
victorusu
a078e2ba13 ReFrame: added v3.1 (#18860) 2020-09-22 17:19:51 +02:00
Chris White
30d24db116 Added RAJA v0.12.1`and Umpire v4.0.1 (#18756)
Also renamed 'master' to 'main'
2020-09-22 15:40:16 +02:00
Hadrien G
a1e19de8e1 acts: added v1.0 (#18859) 2020-09-22 15:05:59 +02:00
Christoph Junghans
bdefac6964 miniqmc: fix install (#18857) 2020-09-21 18:15:27 -06:00
Robert Blake
b272e00d6a util-linux: fix bash completion install errors. (#18696)
* Disable bash completion by default.

* flake8

* Adding explicit dependence on libuuid

* Adding explicit dependence on cryptsetup

This way we don't pick up host crypto packages by mistake.

* Fixing the completion directory.

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

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

* flake8

* Removing libuuid linkage according to @michaelkuhn on #18696

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-21 16:11:44 -05:00
Christoph Junghans
0dd7f140b0 nut: fix install (#18848)
* nut: fix install

* flake8
2020-09-21 16:09:53 -05:00
Christoph Junghans
165dbf719d fix spack-build usages (#18846) 2020-09-21 12:19:06 -05:00
Greg Becker
5565b6494d typo (#18845) 2020-09-21 11:54:23 -05:00
Joseph Wang
88187bc63c add groff and ghostscript (#18803)
Without these packages, graphviz will set groff/ghostscript to false which will cause the build to fail.
2020-09-21 17:39:13 +02:00
Adam J. Stewart
678e9f5ad2 libksba: add new version (#18798) 2020-09-20 08:53:42 -04:00
Adam J. Stewart
7d5ddb1fc6 readline: simplify linking to ncurses (#18801) 2020-09-19 16:32:42 -05:00
Adam J. Stewart
489377d051 SciPy: add patch to fix XCode 12 build (#18800) 2020-09-19 16:32:26 -05:00
Adam J. Stewart
458dc81878 ncurses: fix libs method (#18799) 2020-09-19 16:32:05 -05:00
Adam J. Stewart
f570d7a45c graphviz: fix build with Apple Clang 12.0.0 (#18797) 2020-09-19 16:29:42 -05:00
Adam J. Stewart
36e9c1eba3 fish: relax ncurses dependency constraints (#18796) 2020-09-19 16:29:27 -05:00
Massimiliano Culpo
fcb4dfc307 Ensure variant defaults are parsable from CLI. (#18661)
- Add a unit test to check if there are unparsable defaults
- Fix 'rust' and 'nsimd' variants
2020-09-19 07:54:26 +02:00
Larry Knox
fff2f34de8 Hdf5 1.10.7 (#18712)
* Update hdf5/package.py for HDF5 1.10.7 release and obsolete home url.
Add maintainer to hdf/package.py.

* remove stray space.

* Remove unnecessary /diplay/support from homepage urls.
2020-09-18 21:38:56 -05:00
Tom Payerle
e36498cb46 bedtools2: Add missing python build dependency (#18744) (#18746)
Makefile invokes python to build some scripts
See #18744
2020-09-18 21:38:21 -05:00
Michael Kuhn
6198963ede popt: Add missing libiconv dependency (#18731)
Without this dependency, the build fails due to undefined references.
2020-09-18 18:00:00 -04:00
Adam J. Stewart
b44cf08cb2 py-notebook: add new version (#18638) 2020-09-18 14:46:12 -05:00
Greg Becker
7585b37865 do out of source builds in hashed directories (#18574) 2020-09-18 12:21:13 -07:00
Shahzeb Siddiqui
58fb6cdaad trigger ascent e4s pipeline on merge to spack develop (#18655)
* trigger ascent e4s pipeline on merge to spack develop

* change pipeline name ecpcitest/e4s is the pipeline that will be triggered for merge on develop its the E4S use-case.
2020-09-18 10:38:29 -07:00
Glenn Johnson
6e82776773 Add mumax-3.10 release version (#18740)
This PR adds the current release version of mumax and tweaks the install
of the previous beta version.

- Set the url parameter to reflect the release version over the beta
  version. Hopefully, this will be consistent going forward.
- Set an explicit url for the previous beta version.
- Accept values for `cuda_arch`. The previous version had its own list
  but the release version does not.
- Replace the built in cuda compute capabilities list with the one
  provided by Spack for the 3.10beta version.
2020-09-18 13:36:00 -04:00
Seth R. Johnson
71c7e28ca7 swig: add version 4.0.2 and 4.0.2-fortran (#18741) 2020-09-18 13:35:33 -04:00
Greg Becker
2e4892c111 env view failures: print underlying error message (#18713) 2020-09-18 10:21:14 -07:00
Jen Herting
44c7826892 [py-pyarrow] added variant cuda (#18716)
* [py-pyarrow] added variant cuda

* [py-pyarrow] simplifying variant dependencies
2020-09-18 10:28:28 -05:00
darmac
8cb1192050 util-linux: fix build error (#18647)
* util-linux: fix build error

* refine install stage
2020-09-18 10:04:28 -05:00
darmac
a4cdf664c6 Add new package: shiro (#18541)
* Add new package: shiro

* refine description and dependencies
2020-09-18 10:03:32 -05:00
ketsubouchi
403ea4384e ocaml: support 4.11 (#18705) 2020-09-18 10:02:50 -05:00
Toyohisa Kameyama
7d0a46c051 iwyu: Require llvm+all_targets on non-x86_64 systems (#18710) 2020-09-18 10:31:03 -04:00
Axel Huebl
a8b6faf430 py-recommonmark: fix URL and docutils version (#18714) 2020-09-18 12:07:57 +02:00
Axel Huebl
275583c02f py-breathe: added v4.21.0 (#18722) 2020-09-18 07:44:54 +02:00
Mark W. Krentel
80fe51046c libpfm4: add version 4.11.0 (#18720)
Add version 4.11.0 for libpfm4.
Add myself as maintainer.
2020-09-17 15:58:23 -05:00
Jen Herting
e329e13f32 [arrow] added cuda variant (#18715) 2020-09-17 15:26:51 -05:00
Glenn Johnson
4b41d56bc3 Add bart-0.6.00 (#18717)
This PR adds version 0.6.00 of bart.
2020-09-17 15:25:08 -05:00
Adam J. Stewart
f9699fd3ff py-nbconvert: add new version (#18636) 2020-09-17 15:23:59 -05:00
Adam J. Stewart
69d8417d8a py-nbclient: add new package (#18628) 2020-09-17 12:54:03 -07:00
Adam J. Stewart
01df552149 py-matplotlib: add v3.2.2 (#18681) 2020-09-17 12:46:20 -07:00
t-nojiri
b66d756da6 bowtie : Fix for aarch64 (#18709) 2020-09-17 11:42:32 -05:00
Glenn Johnson
7c01c64d53 gpu-burn: allow to build with non-gcc compilers (#18707)
This PR modifies the patch to use $(CXX) rather than g++ to allow the
spack compiler to be used.
2020-09-17 17:24:22 +02:00
Glenn Johnson
2576d8d767 Update libbeagle (#18703)
This PR fixes a couple of things with the libbeagle package.

- libbeagle can only be built for one GPU type. Add a test for that.
- version 2 had the arch statement in
  libhmsbeagle/GPU/kernels/Makefile.am but version 3 has it in
  configure.ac. Put the variant specified value in configure.ac for
  consistency.
2020-09-17 10:04:21 -05:00
Ganesh Kumar
0f332c73a6 Rocm 3.7 miopen, miopengemm, rocalution and rocm-opencl (#18690)
* ROCm 3.5 miopen recipe

* fixing flake8 issues

* cmake variant fix

* min support fix

* variant possible values

* rocm3.7 change for miopen, rocalution and rocm-opencl

* review comments
2020-09-17 10:00:45 -05:00
Enrico Usai
91bd99b4b2 aws-parallelcluster: add 2.9.1 and 2.9.0 releases (#18676)
Checked all the third party dependencies for all the versions.
2020-09-17 09:59:11 -05:00
arjun-raj-kuppala
7fb83047fd Hipify clang with AMD rocm 3.7.0 update (#18672)
* Hipify clang with rocm 3.7.0 update

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

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2020-09-16 22:18:48 -05:00
Greg Sjaardema
9a5f043ce6 seacas: Force use of non-mpi-enabled hdf5 (#18702)
Due to recent changes in the `netcdf-c` package, it is now necessary to explicitly request a non-mpi-enabled hdf5 build if building a non-mpi-enabled seacas.
2020-09-16 16:37:13 -05:00
Robert Blake
f95d7959b2 lustre: Adding external support. Closing #18698 (#18700) 2020-09-16 16:29:59 -05:00
Simon Frasch
91649763ab spla: Add version 1.1.1 and fix cmake flag when build with +cuda (#18699) 2020-09-16 16:27:00 -05:00
Sajid Ali
7c23498f1d bump CGAL version (#18693)
* bump CGAL version

* Address reviewer comments

* flake8 fix

* Address reviewer comments

* Address reviewer comments
2020-09-16 16:22:40 -05:00
Andre Sailer
635b8243fe [dd4hep]: add variant lcio (#18691) 2020-09-16 17:33:14 +01:00
Tiziano Müller
0d5c065678 libvdwxc: unbreak concretization, request fftw-api (#18688)
* libvdwxc: unbreak concretization, request fftw-api

mixing both fftw and fftw-api in a dependency tree can trigger the
following:

```
$ spack spec cp2k@master +sirius
==> [2020-09-16-12:36:06.552981] sirius applying constraint gsl
==> [2020-09-16-12:36:06.554270] sirius applying constraint openblas@0.3.10%gcc@7.5.0~consistent_fpcsr~ilp64+pic+shared threads=none arch=linux-opensuse_leap15-sandybridge
Traceback (most recent call last):
  File "./bin/spack", line 64, in <module>
    sys.exit(spack.main.main())
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/main.py", line 762, in main
    return _invoke_command(command, parser, args, unknown)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/main.py", line 490, in _invoke_command
    return_val = command(parser, args)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/cmd/spec.py", line 103, in spec
    spec.concretize()
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2228, in concretize
    user_spec_deps=user_spec_deps),
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2716, in normalize
    visited, all_spec_deps, provider_index, tests)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2654, in _normalize_helper
    dep, visited, spec_deps, provider_index, tests)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2613, in _merge_dependency
    visited, spec_deps, provider_index, tests)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2654, in _normalize_helper
    dep, visited, spec_deps, provider_index, tests)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2554, in _merge_dependency
    provider = self._find_provider(dep, provider_index)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2489, in _find_provider
    providers = provider_index.providers_for(vdep)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/provider_index.py", line 80, in providers_for
    return sorted(s.copy() for s in result)
  File "/data/tiziano/debug-spack/spack2/lib/spack/llnl/util/lang.py", line 249, in <lambda>
    lambda s, o: o is not None and s._cmp_key() < o._cmp_key())
TypeError: '<' not supported between instances of 'str' and 'NoneType'
```

while at the same point disallowing MKL as a fftw provider.
Solving both issues by depending on `fftw-api@3` instead and adding a
conflict on `^fftw~mpi` when using `+mpi` (thanks to alalazo).

* cp2k: use conflicts instead of runtime checks for fftw/openblas variants
2020-09-16 10:41:46 -05:00
t-nojiri
cb218058bc fraggenescan: Modify build_targets for aarch64 (#18687) 2020-09-16 10:40:33 -05:00
Xavier Delaruelle
0b3e860608 environment-modules: add version 4.6.0 (#18686) 2020-09-16 10:39:55 -05:00
Robert Pavel
2f0565de64 Added spackage for cosmoflow-benchmark proxy app (#18685)
* Initial Draft of Cosmoflow Spackage

Need to add in logic to streamline cpu/gpu builds

* Added ~cuda logic to cosmoflow spackage

Added logic to support a ~cuda build for cosmoflow

* Requested Changes to Cosmoflow Spackage

Made requested changes to cosmoflow spackage
2020-09-16 10:18:01 -05:00
Severin Strobl
e41c3ad1fc Likwid versions >= 5.0.0 depend on Lua 5.2. (#18675)
* Likwid versions >= 5.0.0 depend on Lua 5.2.

According to https://github.com/RRZE-HPC/likwid/issues/324 recent
versions of Likwid require Lua 5.2.

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-16 10:16:08 -05:00
Jason Lee
1a9f97fd0d jemalloc: Use AutotoolsPackage and allow for arbitrary public API prefixes (#18680)
Removed je variant
2020-09-15 20:37:05 -05:00
Greg Sjaardema
6a3583f181 MatIO: Update repository and add new versions (#18683)
MatIO development has switched to github from sourceforge.  Updated the `git` and `url` variables and added the four new versions (1.5.14 -- 1.5.17) that have been released since the last update of this package.
2020-09-15 16:43:45 -05:00
arjun-raj-kuppala
bad9f2bc28 AMD ROCmValidationSuite recipe for 3.5.0 and 3.7.0 (#18678)
* AMD ROCmValidationSuite recipe for 3.5.0 and 3.7.0

* Updated the PR comments for rocmvalidationsuite recipe
2020-09-15 13:16:41 -05:00
Nikolay Simakov
1b1bfd883a namd: Added optimization auto-selection for skylake-X+ CPU for 2.14 and 2.15a1 (AVX512 tile) (#18671) 2020-09-15 10:08:26 -05:00
Sergey Kosukhin
5cff304809 CLAW: update the package (#18673) 2020-09-15 10:04:59 -05:00
Tom Payerle
6752a1c377 Qbox minor issues 18664 (#18665)
* qbox: install to correct directory structure

* qbox: Have qb executable put in bin rather than src subdir

* qbox: Fix python script shebangs to use python from path

* qbox: Add dependencies on gnuplot, python2 for utilities

* qbox: fix flake8 issue

* qbox: Add $prefix/util to PATH
2020-09-15 09:54:26 -05:00
ketsubouchi
33e8dcad99 nseg: add return 0; to void functions (#18481) 2020-09-15 10:24:51 +02:00
Adam J. Stewart
5e6875008c fish: add dependencies, patch MacOS (#18526) 2020-09-15 08:43:53 +02:00
Adam J. Stewart
5f0c3427ae py-cmocean: added new package at v2.0 (#18614) 2020-09-15 08:36:26 +02:00
Adam J. Stewart
2af9e44340 Add setuptools run-time dependency to various Python packages (#18616) 2020-09-15 08:30:59 +02:00
Adam J. Stewart
b3ee04c6ef py-jupyterlab-pygments: added new package at v0.1.1 (#18627) 2020-09-15 08:30:08 +02:00
Adam J. Stewart
f7030287d3 py-nest-asyncio: add new package at v1.4.0 (#18629) 2020-09-15 08:28:51 +02:00
Adam J. Stewart
445988011c py-ipykernel: added v5.3.4, moved url to PyPI (#18630) 2020-09-15 08:28:17 +02:00
Adam J. Stewart
ef37852bb4 py-ipython: added v7.18.1 (#18631) 2020-09-15 08:26:27 +02:00
Adam J. Stewart
40a66317e8 py-jupyter-client: added v6.1.7, moved url to PyPI (#18632) 2020-09-15 08:25:39 +02:00
Adam J. Stewart
792c48a558 py-jupyter-core: updated the type of the setuptools dependency (#18633) 2020-09-15 07:42:28 +02:00
Adam J. Stewart
0448ade7b5 py-jupyterlab-server: added v1.2.0 (#18634) 2020-09-15 07:39:30 +02:00
Adam J. Stewart
defde398c4 py-argon2-cffi: added new package at v20.1.0 (#18626) 2020-09-15 07:38:16 +02:00
Adam J. Stewart
77d20906c0 py-jupyterlab: added v2.2.7 (#18635) 2020-09-15 07:20:15 +02:00
Adam J. Stewart
682223f1f4 py-nbformat: add v5.0.7, moved url to PyPI (#18637) 2020-09-15 07:18:12 +02:00
Adam J. Stewart
60a5a176fb py-terminado: added v0.8.3 (#18639) 2020-09-15 07:15:38 +02:00
Adam J. Stewart
c59836222e py-traitlets: added v5.0.4, moved url to PyPI (#18640) 2020-09-15 07:15:00 +02:00
Robert Pavel
4fc2370559 Added Missing Tag to Cradl Spackage (#18669)
Added missing proxy apps tag to cradl spackage
2020-09-14 18:55:53 -06:00
Robert Pavel
a2673aeddd CRADL Machine Learning Proxy Spackage (#18668)
* Initial CRADL Spackage Work

Currently resolving ```--single-version-externally-managed``` error

* Fixed GPUtil Issues

Thanks to Vinay Ramakrishnaiah for overwriting install

* Finished CRADL Install Function

Finished CRADL install function which is basically copying the scripts
to the install directory. Also resolved flake8 issues for PR purposes
2020-09-14 14:25:49 -06:00
Simon Frasch
49512e21ab SIRIUS: Update dependencies (#18622)
* sirius: Fixed dependency spfft when build with +rocm

* sirius: Added new dependency spla for develop build

* sirius: Added maintainer
2020-09-14 12:23:32 -05:00
Scott Wittenburg
f537d5bb58 Make sure each develop pipeline tests associated commit 2020-09-14 10:37:42 -06:00
Scott Wittenburg
28ef5b1204 Do not assume we sit in the directory where the env file lives. 2020-09-14 10:37:42 -06:00
Scott Wittenburg
031490f6aa Remove :<name> interpolation, add SPACK_VERSION variables
Also fix issues with documentation to reflect changes
2020-09-14 10:37:42 -06:00
Scott Wittenburg
bf90cdd6c7 Document pipeline keys which can be global but overridden
Update pipelines documentation to describe how 'tags', 'variables',
'image', 'before_script', 'script', and 'after_script' can be
supplied at the top level, to be used by any of the runner mappings,
and also overridden by any of the runner mappings.

Also show an example of capturing the custom spack SHA at pipeline
generation time, so all jobs are sure to run with the same version
of spack, as a means to illustrate the $env:VARIABLE_NAME syntax.
2020-09-14 10:37:42 -06:00
Scott Wittenburg
d9e0718c9d Allow overridable global runner attributes 2020-09-14 10:37:42 -06:00
Scott Wittenburg
e686f1500e Update pipeline documentation to describe user-provided scripts 2020-09-14 10:37:42 -06:00
Scott Wittenburg
e18612a321 Add test for variable interpolation and scripts 2020-09-14 10:37:42 -06:00
Scott Wittenburg
2386f7582a Support variable interpolation at pipeline generation time 2020-09-14 10:37:42 -06:00
Scott Wittenburg
ace52bd476 Provide your own script, before_script, and after_script 2020-09-14 10:37:42 -06:00
Massimiliano Culpo
4ca7d46e15 Fix a typo in test/concretize.pyi (#18662) 2020-09-14 09:58:14 -05:00
darmac
5f47170492 Add new package: webbench (#18650)
* Add new package: webbench

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-14 09:57:40 -05:00
ketsubouchi
41b68741ec cpio: add --rtlib=compiler-rt for %fj (#18619)
* cpio: add --rtlib=compiler-rt for %fj

* cpio: simplify if

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

This seems better.

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-14 09:55:47 -05:00
t-nojiri
a250006449 ngmlr: support for aarch64 (#18621)
* ngmlr: support for aarch64

* ngmlr: Fixed patch file
2020-09-13 23:14:59 -05:00
ketsubouchi
3cfce42563 nek5000: Support Fujitsu fortran (#18659) 2020-09-13 23:14:04 -05:00
Paul
c29b74e7ad Updated FZF package for newer versions. (#18608)
* Support for external find.
* Added latest version (0.22.0) and conditions to package to continue
support for older versions.
2020-09-13 11:27:56 -05:00
Joseph Wang
58f101de88 use github for download (#18657) 2020-09-13 10:23:46 -05:00
Andrew W Elble
a734dabf2b new package: py-reproject (#18641)
* new package: py-reproject
add setuptools build/run dep to py-astropy-healpix

* fixes

* fix
2020-09-12 15:37:34 -05:00
darmac
85f7a8bf71 Add new package: delta (#18648) 2020-09-12 15:37:14 -05:00
darmac
10dab474ce cvs: add a patch for segv issue (#18649) 2020-09-12 09:47:39 -05:00
darmac
e355fc16ad Add new package: dbxtool (#18651) 2020-09-12 09:45:05 -05:00
darmac
3211ac5136 Add new package: geoip-api-c (#18653) 2020-09-12 09:44:28 -05:00
darmac
cde4654525 Add new package: libspiro (#18654) 2020-09-12 09:44:02 -05:00
darmac
6d39e6ebea Add new package: hping (#18311)
* Add new package: hping

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

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

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

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

* Update package.py

Fix flake8 errors

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-12 09:36:30 -05:00
darmac
128731ec74 Add new package: jetty-project (#18555)
* Add new package: jetty-project

* refine dependency

* refine maven version
2020-09-12 09:35:38 -05:00
Richarda Butler
8116153f2a bugfix: include configuration ignoring files with the same basename (#18487)
* Use the config path instead of the basename

* Removing unused variables

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

* Test
Making sure if there are 2 include config files with the same basename they are both implemented

* Edit test assert

Co-authored-by: Greg Becker <becker33@llnl.gov>
2020-09-11 16:45:36 -07:00
Robert Blake
afb0883762 ncurses: adding external support. (#18609)
* ncurses: adding external support.

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

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

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

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

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

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

* Fixing includes.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-11 16:00:11 -05:00
Massimiliano Culpo
8ad2cc2acf Environments: Avoid inconsistent state on failed write (#18538)
Fixes #18441 

When writing an environment, there are cases where the lock file for
the environment may be removed. In this case there was a period 
between removing the lock file and writing the new manifest file
where an exception could leave the manifest in its old state (in
which case the lock and manifest would be out of sync).

This adds a context manager which is used to restore the prior lock
file state in cases where the manifest file cannot be written.
2020-09-11 10:57:29 -07:00
Adam J. Stewart
e7040467f2 NumPy: added v1.19.2 (#18615) 2020-09-11 15:38:24 +02:00
srekolam
1aceb38b89 Changes for hipsparse, rocthrust recipes for rocm_3.7.0 (#18497)
* changes for hipsparse,rocthrust recipes for rocm_3.7.0

* changes to rocrand for 3.7.0

* version changes
2020-09-10 17:33:21 -05:00
srekolam
4a474d9d67 recipes changes for hipblas, rocprim, rocfft, rocsolver for rocm3.7.0 (#18495)
* recipes changes for rocprim,rocfft,rocsolver for rocm3.7.0

* changes to hipcub recipe for rocm-3.7.0

* changes to address review comments
2020-09-10 17:32:41 -05:00
Robert Pavel
29645ceba5 Adding Missing Versions for Flux-Sched/Flux-Core and Compiler Flags (#18612)
* Checksummed New Flux Versions

Checksummed new flux versions to let spack detect them

* Added CXXFlags to build Flux-sched

Added missing cxxflags to build flux-sched
2020-09-10 16:53:28 -05:00
Robert Pavel
3fabdb6e9b Adding Cuda Variant to SW4Lite (#18590)
* Adding Cuda Variant to SW4Lite

Added cuda variant of sw4lite  as per guidance in README

* Updated SW4Lite+cuda to Current Header Conventions

Updated sw4lite+cuda to use current conventions for spackage include
dirs

* Fixing FLake8 Issue with Sw4lite+cuda Fix

Fixed overly long line and further underlined sticky note reminding me
to run flake8 BEFORE pushing

* Switching to Spack Compiler Wrapper

Switching to spack compiler wrapper for consistency
2020-09-10 16:53:13 -05:00
Tim Haines
ff6ca57dda Dyninst: add v10.2.1 (#18611) 2020-09-10 16:09:06 -05:00
Rémi Lacroix
114317464b Orca: update the package. (#18593)
* Orca: Add new versions.

* Orca: Support OpenMPI without the legacy wrappers.

By default, Spack builds OpenMPI without the legacy wrappers when using the Slurm scheduler. This breaks Orca since its binaries are hardcoded to call "mpirun". To workaround this issue, add a "mpirun" wrapper which calls "srun" when required.
2020-09-10 11:55:13 -05:00
Johannes Blaschke
757dad370f Bugfix for fish support: overly zealous arg matching (#18528)
* bugfix for issue 18369

* fix typo

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-10 10:01:44 -05:00
Tiziano Müller
2bc9821c43 update CP2K pkg for 8+ (#18607)
* cp2k: do not support ~openmp for v8+

* sirius: version bump

* cp2k: fix overlapping deps for elpa

fixes #18029

* cp2k: update SIRIUS dependency for v8+

* spfft: requires CMake 3.11+

* cp2k: fix build with +sirius
2020-09-10 10:00:31 -05:00
Toyohisa Kameyama
34f4049815 dpdk: Avoid option conflicts between spack wrappers and Makefiles on aarch64 gcc. (#18603) 2020-09-10 09:59:18 -05:00
t-nojiri
e13e2b0d54 prism: support for aarch64 (#18562)
* prism: support for aarch64

* prism: Change patch file.
2020-09-10 09:56:19 -05:00
Adam J. Stewart
25291cf01c GDAL: fixed Java bindings, added v3.1.3 (#18494) 2020-09-10 15:08:24 +02:00
Tomoki, Karatsu
778e659a03 openfoam: Set 'FOAM_SIGFPE' when using Fujitsu compiler. (#18601) 2020-09-10 15:01:50 +02:00
Tomoki, Karatsu
d4535f3115 fj: fixed homepage URL. (#18602) 2020-09-10 14:55:52 +02:00
Fabian Brandt
fc919e490e NetworKit: update to v7.1, including dependencies (#18604) 2020-09-10 14:53:16 +02:00
srekolam
651cffae0a Rocprofiler changes for rocm-3.7.0 release (#18599)
* rocprofiler changes for rocm-3.7.0 release

* fix flake8 errors
2020-09-09 21:43:07 -05:00
Brian Van Essen
87dc324f36 Support older cuda arch capabilties. (#18597) 2020-09-09 21:42:34 -05:00
ketsubouchi
b014ffcd3d darshan-util: remove return(-1) from void function (#18504)
* darshan-util: remove return(-1) from void function

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-09 21:03:59 -05:00
psakievich
7b2c59e6cf Fix typo in nalu-wind package (#18596) 2020-09-09 19:12:14 -05:00
Paul
9eac1ed6a8 Support external find for gpgme. (#18594) 2020-09-09 17:39:33 -05:00
Christoph Junghans
691e46c4f5 Packages/gamess ri mp2 mini app (#18595)
* gamess-ri-mp2-miniapp: initial import

* flake8

* Update var/spack/repos/builtin/packages/gamess-ri-mp2-miniapp/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-09 16:10:59 -06:00
Glenn Johnson
f1652e89af Add new versions of intel-mkl (#18592) 2020-09-09 15:27:36 -05:00
arjun-raj-kuppala
9c8cfcca0f Adding hipify-clang and aomp recipe for rocm (#18333)
* Adding aomp recipe for rocm 3.5.0 release

* hipify-clang rocm recipe

* incorporated suggested changes on PR#18333 for rocm aomp recipe

* remove binutils dependency and update to devicelibs tar path
2020-09-09 13:47:51 -05:00
Jen Herting
857530c5ae [parallel] added version 20200822 (#18591) 2020-09-09 10:58:07 -07:00
Robert Brunner
1ae50f8022 Added specific "@master" version specifier for component libraries when building (#18579)
the develop version of SCR
2020-09-09 12:52:36 -05:00
Jen Herting
f7d1f845f4 [py-thinc] fixed checksum (#18571) 2020-09-09 11:25:06 -05:00
Rémi Lacroix
fa04ad5d92 tcl module files: fix configuration overriding (#18514)
This is a special case of overriding since each section is being matched with the current spec.

The trailing ':' for sections with override is now removed when parsing the configuration so the special handling for the modules configuration stopped working but it went unnoticed.
2020-09-09 18:05:58 +02:00
Garth N. Wells
3dedd2e321 (py-)fenics-dolfinx: fix dependencies (#18586)
* Fix (py-)fenics-dolfinx dependencies

* flake8 updates
2020-09-09 10:55:06 -05:00
Ganesh Kumar
4c5151327f Rocm 3.7 rccl (#18587)
* ROCm 3.5 miopen recipe

* fixing flake8 issues

* cmake variant fix

* min support fix

* variant possible values

* ROCm 3.7 RCCL changes
2020-09-09 10:49:40 -05:00
Ganesh Kumar
a18700a86a Rocm 3.7 rocm smi (#18522)
* ROCm 3.5 miopen recipe

* fixing flake8 issues

* cmake variant fix

* min support fix

* variant possible values

* ROCm 3.7 support for rocm-smi

* review comments change

* miopen merge conflict resolve

* reverting back from copy_tree to install_tree
2020-09-09 08:22:40 -05:00
Simon Frasch
290b77fe43 spla: Add version 1.1.0 and ROCm support (#18561) 2020-09-09 07:22:53 -05:00
Toyohisa Kameyama
4472914847 audacious: added gettext and iconv dependency. (#18584) 2020-09-09 11:23:01 +02:00
Adam J. Stewart
8494d26c0a nn-c: fix pic flags (#18478) 2020-09-09 10:25:57 +02:00
Adam J. Stewart
ba47a057f0 py-torchvision: add variant to set image backend (#18500) 2020-09-09 10:16:50 +02:00
Adam J. Stewart
96364235e3 readline: fix build with ncurses~termlib (#18524) 2020-09-09 10:12:46 +02:00
Adam J. Stewart
4307b73299 pcre2: fix libs property (#18525) 2020-09-09 10:11:29 +02:00
Hadrien G
d24532f574 acts: added v0.32 and adapt to latest master changes (#18563) 2020-09-09 09:44:44 +02:00
Adam J. Stewart
346d12dc6c Pandas: added v1.1.2 (#18580) 2020-09-09 09:32:56 +02:00
t-nojiri
d11705f9d0 r-ff: support for aarch64 (#18585) 2020-09-09 09:01:51 +02:00
darmac
e3cd3fb9eb Add new package: quartz (#18539) 2020-09-08 21:29:26 -05:00
Martin Aumüller
ab51edecb5 openscenegraph: remove dependency on Qt for newer versions (#18531)
Starting with OpenSceneGraph 3.5.5, support for windows managed by Qt
has been moved to the seperate project osgQt. Hence, a dependency on Qt
is not needed any longer for version 3.5.5 or newer.
In order to still satisfy the dependency on OpenGL, a depends_on('gl')
has been added.
2020-09-08 21:28:27 -05:00
darmac
b1cea5c23e Add new package: kylin (#18537)
Co-authored-by: root <root@localhost.localdomain>
2020-09-08 21:27:01 -05:00
darmac
275ac86925 Add new package: sqlite-jdbc (#18540) 2020-09-08 21:26:11 -05:00
darmac
0f4f4a2e95 Add new package: orientdb (#18542) 2020-09-08 21:21:35 -05:00
darmac
97b7af01d9 Add new package: nacos (#18543) 2020-09-08 21:20:41 -05:00
darmac
0325cb564b Add new package: fastjson (#18545) 2020-09-08 21:17:19 -05:00
darmac
a0ba89d84a Add new package: guacamole-client (#18546) 2020-09-08 21:15:52 -05:00
darmac
a12ced781c Add new package: jansi-native (#18547) 2020-09-08 21:14:49 -05:00
darmac
fe05fc7fd5 Add new package: jline3 (#18548) 2020-09-08 21:14:00 -05:00
darmac
1ac24aca96 refine efivar install flow (#18557) 2020-09-08 21:08:38 -05:00
Jaroslav Hron
e2e90e4d6b Update package.py (#18552)
without setting the build enviroment, the installation fails with

```
1 error found in build log:
     35946    fmtutil [INFO]: /usr/local/pkg/Installs/linux-ubuntu18.04-skylake_avx512/gcc7.4.0/texlive/20190410/rgs2nakycorkgzno/t
              exmf-var/web2c/pdftex/pdfcslatex.fmt installed.
     35947    fmtutil [INFO]: Disabled formats: 6
     35948    fmtutil [INFO]: Successfully rebuilt formats: 45
     35949    fmtutil [INFO]: Total formats: 51
     35950    fmtutil [INFO]: exiting with status 0
     35951    ==> [2020-09-07-21:23:21.482745] '/usr/local/pkg/Installs/linux-ubuntu18.04-skylake_avx512/gcc7.4.0/texlive/20190410/
              rgs2nakycorkgzno/bin/x86_64-linux/mtxrun' '--generate'
  >> 35952    /usr/bin/env: 'texlua': No such file or directory
```

May be there is a better way...
2020-09-08 21:05:18 -05:00
Garth N. Wells
af189e3ed9 Fix linking problem on macos (#18564) 2020-09-08 21:01:21 -05:00
Andrew W Elble
520308ad2b astra: update checksum, add other executables (#18567) 2020-09-08 21:00:27 -05:00
Tom Payerle
7165795c4a libxmms: add python build dependency (#18566) (#18568)
Build of libxmms requires python, but not in spack dependency list.
See  #18566
2020-09-08 20:59:22 -05:00
Michael Kuhn
017331684e go: Add 1.15.1 and 1.14.8 (#18575) 2020-09-08 20:56:08 -05:00
Michael Kuhn
e43855bc8f node-js: Add 14.10.0 and 12.18.3 (#18576) 2020-09-08 20:55:40 -05:00
Michael Kuhn
9c4d79f8cd npm: Add 6.14.8 (#18577) 2020-09-08 20:55:12 -05:00
Adam J. Stewart
2f4d493744 Cython: add setuptools run-dependency (#18572)
Cython requires a library that is available in Python 3.8, or before
Python 3.8 with setuptools. This specifies that setuptools is a run
dependency to allow running with Python < 3.8
2020-09-08 17:27:49 -07:00
Tamara Dahlgren
88749de5c9 Clarify manual download required if unable to fetch package (#18242)
Clarify manual download required if unable to fetch (from mirror(s)); support (and tests) for package-specific download instructions
2020-09-08 17:15:48 -07:00
Tamara Dahlgren
6b30cd18d6 Update cray-libsci homepage and install error (#18581) 2020-09-08 16:22:25 -06:00
Richarda Butler
d721bd8070 commands: update help for spack install --yes-to-all (#18367)
`spack install --yes-to-all` doesn't actually make the build non-interactive,
but that is why people typically use it. This documents that you must also
specify `--no-checksum` for a fully non-interactive build.
2020-09-08 13:18:25 -07:00
Peter Josef Scheibel
ccd65895a6 print out debug information about which specs are applying which constraints 2020-09-08 12:19:02 -07:00
Adam J. Stewart
94e694b19f spack docs: http -> https (#18573) 2020-09-08 20:19:20 +02:00
Michal Sudwoj
7205a75427 Added nvptx variant to rust (#18209)
Co-authored-by: Andrew Gaspar <andrew.gaspar@outlook.com>

Co-authored-by: Andrew Gaspar <andrew.gaspar@outlook.com>
2020-09-08 11:28:59 -05:00
Rémi Lacroix
92bf9493cf Modules: Deduplicate suffixes but don't sort them. (#18351)
* Modules: Deduplicate suffixes but don't sort them.

The suffixes' order is defined by the order in which they appear in the configuration file.

* Modules: Modify tests to use spack_yaml.load_config.

spack_yaml.load_config ensures that the configuration is stored in an ordered manner. Without this change, the behavior of the tests did not match Spack's.

* Modules: Tweak the suffixes test to better catch ordering issues.
2020-09-08 08:43:03 -06:00
Gvozden Neskovic
c2b33b4444 gromacs: add zen2 target SIMD optimizations (#18551)
Co-authored-by: Gvozden Nešković <neskovic@dev06.compeng.uni-frankfurt.de>
2020-09-08 06:52:56 -06:00
Piotr Luszczek
73110b415d hpcc: add explicit C99 flag for older GCC versions (#18556) 2020-09-08 08:30:02 +02:00
Mark W. Krentel
850924e423 hpctoolkit: adjust some dependencies (#18558)
Hpctoolkit master and upcoming releases now want the +pic variant for
two dependencies, libunwind and xz.
2020-09-08 08:27:39 +02:00
Axel Huebl
64273da2cc openPMD-api: added v0.12.0 (#18560) 2020-09-08 08:18:21 +02:00
Massimiliano Culpo
28c6ce9714 SpecList: remove mutable types from __init__ arguments (#18515)
fixes #18439
2020-09-07 11:53:59 -07:00
jthies
dcee0a1d5d phist: added v1.9.1 (#18529) 2020-09-07 17:52:07 +02:00
ketsubouchi
03a808ec2d kim-api: add support for Fujitsu compilers (#18533) 2020-09-07 17:47:55 +02:00
Andre Sailer
138e2ad0a1 [LCIO]: changes to install/CPATH for python bindings (#18512) 2020-09-07 10:16:16 -05:00
darmac
b2b7bcd86a Add new package: kbd (#18436)
* Add new package: kbd

* fix description error
2020-09-07 10:12:47 -05:00
Tim Haines
8b7ca5ef50 capstone: added v4.0.2 (#18534)
This also adds the git branches "master" and "next".
2020-09-07 16:04:23 +02:00
darmac
5e86a131d2 jansi: added new package at v1.18 (#18549) 2020-09-07 16:02:18 +02:00
ketsubouchi
80691fa6d5 gconf: add dependencies (#18406)
* gconf: add dependencies

* gconf: add run type to perl-xml-parser
2020-09-06 22:33:42 -05:00
Andrew W Elble
8ad581e7b3 new package: py-textblob (#18516)
* new package: py-textblob

add variant to py-nltk to allow for data download/installation
add dependencies to py-nltk so that bin/nltk works

* add resources and resource generation script
2020-09-05 11:50:03 -05:00
Satish Balay
b494f50489 petsc4py: repo is migrated from bitbucket to gitlab (#18519) 2020-09-05 10:18:48 -05:00
Massimiliano Culpo
ba257914b3 fujitsu: added new package (#18021)
The package is at the moment not installable, just detectable.

Co-authored-by: Toyohisa Kameyama <kameyama@riken.jp>
2020-09-05 10:40:52 +02:00
Robert Blake
ea57171712 Make spack environment configurations writable from spack external and spack compiler find (#18165)
* spack config: default modification scope can be an environment

The previous model was that environments are the highest priority config
scope for config reading operations, but were not considered for config
writing operations. Now, the active environment is the highest priority
config scope for both reading and writing operations.

Now spack config add, spack external find and spack compiler set environment 
configuration in the environment by default if an environment is active. This is a
change in default behavior for these routines, but better matches the mental
model for an environment taking precedence over the user's default config file.

* add scope argument to 'spack external find' to choose non-default scope

* Increase testing for config modifications on environments

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2020-09-05 01:12:26 -07:00
Ganesh Kumar
704fc475e3 ROCm3.5 miopen recipe (#18442)
* ROCm 3.5 miopen recipe

* fixing flake8 issues

* cmake variant fix

* min support fix

* variant possible values
2020-09-04 17:02:33 -05:00
Nick Booher
61ae21ee4d energyplus: add version 9.1 (#18485) 2020-09-04 16:13:53 -05:00
mic84
c5e50b73ef amrex:: new version 20.09 (#18486) 2020-09-04 16:13:20 -05:00
Tom Payerle
2cc7718edd bml: Add build dependency on python (#18489) (#18491)
At some point in the build phase a script
spack-src/scripts/convert-template
has a shebang looking for python in the path.

Currently this picks up system python if in invoker's path, but should
be using python from spack, so add a build dependency on python.
2020-09-04 16:12:53 -05:00
Michael Kuhn
518372ccd1 mariadb-c-client: Add 3.1.9 (#18501) 2020-09-04 16:03:43 -05:00
Michael Kuhn
ca2760381b py-setuptools: Add 50.1.0 and 49.6.0 (#18502) 2020-09-04 16:03:20 -05:00
Michael Kuhn
f836d93da1 rocksdb: Add 6.11.4 (#18503) 2020-09-04 16:01:30 -05:00
Michael Kuhn
f2adf531b3 glib: Add 2.64.5 (#18505) 2020-09-04 16:00:07 -05:00
Michael Kuhn
262edde2c1 libbson, mongo-c-driver: Add 1.17.0 (#18506) 2020-09-04 15:59:43 -05:00
Michael Kuhn
14983401a1 libidn2: Add 2.3.0 (#18507) 2020-09-04 15:59:16 -05:00
Michael Kuhn
972caba882 curl: Add 7.72.0 (#18508) 2020-09-04 15:58:52 -05:00
Michael Kuhn
53bf97298f gettext: Add 0.21 (#18509) 2020-09-04 15:58:30 -05:00
iarspider
0c03248537 Add madgraph 2.8.0; fix recipe (#18510) 2020-09-04 15:58:04 -05:00
Luke Dalessandro
8e41208c65 Build libtinfo.so "--with-versioned-syms" when it is enabled in ncurses. (#18511)
Many system-installed binaries (at least in Debian) are built against a
libtinfo.so that has versioned symbols. If spack builds a version without this
functionality, and it winds up in the user's LD_LIBRARY_PATH via spack load,
system binaries will begin to complain.

```
$ less log.txt
less: /opt/spack/.../libtinfo.so.6: no version information available (required by less)
```

Co-authored-by: Luke D'Alessandro <ldalessa@uw.edu>
2020-09-04 15:54:44 -05:00
Andrew W Elble
f4d3a1a0cb new package: py-markovify (#18517) 2020-09-04 15:46:38 -05:00
t-nojiri
f3c4747318 fermikit: added support for aarch64 (#18480) 2020-09-04 19:52:10 +02:00
Scott Wittenburg
597b43e30a Rely on E4S project variable for SPACK_REPO 2020-09-04 11:18:56 -06:00
Adam J. Stewart
6fcec1dcff Python: default to Python 3.8 (#17798) 2020-09-03 16:15:43 -07:00
Adam J. Stewart
0eca977cc9 py-pillow-simd: fix concretization (#18490) 2020-09-03 15:36:20 -07:00
Adam J. Stewart
7d9f2bf4ed depends_on cannot handle ^ sigil (#18220)
* depends_on cannot handle ^ sigil

* cardioid+mfem+cuda requires hypre+cuda

* Document this limitation

* Move warning message to Known Issues docs

* Better handling of parmetis dep
2020-09-03 17:31:00 -05:00
Adam J. Stewart
7728b0737b Add new MavenPackage build system base class (#18185)
* Add new MavenPackage build system base class

* Fix flake8 and doc tests

* More specific regex

* Java 8 required for these packages
2020-09-03 17:30:39 -05:00
Massimiliano Culpo
fab2622a71 Hashing: force hash consistency for values read from config (#18446)
The 'external_modules' attribute on a Spec, when read from a YAML
configuration file, may contain extra formatting that is lost when
that Spec is written-to/read-from JSON format. This was resulting in
a hashing instability (when the Spec was read back, it would report a
different hash). This commit adds a function which removes the extra
formatting from 'external_modules' as it is passed to the Spec in
__init__ to ensure a consistent hash.
2020-09-03 10:49:36 -07:00
Adam J. Stewart
741bb9bafe install/install_tree: glob support (#18376)
* install/install_tree: glob support

* Add unit tests

* Update existing packages

* Raise error if glob finds no files, document function raises
2020-09-03 10:47:19 -07:00
Adam J. Stewart
098beee295 Pillow-SIMD: use as default PIL provider (#18097)
* Pillow-SIMD: use as default PIL provider

* Fix concretization of pil

* Fix build of older versions of pillow
2020-09-03 10:39:35 -07:00
Michael Kuhn
8c264a9f26 freetype: Add custom headers property (#18440)
freetype's headers are installed in the `freetype2` subdirectory, use a
custom headers property to fix this in dependent packages.
2020-09-03 11:32:41 -05:00
Tamara Dahlgren
84381fbc80 Bugfix: terminate if a spack.yaml include path does not exist (#18074) 2020-09-03 14:37:24 +02:00
t-nojiri
3a562c0cec fermi: added patch to support aarch64 (#18479) 2020-09-03 10:06:15 +02:00
psakievich
7c0b356e79 Add test tolerance variant to nalu-wind pkg (#18455)
* Add test tolerance variant to nalu-wind pkg

* flake8 fixes
2020-09-02 20:31:58 -05:00
Gabriel Rockefeller
ced0a8f068 eospac: add version 6.4.1 (#18476) 2020-09-02 20:28:48 -05:00
Andrew W Elble
879bb063f7 new package: corenlp (#18467)
* new package: corenlp

* import os, not os.path
2020-09-02 20:27:56 -05:00
Robert Blake
638f44d842 CUDA_HOME needs to be set, or CUDA is found based on user's PATH. (#18475) 2020-09-02 19:52:00 -05:00
Harmen Stoppels
6d87cbdb52 Add rocm 3.7.0 libs (#18366)
* Add rocm 3.7.0 libs

* Make 3.7.0-only dependency on numactl explicit

* Add rocm-device-libs dep to rocm-clang-ocl

* Update the cmakelists dir in rocm-debug-agant

* Make rocm-debug-agent work on 3.7.0

* Disable tensile host; following rocm-arch recommendations
2020-09-02 19:50:05 -05:00
Adam J. Stewart
443407cda5 Add new RubyPackage build system base class (#18199)
* Add new RubyPackage build system base class

* Ruby: add spack external find support

* Add build tests for RubyPackage
2020-09-02 16:26:36 -07:00
Chris White
e22a0ca5cf mfem: fix transitive hdf5 static libs (#18457) 2020-09-02 15:06:45 -07:00
Adam J. Stewart
e58db067c3 PythonPackage: update documentation (#18181) 2020-09-02 15:05:10 -07:00
Adam J. Stewart
8eb375bf81 spack test: no gpg signing for git commits (#18454) 2020-09-02 14:48:48 -07:00
Adam J. Stewart
6b20687b26 python: switch to +uuid by default (#18252) 2020-09-02 14:46:58 -07:00
Adam J. Stewart
1992fdf712 Document test dependency type (#18365) 2020-09-02 13:46:52 -07:00
Jose E. Roman
601f97d8a5 New patch release SLEPc 3.13.4 (#18466) 2020-09-02 15:24:07 -05:00
Rémi Lacroix
447ea50bf9 Aria2: Add version 1.35.0. (#18465) 2020-09-02 15:23:40 -05:00
Adam J. Stewart
ba317b01c3 Packages: headers should be lists (#18445) 2020-09-02 13:19:22 -07:00
Nick Booher
0116c44714 ldak: new package at 5.1 (#18431)
* ldak: new package at 5.1

* flake8

* Re-run tests

* Apply suggestions from code review

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-02 11:29:40 -05:00
Auriane R
24843844ae Add HPX 1.5.0 release and update the homepage (#18464) 2020-09-02 10:34:05 -05:00
Sinan
e5fdb2a46c new package: py-python-fmask (#18382)
* new package: py-python-fmask

* flake8

* add missing dependency

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@earth>
2020-09-02 10:29:02 -05:00
Sinan
712e7bd2bf new package: py-gitdb (#18386)
* new package: py-gitdb

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

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

* Update package.py

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-02 10:28:33 -05:00
Jordan Moxon
aa8e046073 Add blaze versions 3.6-3.8 (#18424) 2020-09-02 10:15:38 -05:00
darmac
f268f65733 Add new package: rasdaemon (#18434) 2020-09-02 10:08:34 -05:00
Gvozden Neskovic
1e05321c8f gromacs: add support for opencl build (#18461)
Co-authored-by: Gvozden Nešković <neskovic@dev06.compeng.uni-frankfurt.de>
2020-09-02 09:07:43 -06:00
Seth R. Johnson
d904c57d2b Flibcpp: update version (#18448)
Update available versions and add Fortran check
2020-09-02 11:07:10 -04:00
Paul
1b78a010d8 Updated Hugo package. (#18443)
* Set GOPATH in build environment to avoid creating files in the user's
default GOPATH (e.g. ~/go).
* Support for external find.
* Added latest releease 0.74.3.
2020-09-02 10:03:56 -05:00
ketsubouchi
1026ace6b6 r-boot: checksum mismatch @1.3-23 (#18458) 2020-09-02 10:00:12 -05:00
Weston Ortiz
bf2ded5269 Add gdb TUI variant (#18459) 2020-09-02 09:59:19 -05:00
Mark Olesen
5c94827201 scotch: update to 6.0.10 (released 31-AUG-2020) (#18462)
- added gitlab location, updated the homepage location

Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-09-02 09:57:48 -05:00
Seth R. Johnson
9e51b8d165 New package: ForTrilinos (#18456)
Remove prior built-in Trilinos subrepository.

Added a Trilinos conflict discovered while documenting ForTrilinos:
```
   ***
   *** ERROR: Setting Trilinos_ENABLE_SEACASExodus=OFF which was 'ON' because SEACASExodus has a required library dependence on disabled TPL Netcdf!
   ***
```
2020-09-02 08:14:20 -04:00
Rui Xue
d9b945f663 Mac OS: support Python >= 3.8 by using fork-based multiprocessing (#18124)
As detailed in https://bugs.python.org/issue33725, starting new
processes with 'fork' on Mac OS is not guaranteed to work in general.
As of Python 3.8 the default process spawning mechanism was changed
to avoid this issue.

Spack depends on the fork-based method to preserve file descriptors
transparently, to preserve global state, and to avoid pickling some
objects. An effort is underway to remove dependence on fork-based
process spawning (see #18205). In the meantime, this allows Spack to
run with Python 3.8 on Mac OS by explicitly choosing to use 'fork'.

Co-authored-by: Peter Josef Scheibel <scheibel1@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-09-02 00:15:39 -07:00
Axel Huebl
0740a4ac7e ADIOS: Fix no-MPI Build (#18453)
Do not apply this patch in no-MPI builds. I think this autotools
check logic is generally borked, this will just set it manually to
on/off now.
2020-09-01 18:17:51 -07:00
Adam J. Stewart
17f7b23783 Deprecate spack setup (#18240) 2020-09-01 18:07:48 -07:00
t-nojiri
ae3f3887a6 ccs-qcd: Change compile option for aarch64 (#17516)
* ccs-qcd: Change compile option for aarch64
2020-09-01 18:03:47 -07:00
Patrick Gartung
ae44a8ff64 test/relocate.py: skip tests involving patchelf on macOS (#18451) 2020-09-01 14:49:05 -05:00
Rao Garimella
ea97b37f60 Jali: Fix bugs in CMake section (#18447)
Fix variant name and cmake variable.

Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2020-09-01 15:18:24 -04:00
Jen Herting
e7f1eeb7af Update dependencies: py-torch-geometric (#18265)
* [py-torch-geometric] depends on py-torch-sparse

* [py-torch-geometric] setting TORCH_CUDA_ARCH_LIST

* [py-torch-geometric] added the rest of the dependencies

* [py-torch-geometric] added cuda variant and added more build env vars

* [py-torch-geometric] added variant info for depenedencies

* [py-torch-geometric] flake8

* [py-torch-geometric] add variant description
2020-09-01 13:44:12 -05:00
darmac
f9a330ae99 Add new package: efivar (#18392) 2020-09-01 10:09:59 -05:00
Nikolay Simakov
12078382b6 Added HPC Challenge Benchmark (#18323)
* HPCC Benchmark: added HPC Challenge (HPCC) benchmark

* HPCC Benchmark: modified error message on lack of fftw2 interface in MKL

* hpcc: fixed styling add one more installation example

* hpcc: styling fix

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

* hpcc: changed include and lib location setter

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

* hpcc: fixed styling add one more installation example

* hpcc: removed readme.md

* hpcc: develop repo now is in github

* hpcc: march arguments are set explicitly in case of intel compilers, added -restrict flag, which needed for older intel compilers (at least <=19.0.5.281)

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-01 09:59:06 -05:00
ketsubouchi
3a5746c6c7 orbit2: new package at v2.14.19 (#18405) 2020-09-01 13:11:55 +02:00
darmac
3701633937 fuse-overlayfs: added new package at v1.1.2 (#18435) 2020-09-01 08:28:27 +02:00
Joseph Wang
ebeb8fb8df ocaml: allow v4.08 and v4.09 to build with gcc10 (#18254)
fixes #18228.  

This patch doesn't cover all old versions but it allows packages like whizard to build.
2020-09-01 05:53:13 +02:00
Sinan
1c67a304c8 py-tpot: added new package at v0.11.5 (#18385)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@earth>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-01 05:51:23 +02:00
Xavier Delaruelle
efff025787 environment-modules: added v4.5.3 (#18425) 2020-09-01 05:46:13 +02:00
Brian Van Essen
28ef5c0e27 dihydrogen, hydrogen: dependency on CUB is conditional on CUDA version (#18427)
In CUDA 11, CUB is integrated into the CUDA library.
2020-09-01 05:42:21 +02:00
Tim Haines
7926f84022 elfutils: add support for debuginfod (#18227) 2020-09-01 05:35:18 +02:00
Jeffrey Salmond
9b6c2e80fe py-llvmlite: added v0.34 (#18432) 2020-09-01 05:33:27 +02:00
Toyohisa Kameyama
b2d2bb694e openfoam: delete print to screen and updated docstrings/comments (#17985) 2020-09-01 05:31:49 +02:00
darmac
49b47864e9 libpam: added new package at v1.0.9 (#18418) 2020-09-01 05:19:48 +02:00
MichaelLaufer
16e3e28cc8 new package: wrf (#18398)
* wrf: new package

* wrf: fix install dir

* wrf: ndown location

* Add more compiler and nesting options to wrf package

* Fix configure that didn't find pgf90, use tempfile and compile in parallel

* WRF v4.2 with parallel I/O support through pnetcdf

Signed-off-by: michael laufer <michael.laufer@toganetworks.com>

* extend Package, compiler wrapper now used, small fixes

Signed-off-by: michael laufer <michael.laufer@toganetworks.com>

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

fixed typo

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

Co-authored-by: Levi Baber <baberlevi@gmail.com>
Co-authored-by: eXact lab <info@exact-lab.it>
Co-authored-by: michael laufer <michael.laufer@toganetworks.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-31 20:38:36 -05:00
Howard Pritchard
712d80955b OPENMPI: add 4.0.5 (#18332)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-08-31 20:38:06 -05:00
Julien Loiseau
2d718b56ca Update package.py (#18426)
Correct boost version to match flecsi
2020-08-31 17:09:39 -06:00
Sinan
e7447f266a new package: py-update-checker (#18396)
* new package: py-update-checker

* add test deps

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

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

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

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

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

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

* remove lint stuff.

Co-authored-by: Sinan81 <Sinan81@earth>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-31 15:50:21 -05:00
Jen Herting
bc93632c06 New package: py-torch-sparse (#18270)
* [py-torch-sparse] created template

* [py-torch-sparse] added dependencies

* [py-torch-sparse] extends py-torch-scatter

* [py-torch-sparse] added variant cuda and setting env vars

* [py-torch-sparse] added homepage and description. removed fixmes

* [py-torch-sparse] flake8

* [py-torch-sparse] added variant description

* [py-torch-sparse] extends -> depends on

* [py-torch-sparse] added dependencies of py-setuptools and py-pytest-runner
2020-08-31 15:43:30 -05:00
Harmen Stoppels
7c9fe7bcbd Add more cmake patch versions (#18422) 2020-08-31 10:52:18 -05:00
ketsubouchi
fc251e62d1 new package: dbus-glib (#18400) 2020-08-31 10:52:01 -05:00
darmac
3287050226 Add new package: dosfstools (#18410) 2020-08-31 10:49:50 -05:00
darmac
0d08071e95 Add new package: tesseract (#18411) 2020-08-31 10:49:05 -05:00
darmac
b2e1036316 Add new package: fipscheck (#18412) 2020-08-31 10:48:34 -05:00
darmac
1d54eb3fee Add new package: libfuse (#18413) 2020-08-31 10:48:10 -05:00
darmac
7ba20239fb Add new package: hardlink (#18414) 2020-08-31 10:47:46 -05:00
darmac
b8bf34b348 Add new package: libhbaapi (#18415) 2020-08-31 10:47:14 -05:00
darmac
ecc7f19177 Add new package: jimtcl (#18416) 2020-08-31 10:46:48 -05:00
Xavier Delaruelle
7036f41ea5 environment-modules: fix version 4.5.2 install (#18421)
`configure` script of Modules 4.5.2 is a bit too strict and breaks when
special options like `--disable-dependency-tracking` are set. This issue
will be fixed on Modules project starting version 4.5.3
(cea-hpc/modules#354).

This change adapts `configure` options set when installing version 4.5.2
to avoid options unrecognized on this version.

Fix #18420
2020-08-31 10:43:31 -05:00
Toyohisa Kameyama
97f7378097 neovim: build on aarch64 (#18136)
* libvterm: renumber version and add 1.0.3
neovim: build on aarrch64

* Remove unneeded comment.

* libvterm:   newer bazaar snapshot version is set to version 0.0.
neovim: change for libvterm version change, and libtermkey version bug is fixed.

* update libvterm versions.
2020-08-31 10:31:41 -05:00
darmac
c4e966f162 Add new package: byte-unixbench (#18257)
* Add new package: byte-unixbench

* refine install flow

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-31 10:28:53 -05:00
t-nojiri
b0a1a7e9aa cp2k: Add depend on libxc@4.3.4. (#18346)
* cp2k: Add depend on libxc@4.3.4.

* cp2k: The fix of depend of libxc@4.3.4 was redone.
2020-08-31 10:27:23 -05:00
Jen Herting
122a4719ca New packages: py-torch-cluster (#18262)
* [py-torch-cluster] created template

* [py-torch-cluster] added dependencies

* [py-torch-cluster] setting TORCH_CUDA_ARCH_LIST

* [py-torch-cluster] limited extends

* [py-torch-cluster] depends on scipy

* [py-torch-cluster] added variant cuda and set env vars

* [py-torch-cluster] added homepage and description. removed fixmes

* [py-torch-cluster] flake8

* [py-torch-cluster] switched to depends_on from extends.

* [py-torch-cluster] added variant description

* [py-torch-cluster] added py-setuptools and py-pytest-runner as dependencies
2020-08-31 10:11:53 -05:00
Jen Herting
f659927938 New package: py-torch-scatter (#18263)
* [py-torch-scatter] created template

* [py-torch-scatter] listed specific version of python

* [py-torch-scatter] extends py-torch

* [py-torch-scatter] setting TORCH_CUDA_ARCH_LIST

* [py-torch-scatter] setting more environemnt variables and added variant cuda

* [py-torch-scatter] added homepage and description. removed fixmes

* [py-torch-scatter] flake8

* [py-torch-scatter] Added variant description

* [py-torch-scatter] extends -> depends_on

* [py-torch-scatter] added dependencies of setup tools and pytest-runner
2020-08-31 10:11:00 -05:00
Jen Herting
47ef8d9deb New package: py-torch-spline-conv (#18273)
* [py-torch-spline-conv] created template

* [py-torch-spline-conv] specified version of python

* [py-torch-spline-conv] extends py-torch-cluster

* [py-torch-spline-conv] setting TORCH_CUDA_ARCH_LIST

* [py-torch-spline-conv] limiting extension to py-torch

* [py-torch-spline-conv] added cuda variant and setting env vars

* [py-torch-spline-conv] added homepage and description. removed fixmes

* [py-torch-spline-conv] added variant cuda

* [py-torch-spline-conv] flake8

* [py-torch-spline-conv] added variant description

* [py-torch-spline-conv] extends -> depends_on

* [py-torch-spline-conv] added dependencies py-setuptools and py-pytorch-runner
2020-08-31 10:10:21 -05:00
Adam J. Stewart
f4a37b2dc2 Remove unmatched triple quotes (#18272) 2020-08-31 13:05:07 +02:00
Weston Ortiz
86eac24f36 trilinos: added v13.0.0 and PYTHONPATH for exodus.py (#18266) 2020-08-31 12:56:37 +02:00
Dr. Christian Tacke
18fde34d38 singularity: added v3.6.2 (#18353) 2020-08-31 12:21:08 +02:00
Dr. Christian Tacke
c07204d661 glew: added v2.1.0 (#18394) 2020-08-31 11:48:46 +02:00
srekolam
d73db33005 atmi,rocgdb,rocm-dbgapi changes for rocm3.7 (#18404) 2020-08-31 11:36:38 +02:00
ketsubouchi
06ad858be2 libidl: added new package at v0.8.14 (#18403) 2020-08-31 11:34:11 +02:00
Sinan
3a0d273dae py-py6s: added new package at v1.8.0 (#18407)
Co-authored-by: Sinan81 <Sinan81@earth>
2020-08-31 11:30:22 +02:00
h-denpo
55f490b093 lesstif: added dependency on 'libxext' (#18408) 2020-08-31 11:12:48 +02:00
darmac
1fdaffed3f minizip: support minizip and miniunz building (#17925)
* minizip: support minizip and miniunz building

* minizip: remove comment

* refine build flow
2020-08-30 22:22:48 -05:00
Toyohisa Kameyama
7f9018e893 lua-luajit: remove duplicated lua-jit and merge to lua-luajit. (#18348) 2020-08-30 19:16:53 -05:00
Sinan
665e5ce0fd new package: py-planet (#18377)
* new package: py-planet

* flake8

* specify checksum type

* improve dependency specs

* specify dependency

* add test dependencies

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@earth>
2020-08-30 10:45:17 -05:00
Sinan
06b551f98e new package: py-deap (#18378)
* new package: py-deap

* flake8

* fix sha sum

* add missing dependency

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@earth>
2020-08-30 10:44:43 -05:00
Sinan
855e77036e new package: py-pypeg2 (#18379)
* new package: py-pypeg2

* add missing dependency

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@earth>
2020-08-30 10:44:21 -05:00
Sinan
a43dc51551 new package: py-pysolar (#18380)
* new package: py-pysolar

* latest version depends on python@3, flake8

* add missing dependencies

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@earth>
2020-08-30 10:43:54 -05:00
Sinan
376d6119ce new package: py-rios (#18381)
* new package: py-rios

* flake8

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

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

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-30 10:43:26 -05:00
Sinan
fc6cf29f0f new package: py-ssmap (#18383)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2020-08-29 15:50:59 -05:00
Sinan
884e707810 new package: py-stopit (#18384)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2020-08-29 15:50:07 -05:00
vvolkl
a475ef20dd [heppdt] fix broken url (#18388) 2020-08-29 15:43:27 -05:00
darmac
89df727e5f Add new pacakge: termcap (#18389) 2020-08-29 15:42:51 -05:00
darmac
e9ea8d1e81 Add new package: wrk (#18390) 2020-08-29 15:42:19 -05:00
darmac
66e006608a Add new package: cgdcbxd (#18391) 2020-08-29 15:41:52 -05:00
Wouter Deconinck
49df20f1ef [libdrm] AutotoolsPackage; %gcc@10.0.0 requires CFLAGS=-fcommon (#18393)
* [libdrm] AutotoolsPackage; %gcc@10.0.0 requires CFLAGS=-fcommon

* [libdrm] placate flake8
2020-08-29 15:39:02 -05:00
darmac
586fbe05b5 Bcache (#18103)
* bcache:add pkg-config to find blkid.h in linux-utils

* bcache: fix libuuid race condition in pkgconfig
2020-08-29 11:54:46 -05:00
darmac
b4042f23d0 Add new package: re2 (#18302)
* Add new package: re2

* re2: refine versions
2020-08-29 11:53:29 -05:00
darmac
cf170b5ff1 Add new package: varnish-cache (#18258)
* Add new package: varnish-cache

* Add dependency: python
2020-08-29 11:52:09 -05:00
darmac
8b212c7845 Add new package: leptonica (#18306)
* Add new package: leptonica

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-29 11:51:41 -05:00
Christoph Junghans
2204ba18b5 flexiblas: initial add (#18364)
* flexiblas: initial add

* Update package.py
2020-08-29 09:48:48 -06:00
darmac
e58c7af1a3 Add new package: weighttp (#18255) 2020-08-28 23:12:56 -05:00
darmac
e19f971b7b Add new package: librdkafka (#18256) 2020-08-28 23:12:32 -05:00
srekolam
6739908144 mathlibs- rocrand recipe for amd rocm-3.5.0 release (#18283)
* mathlibs- rocrand recipe for amd rocm-3.5.0 release

* fixing review comments
2020-08-28 23:11:46 -05:00
Andrew W Elble
4b649b2d2b py-spacy: new version 2.3.2 (#18294)
* py-spacy: new version 2.3.2

update en-core-web-sm to @2.3.1
add en-vectors-web-lg@2.3.0

* update deps

* wasabi

Co-authored-by: Andrew Elble <aweits@localhost.localdomain>
2020-08-28 23:11:13 -05:00
Andrew W Elble
d08d0f2732 new package: qcachegrind@20.08.0 (#18295)
Co-authored-by: Andrew Elble <aweits@localhost.localdomain>
2020-08-28 23:10:58 -05:00
darmac
654f52bc08 Add new package: rinetd (#18303) 2020-08-28 23:06:04 -05:00
darmac
a206d2aebd Add new package: rsyslog (#18304) 2020-08-28 23:05:30 -05:00
darmac
50d7467715 Add new package: tengine (#18305) 2020-08-28 23:04:48 -05:00
darmac
e09d906a35 Add new package: fastdb (#18308) 2020-08-28 23:03:30 -05:00
vvolkl
62128f1351 [whizard] update ocaml dependency (#18309)
up
2020-08-28 23:02:45 -05:00
darmac
2c155d4fe2 Add new package: sysbench (#18310) 2020-08-28 23:02:11 -05:00
darmac
d5da8e7543 Add new package: foundationdb (#18312) 2020-08-28 22:59:28 -05:00
darmac
eaf843c3e8 Add new package: pflask (#18313) 2020-08-28 22:58:54 -05:00
darmac
a1230d1910 Add new package: shc (#18314) 2020-08-28 22:58:29 -05:00
darmac
b799b983bb Add new package: vsftpd (#18317) 2020-08-28 22:55:44 -05:00
darmac
0eeed1f7f7 Add new package: iniparser (#18318) 2020-08-28 22:53:57 -05:00
darmac
c85dc3a5b4 Add new package: fcgi (#18320) 2020-08-28 22:51:03 -05:00
darmac
6113be0919 Add new package: faust (#18321) 2020-08-28 22:50:05 -05:00
Kelly (KT) Thompson
48bfffd32c [new version] Draco package (#18336)
* Update version for package Draco

+ Add support for `draco-7.7.0`.
  + Introduces new `+cuda` variant.  This variant is only allowed in version
    `7.7.0:`.
  + Restrict `random123` to compatible versions.
  + Restrict `libquo` to compatible versions.
  + Moving forward, require `python@3:`
  + Moving forward, the ``+superlu_dist` variant is not longer supported.
+ Improve printed output for `--test` mode by adding `ctest` option
  `--output-on-failure`
+ Provide a patch to support for IBM Spectrum-MPI in version `7.7.0:`
+ Provide a patch to allow variant `~cuda` to actually disable GPU portions of
  the code when a GPU is discovered on the local system.

* Remove unnecessary function decoration.
2020-08-28 22:42:15 -05:00
Chris Richardson
25021ec228 Add setuptools as a direct dependency (#18324) 2020-08-28 16:24:43 -05:00
Gabriel Rockefeller
8a408a6571 eospac: add versions 6.4.1alpha.2 and 6.4.1beta (#18329) 2020-08-28 16:23:30 -05:00
Rémi Lacroix
b27cd9d75d NetCDF-Fortran: Add version 4.5.3. (#18350) 2020-08-28 16:22:42 -05:00
Robert Blake
eb8ff0bc81 Adding externals for bison and flex (#18358)
* Adding externals for bison and flex

Added because bison actually pulls in a ton of stuff.

* Need to escape parentheses.

* Need to add re package.

* Adding re package.
2020-08-28 16:22:28 -05:00
Robert Blake
aca370a3a2 External recognition for find. (#18360)
* External recognition for find.

* Adding re package.
2020-08-28 16:22:05 -05:00
Robert Blake
c9fd2983dc texinfo: Adding external support (#18362)
* texinfo: Adding external support for texinfo.

* Adding re package.
2020-08-28 16:21:51 -05:00
Dr. Christian Tacke
65fda72d7c davix: Improve shared library building on macOS (#18352)
Add -DCMAKE_MACOSX_RPATH=ON to cmake.
2020-08-28 16:13:53 -05:00
Keita Iwabuchi
9525c530d5 Add Metall v0.3 (#18340)
* Metall: add version 0.2

* Add Metall v0.3
2020-08-28 14:42:02 -05:00
Jonathan R. Madsen
0bf696a29d Timemory: Fix python dependencies + NCCL (#18342)
* Fix python dependencies + NCCL

* Removed trailing whitespace
2020-08-28 14:40:34 -05:00
Dr. Christian Tacke
6bb2dd40b6 fairlogger: Update cmake options and version (#18354)
* Add version 1.7.0 and 1.8.0
* Better support for boost < 1.70
* No color in output
2020-08-28 14:31:09 -05:00
Nikolay Simakov
9b654fe60c namd: added patching charmrun location, as it stored in prefix.bin (#18355) 2020-08-28 14:29:53 -05:00
Robert Blake
6ceb3d4be0 spectrum-mpi: external support, compiler detection (#18055)
* spectrum-mpi: adding external support.

* Package is tested, works on LLNL lassen

* Spectrum external now detects the correct compiler

* Changing code to not output all compilers

Done per becker33's request on #18055
2020-08-28 11:53:27 -07:00
eugeneswalker
9befc43708 binutils: add build dep: diffutils (provides cmp) (#18361) 2020-08-28 11:31:43 -07:00
Rémi Lacroix
b006123331 Add new package: AutoDock-GPU. (#17808)
The project currently only has a develop branch and no versioned releases so only provide a git-based "develop" version.
2020-08-28 11:02:52 -05:00
ketsubouchi
1d0650b2cb looptools: skip UNDERSCORE check and add -Fwide (#18135) 2020-08-28 10:03:38 -05:00
ketsubouchi
abffcefadd genometools: use signed char for %fj (#18126)
* genometools: use signed char for %fj

* genometools: update patch to use int

* use int
2020-08-28 10:02:42 -05:00
ketsubouchi
7dd58c7ed0 ghostscript: patched sources to allow building with Fujitsu compilers (#18345) 2020-08-28 11:52:11 +02:00
ajw1980
1251919318 Add type=link for libxml2 and libxslt for py-lxml (#18293) and add version 4.5.2 (#18325)
Co-authored-by: Andy Wettstein <andy.wettstein@xrtrading.com>
2020-08-27 15:03:23 -05:00
Greg Becker
d10dff1b89 docs: add main version to docs for develop-like versions (#18328) 2020-08-27 12:35:11 -07:00
Hector
9f5d0c0007 Fix Zoltan installation with gcc 10.2.0 (#18301) 2020-08-27 20:57:53 +02:00
Andrew W Elble
77a28b81ac thrift: add missing py-six dependency (#18285)
* thrift: add missing py-six dependency

* add more missing dependencies (+extras)

* small fix

* gssapi variant / setuptools run dep

Co-authored-by: Andrew Elble <aweits@localhost.localdomain>
2020-08-27 13:24:42 -05:00
psakievich
ccae9cff3a Add nalu-wind test structure (#13640)
- Add custom function to checkout submoudles if testing is enabled
2020-08-27 12:09:56 -05:00
Chen Wang
680c1b339a New version: Recorder 2.1.5 (#18327) 2020-08-27 11:55:04 -05:00
darmac
a81106757d Add new package: libmnl (#18316) 2020-08-27 16:05:21 +02:00
Itaru Kitayama
1746799087 CUDA Toolkit: added v11.0.2 for Arm (#17845)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2020-08-27 14:56:18 +02:00
Chen Wang
9fc6bdabef Add a new package: Recorder (#18297)
* Add a new package: Recorder

* Delete all FIXMEs

* Update package.py

* Remove extra spaces.
2020-08-27 07:47:21 -05:00
Simon Pintarelli
22329c4f92 sirius, q-e-sirius (#18286)
* sirius: fix bug in shared spec

make +shared the default

* q-e-sirius: depend on sirius+shared, fix gcc@10

- add missing whitespace in -fallow-argument-mismatch.
- require sirius+shared
2020-08-27 07:45:55 -05:00
Adam J. Stewart
7fd8f74c23 SLOCCount: add new package (#18271) 2020-08-27 14:39:46 +02:00
Seth R. Johnson
ba470137c8 nlohmann-json: added v3.9.1 and v3.8.0 (#18287)
Also use 'define' helper function.
2020-08-27 14:31:00 +02:00
Axel Huebl
a6c0b7ab3a CMake: Update GCC on macOS Conflict message (#18253)
* CMake 3.18.0+: Builds with GCC on macOS

The latest release of CMake updates libuv, which fixes ObjC code
usage on macOS. Passing ObjC code to non apple-clang compilers
crashed the build before.

Refs.:
- https://gitlab.kitware.com/cmake/cmake/-/issues/20620
- https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4687

* CMake: Further issues GCC+macOS

There are further issues to fix before this will work.
https://gitlab.kitware.com/cmake/cmake/-/issues/21135
2020-08-27 08:51:00 +02:00
Richarda Butler
416afa0059 docs: fix bugs in contribution, getting started guides (#18216)
Co-authored-by: Greg Becker <becker33@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-27 08:23:26 +02:00
darmac
5d3ad70e0a Add new package: sysget (#18259) 2020-08-26 21:11:40 -05:00
Weston Ortiz
1a17921fa5 Add new package: sparse (#18264)
* Add new package: sparse

* flake8 fixes
2020-08-26 21:02:16 -05:00
Tom Payerle
273a158f1b dbus: Add libsm dependency (fix for issue #18267) (#18268)
dbus has a dependency on libSM which was not being declared (and would
normally be satisfied by using system libraries).
2020-08-26 20:57:54 -05:00
Tim Haines
1536691bc9 caliper: Remove support for deprecated Dyninst versions (#18275) 2020-08-26 20:51:00 -05:00
darmac
080625c3af Jpegoptim (#18279)
* Add new package: jpegoptim

* refine homepage
2020-08-26 20:49:34 -05:00
arjun-raj-kuppala
24f2850cab update to rocm hip,hsa-rocr-dev,rocm-dbgapi (#18280)
* update to rocm hip,hsa-rocr-dev,rocm-dbgapi

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

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2020-08-26 20:47:55 -05:00
darmac
b93e65065a Add new package: libestr (#18281) 2020-08-26 20:45:51 -05:00
darmac
369e691ec2 Add new package: libfastjson (#18282) 2020-08-26 20:45:27 -05:00
Satish Balay
67e72bf1f5 sowing: update to version 1.1.26-p1 (#18298) 2020-08-26 20:17:05 -05:00
Seth R. Johnson
81bb372d75 Trilinos: Require parallel HDF5 when +hdf5+mpi (#17606)
EpetraExt requires parallel IO. It does after all make sense to require
the parallel version of HDF5 when building a parallel solver library.
2020-08-26 14:54:05 -05:00
Seth R. Johnson
26bab9d4d6 Fix build when +stratimikos +xpetra (#17971)
If Thyra isn't explicitly enabled at the package level, trilinos fails
to build.

```
/var/folders/gy/mrg1ffts2h945qj9k29s1l1dvvmbqb/T/s3j/spack-stage/spack-stage-trilinos-12.18.1-vfmemkls4ncta6qoptm5s7bcmrxnjhnd/spack-src/packages/muelu/adapters/stratimikos/Thyra_XpetraLinearOp_def.hpp:167:15: error:
      no member named 'ThyraUtils' in namespace 'Xpetra'
      Xpetra::ThyraUtils<Scalar,LocalOrdinal,GlobalOrdinal,Node>::toXpetra(rcpFromRef(X_in), comm);
      ~~~~~~~~^
```
2020-08-26 14:51:57 -05:00
Massimiliano Culpo
96ac5add9d release procedure: add step to activate the documentation on readthedocs (#18288) 2020-08-26 12:47:47 -07:00
ketsubouchi
02dc84a2b3 conduit: added patch to build with Fujitsu compilers (#18284) 2020-08-26 18:55:09 +02:00
eugeneswalker
f7d156af05 binutils: add version 2.35 (#18291) 2020-08-26 11:54:33 -05:00
Adam J. Stewart
20d37afafa TensorFlow: added v2.3.0 (#17736)
* Workaround for Spack-installed proto support

Co-authored-by: Andrew W Elble <aweits@rit.edu>
2020-08-26 14:32:14 +02:00
Veselin Dobrev
ad437bff8f [GnuTLS] Add gnutls-specific headers property. (#7259) 2020-08-25 19:00:49 -05:00
Christoph Junghans
afa907f549 kokkos: add v3.2.00 (#18274) 2020-08-25 15:26:43 -05:00
darmac
878d0b793c Add new package: influxdb (#17909)
* Add new package: influxdb

* put usr/* in prefix
2020-08-25 07:45:30 -05:00
Axel Huebl
11a3ac25ac CCache: added v3.7.11 and support for external detection (#18246) 2020-08-25 14:30:16 +02:00
lpoirel
b562154423 petsc: new version add support for +mumps +int64 (#18170)
* petsc: new version add support for +mumps +int64

The latest petsc release allows using mumps while using 64 bit integers :
https://www.mcs.anl.gov/petsc/documentation/changes/313.html
https://gitlab.com/petsc/petsc/-/merge_requests/2591/

* petsc: use conflicts for mumps dependency
2020-08-25 14:07:59 +02:00
Adam J. Stewart
b305990ee8 pkgconfig: add conflict for PGI (#18236) 2020-08-25 11:33:36 +02:00
Tim Haines
9b07669ab3 libmicrohttpd: added new package at v0.9.71 (#18226) 2020-08-25 10:24:04 +02:00
Adam J. Stewart
df51cf20c5 libtiff: added v4.1.0 (#18247) 2020-08-25 10:00:56 +02:00
Adam J. Stewart
cb322300cb libgeotiff: added v1.6.0 (#18248) 2020-08-25 10:00:39 +02:00
Adam J. Stewart
5aef9f8f83 PROJ: added versions up to v7.1.0 (#18249) 2020-08-25 10:00:18 +02:00
Adam J. Stewart
c6736653cd py-shapely: added v1.7.1 (#18250) 2020-08-25 09:59:36 +02:00
Adam J. Stewart
d4ef804b15 py-cartopy: added v0.18.0 (#18251) 2020-08-25 09:59:12 +02:00
Tim Haines
eebcd6b24f Dyninst: added conflicts for unsupported compilers and platforms (#18245) 2020-08-25 09:56:27 +02:00
Joseph Wang
ac6d7dcdf6 freeglut: added v3.2.1 and patch to build with GCC 10 (#18229) 2020-08-25 09:53:27 +02:00
Elizabeth Fischer
c13bc308db py-basemap: Update for proj@6 (#16183)
* py-basemap

* Updated versions + URL attribute

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

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

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

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

* Removed unnecssary comment

* flake8

Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-24 23:24:56 -05:00
Robert Blake
5e1909c00a mvapich2: Adding external find support. (#18177)
* Adding external support for mvapich2.

This picks up all the options that are currently settable by
the spack package. It also detects the compiler and sets it
appropriately.

* Removing debugging printing.

* Adding changes suggested by @nithintsk
2020-08-24 20:53:42 -05:00
Satish Balay
b885dbcd85 pflotran: requires hdf5+hl (#18224) 2020-08-24 19:13:47 -05:00
Paul
9e7029d806 Added Go 1.15 and find external package. (#18235) 2020-08-24 19:05:48 -05:00
Robert Underwood
6f2f02366a sz: version bump, cmake bug-fix, add maintainer (#18238)
+ Added version 2.1.9
+ Previously the SZ package incorrectly depended on CMake without a
  version dependancy, but actually version 3.13 or newer is required
+ Added myself as a maintainer for the SZ spack package
2020-08-24 19:05:08 -05:00
Benjamin Tovar
d6ca3be63a Update to CCTools 7.1.7 (#18241)
This is a bug release with some new features and bug fixes. Among them:

[Batch] Set number of MPI processes for SLURM. (Ben Tovar)
[General] Use the right signature when overriding gettimeofday. (Tim
Shaffer)
[Resource Monitor] Add context-switch count to final summary. (Ben
Tovar)
[Resource Monitor] Fix kbps to Mbps typo in final summary. (Ben Tovar)
[WorkQueue] Update example apps to python3. (Douglas Thain)
2020-08-24 19:04:08 -05:00
Axel Huebl
a483b0b9dd CMake: 3.18.2 (#18244)
Adds the latest CMake release, which fixes a Spectrum-MPI + CUDA<10.2
issue, among others. Relevant for Summit.
2020-08-24 19:03:11 -05:00
Adam J. Stewart
5ef7d5e792 CUDA: add v10.1.243 for ppc64le (#18237)
Closes #18174 

@smarocchi @ax3l @svenevs 

The error message in #18174 isn't great, but I'm hoping that #18127 will improve that.
2020-08-24 14:50:10 -07:00
Daryl W. Grunau
f5102cd582 call the universal 'mpifc' instead of hardcode 'mpif90' (#18162)
Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2020-08-24 15:44:20 -05:00
Harmen Stoppels
17f7d9f44c openmpi: fix concretization (#18233) 2020-08-24 19:05:39 +02:00
Erik Schnetter
53cfca1f59 simulatioion: Declare dependency on asdf-cxx (#18018)
* simulationio: Declare dependency on asdf-cxx

* Rename "develop" to master"; add descriptions to variants

* Add maintainer
2020-08-24 11:25:43 -05:00
David Gardner
3c866294e1 add github url as backup (#18223) 2020-08-23 16:43:57 -05:00
t-nojiri
b721a2e54b soapdenovo-trans: build on aarch64 (#18187)
* samtools: Add version 0.1.8 for OSS soapdenovo-trans.

* Add depend on zlib and samtools to build on aarch64.

* soapdenovo-trans: Change the condition of depend on zlib and samtools.
2020-08-22 22:11:19 -05:00
David Gardner
a6ca236c26 add tcl 6.8.10 (#18221) 2020-08-22 22:02:57 -05:00
Sergey Kosukhin
b5e78bce06 OpenMPI: sanitize dependent build environment. (#15360) 2020-08-22 22:01:41 -05:00
Sergey Kosukhin
9fdb945383 NetCDF: fix constraints. (#16719) 2020-08-22 16:06:17 -05:00
Teodor Nikolov
dc5176fbae [hpx] Two new variants for upcoming v1.5, stable and master (#18022)
* New package: cxxopts

* Use +unicode instead of unicode=True

- Make the unicode option more explicit

* Add two new variants to spack for upcoming 1.5, stable and develop

* Add as maintainer

* Add depends_on on clauses

* Remove unrelated change
2020-08-22 16:00:11 -05:00
Carson Woods
c743d219aa qthreads: add additional configuration options (#15833)
* Add new config options for qthreads

* Fix syntax error and add option for specifying stack size

* Fix flake8 issues

* Add input validation for the stack size variant and add explicit enable for spawn cache

* Fix flake8 issues with input validation code
2020-08-22 15:58:41 -05:00
Jianwen
e26e532eb3 vifi: a new package. [WIP] (#14287)
* vifi: a new package.

* Fix url.

* Add dependencies.
2020-08-22 15:23:04 -05:00
noguchi-k
15facf2171 ibm-java: add conflicts for aarch64 (#13728) 2020-08-22 15:22:50 -05:00
Ruben Di Battista
f902202b5e Add scantailor package (#12833)
* Add scantailor

* qt: Fix build w/ GCC9 for @4:

* qt: Fix patch filename and qt version

* Fix typo in patch name

* scantailor: Fix version

* scantailor: Use a more-modern fork

* scantailor: Remove unused patch file

Co-authored-by: Ruben Di Battista <ruben.di-battista@polytechnique.edu>
2020-08-22 15:22:37 -05:00
Andreas Baumbach
27b9727926 Add new package arbor (#11914)
* Add new package arbor

Change-Id: I70a442d6ad74979d13bd9f599df238c085d4baf9

* Update package.py

* add additional dependencies

* change download to tar-ball

* py26 compatibility

* restrict noqas and expand comment

Co-authored-by: Eric Müller <mueller@kip.uni-heidelberg.de>
2020-08-22 14:42:46 -05:00
Brian Homerding
2e2c06121a llvm-openmp-ompt: Additional dependencies and adding variant (#11266)
* llvm-openmp-ompt: Additional dependencies and adding variant for disabling building libomptarget

* Flake8 fixes
2020-08-22 14:23:04 -05:00
Levi Baber
d65b9ad195 mark: added new package (#10513)
* 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

* mark: new license and sha256 hash

Co-authored-by: lingnanyuan <1297162327@qq.com>
2020-08-22 14:01:00 -05:00
George Hartzell
b53b9fd17e Fix redundant reset of terminal in prompt example (#17698)
I know that it's just an example, but I was trying to figure out what was going on and it wasn't making sense....

`tput sgr0` resets the terminal state (http://linuxcommand.org/lc3_adv_tput.php) and I can't see any reason to do it twice.  Deleting the second occurrence doesn't seem to break the fancy prompt effect.
2020-08-22 13:27:39 -05:00
Elizabeth Fischer
8ce5718922 qgis: Updates for proj@6 (#16172)
* qgis

* Update package.py

QGIS 3.12.1 can use PROJ >= 4.9.3.  Therefore both version restrictions on PROJ were incorrect.
https://github.com/qgis/QGIS/blob/final-3_12_1/INSTALL

* Update package.py

Add explanation to (hopefully temporary) removal of hdf5 dependency.

* Remove overly restrictive GRASS version number.

* flake8

Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-08-22 13:22:57 -05:00
Erik Schnetter
488d8ae747 openmpi: Update hwloc version bounds (#18040)
`openmpi @4:` can use `hwloc @2:`.
2020-08-22 13:10:11 -05:00
Greg Becker
3c6544fcbf fix mailmap for becker33 (#18215) 2020-08-22 12:46:48 -05:00
Christoph Junghans
adc98ae409 votca*: add v1.6.2 (#18218) 2020-08-22 11:38:41 -06:00
darmac
74d274f02f Add new package: consul (#18044)
* Add new package: consul

* fix package type

* refine install phase
2020-08-22 10:51:20 -05:00
Richarda Butler
d599e4d9d4 Added the file path for running a specific test (#18214) 2020-08-21 17:42:24 -05:00
srekolam
febc8ccb15 new recipe for rocalution and fix for rocm-smi-lib (#18211) 2020-08-21 13:34:06 -05:00
Jen Herting
512aa40151 [py-numba] added version 0.50.1 (#17880)
* [py-numba] fixing upper limit for conditional dependency

* [py-numba] added version 0.50.1

* [py-numba] Specifying llvmlite version for new version
2020-08-21 12:45:57 -05:00
Jen Herting
c24b838407 [py-llvmlite] new version 0.33.0 (#17878)
* [py-llvmlite] new version 0.33.0

* [py-llvmlite] newer version of python required
2020-08-21 10:54:06 -05:00
g-mathias
d222551185 namd: latest version 2.14 (#18167)
* upgrade to version 2.14; added target architecture optimization

* renamed devel-> (adamjstuart); keep 2.14bx versions

Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-08-21 09:55:53 -05:00
Adam J. Stewart
07fc495c94 py-pandas: added v1.1.1 (#18206) 2020-08-21 08:49:32 +02:00
Ryan Mast
3a1334bc6a helics: Add version 2.6.0 (#18208)
* helics: Add version 2.6.0

* Remove bms version from HELICS package
2020-08-20 22:24:46 -05:00
Jordan Ogas
1666db60d0 charliecloud: add 0.18 (#18200)
* add 0.18, remove older versions

* update url

* fix typo
2020-08-20 20:16:34 -05:00
Michael Kuhn
fc3b4657ce sqlite: Add 3.33.0 (#18145) 2020-08-20 17:17:02 -05:00
g-mathias
880ff1d795 new dakota version 6.12; included boost versions limit; changed default url (#18168)
Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-08-20 17:14:40 -05:00
Michael Kuhn
11b1ce84cf docs: List tar and some compressors in prerequisites (#18169)
Fixes #18152
2020-08-20 17:13:47 -05:00
vvolkl
6b6f6db431 [gaudi] sadly, the cmake fixes are postponed to next version (#18171) 2020-08-20 17:11:45 -05:00
vvolkl
cd06100001 [podio] new version, cxxstd 17 now mandatory (#18191) 2020-08-20 17:06:52 -05:00
Harmen Stoppels
ebe5a5652c Add rocSPARSE, rocSOLVER, hipSPARSE and hipBLAS (#18108) 2020-08-20 14:55:02 -05:00
Greg Becker
ad9cd25285 allow external packages that violate conflicts (#18183) 2020-08-20 10:16:48 -07:00
Massimiliano Culpo
573ce3fe81 gcc: fixed compilation on OpenSUSE (#18190)
Set location for dependencies specifying explicitly both
the include and lib path. This permits to handle cases where
the libraries are installed in lib64 instead of lib.

fixes #17556
fixes #10842
closes #18150
2020-08-20 17:42:18 +02:00
Massimiliano Culpo
1addcff724 Test "is_extension" after a round trip to dict (#18188)
closes #3887
closes #3853
2020-08-20 08:08:49 -07:00
Marc Mengel
d5c3b876e0 detatch binutils usage from bootstrap in gcc variants (#18116) 2020-08-20 17:06:22 +02:00
vvolkl
286c3d6cbc [lcio] set up run time paths (#18109)
* [lcio] set up run time paths

* [lcio] update runtime

* [lcio] flake8
2020-08-20 09:43:59 -05:00
Greg Becker
aa4fc2ac44 codecov: set project threshold to 0.2% (#18184) 2020-08-20 09:43:24 -05:00
Isaac Whitfield
b9adbac5c6 libimobiledevice: new package (#10819) 2020-08-20 11:22:04 +02:00
ketsubouchi
8a02ef4d51 bwa: patch Makefile to permit the use of compilers other than GCC (#18189) 2020-08-20 09:55:05 +02:00
Tim Haines
c786eb46bb dyninst: use elfutils for all versions (#18063) 2020-08-20 08:36:02 +02:00
Elizabeth Fischer
306f3a1232 Make finding of NetCDF and HDF5 more explicit. (#18166)
Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-08-20 08:34:53 +02:00
Greg Becker
ccf94ded67 Compilers: use Compiler._real_version for flag version checks (#18179)
Compilers can have strange versions, as the version is provided by the user.  We know the real version internally, (by querying the compiler) so expose it as a property and use it in places we don't trust the user.  Eventually we'll refactor this with compilers as dependencies, but this is the best fix we've got for now.

- [x] Make `real_version` a property and cache the version returned by the compiler
- [x] Use `real_version` to make C++ language level flags work
2020-08-19 21:56:06 -07:00
darmac
1650824ef5 Add new package: phoenix (#18143) 2020-08-19 20:33:37 -05:00
darmac
0187884591 qemu: add pkgconfig to avoid build error (#17929) 2020-08-19 20:32:47 -05:00
darmac
d9722e2730 nfs-ganesha: fix compile error on debian (#18102)
* nfs-ganesha: fix compile error on debian

* add type for py-stsci-distutils
2020-08-19 20:32:02 -05:00
darmac
bc2ff81a64 Add new package: presto (#18142) 2020-08-19 20:31:10 -05:00
darmac
472a32fb41 brigand: fix build error (#18173) 2020-08-19 20:30:33 -05:00
eugeneswalker
b5db5cf259 prepend ${NINJA_ROOT}/misc to PYTHONPATH in run environment (#18182) 2020-08-19 15:06:08 -07:00
Tamara Dahlgren
1c0a92662b Restore curl progress output (#18127)
Restores the fetching progress bar sans failure outputs; restores non-debug reporting of using fetch cache for installed packages; and adds a unit test.

* Add status bar check to test and fetch output when already installed
2020-08-19 12:10:18 -07:00
Filippo Spiga
8e8071ffb6 [WIP] Adding Quantum ESPRESSO v6.6 (#18091)
* Adding v6.6 (latest stable)

* There is no '-' in Quantum ESPRESSO

Co-authored-by: Filippo Spiga <fspiga@nvidia.com>
2020-08-19 11:10:54 -05:00
Michael Kuhn
b6321cdfa9 microarchitectures: Fix icelake (#18151)
Some of the feature flags are named differently and clwb is missing on
my i7-1065G7. cascadelake and cannonlake might have similar problems but
I do not have access to those architectures to test.
2020-08-19 11:49:43 +02:00
Pieter Ghysels
2945babdad STRUMPACK: added v4.0.0 (#18159)
- add cuda variant, enabled by default, but conflicting with
  strumpack@:3.9.999
- add zfp variant, enabled by default, but conflicting with
  strumpack@:3.9.999
- update minimum CMake version to 3.11
- for version 4.0.0:, do not use mpi wrappers. v4.0.0 uses CMake
  MPI targets
- for version 4.0.0, add dependency on butterflypack@1.2.0:
- remove versions 3.1.0 and older
- make parmetis variant True by default
- add TODO for slate variant (spack package not ready yet)
2020-08-19 10:15:02 +02:00
Kai Germaschewski
3cbd4c8dcf adios: relax libtool restriction (#18056)
While I believe there must have been a reason to restrict libtool to <=
2.4.2, adios compiles just fine with libtool 2.4.6 for me.

In fact, without this change, I'm getting this error:

libtool: Version mismatch error.  This is libtool 2.4.6, but the
libtool: definition of this LT_INIT comes from libtool 2.4.2.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6

This doesn't make much sense, since spack did build libtool@2.4.2 as a
dependency, and was supposedly trying to use it. My guess is that on
this system (NERSC's cori) the system libtool in /usr/bin, which is
2.4.6 somehow got picked up partially.
2020-08-19 08:49:54 +02:00
Michael Kuhn
fd0d79ecc5 meson: added v0.55.1 (#18146) 2020-08-19 08:32:13 +02:00
Luke Dalessandro
76f3d84a1b libfabric: added v1.10.0, v1.10.1 and v1.11.0. (#18161) 2020-08-19 08:26:22 +02:00
Robert Pavel
bc34ab4701 lua: specified better the dependency on ncurses (needs +termlib) (#18163)
Semi-recently the lua spackage was updated to explicitly add libtinfow
to the lua build line. Ncurses provides this but only when the +termlib
variant is enabled
2020-08-19 08:23:56 +02:00
Massimiliano Culpo
bef560636d intel: added external detection capabilities (#17991) 2020-08-19 08:20:57 +02:00
ketsubouchi
71748a3b7a moab: delete -march=native from generated files (#18137)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-08-19 07:40:40 +02:00
Christoph Junghans
c7096eb537 ninja: add v1.10.1 (#18160) 2020-08-18 14:51:55 -06:00
Greg Becker
08dd826891 emacs: add 27.1 and conflict 26.3 on macos catalina (#18157)
* emacs: add version 27.1

* emacs: 26.3 does not work on macos catalina
2020-08-18 11:26:09 -07:00
Adam J. Stewart
00e9e1b3c7 Java: add spack external find support (#18006) 2020-08-18 20:17:08 +02:00
Massimiliano Culpo
1ed70d0e2c 'spack env update' can handle overrides (#18149)
fixes #18147

Before this commit the command erroneously reported
"Additional properties not allowed" for keys with a
double colon.
2020-08-18 17:05:25 +02:00
Michael Kuhn
319d160ed1 glib: added v2.64.4 (#18144) 2020-08-18 15:15:19 +02:00
Adam J. Stewart
17d96b615a py-accimage: add new package (#18122) 2020-08-18 12:10:18 +02:00
Toyohisa Kameyama
3210d6b64e unibilium: added v2.0.0 (#18132) 2020-08-18 12:03:06 +02:00
Pieter Ghysels
9b65bdeca8 ButterflyPACK: added v1.2.0 (#18133) 2020-08-18 12:02:16 +02:00
Hadrien G
d466e9224f acts: added v0.31 (#18138) 2020-08-18 11:55:45 +02:00
Harmen Stoppels
25d27a38de SpFFT: added v0.9.13 (#18139) 2020-08-18 11:53:27 +02:00
ketsubouchi
71b7b353d8 ocaml: fix building with Fujitsu compilers (#17918) 2020-08-18 11:49:09 +02:00
darmac
060731a824 ape: fix build error and update version (#17952)
* ape: fix build error and update version

* ape: fix 2.3.0 & 2.3.1

* ape: only refine libxc version constraintion

* ape: fix flake8 error
2020-08-17 21:22:53 -05:00
Toyohisa Kameyama
264958fc18 lua-jit: New pacjage. (#18099) 2020-08-17 21:17:08 -05:00
Toyohisa Kameyama
ad8418fbbf libluv: New package. (#18100) 2020-08-17 21:15:11 -05:00
Toyohisa Kameyama
b3535d909e libuc: Add version 1.38.1. (#18104) 2020-08-17 21:07:43 -05:00
Harmen Stoppels
f582ebbaa0 Add master and develop for spfft (#18105) 2020-08-17 21:05:26 -05:00
Hadrien G
97ca824487 Add acts v0.30 (#18106) 2020-08-17 21:04:17 -05:00
Paul
12c4b8a73e Find external package for git-lfs. (#18107) 2020-08-17 21:02:41 -05:00
Levi Baber
6127a6faf6 canu: new version (#18112) 2020-08-17 20:58:50 -05:00
Marc Mengel
fdddbc9ae7 libsm: new version, depends_on libuuid (#18117)
* libsm: new version, depends_on libuuid

* blank lines

Co-authored-by: Marc Mengel <mengel@fnal.gov>
2020-08-17 20:52:26 -05:00
Toyohisa Kameyama
4f624727ef lua-lpeg: Add version 1.0.2-1. (#18128) 2020-08-17 20:51:29 -05:00
Rao Garimella
da1135cd19 Fix typo in CMake options (#18125)
* New interface reconstruction package

* forgot to put in CMake option for Jali

* cleanup whitespace

* fix lines with more than 79 chars

* more long line cleanup

* fix typo WONTON_ENABLE_Kokkos ---> TANGRAM_ENABLE_Kokkos

Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2020-08-17 20:41:04 -05:00
Marc Mengel
3da40a5c61 dependency fix for python3 (#18118)
* dependency fix for python3

* version cleanup

Co-authored-by: Marc Mengel <mengel@fnal.gov>
2020-08-17 16:51:17 -05:00
Nithin Senthil Kumar
9c3b4e4d28 Changes to url port and a bug fix in mvapich2x package (#18096)
Co-authored-by: nithintsk <nithintsk@github.com>
2020-08-17 15:33:26 -05:00
Adam J. Stewart
cc06181ef9 ALSA-lib only works on Linux (#18075) 2020-08-17 15:22:25 -05:00
eugeneswalker
1b965ac507 Binary Distribution: Relocate RPATH on Cray (#18110)
* make_package_relative: relocate rpaths on cray

* relocate_package: relocate rpaths on cray

* platforms: add `binary_formats` property

We need to know which binary formats are supported on a platform so we
know which types of relocations to try. This adds a list of binary
formats to the platform and removes a bunch of special cases from
`binary_distribution.py`.

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-08-17 13:21:36 -07:00
vvolkl
525a9f02ca xrootd: added v5.0.0, updated dependency on root (#18101) 2020-08-17 20:02:45 +02:00
Rao Garimella
1498d076c3 New package Tangram (#17944)
* New interface reconstruction package

* forgot to put in CMake option for Jali

* cleanup whitespace

* fix lines with more than 79 chars

* more long line cleanup

Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2020-08-17 13:00:43 -05:00
Adam J. Stewart
9350ecf046 py-torchvision: fix linking to -lavcodec (#18093) 2020-08-17 11:24:19 -05:00
vvolkl
022586b11d [delphes] align env var with lcg release (#18080) 2020-08-17 09:20:41 -05:00
t-nojiri
a19ac05d3e openmolcas: fix build on aarch64. (#17923) 2020-08-17 11:54:48 +02:00
vvolkl
b51e48732c pythia8: added environment variable (#18081) 2020-08-17 11:51:16 +02:00
Adam J. Stewart
8a8d36d828 hdf+external-xdr does not build on macOS (#18085) 2020-08-17 10:54:30 +02:00
Wouter Deconinck
7618b4e25c cppzmq: added versions up to v4.6.0 (#18087)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-17 10:32:38 +02:00
Harmen Stoppels
207eadc1b2 Add rocBLAS (#18069)
* Add rocBLAS

* Add rocBLAS support to SIRIUS
2020-08-16 19:42:43 -05:00
darmac
f56b521bb5 Add new package: hudi (#18041) 2020-08-16 17:36:03 -05:00
darmac
a9116ac95c Add new package: slf4j (#18042) 2020-08-16 17:35:12 -05:00
darmac
3e7e07f2fd Add new package: h2database (#18046) 2020-08-16 17:33:09 -05:00
darmac
4428f59ad5 kaldi:refine dependency openfst (#18047) 2020-08-16 17:32:23 -05:00
darmac
34b7d99bec Add new package: mahout (#18048) 2020-08-16 17:30:03 -05:00
darmac
06a0fe9d94 util-linux: remove libintl link (#18065) 2020-08-16 17:28:38 -05:00
darmac
bef02e9d89 nfs-utils: fix compile error on ubuntu (#18066) 2020-08-16 17:27:47 -05:00
Tomoki, Karatsu
af9a3dc69a fenics: split 'parmetis' dependency definition. (#18067) 2020-08-16 17:25:16 -05:00
Harmen Stoppels
fd82cff737 Make spfft build with rocm (#18068) 2020-08-16 17:23:04 -05:00
Tom Payerle
0ffe64dee0 libssh: add gssapi variant and include krb5 as a dependency accordingly (#18070)
See #18033

libssh seemed to detect and link to system krb5 libraries if found
to provide gssapi support, causing issues/system dependencies/etc.

We add a boolean variant gssapi

If +gssapi, the spack krb5 package is added as a dependency.
If ~gssapi, the Cmake flags are adjusted to not use gssapi so that
does not link to any krb5 package.
2020-08-16 17:16:44 -05:00
vvolkl
b89c794806 [xrootd] new version and updated dependency (#18079) 2020-08-16 17:14:08 -05:00
vvolkl
2916ebe743 [dd4hep] align runtime env with lcg release (#18082) 2020-08-16 17:11:28 -05:00
Filippo Spiga
0788a69fa8 Adding osu-micro-benchmarks version 5.6.3 (#18090)
Co-authored-by: Filippo Spiga <fspiga@nvidia.com>
2020-08-16 17:03:54 -05:00
Mark W. Krentel
6e1f9b65e4 xz: add +pic variant (#18092)
xz-utils already builds a shared library.  The +pic variant adds the
compiler pic flag to the static archive so that it can be linked into
another shared library.
2020-08-16 17:02:43 -05:00
Auriane R
93221f8bf9 Add boost 1.74.0 package (#18088) 2020-08-16 16:13:55 -05:00
iarspider
6fdbdaf5b6 New packages: madgraph, syscalc, collier, gosam-contrib (#17601)
* Add Collier and SysCalc recipes

* Remove extra syscalc version

* Build collier with -j1 for @:1.2.4

* Add recipe for gosam-contrib

* Update gosam-contrib recipe with 'provides'

* Madgraph recipe, first version

* Finalize madgraph recipe + flake8

* Make py2 version of madgraph default; fix hash for syscalc; fix patch

* Handle virtual packages (#3)

* Update package.py

* Update packages.yaml

* Remove virtual packages - pt. 1

* Remove virtual packages - pt. 2

* Changes from review - pt. 1

* Changes from code review - pt. 2

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

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

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

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

* Add hash for version 2.7.2 (available in our private mirror)

* Fixes for 2.7.3 family

* Patches for 2.7.3{.py3,}{.atlas,}

* Fix hash of syscalc

* Hack to fix concretization (2.7.3 matches 2.7.3.py3)

* Add conflict statement (reported to devs)

* Apply suggestions from code review

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

* Update package.py

* Delete madgraph5amc-2.7.2.atlas.patch

* Delete madgraph5amc-2.7.2.patch

* Update package.py

* Apply suggestions from code review

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

Co-authored-by: iarspider <iarpsider@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-16 12:07:14 -05:00
Nithin Senthil Kumar
6ececa6976 New packages Mvapich2x and Mvapich2-GDR (#17883)
* Adding new packages Mvapich2x and Mvapich2-GDR which can be installed only via binary mirrors

* Added docstring descriptions to both packages

* Removed variant wrapper for cuda dependencies

* Fixed multiple flake8 errors

* Updated APIs to pass unit tests

* Updated APIs for MVAPICH2-X package and fixed flake8 warnings for MVAPICH2-GDR

* Changed url back to single line

* Removed extra parantesis around URL string

Co-authored-by: nithintsk <nithintsk@github.com>
2020-08-16 08:56:22 -05:00
vvolkl
46fb456b54 [root] add dataframe cmake option (#17962)
* [root] add dataframe cmake option

@chissg @HadrienG2  @drbenmorgan


This has been a separate cmake option starting v6-19 I believe: 31292b9082
It should default to true -- not sure why, but this recipe sets it to off.

I could add a variant too, but since it has become an integral part of root and doesn't introduce extra dependencies, I'd propose to just set it to true like I do here.

* Update package.py
2020-08-15 10:13:11 -05:00
Massimiliano Culpo
395b478b1b spack config update (bugfix): packages.yaml with empty attributes (#18057)
Before this PR, packages.yaml files that contained an
empty "paths" or "modules" attribute were not updated
correctly, since the update function was not reporting
them as changed after the update.

This PR fixes that issue and adds a unit test to
avoid regression.
2020-08-14 19:31:55 -07:00
Chuck Atkins
a6a5708c44 pugixml: add version 1.10, add option for shared libs (#18072) 2020-08-14 17:45:30 -07:00
Adam J. Stewart
9ab8521a1c Python: add spack external find support (#16684) 2020-08-14 16:08:42 +02:00
Adam J. Stewart
512ef506a7 pkgconfig: add spack external find support (#16690) 2020-08-14 16:07:17 +02:00
Adam J. Stewart
c18167d01f Autoconf: add spack external find support (#16692) 2020-08-14 16:06:26 +02:00
Adam J. Stewart
73fe3ce158 M4: add spack external find support (#16693) 2020-08-14 16:05:30 +02:00
darmac
f901947f69 bmake: fix compilation error and added v20200710 (#17956) 2020-08-14 11:32:06 +02:00
Adam J. Stewart
2430ac5b7c GDAL: add spack external find support (#18004) 2020-08-14 08:59:34 +02:00
Adam J. Stewart
c27e82f0ac gmake: add spack external find support (#18009) 2020-08-14 08:58:22 +02:00
Levi Baber
5eea09d43d nextflow: added v20.07.1 (#18058) 2020-08-14 08:53:16 +02:00
Adam J. Stewart
be046d7341 Bazel: add spack external find support (#18008) 2020-08-14 08:48:49 +02:00
Adam J. Stewart
84a16e62d6 OpenGL: add spack external find support (#18003) 2020-08-14 08:48:11 +02:00
Adam J. Stewart
70419c752d GMT: add spack external find support (#18007) 2020-08-14 08:44:32 +02:00
Robert Blake
bcae9e354b Adding external package support for tar. (#18002)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-14 08:43:27 +02:00
Robert Blake
a9b1f22ba1 External package recognition for git. (#18010)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-14 08:42:53 +02:00
Adam J. Stewart
a14648ffd0 external packages: redirect stderr too (#18037) 2020-08-14 08:40:58 +02:00
Greg Sjaardema
8ade93d09d NETCDF-C: added v4.7.4 (#18051) 2020-08-14 08:25:41 +02:00
Greg Sjaardema
4f14d67537 SEACAS: added v2020-05-12 and v2020-08-13 (#18053) 2020-08-14 08:25:06 +02:00
Jed Brown
fe718afaa5 ceed: fix @3.0.0 dependency on hypre@2.18.2 (#17983)
Co-authored-by: Veselin Dobrev <dobrev1@llnl.gov>
2020-08-14 08:18:58 +02:00
Adam J. Stewart
2dad0e5825 Matplotlib: added v3.3.1 (#18061) 2020-08-14 08:01:37 +02:00
Adam J. Stewart
32710f1f28 py-certifi: add v2020.6.20 (#18060) 2020-08-14 08:00:57 +02:00
Adam J. Stewart
35bba4223f Bash: add v5.0.18, external package detection (#18062) 2020-08-14 08:00:25 +02:00
Kai Germaschewski
1d152a44fd fix configure.ac/autotools issue that casues problems on RHEL 7.7 (#17465) 2020-08-13 16:20:05 -07:00
Massimiliano Culpo
31f660bd90 Improve output of the external find command (#18017)
This commit adds output to the "spack external find"
command to inform users of the result of the operation.

It also fixes a bug introduced in #17804 due to the fact
that a function was not updated to conform to the new
packages.yaml format (_get_predefined_externals).
2020-08-13 14:36:58 -07:00
Jim Galarowicz
c0342e4152 Update the change to add gomp compatibity to llvm-openmp. (#17400)
* Update the change to add gomp compatibity to llvm-openmp.

* Update the change to add gomp compatibity to llvm-openmp using append instead of extend.

* Fix flake8 issue.

Co-authored-by: Jim Galarowicz <jgalarowicz@newmexicoconsortium.org>
2020-08-13 15:41:20 -05:00
Alicia Klinvex
8398265638 Add support for pFUnit version 4 (#17683)
* pFUnit: Added support for version 4

pFUnit v4 uses submodules, so we must fetch from the repo rather
than grabbing the tarball (see #11642).

* pFUnit: Added conflicts

pFUnit 4 causes an internal compiler error with gcc 7.2.0, and
several pFUnit versions are incompatible with shared libraries.

* pFUnit: Added conflicts for version 4

Verson 4 uses Fortran 2008 features and cannot be built with gcc
compilers prior to 8.4.

* pFUnit: Fixed conflicts/dependencies as suggested

* pFUnit: Version 4 no longer fetches from git

Checksummable files are fetched instead.

* pFUnit: Simplify major version check

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

* pFUnit: Removed unnecessary patch for v4

The patch is still applied to v3.

* pFUnit: Modified MPI flag for v4

pFUnit v3 and v4 use different CMake flags to enable/disable MPI
support. Also added a conflict for v3 with MPI enabled using
gfortran 10, since newer gfortran is more finicky about datatypes.

* pFUnit: Rearranged mpi logic

* pFUnit: changed m4 to a build dependency

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

* pFUnit: Added URL back

I did not realize it was needed by "spack versions" and
"spack checksum". Thanks @adamjstewart!

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-13 15:35:00 -05:00
Ganesh Kumar
3dfd99c57a AMD ROCm Mathlibs (#17699)
* ROCm Mathlibs

* fixed the review comments

* fixed flake8 issues
2020-08-13 15:34:30 -05:00
Massimiliano Culpo
4a2136670d gcc: improve detection functions (#17988)
* Don't detect Apple's clang as gcc@4.2.1
* Avoid inspecting links except for Cray platforms
* Always return string paths from compiler properties
* Improved name-based filtering (apt-based packages)
2020-08-13 12:17:02 -07:00
Nikolay Simakov
f61b14106a IOR package: added 3.3.0rc1 and develop version (#18036)
* IOR package: added 3.3.0rc1 and develop version

* IOR package: reordered versions, set 3.2.1 as preferred
2020-08-13 13:28:50 -05:00
Harmen Stoppels
f5d3b82bcd Make mpich buildable without fortran (#17964)
When the user explicitly sets ~fortran, mpich builds without fortran
support. This will make building C/C++ libraries using clang easier,
since clang does not offer a fortran compiler by default (yet).

Since the user has to disable Fortran support explicitly, this change
is not breaking.
2020-08-13 13:25:55 -05:00
Harmen Stoppels
d6587ea365 fix buildcache create for environments with uninstalled root specs (#17859)
* Handle uninstalled rootspecs in buildcache

- Do not parse specs / find matching specs when in an environment and no
package string is provided
- Error only when a spec.yaml or spec string are not installed. In an
environment it is fine when the root spec does not exist.
- When iterating through the matched specs, simply skip uninstalled
packages
2020-08-13 09:59:20 -07:00
Massimiliano Culpo
d2f56830f1 "spack config update" can handle comments in YAML files (#18045)
fixes #18031

With this fix "spack config update" can update YAML
files that contain comments, while previously it
couldn't.
2020-08-13 09:54:07 -07:00
Matt Larsen
29818fda00 update vtk-h release (#18052) 2020-08-13 09:30:32 -07:00
Todd Gamblin
b476f8aa63 Merge tag 'v0.15.4' into develop 2020-08-13 07:23:02 -07:00
Massimiliano Culpo
ecf4829de7 llvm: added external detection capabilities (#17989)
* llvm: added external detection capabilities

* Added comment with reference to external package detection docs

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

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

* Flake8

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

* Add some symbolic links between packages

* Flake8

* Flake8:

* Update mock packages to write their own source files

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

* updates after change of list command arguments

* cleanup after merge

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

* Move shell test to Github Actions

* Moved documentation build to Github Action

* Don't run coverage on Python 2.6

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

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

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

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

Set only in dependent packages.

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

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

- [x] Pull `spack.architecture.default_arch()` out of
      `spack.architecture.sys_type()` so we can get an `Arch` instead of
      a string.
2020-08-12 23:58:10 -07:00
h-denpo
5512340a51 gotcha: fixed building v0.0.2 on ARM (#18012) 2020-08-13 08:16:23 +02:00
eugeneswalker
7302dd834f allow GNUPGHOME to come from SPACK_GNUPGHOME in env, if set (#17139) 2020-08-12 22:57:57 -07:00
ketsubouchi
ae23f33a31 eztrace: add space, --linkfortran, -Wl (#17801) 2020-08-12 20:16:59 -05:00
Chris White
105caa7297 Axom + Conduit updates (#17863)
* Loosen Axom's variants, add shared variant for axom, fix clang/xlf rpath'ing problem on blueos

* Fix flake8

* Add main branch to list of known git branches
2020-08-12 20:15:59 -05:00
Massimiliano Culpo
fa216e5f15 mpich, mvapich2: fixed setup_*_environment (#18032)
fixes #18028

Since now external packages support multiple modules
the correct thing to do is to check if the name of the
*first* module to be loaded contains the string "cray"
2020-08-12 20:04:03 -05:00
Harmen Stoppels
075e9428a1 Make the build stage of OpenSSL parallel (#18024) 2020-08-12 19:58:36 -05:00
Erik Schnetter
3fbbf539d1 libpciaccess: New version 0.16 (#18035) 2020-08-12 19:57:00 -05:00
Erik Schnetter
c024a55da8 cmake: Add version 3.16.3 (#18034)
`cmake @3.16.3` is the version provided by Ubuntu 20.04. Adding this version here avoids the warning
```
==> Warning: Missing a source id for cmake@3.16.3
```
when using the system `cmake`.
2020-08-12 19:53:55 -05:00
srekolam
ad060c7870 Spack recipes for ROCm software components-Phase1 (#17422)
* Spack recipes for ROCm Stage 1 Build components

* fix flake8 errors

* fixes for flake8 errors

* Add a patch for cmake 3.x suport

* Fix rpath issue where hsa-rocr-dev does not allow it to be filled in by spack

* Remove inherited cmake args from comgr

* Make hsakmt-roct compile: no -Werror because with const cast in numa, and actually add the numa dependency

* Remove redundant cmake args which is inherited

* Fix some dependencies

* Fix some python 2.x compatibilities

* Add amd gpu targets to rocfft

* Make comgr a link dep of rocm-dbgapi and remove redundant cmake args

* Remove redundant cmake args

* Remove more redundant cmake args

* Final redundant args

* Use cmake 3.x instead of a fixed version

* Remove random variable

* Use installed rocclr instead of nonexisting directory

* Don't build outside the staging folder

* Deploy some missing cmake target file

* Formatting

* Fix target list

* Properly handle the rocclr dependency

* Formatting

* Fix vermin test

* Make all 3.5.0 package depend exactly on eachother

* Add a few missing link dependencies

* Fix flake8

* Remove some other redundant flags

* Add gcc install prefix for gcc builds of llvm-amdgpu

* review changes for the spack recipes

* Do not hard-code versions

* Fix atmi install

- no more relative rpaths outside of install directory (required patch)
- fix build -> link dependencies
- remove unused build dependency

* Fix flake8 errors

* Remove unused variable and make things python 2.x compatible

* Fix flake8

* Move compiler config from rocfft -> hipcc

* Remove redundant dependency on fftw-api

* Remove redundant import

* Avoid hitting the ROCM_PATH variable altogether with a patch; also just fill in all variables

* Add missing deps z3, zlib and ncurses+termlib to llvm-amdgpu

* Fix perl shebang and add dep

* Fix typo and patch HIP_CLANG_ROOT detection in hip's cmake files

* fixing build failure due z3 and adding zlib for rocgdb

* new changes to add z3,curses dependency for llvm-amdgpu

* fix flake8 error

Co-authored-by: root <root@localhost.localdomain>
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2020-08-12 19:36:35 -05:00
eugeneswalker
25a0d89b58 petsc: add explicit build dependency: diffutils (#17979) 2020-08-12 13:42:03 -07:00
Julien Loiseau
015ea82bd5 Update FleCSPH package (#17997)
* Update FleCSPH package

* Flake8 corrections

* Update FleCSI version
2020-08-12 11:49:30 -06:00
Robert Blake
b4ff584bc0 Adding externals support for CUDA. (#18011)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-08-12 19:30:57 +02:00
Jon Rood
193c3535e1 Use configure-release instead of configure for UCX (#17941)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-12 15:14:53 +02:00
Michele Martone
d1fae90f84 librsb: added v1.2.0.9 (#18015) 2020-08-12 14:09:49 +02:00
Andrew W Elble
de053ca2ea weechat: added new package at v2.9 (#17996) 2020-08-12 14:09:09 +02:00
Harmen Stoppels
edcc334631 Respect $PATH ordering when registering compilers (#17967) 2020-08-12 13:38:08 +02:00
Ethan Stam
12aa6d221c ParaView: added v5.8.1 (#17995) 2020-08-12 13:18:32 +02:00
Robert Blake
f73141c6af Bugfix for #17999: use cudart instead of cuda. (#18000)
This is needed because libcuda is used by the driver,
whereas libcudart is used by the runtime. CMake searches
for cudart instead of cuda.

On LLNL LC systems, libcuda is only found in compat and
stubs directories, meaning that the lookup of libraries
fails.
2020-08-12 13:13:57 +02:00
Thomas Madlener
041e21802e podio: added dependency on jinja2 for newer versions (#17990) 2020-08-12 08:56:11 +02:00
Robert Blake
80a382c218 Adding external recognition to perl (#17756)
* Perl now has external recognition.

* Changing code to use the new external packages API.
2020-08-11 17:06:20 -07:00
Adam J. Stewart
2f0fd44b97 Libtool: add spack external find support (#16691)
* Libtool: add spack external find support

* Less specific regex

* match -> search

* Clarify that min returns first alphabetically, not shortest

* Simplify version determination
2020-08-11 10:16:15 -05:00
Harmen Stoppels
313511bf1d elpa: add cuda support, add libtool dep, fix parallel build failure (#17969) 2020-08-11 17:01:49 +02:00
Adam J. Stewart
09cc89a449 py-pyinstrument: added v3.1.3 (#17976) 2020-08-11 10:23:10 +02:00
Adam J. Stewart
db3ecb2fdf py-sphinx: added v3.2.0 (#17977) 2020-08-11 10:22:18 +02:00
Adam J. Stewart
1fdd19bcc2 py-sphinx-rtd-theme: added v0.5.0 (#17978) 2020-08-11 10:21:55 +02:00
darmac
9e54570b4c libcroco: added build dependency on pkg-config (#17970) 2020-08-11 10:14:22 +02:00
Massimiliano Culpo
6cda20472e Fix loading of compiler modules on CRAY (#17984)
The modifications in 193e8333fa
introduced a bug in the loading of compiler modules, since a
function that was expecting a list of string was just getting
a string.

This commit fixes the bug and adds an assertion to verify the
prerequisite of the function.
2020-08-11 10:11:01 +02:00
Adam J. Stewart
f0c0cd5c3f Fix typo in spack external debug msg (#17982) 2020-08-11 09:55:44 +02:00
Sajid Ali
30dc0baa34 openssl: added detection capabilities (#16653) 2020-08-11 09:44:51 +02:00
Kurt Sansom
07422f95de sprng: added new package (#17570)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-11 09:15:13 +02:00
Howard Pritchard
18d2682f75 UCX: add version 1.8.1 (#17972)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-08-10 23:10:59 -05:00
Jeffrey Salmond
6ccc430e8f Add fenicsx packages (#17743)
* add py-ufl package from fenics

* add py-fiat package from fenics

* add py-ffcx package from fenics

* add py-dijitso package from fenics

* add dolfinx library from fenics

* amend ffcx to use ufl and fiat master branches

* setup variants complex and int64 of dolfinx

* add dolfinx python library as package

* add test dependencies to py-dolfinx

* remove broken doc variant

* remove test dependencies from py-dolfinx

* flake8 fixes to dolfinx and py-dolfinx

* make sure dolfinx cmake picks up the correct python version

* list build phases in py-dolfinx package

* remove unnecessary package url

* make pkgconf a build dependency

* make all python dependencies build+run

* py-ffcx needs py-setuptools to be a build/run dependency to support ffcx executable

* remove unnecessary variants from dolfinx

* add missing dependencies to py-dijitso

* remove stray line from py-dolfinx

* simplify definition of build_directory in py-dolfinx

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

* use depends_on("python") rather than extends("python") in py-ffcx

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

* use depends_on("python") rather than extends("python") in py-fiat

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

* use depends_on("python") rather than extends("python") in py-ufl

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

* rename py-fiat to py-fenics-fiat

* rename py-ufl to py-fenics-ufl

* fix error in depends_on(petsc) definition

* add missing dep on numpy to py-fenics-fiat

* specify python@3.8: as requirement for all fenics components

* use tuples rather than list for depends_on type=

* specify eigen@3.3.7: as dependency for dolfinx

* add js947 and chrisrichardson as maintainers for the fenics packages

* remove scipy dependency from py-dolfinx

* rename package py-ffcx -> py-fenics-ffcx

* rename package dolfinx -> fenics-dolfinx

* rename package py-dolfinx -> py-fenics-dolfinx

* remove pointless URL from py-fenics-dolfinx package

* rename package py-dijitso -> py-fenics-dijitso

* formatting

* remove unecessary cmake args from fenics-dolfinx

* revert py-fenics-fiat python version to 3:

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

* revert py-fenics-ufl python version to 3.5:

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

* add conflict to fenics-dolfinx for C++17 support

* revert py-fenics-ffcx python version to 3.5:

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-10 21:43:43 -05:00
Nithin Senthil Kumar
38f2a0a92b Updated docstring description for MVAPICH2 (#17921)
* Updated docstring description for MVAPICH2

* Fixed flake8 character count warning and added maintainers

* Removed trailing whitespaces

Co-authored-by: nithintsk <nithintsk@github.com>
2020-08-10 21:35:41 -05:00
darmac
08beb7aa30 aperture-photometry: add v2.8.4 (#17953) 2020-08-10 21:35:20 -05:00
darmac
00bdff81ae Add new package: tiptop (#17907)
* Add new package: tiptop

* fix flake8 error

* tiptop: remove sha256 value
2020-08-10 21:26:21 -05:00
darmac
84a97d8372 pbbam: fix build error (#17955)
* pbbam: fix build error

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-10 21:25:45 -05:00
darmac
9fbfd6b58c kibana: support aarch64 (#17910)
* kibana: support aarch64

* kibana: change jdk to java
2020-08-10 21:25:08 -05:00
darmac
c322bea8f8 fix apex sha256 and depends constraint (#17902) 2020-08-10 20:36:58 -05:00
Massimiliano Culpo
1dba0ce81b Removed references to BlueGene/Q in docs and comments 2020-08-10 17:09:09 -07:00
Massimiliano Culpo
f128e7de54 Removed references to BlueGene/Q in Spack builtin packages 2020-08-10 17:09:09 -07:00
Massimiliano Culpo
98701279df Removed references to BlueGene/Q in core Spack 2020-08-10 17:09:09 -07:00
Satish Balay
1920d125e8 petsc: update hypre dependency wrt 2.18.2 -> 2.19.0 API change (#17973) 2020-08-10 13:41:35 -07:00
Massimiliano Culpo
c0d490ffbe Simplify the detection protocol for packages
Packages can implement “detect_version” to support detection
of external instances of a package. This is generally easier
than implementing “determine_spec_details”. The API for
determine_version is similar: for example you can return
“None” to indicate that an executable is not an instance
of a package.

Users may implement a “determine_variants” method for a package.
When doing external detection, executables are grouped by version
and each group results in a single invocation of “determine_variants”
for the associated spec. The method returns a string specifying
the variants for the package. The method may additionally return
a dictionary representing extra attributes for the package.

These will be stored in the spec yaml and can be retrieved
from self.spec.extra_attributes

The Spack GCC package has been updated with an implementation
of “determine_variants” which adds the following extra
attributes to the package: c, cxx, fortran
2020-08-10 11:59:05 -07:00
Massimiliano Culpo
193e8333fa Update packages.yaml format and support configuration updates
The YAML config for paths and modules of external packages has
changed: the new format allows a single spec to load multiple
modules. Spack will automatically convert from the old format
when reading the configs (the updates do not add new essential
properties, so this change in Spack is backwards-compatible).

With this update, Spack cannot modify existing configs/environments
without updating them (e.g. “spack config add” will fail if the
configuration is in a format that predates this PR). The user is
prompted to do this explicitly and commands are provided. All
config scopes can be updated at once. Each environment must be
updated one at a time.
2020-08-10 11:59:05 -07:00
Amjad Kotobi
1398038bee git: new version 2.28 (#17848)
* git: new version 2.28

* git: man page version 2.28
2020-08-10 07:48:03 -04:00
Michael Kuhn
8c1329958c Hotfix for config singleton initialization (#17263)
Fixes #17262
2020-08-10 07:48:33 +02:00
Brian Van Essen
aa79d565b3 DiHydrogen: adding blas and associated variants (#17911) 2020-08-10 07:31:41 +02:00
Todd Gamblin
7c9c486d07 deptypes: move deptype formatting code from Spec.format to dependency.py (#17843)
- This simplifies Spec.format somewhat
- Makes code to generate deptype strings (e.g., '[blrt]') reusable
2020-08-09 15:33:31 -07:00
darmac
6309c5eff5 Add new package: libhugetlbfs (#17904) 2020-08-09 14:05:28 -05:00
Nichols A. Romero
c015b8538d LLVM minor cleanup (#17905)
* Since LLVM already depends on the CUDA build system, these lines are redundant.

* This conflict doesn't do anything.
2020-08-09 14:04:53 -05:00
darmac
6c4c7c4b72 libtirpc: fix krb5 depends and remove --disable-gssapi configure (#17926) 2020-08-09 13:52:17 -05:00
darmac
3b8a5dea44 Add new package: hazelcast (#17928) 2020-08-09 13:51:25 -05:00
Rémi Lacroix
ab6e74f6ac FFTW: "configure" script failed with Intel compilers on some systems. (#17936)
Next version of FFTW won't use `-no-gcc` so add a patch to backport the fix to older versions.

Fixes #17810.
2020-08-09 13:47:26 -05:00
Teodor Nikolov
902fac185a blaspp: added explicit dependency on CUDA (#17965) 2020-08-09 20:44:05 +02:00
eugeneswalker
bad8734316 add variant tests which can be one of (none, tests, benchmarks) (#17949) 2020-08-09 13:40:46 -05:00
darmac
5965522bbe libxscrnsaver: fix depends scrnsaverproto error (#17951) 2020-08-09 13:38:55 -05:00
darmac
e0e73c6ea1 blaze: fix build error (#17954) 2020-08-09 13:30:39 -05:00
Alex Margolin
c0492efc11 KNEM and XPMEM support for UCX (#17215)
* KNEM url updated

Signed-off-by: Alex Margolin <alex.margolin@huawei.com>

* Allow UCX to be built against KNEM and XPMEM

Signed-off-by: Alex Margolin <alex.margolin@huawei.com>
2020-08-09 12:55:49 -05:00
Wouter Deconinck
4493d31170 dire: new package at v2.004 (#17749)
Older versions do not compile correctly. New users should use 2.004,
not any of the older versions.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-09 19:03:26 +02:00
Adam J. Stewart
3b6c16ee9f py-scikit-learn: added v0.23.2 (#17876) 2020-08-09 15:57:07 +02:00
Jordan Ogas
f243291334 charliecloud: added v0.17 (#17855) 2020-08-09 15:55:53 +02:00
Harmen Stoppels
512fa8e460 Fix cpio clang build error (#17963)
undefined reference to '__muloti4', using the proposed fix from
https://bugs.llvm.org/show_bug.cgi?id=16404
2020-08-09 15:45:53 +02:00
ketsubouchi
0642216c31 eospac: added support for fujitsu compiler (#17922) 2020-08-09 15:45:35 +02:00
Cameron Stanavige
7631013975 unifyfs: remove flatcc dependency and add spath (#17913)
FlatCC has been removed from UnifyFS as a dependency on the develop
branch and for future releases.

spath is now an optional dependency for UnifyFS to normalize relative
paths provided by the user.
2020-08-09 15:14:44 +02:00
ketsubouchi
c6ad321838 r-rcppparallel: fix for fujitsu compiler (#17924) 2020-08-09 15:01:19 +02:00
vvolkl
e83f639c13 HEP versions update (#17927)
* [whizard] bug fix for ~openloops

* [lcio] new version

* [gaudi] new version

* [lcio] add delphes dependency for examples
2020-08-09 14:54:26 +02:00
Dr. Christian Tacke
dfd5da85c3 pythia8: added v8302 and maintainer (#17931) 2020-08-09 14:43:47 +02:00
Rémi Lacroix
9979aa28ce hypre: added v2.19.0 (#17809) 2020-08-09 14:42:52 +02:00
Adam J. Stewart
eda170665f oneDNN: added v1.6 and v1.6.1 (#17822) 2020-08-09 14:40:05 +02:00
Adam J. Stewart
33ec8cd86a py-azureml-sdk: add v1.11.0 (and deps) (#17939) 2020-08-09 14:31:28 +02:00
Sinan
f340b81ca8 py-netket: added new package at v2.1.1 (#17515)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-09 14:05:26 +02:00
Brian Van Essen
1fc02b801e cub: added v1.9.10, fixed typo in url (#17942) 2020-08-09 13:59:42 +02:00
Glenn Johnson
8eef488e2c Replace [] with () in description (#17940)
The tcl module for r-dorng will fail to load due to the [] characters in
the description. This happens for Tcl formatted modules loaded by Lmod
at least.

```
module load r-dorng-1.7.1-gcc-9.2.0-wtq7bne
Lmod has detected the following error: .../spack/share/spack/modules/linux-centos7-broadwell/r-dorng-1.7.1-gcc-9.2.0-wtq7bne:(r-dorng-1.7.1-gcc-9.2.0-wtq7bne):
invalid command name "L'Ecuyer"
```

Split text for short and long descriptions.
2020-08-09 13:54:28 +02:00
Adam J. Stewart
a3a571e5c3 PIL: add py-pillow 7.2.0 (#17933) 2020-08-09 13:43:29 +02:00
Sinan
d7ae244a14 llvm: added v10.0.1 (#17950)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-08-09 13:39:11 +02:00
Adam J. Stewart
09223e5c0b wcslib: added v7.3 (#17836) 2020-08-09 13:24:48 +02:00
Satish Balay
61735f3847 petsc: added v3.13.2,v3.13.3,v3.13.4 (#17957) 2020-08-09 13:19:59 +02:00
Adam J. Stewart
aa14c9d1d1 libimagequant: added new package at v2.12.6 (#17959) 2020-08-09 13:09:52 +02:00
Satish Balay
2954eb39c9 saws: added v0.1.1 (#17958) 2020-08-09 13:05:21 +02:00
Mark W. Krentel
cef729e39c mbedtls: fix min cmake version, added v2.16.7 (#17960)
Mbedtls 2.16.x uses target_sources() from cmake >= 3.1.0
2020-08-09 12:52:21 +02:00
Daniel Topa
61cf6d9c8f cassandra: fixed checksum for v3.11.6 (#17961)
Signed-off-by: Daniel Topa <dantopa@gmail.com>
2020-08-09 12:47:03 +02:00
Glenn Johnson
023a057f20 Add variants to petsc (#17218)
* Add variants to petsc

This PR adds the follolwing variants to the petsc package

- gmp
- jpeg
- libpng
- giflib
- mpfr
- netcdf
- pnetcdf (parallel-netcdf)
- moab
- eigen
- random123
- exodusii
- mstk
- cgns
- memkind
- muparser
- p4est
- saws
- libyaml
- zstd

* Fix flake8 errors

* Additional changes to Petsc recipe

This commit addresses the issues with dependencies that were brought up
in the comments. There are also a few other enhancements.

- the language of the new variant descriptions was changed to be more
  consistent with what was already in the recipe
- an explicit '+mpi' was added to the depends_on('hypre...') directives
- an explicit '+mpi' was added to the depends_on('trilinos...')
  directives
- the run time error checking for '~mpi' was replaced with 'conflicts()'
  directives that will cause the install to fail sooner
- additional variants that were 'parallel only' were added to the '~mpi'
  check

* Set the '~mpi`' conflicts msg to a variable
2020-08-08 11:07:51 -05:00
Sinan
e4a7cb4d60 new package: py-cmake (#17588)
* new package: py_cmake

* sync cmake and py-cmake versions

* new package: py_cmake

* sync cmake and py-cmake versions

* flake8, improve dependency specifics

* replace template stuff with actual values

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-08-08 11:04:41 -05:00
Sinan
775c14e0c1 package/cmake: add versions 1.18.0 and 1.18.1 (#17945)
* package/cmake: add versions 1.18.0 and 1.18.1

* fix shasums

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-08-08 00:42:02 -05:00
Adrien Bernede
3978db91dc Feature/raja chai umpire update (#17665)
* Changing raja, chai, and umpire packages so all will compile with each other.

* Need a CUDA version of CHAI when compiling with raja+cuda+chai

* Updating checks for commit.

* Adding comments explaining why chai+umpire tests were disabled

* Reactivating tests for CHAI and Umpire

* reordering versions

* Unified handling of Cuda Arch

* Adding latest versions

* Unused/Untested: removed

* Aesthetic and test mode in Chai

* Unified handling of Cuda Arch

* Using 'ON' consistently, instead of 'On'

* Apply suggestions from code review

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

* Fix, suggestion and patch:

Chai depends on RAJA, not the other way.
Apply suggested master-main version mapping.
Add Umpire version 3.0.0 and patch.

Co-authored-by: Robert Blake <blake14@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-07 17:42:07 -05:00
eugeneswalker
ceed9c4bc0 conduit: dont use cmake >= 3.18 because of FindHDF5 bug (#17937) 2020-08-07 13:50:14 -07:00
Glenn Johnson
1a11449c86 New package - REDItools (#17703)
* New package - REDItools

This PR adds the REDItools package, along with a new package dependency,
py-fisher. This contains a patch generated from the python 2to3 script
as well as some other fixes. I am not sure if the project is ready to
support python-3 yet but I submitted the other patches upstream.

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-07 14:40:52 -05:00
Adam J. Stewart
11f2d01051 py-inference-schema: add new package (#17912) 2020-08-07 12:09:34 -05:00
Tomoki, Karatsu
c83236d3a4 Fujitsu compiler: Accept alphabet as version. (#17890)
* Fujitsu compiler: Accept alphabet as version.

* Fujitsu copiler: Updated test pattern.
2020-08-07 09:06:22 -05:00
g-mathias
c1efa09928 gromacs: new version 2020.3; variant nosuffix and mkl support (#17908)
* new version 2020.3; new variants nosuffix and fft; version selections for plumed

* fixed too long lines

* fixed whitespaces

* revised fft interface according to @haampie 's suggestions

Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-08-07 07:03:14 -06:00
darmac
6fc6f1ea9d activeharmony: add version 4.6.0 (#17867) 2020-08-06 23:51:47 -07:00
Adam J. Stewart
463aaef092 py-rasterio: add v1.1.5 2020-08-06 23:50:02 -07:00
Robert Pavel
07e426ce00 New package: ProfugusMC (#17914)
Added spackage for profugusMC
2020-08-06 23:45:19 -07:00
Mark W. Krentel
7d348268fb hpctoolkit: fix commit hash for version 2020.08.03 (#17920) 2020-08-06 23:42:52 -07:00
Rao Garimella
cff383802a Wonton (package): Fix sha 256 sum for version (#17916) 2020-08-06 23:41:48 -07:00
Justin S
7a5c0e0326 stacks (package): add version 2.53 (#17915) 2020-08-06 23:40:41 -07:00
Justin S
0f8ad5be1b isescan: new package at 1.7.2.1 (#16589)
* isescan: new package at 1.7.2.1

* isescan: update external program paths

* isescan: use spack compiler
2020-08-06 22:26:52 -05:00
Rao Garimella
9a7834949d New Package Wonton (#17882)
* new package Wonton

* remove the flecsi variant because flecsi-sp does not have a spackage

* fix url, clean up whitespaces

* formatting

* put in explicit else clauses for variants in CMake section because CMake's behavior is system-dependent

Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2020-08-06 13:55:24 -05:00
Adam J. Stewart
051e124533 Bazel: relax Java dependency (#17734)
* Bazel: relax Java dependency

* Flake8 fix
2020-08-06 13:02:02 -04:00
Julius-Plehn
f3ec1d445d New package: HDFView (#17707)
* HDFView

* adds support for version 3.1.1
2020-08-06 09:02:40 -05:00
Todd Gamblin
9dbe1d7776 bugfix: fix spack -V with releases/latest and shallow clones (#17884)
`spack -V` stopped working when we added the `releases/latest` tag to
track the most recent release. It started just reporting the version,
even on a `develop` checkout. We need to tell it to *only* search for
tags that start with `v`, so that it will ignore `releases/latest`.

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

- [x] add `--match 'v*'` to `git describe` arguments
- [x] route error output to `os.devnull`
2020-08-05 17:01:18 -07:00
Robert Mijakovic
aee95fe9a9 GPI-2 new package (#17875)
* 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.

* Adds hashes for new versions of Intel packages.

* Adds missing hash of Intel compiler.

* Adds the newest version of Intel MPI 2019.8.

* Fixes hash for intel-parallel-studio and intel-tbb.

* Fixes version number of Intel MPI.

* Adds GPI-2 package.

* Fixes flake8 noticed issues.

* Second try to fix flake8 comment

* Fixes some issues adamjstewart noticed.

* Fixes package according to flake8 complains.

* Fixes flake8 issue.

* Renames next version to master and removes master.

* Adds maintainer into gpi-2 and returns master branch for the git
repository.

Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2020-08-05 16:38:23 -05:00
carlabguillen
cc0a1283c4 Variant with fortran for likwid package (#17889)
* Option to build likwid with fortran interface

* Removing white spaces

* Flake8 conform
2020-08-05 16:31:49 -05:00
h-denpo
a5914cecb4 add depends_on('zlib', type='link') (#17887) 2020-08-05 16:24:49 -05:00
darmac
dc321abb72 bcache:add pkg-config to find blkid.h in linux-utils (#17888) 2020-08-05 16:24:14 -05:00
Greg Becker
acfa2ea018 remove hypre variant from mfem and all references to it (#17885) 2020-08-05 09:19:22 -07:00
darmac
afaae70855 nodejs: add version 8.11.4 (#17824)
* nodejs: add version 8.11.4

* node-js: refine configure() for different version
2020-08-05 10:12:14 -05:00
Ronak Buch
e64e600fbb charmpp: added v6.10.2 (#17886) 2020-08-05 15:03:51 +02:00
Jen Herting
96f5075eb1 [py-smart-open] fixing dependencies (#17640)
* version 1.8.4 requires py-boto at 2.3.2:
* google-cloud-storage only in newer versions
2020-08-04 16:44:30 -07:00
Jen Herting
118948cb0a [bowtie] added version 1.3.0. Patch fixed for new version (#17744) 2020-08-04 14:52:51 -07:00
Tim Haines
f9ee76a817 Dyninst: 10.2 release (#17847)
* Dyninst: 10.2 release

* Use 'elf' instead of 'elfutils'

* Use v10.2.0 tag

* Change minimum elfutils to 0.173

* Move STERILE_BUILD option to correct cmake_args

* make a sacrifice to the flake8 gods

* Add maintainer

* Revert to using elf@1 for elfutils
2020-08-04 13:48:08 -05:00
Brian Van Essen
54dc871524 Renamed the aluminum variant for thhe intra-node RMA functions. (#17861) 2020-08-04 12:52:59 -05:00
Ethan Stam
b3dd90b95c ParaView: Allow all ParaView versions to depend on Python 2 (#17484)
* Allow all ParaView versions to depend on Python 2

* Keep conflict for 5.9 and up with python 2

* Fix line too long

* Don't use backslash

* Try fixing indent

* Clean logic for python cmake flags

* Try fixing indent
2020-08-04 12:51:49 -05:00
Toyohisa Kameyama
d77f388a0d yorick: avoid hang to fputest on aarch64. (#17865) 2020-08-04 12:27:27 -05:00
Simon Frasch
cb676eab0f Added new package: spla (#17868) 2020-08-04 12:24:07 -05:00
Robert Underwood
4eb3558d20 Prefer dynamic linking for Python in vim when +python (#17870)
Previously the python package for vim used static linking, and depending
on what system libraries were available and linked against could cause
symbol conflicts for python leading to segfaults in loading c modules in
the standard library (i.e. heapq).  This patch address this issue by
dynamically linking them.
2020-08-04 12:22:53 -05:00
Robert Underwood
b35b950ee2 Add openssh runtime dependency to git (#17872)
If you use git to clone a repository ssh, git transfers control the ssh
binary available on your path, if that ssh binary was built with
contradictory version of openssl/kerberos, then your git commands will
fail.
2020-08-04 12:21:55 -05:00
Adam J. Stewart
91671be7cc py-keras-preprocessing: add new version (#17735) 2020-08-04 12:12:15 -05:00
t-nojiri
8977f7377a abyss 2.1.4: fails to build with GCC 8 (#17614)
* abyss 2.1.4: fails to build with GCC 8

* abyss 2.1.4: fails to build with GCC 8

* abyss 2.1.4: Revise the points indicated by the review.
2020-08-04 12:11:52 -05:00
vvolkl
9d2b60ac0c [delphes] pythia8 variant and cleanup (#17664)
* [delphes] new version

* [delphes] pythia8 variant

* [delphes] flake8
2020-08-04 12:11:13 -05:00
Zicklag
b85cc363c1 Add Espanso Package and its xdotool Dependency (#17586) 2020-08-04 12:06:46 -05:00
Simon Pintarelli
c3a38e0b14 sirius (new versions, fixes), q-e-sirius (new package), nlcglib (new package) (#17844)
* sirius, update versions, fixes, add missing options

- sirius/spfft: depend on fftw-api
- cleanup +shared option
- sirius add option for memory pool
- sirius add version 6.5.3 and 6.5.4
- sirius: add spfft dependency for @master, @develop

* add nlcglib package

Robust wave function optimization for SIRIUS.

* add q-e-sirius package

based on q-e package

* Update var/spack/repos/builtin/packages/q-e-sirius/package.py

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

* nlcglib: pass nvcc_wrapper to cmake

* Add 6.5.6

* Make flake8 happy

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2020-08-04 12:03:04 -05:00
Mark W. Krentel
3a02d1a847 hpctoolkit: add v2020.08.03 (#17860)
Add version 2020.08.03.  Adjust the cuda args.  The --with-cupti arg
was redundant, even for old versions of hpctoolkit.
2020-08-04 13:39:47 +02:00
Enrico Usai
bd0fb35ff0 AWS ParallelCluster: added v2.8.1 (#17866) 2020-08-04 13:25:27 +02:00
Brian Van Essen
c203898663 Added versions for cuDNN 8.0.2. (#17862) 2020-08-04 13:05:29 +02:00
t-nojiri
23f61ae2b0 subread: extend support for aarch64 to v2.0.0 (#17864) 2020-08-04 13:01:39 +02:00
g-mathias
9c8d4be569 new plumed versions 2.5.5 and 2.6.1; bumped default to 2.5.5 (#17850)
Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-08-03 23:15:57 -05:00
albestro
7154351860 HPX: fix wrong method name and use define/define_from_variant methods (#17851)
* bug fix: wrong method name

* refactoring using define_from_variant and define

* flake8 style fix

* revert change string format
2020-08-03 23:15:23 -05:00
Harmen Stoppels
9318029b63 Bump cmake (#17852) 2020-08-03 23:12:07 -05:00
Harmen Stoppels
c07102ac9f Fix typo: yaml -> json (#17854) 2020-08-03 23:11:41 -05:00
mic84
1c4b6bad43 amrex:: new version 20.08 (#17856) 2020-08-03 23:08:42 -05:00
darmac
8e1e3ac8c3 canu: fix depends issue & using java instead of jdk (#17599)
* canu: fix depends issue & using java instead of jdk

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-03 23:05:37 -05:00
darmac
a7f1565efb Add new package: ycsb (#17788)
* Add new package: ycsb

* refine mongodb-async-driver jar path
2020-08-03 23:04:48 -05:00
darmac
1884822b56 Add new package: slider (#17799)
* Add new package: slider

* refine version check
2020-08-03 23:04:09 -05:00
darmac
0cc2377de6 Add new package: giraph (#17790)
* Add new package: giraph

* refine version check
2020-08-03 23:03:25 -05:00
Claire Guilbaud
ce7aefbb4f Packages/py colorspacious (#17623)
* typo error correction

* Adding recipe for `colorspacious` (a python package)

* Copyright year changed

* revert last commit on basic_usage.rst

* better with a good description

* fix according to failed test

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-03 23:01:03 -05:00
Massimiliano Culpo
b1133fab22 MacOS nightly builds: use Python 3.7 in CI
Nightly builds with MacOS started failing again
due to an upgrade of the default virtual environment
that now uses Python 3.8

This makes us hit #14102 and every build fails. This
commit should be reverted along with the fix to #14102.
2020-08-03 17:23:10 -07:00
Harmen Stoppels
827ca72c26 Fix docs about containers on cray (#17431)
* For detecting Cray: CRAYPE_VERSION is not used, but MODULEPATH

* Fix typo and write Cray with a capital
2020-08-03 16:16:18 -07:00
Adam J. Stewart
a67a0e3181 py-astropy: add version 4.0.1.post1, update header finding (#17838)
* Add install tests
* Add pkgconfig dependency to find dependency headers (specifically
  wcslib)
2020-08-03 11:51:29 -07:00
Adam J. Stewart
8b50433cd7 ERFA (package): add version 1.7.0 (#17837) 2020-08-03 11:40:50 -07:00
Paul
4c97a0ea1c Added Go 1.14.6 and 1.13.14 (#17574) 2020-08-03 09:42:05 -05:00
ketsubouchi
a480507a92 python: RPATH on fj (#17783)
* python: RPATH on fj

* python: patch _is_gcc
2020-08-02 22:53:14 -05:00
Francesco Di Natale
ac433134e5 Updates to jsonschema to include newer versions. (#17613)
* Additional versions of py-jsonschema.

* Tweak to force Maestro to use jsonschema@3.2.0:

* Correction of whitespace (flake8 error).

* Merges importlib's Python  version conditons

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-02 19:42:56 -05:00
Harmen Stoppels
e199f3f245 Add new versions of spfft (#17841)
* Add new versions of spfft

* Extend CudaPackage and use virtual fftw package

Co-authored-by: Simon Pintarelli <simon.pintarelli@cscs.ch>

* Add CUDA 11 compatibility note

* Depend on older cuda <= 10 for spfft <= 0.9.11

Co-authored-by: Simon Pintarelli <simon.pintarelli@cscs.ch>
2020-08-02 19:42:07 -05:00
René Widera
d560d83b76 fix isaac-server dependency (#17569)
isaac-server can not find jansson if jansson2.10+ is used.
2020-08-02 19:41:18 -05:00
Jon Rood
041fcbfa59 Gnuplot also depends on libsm with +wx. (#17575) 2020-08-02 16:46:42 -05:00
darmac
53b7f381c7 krb5: fix url parse and update versions (#17581) 2020-08-02 16:46:04 -05:00
darmac
044b9d3e85 mariadb: add depends package krb5 (#17583) 2020-08-02 16:45:05 -05:00
Harsh Bhatia
b25055c7e8 new package: ibm databroker (#17591) 2020-08-02 16:40:44 -05:00
Patrick Gartung
33116d730d Buildcache create: change NoOverwriteException back to a warning as in v0.14 (#17832)
* Change buildcache create `NoOverwriteException` back to a warning.
2020-08-02 13:52:15 -07:00
Patrick Gartung
f29dd48101 Add bindist tests for macOS. 2020-08-02 13:51:14 -07:00
albestro
ef3338a49b Improve HPX package management of coroutines implementation (#17654)
* introduce logic for boost+context dependency and generic_context variant

* fix OTF2 instrumentation minor problem

* default coroutine impl depends on platform

* fix flake8

* add reference to ~generic_coroutines conflict info

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-02 09:56:50 -05:00
Rémi Lacroix
8e6fe883eb Octopus: Add support for version 10.0. (#17782)
* Octopus: Add support for version 10.0.

Fix compilation when using the MKL as a provider for BLAS/LAPACK. Octopus will now detect that the MKL also provides the FFTW API and will refuse to compile when both the FFTW library and the MKL are given to the configure script.

* Octopus: Add supported version range for libxc.
2020-08-02 09:55:08 -05:00
Todd Gamblin
b94a837760 berkeley-db: add version 18.1.40, update build options in package (#17839)
* berkeley-db: add version 18.1.40, update build options in package

* combine adamjstewart's changes

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-01 19:33:35 -05:00
Wouter Deconinck
7e6a77d907 New package: kassiopeia (#17742)
* [kassiopeia] New package

* [kassiopeia] Remove master branch, update dependencies

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

Unable to test since I do not have a license to intel-parallel-studio, but I see no reason why it would not work if.

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

* [kassiopeia] depends_on mpi

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

* [kassiopeia] cmake_args with self.spec.satisfies and elses

* [kassiopeia] args.extend -> args.append

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-01 17:40:21 -05:00
Simon Pintarelli
75f34126fc h5py does not correctly recognize hdf5 version on Cray (#17831)
* h5py: explicitly specify version

hdf5@1.10.5 on Cray is wrongly detected as 1.8.4.

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

Thanks. Also had this first, then CI was complaining about line length ...

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-01 16:26:41 -05:00
Mark W. Krentel
b0eb771b19 elfutils: add version 0.180 (#17835) 2020-08-01 16:26:13 -05:00
Axel Huebl
7498336f3d Hotfix: move CUDAHOSTCXX (#17826)
* Hotfix: move CUDAHOSTCXX

Set only in dependent packages.

* dependent compiler
2020-08-01 15:29:17 -05:00
Todd Gamblin
f3cb3a2eb8 license: fix up MIT license so it's an exact match
Before:

```console
$ licensee diff --license mit LICENSE-MIT
Comparing to MIT License:
Input Length:      1092
License length:    1020
Similarity:      92.46%
diff --git a/LICENSE b/LICENSE
index 0ce42af..be0ff1c 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,3 +1,4 @@
{+spack project developers. see the top-level copyright file for details.+}
permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "software"), to deal in
the software without restriction, including without limitation the rights to
```

After:

```console
$ licensee diff --license mit LICENSE-MIT
Comparing to MIT License:
Input Length:       1020
License length:     1020
Similarity:      100.00%
Exact match!
```

This gets us a 100% license match from GitHub's `licensee` tool.
2020-08-01 10:06:28 -07:00
darmac
3ea9b9a014 Add new package: findbugs (#17825) 2020-08-01 11:46:02 -05:00
darmac
52858be668 Openfst: upgrade version and gcc constraint (#17830)
* openfst: upgrade version and gcc constraint

* refine version format
2020-08-01 11:41:12 -05:00
Todd Gamblin
ff27233e30 bugfix: fix spack buildcache list --allarch
`spack buildcache list` was trying to construct an `Arch` object and
compare it to `arch_for_spec(<spec>)`. for each spec in the buildcache.
`Arch` objects are only intended to be constructed for the machine they
describe. The `ArchSpec` object (part of the `Spec`) is the descriptor
that lets us talk about architectures anywhere.

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

- [x] Pull `spack.architecture.default_arch()` out of
      `spack.architecture.sys_type()` so we can get an `Arch` instead of
      a string.
2020-08-01 08:36:12 -07:00
Massimiliano Culpo
c65cde4cf8 Avoid update and upgrades to brew (#17815)
Ci is currently failing on brew update with the error:
```
Error: Cannot install bazelisk because conflicting formulae are installed.
  bazel: because Bazelisk replaces the bazel binary

Please `brew unlink bazel` before continuing.

Unlinking removes a formula's symlinks from /usr/local. You can
link the formula again after the install finishes. You can --force this
install, but the build may fail or cause obscure side effects in the
resulting software.
```
Avoiding:
```
$ brew update
$ brew upgrade
```
solves the issue by preventing the risk of conflicting formulae
2020-08-01 07:45:39 +02:00
Brian Van Essen
5c2b34e43b cuDNN (package): add version 7.6.5.32-10.2-linux-ppc64le (#17821) 2020-07-31 17:48:03 -07:00
Harmen Stoppels
d4831181ea Add libxc 5.0.0 (#17807)
With experimental CUDA support and some patches to make it compile.

Currently +shared and +cuda conflict, this has to be fixed upstream.
2020-07-31 18:01:39 -05:00
Michael Kuhn
346977f501 meson: Add 0.55.0 (#17816) 2020-07-31 18:01:12 -05:00
Adam J. Stewart
9d942df352 py-wheel: add new version (#17819) 2020-07-31 15:58:00 -07:00
Adam J. Stewart
89759cc1f1 py-setuptools: add new version (#17818) 2020-07-31 15:57:42 -07:00
Adam J. Stewart
4c35cc1b20 py-pip: add new version (#17817) 2020-07-31 15:57:27 -07:00
Massimiliano Culpo
9dbad500bc Move Python 2.6 unit tests to Github Actions (#17279)
* Run Python2.6 unit tests on Github Actions
* Skip url tests on Python 2.6 to reduce waiting times
* Skip foreground background tests on Python 2.6 to reduce waiting times
* Removed references to Travis in the documentation
* Deleted install_patchelf.sh (can be installed from repo on CentOS 6)
2020-07-31 15:01:12 -07:00
Adam J. Stewart
4aaa39d091 py-torchvision: add v0.7.0 2020-07-31 14:34:55 -07:00
Adam J. Stewart
58d383877d PyTorch: add v1.6.0 2020-07-31 14:32:56 -07:00
Adam J. Stewart
198ccfae4e Pandas: add v1.1.0 2020-07-31 14:20:17 -07:00
darmac
c2cd728e03 cp2k: support for aarch64 (#17786) 2020-07-31 16:17:31 -05:00
Brian Van Essen
46e7fbe120 LBANN: add versions, update CUDA support and dependencies (#17813)
* Update LBANN, Hydrogen, Aluminum to inherit CudaPackage
* Update CMake constraints: LBANN, Hydrogen, and Aluminum now require
  cmake@3.16.0: (better support for pthreads with nvcc)
* Aluminum: add variants for host-enabled MPI and RMA features in a
  MPI-GPU RDMA-enabled library
* NCCL: add versions 2.7.5-1, 2.7.6-1, and 2.7.8-1
* Hydrogen: add version 1.4.0
* LBANN: add versions 0.99 and 0.100
* Aluminum: add versions 0.4.0 and 0.5.0
2020-07-31 13:53:51 -07:00
Andrew W Elble
d89bc1d998 new package(s): py-gql (#17769)
* new package(s): py-gql

and related dependencies:
py-aiohttp
py-async-timeout
py-graphql-core
py-idna-ssl
py-multidict
py-websockets
py-yarl

new versions:
py-requests

* fixes

Co-authored-by: Andrew W Elble <aweits@skl-a-00.rc.rit.edu>
2020-07-31 14:54:25 -05:00
Rémi Lacroix
0303ef72ac libxc: Add version 4.3.4. (#17781) 2020-07-31 14:48:48 -05:00
darmac
e938e439b9 Add new package: mongodb-async-driver (#17787) 2020-07-31 14:45:35 -05:00
darmac
8df17d3830 open-iscsi: refine runtime environment (#17789) 2020-07-31 14:43:40 -05:00
Xavier Delaruelle
c7e83a8375 environment-modules: add version 4.5.2 (#17795) 2020-07-31 14:42:08 -05:00
Andrew Gaspar
c436414352 Add Rust versions 1.45.1 and 1.44.1 (#17812) 2020-07-31 14:30:00 -05:00
darmac
b7e0fec5f0 Alluxio (package): update url, add versions (#17805)
* Add versions 2.2.1 and 2.2.0
* Remove version 2.1.0
* Add dependency on Java
2020-07-31 11:25:22 -07:00
Justin S
cab2af9a71 py-mixedhtseq: new package at 0.1.0 (#17702)
* py-mixedhtseq: new package at 0.1.0

* py-mixedhtseq: flake8 fixes
2020-07-31 11:58:53 -05:00
Justin S
da5bbe3cef py-gpy: add 0.8.8 (#17548)
* py-gpy: add 0.8.8

* py-gpy: remove unneeded dep

* py-gpy: make cython build-only
2020-07-31 11:55:49 -05:00
Edoardo Aprà
154870da0b NWChem 7.0.0 (#17779)
* NWChem 7.0.0

* add python2 for 6.8.1. removed 6.8 https://github.com/spack/spack/pull/17779#discussion_r462700413

* nwchem 6.8.1 breaks with gcc 10 and later

* restored extra python bits for version 6.8.1. add env. definition of basis libraries

* changes for flake8

* url fixed

* prevent 6.8.1 being compiled with gcc 10
2020-07-31 10:45:27 -05:00
Andrew W Elble
edba70557d new package(s): py-torch-geometric (#17768)
* new package(s): py-torch-geometric
(with related dependencies: py-rdflib, py-googledrivedownloader)

* fixes
2020-07-31 10:41:24 -05:00
Claire Guilbaud
fd15fc9c70 sphinx copybutton: new package at v0.2.12 (#17632) 2020-07-31 11:41:56 +02:00
Claire Guilbaud
41f743b45d recommonmark: new package at v0.6.0 (#17629) 2020-07-31 11:39:53 +02:00
Rémi Lacroix
ccb316964d Improve Ferret package (#17620)
* Ferret: Add missing dependency with curl.

* Ferret: Don't force using the static version of libgfortran.

* Ferret: Ensure Spack's compiler wrappers are used.

This allows properly setting the rpaths.

* Ferret: Add support for versions 7.3 to 7.6.

* Ferret: Add a variant to install Ferret standard datasets.

* Ferret: Define some useful runtime environnement variables.

* Ferret: Fix flake8.

Also add myself as a maintainer as suggested by @alalazo.
2020-07-30 22:23:49 -05:00
Tom Payerle
58911d8248 kahip: Fix issue #17638 (make SConstruct files python3 friendly) (#17642)
As discussed in issue #17638, wherein kahip fails to build when
scons is dependent on python@3.

This converts the print statements in various SConstruct files
into python3 friendly print functions.

I found most of the affected SConstruct files in both @2.00 and
the later versions I found on web, but some files were only in @2.00.
I split the patches into two files for that reason, but have not
tried the later versions.
2020-07-30 22:22:40 -05:00
vvolkl
f09656e3f8 New Versions: dd4hep, podio (#17659)
* [dd4hep] add new patch version

* [podio] add new version and update env vars

* [dd4hep] add hepmc3 variant
2020-07-30 22:21:02 -05:00
Rémi Lacroix
d609a6dde7 Update LAMMPS package (#17715)
* LAMMPS: Use LATTE 1.2.2 starting with version 20200602.

Version 20200602 and upper requires Latte 1.2.2. This caused the internal Latte distribution to be used instead of the Latte install provided by Spack.

* LAMMPS: Add new versions 20200630 and 20200721.
2020-07-30 22:19:59 -05:00
ketsubouchi
45a67fa0f3 dcmtk: fixed type error (#17758)
* dcmtk: fixed type error

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-30 22:18:55 -05:00
Francine Lapid
32b070a76b New package: IDL (#17451)
* New package: IDL

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

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

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

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

* added license header and changed url_for_version to just url

* removed unused imports, addressed comments

* removed trailing whitespace on line 14

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-30 22:17:35 -05:00
darmac
9c7c4a739f mozjs@1.8.5: fix compile issue (#17594)
* mozjs@1.8.5: fix compile issue

* mozjs: refine method
2020-07-30 22:15:53 -05:00
Tomoki, Karatsu
50f96e15de vtk: Support for new option to enable MPI. (#17727) 2020-07-30 22:05:20 -05:00
Daryl W. Grunau
7dd5793b75 backport Mesa MR#6053 to prevent multiply-defined symbols (#17720)
Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2020-07-30 22:04:24 -05:00
G-Ragghianti
b86e620743 Fixing problems caused by a comfused spack concretizer (#17797) 2020-07-30 22:01:48 -05:00
Harmen Stoppels
6fb8946dd5 Add variants to squashfs for different compression algorithms (#17755) 2020-07-30 22:01:13 -05:00
Lucas Frérot
cfbcf719db New package: py-uvw (#17719)
* py-uvw: added package for versions 0.0.7 and 0.3.1

* py-uvw: added py-setuptools as dependency
2020-07-30 21:52:17 -05:00
Dr Owain Kenway
8b515f3ba0 flang: make sure to find libstdc++ if needed (#17480) 2020-07-30 14:55:16 +02:00
Adam J. Stewart
d512537417 Python: added v3.8.4, v3.8.5, v3.7.7, v3.7.8, v3.6.11 (#17775)
Also added older version in the 3.6 and 3.5 series
2020-07-30 14:49:01 +02:00
G-Ragghianti
2f5e4e1664 MAGMA isn't compatible with CUDA 11 (#17753)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-30 11:24:21 +02:00
G-Ragghianti
7b051df83f slate package: resolve issues with cuda version and fortran compiler name (#17759)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-30 11:21:49 +02:00
darmac
b96448269a couchdb: new package at v3.1.0 (#17595) 2020-07-30 11:17:19 +02:00
Wouter Deconinck
b24a9a383a lhapdf5: new package at v5.9.1 (#17746)
During configure lhapdf5 searches for python. On one system
I tested on (ubuntu 19.10) it finds a system installed python3
and fails to create the python extension.

Variant named to make explicit that this is only a python2 extension.
2020-07-30 11:11:17 +02:00
Rémi Lacroix
cd1647af66 latte: added v1.2.2 and master (#17714)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-30 10:19:59 +02:00
darmac
d5fc3f267c zipkin: new package at v2.21.5 (#17780) 2020-07-30 10:03:52 +02:00
Glenn Johnson
f0ce129c43 New package: r-hh (#17667)
* New package: r-hh

* Add short description

Add the project one liner for a short description that will be used for
`module whatis`.
2020-07-29 22:25:01 -05:00
ilbiondo
d61f362211 Updated iq-tree package (#17690) 2020-07-29 22:20:44 -05:00
Robert Mijakovic
8ea597c79a Intel packages: new versions (#17692)
* 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.

* Adds hashes for new versions of Intel packages.

* Adds missing hash of Intel compiler.

* Adds the newest version of Intel MPI 2019.8.

* Fixes hash for intel-parallel-studio and intel-tbb.

* Fixes version number of Intel MPI.

Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2020-07-29 22:18:32 -05:00
Rémi Lacroix
e7fbd6c53e CMake: Fix compilation with Intel compilers on some systems. (#17693)
Systems with older GNU compilers were not affected.

This commit fixes #15901 and fixes #17605.
2020-07-29 22:17:32 -05:00
Tiziano Müller
8e49cac433 pgi: update to 20.4 (#17696) 2020-07-29 22:16:30 -05:00
Shayna Kapadia
867e64cb4f libmodbus: new package (#17778)
* libmodbus:adding new package

* fixing testing failures

* fixing flake 8 errors

* fixing flake 8 errors

Co-authored-by: Kapadia <kapadia2@llnl.gov>
2020-07-29 22:13:58 -05:00
Rao Garimella
3a8815ea7a update version to 1.1.5 (#17701)
Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2020-07-29 22:12:10 -05:00
Toyohisa Kameyama
d14baf4532 use libquadmath only x86_4 and ppcle. (#17728) 2020-07-29 21:47:18 -05:00
Mark Olesen
badd11e71c openfoam package updates, scotch version update (#17731)
* openfoam: use MPI 'headers' property (fixes #17730)

* openfoam: +spdp variant, usable for OpenFOAM 1906 and later

in contrast to +float32, which uses single-precision throughout, +spdp
uses the following:

- single-precision for most internals
- double-precision for linear solver

* openfoam: add m4 as build dependency

* scotch: update to 6.0.9 released Oct 2019

Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-07-29 21:45:40 -05:00
Valentin Clement (バレンタイン クレメン)
42dec9eb12 CLAW: Add version 2.0.2 (#17733) 2020-07-29 21:43:14 -05:00
Wouter Deconinck
6b3f9c5d60 New package: vgm (#17741)
* [vgm] new package Virtual Geometry Model (VGM)

* [vgm] Updated description
2020-07-29 21:04:37 -05:00
Wouter Deconinck
ba5aa67303 New package: geant4-vmc (#17745)
* [geant4-vmc] New package

* [geant4-vmc] aligned spacing
2020-07-29 20:44:16 -05:00
David Böhme
21ca7abf8d Add Caliper v2.4.0 (#17750)
* Add Caliper v2.4.0

* Use built-in gotcha
2020-07-29 20:41:41 -05:00
Julien Loiseau
efb456cb0a Adding pic support for Kokkos (#17751)
* Adding pic support for Kokkos

* Update pic for kokkos
2020-07-29 20:40:12 -05:00
h-denpo
4e12dc3303 elang add depends_on('ncurses', type='link') (#17761) 2020-07-29 20:30:04 -05:00
Mark W. Krentel
896e83e3e6 libunwind: add +pic variant (#17762)
Libunwind already builds a shared library.  The +pic variant adds the
compiler pic flag to the static archive so that it can be linked into
another shared library.
2020-07-29 20:29:24 -05:00
ketsubouchi
8435016a43 eagle: fix CC=gcc and delete march=native (#17763) 2020-07-29 20:28:31 -05:00
Justin S
416a929f7f spades: add 3.14.1 (#17776) 2020-07-29 20:03:58 -05:00
Robert Pavel
af778aac0a Tweak to EOSPAC for gcc@10 Support (#17777)
Eospac's build breaks on gcc@10: due to dependence on -fcommon behavior
and gnu changing to -fno-common. Added conditional argument to support
bleeding edge compilers
2020-07-29 20:03:12 -05:00
tilne
5a5f2c00a8 update URL and sha256 for aws-parallelcluster 2.8.0 (#17685)
Signed-off-by: Tim Lane <tilne@amazon.com>
2020-07-29 19:35:43 -05:00
Jen Herting
5243f97c3b [bowtie2] added version 2.4.1 (#17748) 2020-07-29 15:15:33 -07:00
Rémi Lacroix
5a42883528 Boost: Update conflicts for version 1.73.0. (#17774)
Variant "+mpi+python cxxstd=98" is fixed in 1.73.0.
2020-07-29 12:08:20 -07:00
ketsubouchi
1827db2859 express: add cast for %fj (#17764) 2020-07-29 11:53:39 -07:00
Toyohisa Kameyama
5b12c0f4a0 clamcv: Add curl dependency. (#17765) 2020-07-29 11:48:07 -07:00
darmac
a0e6145884 Add new package: solr (#17597)
* Add new package: solr

* refine version order
2020-07-29 11:38:44 -07:00
Massimiliano Culpo
e47e972cf2 zlib: style changes to check if set of changed files is computed correctly 2020-07-29 11:23:34 -07:00
Massimiliano Culpo
3e1661a183 Use "fetch-depth: 0" to retrieve all history from remote 2020-07-29 11:23:34 -07:00
Massimiliano Culpo
c4f29c6384 Simplified YAML files for Github Actions workflows
Updated actions where needed
2020-07-29 11:23:34 -07:00
Massimiliano Culpo
1f7f076189 Group tests with similar duration together
Style and documentation tests take just a few minutes
to run. Since in Github actions one can't restart a single
job but needs to restart an entire workflow, here we group
tests with similar duration together.
2020-07-29 11:23:34 -07:00
Matthias Wolf
90648bb477 qt: fix build with ~ssl. (#17767)
OpenSSL was pulled from the spec too early, leading to failures when
attempting to build with ~ssl.
2020-07-29 10:53:01 -07:00
Andrew W Elble
d1494fe8da perl: add missing berkeley-db dependency (#17771) 2020-07-29 10:46:24 -07:00
Massimiliano Culpo
cad21d6eb1 lmod: change variant defaults to match Lmod's defaults (#17770) 2020-07-29 10:35:46 -07:00
mic84
a212bb0577 Amrvis: update branch name (#17718) 2020-07-28 09:12:00 -07:00
Todd Gamblin
f24dd29cd2 Merge tag 'v0.15.3' into develop 2020-07-28 02:18:30 -07:00
Todd Gamblin
0f25462ea6 update CHANGELOG.md for 0.15.3 2020-07-28 02:11:06 -07:00
Todd Gamblin
ae4bbbd241 bump version number for 0.15.3 2020-07-28 02:05:26 -07:00
Greg Becker
24bd9e3039 bugfix: allow relative view paths (#17721)
Relative paths in views have been broken since #17608 or earlier.

- [x] Fix by passing base path of the environment into the `ViewDescriptor`.
      Relative paths are calculated from this path.
2020-07-27 23:48:59 -07:00
Greg Becker
158ee6ac25 bugfix: allow relative view paths (#17721)
Relative paths in views have been broken since #17608 or earlier.

- [x] Fix by passing base path of the environment into the `ViewDescriptor`.
      Relative paths are calculated from this path.
2020-07-27 23:44:56 -07:00
Todd Gamblin
cefb4ba014 tutorial: Add boto3 installation to setup script (#17722) 2020-07-27 16:55:33 -07:00
Todd Gamblin
0efb8ef412 tutorial: Add boto3 installation to setup script 2020-07-27 15:55:44 -07:00
Patrick Gartung
7c61d6d45f Update darshan package with mpi variant (#17717)
* Update darshan package with nompi variant.

* Change variant to mpi and default to True
2020-07-27 16:30:29 -05:00
Glenn Johnson
ff529e6dc1 r-adespatial: added new package (#17700)
This PR adds the r-adesaptial package and several other new packages as
dependencies.

- r-adegraphics
- r-adephylo
- r-phylobase
- r-rncl
- r-rnexml
2020-07-27 22:08:48 +02:00
Glenn Johnson
1c0abaa6eb r-dss: added new package at v2.36.0 with dependencies (#17661)
This PR adds the r-dss package and the r-bsseq package, also new, as a
dependency. This includes the latest versions, which required updates to
the following dependencies:

- r-biocgenerics
- r-iranges
- r-s4vectors
- r-summarizedexperiment

Older versions of r-dss and r-bsseq are included as well to ensure
compatibility with older versions of the above dependencies.
2020-07-27 20:51:27 +02:00
Patrick Gartung
69775fcc07 Relocation of sbang needs to be done when the spack prefix changes even if the install tree has not changed. (#17455) 2020-07-27 11:38:48 -07:00
Patrick Gartung
ce772420dd Relocate rpaths for all binaries, then do text bin replacement if the rpaths still exist after running patchelf/otool (#17418) 2020-07-27 11:28:50 -07:00
Seth R. Johnson
6c2749536e qt: fixed build with apple-clang (#17706) 2020-07-27 18:32:29 +02:00
Adam J. Stewart
4e4b8d8249 SciPy: added v1.5.2 (#17708) 2020-07-27 18:26:30 +02:00
ketsubouchi
032a52e006 scons: added support to Fujitsu compilers (#17710) 2020-07-27 18:23:53 +02:00
Hadrien G
e3cc7fc38c acts: added v0.29 (#17712) 2020-07-27 18:13:56 +02:00
Amjad Kotobi
f2e66730d0 openmpi: added lustre variant to openmpi (#17478) 2020-07-27 18:11:57 +02:00
Claire Guilbaud
0ebdfb3c37 sphinxcontrib-mermaid: new package at v0.4.0 (#17630) 2020-07-27 17:30:22 +02:00
Claire Guilbaud
fdb21e3e91 json logger: new package at v0.1.11 (#17628) 2020-07-27 16:32:56 +02:00
Claire Guilbaud
d66d430ab5 pygments pytest: new package at v1.2.0 (#17626) 2020-07-27 15:44:26 +02:00
Claire Guilbaud
bbfc9fd448 commonmark: new package at v0.9.0 (#17624) 2020-07-27 15:02:56 +02:00
Claire Guilbaud
e960e016af hieroglyph: new package at v1.0.0 (#17625) 2020-07-27 14:34:40 +02:00
Claire Guilbaud
074c0d622f python docs theme: new package at v2020.1 (#17627) 2020-07-27 12:53:04 +02:00
Claire Guilbaud
458a9f22da yolk3k: new package at v0.9 (#17635) 2020-07-27 12:48:58 +02:00
Claire Guilbaud
38730c6e68 sphinxcontrib trio: new package at v1.1.2 (#17631) 2020-07-27 12:14:12 +02:00
Claire Guilbaud
21a4edb1f3 sphinx gallery: new package at v0.7.0 (#17633) 2020-07-27 11:21:48 +02:00
Greg Becker
9cc01dc574 add tutorial setup script to share/spack (#17705)
* add tutorial setup script to share/spack

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

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-07-27 01:18:16 -07:00
Greg Becker
1ceec31422 add tutorial setup script to share/spack (#17705)
* add tutorial setup script to share/spack

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

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

- [x] SpackErrors were designed to be printed by the forked process, not
      by the parent, so check if they've already been printed.
- [x] update tests
2020-07-26 22:43:10 -07:00
Todd Gamblin
d351946194 bugfix: don't redundantly print ChildErrors (#17709)
A bug was introduced in #13100 where ChildErrors would be redundantly
printed when raised during a build. We should eventually revisit error
handling in builds and figure out what the right separation of
responsibilities is for distributed builds, but for now just skip
printing.

- [x] SpackErrors were designed to be printed by the forked process, not
      by the parent, so check if they've already been printed.
- [x] update tests
2020-07-26 22:41:55 -07:00
Hadrien G
907f9e8411 [root] Add version 6.22 (#17459)
* Add ROOT v6.22

* Hello xext my old friend...
2020-07-26 10:08:53 -05:00
Patrick Gartung
66d59a90ed Rename sas static-analysis-package (#17695) 2020-07-24 17:07:01 -07:00
Nicholas Sly
5795f1d7da Add Totalview package (#17643)
* Add initial totalview package.

* Add maintainer and helpful comments/information.

Co-authored-by: sly <sly@lanl.gov>
2020-07-24 16:01:32 -07:00
t-nojiri
de6dfe3707 brltty (package): Add dependency on alsa-lib (#17616) 2020-07-24 15:56:34 -07:00
Jen Herting
148acfefcc py-gensim (package): add version 3.8.3; update dependency constraints (#17641) 2020-07-24 15:47:19 -07:00
Matthieu Dorier
b04f9e6774 MPICH (package): add optional support for argobots (#17678) 2020-07-24 15:42:00 -07:00
Christian Tacke
0e090064c4 singularity: Add version 3.6.1 2020-07-24 15:35:40 -07:00
vvolkl
be06803804 WHIZARD (package): add LCIO dependency, Openloops support (#17658)
* WHIZARD: add versions 2.8.4 and 2.8.3
* New package: LCIO
* WHIZARD: add optional dependency on LCIO
* WHIZARD: add optional dependency on Openloops
* WHIZARD: allow building with either hepmc or hepmc3 dependencies
* Openloops: set process_lib_dir in configure
* Openloops: fix reference to variant
2020-07-24 15:25:57 -07:00
Dennis Klein
0c63c94103 Relax architecture compatibility check (#15972)
* Relax architecture compatibility check
* Add test coverage for the spack.abi module
2020-07-24 10:00:55 -07:00
Andrew W Elble
99c46e8186 py-astropy: force re-cythonization of distributed .pyx files (#17567)
astropy 3.2.1 fails to build with python 3.8.3 with
errors similar to this:

astropy/stats/_stats.c:318:11: error: too many arguments to function 'PyCode_New'
PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)

These are files that are generated by cython, but are included in the
tarball. Since there's apparently been an API change to PyCode_New, they will
need to be re-cythonized to compile correctly.
2020-07-24 17:46:56 +02:00
Andrew W Elble
30d0347825 py-astropy-healpix: new package (#17568) 2020-07-24 17:39:45 +02:00
jdomke
ea50e4036e scorep: add libunwind dependency (#17580) 2020-07-24 17:30:50 +02:00
Adam J. Stewart
f73a3d35a8 spack help --spec: add compiler flags (#17584) 2020-07-24 17:27:43 +02:00
Dmitriy
02f14fd857 Initialize new_specs in Environment.remove() (#17592) 2020-07-24 17:18:40 +02:00
Harmen Stoppels
54bce00d4d Ensure that the stubs directory does not end up in the rpath (#17619) 2020-07-24 17:02:58 +02:00
Jon Rood
d3e4b14997 imagemagick: added dependency on libsm (#17577) 2020-07-24 17:00:25 +02:00
rempke
6bad79fca0 netlib-scalapack: fixed compilation with gcc 10 (#17647) 2020-07-24 16:53:32 +02:00
t-nojiri
13b3578d2f camx: change compile option for aarch64 (#17653) 2020-07-24 16:39:40 +02:00
Adam J. Stewart
08b5b56566 Qhull: add v2019.1 and v2020.1 (#17648)
* Qhull: add v2019.1 and v2020.1
* Fix compilation with Apple Clang
2020-07-24 16:16:53 +02:00
Adam J. Stewart
c1a2d66804 py-matplotlib: fix freetype and qhull dependencies (#17649) 2020-07-24 16:15:50 +02:00
Mark Olesen
c95c183bc4 openfoam: install META-INFO directory (#17673)
Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-07-24 15:32:18 +02:00
Michael Kuhn
ed4b770e1a gcc: added v10.2.0 (#17681) 2020-07-24 15:24:12 +02:00
Federico Ficarelli
b8c3e3e16f hipsycl: switch to renamed default branch (#17689) 2020-07-24 15:19:59 +02:00
Rémi Lacroix
d9c1b62d38 CMake: added v3.18.0. (#17688) 2020-07-24 15:02:08 +02:00
ilbiondo
1aa1ddcd78 Updated elmer-fem recipe (#17687) 2020-07-24 09:47:09 +02:00
Adam J. Stewart
5fed42eae8 NumPy: add v1.19.1 2020-07-23 17:56:48 -07:00
ketsubouchi
1bbf8c0635 libgd (package): update configure to find jpeg dependency (#17655) 2020-07-23 17:55:34 -07:00
ketsubouchi
1fe07891e3 cctools (package): remove fstack-protector-all for Fujitsu compiler (#17656)
The Fujitsu C compiler does not support the "fstack-protector-all" option.
2020-07-23 17:49:37 -07:00
Tamara Dahlgren
a88675ffa9 XBraid (package): Switch to Github URL (#17670) 2020-07-23 17:27:25 -07:00
Gregory Becker
63db5499ee Merge tag 'v0.15.2' into develop 2020-07-23 16:55:22 -07:00
Gregory Becker
d6d839cd3e update changelog for 0.15.2 2020-07-23 16:04:26 -07:00
Gregory Becker
3534717151 bump version number for 0.15.2 2020-07-23 16:04:08 -07:00
Chuck Atkins
547c71ad78 Revert "Add libglvnd packages/Add EGL support (#14572)" (#17682)
This reverts commit 573489db71.
2020-07-23 17:41:48 -04:00
Greg Becker
e289d481ea add tutorial public key to share/spack/keys dir (#17684) 2020-07-23 14:38:26 -07:00
Greg Becker
cdab4bdee0 add tutorial public key to share/spack/keys dir (#17684) 2020-07-23 14:35:25 -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
Greg Becker
44bc176d08 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 13:20:03 -07:00
robo-wylder
3c145b42bc 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 11:00:58 -07:00
Peter Scheibel
ae82650174 Update fetch order to match iteration order of MirrorReference (#17572) 2020-07-23 10:58:59 -07:00
Greg Becker
e8aa737b09 util.executable.which: handle path separators like /bin/which (#17668)
* util.executable.which: handle path separators like /bin/which

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-07-23 10:54:25 -07:00
ilbiondo
f42394daf5 csa-c: added new package at master (#17676)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-07-23 17:07:48 +02:00
ilbiondo
10dacc2588 nn-c: added new package at v1.86.2 (#17675)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-07-23 17:06:35 +02:00
ilbiondo
5067b956f4 Shapeit4: added new package at v4.1.3 (#17674) 2020-07-23 13:22:58 +02:00
Tamara Dahlgren
605c1a76e0 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 00:49:57 -07:00
Nick Robison
39cfa9630c [M4] Add missing compiler flag on Cray Compiler (#17604)
* [M4] Add missing compiler flag on Cray Compiler

The new version of the Cray Compiler are based on Clang, which means we
need to add the same LDFLAG as other clang environments.
2020-07-22 23:55:03 -07:00
Adam J. Stewart
4b33558707 Cython: add v0.29.21 (#17650) 2020-07-22 18:36:55 -07:00
Jen Herting
48e8072b26 New Package: py-boto (#17639)
Added py-boto package
2020-07-22 17:52:36 -07:00
Frédéric Simonis
37fa6fe343 precice: Add version 2.1.0 (#17644) 2020-07-22 16:49:36 -07:00
eugeneswalker
f1eec05d0e bugfix: use getattr for variation.prefix/suffix (#17669) 2020-07-22 16:15:25 -07:00
Mark W. Krentel
4c7e52adaa hpctoolkit: add version 2020.07.21 (#17645) 2020-07-22 13:53:41 -07:00
Ben Bergen
4ca6d1f0f7 Added variant to enable Legion SPY logging. (#17637) 2020-07-22 11:41:20 -06:00
Hadrien G
b8135bd205 [acts] Add version 0.28.0 (#17622)
Add acts v0.28.0
2020-07-22 09:14:51 -07:00
Justin S
dedadcd2ea hisat2 (package): add version 2.2.0, update homepage (#17600) 2020-07-21 19:29:18 -07:00
Adam J. Stewart
983aeea850 New packages: py-azure-cli and dependencies (#17585) 2020-07-21 19:21:29 -07:00
Todd Gamblin
0c44a9a504 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-21 18:48:37 -07:00
Hadrien G
b81339cf80 [acts] Add 0.27.x series (#17621)
Add acts v0.27 and v0.27.1
2020-07-21 10:56:18 -07:00
Harmen Stoppels
6c69b8a4d4 ci pipelines: activate environment without view (#17440) 2020-07-21 10:15:43 -07:00
Tiziano Müller
ec1237479e cp2k: make libint optional (#17618) 2020-07-21 09:13:59 -07:00
t-nojiri
40e2a41477 aegean (package): remove -m64 on aarch64 (#17615) 2020-07-20 23:57:09 -07:00
Hadrien G
f168d63586 acts: added v0.26 (#17602) 2020-07-21 08:37:21 +02:00
Nick Robison
78a84efb4b flatbuffers: added v0.12.0 (#17603) 2020-07-21 08:30:44 +02:00
Seth R. Johnson
c6891376f4 qt4: add missing libSM dependency (#17611)
See https://github.com/spack/spack/issues/15082 and
https://github.com/spack/spack/pull/16226
2020-07-21 08:12:36 +02:00
Mark W. Krentel
83b281f36b hpcviewer, ibm-java: new versions (#17612)
Add hpcviewer version 2020.07 and ibm-java 8.0.6.11.
2020-07-21 08:09:53 +02:00
Tamara Dahlgren
86ec698a33 Bugfix: Do not raise InstallError for ascent_ver (#17578) 2020-07-20 18:32:56 -07:00
Todd Gamblin
897e80e596 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-20 18:24:18 -07:00
Massimiliano Culpo
ab32799b52 Fix MacOS build tests (#17542)
* MacOS build tests

- Run on PR that modify the YAML file of the workflow
- Don't clone Spack, since we are in the Spack repo now

* Try to add opengl to configuration to build jupyter

* fixup
2020-07-20 17:25:42 -07:00
Dr. Christian Tacke
bd236918dd Configuration: allow usage of command-line scopes with environments (#14608)
Spack did not support usage of the `--config-scope` option in
combination with an environment: In `lib/spack/spack/main.py`,
`spack.config.command_line_scopes` is set equal to any config scopes
passed by the `--config-scope` option. However, this is done after
activating an environment. In the process of activating an environment,
the `spack.config.config` singleton is instantiated, so later setting of
`spack.config.command_line_scopes` is ignored.

This commit sets command line scopes before activating an environment to
ensure that they are included in the configuration.

Co-authored-by: Tim Fuller <tjfulle@sandia.gov>
2020-07-20 13:58:06 -07:00
Justin S
3949a85f9a py-dp-gp-cluster: new package at 2019-09-22 (#17549)
* py-dp-gp-cluster: new package

* py-dp-gp-cluster: remove master, add 2019-09-22

* py-dp-gp-cluster: require python2, older gpy, sklearn

* py-dp-gp-cluster: remove cython runtime dep
2020-07-20 10:48:17 -05:00
Cyrus Harrison
bab1852340 update ascent package with recent ver dep logic, and dray support (#17502)
* update ascent package with recent ver dep logic, and dray support

* update pmt name, make babelflow logic dep on mpi
2020-07-18 08:53:48 -05:00
Jon Rood
ef814b7a32 Add texlive 2020 version (#17559)
* Add new versions of texlive and poppler.

* Add new versions of harfbuzz which also relocated source location to github.

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

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

* Restore deleted url line in harfbuzz.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-18 08:49:32 -05:00
eugeneswalker
96fa6f0c1b allow GNUPGHOME to come from SPACK_GNUPGHOME in env, if set (#17139) 2020-07-17 13:29:30 -07:00
Amjad Kotobi
e4ba1c1daf r-devtools: add version 2.3.0; update dependencies (#17408) 2020-07-17 12:11:29 -07:00
Fabien Bruneval
bbbf0466dc libint (package): add tuning options for MOLGW (#17329) 2020-07-17 12:10:05 -07:00
Cyrus Harrison
dc18b3e3d4 New package: parallelmergetree (#17501) 2020-07-17 12:03:11 -07:00
Scott Wittenburg
b5f82696e2 Bugfix/install missing compiler from buildcache (#17536)
Ensure compilers installed from buildcache are registered.
2020-07-17 11:13:36 -07:00
Adam J. Stewart
a5aa150a98 py-matplotlib: add v3.3.0 2020-07-17 11:05:41 -07:00
Scott Wittenburg
ae03782032 buildcache: list all mirrors even if one fails 2020-07-17 10:04:05 -06:00
Amjad Kotobi
c729c6b93c subversion: added v1.14.0 amd v1.13.0, added new url (#17519) 2020-07-17 16:33:46 +02:00
Cyrus Harrison
324c383d8e add devil ray package (#17495)
* add dray with mid-review changes

* remove env import since its impliclity included
2020-07-16 19:51:41 -07:00
Francesco Di Natale
35b7a69456 Updates to maestrowf package (#17470)
* Addition of Chainmap to satisfy Maestro dependency.

* Additional versions and dependencies for Maestro.

* Updated URL to point to pypi.

* Updates to chainmap hashes.

* Updates to pull version from PyPi.

* Corrections to flake8 errors.

* Stricter restrictions on Python versioning.

Maestro actually supports Python 3.5 and later.

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

* Only install chainmap for Python2 versions.

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

* Removal of setuptools python cond.

* Removal of version constaints on setuptools.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-16 19:38:45 -05:00
Kelly (KT) Thompson
d69c32d7ef Version 1.13.2 still needs the XL patch. (#17561) 2020-07-16 19:35:33 -05:00
Scott Wittenburg
27aaff3dc2 adept-utils: 1.0.1 does not build w/ boost 1.73.0 or newer (#17560) 2020-07-16 19:34:47 -05:00
Seth R. Johnson
fc8847cf4e Mark old icu4c as conflicting (#17562)
GCC 4.8.5 on rhel6:
```
utext.cpp:572:5: error: 'max_align_t' in namespace 'std' does not name a
type
     std::max_align_t    extension;
     ^
utext.cpp: In function 'UText* utext_setup_67(UText*, int32_t,
UErrorCode*)':
utext.cpp:587:73: error: 'max_align_t' is not a member of 'std'
             spaceRequired = sizeof(ExtendedUText) + extraSpace -
sizeof(std::max_align_t);
                                                                         ^
utext.cpp:587:73: note: suggested alternative:
In file included from
/projects/spack/opt/spack/gcc-4.4.7/gcc/6ln2t7b/include/c++/4.8.5/cstddef:42:0,
                 from utext.cpp:19:
/projects/spack/opt/spack/gcc-4.4.7/gcc/6ln2t7b/lib/gcc/x86_64-unknown-linux-gnu/4.8.5/include/stddef.h:
425:3: note:   'max_align_t'
 } max_align_t;
   ^
utext.cpp:598:57: error: 'struct ExtendedUText' has no member named
'extension'
                 ut->pExtra    = &((ExtendedUText *)ut)->extension;
                                                         ^
   g++   ...  loadednormalizer2impl.cpp
   g++   ...  chariter.cpp
```
2020-07-16 19:34:02 -05:00
Harmen Stoppels
1fcc00df96 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-16 17:27:37 -07:00
Jon Rood
697c2183d3 Add new dependencies required in latest rsync. (#17558) 2020-07-16 19:25:22 -05:00
Nichols A. Romero
b320be70cb PySCF new package (#17474)
* Initial version of PySCF.

* Add master branch to xcfun library

* PySCF only compatible with specific commit of xcfun library

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

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

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

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

* Revert "PySCF only compatible with specific commit of xcfun library"

This reverts commit 8296005400.

* Revert "Add master branch to xcfun library"

This reverts commit f2b6998931.

* Issues conflict for xcfun library version rather than relying on a random commit.

* Add version xcfun 2.0.0a2 which is needed by PySCF.

* Remove xcfun conflict and express dependency more explictly. Add comment as to why this is necessary.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-16 15:58:52 -05:00
downloadico
3f24188d19 Abinit+wannier90 fix (#17417)
* wannier90: add versions 3.0.0 and 3.1.0 and 'shared variant'

Added versions 3.0.0 and 3.1.0

Added shared variant

Added url_for_version function as versions less than 3 are from the
wannier.org site and versions 3 and up are from github.com

Added the MPI libraries to the list of libs substituted into the make.sys file
in place of @LIBS

Made it possible to build a shared object version of the library for versions
< 3 by filtering the src/Makefile.2 file (based off of the patch from a src rpm
from RHEL for version 2.0.1)

Create a modules directory in the install prefix root directory and copy the
Fortran .mod files there.

Set the MPIFC variable to the Spack Fortran MPI compiler wrapper.

* abinit: added 'wannier90' variant  which enables building abinit with wannier90

Added wannier90 variant

Made abinit depend on the shared object ('shared') variant of
wannier90 if the wannier90 variant is selected

Add configure args for wannier90 libs, includes, and binaries and to
set MPIFC

set the dft-flavor to wannier90 when wannier90 is enabled and only
set the dft flavor to 'atompaw+libxc' if wannier90 is not selected

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

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

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

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

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

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

* incorporated bbecker's suggestion for making the strings less ugly!

* incorporated bbecker's suggestion to fix the logic for picking which
"DFT flavor" configure argument.
If the wannier variant is enabled, it passes --with-dft-flavor=wannier90
to configure, otherwise it passes --with-dft-flavor=atompaw+libxc to configure

* Changed to using plain strings

* Fixed version tests

* incorporated @adamjstewart's fix for testing if the major version is > 2

* incorporated @adamjstewart's fix to check if mpi is enabled and
only set the MPIFC variable if it is.

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

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

* Only set MPIFC if '+mpi' is set

* incorporated fixes from @adamjstewart including:
	- using the string=True argument to filter_file (and removed the unneeded
 	  escapes)
	- changing the url to the github location
	- fixing the version checks
	- building a libwannier.dylib on darwin

* incorporated fixes suggested by @adamjstewart including:
	- using the string=True argument to filter_file and cleaned up the escapes
	- only pass the MPIFC argument to configure when '+mpi' is set
	- chaned the url to the github site for Wannier090
	- fixed the version checks
	- build a 'libwannier.dylib' file when building the shared variant on darwin

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

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

* moved a configure argument from it's own '+mpi' check to under the lower one

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

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

* Cleaned up syntax as suggested by @adamjstewart
It looks *so much better* now!  Thanks!

* removed unneeded import of 'find' from 'llnl.util.filesystem' package
as suggested by @adamjstewart

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

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

* incorporated changes from @adamjstewart
changed check to "if '@:2 +shared' in spec:" instead of a nested check of '@:2' and
'+shared'
removed unneeded joins used in filter_file and spliced the list of objs directly into
the filter_file call
used the dso_suffix instead of testing for darwin to determine the name of the
shared library

* removed whitespace from blank line

* fixed bug with '../../wannier90.x: .*' not being treated as a regexp.  Thanks Adam!

* fixed missing whitespace when modifying Makefile.2

Co-authored-by: Greg Becker <becker33@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-16 15:57:42 -05:00
Harmen Stoppels
3449087284 Make the largest layer of the docker image cacheable (#17553) 2020-07-16 13:15:04 -04:00
Themos Tsikas
8e9f4d0078 Update for Build 7020 of nagfor compiler (#17555) 2020-07-16 10:39:06 -05:00
darmac
d7794540b2 Add new package: hibench (#17552) 2020-07-16 08:47:33 -05:00
iarspider
ae44b1d7b9 New package: openloops (#17520)
* New package: OpenLoops

* install() for openloops

* Working OpenLoops recipe

* Flake-8

* Only copy collection file if required; add clarification to num_jobs

* Add __future__ import just in case

* Fix missing space

* Remove __future__ import

* Changes from review, pt. 1

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

* Replace print() with write()

* Flake-8

Co-authored-by: iarspider <iarpsider@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-16 08:33:23 -05:00
Tom Payerle
df12b2bd15 kallisto: remove mpich dependency (#17551)
kallisto does not depend on mpich or MPI, except possibly indirectly
through hdf5 (but that should be handled by hdf5).
2020-07-16 08:28:50 +02:00
darmac
148a6a8860 Add new package: prometheus (#17541) 2020-07-15 21:56:14 -05:00
darmac
efba3731e5 storm: update url, version & runtime depends (#17523)
* storm: update url, version & runtime depends

* fix list_url error
2020-07-15 21:39:03 -05:00
fcannini
6eb332a984 vasp: New package. (#15187)
* vasp: New package.

* Remove unneeded `#noqa`

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

* Removed a completely needless tty.debug()

* Add compiler conflicts() and minute fixes

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-15 21:33:53 -05:00
Cyrus Harrison
d0a83f318b add apcomp package (#17494)
* add apcomp package

* add maintainers

* fake8

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

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

* review suggestions

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-15 21:31:58 -05:00
Rémi Lacroix
0f67b97065 Update icu4c package (#17461)
* icu4c: Add new versions for older releases.

The old URLs for versions 60.1, 58.2 and 57.1 do not work anymore so add the versions available on Github.

The old versions are kept for reference (cf. #15896).

* icu4c: Add versions 66.1 and 67.1.

* icu4c: Fix compilation of versions 58 and 59 with recent glibc.
2020-07-15 18:57:19 -05:00
kolamsrinivas
d2c2e000a7 changes to py-torch recipe to enable rocm build (#17410)
* changes to recipe to enable rocm build

* fixing flake8 issue

* addressed the review comment
2020-07-15 18:45:22 -05:00
Julius-Plehn
4ac1a532f3 Adds new R package: GSODR (#17529)
* R GSODR package

* use cloud mirror
2020-07-15 12:05:39 -05:00
vvolkl
f42dc4fa4d [root] fix cmake args for r variant (#17487)
* [root] fix cmake args for r variant

* [root] add readline dependency to +r
2020-07-15 12:04:05 -05:00
Paul
d25c7ddd6f spack containerize: added --fail-fast argument to containerize install. (#17533) 2020-07-15 11:13:04 +02:00
Paul
48a9ad3652 Go: added v1.14.5 and v1.13.13. (#17539) 2020-07-15 09:31:49 +02:00
Cyrus Harrison
d55541919d visit package update, add glu as a linux dep (#17537)
* visit: add glu as a dep for linux

* add note to suggested install command about mesa
2020-07-15 00:01:05 -07:00
Dr. Christian Tacke
0d4740d1b1 curl: add dependency on libidn2 (#17526)
If the system has libidn2 installed, then curl will use it.
spack has a libidn2 package, so let's use that!

Related: #16514
2020-07-15 08:43:38 +02:00
yellowhat
d56711f799 namd: added v2.14b2 (#17395)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-15 08:04:39 +02:00
ketsubouchi
99a47e407e cantera: better specify dependency on sundials (#17540) 2020-07-15 07:53:36 +02:00
Julius-Plehn
7efb0e541e New Package: GrADS (#17476)
* grads minimal package

* udpt template

* grads minima

* grads & shapelib package

* hdf4

* cleanup

* hdf5, netcdf variants

* updates environment function

* updating paths and pkgconfig

* cleanup
2020-07-14 22:30:39 -05:00
Hadrien G
7340be98f6 [acts] Add 0.25.x series (#17485)
* Add Acts v0.25 support

* Add Acts v0.25.1

* Add acts v0.25.2
2020-07-14 22:23:07 -05:00
vvolkl
c281eaf69f [acts] remove false dependency (#17511) 2020-07-14 22:07:39 -05:00
Amjad Kotobi
2110b98829 r-glue: new version (#17517) 2020-07-14 21:56:05 -05:00
darmac
88537d02e4 gpdb: fix runtime issue (#17521) 2020-07-14 21:47:29 -05:00
Jon Rood
a2729fcd7f zsh (package): add versions; switch to .xz archives (#17489)
* Add new versions including 5.8
* Download .xz archives for existing versions (this requires updating
  the associated checksums)
2020-07-14 19:47:03 -07:00
darmac
bcd41cec71 Add new package: minio (#17522) 2020-07-14 21:45:47 -05:00
Cyrus Harrison
6f6e896795 New package: babelflow (#17500) 2020-07-14 19:42:38 -07:00
darmac
28a25080ca py-lockfile: depends on py-pbr by setup.py (#17524) 2020-07-14 21:34:59 -05:00
ketsubouchi
14f3f230c1 scons: support Fujitsu Fortran moddir option (#17538) 2020-07-14 21:24:18 -05:00
Jon Rood
d32bbae431 rsync (package): add version 3.2.2 (#17504) 2020-07-14 16:41:11 -07:00
Frank Willmore
710ff8d7ce libyogrt (package): add variant to enable static builds (#17535) 2020-07-14 16:36:18 -07:00
Jon Rood
683881f912 py-protobuf (package): add version 3.12.2 (#17532)
This matches the current latest version of protobuf in Spack.
Generally the version of py-protobuf and protobuf should match,
but this constraint is not currently recorded in py-protobuf.
2020-07-14 16:31:15 -07:00
vvolkl
11d8aed6cd dd4hep (package): add version 1.13.0 (#17528) 2020-07-14 16:24:33 -07:00
Andrey Prokopenko
ab68410c4c Trilinos (package): remove maintainer (#17534) 2020-07-14 16:23:19 -07:00
darmac
fa614404e6 smartdenovo: added patch to fix compile error (debian) (#17435) 2020-07-14 13:02:31 +02:00
Axel Huebl
a6abd530bd CUDA 11.0.2 (#17423)
- [x] wait for general release candidate
- [x] compute capability support
- [x] compiler conflicts
  - [x] ppc64le
- [x] new download links
2020-07-13 18:32:28 -05:00
Harmen Stoppels
2b809a5374 Add -o flag to tar decompressor (#17427)
For normal users, `-o` or `--no-same-owner` (GNU extension) is
the default behavior, but for the root user, `tar` attempts to preserve
the ownership from the tarball.

This makes `tar` use `-o` all the time.  This should improve untarring
files owned by users not available in rootless Docker builds.
2020-07-13 15:19:04 -07:00
Cyrus Harrison
3e13137f6e add share libs variant to raja (#17496) 2020-07-13 14:57:25 -07:00
Cyrus Harrison
6aa6e19d34 add shared libs variant to umpire (#17497) 2020-07-13 14:57:04 -07:00
Cyrus Harrison
c2d8d8acbd update vtk-m with pinned version for ascent and related packages (#17498)
* add ascent_ver to vtk-m pkg

* vtk-m:: add patches used by ascent
2020-07-13 14:56:45 -07:00
Cyrus Harrison
299dcdd3eb update vtk-h package with new version and options (#17499) 2020-07-13 14:55:38 -07:00
Jon Rood
e0f13b298d tmux (package): add version 3.1b (#17486) 2020-07-13 13:56:33 -07:00
Jon Rood
d2ac26f844 gdb (package): add version 9.2 (#17490) 2020-07-13 13:46:27 -07:00
Jon Rood
fae57d1422 cppcheck (package): add version 2.1 (#17491) 2020-07-13 13:45:37 -07:00
Jon Rood
c84a05b809 bison (package): add versions including 3.6.4 and 3.5.3 (#17492) 2020-07-13 13:44:37 -07:00
Jon Rood
05e8918076 curl (package): add version 7.71.0 (#17493) 2020-07-13 13:42:42 -07:00
Jon Rood
929cb9e62e vim (package): add version 8.2.1201 (#17503) 2020-07-13 13:31:37 -07:00
Jon Rood
7d1f2abd56 screen (package): add version 4.8.0 (#17505) 2020-07-13 13:28:58 -07:00
Jon Rood
ab5f28aceb stow (package): add version 2.3.1 (#17506) 2020-07-13 13:28:18 -07:00
Jon Rood
4450377794 gnutls: add version 3.6.14 (#17507) 2020-07-13 13:27:28 -07:00
Jon Rood
45eaa442c3 Global (package): add version 6.6.4 (#17508) 2020-07-13 13:26:39 -07:00
darmac
4fa519134f bwa: support for aarch64 (#17473)
* bwa: support for aarch64

* bwa: fix build error for non-aarch64 machine
2020-07-13 10:52:23 -05:00
Rémi Lacroix
815f62ce0c Update gdk-pixbuf package. (#17458)
* gdk-pixbuf: Add new stable versions.

* gdk-pixbuf: Add a missing dependency with libx11.

Also add a variant disabled by default to make it optional since it is considered deprecated
(cf. 3362e94c25).
2020-07-13 10:49:17 -05:00
Mark Olesen
b3b5ea4064 updated sha256 for openfoam-1806 patch (#17483)
- perhaps related to gitlab migration and/or upgrade (Dec 2019)

Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-07-13 10:47:06 -05:00
Omar Padron
573489db71 Add libglvnd packages/Add EGL support (#14572)
* add new package: "libglvnd-frontend"

* add +glvnd variant to opengl package

* add +glvnd variant to mesa package

* add +egl variant to paraview package

* add libglvnd-frontend entries to default packages config

* fix style

* add default providers for glvnd virtuals

add default providers for glvnd-gl, glvnd-glx, and glvnd-egl

* WIP: rough start to external OpenGL documentation

* rename libglvnd-frontend package and backend virtual dependencies

* update documentation

* fix ligvnd-be-* typos

* fix libglvnd-fe package class name

* fix doc parse error
2020-07-13 11:32:36 -04:00
darmac
9c42f246ed Add new package: atf (#17472) 2020-07-12 21:32:02 -05:00
Jannek Squar
dbdd2cb92f Magics fix and update (#17477)
* Added new versions to magics and began to set not-so-optional netcdf dependency

* Added enforced netcdf dependency

* Fix also works for version 4.1.0
2020-07-12 21:20:12 -05:00
Greg Becker
406596af70 update docs on point releases (#17463) 2020-07-11 14:35:25 -07:00
darmac
73f02b10de lmbench: fix scripts path for aarch64 (#17456) 2020-07-11 12:53:53 -05:00
Dr Owain Kenway
9629f571bc 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-11 09:02:53 -05:00
Peter Josef Scheibel
5e50dc5acb Merge branch 'releases/v0.15' into develop 2020-07-10 23:14:36 -07:00
Jen Herting
59bfc22d40 [glew] depends on libsm and libice (#17428)
* [glew] depends on libsm

* [glew] depends on libice
2020-07-10 19:32:26 -05:00
Justin S
1a8a147fe5 energyplus: add 9.3.0 (#17452)
* energyplus: add 9.3.0

* energyplus: fix version order

* energyplus: more concise links

* energyplus: avoid join_path
2020-07-10 19:23:04 -05:00
figroc
0612a9e8e9 tensorflow-serving-client: add new version 2.2.0 (#17462) 2020-07-10 19:10:04 -05: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
Greg Becker
f2889e698a 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 10:45:11 -07:00
Rémi Lacroix
ea546425e8 Update the bbcp package (#17436)
* bbcp: Update the URLs to use HTTPS.

The HTTP URLs do not work anymore.

* bbcp: Add missing libnsl dependency.

* bbcp: Rename the git-based version to match the branch name.

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-10 08:27:07 -05:00
ketsubouchi
7269a5bf51 py-pysam: add LDFLAGS to curl (#17434)
* py-pysam: add LDFLAGS to curl

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-10 08:26:21 -05:00
figroc
00d7e817c6 grpc: add versions 1.28/1.29/1.30 (#17433) 2020-07-10 08:25:47 -05:00
iarspider
ed7d485b58 New packages: thepeg, herwig++ (2.x) (#17443)
* New packages: Rivet, Herwig++ 2

* Add patches for thepeg

* Flake-8

* Update package.py

* Delete thepeg-2.1.6.patch

* Delete thepeg-2.1.5.patch

* Delete thepeg-2.1.3.patch

* Delete thepeg-2.2.0.patch
2020-07-10 08:25:21 -05:00
iarspider
38d387c9a5 New packages: looptools + vbfnlo (#17446)
* New package: vbfnlo

* Add new package: vbfnlo

* Add recipe for looptools

* Add patch for looptools

* LoopTools: patch not needed (fixed by developers without changing version)

* Remove patch file as well

* Update package.py

* Update package.py

* Fix vbfnlo recipe for old version

Co-authored-by: iarspider <iarpsider@gmail.com>
2020-07-10 08:24:14 -05:00
Julius-Plehn
02dd90ebf9 New Package: ChaNGa (#17442)
* WIP: changa package

* changa cleanup

* flake8 format

* adds master branch to ChaNGa

* positional arguments

* use install instead of copy
2020-07-10 08:22:20 -05:00
Patrick Gartung
e72e2568dd Relocation of sbang needs to be done when the spack prefix changes even if the install tree has not changed. (#17455) 2020-07-09 22:28:51 -05:00
Rémi Lacroix
d9923a05e0 ltrace: Disable "-Werror". (#17444)
Some functions used by ltrace have been deprecated in recent versions of glibc.
2020-07-09 22:27:30 -05:00
Rémi Lacroix
8c6fa66b2a openslide: Add missing dependencies. (#17445) 2020-07-09 22:26:37 -05:00
Harmen Stoppels
84eae97f91 aspirin for buildaches (#17437) 2020-07-09 22:00:38 -05:00
Sajid Ali
12099ed55e clear mpicc and friends before each build (#17450)
* clear mpi env vars
2020-07-09 16:14:49 -05:00
Greg Becker
d0f5b69a19 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-09 11:08:51 -07:00
Peter Scheibel
ce9d30f80f add public spack mirror (#17077) 2020-07-08 15:59:24 -07:00
Sinan
e02d955aed new package: ligra (#17425)
* new package: ligra

* setup run environment

* tidy up

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

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

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

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

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

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

* flake8

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-08 16:30:53 -05:00
Frank Willmore
b3fff20d1f enable flatcc to be built with gcc@9.X.X (#17430)
`gcc` 9 and above have more warnings that break the `flatcc` build by default, because `-Werror` is enabled.  This loosens the build up so that we can build with more compilers in Spack.

- [x] Add `-DFLATCC_ALLOW_WERROR=OFF` to `flatcc` CMake arguments

Co-authored-by: Frank Willmore <willmore@anl.gov>
2020-07-08 13:57:09 -07:00
Patrick Gartung
8c41173678 Buildcache: bindist test without invoking spack compiler wrappers. (#15687)
* Buildcache:
   * Try mocking an install of quux, corge and garply using prebuilt binaries
   * Put patchelf install after ccache restore
   * Add script to install patchelf from source so it can be used on Ubuntu:Trusty which does not have a patchelf pat package. The script will skip building on macOS
   * Remove mirror at end of bindist test
   * Add patchelf to Ubuntu build env
   * Revert mock patchelf package to allow other tests to run.
   * Remove depends_on('patchelf', type='build') relying instead on
   * Test fixture to ensure patchelf is available.

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

* Flake8

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

* Add some symbolic links between packages

* Flake8

* Flake8:

* Update mock packages to write their own source files

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

* updates after change of list command arguments

* cleanup after merge

* flake8
2020-07-08 15:05:58 -05:00
iarspider
0bed621d0c Add missing file (#17426)
Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-07-08 10:50:47 -05:00
Amjad Kotobi
1d2754c3f6 r-usethis: new version and dependencies (#17411)
* r-usethis: new version and dependencies

* r-usethis: fix in dependency
2020-07-08 08:44:47 -05:00
tcojean
ae2a867a7f Ginkgo: new versions (#17413)
* Add new Ginkgo versions with HIP support.

* Drop HIP support until more ROCm packages are integrated.
2020-07-08 08:42:56 -05:00
Adam J. Stewart
207e496162 spack create: ask how many to download (#17373) 2020-07-08 09:38:42 +02:00
ketsubouchi
f0391db096 typhon: fix build with Fujitsu compilers (#17424) 2020-07-08 09:28:41 +02:00
TZ
084994db9c ncl: fix compilation errors with Intel compilers (#17391)
The Intel compilers are more strict and require special command
line options (like -std=c99) to properly compile NCL.
2020-07-08 08:42:49 +02:00
Simon Byrne
f85da868ac Improve Travis sample in the docs (#17420)
- printf is better than echo for multiline strings
- ** should be &&
- use line continuation
- Use multiline block
2020-07-08 07:25:37 +02:00
iarspider
f1f31e3dfe Fix YODA and Rivet recipes (#17412)
* Fix Rivet recipe; restrict Yoda versions for a give Rivet version

* Fix YODA recipe

* More tweaks to YODA version requirements

* Flake-8
2020-07-07 22:24:48 -05:00
Patrick Gartung
7f8e827db8 Relocate rpaths for all binaries, then do text bin replacement if the rpaths still exist after running patchelf/otool (#17418) 2020-07-07 16:46:39 -05:00
Adam J. Stewart
a63761f875 oneDNN: add v1.5.1 (#17419) 2020-07-07 16:38:47 -05:00
Adam J. Stewart
3ce16c89b7 GDAL: add v3.1.2 (#17416) 2020-07-07 15:45:25 -05:00
Massimiliano Culpo
f4ac3770b4 CudaPackage: maintainers are listed in the docstring (#17409)
fixes #17396

This prevents the class attribute to be inherited and
saves current maintainers from becoming the default
maintainers of every Cuda package.
2020-07-07 20:45:41 +02:00
Todd Gamblin
b0506a722e releases: document releases/latest tag (#17402)
We got rid of `master` after #17377, but users still want a way to get
the latest stable release without knowing its number.

We've added a `releases/latest` tag to replace what was once `master`.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-07-07 11:44:15 -07:00
Peter Scheibel
650ab563f4 Uninstall: tolerate hook failures when force=true (#16513)
Fixes #16478

This allows an uninstall to proceed even when encountering pre-uninstall
hook failures if the user chooses the --force option for the uninstall.

This also prevents post-uninstall hook failures from raising an exception,
which would terminate a sequence of uninstalls. This isn't likely essential
for #16478, but I think overall it will improve the user experience: if
the post-uninstall hook fails, there isn't much point in terminating a
sequence of spec uninstalls because at the point where the post-uninstall
hook is run, the spec has already been removed from the database (so it
will never have another chance to run).

Notes:

* When doing spack uninstall -a, certain pre/post-uninstall hooks aren't
  important to run, but this isn't easy to track with the current model.
  For example: if you are uninstalling a package and its extension, you
  do not have to do the activation check for the extension.
* This doesn't handle the uninstallation of specs that are not in the DB,
  so it may leave "dangling" specs in the installation prefix
2020-07-07 11:37:36 -07:00
Christoph Junghans
90285c7d61 votca-tools: fix build with mkl (#17414) 2020-07-07 13:27:10 -05:00
Frank Willmore
6c300ab717 snappy: added v1.1.8 (#17397) 2020-07-07 17:25:26 +02:00
g-mathias
05d8ba170b jube: added v2.4.0 (#17404)
Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-07-07 16:11:53 +02:00
figroc
51f65152a5 abseil-cpp: added v20200225.2 (#17383) 2020-07-07 14:02:21 +02:00
Harmen Stoppels
1113357e35 libtree: fixed checksums (#17393)
The hash was wrongly computed for the `tar.gz` 
that Github provides, not the custom tarball which 
includes submodules as well.
2020-07-07 12:56:57 +02:00
ketsubouchi
d65a076c0d bliss: add spaces to __DATE__ (#17385)
C++11 requires a space between literal and string macro.
2020-07-07 11:28:55 +02:00
Glenn Johnson
845139740f mumax: new package at v3.10beta (#17398)
This PR creates a new spack package for

mumax: GPU accelerated micromagnetic simulator.

This uses the current beta version because
- it is somewhat dated, ~2018
- it is the only one that supports recent GPU kernels
2020-07-07 11:01:59 +02:00
TZ
1f87b07689 nco: added v4.8.[0,1] and v4.9.[0-3] (#17389) 2020-07-07 10:18:27 +02:00
TZ
cbaa1bca1c ncview: added v2.1.8 (#17388) 2020-07-07 10:09:27 +02:00
Sinan
5fb6a06c37 gunrock: improved package recipe (added variants for applications and others) (#17340)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-07-07 10:02:37 +02:00
Adam Moody
6e38fc56f6 mpifileutils: add v0.10.1 2020-07-06 18:19:29 -07:00
Todd Gamblin
c00a05bfba 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-06 13:55:14 -07:00
Todd Gamblin
9ec9327f5a docs: document releases and branches in Spack
- [x] Remove references to `master` branch
- [x] Document how release branches are structured
- [x] Document how to make a major release
- [x] Document how to make a point release
- [x] Document how to do work in our release projects
2020-07-06 11:39:19 -07:00
Todd Gamblin
11088df402 Remove references to master from CI
- [x] remove master from github actions
- [x] remove master from .travis.yml
- [x] make `develop` the default branch for `spack ci`
2020-07-06 11:39:19 -07:00
Todd Gamblin
4ea76dc95c change master/child to controller/minion in pty docstrings
PTY support used the concept of 'master' and 'child' processes. 'master'
has been renamed to 'controller' and 'child' to 'minion'.
2020-07-06 11:39:19 -07:00
cedricchevalier19
f0275d7e1b 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-06 13:02:35 -05:00
Michael Kuhn
516c3e659f 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-06 10:53:02 -07:00
iarspider
e62ddcb582 Add Rivet and YODA (#17372)
* Add Rivet and YODA

* Add patches

* Flake-8

* Set level for Rivet patches

* Syntax fix

* Fix dependencies of Rivet

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-06 10:51:36 -05:00
TZ
b3bc538df6 esmf: set ESMF_COMM=intelmpi also for ^intel-mpi (#17387)
Not only intel-parallel-studio+mpi provides Intel MPI but also
intel-mpi.
2020-07-06 11:40:11 +02:00
fcannini
29fc94e29e psi4: fix "filter_compilers" signature (#17375) 2020-07-06 09:07:26 +02:00
Adam J. Stewart
466f7fd996 GMT: add v6.1.0 (#17384) 2020-07-05 21:06:05 -05:00
darmac
58cfe4e078 acl: fix depends error (#17341) 2020-07-05 15:28:29 -05:00
darmac
00f7577273 brpc: fix depends issue (#17347) 2020-07-05 15:27:49 -05:00
Wouter Deconinck
4e6d189a94 [opencascade] depends_on freetype, tcl, tk, gl (#17357)
* [opencascade] depends_on freetype, tcl, tk, gl

* [opencascade] new version 7.4.0p1 and url_for_version
2020-07-05 15:25:38 -05:00
iarspider
9abadd4985 New version of LHAPDF: 6.3.0 (#17367) 2020-07-05 15:23:03 -05:00
figroc
66d4bc3f3c protobuf: add versions (#17381) 2020-07-05 15:22:31 -05:00
yellowhat
52cafe6c96 amdblis bump to 2.2. (#17369) 2020-07-05 15:22:11 -05:00
g-mathias
8d5aa46765 package Amber: amber tools 20 (#17374)
* package amber: added amber_tools 20 hash; added minor version for amber_tools

* fix flake8 issues

Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-07-05 15:17:38 -05:00
Gilles Gouaillardet
e5ec89ad5b openblas: fix fj compiler support in 0.3.10 (#17376)
The latest 0.3.10 version openblas changed how Fortran libraries
are detected, and this broke Fujitsu compiler support.

This (new) openblas patch addresses that issue.
2020-07-05 15:14:36 -05:00
Timo Heister
7bba9cd2a5 update aspect to 2.2.0 (#17379) 2020-07-05 15:13:22 -05:00
Adam J. Stewart
cce629e791 SciPy: add v1.5.1 (#17380) 2020-07-05 14:58:26 -05:00
TZ
bb15addad5 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-05 11:10:28 -05:00
Adam J. Stewart
e9e3e88f63 Fix Intel MPI super invocation, again (#17378) 2020-07-05 11:09:24 -05:00
fcannini
c797a0611c dtfbplus: New package. (#15191)
* dtfbplus: New package.

* dftbplus: Addresses @adamjstewart's comments on PR #15191

* dftbplus: Fixes format() calls that slipped in previous commit.

* dftbplus: Appease flake8.

* dftbplus: Change 'url' and misc. fixes.

* Add a resource to do the job of './utils/get_opt_externals'
2020-07-04 08:27:32 -05:00
Shahzeb Siddiqui
04f3000646 Pipelines doc: fixed two broken links (#17355) 2020-07-03 12:29:45 +02:00
Amjad Kotobi
f3eba3c482 py-python-swiftclient: added v3.10.0 (#17352) 2020-07-03 12:25:54 +02:00
g-mathias
02fa7b680f elpa: added v2019.11.001 and v2020.05.001 (#17368)
Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-07-03 11:52:02 +02:00
Paul R. C. Kent
8fcd917e51 libelf: added extra url (#17358) 2020-07-03 11:49:58 +02:00
g-mathias
9c85d87b90 jube: added v2.3.0 (#17366)
Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-07-03 10:13:37 +02:00
yellowhat
b45fc97564 Package request: HPCG (#17350)
* use patch from upstream

Co-authored-by: Michael Kuhn <michael.kuhn@informatik.uni-hamburg.de>
2020-07-03 10:05:24 +02:00
ketsubouchi
986f68f7ed blktrace: use Spack compiler wrappers (#17365) 2020-07-02 23:39:04 -07:00
ketsubouchi
2cd9e1eb62 blat: use SPACK_CC (#17364) 2020-07-02 23:38:23 -07:00
darmac
61804f201a glusterfs: add pkgconfig dependency (#17343) 2020-07-02 23:35:38 -07:00
g-mathias
cf104b0f10 jmol: add version 14.31.0 (#17351)
Also:

* Add url_for_version function
* Add Java to PATH for run environment
* Update `install` method to handle old and new version

Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-07-02 23:34:00 -07:00
Kelly (KT) Thompson
17106a131d Random123: add versions 1.10, 1.13.2 (#17361) 2020-07-02 23:25:53 -07:00
Christoph Junghans
cc0dda95c4 quicksilver: add v1.0 2020-07-02 23:24:44 -07:00
takanori-ihara
7679e20e83 py-tensorflow: Fix for tensorflow issue #40688 (#17324)
* py-tensorflow: Fix for #40688

* py-tensorflow:  Fix for tensorflow issue #40688
2020-07-02 21:49:29 -05:00
Michio Ogawa
4349c091e7 FrontISTR: add version 5.1 (#17349) 2020-07-02 15:34:25 -07:00
darmac
ff60f51a7a keepalived: openssl is a link and build dependency (#17346) 2020-07-02 15:13:24 -07:00
Amjad Kotobi
06da1f195c openmpi: add singularity variant (#17288) 2020-07-02 15:10:06 -07:00
iarspider
3d98ad3f4c New packages: heputils and mcutils (#17330)
heputils is a (conditional) dependency of mcutils
2020-07-02 15:05:20 -07:00
Harmen Stoppels
f1bb8999ab cpprestsdk: add version 2.10.16 (#17331)
Also

* Patch is only needed for 2.9.1
* Add openssl dependency
* Build with -DWERROR:BOOL=Off
2020-07-02 15:02:12 -07:00
Sinan
1e75dde7b2 mapnik: add version 3.0.23, update boost dependency (#17338) 2020-07-02 14:56:36 -07:00
manifest
f780839b87 examl + (#17265)
* examl +

* examl style fix

* examl flake8 fix

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

using `working_dir`

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-02 09:43:47 -05:00
Andrew Gaspar
204f15b4c1 py-fortran-language-server: new package at v1.11.1 (#17318)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-02 10:22:01 +02:00
Michael Kuhn
a4fff39d7e py-shroud: added v0.12.1 (#17332)
py-setuptools is also needed at runtime, otherwise we get errors:
```
ModuleNotFoundError: No module named 'pkg_resources'
```
2020-07-02 10:14:57 +02:00
Michael Kuhn
10016a34e0 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-02 00:45:41 -07:00
Sinan
e133b44da6 py-opt-einsum: added v3.2.1, v3.2.0 and v2.3.2 (#17339)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-07-02 09:14:39 +02:00
Paul R. C. Kent
5732d8de50 py-sphinxcontrib-bibtex: added v1.0.0 (#17336) 2020-07-02 08:32:26 +02:00
mic84
509b3c3016 amrex: added v20.07 (#17337)
Also added support for hdf5, petsc and hypre
2020-07-02 08:28:57 +02:00
ketsubouchi
8a9fa9bd18 biobloom: use the correct standard library for Fujitsu compilers (#17327) 2020-07-02 08:11:56 +02:00
Massimiliano Culpo
a5eabfad91 Moved flake8, shell and documentation tests to Github Action (#17328)
* Move flake8 tests on Github Actions

* Move shell test to Github Actions

* Moved documentation build to Github Action

* Don't run coverage on Python 2.6

Since we get connection errors consistently on Travis
when trying to upload coverage results for Python 2.6,
avoid computing coverage entirely to speed-up tests.
2020-07-01 11:58:53 -05:00
Adam J. Stewart
6a77f1ff45 Fix hashlib function capitalization (#17323) 2020-07-01 09:46:20 -05:00
Glenn Johnson
60283775b3 Documentation update for container example (#17321)
This updates the documentation to reflect #17316.
2020-07-01 08:40:36 +02:00
Greg Becker
4433e4de2d Use apple-clang for MacOS nightly tests (#17320) 2020-07-01 08:21:08 +02:00
darmac
aaf6f80d4c hbase: refine url , java and version (#17306)
* hbase: refine url , java and version

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-30 22:22:32 -05:00
Gregory Becker
59fb789290 Merge branch 'releases/v0.15' into develop 2020-06-30 19:19:12 -05: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
Adam J. Stewart
ad5d612925 Add py-matplotlib 3.1.2 (#13994) 2019-12-05 00:00:20 -06:00
Todd Gamblin
b3d6eb79f5 Merge branch 'releases/v0.13' into develop 2019-12-04 21:41:41 -08:00
Todd Gamblin
3fee65cb92 version bump: 0.13.2 2019-12-04 21:36:42 -08:00
Axel Huebl
ba156dfcd8 CUDA: Keep 10.1.243 As Preferred (#13983)
Keep CUDA 10.1.243 as the preferred version until the issue
of including implementation details of libcu++ is addressed.
2019-12-04 21:28:10 -06:00
Peter Scheibel
e5f04f9abc Bugfix: allow missing modules if they are blacklisted (#13540)
`spack module loads` and `spack module find` previously failed if any upstream modules were missing.  This prevented it from being used with upstreams (or, really, any spack instance) that blacklisted modules.

This PR makes module finding is now more lenient (especially for blacklisted modules).

- `spack module find` now does not report an error if the spec is blacklisted
  - instead, it prints a single warning if any modules will be omitted from the loads file
  - It comments the missing modules out of the loads file so the user can see what's missing
  - Debug messages are also printed so users can check this with `spack -d...`

- also added tests for new functionality
2019-12-04 19:17:40 -08:00
Adam J. Stewart
ba7ac53b75 Fix spack test when SPACK_ROOT isn't set (#13980) 2019-12-04 18:05:08 -06:00
Stephen Hudson
e0e9fb4462 Update libensemble to v0.6.0 (#13987) 2019-12-04 18:01:05 -06:00
Adam J. Stewart
10f4445309 Add latest version of py-scikit-learn (#13979) 2019-12-04 11:47:07 -06:00
Massimiliano Culpo
e9f027210f Fixed x86-64 optimization flags for clang (#13913)
* Fixed x86-64 optimization flags for clang
* Fixed expected results in unit tests

Before the flags used where the one for llc, the underlying compiler from LLVM IR to machine assembly. It turns out that the semantic of `-march`, `-mtune` and `-mcpu` changes from clang front-end to llc.

I found no definitive reference for the flags submitted in this PR, but I checked the assembly on a vectorizable function using Godbolt's web-site.
2019-12-04 09:11:34 -08:00
Tim Haines
728f5a76f3 Add Elfutils 0.178 (#13976)
* Add elfutils-0.178

* Disable debuginfod server

* Fix flake8
2019-12-04 07:50:44 -06:00
Tim Haines
bb33b6b8e6 Use correct range check for the version (#13977)
Update to #13893
2019-12-04 07:50:05 -06:00
Sheng Di
ba87a7f53a Release a new version v2.1.8.0 for SZ (#13974)
* Release a new version v2.1.8.0 for SZ

* add maintainer

* add parallel = False to avoid potential compile issue
2019-12-03 22:35:46 -06:00
Rob Latham
92ee0659e2 mpich: update build requirements (#13966)
To build from git, MPICH will need newer autoconf, automake, and libtool than
typically available on many systems.
2019-12-03 17:13:52 -06:00
Rob Latham
c7dbb4f103 argobots: consistently use 'master' (#13965)
Commit 71cd91e4 changed "latest from git" to 'master' from former
'develop'.  Build dependencies still pointed to @develop, though
2019-12-03 12:09:15 -06:00
Cameron Smith
5ddf5e2e7b new package: Simmetrix SimModSuite (#8730)
* package for Simmetrix SimModSuite

* simmodsuite: passes flake8

* simmetrix: add version, set cmake prefix path

A given install will either use the libs built on rhel7 or rhel6.
For now, I'm sticking with the non-spack install convention of
placing the libraries into sub-directories named according to their
build process (os + compiler).

* simmetrix: add older version

* simmetrix: set build env paths

easier to build pumi using CMAKE_PREFIX_PATH

* simmetrix: address review comments

* simmetrix: add new version and remove old one

* simmetrix: flake8 fixes

* simmodsuite: oslib var is in self

* simmodsuite: update version and checksum

* simodsuite: set LD_LIBRARY_PATH for cad kernels

* update license

* update setup_environment calls

* increase indentation for flake8

* python3.8 flake8 fixes

* use spack consistent naming

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

* sha256 required, update versions and hashes
2019-12-03 12:07:27 -06:00
t-karatsu
111dc8f823 kaldi: Change process of version analysis when using Fujitsu compiler. (#13960) 2019-12-03 10:34:05 -06:00
asmaahassan90
fb52f1c7e2 fix_cantera_installation (#13962)
For a successful cantera installation, googletest has to be installed with gmock on, and sundials has to be of version less than 3.2
2019-12-03 10:33:27 -06:00
Phil Carns
88680febc9 bump libfabric to 1.9.0 (#13964) 2019-12-03 10:32:53 -06:00
Yuanqi Wang
a5d872f510 Update MrBayes to 3.2.7a and correct MPI variants (#13929)
* Update MrBayes and correct MPI variant

* Use tarballs and remove autotools dependencies

* MrBayes: remove ISA variants
2019-12-03 10:31:00 -06:00
Jannek Squar
7e2d01b238 Update package libgpg error (#13697)
* Added build dependency on gawk

* Use virtual depdendency

* Added patch to prepare libgpg-error for use with gawk@5

* Added reasoning with link for need for patch
2019-12-03 10:29:15 -06:00
Chris White
cb38725a88 Add missing metis include to superlu-dist (#13956)
* Add missing metis include to superlu-dist

* Fix PEP-8 line length

* Fix PEP-8 indent
2019-12-02 18:30:23 -06:00
Sinan
4f8a2eeca2 add more versions (#13957) 2019-12-02 18:30:08 -06:00
Massimiliano Culpo
bca59f8d83 Speedup environment activation (#13557)
* Add a transaction around repeated calls to `spec.prefix` in the activation process
* cache the computation of home in the python package to speed up setting deps
* ensure that module-scope variables are only set *once* per module
2019-12-02 14:05:02 -08:00
Hector Martinez-Seara
1b624b9d45 amber: Improved package.py and added version 18 (#13945)
* amber: Improved package.py and added version 18

- Added amber 18 with ambertools 19
- Added all available patches
- Added +update variant to use the self update
- Added +openmp variant to get openmp optomizations
- Added +x11 variant when possible
- Splitted amber 16 and 18 dependencies
- We now detect the copiler type and compile accordingly
- Added cray variant which is a bit special (untested)
- Improved detection of possible cuda versions
- All compilation optimizations +mpi +openmp +cuda are compatible
- Updated to use setup_build_environment(), setup_run_environment()

* dealii: Added 'threads' variant that controls the TBB dependency (#13931)

* dealii: Added 'threads' variant that controls the DEAL_II_WITH_THREADS cmake option and the dependency on Intel TBB

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

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

* amber: Improved package.py and added version 18

- Added amber 18 with ambertools 19
- Added all available patches
- Added +update variant to use the self update
- Added +openmp variant to get openmp optomizations
- Added +x11 variant when possible
- Splitted amber 16 and 18 dependencies
- We now detect the copiler type and compile accordingly
- Added cray variant which is a bit special (untested)
- Improved detection of possible cuda versions
- All compilation optimizations +mpi +openmp +cuda are compatible
- Updated to use setup_build_environment(), setup_run_environment()

* amber: Adding missing flex and bison dependencies

* Removed cray variant; flex and bison now build only

* amber: Improved package.py and added version 18

- Added amber 18 with ambertools 19
- Added all available patches
- Added +update variant to use the self update
- Added +openmp variant to get openmp optomizations
- Added +x11 variant when possible
- Splitted amber 16 and 18 dependencies
- We now detect the copiler type and compile accordingly
- Added cray variant which is a bit special (untested)
- Improved detection of possible cuda versions
- All compilation optimizations +mpi +openmp +cuda are compatible
- Updated to use setup_build_environment(), setup_run_environment()

* amber: Adding missing flex and bison dependencies

* Removed cray variant; flex and bison now build only

* dealii: Fixed flake8 issues

* amber: corrected typo

* amber: Removed unused variant python
2019-12-02 16:01:14 -06:00
Jim Galarowicz
6d127e29de Fix conflict with respect to openssl and qt3 built for openspeedshop. (#13946)
* Fix conflict with respect to openssl and qt3 built for openspeedshop.

* Another fix because the first was incorrect.
2019-12-02 13:13:31 -06:00
Justin M Wozniak
543f37ea51 eq-r: Fix use of Executable.__call__() (#13952) 2019-12-02 13:13:05 -06:00
Adam J. Stewart
71eaffa46b Version bump: 1.13.1 (#13942) 2019-12-02 06:58:30 -08:00
Todd Gamblin
2dffbec486 git: add .gitattributes file (#13947)
Add a line to .gitattributes so that `git grep -p` shows function names
properly for `*.py` files.  Without this, the class name is shown instead
of the function for python files.

This also causes diff output to use proper functions as hunk headers in
`diff` output.

Here's an example with `git grep -p`.

Before:

    $ git grep -p spack_cc var/spack/repos/builtin/packages/athena
    var/spack/repos/builtin/packages/athena/package.py=class Athena(AutotoolsPackage):
    var/spack/repos/builtin/packages/athena/package.py:            env.set('CC', spack_cc)
    var/spack/repos/builtin/packages/athena/package.py:            env.set('LDR', spack_cc)

After:

    $ git grep -p spack_cc var/spack/repos/builtin/packages/athena
    var/spack/repos/builtin/packages/athena/package.py=    def setup_build_environment(self, env):
    var/spack/repos/builtin/packages/athena/package.py:            env.set('CC', spack_cc)
    var/spack/repos/builtin/packages/athena/package.py:            env.set('LDR', spack_cc)

Here's an example with `diff`.

Before:

    $ git show c5da94eb58
    [...]
    @@ -28,6 +29,7 @@ print(u'\\xc3')

             # make it executable
             fs.set_executable(script_name)
    +        filter_shebangs_in_directory('.', [script_name])

             # read the unicode back in and see whether things work
             script = ex.Executable('./%s' % script_name)

After:

    $ git show c5da94eb58
    [...]
    @@ -28,6 +29,7 @@ def test_read_unicode(tmpdir):

             # make it executable
             fs.set_executable(script_name)
    +        filter_shebangs_in_directory('.', [script_name])

             # read the unicode back in and see whether things work
             script = ex.Executable('./%s' % script_name)
2019-12-02 01:35:38 -08:00
Alexander Knieps
8e3ff9b39c dealii: Added 'threads' variant that controls the TBB dependency (#13931)
* dealii: Added 'threads' variant that controls the DEAL_II_WITH_THREADS cmake option and the dependency on Intel TBB

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-01 13:34:26 -06:00
Sergei Shudler
c7568c9146 Package/sensei: PR request for SENSEI (in situ analysis tool) recipe (#12973)
* Created an initial recipe for Sensei

* Cleanup syntax

* Small fixes for the Sensei recipe

* Cosmetic fixes to comply with PEP8

* More cosmetic fixes before PR

* Added more documentation before PR

* Fixed flake8 errors

* Fixes following PR review

* Fixes to pass Flake8 passes

* Some changes following PR review and support for SENSEI 3

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

Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>

* Fixed Flake8 errors
2019-12-01 11:30:14 -06:00
Benjamin Fovet
fdd7a0e236 Add VTK version 8.2.0 (#13941) 2019-11-30 16:32:19 -06:00
jwallior
daaeb412a4 New python packages (#9974)
* New package: add py-jellyfish

* New package: add py-us

* New package: add py-xlwt

* New package: add py-svgpathtools

* New package: add py-svgwrite

* Change checksums to sha256

* Fix Copyright year.

* Add missing dependencies.
2019-11-30 16:32:02 -06:00
Benjamin Fovet
1c8a62aa86 Add package opencascade (#13938)
* Add new package : opencascade

* Remove boilerplate comment

* Fix flake8 errors

* Explicitly disable 3rd parties
2019-11-30 15:08:52 -06:00
Toyohisa Kameyama
c850e80bea cbtf: add rpcsvc-proto and libtirpc dependency. (#13798) 2019-11-30 13:08:24 -06:00
iarspider
aec5874b94 Mark py-argparse dependency everywhere with ^python@:2.6 (#13928)
* Mark py-argparse dependency everywhere with ^python@:2.6

* Update package.py

* Update package.py
2019-11-30 13:07:14 -06:00
Chris Green
c5da94eb58 Armor test script against shebang character limit if appropriate. (#12447) 2019-11-30 13:00:08 -06:00
darmac
46617b6f12 add new package : lshw (#13933)
* add new package : lshw

* update lshw package

* remove build methord
2019-11-30 01:13:23 -06:00
iarspider
94c8bf0322 Update Geant4 version and recipe (#13840)
* Update Geant4 version and recipe

According to the Geant4 developers, Geant4 supports Qt5 since at least 10.00.

* Update to new API
2019-11-29 16:21:51 -06:00
Adam J. Stewart
ab98ef1765 Mass conversion of setup_(dependent_)?environment (#13924)
* Mass conversion of setup_(dependent_)?environment

* prefix -> self.prefix
2019-11-29 15:00:44 -06:00
Mark W. Krentel
92ca639905 intel-tbb: fix and update patches for latest versions (#13932)
Commit 78724357 added versions 2019.5 to 2019.8 but failed to update
the patches for these versions.

1. gcc_generic-pedantic patch -- include this up through 2019.5.  This
was fixed in the TBB source tree in 2019.6.

2. tbb_cmakeConfig patch -- this needs to be modified (different file)
for 2019.5 and later.

3. tbb_gcc_rtm_key patch -- replace this with filter_file.  This is
simpler and eliminates the need to update the patch whenever the
surrounding context changes.
2019-11-29 13:18:56 -06:00
darmac
0f464b8d9f add new package : pipework (#13934) 2019-11-29 12:19:13 -06:00
darmac
e865856c84 add new package : qperf (#13935) 2019-11-29 12:18:41 -06:00
Peter Scheibel
cacfc3a6e1 Handle external perl (#13903)
* dont add perl bin directory to PATH when setting up env (this is already handled by spack core in a way that omits system dirs); also consolidate repeated logic between build/run env setup.

* the bin/ dir of each dependency is already added to PATH in Spack core, so there is no need to do this in the Perl package
2019-11-29 12:30:40 +01:00
iarspider
4dca63f007 Loosen restriction on setuptools version of py-backports-shutil-get-terminal-size: the bug seems to be fixed at least in setuptools 41.0.0 (#13927) 2019-11-28 11:54:01 -06:00
Tyler Reddy
008fe37941 BLD: enforce C++11 std for boost + xl_r (#13829)
* BLD: enforce C++11 std for boost + xl_r

* the spack `cxxstd` variant is not sufficient to enforce
`-std=c++11` usage in boost compile lines when `xl_r` compiler
spec is in use; while it would be nice if this were fixed
in a boost config file somewhere, for now this patch
allows boost to build on POWER9 with
an %xl_r compiler spec if the user specifies i.e.,:

`spack install boost@1.70.0+mpi cxxstd=11 %xl_r@16.1.1.5`

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-27 23:08:54 -06:00
Glenn Johnson
e974f48be0 Build R without recommended packages (#12015)
The documentation states that Spack builds R without the recommmened
packages, with Spack handling the build of those packages to satisfy
dependencies. From the docs:

> Spack explicitly adds the --without-recommended-packages flag to
> prevent the installation of these packages. Due to the way Spack
> handles package activation (symlinking packages to the R installation
> directory), pre-existing recommended packages will cause conflicts for
> already-existing files. We could either not include these recommended
> packages in Spack and require them to be installed through
> --with-recommended-packages, or we could not install them with R and
> let users choose the version of the package they want to install. We
> chose the latter.

However, this is not what Spack is actually doing. The
`--without-recommended` configure option is not passed to R and
therefore those packages are built. This prevents R extension activation
from working as files in the recommended packages installed with R will
block linking of file from the respective `r-` packages.

This PR adds the `--without-recommended` flag to the configure options
of the R package. This will then have the Spack R build match what is
documented.
2019-11-27 20:58:12 -06:00
Justin S
1b24dfb8ba Replace git-based Bioconductor R packages (#12005)
* Replace git-based Bioconductor R packages

The current collection of bioconductor packages tend to have scattered
dependencies and missing versions. This commit replaces git-based
packages with tool-generated Spack package recipes with correct
dependencies and descriptions in place.

* Fix some broken package names, add periods to title docstrings

* r-clue: new package at 0.3-57

* r-genomeinfodbdata: add 1.2.1

* r-gofuncr: new package at 1.4.0

* r-pfam-db: add 3.8.2

* Add missed package r-genelendatabase

* update r-goseq package

* update r-glimma package

* update r-rots package

* r-org-hs-eg-db: add 3.8.2

* r-vgam: fix incorrect R version

* r-rnaseqmap: new package at 2.42.0

* r-rhdf5lib: new package at 1.6.0

* r-scrime: new package at 1.3.5

* r-delayedmatrixstats: new package at 1.6.0

* r-hdf5array: new package at 1.12.1

* r-biocfilecache: new package at 1.8.0

* r-ctc: add new versions, dependencies

* r-genemeta: new package at 1.56.0

* r-scrime: fix flake8

* r-ensembldb: add missing dependencies

* Added missing dependencies to packages with certain DESCRIPTIONS

* r-mapplots: new package at 1.5.1

* r-beachmat: new package at 2.0.0

* r-beeswarm: new package at 0.2.3

* r-biocneighbors: new package at 1.2.0

* r-biocsingular: new package at 1.0.0

* r-ecp: new package at 3.1.1

* r-enrichplot: new package at 1.4.0

* r-europepmc: new package at 0.3

* r-ggbeeswarm: new package at 0.6.0

* r-ggplotify: new package at 0.0.3

* r-ggraph: new package at 1.0.2

* r-gridgraphics: new package at 0.4-1

* r-rcppannoy: new package at 0.0.12

* r-rcpphnsw: new package at 0.1.0

* r-rsvd: new package at 1.0.1

* r-scater: new package at 1.12.2

* r-singlecellexperiment: new package at 1.6.0

* r-tximport: new package at 1.12.3

* r-upsetr: new package at 1.4.0

* r-vioplot: new package at 0.3.2

* r-readr: add 1.3.1

* r-matrixstats: add 0.54.0

* r-ecp: flake8 fix

* r-biocmanager: new package at 1.30.4

* update bioconductor packages requiring BiocManager, new versions

* r-lambda-r: add 1.2.3

* r-vegan: add 2.5-5

* r-cner, r-rcppannoy, r-reportingtools, r-rsvd: add missing newlines at EOF

* r-chemometrics: flake8 fixes

* r-vgam: flake8 fixes

* CRAN packages: use cloud.r-project.org

* Use DESCRIPTION for R version constraints over bioconductor releases

* Update missed packages ABAData, acde, affydata

* Update remaining missed packages

* bio: Drop 'when' clause from first checksummed versions

* bio: improve package description generation logic

* r-genomeinfodbdata: use explicit sha256 sums

* r-pfam-db: update dependencies, add 3.10.0

* update r-org-hs-eg-db

* r-dirichletmultinomial: re-add gsl

* r-polyclip: new package at 1.10-0

* r-farver: new package at 1.1.0

* r-tweenr: new package at 1.0.1

* r-ggforce: new package at 0.3.1

* r-ggforce: remove redundant dep

* r-ggraph: add missing deps

* r-rcpphnsw: remove redundant depends_on

* r-reportingtools: re-add r-r-utils dep

* r-rhdf5: add gmake dep

* r-rhtslib: add system dependencies

* r-rsamtools: add gmake dep

* r-farver: remove redundant dep

* r-tweenr: remove redundant dep

* r-variantannotation: add gmake dep

* r-rgraphviz: add graphviz dep

* r-vsn: correct r-hexbin constraint

* r-scater: fix obsolete deps

* r-variantannotation: fix gmake dep type

* r-scater: tighten R version constraints

* r-rsamtools: fix gmake dep type

* r-rhtslib: fix gmake dep type

* r-rhtslib: use xz over lzma

* r-rhdf5: fix gmake dep type

* r-farver: replace with newer recipe for 2.0.1

* r-mzr: remove old dependency

* r-reportingtools: remove builtin dependency

* r-mzr: add gmake dep

* r-rhtslib: make system libraries link deps

* r-genomeinfodbdata: fix R version constraints

* r-geoquery: remove old deps from new versions

* r-genomicfeatures: tighten r-rmysql dep

* r-ensembldb: tighten r-annotationhub dep

* r-complexheatmap: fix r-dendextend dep

* r-cner: fix utils dep name

* r-clusterprofiler: fix r-gosemsim version req

* r-biostrings: fix r-iranges version reqs

* r-rhdf5lib: add gmake dep

* r-oligoclasses: fix r-biocinstaller dep range

* r-organismdbi: fix r-biocinstaller dep range

* r-hdf5array: add gmake dep

* r-gtrellis: tighten r-circlize version req

* r-gostats: fix r-graph version req

* r-glimma: fix old dependency ranges

* r-biostrings: syntax fix

* r-organismdbi: syntax fix

* r-dose: fix r-igraph dep

* r-dose: fix r-scales, r-rvcheck deps

* r-affy: fix r-biocinstaller dep

* r-ampliqueso: fix homepage

* r-aneufinder: fix r-biocgenerics dep

* r-beachmat: fix changed deps

* r-biocneighbors: fix old R constraint

* r-biocmanager: rewrite recipe for 1.30.10

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-27 20:57:15 -06:00
Rene Gassmoeller
0f46c3452f Add version 2.1.0 to 'aspect' package (#13830) 2019-11-27 20:04:00 -06:00
iarspider
6d7250f59c Update cartopy version and fix recipe (#13898)
* Update cartopy version and fix recipe

Cartopy 0.17.0 works fine with proj 6

* Update cartopy version and fix recipe

Cartopy 0.17.0 works fine with proj 6

* Set ACCEPT_USE_OF_DEPRECATED_PROJ_API_H flag when building extension

* Add variants to py-cartopy recipe as suggested

* Fix proj dependency

* Split dependency

* Fix PEP-8; remove extra dependency
2019-11-27 20:01:05 -06:00
Nichols A. Romero
d7db42e201 QMCPACK Update Nov2019 (#13832)
* Bump up QE version number to 6.4.1.

* Fix QMCPACK conflicts.

* HDF5 dependencies where over specified which could cause unnecessary installs of HDF5.

* Update QMCPACK testing option.

* Remove support for serial QE 6.4.1 converter. Add support for parallel QE 6.4.1. converter with serial HDF5.

* Switch to setup_run_environment.

* Fix setup_run_environment call arguements.

* Fix typo.

* switch run_env to env
2019-11-27 16:37:51 -06:00
Ken Raffenetti
85ce22a0b8 mpich: Add ucx dependency (#13921) 2019-11-27 16:34:46 -06:00
Federico Ficarelli
484dab6bac cuda: add polymorphic package versions (#13912) 2019-11-27 15:45:07 -06:00
Marc Mengel
206e7bd5aa scm-git-archive python package (#13915)
* scm-git-archive python package

* flake8

* per comments
2019-11-27 15:43:19 -06:00
Marc Mengel
7125d7eebe New package: py-cheroot (#13583)
* package py-cheroot

* package py-cheroot

* autopep8, docutils cleanup

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

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

* missing deps

* flake8

* license bits

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

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

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

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

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

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

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

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

* python dep

* flake8
2019-11-27 14:02:43 -06:00
Howard Pritchard
399336ae89 openmpi: add 3.1.5 and 3.0.5 (#13918)
Note to spack people: these are expected to be end of line releases for both the 3.1.5 an 3.0.5 releases

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2019-11-27 14:02:05 -06:00
Adam J. Stewart
3cc8c93883 json-fortran: get unit tests working (#13919) 2019-11-27 13:15:55 -06:00
iarspider
9e397042a7 Fix py-pyarrow recipe (#13914)
Fix name of one dependency
2019-11-27 12:21:01 -06:00
t-karatsu
515f1466c8 accfft: fix narrowing error. (#13909) 2019-11-27 10:15:22 -06:00
健美猞猁
f07131a390 Bump intel compiler suite to 2019u5. (#13835)
* Bump intel compiler suite to 2019u5.

* Remove a duplicate line.
2019-11-27 10:04:48 -06:00
Oliver Breitwieser
d207dceb3a Fix py-line-profiler incompatible decorators (#13911)
`@run_after` and `@when` are incompatible, issue #12736.
2019-11-27 15:30:53 +01:00
Hadrien G
51ee8aa639 ACTS: added version v0.11.1 (#13910) 2019-11-27 15:18:49 +01:00
Tim Haines
c80792fc06 Add version check when building intel-tbb with clang (#13893)
* Add version check when building with clang

* Update for flake8 formatting
2019-11-26 23:15:17 -06:00
Christoph Junghans
07325f5fd0 votca: help concretizer (#13906)
* votca: help concretizer

* flake8
2019-11-26 21:47:42 -06:00
darmac
cfe9550bfe add new package : sysstat (#13907) 2019-11-26 21:01:04 -06:00
Greg Becker
1450c30656 use semicolons instead of newlines in module/python command (#13904) 2019-11-26 17:09:24 -08:00
Adam J. Stewart
ad1ad83664 IntelPackage: setup_env -> setup_build_env (#13888) 2019-11-26 16:48:32 -06:00
Massimiliano Culpo
f6781d65f0 buildcache list: do not display duplicate specs (#13758)
fixes #13757
2019-11-26 13:24:15 -07:00
Eric Martin
11e3e332bd metabat: add versions 2.14 and 2.13 (#13369)
* metabat: add versions 2.14 and 2.13

* update build environment

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-26 14:14:11 -06:00
Axel Huebl
6bc2012ff1 MPark.Variant: Patch NVCC C++14 Build (#13901)
Fix an issue with NVCC when building with C++14.
2019-11-26 13:07:02 -07:00
Andreas Baumbach
3cfab76d25 update py-nbconvert (#13422)
* update py-nbconvert

* add setuptools dependency, like all the other jupyter packages
  it seems to be using setuptools for some commands all the time
  but requires it for the newest version
* added dependencies, not necessarily only needed for the latest one
* depends on new packages (defusedxml, pandocfilters, testpath)
* should also be moved to pypi sources?
* '@5:@5:' is a valid spec -> intended?

* make dependencies optional

* Update dependencies and add description

* relax py-mistune dependency restriction

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-26 12:25:48 -06:00
Andreas Baumbach
7764fd0833 new package: py-arrow (#13575)
* new package: py-arrow

* actually use dependencies from 0.14.7 not from current HEAD

* drop dependencies that dont appear in the source

* readd sphinx as doc dependency

* update dependencies

* drop doc-only dependencies
2019-11-26 12:24:02 -06:00
Roman Briskine
eb0561735d Update Mathematica recipe (#13679)
* Add licensing; replace url with url_for_version; create .spack dir during installation; symlink wolframscript; generate spec.yaml if missing

* Reverted url change, .spack directory creation, and spec.yaml generation

* Fix formatting issues
2019-11-26 12:22:31 -06:00
noguchi-k
18cf751d13 ocaml: fix url (#13749) 2019-11-26 12:21:29 -06:00
sknigh
260a4c4904 Days since OpenMPI+UCX trashed my cluster: 0 (#13818) 2019-11-26 12:20:17 -06:00
Matt Larsen
8b85a6ca14 silence vtkm logging until it does not report false positives to std::cerr (#13845) 2019-11-26 12:19:36 -06:00
darmac
b75f2e2c24 add new package : busybox@1.31.1 (#13871)
* add new package : busybox@1.31.1

* 1. add some other version for busybox
2. change Busybox class to MakefilePackage
3. move make('defconfig') and make() to build() function
4. change install_tree('', prefix) to install_tree('.', prefix)
2019-11-26 12:19:16 -06:00
darmac
327de3b3d4 add new package : blktrace (#13872)
* add new package : blktrace

* modify install_tree('', prefix) to install_tree('.', prefix)
2019-11-26 12:19:01 -06:00
noguchi-k
8ea4692ee9 lsof: fix url and checksum (#13801)
* lsof: fix url and checksum

* lsof: change the download url, add list url and version 4.91, 4.90
2019-11-26 12:10:14 -06:00
Massimiliano Culpo
77c206185b Remove warning from the "Custom Extensions" section of the docs (#13804)
Extensions have been available for a while and the overall design
seems solid enough to be feasible for extensions without losing
backward compatibility.
2019-11-26 09:30:49 -08:00
Axel Huebl
7a81c37bde Package Index: Build in Dockerhub (#13810)
* Package Index: Build in Dockerhub

Prepare to build the package index service, packages.spack.io,
on Dockerhub.

Local build (in spack root dir):
```
docker build -t spack/packages.spack.io:latest -f share/spack/docker/package-index/Dockerfile .
```

Local test:
```
docker run -p 8080:80 spack/packages.spack.io:latest
```

* Travis-CI: Remove Docker

Remove leftover docker stages from Travis-CI.

* Simplify Split Call
2019-11-26 10:11:29 -07:00
健美猞猁
1291ca3410 Bump miniconda2 miniconda3 to 4.7.12.1 . (#13897) 2019-11-26 10:52:07 -06:00
Rao Garimella
52d0940b42 Variant for enabling tests, versions, cleanup (#13882)
* add variant for enabling testing

* enable tests and clean up other options

* add numbered versions

* updates to avoid enable_tests variant; correct versioning

* fixes for style

* appropriate partitioners are enabled if 'all' is specified - so no need to check in spec

* define url so spack knows how to fetch the tar.gz files for different versions
2019-11-26 10:48:34 -06:00
Vivek Kale
07cda58bcc Updating package for SOLLVE (#12607)
* Add SOLLVE package with Shintaro's help on rebasing.

Co-authored-by: Vivek Kale <vivek.lkale@gmail.com>

* sollve: reflect suggestions by @adamjstewart

* sollve: update target detection

Copied from llvm/package.py.

* sollve: fix a few things

- url -> git
- remove git in version()
- explicit cmake options in else clauses
- add newlines for better readability
2019-11-26 10:45:27 -06:00
Hector Martinez-Seara
ad2cc38f22 Py-pymol package has been updated to the latest version (#13764)
* Added new package libmmtf-cpp required by py-pymol

* Added SPDX-License-Identifier to MIT

*  Updated py-pymol to version 2.3.0

* py-pymol: Added mising py-pmw dependency

* py-pymol: flake8 minor change

* py-pymol: Added patch for apbstools_tcltk8.6

This patch is borrowed from archlinux
https://bugs.archlinux.org/task/39526

* libmmtf-cpp: flake8 compliance

* libmmtf-cpp: flake8 compliance

* libmmtf-cpp: change license to  (Apache-2.0 OR MIT) when refering to the MIT license

* libmmtf-cpp: Added header text about license as in examples

* py-pymol: removed unnecesary dependency mesa-glu

* py-pymol: removed unnecesary patch

* py-pymol: Removed empty line at the end of the file to comply with flake8.
2019-11-26 10:42:39 -06:00
Christoph Junghans
7d3d03dea9 cmake: add support for xlf and ninja (#13796) 2019-11-26 11:29:25 -05:00
darmac
577391e62b httperf: added new package (#13875) 2019-11-26 13:38:48 +01:00
Joe Koning
c171ff6335 Add the py-coloredlogs package (#13852)
* Add the py-coloredlogs package

* Remove extraneous line.

* Remove dashed line.

* Add version for humanfriendly dep and build to type.

* Change source url to use pypi.
2019-11-25 16:56:34 -06:00
Hadrien G
b4049c484f Forgot a trailing _PLUGIN (#13884) 2019-11-25 16:56:09 -06:00
Andreas Baumbach
5c8e34160d add new versions to py-mistune (#13887) 2019-11-25 16:55:53 -06:00
Tim Haines
7872435753 Add intel-tbb versions 2019.5 to 2019.8 (#13891) 2019-11-25 16:52:46 -06:00
G-Ragghianti
0aab6068ff Improved library access for lm-sensors and implemented use in papi. (#13885)
* Improved library access for lm-sensors and implemented use in papi.

* Fixed comment formatting

* Removed explicit "None" from return of libs().

* Added two new software release versions.
2019-11-25 15:42:14 -06:00
René Widera
9c10b80591 add package cuda@10.2.89 (#13819)
* add package cuda@10.2.89

add CUDA 10.2 support

* CudaPackage: Add 10.2 Conflicts

* CUDA: Modernize Run Environment

See #11115
2019-11-25 13:23:48 -06:00
David M. Rogers
552ffed171 Updated LAMMPS package to use gpu and kokkos options. (#13886) 2019-11-25 13:22:31 -06:00
iarspider
3eb1a0226d Fix ROOT dependencies (for +r variant) (#13839) 2019-11-25 13:02:03 -06:00
Sinan
70e4377348 Mapnik: fix runtime error involving py-pycairo and PDF (#13865)
* fix runtime error involving py-pycairo and PDF

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

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

* fix env setup
2019-11-25 13:01:14 -06:00
Joe Koning
c349759acd Add the py-importlib-resources package (#13854)
* Add the py-importlib_re package

* Rename package to conform with spack naming convention.

* Rename package to py-importlib-resources
Add python depend modules for previous python versions and depends_on python.

* Add whitespaces.
2019-11-25 13:00:45 -06:00
Toyohisa Kameyama
87e757ee93 cctools: fix python related error. (#13802)
* cctools: fix python related error.

* patch bugfix.
2019-11-25 12:57:09 -06:00
Sinan
448e09e5b2 Add latest version of bazel (#13813)
* use bazel commit in #13112, and add version 0.24.1, and corresponding cc_env patch

* undo preferred java version by dodo47

* patch for v0.26

* Update install steps

* Add patches for more versions

* Add unit tests

* Update patches for new Spack env vars

* env is already defined, use spackEnv
2019-11-25 11:59:12 -06:00
Joe Koning
289aa6ad8a py-celery: added new package (#13851) 2019-11-25 16:28:06 +01:00
Joe Koning
be9c551add py-amqp: added new package (#13848)
* Add the py-amqp package

* Add the py-vine dependency.

* Add vine version and python dependency.
2019-11-25 16:26:59 +01:00
iarspider
53c2b618da py-qtpy: enable use with pyqt5, pyside and pyside2 (#13837) 2019-11-25 16:14:57 +01:00
Joe Koning
0cb5460a52 py-kombu: added new package (#13855) 2019-11-25 16:02:03 +01:00
t-karatsu
b8c18068c2 prank: use Spack compilers and remove x86_64 opts from Makefile (#13877) 2019-11-25 15:14:18 +01:00
darmac
3a94c032c7 netperf: added new package (#13876) 2019-11-25 15:12:32 +01:00
darmac
bb6a203fe1 ltp: added new package (#13878) 2019-11-25 14:38:25 +01:00
Hadrien G
fa37387373 ACTS v0.11.0 + adding maintainer (#13880) 2019-11-25 14:33:16 +01:00
darmac
2f2dd879f7 add new package : py-cssselect (#13879) 2019-11-25 14:32:04 +01:00
Oliver Breitwieser
4c4aba5f9e ack: Fix install modifying download cache (#13836)
This makes several installs from the same download cache impossible once
the hash of the used perl-install changes.

Fixes: #13824

Change-Id: I5f10d9d54ae999d0ca7e4171f989dfca2e6a7169
2019-11-24 17:33:49 -06:00
Christoph Junghans
959f52dbf5 tinker: initial commit (#13869) 2019-11-24 10:31:15 -07:00
Christoph Junghans
8b1d800d53 ncurses: don't run strip internally (#13843)
* ncurses: don't run strip internally

* setup_environment -> setup_build_environment

* fix ABI change
2019-11-23 20:47:59 -07:00
Adam J. Stewart
c3c5abb9cc py-matplotlib backend dependencies needed at runtime (#13867) 2019-11-23 21:23:45 -06:00
Adam J. Stewart
42a0061cb0 Add py-scipy 1.3.3 (#13866) 2019-11-23 16:50:02 -06:00
Joe Koning
c7472e0cbe Add the py-humanfriendly package (#13853) 2019-11-23 19:12:03 +01:00
Adam J. Stewart
e5588880d5 Fix setuptools dependency in py-snowballstemmer (#13844) 2019-11-23 15:25:24 +01:00
Joe Koning
0a14a0c48d Add the py-billiard package (#13849) 2019-11-23 14:14:28 +01:00
Joe Koning
836b6016e4 Add the py-parse package (#13856) 2019-11-23 09:36:29 +01:00
Joe Koning
2c8a867a81 Add the py-vine package (#13857) 2019-11-23 09:35:07 +01:00
Sajid Ali
ff64004a7b likwid: added version 5.0.0 (#13858) 2019-11-23 09:21:59 +01:00
Joe Koning
99650d6caf py-cached-property: added new package at v 1.5.1 (#13850) 2019-11-23 09:20:24 +01:00
darmac
b95961d26b ethtool: new package at version 4.8 (#13864) 2019-11-23 09:17:49 +01:00
Satish Balay
da883f2270 petsc: add version 3.12.2 (#13859) 2019-11-22 20:35:16 -06:00
George Hartzell
48420d0c24 New package: py-wub, with supporting fixes (#13773)
* Add py-wub, with supporting fixes

- add py-wub
- add py-pycmd because py-wub needs it
- update py-statsmodels, which needs at least v0.9.0 to work with
  python3.7 because cython.

* Update based on Adam's comments

* Fix dependency types for py-six in py-wub

* statsmodels tests fail, update comment w/ Issue #

The statsmodels tests weren't run in the previous version of the
package.  If I enable them, the fail.

Update the package comment with the statsmodels issue I opened to
track the problem:
https://github.com/statsmodels/statsmodels/issues/6263

* Update dependency types in py-wub/package.py

* flake8 cleanups

* Make statsmodels tests work

- need to use patsy@0.5.1:
- need to run the tests from within the build/lib* dir
2019-11-22 20:34:43 -06:00
Greg Becker
6c55a7c85f cmd/install: remove unused install_status option (#13751)
* cmd/install: remove unused install_status option

* update bash completions for spack install
2019-11-22 11:17:37 -07:00
Massimiliano Culpo
f53abbecd3 Remove mirrors from Travis cache (#13841) 2019-11-22 19:00:00 +01:00
Christoph Junghans
b23d2efd99 votca-*: add v1.5.1 (#13822) 2019-11-21 16:09:03 -07:00
Massimiliano Culpo
0684a58d16 Fixed detection for cascadelake microarchitecture (#13820)
fixes #13803
2019-11-21 13:09:48 -07:00
George Hartzell
73038a3f51 Add mg, a gnu-emacs like fork of microemacs (#13812)
* Add mg, a gnu-emacs like fork of microemacs

* Use Package, since not really an Autotools package

Switch from AutotoolsPackage to Package.  Even though mg has a
configure script, it's not really an Autotools package.

* Need to also provide --prefix to configure
2019-11-21 11:40:13 -07:00
Toyohisa Kameyama
bed7e40dcc cbtf-krell: add rpcsvc-proto and libtirpc dependency. (#13800) 2019-11-21 11:38:09 -07:00
Elizabeth Fischer
9a6a19d464 doxygen: added missing dependencies to the package (#10589)
See http://www.doxygen.nl/manual/install.html
2019-11-21 15:30:31 +01:00
t-karatsu
49b9365205 texinfo: fix unescaped braces, and update locale handling (#13815)
* texinfo: Fix unescaped braces for older version.

* texinfo: update locale handling.
2019-11-20 20:54:55 -07:00
Shintaro Iwasaki
71cd91e4c1 update Argobots and BOLT (#13765)
* argobots: update to 1.0rc2

* bolt: update to 1.0rc3

* argobots/bolt: add maintainers

* argobots: use "master" for the master branch
2019-11-20 19:04:46 -07:00
Douglas Duckworth
100fcc2c8e added hmmer v 3.3 (#13793) 2019-11-20 19:04:27 -07:00
Brian Van Essen
2f069b571d Updated versions numbers for Aluminum and Hydrogen. (#13814) 2019-11-20 19:04:01 -07:00
Paul Ferrell
fb3a3ba95e mirror bug fixes: symlinks, duplicate patch names, and exception handling (#13789)
* Some packages (e.g. mpfr at the time of this patch) can have patches
  with the same name but different contents (which apply to different
  versions of the package). This appends part of the patch hash to the
  cache file name to avoid conflicts.
* Some exceptions which occur during fetching are not a subclass of
  SpackError and therefore do not have a 'message' attribute. This
  updates the logic for mirroring a single spec (add_single_spec)
  to produce an appropriate error message in that case (where before
  it failed with an AttributeError)
* In various circumstances, a mirror can contain the universal storage
  path but not a cosmetic symlink; in this case it would not generate
  a symlink. Now "spack mirror create" will create a symlink for any
  package that doesn't have one.
2019-11-20 17:00:44 -07:00
t-karatsu
9cd778f152 ampliconnoise: Change return type of function. (#13766)
* ampliconnoise: Change function type.

* ampliconnoise: updated api call to setup run environment
2019-11-20 16:03:51 -07:00
健美猞猁
1e52aa750a find-circ: a new package. (#13767)
* find-circ: a new package.

* flake8.
2019-11-20 16:02:34 -07:00
健美猞猁
5e9ca0f939 miranda: a new package. (#13768) 2019-11-20 16:01:41 -07:00
Figroc Chen
ace47cecbe tensorflow-serving-client: add new package (#13771) 2019-11-20 16:01:04 -07:00
t-karatsu
af9281b843 bpp-suite: Clarify 'isinf' function's namespace. (#13777) 2019-11-20 15:52:44 -07:00
David Hows
ad4986be94 Fix for overlong shebang in valgrind (#13779)
Fix for some overlong shebangs in valgrind. Borrowed from verrou/package.py
2019-11-20 15:50:14 -07:00
noguchi-k
894267e02e py-numexpr3: fix version (#13781) 2019-11-20 15:49:13 -07:00
Ken Raffenetti
f25cf16b11 mpich: Add 3.3.2 (#13790) 2019-11-20 15:48:11 -07:00
Justin S
63874db562 genrich: new package at 0.6 (#13791) 2019-11-20 15:47:36 -07:00
Justin S
38ae7ab6cd sentieon-genomics: add 201808.07 (#13794) 2019-11-20 15:46:22 -07:00
Adam J. Stewart
4e4e3d192e Add old version of py-gast (#13806) 2019-11-20 15:21:03 -07:00
Adam J. Stewart
0d1e9c6e06 Add py-google-pasta package (#13807) 2019-11-20 15:20:47 -07:00
Adam J. Stewart
d43364d679 Add new py-grpcio package (#13808) 2019-11-20 15:20:28 -07:00
Adam J. Stewart
d19eb21181 Add c-ares 1.15.0 (#13809) 2019-11-20 15:20:08 -07:00
Adam J. Stewart
33059daff4 Add old versions and missing dependencies to py-protobuf (#13811) 2019-11-20 15:19:47 -07:00
Adam J. Stewart
ea42d67a9a Add old version of jdk (#13805)
* Add old version of jdk

* setup_environment -> setup_build_environment
2019-11-20 15:19:22 -07:00
Brian Van Essen
66cf530459 Added package for Clara command line parser (#13763)
* Added package for Clara command line parser
2019-11-20 00:12:43 -07:00
t-karatsu
513fe55fc3 Features/expand microarch for aarch64 (#13780)
* Add process to determine aarch64 microarchitecture

* add microarchitectures for thunderx2 and a64fx

* Add optimize flags for gcc on aarch64 family processors thunderx2 and a64fx.

* Add optimize flags for clang on aarch64 family processors thunderx2 and a64fx

* Add testing for thunderx2 and a64fx microarchitectures
2019-11-20 00:01:12 -07:00
albestro
f25a4ab089 add MAX_CPU_COUNT variant to HPX package (#13769)
* add MAX_CPU_COUNT variant to HPX package

* compatibility with python2

* correct variant description

Co-Authored-By: Mikael Simberg <mikael.simberg@iki.fi>

* add maintainers list
2019-11-19 12:49:32 -07:00
George Hartzell
d00be588e3 zlib: use setup_build_environment for build env (#13786)
zlib was using the deprecated setup_environment call.  Now it's using
the current setup_build_environment.

(noticed this in some `spack -d` output)
2019-11-19 12:29:35 -07:00
ktsai7
bb0667ceaf add more legion version and expose more flecsi options (#13741)
* add more legion version and expose more flecsi options

* formatting

* update version pointing to master to master

* fix indentation

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* use self.run_tests

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

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2019-11-18 23:51:41 -07:00
Greg Becker
99dfff4475 binary distribution: relocate text files properly in relative binaries (#13578)
* Make relative binaries relocate text files properly
* rb strings aren't valid in python 2
* move perl to new interface for setup_environment family methods
2019-11-18 14:13:42 -07:00
健美猞猁
e433a5dc0b py-rnacocktail: a new package. (#13761)
* py-rnacocktail: a new package.

* flake8.

* Add build-time dependencies.
2019-11-18 14:09:39 -07:00
albestro
e0746a2a07 fix libxml2 url (#13770)
http to https
2019-11-18 10:58:16 -07:00
Xavier Delaruelle
e5b3202352 environment-modules: add version 4.4.0 (#13772) 2019-11-18 10:53:06 -07:00
Massimiliano Culpo
ab62ad463d py-xattr: fix a package that was pointing to a fork (#13685)
The package now points to the official github repository for master
and to PyPI for release versions.
2019-11-18 12:09:47 +01:00
oracleLee
686e613e94 Update scalpel package.py (#13746)
* Update package.py

Update scalpel version 0.5.4

* Update package.py
2019-11-17 12:45:16 -07:00
Cyrus Harrison
d3c1547dba update to add ascent 0.5.0 release (#13709)
* fix metis src dl url

* update ascent, vtk-h and vtk-m recipes

* update conduit package

* fix vtk-m shas

* mfem conduit fix

* use vtk-h develop

* fix issue with stripped include paths in mfem

* more metis fixes

* simpler fix for mfem conduit include issue

* finish mfem changes

* pin to cmake 3.14, since we hit cuda issues with 3.15

* add rtd theme as dep for ascent

* add vtk-h 0.5.0 release, update ascent to use it

* add ascent 0.5.0 release

* fix cmake pin to allow all vers of 3.14

* fix format string error in mfem pkg

* review fixes for mfem pkg

* review fixes for vtk-h and vtk-m packages

* address review comments for ascent pkg

* changing default off of develop broke downstream use

* revert prefed
2019-11-17 12:36:14 -07:00
Axel Huebl
02f27fc45d openPMD-api: 0.10.0 (#13750)
Add latest release and first to be tagged by number in Spack,
version 0.10.0.
2019-11-17 12:35:40 -07:00
Hector Martinez-Seara
15207bae43 guile package: Handling the threads option. (#13730)
* guile package: Handling the threads option.

Currently guile by default tries to compile its thread variant.
However, the threaded version can only be compiled if bdw-gc is
compiled with some threads support. Currently, the default
compilation of the bdw garbage collector is compiled without any
thread support resulting in a compilation error.

I have changed the the default guile compilation to the non-threaded
version. I have also added the appropiated options for the bdw-gc
compilation in case the user prefers the threaded variant.

* guile package(flake8): fixed identation issues
2019-11-16 14:34:38 -07:00
Nick Booher
c8c8dca5b5 revbayes: add new versions (#13760) 2019-11-16 00:12:38 -07:00
Tim Fuller
3dbafb5ee7 Fix for issue #13754 (#13755)
* remove reference to `spack.store` in method definition

Referencing `spack.store` in method definition will cache the `spack.config.config` singleton variable too early, before we have a chance to add command line and environment scopes.
2019-11-15 13:32:58 -08:00
Adam J. Stewart
5510bba1fd Document use of the maintainers field (#12270)
* Document use of the maintainers field

* Use fake GitHub usernames

* GitHub action is not automatic yet
2019-11-15 13:58:24 -06:00
Greg Becker
c587c76537 Config option to allow gpg warning suppression (#13743)
Add a configuration option to suppress gpg warnings during binary
package verification. This only suppresses warnings: a gpg failure
will still fail the install. This allows users who have already
explicitly trusted the gpg key they are using to avoid seeing
repeated warnings that it is self-signed.
2019-11-14 16:22:01 -08:00
Satish Balay
40c77bf158 xsdk@0.5.0 (#13682)
Update:
 hypre@2.18.2
 mfem@4.0.1-xsdk
 superlu-dist@6.1.1
 trilinos@12.18.1
 - dtk-3.1
 petsc@3.12.1
 dealii@9.1.1
 pflotran@xsdk-0.5.0
 alquimia@xsdk-0.5.0
 sundials@5.0.0
 plasma@19.8.1
 magma@2.5.1
 amrex@19.08
 slepc@3.12.0
 omega-h@9.29.0
 strumpack@3.3.0
 pumi@2.2.1
 tasmanian@7.0
 phist@1.8.0

New:
 ginkgo@1.1.0
 py-libensemble@0.5.2
 precice@1.6.1
 butterflypack@1.1.0

Add variants:
 ginkgo
 libensemble
 precice
 butterflypack
 strumpack
 trilinos

tasmanian:  use ~openmp only on OSX
precice: disable on OSX
enable sundials+superlu-dist
sundials+superlu-dist requires OpenMP 4.5+ (so enable only for gcc@6.1+)
enable mfem+sundials
enable sundials+petsc+superlu_dist
remove hypre~internal-superlu
petsc: build with +batch on cray
precice: use ~petsc on cray
libensemble: add as runtime dependency for PYTHONPATH
2019-11-14 16:36:51 -06:00
t-karatsu
94c9e5f9a0 z3: bugfix about python dependency and fallthrough annotation. (#13713)
* z3:

* Fixed python dependency to always be required.

* bugfix about fallthrough annotation.

* z3: Add patch for before ver.4.4.1.

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-14 16:28:05 -06:00
Seth R. Johnson
e670476024 Mark conflicts between newer packages and Intel 14 compilers (#13729)
* Mark compiler/version conflict for CMake

Intel 14 lacks some C++11 features needed to compile new versions of
cmake.
```
/tmp/s3j/spack-stage/spack-stage-cmake-3.15.5-46lgp4ybhopy2p4rr66rxnew5iaddvmg/spack-src/Source/
cm_static_string_view.hxx(28): error: expected an operator
   friend static_string_view operator"" _s(const char* data, size_t
                                     ^
```

* Mark compiler/version conflict for icu4c

With Intel 14.0.4 on Linux for icu4c 60.1 and higher:
```
locid.cpp(1156): error #1140: a using-declaration may not name a constructor or destructor
        using KeywordEnumeration::KeywordEnumeration;
```

* Mark compiler/version conflict for nasm

Error installing `nasm@2.14.02%intel@14.0.4`:
```
In file included from nasmlib/crc64.c(35):
./include/nasmlib.h(116): error: expected a ";"
  fatal_func nasm_assert_failed(const char *, int, const char *);
```

* Mark compiler/version conflict for bison

Installing `bison@3.4.2%intel@14.0.4`:
```
In file included from /tmp/s3j/spack-stage/spack-stage-bison-3.4.2-
uzjszv4owvqsymjpxtxvvegfavc6k5my/spack-src/lib/quotearg.c(33):
/tmp/s3j/spack-stage/spack-stage-bison-3.4.2-uzjszv4owvqsymjpxtxvvegfavc6k5my/spack-src/lib/
xalloc.h(51): warning #303: explicit type is missing ("int" assumed)
  extern _Noreturn void xalloc_die (void);
```

* Mark compiler/version conflict for icu4c

With `icu4c@60.1%intel@16.0.4` and `icu4c@64.1%intel@16.0.4`:

```
In file included from ucurr.cpp(26):
static_unicode_sets.h(130): error #913: invalid multibyte character sequence
      {POUND_SIGN, u'£'},
                     ^
```

* Change conflict comments into messages
2019-11-14 16:27:36 -06:00
George Hartzell
7a6c7f23a0 py-matplotlib only needs backports when ^python@:2 (#13712)
* py-matplotlib only needs backports when ^python@:2

This implements @scheibelp's suggestion in #13711.

py-matplotlib should only depends_on py-backports-functools-lru-cache
when it's using a python that actually *needs* it.

See #13711 for details.

* Don't depend_ons py-enum34 unless python@:3.3

* Tighten up enum34 dependency

@adamjstewart cracked open the setup.py files and suggested a tighter
dependency for py-enum34.  1.4 and 1.5 only require it for pythons
before 3.4, 1.3 requires it unconditionally.  So...., we'll do the
same.

* Remove conflict on python 3.4 from enum34

at @adamjstewart's request see PR notes
2019-11-14 16:26:44 -06:00
Gregory Lee
8490587c76 add boost dependency to stat package (#13735) 2019-11-14 16:26:24 -06:00
xfzhao
2fb5df0284 update to v0.6.4 (#13737) 2019-11-14 16:26:08 -06:00
Emir İşman
46871416b1 Update DMTCP package to v2.6.0 (#13739) 2019-11-14 16:20:44 -06:00
Nicholas Sly
d79d11b6d4 Removed github repository and develop version from dataspaces package as it is no longer present/accessible. (#13740) 2019-11-14 16:20:13 -06:00
xfzhao
11e65661ac update vsearch (#13736) 2019-11-14 16:17:02 -06:00
Massimiliano Culpo
7e84fe966c hwloc: added 'master' version pointing at the HEAD of the master branch (#13731) 2019-11-14 12:06:07 -06:00
Sinan
00bf299e46 new package Qscintilla (with python bindings via py-pyqt ) (#12793)
* qscintilla_with_python_bindings_disabled

* pyqt5 with variant +qsci to compile qscintilla python bindings

* fix a dyn linking issue for Qsci python module

* fix a bug

* fix bug: use sip provided by py-pyqt5

* fix typo

* tidy up, make designer

* tidy up

* fix designer build issue, set env for designer plugin

* tidy up

* tidy up

* minor improvements

* improve style

* build Qscintilla python bindings here

* make qsci config option variant dependent

* get rid of commented out code

* improvements: add resource for qscintilla, improve config_args

* flake8: spaces, blank lines etc

* flake8: fix long lines

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

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

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

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

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

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

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

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

* dont install source tree under prefix

* remove duplicate line

* use os.path.join instead of +

* separate build and run environment setups

* flake8

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

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

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

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

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

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

* fix rsrc path

* use python_include_dir

* use "with working_dir"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* flake8
2019-11-14 12:01:49 -06:00
Matthias Maiterth
ab2b3f30a5 package/geopm: Added versions 1.0.0 and 1.1.0 (#13721)
* package/geopm: Added versions 1.0.0 and 1.1.0

Added changes for 1.1.0 and 1.0.0 in this patch.
Patch for 1.0.0 was previously not merged.
variant for hwloc removed since that is not a dependency since 0.5.1 and
variant('hwloc', when=:0.5.1 is not supported afaik.
made depends_on versions more explicit.

* package/geopm: removed 1.0.0 release candidates 1 and 2.
2019-11-14 12:01:03 -06:00
Hector Martinez-Seara
cd04538bb9 Adding final bug-releases for the gromacs-2016 and -2018 and Plumed (#13715)
* Adding final bug-releases for the gromacs-2016 and -2018

* Added newer versions of plumed and libmatheval not a dependency >v2.5

* plumed package: chamge name git branch to master
2019-11-14 12:00:36 -06:00
Seth R. Johnson
b8916ecc08 Fix libbsd on Intel compilers (#13720)
Libbsd assumes GCC-defined compiler macros:
```
In file included from nlist.c(44):
local-elf.h(238): catastrophic error: #error directive: Unknown ELF machine type
  #error Unknown ELF machine type
   ^
```
The `__amd64__` and `__x86_64__` macros should be equivalent, but the
latter is defined by intel.
2019-11-14 11:59:46 -06:00
Peter Scheibel
3f861e18b0 symlink relativization: determine target relative to the link directory (#13710)
when making a package relative, relocate links relative to link directory

rather than the full link path (which includes the file name) because `os.path.relpath` expects a directory.
2019-11-13 17:51:57 -08:00
sknigh
045e9c905f Added "file" package and added missing depenency to VIM (#13705)
* Added "file" package and added missing depenency to Vim

* added which and grep

* Added gzip

* added missing dependency to gmake
2019-11-13 18:12:10 -06:00
David Böhme
1ed8de8757 Add Caliper v2.2.0 and v2.1.1 (#13723)
* Add Caliper v2.2.0 and v2.1.1

* Add conflict for adiak when for versions <2.2

* Trim trailing whitespace
2019-11-13 18:11:09 -06:00
Greg Becker
43b0356e14 Allow binary relocation of strings in relative binaries (#13725)
Binaries with relative RPATHS currently do not relocate strings
hard-coded in binaries

This PR extends the best-effort relocation of strings hard-coded
in binaries to those whose RPATHs have been relativized.
2019-11-13 16:03:35 -08:00
G-Ragghianti
dc36b4737d Papi components (#13706)
* Added support for papi components.

* Restored sha256 hashes to package files.
2019-11-13 15:49:06 -06:00
Justin S
a2ef7896b7 rnaz: new package at 2.1 (#13707) 2019-11-13 15:48:06 -06:00
thelfer
ff9b03edc3 Fix mgis package dependency on boost/numpy (#13717) 2019-11-13 15:35:09 -06:00
William F Godoy
d6274e1a1d Docs update for deprecated spack sha256 (#13701)
* Docs update for deprecated `spack sha256`

* Added macOS shasum

* Update lib/spack/docs/packaging_guide.rst

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-13 15:21:27 -06:00
Sinan
9ae4f42ab5 new package: sfcgal (#12624)
* new package: sfcgal

* improve meta information

* add variant and optional dependencies

* add cmake options for building with viewer

* improve dependency type

* improve viewer variant

* improve viewer variant

* specify dependency versions

* add ref

* remove depricated variant
2019-11-13 15:19:43 -06:00
Hari Subramoni
1a6bba1632 Update MVAPICH2 package for 2.3.2 release (#13236)
* Update MVAPICH2 package for 2.3.2 release
Update default build from psm to mrail

* Update different provides for older versions based on feedback from Todd Gamblin

* Simplify rule so one rule covers 2.1 and 2.2

* Add support for disabling rpath based on feedback from Dr. Shende

* Add colon based on comment

* Address review comment by Adam Stewart

* Add declaration of the wrapperpath variant.
    - Thanks to Massimiliano Culpo for the comment
2019-11-13 15:18:35 -06:00
Satish Balay
4d37db02da superlu_dist: fix build with xl compilers (#13702)
* superlu_dist: fix build with xl compilers

* fix link error  ../SRC/libsuperlu_dist.so.6.1.1: undefined reference to `ztrtri_'

* Fixed the ordering of the spec on the xl-611 patch.

* fix flake8 error
2019-11-13 15:03:24 -06:00
Chris Green
56de86dda6 root: relax libxml2 requirements when ~python. (#13657)
* Relax libxml2 requirements when ~python.

Per https://github.com/spack/spack/issues/13637#issuecomment-552026561

* Satisfy package_sanity.py::test_prs_update_old_api.
2019-11-12 23:33:47 -08:00
Satish Balay
53b2add34f strumpack: revert default to ~shared [i.e behavior before this variant was added] as +shared fails on multiple builds (#13703) 2019-11-12 20:22:34 -06:00
Todd Gamblin
da386b560a docs: use nicer looking code blocks in docs (#13708)
- [x] Use higher contrast terminal output font
- [x] Use higher contrast code block background color than default
- [x] Use a noticeable prompt character

See also https://github.com/spack/spack-tutorial/pull/10.
2019-11-12 18:18:41 -08:00
Simon Pintarelli
d0de9f8d9d add new version for py-ranger-fm (formerly py-ranger) (#13681)
- download from pypi, drop 1.7.2
- drop 1.7.2, it is not available from pypi
2019-11-12 12:05:18 -06:00
sknigh
1ae824737e Add missing dependencies to flex. (#13692) 2019-11-12 12:01:15 -06:00
h-denpo
2b6c4245d0 Fixed url. url="https://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz") (#13693) 2019-11-12 11:58:49 -06:00
t-karatsu
ca19fb86c1 damselfly: Add mpi dependency. (#13694) 2019-11-12 11:58:11 -06:00
Adrian Jackson
57aa7ba045 Fixing Fortran MPI compiler reference in mpt package (#13699) 2019-11-12 11:57:07 -06:00
Stephen Hudson
cea7403b67 Update nlopt package to add Python bindings to PYTHONPATH (#13688)
* Update nlopt package to add Python bindings to PYTHONPATH

* Use extends for nlopt/python fix

* nlopt - change develop to master and add python dep qualifiers
2019-11-12 11:46:12 -06:00
Massimiliano Culpo
826e8c6394 athena, mvapich2, spectrum-mpi: use new API to setup environment (#13677)
* athena: updated api call to setup build environment

* mvapich2: updated api call to setup build and run environment

* spectrum-mpi: updated api call to setup build and run environment
2019-11-12 11:44:12 -06:00
Frédéric Simonis
b1965fa913 precice: enable petsc by default (#13696) 2019-11-12 11:40:37 -06:00
Satish Balay
cbfdc85d26 trilinos: add version 12.18.1 with dtk-3.1 (#13690) 2019-11-12 07:52:24 -06:00
Satish Balay
9e12b4e95a sundial: add patch for build failure on cori/theta (#13665) 2019-11-12 07:52:05 -06:00
Daryl W. Grunau
5a9389a528 verify.py: os.path.exists exception handling (#13656) 2019-11-11 17:47:47 -06:00
Simon Pintarelli
e5b38c525e SIRIUS: add new version, add magma support (#13680)
- depends on spfft starting from 6.4.0
- add magma variant
- avoid setting cuda_arch to none
- add python dependencies
- use release as default build type
2019-11-11 16:19:40 -06:00
sknigh
fdb85744e3 added lcov package (#13687) 2019-11-11 15:13:48 -06:00
Adrian Jackson
3eaa790efa Add HPE MPT package (#13616)
* Adding in HMPT package for HPE MPI libraries

* Updating copyright dates

* Renaming HPE MPI package

* Fixing error in package file

* Tidying up defintions and linting

* liniting

* Adding in library setup so packages that want to manually add mpi libraries can do so (i.e. npb)

* Linting

* Linting

* Investigating old API errors

* Investigating api errors

* Investigating api errors

* Investigating api errors

* Investigating api errors

* Investigating api errors: adding back in functions to see when the build fails

* Investigating api errors: adding back in functions to see when the build fails

* Investigating api errors: adding back in functions to see when the build fails

* Investigating api errors: adding back in functions to see when the build fails

* Investigating api errors: adding back in functions to see when the build fails

* Linting

* Linting

* Fixing

* Fixing
2019-11-11 13:22:20 -06:00
Adam J. Stewart
dc51d676a2 cuDNN: add new versions (#13668)
* cuDNN: add new versions

* cuDNN 9.0 can build against CUDA 9.1

* Undo version format change
2019-11-11 12:53:26 -06:00
Adam J. Stewart
03fb2d61c6 Add new version of Intel MKL-DNN (#13669)
* Add new version of Intel MKL-DNN

* Get OpenMP build working

* lomp is also needed for linking

* http -> https

* Add myself as maintainer
2019-11-11 12:52:53 -06:00
Adam J. Stewart
38da69346c py-scikit-learn: update OpenMP flag (#13683) 2019-11-11 12:52:30 -06:00
Brian Spilner
3eb19b142f new CDO release 1.9.8 (#13674) 2019-11-11 12:52:06 -06:00
Pieter Ghysels
6fc3e73f8d Update ButterflyPACK and STRUMPACK (#13661)
* Add new strumpack version (3.2.0), with new
dependency on ButterflyPACK.

* add ButterflyPACK version 1.1.0

* Add strumpack version 3.3.0, add dependency on ButterflyPACK 1.1.0

* Sort ButterflyPACk versions from newest to oldest

* Add a shared variant for STRUMPACK

* Also allow possible newer versions of ButterflyPACK
2019-11-11 12:24:13 -06:00
Phil Carns
4934448065 pmdk: fix x86_64 arch check (#13676) 2019-11-11 15:46:44 +01:00
Adam J. Stewart
bd9907809e environments: don't try to modify run-env if a spec is not installed (#13589)
Fixes #13529
Fixes #13509
2019-11-11 13:02:36 +01:00
Adam J. Stewart
e10f8fe531 py-numpy: added version 1.17.4 (#13670) 2019-11-11 11:26:21 +01:00
Adam J. Stewart
901da240f3 CMake: added version 3.13.5 (#13671) 2019-11-11 11:25:50 +01:00
Axel Huebl
86202a5ad0 nlohmann-json 3.7.2 (#13672)
Add the latest bugfix release.
2019-11-11 11:23:50 +01:00
Adam J. Stewart
60070759a0 Improve spack checksum formatting (#13666)
* Improve spack checksum formatting

* Add colon

* Fix Python 2 bug
2019-11-10 16:47:56 -06:00
Adam J. Stewart
1ca91d728a Update default PyTorch variants (#13667) 2019-11-10 16:46:04 -06:00
Adam J. Stewart
ff330631ed Add py-scipy 1.3.2 (#13663) 2019-11-09 19:41:44 -06:00
Adam J. Stewart
834a8be933 Add grass 7.8.1 (#13664) 2019-11-09 19:41:29 -06:00
Kelly (KT) Thompson
550e9907f5 New Package: py-pyside2 (#13647)
* New Package: py-pyside2

https://wiki.qt.io/Qt_for_Python

The Qt for Python project aims to provide a complete port of the PySide module
to Qt 5. The development started on GitHub in May 2015. The project managed to
port Pyside to Qt 5.3, 5.4 & 5.5. During April 2016 The Qt Company decided to
properly support the por

* Address review comments:

+ Add a variant for `+doc` and only depned on some packages if this variant is
  active.
+ Enable building the tests if requested.
+ Correct registered required verions for python and qt.

* Remove dead code, fix depends_on command args.

* fix one more flake8 issue.

* One more fix to  arguments and change  version name to .
2019-11-09 18:22:30 -06:00
Teodor Nikolov
3db3395ed1 hpx: fix incompatible cxxstd with boost and compiling tests (#13660)
* Add a variant for tests and parallelize builds

- Fix a bug with boost defaulting to cxxstd=98 when cxxstd=11 is the
  minimum for hpx
- Disable tests by default and use a variant to enable them if requested
- Enable parallel builds: each process takes up to 1Gb when tests are
  not enabled.

* Remove tests variant

- The variant doesn't change what gets installed. Testing can be
  activated using `spack install --test=root hpx`
2019-11-09 18:21:40 -06:00
Seth R. Johnson
d01a8f7cd6 Fix visit+ (#13652)
* Propagate MPI option in VTK to NetCDF

This fixes a conflict message reads as though NetCDF always requires
hdf5+mpi. It allows `visit~mpi` to resolve correctly without an
additional `^netcdf~mpi`.

* Tell VisIt not to look for 'hdf5_mpi' library
2019-11-09 12:47:04 -06:00
Michael Kuhn
eee3a63a3e graphviz: Fix patch URL (#13654)
* graphviz: Fix patch URL

* Switch setup_environment to setup_build_environment
2019-11-09 12:46:29 -06:00
Figroc Chen
9a4797b74c grpc: update to 1.24.3 (#13658) 2019-11-09 12:42:34 -06:00
Mark Olesen
e27d7479a3 update openfoam versions, sha256 values and download directory (#13653)
- patched versions are located in the same directory as the
  original release. For example, 1906_191103 is located in
  the 'v1906/' directory, not in 'v1906_191103/'.

- add master branch as a known version
2019-11-08 14:46:33 -06:00
Marc Mengel
2584639e34 New Package py-portend (#13584)
* package py-portend

* package py-portend

* autopep8, docutils cleanup

* dependency in wrong package

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

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

* license bits

* dependencies again
2019-11-08 14:44:29 -06:00
Marc Mengel
148566ebd5 new package: py-zc-buildout (#13585)
* package py-zc-buildout

* package py-zc-buildout

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

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

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

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

* license bits

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-08 14:43:49 -06:00
Marc Mengel
ec6b2f7bb1 New Package: py-cherrypy (#13587)
* package py-cherrypy

* package py-cherrypy

* autopep8, docutils cleanup

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

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

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

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

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

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

* portend depends on tempora, not cherrypy directly

* setuptools_scm bits

* dependency one level up

* license bits

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-08 14:41:59 -06:00
Adam J. Stewart
b189d10f1f py-torchvision: add 0.4.2 (#13651) 2019-11-08 14:33:46 -06:00
Axel Huebl
c1ee069d1b openPMD-api: JSON Always On (#13641)
JSON is not a compile-time variant anymore and a mandatory
dependency from now on.
2019-11-08 11:00:10 -06:00
t-karatsu
3c2542f387 fluxbox: fix the comparison method with zero. (#13642) 2019-11-08 10:45:36 -06:00
Jonathan R. Madsen
2eb65f8a5d Timemory (#13503)
* Create timemory/package.py

* Update package.py

* mpi default to on

* Update package.py

* Update package.py

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

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

* Update package.py

* Update package.py

* Update package.py

- cleanup
- python deps specify type
- python 2.6 compatibility
- double quotes to single quotes

* Update package.py

* Update package.py
2019-11-08 10:35:14 -06:00
Frédéric Simonis
3f7fd4037f precice: add compiler conflicts (#13644) 2019-11-08 10:33:00 -06:00
Mark Olesen
f4a1666b1a Update openfoam to use new environment api (ref: #11115, 9ddc98e46a) (#13645)
- build:
  no special treatment - already addressed in the spack-Allwmake script

- run:
  use environment from the OpenFOAM etc/bashrc
2019-11-08 10:32:14 -06:00
Daryl W. Grunau
ae6229dee2 llvm: fix PythonString::GetString for >=python-3.7 (#13631)
* llvm: fix PythonString::GetString for >=python-3.7

* llvm/package.py: fix when the patch should be applied
2019-11-07 19:05:16 -06:00
Marc Mengel
119af6d71b new package: py-tempora (#13582)
* package py-tempora

* package py-tempora

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

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

* missing deps

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

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

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

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

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

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

* license bits
2019-11-07 18:59:38 -06:00
Marc Mengel
a2627da7d9 New package: py-uwsgi (#13619)
* package py-uwsgi

* package py-uwsgi

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

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

* license bits
2019-11-07 18:58:47 -06:00
Marc Mengel
fd01ac0ff1 New package: py-jaraco-functools (#13581)
* package py-jaraco-functools

* package py-jaraco-functools

* autopep8, docutils cleanup

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

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

* missing deps

* license bits

* ...and later versions

* lru cache dep change from adamjstewart
2019-11-07 18:52:32 -06:00
Satish Balay
ff307aa86c Balay/ginkgo 1.1.0 (#13632)
* ginkgo: add version 1.1.0

* Ginkgo: add conflict for gcc older than version 5.3
2019-11-07 18:51:20 -06:00
Todd Gamblin
c9c267518f bugfix: mirror path works for unknown versions (#13626)
`mirror_archive_path` was failing to account for the case where the fetched version isn't known to Spack.

- [x] don't require the fetched version to be in `Package.versions`
- [x] add regression test for mirror paths when package does not have a version
2019-11-07 17:13:51 -07:00
Kelly (KT) Thompson
719ebd18c3 py-pyside: fix setup files to support python 3.5. (#13613)
This fix already exists in the development branch of pyside. See
https://github.com/pyside/pyside-setup/pull/55.
2019-11-07 15:43:49 -06:00
Justin S
8139d7cb69 elmer-fem: add devel branch (#13630) 2019-11-07 15:41:43 -06:00
Adam J. Stewart
9936c8269f PyTorch: Add 1.3.1 (#13629) 2019-11-07 13:47:13 -06:00
Andreas Baumbach
0616c6ada1 (py)arrow: new versions (#13561)
* (py)arrow: new versions

* move py-arrow source to github as not all versions are on pypi
  same checksum as pypi, adding build_directory

* move back to pypi sources

* drop 0.15.0 and 0.14.1 as only .whl are available on pypi

* add new dependencies

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-07 11:52:29 -06:00
Andreas Baumbach
76c15f11e0 new package: py-convertdate (#13573)
* new package: py-convertdate

* Update docstring
2019-11-07 11:51:53 -06:00
Adam J. Stewart
344e4e0d1c Speed up PyTorch build (#13621) 2019-11-07 10:05:50 -06:00
健美猞猁
be56fe0677 bam-readcount: a new package. (#13628) 2019-11-07 10:00:43 -06:00
Josh Deaton
d748df73a3 m4: fixed macOS version identification on patch (#13623)
Patch was not being applied in recent versions of macOS. Homebrew is still applying patch to any version after High Sierra.
2019-11-07 09:43:59 -06:00
Andreas Baumbach
45eecbdbc2 py-jupyter-core add new version and setuptools dependency (#13424)
* py-jupyter-core add new version and setuptools dependency

* update checksums to use pypi

* fixup url and python dep type

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-06 13:30:59 -06:00
Andreas Baumbach
12da0e7152 new package: py-jdatetime (#13569)
* new package: py-jdatetime

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-06 13:25:01 -06:00
Michael Kuhn
6d6716e302 ncview: Fix dependency check (#13615)
netcdf has been renamed to netcdf-c.
2019-11-06 13:24:33 -06:00
Christoph Junghans
0d35ae7f5f gromacs: add v2019.4 and others (#13617)
* gromacs: add v2019.4 and others

* gromacs: fix patch applying
2019-11-06 13:24:14 -06:00
Andreas Baumbach
52afcfac4d new package: py-dateparser (#13574)
* new package: py-dateparser

* take setup.py dependencies into account

* fixup help->description

* reorder dependencies

* drop version constraints not enforced in setup.py
2019-11-06 13:18:37 -06:00
Andreas Baumbach
6b7a51587b new package: py-nodeenv (#13594)
* new package: py-nodeenv

* drop python version requirements, not enforced by setup.py
2019-11-06 13:16:49 -06:00
Andreas Baumbach
4ed56573c4 py-tatsu: new package (#13566)
* py-tatsu: new package

* drop unnecessary dependencies

* drop kanji, add variant, and restrict to future releases
2019-11-06 13:16:05 -06:00
Michael Kuhn
52eba8fb00 netcdf-fortran: Fix parallel builds (#13612)
netcdf-fortran@4.5: will error if netcdf-c has been built with MPI
support:
```
configure: error:
      -----------------------------------------------------------------------
        The NetCDF C library is built with parallel I/O feature enabled, but
        the Fortran compiler '.../lib/spack/env/gcc/gfortran' supplied in this configure command
        does not support MPI-IO. Please use one that does. If parallel I/O
        feature is not desired, please use a NetCDF C library with parallel
	I/O feature disabled. Abort.
      -----------------------------------------------------------------------
```

Copy logic from netcdf-c to add an `mpi` variant.
2019-11-06 11:14:35 -06:00
Michael Kuhn
95bc677445 cdo: Fix with_or_without calls (#13614)
netcdf has been renamed to netcdf-c and udunits2 has been renamed to
udunits.
2019-11-06 11:13:21 -06:00
Andreas Baumbach
e292bef411 new package: py-pymeeus (#13572)
* new package: py-pymeeus

* drop unnecessary dependencies
2019-11-06 11:02:19 -06:00
Andreas Baumbach
ea5c7917ac new package: py-pre-commit (#13570)
* new package: py-pre-commit

* update missing dependencies

* add python version restriction
2019-11-06 11:01:33 -06:00
Andreas Baumbach
2bd1a0ca4c new package: py-aspy-yaml (#13591)
* new package: py-aspy-yaml

* add python version dependency
2019-11-06 10:55:19 -06:00
Michael Kuhn
abce878fad go: Add 1.13.4 and 1.12.13 (#13609) 2019-11-06 11:36:35 +01:00
Axel Huebl
f9dc41f806 pybind11: correct get_include path (#13605)
* pybind11: test get_include path

Helper for non-CMake downstream projects to find the pybind11
header location.

* pybind11: return proper get_include()

use our prefix instead of letting pybind11 trying to self-determine
it from given conda/virtualenv/global rules.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-06 07:15:13 +01:00
Andreas Baumbach
a684efe826 new package: py-ics (#13576)
* new package: py-ics

* drop 0.5 and move to tar-ball

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-05 17:03:31 -06:00
Jordan Ogas
6dabdb7a82 add charliecloud 0.12 (#13599)
* add charliecloud 0.12

* fix typo

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-05 15:51:02 -06:00
Adam J. Stewart
6ffbc9c091 Add GDAL 3.0.2 (#13603) 2019-11-05 15:05:36 -06:00
Axel Huebl
8cbea5f767 mpi4py 3.0.3 (#13601)
* mpi4py 3.0.3

Adds support for Python 3.8 with new Cython files.
I tried to build 3.0.0 with Python 3.8 and this builds as well,
therefor I added no conflict.

* mpi4py: update dependency version ranges
2019-11-05 15:04:49 -06:00
Christoph Junghans
7c018bc2c8 netcdf: fix headers in v4.7.2 (#13600) 2019-11-05 12:56:02 -07:00
Christoph Junghans
10f509b182 elpa: add v 2019.05.002 (#13602) 2019-11-05 12:55:51 -07:00
Adam J. Stewart
27ab045dc1 PyTorch: avoid use of third party vendored deps (#13588)
* PyTorch: avoid use of third party vendored deps

* Flake8 fix
2019-11-05 13:19:07 -06:00
Andreas Baumbach
7a0bed7893 add depends_on(python) to PythonPackage stub (#13595) 2019-11-05 13:18:17 -06:00
Andreas Baumbach
68a34a11bc new package: py-nose-cov (#13571)
* new package: py-nose-cov

* add missing dependencies
2019-11-05 12:57:31 -06:00
Andreas Baumbach
74c81c0fc3 update py-notebook (#13423)
* update py-jupyter-notebook

* add setuptools dependency for newer version
  the whole jupyter collection seems to use setuptools in case of
  certain setup.py-arguments from the very beginning. However the latest
  ones actually require it, otherwise the build will fail
* add newly introduced dependencies

* dependency constraints

* drop terminal variant and update python dep
2019-11-05 12:51:00 -06:00
Andreas Baumbach
35f0003c08 new package py-cfgv (#13592) 2019-11-05 12:47:52 -06:00
Andreas Baumbach
aa2972172a new package: py-identify (#13593) 2019-11-05 12:46:57 -06:00
Douglas Duckworth
54e1d57647 added relion 3.0.8 [latest stable version in 3.0 branch] as well as 3.1_beta (#13539)
* added relion 3.0.8 [latest stable version in 3.0 branch] as well as 3.1_beta

* relion 3.1 beta compiles without Benchmarking build type see https://github.com/3dem/relion/issues/533

* relion 3.0.X - 3.1 now supports latest cmake@3
2019-11-05 12:40:27 -06:00
Todd Gamblin
a6ccb5b2fa bugfix: uninstall should find concrete specs by DAG hash (#13598)
This fixes a regression introduced in #10792.  `spack uninstall` in an
environment would not match concrete query specs properly after the index
hash of enviroments changed.

- [x] Search by DAG hash for specs to remove instead of by build hash
2019-11-05 06:12:12 -07:00
Todd Gamblin
b77974e986 spack find now displays variants and other spec constraints (#13596)
If you do this in a spack environment:

    spack add hdf5+hl

hdf5+hl will be the root added to the `spack.yaml` file, and you should
really expect `hdf5+hl` to display as a root in the environment.

- [x] Add decoration to roots so that you can see the details about what
      is required to build.
- [x] Add a test.
2019-11-05 05:39:56 -07:00
Andreas Baumbach
527d639b0e new package py-testpath (#13417)
* new package py-testpath

dependency of py-nbconvert

* py-testpath: fix flake8

* Remove the unnecessary pip dependency
2019-11-04 19:39:25 -06:00
Andreas Baumbach
4f5d3770c7 update py-pyzmq (#13420)
* update py-zmq

* update dependencies
2019-11-04 19:38:19 -06:00
Andreas Baumbach
0341c38dff update py-jupyter-client and new setuptools dependency (#13425)
* update py-jupyter-client and new setuptools dependency

* update dependencies
2019-11-04 19:28:59 -06:00
xfzhao
18243695c9 Mothur update (#13580)
* add +vserach option

* fixes #967
2019-11-04 19:27:13 -06:00
Gregory Lee
7e2e93b787 added archer 2.0.0 and package build fixes (#13577) 2019-11-04 17:39:16 -06:00
Christoph Junghans
dd7ebcf2d9 portage: fix lapack/blas linkage (#13558) 2019-11-04 16:35:28 -07:00
Andreas Baumbach
0f3ffad430 py-colorama: new version 0.4.1 (#13562)
* py-colorama: new version 0.4.1

* add python dependency
2019-11-04 16:46:29 -06:00
Andreas Baumbach
0b93e95049 py-regex: new version 2019.11.1, w/o setuptools (#13563) 2019-11-04 16:45:47 -06:00
Andreas Baumbach
80f63f7f9b py-dataclasses: new package (#13564) 2019-11-04 16:44:11 -06:00
Andreas Baumbach
6b27d87e7a py-tzlocal: add new version 2.0.0 (#13565) 2019-11-04 16:43:15 -06:00
Andreas Baumbach
3bd7d7f211 new package: py-chai (#13567) 2019-11-04 16:41:28 -06:00
Andreas Baumbach
880a8d40ce new package: py-umalqurra (#13568) 2019-11-04 16:40:06 -06:00
Hadrien G
1114ae9375 Add ACTS v0.10.5 (#13556) 2019-11-04 11:43:45 -06:00
Sinan
bbb5284b42 py-astor: specify py-setuptools versions as build fail with latest version (#13533)
* specify py-setuptools dependency as build fail with latest version

* explain

* py-astor builds with setuptools@41.3
2019-11-04 10:21:59 -06:00
Stephen Herbein
19410461b7 Flux v0.11.1 - v0.11.3 (#13199)
* flux: add `url_for_version` to support their C4 repo model

Flux uses a fork of ZeroMQ's Collective Code Construction Contract
(https://github.com/flux-framework/rfc/blob/master/spec_1.adoc).
This model requires a repository fork for every stable release that has
patch releases.  For example, 0.8.0 and 0.9.0 are both tags within the
main repository, but 0.8.1 and 0.9.5 would be releases on the v0.8 and
v0.9 forks, respectively.

* flux: add latest versions

* flux: remove master from `when=@0.X:,master` statements

Now that #1983 has been merged, master > 0.X.0.

* flux-core: remove extraneous `99` patch version in `when` range

Replace `when=@:0.11.99` with `when=@:0.11` since the intention is to
include all patch versions of `0.11`.

* flux-core: fix `setup_build_environment` after changes in #13411

In #13411, `setup_environment` was split into `setup_build_environment`
and `setup_run_environment`, with the `spack_env` and `run_env`
arguments being changed to `env`.  Somehow the flux package was the only
one to not have its `spack_env` references in the function changed to
`env`.

* flux: add runtime environment variables that Flux checks

with older versions of Flux (i.e, 0.0:0.13), FLUX_CONNECTOR_PATH must be
set by spack to prevent failures in certain
scenarios (https://github.com/flux-framework/flux-core/issues/2456).

the flux binary also sets some other environment variables, which can be
listed by running `flux -v start`.  I added a few of those just to be
sure that the Spack-installed paths are used, rather than
system-installed ones.

* flux: add optional testing dependencies to maximize test coverage

Install optional dependencies to ensure that only spack-installed
software is detected and that all tests are run when `spack install
--test` is used.

Flux's test suite will test for the existance of valgrind, jq, and any
MPI installation.  If it detects them (even if they are system-installed
and outside the spack environment), it will run optional tests against
them.  I noticed on my machine that the valgrind tests were running
against the system-install valgrind.

* flux-sched: switch to new `setup_run_environment` API
2019-11-04 09:58:40 -06:00
Adam J. Stewart
903b0071cf Add latest version of py-pybind11 (#13552)
* Add latest version of py-pybind11

* setup_environment -> setup_build_environment
2019-11-04 02:00:02 -08:00
Omar Padron
0784ec1a6d bugfix: fetch prefers to fetch local mirrors over remote resources (#13545)
- [x] insert at beginning of list so fetch grabs local mirrors before remote resources
- [x] update the S3FetchStrategy so that it throws a SpackError if the fetch fails.  
      Before, it was throwing URLError, which was not being caught in stage.py.
- [x] move error handling out of S3FetchStrategy and into web_util.read_from_url()
- [x] pass string instead of URLError to SpackWebError
2019-11-03 17:11:30 -08:00
Simon Pintarelli
bcda14f825 Add py-voluptuous (#13457)
Data validation library
2019-11-03 18:48:52 -06:00
Justin S
1d8391a60c r-gstat: new package at 2.0-3 (#13131)
* r-gstat: new package at 2.0-3

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-03 18:35:08 -06:00
Greg Becker
aa7c229c8f environments: only write when necessary (#13546)
This changes Spack environments so that the YAML file associated with the environment is *only* written when necessary (i.e., if it is changed *by spack*).  The lockfile is still written out as before.

There is a larger question here of which part of Spack should be responsible for setting defaults in config files, and how we can get rid of empty lists and data structures currently cluttering files like `compilers.yaml`.  But that probably requires a rework of the default-setting validator in `spack.config`, as well as the code that uses `spack.config`.  This will at least help for `spack.yaml`.
2019-11-03 15:46:41 -08:00
Ricardo Silva
c42ebb0ccc Polymake: new version and more dependencies (#13399)
* New package: perl-term-readline-gnu

* polymake dependency

* perl-term-readline-gnu: flake8

* New package: perl-xml-libxslt

* polymake dependency

* ppl: new version 1.2

Conflicts:
	var/spack/repos/builtin/packages/ppl/package.py

* polymake: new version and dependencies

Conflicts:
	var/spack/repos/builtin/packages/polymake/package.py

* perl-xml-libxslt: missing dependency
2019-11-03 17:44:34 -06:00
Jannek Squar
9331a943ce New package py-wradlib with new dependencies (#13459)
* New package py-wradlib with new dependencies py-deprecation, py-semver, py-xmltodict

* Adjusted package source source

* Adjusted xarray package to use pypi-source

* Added dependencies

* Added explicit gdal+python dependency

* Concretised dependency versions

* Removed strict version range
2019-11-03 17:38:27 -06:00
Jannek Squar
c175be4420 Added dependencies (#13519)
* Added dependencies

* Adjusted dependency
2019-11-03 17:28:19 -06:00
Jannek Squar
ed037d0c5d Update package saga gis (#13520)
* Improvements of saga-gis package

* Added explicit version ranges for old saga-gis version

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

Creative usage of redefinition of getter method

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

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-03 17:26:53 -06:00
Daryl W. Grunau
ed89825557 constexpr_longdouble.patch should be applied to v6 too (#13548) 2019-11-03 16:47:41 -06:00
Adam J. Stewart
e12a738d84 Add latest version of protobuf (#13551) 2019-11-02 15:58:46 -05:00
Adam J. Stewart
573789f067 Add QNNPACK package (#13549) 2019-11-02 14:39:31 -05:00
健美猞猁
c43e6839d4 chgcentre: a new package. (#13500)
* chgcentre: a new package.

* flake8.
2019-11-02 12:58:57 -05:00
Adam J. Stewart
a8228e1aec spack create: http -> https (#13547) 2019-11-01 17:40:49 -05:00
Peter Scheibel
2e029fc2e5 Bugfix: respect order of mirrors in mirrors.yaml (#13544)
Commands like "spack mirror list" were displaying mirrors in a
different order than what was listed in the corresponding mirrors.yaml
file.

This restores commands to iterate over mirrors in the order that
they appear in the config file.
2019-11-01 14:02:08 -07:00
Greg Becker
24ec9f0ce3 environments: make shell modifications partially unconditional (#13523)
* environments: make shell modifications partially unconditional

* flake

* missing module name

* add regression test

* flake
2019-11-01 12:00:16 -05:00
Adam J. Stewart
f6e26c402b Add py-tables 3.6.1 (#13536) 2019-11-01 11:37:04 -05:00
Simon Pintarelli
854f45a136 libxc: update URL / new API (#13471)
- setup_environment -> setup_build_environment
- remove patch
2019-11-01 11:35:30 -05:00
Marc Mengel
2cea0633fa allow bootstrap buildcache install of patchelf (#13430)
* allow bootstrap buildcache install of patchelf

* file not path_name on one

* style

* add test for relocating patchelf

* blank lines..
2019-11-01 10:54:55 -05:00
Omar Padron
0f816561db bugfix: spack.util.url.join() now handles absolute paths correctly (#13488)
* fix issue where spack.util.url.join() failed to correctly handle absolute path components
* add url util tests
2019-11-01 03:42:43 -07:00
Gregory Lee
3bdab6f686 sbang: use utf-8 for encoding when patching (#13490)
This fixes a UnicodeDecodeError in the sbang patching function.
2019-11-01 03:39:45 -07:00
Massimiliano Culpo
390ffb80e7 Specs with quoted flags containing spaces are parsed correctly (#13521) 2019-11-01 03:38:11 -07:00
Massimiliano Culpo
42b8355269 targets: print a warning message before downgrading (#13513)
* Make package preferences a soft failure for targets, instead of a hard failure.
* Added unit tests for preferences expressed via packages.yaml
2019-11-01 03:36:28 -07:00
Satish Balay
43b18dada4 hypre: add version 2.18.2 (#13527) 2019-10-31 18:35:13 -05:00
Daniel Topa
93e87474fb dd Open MPI v. 4.0.2 (#13257)
Verification builds on LANL Darwin x86_64, ARM, and, Power9:

x86_64: OPTANE
dantopa@cn733:pr-openmpi-4.0.2.spack $ spack arch
linux-centos7-skylake_avx512

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 2m 15.65s.  Build: 6m 13.17s.  Total: 8m 28.82s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/openmpi-4.0.2-jrypg7vfnk6nl5if2rnzt65wdrjelxsq

NEHALEM
$ spack arch
linux-centos7-nehalem

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 50.48s.  Build: 9m 11.45s.  Total: 10m 1.93s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-centos7-nehalem/gcc-4.8.5/openmpi-4.0.2-4jz3bcwjci44taizt4jqzxqh4y75uswc

ARM
$ spack arch
linux-rhel7-aarch64

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 1m 10.47s.  Build: 11m 41.45s.  Total: 12m 51.92s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/openmpi-4.0.2-ygr77roadqzdnsdgqz3uactjqnb5nayn

POWER9
$ spack arch
linux-rhel7-power9le

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
==> Warning: Using GCC 4.8 to optimize for Power 8 might not work if you are not on Red Hat Enterprise Linux 7, where a custom backport of the feature has been done. Upstream support from GCC starts in version 4.9
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 23.95s.  Build: 9m 7.67s.  Total: 9m 31.62s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-rhel7-power8le/gcc-4.8.5/openmpi-4.0.2-cid4wfzr2iwgz6ybhkexludwu7koi266

$ spack find -ldf openmpi
==> 4 installed packages
-- linux-centos7-haswell / gcc@4.8.5 ----------------------------
jrypg7v openmpi@4.0.2%gcc
lliismp     hwloc@1.11.11%gcc
7dqpxas         libpciaccess@0.13.5%gcc
viidrh5         libxml2@2.9.9%gcc
yhvj3br         numactl@2.0.12%gcc
pkmj6e7     zlib@1.2.11%gcc

-- linux-centos7-nehalem / gcc@4.8.5 ----------------------------
4jz3bcw openmpi@4.0.2%gcc
pcauu6w     hwloc@1.11.11%gcc
yiqf6bj         libpciaccess@0.13.5%gcc
wpfgqf2         libxml2@2.9.9%gcc
fd2xpnm         numactl@2.0.12%gcc
xguzaxf     zlib@1.2.11%gcc

-- linux-rhel7-aarch64 / gcc@4.8.5 ------------------------------
ygr77ro openmpi@4.0.2%gcc
omy3xi2     hwloc@1.11.11%gcc
6a4he35         libpciaccess@0.13.5%gcc
txqo4cc         libxml2@2.9.9%gcc
m5neuus         numactl@2.0.12%gcc
67s2oqn     zlib@1.2.11%gcc

-- linux-rhel7-power8le / gcc@4.8.5 -----------------------------
cid4wfz openmpi@4.0.2%gcc
zcdnwb3     hwloc@1.11.11%gcc
lencfon         libpciaccess@0.13.5%gcc
bve4jop         libxml2@2.9.9%gcc
kajzqwg         numactl@2.0.12%gcc
tjbynt2     zlib@1.2.11%gcc

Thu Oct 17 19:02:50 MDT 2019

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-10-31 14:57:50 -07:00
Peter Scheibel
6ec39b6c81 Bugfix: BundlePackage staging/installation (#13524)
4af4487 added a mirror_id function to most FetchStrategy
implementations that is used to calculate resource locations in
mirrors. It left out BundleFetchStrategy which broke all packages
making use of BundlePackage (e.g. xsdk). This adds a noop
implementation of mirror_id to BundleFetchStrategy so that the
download/installation of BundlePackages can proceed as normal.
2019-10-31 12:56:38 -07:00
Adam J. Stewart
4b56933643 Docs: unlock requirement versions (#13384) 2019-10-31 14:21:05 -05:00
Adam J. Stewart
536486f0e5 Travis CI: Test Python 3.8 (#13347)
* Travis CI: Test Python 3.8

* Fix use of deprecated cgi.escape method

* Fix version comparison

* Fix flake8 F811 change in Python 3.8

* Make flake8 happy

* Use Python 3.8 for all test categories
2019-10-31 14:20:46 -05:00
Nichols A. Romero
14fdaca4b4 Bump up PGMath Library to latest version. More transparent name of the branch, version name equals branch name. (#13511) 2019-10-31 13:00:59 -05:00
Adam J. Stewart
b4a51084ab Add GRASS 7.8.0 (#13026)
* Add GRASS 7.8.0

* Add new variants/dependencies

* Remove unused dep

* Filter entire libiconv line
2019-10-31 12:48:54 -05:00
Christoph Junghans
a334007808 kokkos: turn host_values into a property (#13518)
* kokkos: turn host_values into a property

* Update package.py

* Update package.py
2019-10-31 12:46:05 -05:00
t-karatsu
e7f574aad5 ipopt: Add condition for 'aarch64' to Ipopt/config.guess (#13499) 2019-10-31 12:38:23 -05:00
Julien Loiseau
738f2e14ce MeshToolKit package (#12870)
* Adding flecsph package

* Correcting header

* Boost version update

* Correcting Flake8 errors

* Correcting headers

* Develop preferred in FleCSI

* Removing FleCSPH branch of FleCSI

* MeshToolKit package

* formatting

* Formatting

* Correcting MSTK package

* Format

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Update package.py

* Format

* Format

* Correcting package behavior

* Correcting format

* Corrections

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

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

* Multiline
2019-10-31 12:32:54 -05:00
Robert Maynard
3d60c3ec10 VTK-m: Add support for the 1.5 release (#13514) 2019-10-31 12:04:19 -04:00
Christoph Junghans
187706f108 portage: fix lapacke linkage (#13517) 2019-10-31 09:42:18 -06:00
Greg Becker
a97faeb3c7 Documentation: Database.query methods share docstrings (#13515)
Currently, query arguments in the Spack core are documented on the
Database._query method, where the functionality is defined.

For users of the spack python command, this makes the python builtin
method help less than ideally useful, as help(spack.store.db.query)
and help(spack.store.db.query_local) do not show relevant information.

This PR updates the doc attributes for the Database.query and
Database.query_local arguments to mirror everything after the first
line of the Database._query docstring.
2019-10-30 16:47:48 -07:00
Greg Becker
230c6aa326 cpu: fix clang flags for generic x86_64 (#13491)
* cpu: differentiate flags used for pristine LLVM vs. Apple's version
2019-10-30 17:16:13 -05:00
Massimiliano Culpo
cf1c38162e cuda: fix conflict statements for x86-64 targets (#13472)
* cuda: fix conflict statements for x86-64 targets

fixes #13462

This build system mixin was not updated after the support for specific
targets has been merged.

* Updated the version range of cuda that conflicts with gcc@8:

* Updated the version range of cuda that conflicts with gcc@8: for ppc64le

* Relaxed conflicts for version > 10.1

* Updated versions in conflicts

Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
2019-10-30 09:25:46 -07:00
Gregory Lee
4626c28c27 fix openmpi wrappers with libfabric (#13439)
* fix openmpi wrappers with libfabric

* flake8 fix

* flake8 fix

* openmpi fix deprecated API

* openmpi fix deprecated API
2019-10-29 23:09:21 -05:00
t-karatsu
ad6908e35d mumps: Fix compile commands. (#13497) 2019-10-29 23:08:25 -05:00
Justin S
7af668f452 r-bio3d: new package at 2.3-4 (#13496) 2019-10-29 18:09:46 -05:00
Justin S
ccd20c9973 r-fields: new package at 9.9 (#13495) 2019-10-29 18:09:34 -05:00
Justin S
9a0ab3a87a r-spam: new package at 2.3-0.2 (#13494) 2019-10-29 18:09:16 -05:00
Justin S
4d345429ab r-dotcall64: new package at 1.0-0 (#13493)
* r-dotcall64: new package at 1.0-0

* r-dotcall64: break up long line
2019-10-29 18:09:05 -05:00
Justin S
d76ec7b2da r-dada2: new package at 1.14 (#13492)
* r-dada2: new package at 1.14

* r-dada2: add gmake dependency

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-10-29 18:08:51 -05:00
Peter Scheibel
c99d367a11 syaml_int type should use int.__repr__ rather than str.__repr__ (#13487) 2019-10-29 13:51:48 -07:00
t-karatsu
e29a6c532c mumps: Add '-DMAIN_COMP' when using Fujitsu compiler. (#13480) 2019-10-29 13:32:36 -05:00
Sinan
944ef2f690 new package: py-scs (#13477)
* new package: py-scs

* rename

* flake8

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-10-29 13:11:31 -05:00
Tiziano Müller
0a5c184a5d CP2K: drop json-fortran dependency and add support for the Nvidia V100 (#13468)
* cp2k: drop json-fortran dep since that's now handled in SIRIUS internally

* cp2k: gained support for Nvidias V100
2019-10-29 14:08:58 +01:00
Tamara Dahlgren
3cf21e6edc bugfix: make spack -d test test_changed_files work (#13229)
The `test_changed_files` in `test/cmd/flake8.py` was failing because it calls
`ArgumentParser.parse_args()` without arguments.  Normally that would just
parse `sys.argv` but it seems to fail because of something in either `spack test`
or `pytest`.  Call it with an empty array so that it doesn't try to touch`sys.argv`
at all.

- [x] allow `-d` spack option for `test_changed_files`
2019-10-29 00:25:59 -07:00
Simon Pintarelli
aad8ea172c Add SpFFT: sparse 3D FFT library (#13458)
* Add SpFFT: sparse 3D FFT library

SpFFT is required as a dependency for SIRIUS

* cleanup

* add missing dependency
2019-10-28 22:57:07 -05:00
Sinan
bc930f310f new package: py-cvxpy (#13478)
* new package: py-cvxpy

* improve dependency specs
2019-10-28 22:55:08 -05:00
Sinan
95e0d118be new package: py-ecos (#13476)
* new package: py-ecos

* flake8
2019-10-28 20:30:40 -05:00
Sinan
330cd56517 new package: py-osqp (#13475) 2019-10-28 20:28:42 -05:00
Adam J. Stewart
2264e30d99 Update URL parsing regexes and tests (#13411)
* Update URL parsing regexes and tests

* Get rid of no longer used README

* Merge py-udunits and py-cf-units

* netcdf -> netcdf-c

* setup_environment -> setup_*_environment

* Fix doc tests

* Few last minute fixes

* Simplify prefix removal copypasta
2019-10-28 20:27:54 -05:00
Jim Galarowicz
4367e16740 Update the module files for cbtf-krell and openspeedshop (#13400)
* Update the module files for cbtf-krell and openspeedshop adding man paths and needed papi and libmonitor paths.

* Update module files for new API.

* Use the same python for both develop and release branches.
2019-10-28 17:36:12 -05:00
Sinan
e5b1dbf4b4 new Package/scs (#13454)
* new package: SCS

* make flake8 happy

* add missing patch, improve style

* fix typo

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

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

* move filefilter to edit phase
2019-10-28 17:33:32 -05:00
Cyrus Harrison
1b3f546ba4 update conduit for 0.5.0 release (#13455)
* add support for static (via ~shared) and use vtk-m 1.2

* updating vtkh package to output cmake configure file and pinning it to vtkm 1.2

* trying a different cmake for vtkh

* removing problematic b

* making conduit respect ~python

* fixing ascent python logic

* update ascent package

* consistant cmake usage

* conditionally add tbb in ascent if vtkh

* applying becker fix

* adding vtkh tag

* fixing vtkh tagged version

* updating ascent and conduit for static builds

* enabling openmp

* reverting files that should not have been changed

* ascent updates

* more robust handling of variants

* fixing ascent package typo

* ascent: add optional support for mfem

* enable mfem conduit support for ascent

* add optional adios dep to conduit

* remove ver req from conduit

* ascent: remove confusing comment

* tweaks to conduit and ascent pkg recipes

* fix typo in conduit package

* pref conduit master

* fixing mfem typo for ascent

* reverting files

* adding mirror for bzip

* changing mfem to depend on conduit@master to get updated relay

* restore use of conduit 0.3.1 or greater for mfem

* set master as prefered conduit version

* allow mfem to use conduit master

* adding rover package and editing ascent

* updating vtkm cmake dep

* updates from axom

* guard ascent python support on +shared

* removing rover to simply ascent package

* add fortran variant to conduit, to allow us to turn off conduit support even when a fortran compiler is specified

* fix fortran compiler check so it can work on cray systems

* working towards cuda fix for vtkm lagrange filter

* update ascent package with more variants, and patch to avoid nvcc issue

* hdf5 flags fix for BGQ

* flake8

* extra guards for cuda patch

* conduit and ascent fortran fix

* fix patch for non cuda case

* add test variant to conduit, tweak ascent pkg

* change min ver of cmake used for ascent

* h5z-zfp package: unset FC when ~fortran

* conform to expected upstream solution

* pinning vtkm

* going back to vtkm master

* add back vtk-m variant for shared libs

* update ascent and vtkh packages

* wire up option to run tests during install

* add post install test

* add testing to ascent

* tweak for blueos xl

* add ctest output on error for run_tests

* enable ctest output on error for run_tests

* add testing of the using-with-make example

* update using-with-make examples

* typo in ascent using-with-cmake test

* fix ascent using test exe names

* more fixes, less sleep

* more fixes, less sleep ...

* remove unwired up version

* improvments suggested on review

* adding new cmake

* Update package.py

* Update package.py

* changes post cori os update

* fix cray hack

* Update package.py

Fixing 'fix'. Inconsistent variable names in conduit package

* type in spack recipes

* add zfp support to conduit

* fix indent error in conduit pkg

* move to use build phases, add sphinx rtd as dep, fix ex names in tests

* add conduit 0.5.0 release

* flake8

* remove old cray hack

* incorp feedback from review

* fix to use proper build env sig
2019-10-28 17:32:16 -05:00
Kelly (KT) Thompson
ffb4e02a53 Fix gcc recipe for RHEL7. (#13460)
* Fix gcc recipe for RHEL7.

+ It appears that macOS related changes to the gcc recipe broke gcc on RHEL7.
  This bug manifests as `libstdc++.so: undefined reference to libiconv` when gcc
  is used.
+ Fixes #13452 by moving
  `--with-libiconv-prefix={0}'.format(spec['libiconv'].prefix)` into the darwin
  OS section of the configuration.
+ Change qualification of `depends_on(libiconv)` to limit dependency to macOS.

* Replace deprecated 'setup_environment' with 'setup_run_environment'.

* Fix cut and paste error.

* Rename 'run_env' to just 'env'.
2019-10-28 17:31:23 -05:00
Jon Rood
8786cb468a Paraview package: add version 5.7.0 and update environment setup (#13255)
Replace setup_environment/setup_dependent_environment with
setup__dependent_build_environment and setup_run_environment
according to 9ddc98e
2019-10-28 14:55:08 -07:00
Brian Van Essen
802c3c0c51 Packages: Add cuDNN versions; update LBANN dependencies (#13412)
* Add cuDNN version 7.6.3-10.1 (for x86_64 and ppc64le)
* Add py-pytest and py-protobuf depenencies to LBANN
2019-10-28 13:24:50 -07:00
Paul
f4e6f28e6d Go package: add versions (including 1.13.3) and update environment setup (#13254)
* Add versinos 1.13.3, 1.13.2, 1.12.12, and 1.12.11
* Replace setup_environment/setup_dependent_environment with
  setup_build_environment and setup_dependent_{build, run}_environment
  according to 9ddc98e
2019-10-28 13:19:14 -07:00
Adam J. Stewart
33a34f9619 Fix PyTorch build with Intel MKL (#13464) 2019-10-28 11:47:21 -05:00
Adam J. Stewart
b4e027e918 Output directory Spack is looking in for MKL libs (#13465) 2019-10-28 11:46:59 -05:00
Glenn Johnson
283b3e601c Update emacs to version 26.3 (#13469) 2019-10-28 11:46:27 -05:00
Mark Olesen
cacd0fb139 scotch: added version 6.0.8 (#13467) 2019-10-28 15:58:25 +01:00
wenlibin02
ba69ebc5f7 Add dependency and patch for perl-dbfile (#13261)
* Add dependency and patch perl-dbfile

There are two problems for the building of `perl-dbfile`:

1) this package depends on the package `berkeley-db`
2) fix the building using a patch, which locates the position of `berkeley-db` and modify the configuration file for the building

* Update and reformat the script package.py

* Simplify the patch

* Update package.py

* Update package.py
2019-10-27 22:31:10 -05:00
Nichols A. Romero
c11c3f2710 QE Update Oct 2019 (#13406)
* This filter_file was difficult to maintain and is no longer needed.

* Clarify lack of support for HDF5 in serial QE.

* Update QE and HDF5 conflicts based on user feedback.
2019-10-27 22:27:55 -05:00
Axel Huebl
7b86251bef Add Lizard (LZ5) (#13456)
* Add Lizard (LZ5)

Add a new package for Lizard, formerly LZ5, a very fast compressor
and decompressor library.

* c-blosc2: use external lizard

Use an external Lizard (LZ5) dependency and add missing
"when="s for other compressor dependents.
2019-10-27 22:24:27 -05:00
Glenn Johnson
1d760e79a6 Libbeagle fixes (#13463)
* Fixes for libbeagle

This PR fixes a couple of issues with the libbeagle package.

- Use args.append('--with-cuda=%s' % self.spec['cuda'].prefix)
- Disable the default of compiling with -march=native as Spack now
  inserts architecture specific flags
- Set BEAST_LIB in the beast1 package not in libbeagle.

* Use new setup_run_environment method
2019-10-27 22:24:06 -05:00
Andreas Baumbach
c0a2e8651b new package: py-pandocfilters (#13418)
dependency of py-nbconvert
2019-10-27 22:22:25 -05:00
Andreas Baumbach
ea6e279bbc LLVM code-signing on OSX: link to the offical documentation (#13428)
* LLVM code-signing on OSX: link to the offical documentation

* LLVM: update setup_environment method
2019-10-27 21:59:13 -05:00
Michael Kuhn
82428133d6 mariadb: Fix openssl dependencies (#13443) 2019-10-27 21:55:06 -05:00
Michael Kuhn
929ec39a63 mariadb-c-client: Add 3.1.4 (#13447) 2019-10-27 21:54:04 -05:00
Sinan
57f040753d new package: ecos (#13453) 2019-10-27 21:53:38 -05:00
Adam J. Stewart
59a6226f74 Update PyTorch variable name (#13461) 2019-10-27 19:21:06 -05:00
Axel Huebl
c107b7531c MPICH: Fix Slurm Find Issue (#13263)
Set include and library path to slurm explicitly.
2019-10-26 22:03:39 -04:00
Adam J. Stewart
d68b554cd3 Add latest version of py-fiscalyear (#13451) 2019-10-26 11:06:37 -05:00
6542 changed files with 182174 additions and 36394 deletions

View File

@@ -4,13 +4,13 @@ coverage:
range: 60...90
status:
project:
default: yes
default:
threshold: 0.2%
ignore:
- lib/spack/spack/test/.*
- lib/spack/docs/.*
- lib/spack/external/.*
- share/spack/qa/.*
- share/spack/spack-completion.bash
comment: off

View File

@@ -4,11 +4,14 @@
parallel = True
concurrency = multiprocessing
branch = True
source = lib
source =
bin
lib
omit =
lib/spack/spack/test/*
lib/spack/docs/*
lib/spack/external/*
share/spack/qa/*
[report]
# Regexes for lines to exclude from consideration

View File

@@ -29,4 +29,4 @@
#
[flake8]
ignore = E129,E221,E241,E272,E731,W503,W504,F999,N801,N813,N814
max-line-length = 79
max-line-length = 88

View File

@@ -9,7 +9,7 @@
#
# Note that we also add *per-line* exemptions for certain patterns in the
# `spack flake8` command. This is where F403 for `from spack import *`
# is added (beause we *only* allow that wildcard).
# is added (because we *only* allow that wildcard).
#
# See .flake8 for regular exceptions.
#

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.py diff=python

View File

@@ -1,14 +1,11 @@
---
name: Bug report
about: Report a bug in the core of Spack (command not working as expected, etc.)
labels: bug
name: "\U0001F41E Bug report"
about: Report a bug in the core of Spack (command not working as expected, etc.)
labels: "bug,triage"
---
*Explain, in a clear and concise way, the command you ran and the result you were trying to achieve.
Example: "I ran Spack find to list all the installed packages and..."*
<!-- Explain, in a clear and concise way, the command you ran and the result you were trying to achieve.
Example: "I ran `spack find` to list all the installed packages and ..." -->
### Steps to reproduce the issue
@@ -20,30 +17,26 @@ $ spack <command2> <spec>
### Error Message
If Spack reported an error, provide the error message. If it did not report an error
but the output appears incorrect, provide the incorrect output. If there was no error
message and no output but the result is incorrect, describe how it does not match
what you expect. To provide more information you might re-run the commands with
the additional -d/--stacktrace flags:
<!-- If Spack reported an error, provide the error message. If it did not report an error but the output appears incorrect, provide the incorrect output. If there was no error message and no output but the result is incorrect, describe how it does not match what you expect. -->
```console
$ spack -d --stacktrace <command1> <spec>
$ spack -d --stacktrace <command2> <spec>
...
$ spack --debug --stacktrace <command>
```
that activate the full debug output.
### Information on your system
This includes:
<!-- Please include the output of `spack debug report` -->
1. which platform you are using
2. any relevant configuration detail (custom `packages.yaml` or `modules.yaml`, etc.)
<!-- If you have any relevant configuration detail (custom `packages.yaml` or `modules.yaml`, etc.) you can add that here as well. -->
-----
### Additional information
We encourage you to try, as much as possible, to reduce your problem to the minimal example that still reproduces the issue. That would help us a lot in fixing it quickly and effectively!
<!-- These boxes can be checked by replacing [ ] with [x] or by clicking them after submitting the issue. -->
- [ ] I have run `spack debug report` and reported the version of Spack/Python/Platform
- [ ] I have searched the issues of this repo and believe this is not a duplicate
- [ ] I have run the failing commands in debug mode and reported the output
<!-- We encourage you to try, as much as possible, to reduce your problem to the minimal example that still reproduces the issue. That would help us a lot in fixing it quickly and effectively!
If you want to ask a question about the tool (how to use it, what it can currently do, etc.), try the `#general` channel on our Slack first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue.
Other than that, thanks for taking the time to contribute to Spack!
Other than that, thanks for taking the time to contribute to Spack! -->

View File

@@ -1,78 +1,43 @@
---
name: Build error
about: Some package in Spack didn't build correctly
name: "\U0001F4A5 Build error"
about: Some package in Spack didn't build correctly
title: "Installation issue: "
labels: "build-error"
---
*Thanks for taking the time to report this build failure. To proceed with the
report please:*
<!-- Thanks for taking the time to report this build failure. To proceed with the report please:
1. Title the issue "Installation issue: <name-of-the-package>".
2. Provide the information required below.
3. Remove the template instructions before posting the issue.
We encourage you to try, as much as possible, to reduce your problem to the minimal example that still reproduces the issue. That would help us a lot in fixing it quickly and effectively!
---
We encourage you to try, as much as possible, to reduce your problem to the minimal example that still reproduces the issue. That would help us a lot in fixing it quickly and effectively! -->
### Steps to reproduce the issue
<!-- Fill in the exact spec you are trying to build and the relevant part of the error message -->
```console
$ spack install <spec> # Fill in the exact spec you are using
... # and the relevant part of the error message
$ spack install <spec>
...
```
### Platform and user environment
### Information on your system
Please report your OS here:
```commandline
$ uname -a
Linux nuvolari 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -d
Description: Ubuntu 18.04.1 LTS
```
and, if relevant, post or attach:
<!-- Please include the output of `spack debug report` -->
- `packages.yaml`
- `compilers.yaml`
to the issue
<!-- If you have any relevant configuration detail (custom `packages.yaml` or `modules.yaml`, etc.) you can add that here as well. -->
### Additional information
Sometimes the issue benefits from additional details. In these cases there are
a few things we can suggest doing. First of all, you can post the full output of:
```console
$ spack spec --install-status <spec>
...
```
to show people whether Spack installed a faulty software or if it was not able to
build it at all.
<!-- Please upload the following files. They should be present in the stage directory of the failing build. Also upload any config.log or similar file if one exists. -->
* [spack-build-out.txt]()
* [spack-build-env.txt]()
If your build didn't make it past the configure stage, Spack as also commands to parse
logs and report error and warning messages:
```console
$ spack log-parse --show=errors,warnings <file-to-parse>
```
You might want to run this command on the `config.log` or any other similar file
found in the stage directory:
```console
$ spack location -s <spec>
```
In case in `config.log` there are other settings that you think might be the cause
of the build failure, you can consider attaching the file to this issue.
<!-- Some packages have maintainers who have volunteered to debug build failures. Run `spack maintainers <name-of-the-package>` and @mention them here if they exist. -->
Rebuilding the package with the following options:
```console
$ spack -d install -j 1 <spec>
...
```
will provide additional debug information. After the failure you will find two files in the current directory:
### General information
1. `spack-cc-<spec>.in`, which contains details on the command given in input
to Spack's compiler wrapper
1. `spack-cc-<spec>.out`, which contains the command used to compile / link the
failed object after Spack's compiler wrapper did its processing
You can post or attach those files to provide maintainers with more information on what
is causing the failure.
<!-- These boxes can be checked by replacing [ ] with [x] or by clicking them after submitting the issue. -->
- [ ] I have run `spack debug report` and reported the version of Spack/Python/Platform
- [ ] I have run `spack maintainers <name-of-the-package>` and @mentioned any maintainers
- [ ] I have uploaded the build log and environment files
- [ ] I have searched the issues of this repo and believe this is not a duplicate

View File

@@ -1,28 +1,33 @@
---
name: Feature request
name: "\U0001F38A Feature request"
about: Suggest adding a feature that is not yet in Spack
labels: feature
---
*Please add a concise summary of your suggestion here.*
<!--*Please add a concise summary of your suggestion here.*-->
### Rationale
*Is your feature request related to a problem? Please describe it!*
<!--*Is your feature request related to a problem? Please describe it!*-->
### Description
*Describe the solution you'd like and the alternatives you have considered.*
<!--*Describe the solution you'd like and the alternatives you have considered.*-->
### Additional information
*Add any other context about the feature request here.*
<!--*Add any other context about the feature request here.*-->
-----
### General information
- [ ] I have run `spack --version` and reported the version of Spack
- [ ] I have searched the issues of this repo and believe this is not a duplicate
If you want to ask a question about the tool (how to use it, what it can currently do, etc.), try the `#general` channel on our Slack first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue.
Other than that, thanks for taking the time to contribute to Spack!
<!--If you want to ask a question about the tool (how to use it, what it can currently do, etc.), try the `#general` channel on our Slack first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue.
Other than that, thanks for taking the time to contribute to Spack!
-->

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

20
.github/workflows/install_spack.sh vendored Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env sh
. share/spack/setup-env.sh
echo -e "config:\n build_jobs: 2" > etc/spack/config.yaml
spack config add "packages:all:target:[x86_64]"
# TODO: remove this explicit setting once apple-clang detection is fixed
cat <<EOF > etc/spack/compilers.yaml
compilers:
- compiler:
spec: apple-clang@11.0.3
paths:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: /usr/local/bin/gfortran-9
fc: /usr/local/bin/gfortran-9
modules: []
operating_system: catalina
target: x86_64
EOF
spack compiler info apple-clang
spack debug report

View File

@@ -0,0 +1,65 @@
name: linux builds
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
paths-ignore:
# Don't run if we only modified packages in the built-in repository
- 'var/spack/repos/builtin/**'
- '!var/spack/repos/builtin/packages/lz4/**'
- '!var/spack/repos/builtin/packages/mpich/**'
- '!var/spack/repos/builtin/packages/tut/**'
- '!var/spack/repos/builtin/packages/py-setuptools/**'
- '!var/spack/repos/builtin/packages/openjpeg/**'
- '!var/spack/repos/builtin/packages/r-rcpp/**'
- '!var/spack/repos/builtin/packages/ruby-rake/**'
# Don't run if we only modified documentation
- 'lib/spack/docs/**'
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
package:
- lz4 # MakefilePackage
- mpich~fortran # AutotoolsPackage
- tut # WafPackage
- py-setuptools # PythonPackage
- openjpeg # CMakePackage
- r-rcpp # RPackage
- ruby-rake # RubyPackage
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ~/.ccache
key: ccache-build-${{ matrix.package }}
restore-keys: |
ccache-build-${{ matrix.package }}
- uses: actions/setup-python@v2
with:
python-version: 3.9
- 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 ruby findutils openssl libssl-dev libpciaccess-dev
R --version
perl --version
ruby --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

150
.github/workflows/linux_unit_tests.yaml vendored Normal file
View File

@@ -0,0 +1,150 @@
name: linux tests
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
jobs:
unittests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9]
concretizer: ['original', 'clingo']
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install System packages
run: |
sudo apt-get -y update
# Needed for unit tests
sudo apt-get install -y coreutils gfortran graphviz gnupg2 mercurial
sudo apt-get install -y ninja-build patchelf
# Needed for kcov
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev
sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools codecov coverage
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Install kcov for bash script coverage
env:
KCOV_VERSION: 34
run: |
KCOV_ROOT=$(mktemp -d)
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
mkdir -p ${KCOV_ROOT}/build
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Bootstrap clingo from sources
if: ${{ matrix.concretizer == 'clingo' }}
run: |
. share/spack/setup-env.sh
spack external find --not-buildable cmake bison
spack -v solve zlib
- name: Run unit tests
env:
COVERAGE: true
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
run: |
share/spack/qa/run-unit-tests
coverage combine
coverage xml
- uses: codecov/codecov-action@v1
with:
flags: unittests,linux,${{ matrix.concretizer }}
shell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install System packages
run: |
sudo apt-get -y update
# Needed for shell tests
sudo apt-get install -y coreutils csh zsh tcsh fish dash bash
# Needed for kcov
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev
sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools codecov coverage
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Install kcov for bash script coverage
env:
KCOV_VERSION: 38
run: |
KCOV_ROOT=$(mktemp -d)
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
mkdir -p ${KCOV_ROOT}/build
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Run shell tests
env:
COVERAGE: true
run: |
share/spack/qa/run-shell-tests
- uses: codecov/codecov-action@v1
with:
flags: shelltests,linux
centos6:
# Test for Python2.6 run on Centos 6
runs-on: ubuntu-latest
container: spack/github-actions:centos6
steps:
- name: Run unit tests
env:
HOME: /home/spack-test
run: |
whoami && echo $HOME && cd $HOME
git clone https://github.com/spack/spack.git && cd spack
git fetch origin ${{ github.ref }}:test-branch
git checkout test-branch
share/spack/qa/run-unit-tests
clingo-cffi:
# Test for the clingo based solver (using clingo-cffi)
runs-on: ubuntu-latest
container: spack/github-actions:clingo-cffi
steps:
- name: Run unit tests
run: |
whoami && echo PWD=$PWD && echo HOME=$HOME && echo SPACK_TEST_SOLVER=$SPACK_TEST_SOLVER
python3 -c "import clingo; print(hasattr(clingo.Symbol, '_rep'), clingo.__version__)"
git clone https://github.com/spack/spack.git && cd spack
git fetch origin ${{ github.ref }}:test-branch
git checkout test-branch
. share/spack/setup-env.sh
spack compiler find
spack solve mpileaks%gcc
coverage run $(which spack) unit-test -v
coverage combine
coverage xml
- uses: codecov/codecov-action@v1
with:
flags: unittests,linux,clingo

78
.github/workflows/macos_python.yml vendored Normal file
View File

@@ -0,0 +1,78 @@
# 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 * * *'
pull_request:
branches:
- develop
paths:
# Run if we modify this yaml file
- '.github/workflows/macos_python.yml'
# TODO: run if we touch any of the recipes involved in this
# 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
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: spack install
run: |
. .github/workflows/install_spack.sh
# 9.2.0 is the latest version on which we apply homebrew patch
spack install -v --fail-fast gcc@9.2.0 %apple-clang
install_jupyter_clang:
name: jupyter
runs-on: macos-latest
timeout-minutes: 700
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: spack install
run: |
. .github/workflows/install_spack.sh
spack install -v --fail-fast py-jupyterlab %apple-clang
install_scipy_clang:
name: scipy, mpl, pd
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: spack install
run: |
. .github/workflows/install_spack.sh
spack install -v --fail-fast py-scipy %apple-clang
spack install -v --fail-fast py-matplotlib %apple-clang
spack install -v --fail-fast py-pandas %apple-clang
install_mpi4py_clang:
name: mpi4py, petsc4py
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: spack install
run: |
. .github/workflows/install_spack.sh
spack install -v --fail-fast py-mpi4py %apple-clang
spack install -v --fail-fast py-petsc4py %apple-clang

44
.github/workflows/macos_unit_tests.yaml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: macos tests
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
jobs:
build:
runs-on: macos-latest
strategy:
matrix:
python-version: [3.8]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- 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 install dash fish gcc gnupg2 kcov
- name: Run unit tests
run: |
git --version
. .github/workflows/setup_git.sh
. share/spack/setup-env.sh
coverage run $(which spack) unit-test
coverage combine
coverage xml
- uses: codecov/codecov-action@v1
with:
file: ./coverage.xml
flags: unittests,macos

9
.github/workflows/setup_git.sh vendored Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env sh
git config --global user.email "spack@example.com"
git config --global user.name "Test User"
# With fetch-depth: 0 we have a remote develop
# but not a local branch. Don't do this on develop
if [ "$(git branch --show-current)" != "develop" ]
then
git branch develop origin/develop
fi

65
.github/workflows/style_and_docs.yaml vendored Normal file
View File

@@ -0,0 +1,65 @@
name: style and docs
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install Python Packages
run: |
pip install --upgrade pip
pip install --upgrade vermin
- name: Minimum Version (Spack's Core)
run: vermin --backport argparse -t=2.6- -t=3.5- -v lib/spack/spack/ lib/spack/llnl/ bin/
- name: Minimum Version (Repositories)
run: vermin --backport argparse -t=2.6- -t=3.5- -v var/spack/repos
flake8:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools flake8
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Run flake8 tests
run: |
share/spack/qa/run-flake8-tests
documentation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install System packages
run: |
sudo apt-get -y update
sudo apt-get install -y coreutils ninja-build graphviz
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools
pip install --upgrade -r lib/spack/docs/requirements.txt
- name: Build documentation
run: |
share/spack/qa/run-doc-tests

11
.gitignore vendored
View File

@@ -4,6 +4,7 @@
/var/spack/environments
/var/spack/repos/*/index.yaml
/var/spack/repos/*/lock
__pycache__/
*.pyc
/opt
*~
@@ -22,8 +23,18 @@
.coverage
\#*
.#*
.cache
lib/spack/spack/test/.cache
/bin/spackc
*.in.log
*.out.log
*.orig
# Eclipse files
.project
.cproject
.pydevproject
# VSCode files
.vscode
.devcontainer

View File

@@ -1,14 +0,0 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
generate ci jobs:
script:
- "./bin/generate-gitlab-ci-yml.sh"
tags:
- "spack-pre-ci"
artifacts:
paths:
- ci-generation
when: always

View File

@@ -20,8 +20,8 @@ Geoffrey Oxberry <oxberry1@llnl.gov> Geoffrey Oxberry
Glenn Johnson <glenn-johnson@uiowa.edu> Glenn Johnson <gjohnson@argon-ohpc.hpc.uiowa.edu>
Glenn Johnson <glenn-johnson@uiowa.edu> Glenn Johnson <glennpj@gmail.com>
Gregory Becker <becker33@llnl.gov> Gregory Becker <becker33.llnl.gov>
Gregory Becker <becker33@llnl.gov> becker33 <becker33.llnl.gov>
Gregory Becker <becker33@llnl.gov> becker33 <becker33@llnl.gov>
Gregory Becker <becker33@llnl.gov> Gregory Becker <becker33.llnl.gov>
Gregory Becker <becker33@llnl.gov> Gregory Becker <becker33@llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Greg Lee <lee218@llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@cab687.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@cab690.llnl.gov>

View File

@@ -1,228 +0,0 @@
#=============================================================================
# Project settings
#=============================================================================
# Only build master and develop on push; do not build every branch.
branches:
only:
- master
- develop
- /^releases\/.*$/
#=============================================================================
# Build matrix
#=============================================================================
dist: xenial
jobs:
fast_finish: true
include:
- stage: 'style checks'
python: '3.8'
os: linux
language: python
env: TEST_SUITE=flake8
# Shell integration with module files
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=bootstrap ]
- stage: 'unit tests + documentation'
python: '2.6'
dist: trusty
os: linux
language: python
env: [ TEST_SUITE=unit, COVERAGE=true ]
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=unit, COVERAGE=true ]
- python: '3.5'
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.6'
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.7'
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=unit, COVERAGE=true ]
- python: '3.8'
os: linux
language: python
env: TEST_SUITE=doc
- os: osx
language: generic
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7, COVERAGE=true ]
if: type != pull_request
# mpich (AutotoolsPackage)
- stage: 'build tests'
python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=mpich' ]
# astyle (MakefilePackage)
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=astyle' ]
# tut (WafPackage)
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=tut' ]
# py-setuptools (PythonPackage)
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=py-setuptools' ]
# perl-dbi (PerlPackage)
# - python: '3.8'
# os: linux
# language: python
# env: [ TEST_SUITE=build, 'SPEC=perl-dbi' ]
# openjpeg (CMakePackage + external cmake)
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=openjpeg' ]
# r-rcpp (RPackage + external R)
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=r-rcpp' ]
# mpich (AutotoolsPackage)
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=mpich' ]
- python: '3.8'
stage: 'docker build'
os: linux
language: python
env: TEST_SUITE=docker
allow_failures:
- env: TEST_SUITE=docker
stages:
- 'style checks'
- 'unit tests + documentation'
- 'build tests'
- name: 'docker build'
if: type = push AND branch IN (develop, master)
#=============================================================================
# Environment
#=============================================================================
# Docs need graphviz to build
addons:
# for Linux builds, we use APT
apt:
packages:
- ccache
- cmake
- gfortran
- graphviz
- gnupg2
- kcov
- mercurial
- ninja-build
- perl
- perl-base
- realpath
- r-base
- r-base-core
- r-base-dev
- zsh
# for Mac builds, we use Homebrew
homebrew:
packages:
- python@2
- gcc
- gnupg2
- ccache
- dash
- kcov
update: true
# ~/.ccache needs to be cached directly as Travis is not taking care of it
# (possibly because we use 'language: python' and not 'language: c')
cache:
pip: true
ccache: true
directories:
- ~/.mirror
- ~/.ccache
# Work around Travis's lack of support for Python on OSX
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
pip2 install --upgrade pip;
pip2 install virtualenv;
virtualenv venv;
source venv/bin/activate;
fi
- ccache -M 2G && ccache -z
# Install various dependencies
install:
- pip install --upgrade pip
- pip install --upgrade six
- pip install --upgrade setuptools
- pip install --upgrade codecov
- pip install --upgrade flake8
- pip install --upgrade pep8-naming
- if [[ "$TEST_SUITE" == "doc" ]]; then
pip install --upgrade -r lib/spack/docs/requirements.txt;
fi
before_script:
# Need this for the git tests to succeed.
- git config --global user.email "spack@example.com"
- git config --global user.name "Test User"
# Need this to be able to compute the list of changed files
- git fetch origin ${TRAVIS_BRANCH}:${TRAVIS_BRANCH}
# Set up external deps for build tests, b/c they take too long to compile
- if [[ "$TEST_SUITE" == "build" ]]; then
cp share/spack/qa/configuration/*.yaml etc/spack/;
fi
#=============================================================================
# Building
#=============================================================================
services:
- docker
script:
- share/spack/qa/run-$TEST_SUITE-tests
after_success:
- ccache -s
- case "$TEST_SUITE" in
unit)
if [[ "$COVERAGE" == "true" ]]; then
codecov --env PYTHON_VERSION
--required
--flags "${TEST_SUITE}${TRAVIS_OS_NAME}";
fi
;;
esac
#=============================================================================
# Notifications
#=============================================================================
notifications:
email:
recipients: tgamblin@llnl.gov
on_success: change
on_failure: always

View File

@@ -1,3 +1,488 @@
# v0.16.3 (2021-09-21)
* clang/llvm: fix version detection (#19978)
* Fix use of quotes in Python build system (#22279)
* Cray: fix extracting paths from module files (#23472)
* Use AWS CloudFront for source mirror (#23978)
* Ensure all roots of an installed environment are marked explicit in db (#24277)
* Fix fetching for Python 3.8 and 3.9 (#24686)
* locks: only open lockfiles once instead of for every lock held (#24794)
* Remove the EOL centos:6 docker image
# v0.16.2 (2021-05-22)
* Major performance improvement for `spack load` and other commands. (#23661)
* `spack fetch` is now environment-aware. (#19166)
* Numerous fixes for the new, `clingo`-based concretizer. (#23016, #23307,
#23090, #22896, #22534, #20644, #20537, #21148)
* Supoprt for automatically bootstrapping `clingo` from source. (#20652, #20657
#21364, #21446, #21913, #22354, #22444, #22460, #22489, #22610, #22631)
* Python 3.10 support: `collections.abc` (#20441)
* Fix import issues by using `__import__` instead of Spack package importe.
(#23288, #23290)
* Bugfixes and `--source-dir` argument for `spack location`. (#22755, #22348,
#22321)
* Better support for externals in shared prefixes. (#22653)
* `spack build-env` now prefers specs defined in the active environment.
(#21642)
* Remove erroneous warnings about quotes in `from_sourcing_files`. (#22767)
* Fix clearing cache of `InternalConfigScope`. (#22609)
* Bugfix for active when pkg is already active error. (#22587)
* Make `SingleFileScope` able to repopulate the cache after clearing it.
(#22559)
* Channelflow: Fix the package. (#22483)
* More descriptive error message for bugs in `package.py` (#21811)
* Use package-supplied `autogen.sh`. (#20319)
* Respect `-k/verify-ssl-false` in `_existing_url` method. (#21864)
# v0.16.1 (2021-02-22)
This minor release includes a new feature and associated fixes:
* intel-oneapi support through new packages (#20411, #20686, #20693, #20717,
#20732, #20808, #21377, #21448)
This release also contains bug fixes/enhancements for:
* HIP/ROCm support (#19715, #20095)
* concretization (#19988, #20020, #20082, #20086, #20099, #20102, #20128,
#20182, #20193, #20194, #20196, #20203, #20247, #20259, #20307, #20362,
#20383, #20423, #20473, #20506, #20507, #20604, #20638, #20649, #20677,
#20680, #20790)
* environment install reporting fix (#20004)
* avoid import in ABI compatibility info (#20236)
* restore ability of dev-build to skip patches (#20351)
* spack find -d spec grouping (#20028)
* spack smoke test support (#19987, #20298)
* macOS fixes (#20038, #21662)
* abstract spec comparisons (#20341)
* continuous integration (#17563)
* performance improvements for binary relocation (#19690, #20768)
* additional sanity checks for variants in builtin packages (#20373)
* do not pollute auto-generated configuration files with empty lists or
dicts (#20526)
plus assorted documentation (#20021, #20174) and package bug fixes/enhancements
(#19617, #19933, #19986, #20006, #20097, #20198, #20794, #20906, #21411).
# v0.16.0 (2020-11-18)
`v0.16.0` is a major feature release.
## Major features in this release
1. **New concretizer (experimental)** Our new backtracking concretizer is
now in Spack as an experimental feature. You will need to install
`clingo@master+python` and set `concretizer: clingo` in `config.yaml`
to use it. The original concretizer is not exhaustive and is not
guaranteed to find a solution if one exists. We encourage you to use
the new concretizer and to report any bugs you find with it. We
anticipate making the new concretizer the default and including all
required dependencies for it in Spack `v0.17`. For more details, see
#19501.
2. **spack test (experimental)** Users can add `test()` methods to their
packages to run smoke tests on installations with the new `spack test`
command (the old `spack test` is now `spack unit-test`). `spack test`
is environment-aware, so you can `spack install` an environment and
`spack test run` smoke tests on all of its packages. Historical test
logs can be perused with `spack test results`. Generic smoke tests for
MPI implementations, C, C++, and Fortran compilers as well as specific
smoke tests for 18 packages. This is marked experimental because the
test API (`self.run_test()`) is likely to be change, but we encourage
users to upstream tests, and we will maintain and refactor any that
are added to mainline packages (#15702).
3. **spack develop** New `spack develop` command allows you to develop
several packages at once within a Spack environment. Running
`spack develop foo@v1` and `spack develop bar@v2` will check
out specific versions of `foo` and `bar` into subdirectories, which you
can then build incrementally with `spack install ` (#15256).
4. **More parallelism** Spack previously installed the dependencies of a
_single_ spec in parallel. Entire environments can now be installed in
parallel, greatly accelerating builds of large environments. get
parallelism from individual specs. Spack now parallelizes entire
environment builds (#18131).
5. **Customizable base images for spack containerize**
`spack containerize` previously only output a `Dockerfile` based
on `ubuntu`. You may now specify any base image of your choosing (#15028).
6. **more external finding** `spack external find` was added in `v0.15`,
but only `cmake` had support. `spack external find` can now find
`bison`, `cuda`, `findutils`, `flex`, `git`, `lustre` `m4`, `mpich`,
`mvapich2`, `ncurses`, `openmpi`, `perl`, `spectrum-mpi`, `tar`, and
`texinfo` on your system and add them automatically to
`packages.yaml`.
7. **Support aocc, nvhpc, and oneapi compilers** We are aggressively
pursuing support for the newest vendor compilers, especially those for
the U.S. exascale and pre-exascale systems. Compiler classes and
auto-detection for `aocc`, `nvhpc`, `oneapi` are now in Spack (#19345,
#19294, #19330).
## Additional new features of note
* New `spack mark` command can be used to designate packages as explicitly
installed, so that `spack gc` will not garbage-collect them (#16662).
* `install_tree` can be customized with Spack's projection format (#18341)
* `sbang` now lives in the `install_tree` so that all users can access it (#11598)
* `csh` and `tcsh` users no longer need to set `SPACK_ROOT` before
sourcing `setup-env.csh` (#18225)
* Spec syntax now supports `variant=*` syntax for finding any package
that has a particular variant (#19381).
* Spack respects `SPACK_GNUPGHOME` variable for custom GPG directories (#17139)
* Spack now recognizes Graviton chips
## Major refactors
* Use spawn instead of fork on Python >= 3.8 on macOS (#18205)
* Use indexes for public build caches (#19101, #19117, #19132, #19141, #19209)
* `sbang` is an external package now (https://github.com/spack/sbang, #19582)
* `archspec` is an external package now (https://github.com/archspec/archspec, #19600)
## Deprecations and Removals
* `spack bootstrap` was deprecated in v0.14.0, and has now been removed.
* `spack setup` is deprecated as of v0.16.0.
* What was `spack test` is now called `spack unit-test`. `spack test` is
now the smoke testing feature in (2) above.
## Bugfixes
Some of the most notable bugfixes in this release include:
* Better warning messages for deprecated syntax in `packages.yaml` (#18013)
* `buildcache list --allarch` now works properly (#17827)
* Many fixes and tests for buildcaches and binary relcoation (#15687,
*#17455, #17418, #17455, #15687, #18110)
## Package Improvements
Spack now has 5050 total packages, 720 of which were added since `v0.15`.
* ROCm packages (`hip`, `aomp`, more) added by AMD (#19957, #19832, others)
* Many improvements for ARM support
* `llvm-flang`, `flang`, and `f18` removed, as `llvm` has real `flang`
support since Flang was merged to LLVM mainline
* Emerging support for `spack external find` and `spack test` in packages.
## Infrastructure
* Major infrastructure improvements to pipelines on `gitlab.spack.io`
* Support for testing PRs from forks (#19248) is being enabled for all
forks to enable rolling, up-to-date binary builds on `develop`
# v0.15.4 (2020-08-12)
This release contains one feature addition:
* Users can set `SPACK_GNUPGHOME` to override Spack's GPG path (#17139)
Several bugfixes for CUDA, binary packaging, and `spack -V`:
* CUDA package's `.libs` method searches for `libcudart` instead of `libcuda` (#18000)
* Don't set `CUDAHOSTCXX` in environments that contain CUDA (#17826)
* `buildcache create`: `NoOverwriteException` is a warning, not an error (#17832)
* Fix `spack buildcache list --allarch` (#17884)
* `spack -V` works with `releases/latest` tag and shallow clones (#17884)
And fixes for GitHub Actions and tests to ensure that CI passes on the
release branch (#15687, #17279, #17328, #17377, #17732).
# v0.15.3 (2020-07-28)
This release contains the following bugfixes:
* Fix handling of relative view paths (#17721)
* Fixes for binary relocation (#17418, #17455)
* Fix redundant printing of error messages in build environment (#17709)
It also adds a support script for Spack tutorials:
* Add a tutorial setup script to share/spack (#17705, #17722)
# v0.15.2 (2020-07-23)
This minor release includes two new features:
* Spack install verbosity is decreased, and more debug levels are added (#17546)
* The $spack/share/spack/keys directory contains public keys that may be optionally trusted for public binary mirrors (#17684)
This release also includes several important fixes:
* MPICC and related variables are now cleand in the build environment (#17450)
* LLVM flang only builds CUDA offload components when +cuda (#17466)
* CI pipelines no longer upload user environments that can contain secrets to the internet (#17545)
* CI pipelines add bootstrapped compilers to the compiler config (#17536)
* `spack buildcache list` does not exit on first failure and lists later mirrors (#17565)
* Apple's "gcc" executable that is an apple-clang compiler does not generate a gcc compiler config (#17589)
* Mixed compiler toolchains are merged more naturally across different compiler suffixes (#17590)
* Cray Shasta platforms detect the OS properly (#17467)
* Additional more minor fixes.
# v0.15.1 (2020-07-10)
This minor release includes several important fixes:
* Fix shell support on Cray (#17386)
* Fix use of externals installed with other Spack instances (#16954)
* Fix gcc+binutils build (#9024)
* Fixes for usage of intel-mpi (#17378 and #17382)
* Fixes to Autotools config.guess detection (#17333 and #17356)
* Update `spack install` message to prompt user when an environment is not
explicitly activated (#17454)
This release also adds a mirror for all sources that are
fetched in Spack (#17077). It is expected to be useful when the
official website for a Spack package is unavailable.
# v0.15.0 (2020-06-28)
`v0.15.0` is a major feature release.
## Major Features in this release
1. **Cray support** Spack will now work properly on Cray "Cluster"
systems (non XC systems) and after a `module purge` command on Cray
systems. See #12989
2. **Virtual package configuration** Virtual packages are allowed in
packages.yaml configuration. This allows users to specify a virtual
package as non-buildable without needing to specify for each
implementation. See #14934
3. **New config subcommands** This release adds `spack config add` and
`spack config remove` commands to add to and remove from yaml
configuration files from the CLI. See #13920
4. **Environment activation** Anonymous environments are **no longer**
automatically activated in the current working directory. To activate
an environment from a `spack.yaml` file in the current directory, use
the `spack env activate .` command. This removes a concern that users
were too easily polluting their anonymous environments with accidental
installations. See #17258
5. **Apple clang compiler** The clang compiler and the apple-clang
compiler are now separate compilers in Spack. This allows Spack to
improve support for the apple-clang compiler. See #17110
6. **Finding external packages** Spack packages can now support an API
for finding external installations. This allows the `spack external
find` command to automatically add installations of those packages to
the user's configuration. See #15158
## Additional new features of note
* support for using Spack with the fish shell (#9279)
* `spack load --first` option to load first match (instead of prompting user) (#15622)
* support the Cray cce compiler both new and classic versions (#17256, #12989)
* `spack dev-build` command:
* supports stopping before a specified phase (#14699)
* supports automatically launching a shell in the build environment (#14887)
* `spack install --fail-fast` allows builds to fail at the first error (rather than best-effort) (#15295)
* environments: SpecList references can be dereferenced as compiler or dependency constraints (#15245)
* `spack view` command: new support for a copy/relocate view type (#16480)
* ci pipelines: see documentation for several improvements
* `spack mirror -a` command now supports excluding packages (#14154)
* `spack buildcache create` is now environment-aware (#16580)
* module generation: more flexible format for specifying naming schemes (#16629)
* lmod module generation: packages can be configured as core specs for lmod hierarchy (#16517)
## Deprecations and Removals
The following commands were deprecated in v0.13.0, and have now been removed:
* `spack configure`
* `spack build`
* `spack diy`
The following commands were deprecated in v0.14.0, and will be removed in the next major release:
* `spack bootstrap`
## Bugfixes
Some of the most notable bugfixes in this release include:
* Spack environments can now contain the string `-h` (#15429)
* The `spack install` gracefully handles being backgrounded (#15723, #14682)
* Spack uses `-isystem` instead of `-I` in cases that the underlying build system does as well (#16077)
* Spack no longer prints any specs that cannot be safely copied into a Spack command (#16462)
* Incomplete Spack environments containing python no longer cause problems (#16473)
* Several improvements to binary package relocation
## Package Improvements
The Spack project is constantly engaged in routine maintenance,
bugfixes, and improvements for the package ecosystem. Of particular
note in this release are the following:
* Spack now contains 4339 packages. There are 430 newly supported packages in v0.15.0
* GCC now builds properly on ARM architectures (#17280)
* Python: patched to support compiling mixed C/C++ python modules through distutils (#16856)
* improvements to pytorch and py-tensorflow packages
* improvements to major MPI implementations: mvapich2, mpich, openmpi, and others
## Spack Project Management:
* Much of the Spack CI infrastructure has moved from Travis to GitHub Actions (#16610, #14220, #16345)
* All merges to the `develop` branch run E4S CI pipeline (#16338)
* New `spack debug report` command makes reporting bugs easier (#15834)
# v0.14.2 (2020-04-15)
This is a minor release on the `0.14` series. It includes performance
improvements and bug fixes:
* Improvements to how `spack install` handles foreground/background (#15723)
* Major performance improvements for reading the package DB (#14693, #15777)
* No longer check for the old `index.yaml` database file (#15298)
* Properly activate environments with '-h' in the name (#15429)
* External packages have correct `.prefix` in environments/views (#15475)
* Improvements to computing env modifications from sourcing files (#15791)
* Bugfix on Cray machines when getting `TERM` env variable (#15630)
* Avoid adding spurious `LMOD` env vars to Intel modules (#15778)
* Don't output [+] for mock installs run during tests (#15609)
# v0.14.1 (2020-03-20)
This is a bugfix release on top of `v0.14.0`. Specific fixes include:
* several bugfixes for parallel installation (#15339, #15341, #15220, #15197)
* `spack load` now works with packages that have been renamed (#14348)
* bugfix for `suite-sparse` installation (#15326)
* deduplicate identical suffixes added to module names (#14920)
* fix issues with `configure_args` during module refresh (#11084)
* increased test coverage and test fixes (#15237, #15354, #15346)
* remove some unused code (#15431)
# v0.14.0 (2020-02-23)
`v0.14.0` is a major feature release, with 3 highlighted features:
1. **Distributed builds.** Multiple Spack instances will now coordinate
properly with each other through locks. This works on a single node
(where you've called `spack` several times) or across multiple nodes
with a shared filesystem. For example, with SLURM, you could build
`trilinos` and its dependencies on 2 24-core nodes, with 3 Spack
instances per node and 8 build jobs per instance, with `srun -N 2 -n 6
spack install -j 8 trilinos`. This requires a filesystem with locking
enabled, but not MPI or any other library for parallelism.
2. **Build pipelines.** You can also build in parallel through Gitlab
CI. Simply create a Spack environment and push it to Gitlab to build
on Gitlab runners. Pipeline support is now integrated into a single
`spack ci` command, so setting it up is easier than ever. See the
[Pipelines section](https://spack.readthedocs.io/en/v0.14.0/pipelines.html)
in the docs.
3. **Container builds.** The new `spack containerize` command allows you
to create a Docker or Singularity recipe from any Spack environment.
There are options to customize the build if you need them. See the
[Container Images section](https://spack.readthedocs.io/en/latest/containers.html)
in the docs.
In addition, there are several other new commands, many bugfixes and
improvements, and `spack load` no longer requires modules, so you can use
it the same way on your laptop or on your supercomputer.
Spack grew by over 300 packages since our last release in November 2019,
and the project grew to over 500 contributors. Thanks to all of you for
making yet another great release possible. Detailed notes below.
## Major new core features
* Distributed builds: spack instances coordinate and build in parallel (#13100)
* New `spack ci` command to manage CI pipelines (#12854)
* Generate container recipes from environments: `spack containerize` (#14202)
* `spack load` now works without using modules (#14062, #14628)
* Garbage collect old/unused installations with `spack gc` (#13534)
* Configuration files all set environment modifications the same way (#14372,
[docs](https://spack.readthedocs.io/en/v0.14.0/configuration.html#environment-modifications))
* `spack commands --format=bash` auto-generates completion (#14393, #14607)
* Packages can specify alternate fetch URLs in case one fails (#13881)
## Improvements
* Improved locking for concurrency with environments (#14676, #14621, #14692)
* `spack test` sends args to `pytest`, supports better listing (#14319)
* Better support for aarch64 and cascadelake microarch (#13825, #13780, #13820)
* Archspec is now a separate library (see https://github.com/archspec/archspec)
* Many improvements to the `spack buildcache` command (#14237, #14346,
#14466, #14467, #14639, #14642, #14659, #14696, #14698, #14714, #14732,
#14929, #15003, #15086, #15134)
## Selected Bugfixes
* Compilers now require an exact match on version (#8735, #14730, #14752)
* Bugfix for patches that specified specific versions (#13989)
* `spack find -p` now works in environments (#10019, #13972)
* Dependency queries work correctly in `spack find` (#14757)
* Bugfixes for locking upstream Spack instances chains (#13364)
* Fixes for PowerPC clang optimization flags (#14196)
* Fix for issue with compilers and specific microarchitectures (#13733, #14798)
## New commands and options
* `spack ci` (#12854)
* `spack containerize` (#14202)
* `spack gc` (#13534)
* `spack load` accepts `--only package`, `--only dependencies` (#14062, #14628)
* `spack commands --format=bash` (#14393)
* `spack commands --update-completion` (#14607)
* `spack install --with-cache` has new option: `--no-check-signature` (#11107)
* `spack test` now has `--list`, `--list-long`, and `--list-names` (#14319)
* `spack install --help-cdash` moves CDash help out of the main help (#13704)
## Deprecations
* `spack release-jobs` has been rolled into `spack ci`
* `spack bootstrap` will be removed in a future version, as it is no longer
needed to set up modules (see `spack load` improvements above)
## Documentation
* New section on building container images with Spack (see
[docs](https://spack.readthedocs.io/en/latest/containers.html))
* New section on using `spack ci` command to build pipelines (see
[docs](https://spack.readthedocs.io/en/latest/pipelines.html))
* Document how to add conditional dependencies (#14694)
* Document how to use Spack to replace Homebrew/Conda (#13083, see
[docs](https://spack.readthedocs.io/en/latest/workflows.html#using-spack-to-replace-homebrew-conda))
## Important package changes
* 3,908 total packages (345 added since 0.13.0)
* Added first cut at a TensorFlow package (#13112)
* We now build R without "recommended" packages, manage them w/Spack (#12015)
* Elpa and OpenBLAS now leverage microarchitecture support (#13655, #14380)
* Fix `octave` compiler wrapper usage (#14726)
* Enforce that packages in `builtin` aren't missing dependencies (#13949)
# v0.13.4 (2020-02-07)
This release contains several bugfixes:
* 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
@@ -299,4 +784,4 @@ version of all the changes since `v0.9.1`.
- 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)
- Docs are now hosted on [spack.readthedocs.io](https://spack.readthedocs.io)

View File

@@ -28,9 +28,11 @@ text in the license header:
External Packages
-------------------
Spack bundles its external dependencies in lib/spack/external. These
packages are covered by various permissive licenses. A summary listing
follows. See the license included with each package for full details.
Spack bundles most external dependencies in lib/spack/external. It also
includes the sbang tool directly in bin/sbang. These packages are covered
by various permissive licenses. A summary listing follows. See the
license included with each package for full details.
PackageName: argparse
PackageHomePage: https://pypi.python.org/pypi/argparse
@@ -68,10 +70,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
@@ -80,6 +78,10 @@ PackageName: ruamel.yaml
PackageHomePage: https://yaml.readthedocs.io/
PackageLicenseDeclared: MIT
PackageName: sbang
PackageHomePage: https://github.com/spack/sbang
PackageLicenseDeclared: Apache-2.0 OR MIT
PackageName: six
PackageHomePage: https://pypi.python.org/pypi/six
PackageLicenseDeclared: MIT

View File

@@ -1,20 +1,21 @@
Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
Copyright (c) 2013-2020 LLNS, LLC and other Spack Project Developers.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -1,6 +1,9 @@
# <img src="https://cdn.rawgit.com/spack/spack/develop/share/spack/logo/spack-logo.svg" width="64" valign="middle" alt="Spack"/> Spack
[![Build Status](https://travis-ci.org/spack/spack.svg?branch=develop)](https://travis-ci.org/spack/spack)
[![MacOS Tests](https://github.com/spack/spack/workflows/macos%20tests/badge.svg)](https://github.com/spack/spack/actions)
[![Linux Tests](https://github.com/spack/spack/workflows/linux%20tests/badge.svg)](https://github.com/spack/spack/actions)
[![Linux Builds](https://github.com/spack/spack/workflows/linux%20builds/badge.svg)](https://github.com/spack/spack/actions)
[![macOS Builds (nightly)](https://github.com/spack/spack/workflows/macOS%20builds%20nightly/badge.svg?branch=develop)](https://github.com/spack/spack/actions?query=workflow%3A%22macOS+builds+nightly%22)
[![codecov](https://codecov.io/gh/spack/spack/branch/develop/graph/badge.svg)](https://codecov.io/gh/spack/spack)
[![Read the Docs](https://readthedocs.org/projects/spack/badge/?version=latest)](https://spack.readthedocs.io)
[![Slack](https://spackpm.herokuapp.com/badge.svg)](https://spackpm.herokuapp.com)
@@ -18,7 +21,7 @@ builds of the same package. With Spack, you can build your software
*all* the ways you want to.
See the
[Feature Overview](http://spack.readthedocs.io/en/latest/features.html)
[Feature Overview](https://spack.readthedocs.io/en/latest/features.html)
for examples and highlights.
To install spack and your first package, make sure you have Python.
@@ -31,14 +34,14 @@ Then:
Documentation
----------------
[**Full documentation**](http://spack.readthedocs.io/) is available, or
[**Full documentation**](https://spack.readthedocs.io/) is available, or
run `spack help` or `spack help --all`.
Tutorial
----------------
We maintain a
[**hands-on tutorial**](http://spack.readthedocs.io/en/latest/tutorial.html).
[**hands-on tutorial**](https://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.
@@ -70,15 +73,33 @@ When you send your request, make ``develop`` the destination branch on the
Your PR must pass Spack's unit tests and documentation tests, and must be
[PEP 8](https://www.python.org/dev/peps/pep-0008/) compliant. We enforce
these guidelines with [Travis CI](https://travis-ci.org/spack/spack). To
run these tests locally, and for helpful tips on git, see our
[Contribution Guide](http://spack.readthedocs.io/en/latest/contribution_guide.html).
these guidelines with our CI process. To run these tests locally, and for
helpful tips on git, see our
[Contribution Guide](https://spack.readthedocs.io/en/latest/contribution_guide.html).
Spack uses a rough approximation of the
[Git Flow](http://nvie.com/posts/a-successful-git-branching-model/)
branching model. The ``develop`` branch contains the latest
contributions, and ``master`` is always tagged and points to the latest
stable release.
Spack's `develop` branch has the latest contributions. Pull requests
should target `develop`, and users who want the latest package versions,
features, etc. can use `develop`.
Releases
--------
For multi-user site deployments or other use cases that need very stable
software installations, we recommend using Spack's
[stable releases](https://github.com/spack/spack/releases).
Each Spack release series also has a corresponding branch, e.g.
`releases/v0.14` has `0.14.x` versions of Spack, and `releases/v0.13` has
`0.13.x` versions. We backport important bug fixes to these branches but
we do not advance the package versions or make other changes that would
change the way Spack concretizes dependencies within a release branch.
So, you can base your Spack deployment on a release branch and `git pull`
to get fixes, without the package churn that comes with `develop`.
The latest release is always available with the `releases/latest` tag.
See the [docs on releases](https://spack.readthedocs.io/en/latest/developer_guide.html#releases)
for more details.
Code of Conduct
------------------------
@@ -99,7 +120,7 @@ If you are referencing Spack in a publication, please cite the following paper:
* Todd Gamblin, Matthew P. LeGendre, Michael R. Collette, Gregory L. Lee,
Adam Moody, Bronis R. de Supinski, and W. Scott Futral.
[**The Spack Package Manager: Bringing Order to HPC Software Chaos**](http://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf).
[**The Spack Package Manager: Bringing Order to HPC Software Chaos**](https://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf).
In *Supercomputing 2015 (SC15)*, Austin, Texas, November 15-20 2015. LLNL-CONF-669890.
License
@@ -119,4 +140,4 @@ See [LICENSE-MIT](https://github.com/spack/spack/blob/develop/LICENSE-MIT),
SPDX-License-Identifier: (Apache-2.0 OR MIT)
LLNL-CODE-647188
LLNL-CODE-811652

View File

@@ -1,91 +0,0 @@
#! /usr/bin/env bash
# Remember where we are initially, it's the repo cloned by gitlab-ci
original_directory=$(pwd)
. "${original_directory}/share/spack/setup-env.sh"
# Create a temporary working directory
temp_dir=$(mktemp -d)
trap 'rm -rf "$temp_dir"' INT TERM QUIT EXIT
if [ -z "${DOWNSTREAM_CI_REPO}" ] ; then
echo "ERROR: missing variable: DOWNSTREAM_CI_REPO" >&2
exit 1
fi
if [ -z "${SPACK_RELEASE_ENVIRONMENT_PATH}" ] ; then
echo "ERROR: missing variable: SPACK_RELEASE_ENVIRONMENT_PATH" >&2
exit 1
fi
if [ -z "${CDASH_AUTH_TOKEN}" ] ; then
echo "WARNING: missing variable: CDASH_AUTH_TOKEN" >&2
else
token_file="${temp_dir}/cdash_auth_token"
echo ${CDASH_AUTH_TOKEN} > ${token_file}
fi
if [ -z "${SPACK_RELEASE_ENVIRONMENT_REPO}" ] ; then
echo "Assuming spack repo contains environment" >&2
env_repo_dir=${original_directory}
else
echo "Cloning ${SPACK_RELEASE_ENVIRONMENT_REPO} into ${temp_dir}/envrepo" >&2
cd ${temp_dir}
git clone ${SPACK_RELEASE_ENVIRONMENT_REPO} envrepo
cd envrepo
env_repo_dir=$(pwd)
fi
current_branch="$CI_COMMIT_REF_NAME"
# Because want to see generated gitlab-ci file as an artifact,
# we need to write it within the spack repo cloned by gitlab-ci.
gen_ci_dir="${original_directory}/ci-generation"
gen_ci_file="${gen_ci_dir}/.gitlab-ci.yml"
mkdir -p ${gen_ci_dir}
env_dir="${env_repo_dir}/${SPACK_RELEASE_ENVIRONMENT_PATH}"
if [ ! -f "${env_dir}/spack.yaml" ] ; then
echo "ERROR: Cannot find spack environment file in ${env_dir}"
exit 1
fi
cd $env_dir
# The next commands generates the .gitlab-ci.yml (and optionally creates a
# buildgroup in cdash)
RELEASE_JOBS_ARGS=("--output-file" "${gen_ci_file}")
if [ ! -z "${token_file}" ]; then
RELEASE_JOBS_ARGS+=("--cdash-credentials" "${token_file}")
fi
spack release-jobs "${RELEASE_JOBS_ARGS[@]}"
if [[ $? -ne 0 ]]; then
echo "spack release-jobs command failed"
exit 1
fi
cd "$original_directory"
mv .git "$temp_dir/original-git-dir"
git init .
git config user.email "robot@spack.io"
git config user.name "Spack Build Bot"
cp ${gen_ci_file} "${original_directory}/.gitlab-ci.yml"
git add .
echo "git commit"
commit_message="Auto-generated commit testing"
commit_message="${commit_message} ${current_branch} (${CI_COMMIT_SHA})"
git commit --message="${commit_message}"
echo "git push"
git remote add origin "$DOWNSTREAM_CI_REPO"
git push --force origin "master:multi-ci-${current_branch}"
rm -rf .git
mv "$temp_dir/original-git-dir" .git
git reset --hard HEAD

View File

@@ -1,399 +0,0 @@
#!/bin/bash
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
###
### This script represents a gitlab-ci job, corresponding to a single release
### spec. As such this script must first decide whether or not the spec it
### has been assigned is up to date on the remote binary mirror. If it is
### not (i.e. the source code has changed in a way that caused a change in the
### full_hash of the spec), this script will build the package, create a
### binary cache for it, and then push all related files to the remote binary
### mirror. This script also optionally communicates with a remote CDash
### instance to share status on the package build process.
###
### The following environment variables are (possibly) used within this script
### in order for the various elements function properly.
###
### First are two defaults we rely on from gitlab:
###
### CI_PROJECT_DIR
### CI_JOB_NAME
###
### The following must be set up in the variables section of gitlab:
###
### AWS_ACCESS_KEY_ID
### AWS_SECRET_ACCESS_KEY
### SPACK_SIGNING_KEY
###
### SPACK_S3_UPLOAD_MIRROR_URL // only required in the short term for the cloud case
###
### The following variabes are defined by the ci generation process and are
### required:
###
### SPACK_ENABLE_CDASH
### SPACK_ROOT_SPEC
### SPACK_MIRROR_URL
### SPACK_JOB_SPEC_PKG_NAME
### SPACK_COMPILER_ACTION
###
### Finally, these variables are optionally defined by the ci generation
### process, and may or may not be present:
###
### SPACK_CDASH_BASE_URL
### SPACK_CDASH_PROJECT
### SPACK_CDASH_PROJECT_ENC
### SPACK_CDASH_BUILD_NAME
### SPACK_CDASH_SITE
### SPACK_RELATED_BUILDS
### SPACK_JOB_SPEC_BUILDGROUP
###
shopt -s expand_aliases
export FORCE_UNSAFE_CONFIGURE=1
TEMP_DIR="${CI_PROJECT_DIR}/jobs_scratch_dir"
JOB_LOG_DIR="${TEMP_DIR}/logs"
SPEC_DIR="${TEMP_DIR}/specs"
LOCAL_MIRROR="${CI_PROJECT_DIR}/local_mirror"
BUILD_CACHE_DIR="${LOCAL_MIRROR}/build_cache"
SPACK_BIN_DIR="${CI_PROJECT_DIR}/bin"
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
CDASH_UPLOAD_URL="${SPACK_CDASH_BASE_URL}/submit.php?project=${SPACK_CDASH_PROJECT_ENC}"
DEP_JOB_RELATEBUILDS_URL="${SPACK_CDASH_BASE_URL}/api/v1/relateBuilds.php"
declare -a JOB_DEPS_PKG_NAMES
fi
export SPACK_ROOT=${CI_PROJECT_DIR}
# export PATH="${SPACK_BIN_DIR}:${PATH}"
export GNUPGHOME="${CI_PROJECT_DIR}/opt/spack/gpg"
. "${CI_PROJECT_DIR}/share/spack/setup-env.sh"
mkdir -p ${JOB_LOG_DIR}
mkdir -p ${SPEC_DIR}
cleanup() {
set +x
if [ -z "$exit_code" ] ; then
exit_code=$1
if [ -z "$exit_code" ] ; then
exit_code=0
fi
restore_io
if [ "$( type -t finalize )" '=' 'function' ] ; then
finalize "$JOB_LOG_DIR/cdash_log.txt"
fi
# We can clean these out later on, once we have a good sense for
# how the logging infrastructure is working
# rm -rf "$JOB_LOG_DIR"
fi
\exit $exit_code
}
alias exit='cleanup'
begin_logging() {
trap "cleanup 1; \\exit \$exit_code" INT TERM QUIT
trap "cleanup 0; \\exit \$exit_code" EXIT
rm -rf "$JOB_LOG_DIR/cdash_log.txt"
# NOTE: Here, some redirects are set up
exec 3>&1 # fd 3 is now a dup of stdout
exec 4>&2 # fd 4 is now a dup of stderr
# stdout and stderr are joined and redirected to the log
exec &> "$JOB_LOG_DIR/cdash_log.txt"
set -x
}
restore_io() {
exec >&-
exec 2>&-
exec >&3
exec 2>&4
exec 3>&-
exec 4>&-
}
finalize() {
# If you define a finalize function:
# - it will always be called at the very end of the script
# - the log file will be passed in as the first argument, and
# - the code in this function will not be logged.
echo "The full log file is located at $1"
# TODO: send this log data to cdash!
}
check_error()
{
local last_exit_code=$1
local last_cmd=$2
if [[ ${last_exit_code} -ne 0 ]]; then
echo "${last_cmd} exited with code ${last_exit_code}"
echo "TERMINATING JOB"
exit 1
else
echo "${last_cmd} completed successfully"
fi
}
extract_build_id()
{
LINES_TO_SEARCH=$1
regex="buildSummary\.php\?buildid=([[:digit:]]+)"
SINGLE_LINE_OUTPUT=$(echo ${LINES_TO_SEARCH} | tr -d '\n')
if [[ ${SINGLE_LINE_OUTPUT} =~ ${regex} ]]; then
echo "${BASH_REMATCH[1]}"
else
echo "NONE"
fi
}
get_relate_builds_post_data()
{
cat <<EOF
{
"project": "${1}",
"buildid": ${2},
"relatedid": ${3},
"relationship": "depends on"
}
EOF
}
gen_full_specs_for_job_and_deps() {
SPEC_YAML_PATH="${SPEC_DIR}/${SPACK_JOB_SPEC_PKG_NAME}.yaml"
local spec_names_to_save="${SPACK_JOB_SPEC_PKG_NAME}"
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
IFS=';' read -ra DEPS <<< "${SPACK_RELATED_BUILDS}"
for i in "${DEPS[@]}"; do
depPkgName="${i}"
spec_names_to_save="${spec_names_to_save} ${depPkgName}"
JOB_DEPS_PKG_NAMES+=("${depPkgName}")
done
fi
if [ "${SPACK_COMPILER_ACTION}" == "FIND_ANY" ]; then
# This corresponds to a bootstrapping phase where we need to
# rely on any available compiler to build the package (i.e. the
# compiler needed to be stripped from the spec), and thus we need
# to concretize the root spec again.
spack -d buildcache save-yaml --specs "${spec_names_to_save}" --root-spec "${SPACK_ROOT_SPEC}" --yaml-dir "${SPEC_DIR}"
else
# in this case, either we're relying on Spack to install missing compiler
# bootstrapped in a previous phase, or else we only had one phase (like a
# site which already knows what compilers are available on it's runners),
# so we don't want to concretize that root spec again. The reason we need
# this in the first case (bootstrapped compiler), is that we can't concretize
# a spec at this point if we're going to ask spack to "install_missing_compilers".
tmp_dir=$(mktemp -d)
TMP_YAML_PATH="${tmp_dir}/root.yaml"
ROOT_SPEC_YAML=$(spack python -c "import base64 ; import zlib ; print(str(zlib.decompress(base64.b64decode('${SPACK_ROOT_SPEC}')).decode('utf-8')))")
echo "${ROOT_SPEC_YAML}" > "${TMP_YAML_PATH}"
spack -d buildcache save-yaml --specs "${spec_names_to_save}" --root-spec-yaml "${TMP_YAML_PATH}" --yaml-dir "${SPEC_DIR}"
rm -rf ${tmp_dir}
fi
}
begin_logging
echo "Running job for spec: ${CI_JOB_NAME}"
# This should create the directory we referred to as GNUPGHOME earlier
spack gpg list
# Importing the secret key using gpg2 directly should allow to
# sign and verify both
set +x
KEY_IMPORT_RESULT=`echo ${SPACK_SIGNING_KEY} | base64 --decode | gpg2 --import`
check_error $? "gpg2 --import"
set -x
spack gpg list --trusted
spack gpg list --signing
# To have spack install missing compilers, we need to add a custom
# configuration scope, then we pass that to the package installation
# command
CUSTOM_CONFIG_SCOPE_DIR="${TEMP_DIR}/config_scope"
mkdir -p "${CUSTOM_CONFIG_SCOPE_DIR}"
CUSTOM_CONFIG_SCOPE_ARG=""
if [ "${SPACK_COMPILER_ACTION}" == "INSTALL_MISSING" ]; then
echo "Make sure bootstrapped compiler will be installed"
custom_config_file_path="${CUSTOM_CONFIG_SCOPE_DIR}/config.yaml"
cat <<CONFIG_STUFF > "${custom_config_file_path}"
config:
install_missing_compilers: true
CONFIG_STUFF
CUSTOM_CONFIG_SCOPE_ARG="-C ${CUSTOM_CONFIG_SCOPE_DIR}"
# Configure the binary mirror where, if needed, this jobs compiler
# was installed in binary pacakge form, then tell spack to
# install_missing_compilers.
elif [ "${SPACK_COMPILER_ACTION}" == "FIND_ANY" ]; then
echo "Just find any available compiler"
spack compiler find
else
echo "No compiler action to be taken"
fi
# Finally, list the compilers spack knows about
echo "Compiler Configurations:"
spack config get compilers
# Write full-deps yamls for this job spec and its dependencies
gen_full_specs_for_job_and_deps
# Make the build_cache directory if it doesn't exist
mkdir -p "${BUILD_CACHE_DIR}"
# Get buildcache name so we can write a CDash build id file in the right place.
# If we're unable to get the buildcache name, we may have encountered a problem
# concretizing the spec, or some other issue that will eventually cause the job
# to fail.
JOB_BUILD_CACHE_ENTRY_NAME=`spack -d buildcache get-buildcache-name --spec-yaml "${SPEC_YAML_PATH}"`
if [[ $? -ne 0 ]]; then
echo "ERROR, unable to get buildcache entry name for job ${CI_JOB_NAME}"
exit 1
fi
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
# Whether we have to build the spec or download it pre-built, we expect to find
# the cdash build id file sitting in this location afterwards.
JOB_CDASH_ID_FILE="${BUILD_CACHE_DIR}/${JOB_BUILD_CACHE_ENTRY_NAME}.cdashid"
fi
# Finally, we can check the spec we have been tasked with build against
# the built binary on the remote mirror to see if it needs to be rebuilt
spack -d buildcache check --spec-yaml "${SPEC_YAML_PATH}" --mirror-url "${SPACK_MIRROR_URL}" --rebuild-on-error
if [[ $? -ne 0 ]]; then
# Configure mirror
spack mirror add local_artifact_mirror "file://${LOCAL_MIRROR}"
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
JOB_CDASH_ID="NONE"
# Install package, using the buildcache from the local mirror to
# satisfy dependencies.
BUILD_ID_LINE=`spack -d -k -v "${CUSTOM_CONFIG_SCOPE_ARG}" install --keep-stage --cdash-upload-url "${CDASH_UPLOAD_URL}" --cdash-build "${SPACK_CDASH_BUILD_NAME}" --cdash-site "${SPACK_CDASH_SITE}" --cdash-track "${SPACK_JOB_SPEC_BUILDGROUP}" -f "${SPEC_YAML_PATH}" | grep "buildSummary\\.php"`
check_error $? "spack install"
# By parsing the output of the "spack install" command, we can get the
# buildid generated for us by CDash
JOB_CDASH_ID=$(extract_build_id "${BUILD_ID_LINE}")
# Write the .cdashid file to the buildcache as well
echo "${JOB_CDASH_ID}" >> ${JOB_CDASH_ID_FILE}
else
spack -d -k -v "${CUSTOM_CONFIG_SCOPE_ARG}" install --keep-stage -f "${SPEC_YAML_PATH}"
fi
# Copy some log files into an artifact location, once we have a way
# to provide a spec.yaml file to more spack commands (e.g. "location")
# stage_dir=$(spack location --stage-dir -f "${SPEC_YAML_PATH}")
# build_log_file=$(find -L "${stage_dir}" | grep "spack-build\\.out")
# config_log_file=$(find -L "${stage_dir}" | grep "config\\.log")
# cp "${build_log_file}" "${JOB_LOG_DIR}/"
# cp "${config_log_file}" "${JOB_LOG_DIR}/"
# Create buildcache entry for this package, reading the spec from the yaml
# file.
spack -d buildcache create --spec-yaml "${SPEC_YAML_PATH}" -a -f -d "${LOCAL_MIRROR}" --no-rebuild-index
check_error $? "spack buildcache create"
# TODO: The upload-s3 command should eventually be replaced with something
# like: "spack buildcache put <mirror> <spec>", when that subcommand is
# properly implemented.
if [ ! -z "${SPACK_S3_UPLOAD_MIRROR_URL}" ] ; then
spack -d upload-s3 spec --base-dir "${LOCAL_MIRROR}" --spec-yaml "${SPEC_YAML_PATH}" --endpoint-url "${SPACK_S3_UPLOAD_MIRROR_URL}"
check_error $? "spack upload-s3 spec"
else
spack -d buildcache copy --base-dir "${LOCAL_MIRROR}" --spec-yaml "${SPEC_YAML_PATH}" --destination-url "${SPACK_MIRROR_URL}"
fi
else
echo "spec ${CI_JOB_NAME} is already up to date on remote mirror, downloading it"
# Configure remote mirror so we can download buildcache entry
spack mirror add remote_binary_mirror ${SPACK_MIRROR_URL}
# Now download it
BUILDCACHE_DL_ARGS=("--spec-yaml" "${SPEC_YAML_PATH}" "--path" "${BUILD_CACHE_DIR}/" )
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
BUILDCACHE_DL_ARGS+=( "--require-cdashid" )
fi
spack -d buildcache download "${BUILDCACHE_DL_ARGS[@]}"
check_error $? "spack buildcache download"
fi
# The next step is to relate this job to the jobs it depends on
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
if [ -f "${JOB_CDASH_ID_FILE}" ]; then
JOB_CDASH_BUILD_ID=$(<${JOB_CDASH_ID_FILE})
if [ "${JOB_CDASH_BUILD_ID}" == "NONE" ]; then
echo "ERROR: unable to read this jobs id from ${JOB_CDASH_ID_FILE}"
exit 1
fi
# Now get CDash ids for dependencies and "relate" each dependency build
# with this jobs build
for DEP_PKG_NAME in "${JOB_DEPS_PKG_NAMES[@]}"; do
echo "Getting cdash id for dependency --> ${DEP_PKG_NAME} <--"
DEP_SPEC_YAML_PATH="${SPEC_DIR}/${DEP_PKG_NAME}.yaml"
DEP_JOB_BUILDCACHE_NAME=`spack -d buildcache get-buildcache-name --spec-yaml "${DEP_SPEC_YAML_PATH}"`
if [[ $? -eq 0 ]]; then
DEP_JOB_ID_FILE="${BUILD_CACHE_DIR}/${DEP_JOB_BUILDCACHE_NAME}.cdashid"
echo "DEP_JOB_ID_FILE path = ${DEP_JOB_ID_FILE}"
if [ -f "${DEP_JOB_ID_FILE}" ]; then
DEP_JOB_CDASH_BUILD_ID=$(<${DEP_JOB_ID_FILE})
echo "File ${DEP_JOB_ID_FILE} contained value ${DEP_JOB_CDASH_BUILD_ID}"
echo "Relating builds -> ${SPACK_CDASH_BUILD_NAME} (buildid=${JOB_CDASH_BUILD_ID}) depends on ${DEP_PKG_NAME} (buildid=${DEP_JOB_CDASH_BUILD_ID})"
relateBuildsPostBody="$(get_relate_builds_post_data "${SPACK_CDASH_PROJECT}" ${JOB_CDASH_BUILD_ID} ${DEP_JOB_CDASH_BUILD_ID})"
relateBuildsResult=`curl "${DEP_JOB_RELATEBUILDS_URL}" -H "Content-Type: application/json" -H "Accept: application/json" -d "${relateBuildsPostBody}"`
echo "Result of curl request: ${relateBuildsResult}"
else
echo "ERROR: Did not find expected .cdashid file for dependency: ${DEP_JOB_ID_FILE}"
exit 1
fi
else
echo "ERROR: Unable to get buildcache entry name for ${DEP_SPEC_NAME}"
exit 1
fi
done
else
echo "ERROR: Did not find expected .cdashid file ${JOB_CDASH_ID_FILE}"
exit 1
fi
fi
# Show the size of the buildcache and a list of what's in it, directly
# in the gitlab log output
(
restore_io
du -sh ${BUILD_CACHE_DIR}
find ${BUILD_CACHE_DIR} -maxdepth 3 -type d -ls
)
echo "End of rebuild package script"

171
bin/sbang
View File

@@ -1,114 +1,103 @@
#!/bin/bash
#!/bin/sh
#
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# sbang project developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
#
# `sbang`: Run scripts with long shebang lines.
#
# Many operating systems limit the length of shebang lines, making it
# hard to use interpreters that are deep in the directory hierarchy.
# `sbang` can run such scripts, either as a shebang interpreter, or
# directly on the command line.
# Many operating systems limit the length and number of possible
# arguments in shebang lines, making it hard to use interpreters that are
# deep in the directory hierarchy or require special arguments.
#
# Usage
# -----------------------------
# Suppose you have a script, long-shebang.sh, like this:
# To use, put the long shebang on the second line of your script, and
# make sbang the interpreter, like this:
#
# 1 #!/very/long/path/to/some/interpreter
# 2
# 3 echo "success!"
# #!/bin/sh /path/to/sbang
# #!/long/path/to/real/interpreter with arguments
#
# Invoking this script will result in an error on some OS's. On
# Linux, you get this:
# `sbang` will run the real interpreter with the script as its argument.
#
# $ ./long-shebang.sh
# -bash: ./long: /very/long/path/to/some/interp: bad interpreter:
# No such file or directory
#
# On Mac OS X, the system simply assumes the interpreter is the shell
# and tries to run with it, which is likely not what you want.
#
#
# `sbang` on the command line
# -----------------------------
# You can use `sbang` in two ways. The first is to use it directly,
# from the command line, like this:
#
# $ sbang ./long-shebang.sh
# success!
#
#
# `sbang` as the interpreter
# -----------------------------
# You can also use `sbang` *as* the interpreter for your script. Put
# `#!/bin/bash /path/to/sbang` on line 1, and move the original
# shebang to line 2 of the script:
#
# 1 #!/bin/bash /path/to/sbang
# 2 #!/long/path/to/real/interpreter with arguments
# 3
# 4 echo "success!"
#
# $ ./long-shebang.sh
# success!
#
# On Linux, you could shorten line 1 to `#!/path/to/sbang`, but other
# operating systems like Mac OS X require the interpreter to be a
# binary, so it's best to use `sbang` as a `bash` argument.
# Obviously, for this to work, `sbang` needs to have a short enough
# path that *it* will run without hitting OS limits.
#
# For Lua, scripts the second line can't start with #!, as # is not
# the comment character in lua (even though lua ignores #! on the
# *first* line of a script). So, instrument a lua script like this,
# using -- instead of # on the second line:
#
# 1 #!/bin/bash /path/to/sbang
# 2 --!/long/path/to/lua with arguments
# 3
# 4 print "success!"
#
# How it works
# -----------------------------
# `sbang` is a very simple bash script. It looks at the first two
# lines of a script argument and runs the last line starting with
# `#!`, with the script as an argument. It also forwards arguments.
# See https://github.com/spack/sbang for more details.
#
# Generic error handling
die() {
echo "$@" 1>&2;
exit 1
}
# set SBANG_DEBUG to make the script print what would normally be executed.
exec="exec"
if [ -n "${SBANG_DEBUG}" ]; then
exec="echo "
fi
# First argument is the script we want to actually run.
script="$1"
# ensure that the script actually exists
if [ -z "$script" ]; then
die "error: sbang requires exactly one argument"
elif [ ! -f "$script" ]; then
die "$script: no such file or directory"
fi
# Search the first two lines of script for interpreters.
lines=0
while read line && ((lines < 2)) ; do
if [[ "$line" = '#!'* ]]; then
interpreter="${line#\#!}"
elif [[ "$line" = '//!'*node* ]]; then
interpreter="${line#//!}"
elif [[ "$line" = '--!'*lua* ]]; then
interpreter="${line#--!}"
while read -r line && [ $lines -ne 2 ]; do
if [ "${line#\#!}" != "$line" ]; then
shebang_line="${line#\#!}"
elif [ "${line#//!}" != "$line" ]; then # // comments
shebang_line="${line#//!}"
elif [ "${line#--!}" != "$line" ]; then # -- lua comments
shebang_line="${line#--!}"
elif [ "${line#<?php\ }" != "$line" ]; then # php comments
shebang_line="${line#<?php\ \#!}"
shebang_line="${shebang_line%\ ?>}"
fi
lines=$((lines+1))
done < "$script"
# this is ineeded for scripts with sbang parameter
# like ones in intltool
# #!/<spack-long-path>/perl -w
# this is the interpreter line with all the parameters as a vector
interpreter_v=(${interpreter})
# this is the single interpreter path
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 "$@"
else
exec $interpreter_v "$@"
fi
else
echo "error: sbang found no interpreter in $script"
exit 1
# error if we did not find any interpreter
if [ -z "$shebang_line" ]; then
die "error: sbang found no interpreter in $script"
fi
# parse out the interpreter and first argument
IFS=' ' read -r interpreter arg1 rest <<EOF
$shebang_line
EOF
# Determine if the interpreter is a particular program, accounting for the
# '#!/usr/bin/env PROGRAM' convention. So:
#
# interpreter_is perl
#
# will be true for '#!/usr/bin/perl' and '#!/usr/bin/env perl'
interpreter_is() {
if [ "${interpreter##*/}" = "$1" ]; then
return 0
elif [ "$interpreter" = "/usr/bin/env" ] && [ "$arg1" = "$1" ]; then
return 0
else
return 1
fi
}
if interpreter_is "sbang"; then
die "error: refusing to re-execute sbang to avoid infinite loop."
fi
# Finally invoke the real shebang line
# ruby and perl need -x to ignore the first line of input (the sbang line)
#
if interpreter_is perl || interpreter_is ruby; then
# shellcheck disable=SC2086
$exec $shebang_line -x "$@"
else
# shellcheck disable=SC2086
$exec $shebang_line "$@"
fi

View File

@@ -1,7 +1,7 @@
#!/bin/sh
# -*- python -*-
#
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -59,6 +59,8 @@ if 'ruamel.yaml' in sys.modules:
if 'ruamel' in sys.modules:
del sys.modules['ruamel']
# Once we've set up the system path, run the spack main method
import spack.main # noqa
sys.exit(spack.main.main())
# Once we've set up the system path, run the spack main method
if __name__ == "__main__":
sys.exit(spack.main.main())

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -22,4 +22,4 @@
#
# This is compatible across platforms.
#
/usr/bin/env spack python "$@"
exec /usr/bin/env spack python "$@"

View File

@@ -16,7 +16,17 @@
config:
# This is the path to the root of the Spack install tree.
# You can use $spack here to refer to the root of the spack instance.
install_tree: $spack/opt/spack
install_tree:
root: $spack/opt/spack
projections:
all: "${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}"
# install_tree can include an optional padded length (int or boolean)
# default is False (do not pad)
# if padded_length is True, Spack will pad as close to the system max path
# length as possible
# if padded_length is an integer, Spack will pad to that many characters,
# assuming it is higher than the length of the install_tree root.
# padded_length: 128
# Locations where templates should be found
@@ -24,10 +34,6 @@ config:
- $spack/share/spack/templates
# Default directory layout
install_path_scheme: "${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}"
# Locations where different types of modules should be installed.
module_roots:
tcl: $spack/share/spack/modules
@@ -64,6 +70,10 @@ config:
- ~/.spack/stage
# - $spack/var/spack/stage
# Directory in which to run tests and store test results.
# Tests will be stored in directories named by date/time and package
# name/hash.
test_stage: ~/.spack/test
# Cache directory for already downloaded source tarballs and archived
# repositories. This can be purged with `spack clean --downloads`.
@@ -75,6 +85,12 @@ config:
misc_cache: ~/.spack/cache
# Timeout in seconds used for downloading sources etc. This only applies
# to the connection phase and can be increased for slow connections or
# servers. 0 means no timeout.
connect_timeout: 10
# If this is false, tools like curl that use SSL will not verify
# certifiates. (e.g., curl will use use the -k option)
verify_ssl: true
@@ -133,11 +149,25 @@ config:
ccache: false
# The concretization algorithm to use in Spack. Options are:
#
# 'original': Spack's original greedy, fixed-point concretizer. This
# algorithm can make decisions too early and will not backtrack
# sufficiently for many specs.
#
# 'clingo': Uses a logic solver under the hood to solve DAGs with full
# backtracking and optimization for user preferences.
#
# 'clingo' currently requires the clingo ASP solver to be installed and
# built with python bindings. 'original' is built in.
concretizer: original
# How long to wait to lock the Spack installation database. This lock is used
# 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).
@@ -147,7 +177,13 @@ config:
# 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,13 +15,20 @@
# -------------------------------------------------------------------------
packages:
all:
compiler: [clang, gcc, intel]
compiler:
- apple-clang
- clang
- gcc
- intel
providers:
elf: [libelf]
unwind: [apple-libunwind]
elf:
- libelf
unwind:
- apple-libunwind
apple-libunwind:
paths:
buildable: false
externals:
# Apple bundles libunwind version 35.3 with macOS 10.9 and later,
# although the version number used here isn't critical
apple-libunwind@35.3: /usr
buildable: False
- spec: apple-libunwind@35.3
prefix: /usr

View File

@@ -0,0 +1,2 @@
mirrors:
spack-public: https://mirror.spack.io

View File

@@ -30,7 +30,11 @@ modules:
lib64:
- LIBRARY_PATH
include:
- CPATH
- C_INCLUDE_PATH
- CPLUS_INCLUDE_PATH
# The INCLUDE env variable specifies paths to look for
# .mod file for Intel Fortran compilers
- INCLUDE
lib/pkgconfig:
- PKG_CONFIG_PATH
lib64/pkgconfig:

View File

@@ -15,34 +15,40 @@
# -------------------------------------------------------------------------
packages:
all:
compiler: [gcc, intel, pgi, clang, xl, nag, fj]
compiler: [gcc, intel, pgi, clang, xl, nag, fj, aocc]
providers:
D: [ldc]
awk: [gawk]
blas: [openblas]
blas: [openblas, amdblis]
daal: [intel-daal]
elf: [elfutils]
fftw-api: [fftw]
gl: [mesa+opengl, opengl]
glx: [mesa+glx, opengl]
fftw-api: [fftw, amdfftw]
gl: [mesa+opengl, mesa18+opengl, opengl]
glx: [mesa+glx, mesa18+glx, opengl]
glu: [mesa-glu, openglu]
golang: [gcc]
iconv: [libiconv]
ipp: [intel-ipp]
java: [openjdk, jdk, ibm-java]
jpeg: [libjpeg-turbo, libjpeg]
lapack: [openblas]
lapack: [openblas, amdlibflame]
mariadb-client: [mariadb-c-client, mariadb]
mkl: [intel-mkl]
mpe: [mpe2]
mpi: [openmpi, mpich]
mysql-client: [mysql, mariadb-c-client]
opencl: [pocl]
osmesa: [mesa+osmesa, mesa18+osmesa]
pil: [py-pillow]
pkgconfig: [pkgconf, pkg-config]
scalapack: [netlib-scalapack]
rpc: [libtirpc]
scalapack: [netlib-scalapack, amdscalapack]
sycl: [hipsycl]
szip: [libszip, libaec]
tbb: [intel-tbb]
unwind: [libunwind]
yacc: [bison, byacc]
flame: [libflame, amdlibflame]
permissions:
read: world
write: user

View File

@@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="refresh" content="0; url=http://spack.readthedocs.io/" />
<meta http-equiv="refresh" content="0; url=https://spack.readthedocs.io/" />
</head>
<body>
<p>
This page has moved to <a href="http://spack.readthedocs.io/">http://spack.readthedocs.io/</a>
This page has moved to <a href="https://spack.readthedocs.io/">https://spack.readthedocs.io/</a>
</p>
</body>
</html>

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -25,6 +25,14 @@ It is recommended that the following be put in your ``.bashrc`` file:
alias less='less -R'
If you do not see colorized output when using ``less -R`` it is because color
is being disabled in the piped output. In this case, tell spack to force
colorized output.
.. code-block:: console
$ spack --color always | less -R
--------------------------
Listing available packages
--------------------------
@@ -45,7 +53,7 @@ can install:
.. command-output:: spack list
:ellipsis: 10
There are thosands of them, so we've truncated the output above, but you
There are thousands of them, so we've truncated the output above, but you
can find a :ref:`full list here <package-list>`.
Packages are listed by name in alphabetical order.
A pattern to match with no wildcards, ``*`` or ``?``,
@@ -124,32 +132,28 @@ If ``mpileaks`` depends on other packages, Spack will install the
dependencies first. It then fetches the ``mpileaks`` tarball, expands
it, verifies that it was downloaded without errors, builds it, and
installs it in its own directory under ``$SPACK_ROOT/opt``. You'll see
a number of messages from spack, a lot of build output, and a message
that the packages is installed:
a number of messages from Spack, a lot of build output, and a message
that the package is installed. Add one or more debug options (``-d``)
to get increasingly detailed output.
.. code-block:: console
$ spack install mpileaks
==> Installing mpileaks
==> mpich is already installed in ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/mpich@3.0.4.
==> callpath is already installed in ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/callpath@1.0.2-5dce4318.
==> adept-utils is already installed in ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/adept-utils@1.0-5adef8da.
==> Trying to fetch from https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz
######################################################################## 100.0%
==> Staging archive: ~/spack/var/spack/stage/mpileaks@1.0%gcc@4.4.7 arch=linux-debian7-x86_64-59f6ad23/mpileaks-1.0.tar.gz
==> Created stage in ~/spack/var/spack/stage/mpileaks@1.0%gcc@4.4.7 arch=linux-debian7-x86_64-59f6ad23.
==> No patches needed for mpileaks.
==> Building mpileaks.
... build output ...
==> Successfully installed mpileaks.
Fetch: 2.16s. Build: 9.82s. Total: 11.98s.
[+] ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/mpileaks@1.0-59f6ad23
... dependency build output ...
==> Installing mpileaks-1.0-ph7pbnhl334wuhogmugriohcwempqry2
==> No binary for mpileaks-1.0-ph7pbnhl334wuhogmugriohcwempqry2 found: installing from source
==> mpileaks: Executing phase: 'autoreconf'
==> mpileaks: Executing phase: 'configure'
==> mpileaks: Executing phase: 'build'
==> mpileaks: Executing phase: 'install'
[+] ~/spack/opt/linux-rhel7-broadwell/gcc-8.1.0/mpileaks-1.0-ph7pbnhl334wuhogmugriohcwempqry2
The last line, with the ``[+]``, indicates where the package is
installed.
Add the debug option -- ``spack install -d mpileaks`` -- to get additional
output.
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Building a specific version
^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -232,6 +236,146 @@ 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.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Marking packages explicit or implicit
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
By default, Spack will mark packages a user installs as explicitly installed,
while all of its dependencies will be marked as implicitly installed. Packages
can be marked manually as explicitly or implicitly installed by using
``spack mark``. This can be used in combination with ``spack gc`` to clean up
packages that are no longer required.
.. code-block:: console
$ spack install m4
==> 29005: Installing libsigsegv
[...]
==> 29005: Installing m4
[...]
$ spack install m4 ^libsigsegv@2.11
==> 39798: Installing libsigsegv
[...]
==> 39798: Installing m4
[...]
$ spack find -d
==> 4 installed packages
-- linux-fedora32-haswell / gcc@10.1.1 --------------------------
libsigsegv@2.11
libsigsegv@2.12
m4@1.4.18
libsigsegv@2.12
m4@1.4.18
libsigsegv@2.11
$ spack gc
==> There are no unused specs. Spack's store is clean.
$ spack mark -i m4 ^libsigsegv@2.11
==> m4@1.4.18 : marking the package implicit
$ spack gc
==> The following packages will be uninstalled:
-- linux-fedora32-haswell / gcc@10.1.1 --------------------------
5fj7p2o libsigsegv@2.11 c6ensc6 m4@1.4.18
==> Do you want to proceed? [y/N]
In the example above, we ended up with two versions of ``m4`` since they depend
on different versions of ``libsigsegv``. ``spack gc`` will not remove any of
the packages since both versions of ``m4`` have been installed explicitly
and both versions of ``libsigsegv`` are required by the ``m4`` packages.
``spack mark`` can also be used to implement upgrade workflows. The following
example demonstrates how the ``spack mark`` and ``spack gc`` can be used to
only keep the current version of a package installed.
When updating Spack via ``git pull``, new versions for either ``libsigsegv``
or ``m4`` might be introduced. This will cause Spack to install duplicates.
Since we only want to keep one version, we mark everything as implicitly
installed before updating Spack. If there is no new version for either of the
packages, ``spack install`` will simply mark them as explicitly installed and
``spack gc`` will not remove them.
.. code-block:: console
$ spack install m4
==> 62843: Installing libsigsegv
[...]
==> 62843: Installing m4
[...]
$ spack mark -i -a
==> m4@1.4.18 : marking the package implicit
$ git pull
[...]
$ spack install m4
[...]
==> m4@1.4.18 : marking the package explicit
[...]
$ spack gc
==> There are no unused specs. Spack's store is clean.
When using this workflow for installations that contain more packages, care
has to be taken to either only mark selected packages or issue ``spack install``
for all packages that should be kept.
You can check :ref:`cmd-spack-find-metadata` to see how to query for explicitly
or implicitly installed packages.
^^^^^^^^^^^^^^^^^^^^^^^^^
Non-Downloadable Tarballs
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -277,85 +421,6 @@ 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
@@ -414,6 +479,8 @@ Packages are divided into groups according to their architecture and
compiler. Within each group, Spack tries to keep the view simple, and
only shows the version of installed packages.
.. _cmd-spack-find-metadata:
""""""""""""""""""""""""""""""""
Viewing more metadata
""""""""""""""""""""""""""""""""
@@ -573,8 +640,8 @@ output metadata on specs and all dependencies as json:
"target": "x86_64"
},
"compiler": {
"name": "clang",
"version": "10.0.0-apple"
"name": "apple-clang",
"version": "10.0.0"
},
"namespace": "builtin",
"parameters": {
@@ -622,6 +689,95 @@ structured the way you want:
"hash": "zvaa4lhlhilypw5quj3akyd3apbq5gap"
}
------------------------
Using installed packages
------------------------
There are several different ways to use Spack packages once you have
installed them. As you've seen, spack packages are installed into long
paths with hashes, and you need a way to get them into your path. The
easiest way is to use :ref:`spack load <cmd-spack-load>`, which is
described in the next section.
Some more advanced ways to use Spack packages include:
* :ref:`environments <environments>`, which you can use to bundle a
number of related packages to "activate" all at once, and
* :ref:`environment modules <modules>`, which are commonly used on
supercomputing clusters. Spack generates module files for every
installation automatically, and you can customize how this is done.
.. _cmd-spack-load:
^^^^^^^^^^^^^^^^^^^^^^^
``spack load / unload``
^^^^^^^^^^^^^^^^^^^^^^^
If you have :ref:`shell support <shell-support>` enabled you can use the
``spack load`` command to quickly get a package on your ``PATH``.
For example this will add the ``mpich`` package built with ``gcc`` to
your path:
.. code-block:: console
$ spack install mpich %gcc@4.4.7
# ... wait for install ...
$ 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
These commands will add appropriate directories to your ``PATH``,
``MANPATH``, ``CPATH``, and ``LD_LIBRARY_PATH`` according to the
:ref:`prefix inspections <customize-env-modifications>` defined in your
modules configuration. 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
"""""""""""""""
Ambiguous specs
"""""""""""""""
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: libelf matches multiple packages.
Matching packages:
qmm4kso libelf@0.8.13%gcc@4.4.7 arch=linux-debian7-x86_64
cd2u6jt 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
identify one package. For example, above, the key differentiator is
that one ``libelf`` is built with the Intel compiler, while the other
used ``gcc``. You could therefore just type:
.. code-block:: console
$ spack load libelf %intel
To identify just the one built with the Intel compiler. If you want to be
*very* specific, you can load it by its hash. For example, to load the
first ``libelf`` above, you would run:
.. code-block:: console
$ spack load /qmm4kso
We'll learn more about Spack's spec syntax in the next section.
.. _sec-specs:
--------------------
@@ -641,11 +797,11 @@ Here is an example of a much longer spec than we've seen thus far:
.. code-block:: none
mpileaks @1.2:1.4 %gcc@4.7.5 +debug -qt arch=bgq_os ^callpath @1.1 %gcc@4.7.2
mpileaks @1.2:1.4 %gcc@4.7.5 +debug -qt target=x86_64 ^callpath @1.1 %gcc@4.7.2
If provided to ``spack install``, this will install the ``mpileaks``
library at some version between ``1.2`` and ``1.4`` (inclusive),
built using ``gcc`` at version 4.7.5 for the Blue Gene/Q architecture,
built using ``gcc`` at version 4.7.5 for a generic ``x86_64`` architecture,
with debug options enabled, and without Qt support. Additionally, it
says to link it with the ``callpath`` library (which it depends on),
and to build callpath with ``gcc`` 4.7.2. Most specs will not be as
@@ -808,7 +964,7 @@ Variants are named options associated with a particular package. They are
optional, as each package must provide default values for each variant it
makes available. Variants can be specified using
a flexible parameter syntax ``name=<value>``. For example,
``spack install libelf debug=True`` will install libelf build with debug
``spack install libelf debug=True`` will install libelf built with debug
flags. The names of particular variants available for a package depend on
what was provided by the package author. ``spack info <package>`` will
provide information on what build variants are available.
@@ -871,7 +1027,7 @@ contains any spaces. Any of ``cppflags=-O3``, ``cppflags="-O3"``,
``cppflags='-O3'``, and ``cppflags="-O3 -fPIC"`` are acceptable, but
``cppflags=-O3 -fPIC`` is not. Additionally, if the value of the
compiler flags is not the last thing on the line, it must be followed
by a space. The commmand ``spack install libelf cppflags="-O3"%intel``
by a space. The command ``spack install libelf cppflags="-O3"%intel``
will be interpreted as an attempt to set ``cppflags="-O3%intel"``.
The six compiler flags are injected in the order of implicit make commands
@@ -883,11 +1039,13 @@ in GNU Autotools. If all flags are set, the order is
Compiler environment variables and additional RPATHs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In the exceptional case a compiler requires setting special environment
variables, like an explicit library load path. These can bet set in an
extra section in the compiler configuration (the supported environment
modification commands are: ``set``, ``unset``, ``append-path``, and
``prepend-path``). The user can also specify additional ``RPATHs`` that the
Sometimes compilers require setting special environment variables to
operate correctly. Spack handles these cases by allowing custom environment
modifications in the ``environment`` attribute of the compiler configuration
section. See also the :ref:`configuration_environment_variables` section
of the configuration files docs for more information.
It is also possible to specify additional ``RPATHs`` that the
compiler will add to all executables generated by that compiler. This is
useful for forcing certain compilers to RPATH their own runtime libraries, so
that executables will run without the need to set ``LD_LIBRARY_PATH``.
@@ -904,28 +1062,19 @@ that executables will run without the need to set ``LD_LIBRARY_PATH``.
fc: /opt/gcc/bin/gfortran
environment:
unset:
BAD_VARIABLE: # The colon is required but the value must be empty
- BAD_VARIABLE
set:
GOOD_VARIABLE_NUM: 1
GOOD_VARIABLE_STR: good
prepend-path:
prepend_path:
PATH: /path/to/binutils
append-path:
append_path:
LD_LIBRARY_PATH: /opt/gcc/lib
extra_rpaths:
- /path/to/some/compiler/runtime/directory
- /path/to/some/other/compiler/runtime/directory
.. note::
The section `environment` is interpreted as an ordered dictionary, which
means two things. First, environment modification are applied in the order
they are specified in the configuration file. Second, you cannot express
environment modifications that require mixing different commands, i.e. you
cannot `set` one variable, than `prepend-path` to another one, and than
again `set` a third one.
^^^^^^^^^^^^^^^^^^^^^^^
Architecture specifiers
^^^^^^^^^^^^^^^^^^^^^^^
@@ -1028,13 +1177,13 @@ of failing:
In the snippet above, for instance, the microarchitecture was demoted to ``haswell`` when
compiling with ``gcc@4.8`` since support to optimize for ``broadwell`` starts from ``gcc@4.9:``.
Finally if Spack has no information to match compiler and target, it will
Finally, if Spack has no information to match compiler and target, it will
proceed with the installation but avoid injecting any microarchitecture
specific flags.
.. warning::
Currently Spack doesn't print any warning to the user if it has no information
Currently, Spack doesn't print any warning to the user if it has no information
on which optimization flags should be used for a given compiler. This behavior
might change in the future.
@@ -1044,7 +1193,7 @@ specific flags.
Virtual dependencies
--------------------
The dependence graph for ``mpileaks`` we saw above wasn't *quite*
The dependency graph for ``mpileaks`` we saw above wasn't *quite*
accurate. ``mpileaks`` uses MPI, which is an interface that has many
different implementations. Above, we showed ``mpileaks`` and
``callpath`` depending on ``mpich``, which is one *particular*
@@ -1187,6 +1336,90 @@ add a version specifier to the spec:
Notice that the package versions that provide insufficient MPI
versions are now filtered out.
-----------------------------
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.
.. _extensions:
---------------------------
Extensions & Python support
---------------------------
@@ -1194,8 +1427,7 @@ Extensions & Python support
Spack's installation model assumes that each package will live in its
own install prefix. However, certain packages are typically installed
*within* the directory hierarchy of other packages. For example,
modules in interpreted languages like `Python
<https://www.python.org>`_ are typically installed in the
`Python <https://www.python.org>`_ packages are typically installed in the
``$prefix/lib/python-2.7/site-packages`` directory.
Spack has support for this type of installation as well. In Spack,
@@ -1271,10 +1503,9 @@ directly when you run ``python``:
Using Extensions
^^^^^^^^^^^^^^^^
There are three ways to get ``numpy`` working in Python. The first is
to use :ref:`shell-support`. You can simply ``load`` the
module for the extension, and it will be added to the ``PYTHONPATH``
in your current shell:
There are four ways to get ``numpy`` working in Python. The first is
to use :ref:`shell-support`. You can simply ``load`` the extension,
and it will be added to the ``PYTHONPATH`` in your current shell:
.. code-block:: console
@@ -1284,11 +1515,29 @@ in your current shell:
Now ``import numpy`` will succeed for as long as you keep your current
session open.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Loading Extensions via Modules
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Instead of using Spack's environment modification capabilities through
the ``spack load`` command, you can load numpy through your
environment modules (using ``environment-modules`` or ``lmod``). This
will also add the extension to the ``PYTHONPATH`` in your current
shell.
.. code-block:: console
$ module load <name of numpy module>
If you do not know the name of the specific numpy module you wish to
load, you can use the ``spack module tcl|lmod loads`` command to get
the name of the module from the Spack spec.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Activating Extensions in a View
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The second way to use extensions is to create a view, which merges the
Another way to use extensions is to create a view, which merges the
python installation along with the extensions into a single prefix.
See :ref:`filesystem-views` for a more in-depth description of views and
:ref:`cmd-spack-view` for usage of the ``spack view`` command.
@@ -1354,12 +1603,12 @@ packages listed as activated:
py-nose@1.3.4 py-numpy@1.9.1 py-setuptools@11.3.1
Now, when a user runs python, ``numpy`` will be available for import
*without* the user having to explicitly loaded. ``python@2.7.8`` now
*without* the user having to explicitly load it. ``python@2.7.8`` now
acts like a system Python installation with ``numpy`` installed inside
of it.
Spack accomplishes this by symbolically linking the *entire* prefix of
the ``py-numpy`` into the prefix of the ``python`` package. To the
the ``py-numpy`` package into the prefix of the ``python`` package. To the
python interpreter, it looks like ``numpy`` is installed in the
``site-packages`` directory.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -57,6 +57,12 @@ Build caches are installed via:
$ spack buildcache install
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
List of popular build caches
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* `Extreme-scale Scientific Software Stack (E4S) <https://e4s-project.github.io/>`_: `build cache <https://oaciss.uoregon.edu/e4s/inventory.html>`_
----------
Relocation

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -57,10 +57,13 @@ 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
externals:
- spec: "openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64"
prefix: /opt/openmpi-1.4.3
- spec: "openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug"
prefix: /opt/openmpi-1.4.3-debug
- spec: "openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64"
prefix: /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.
@@ -76,13 +79,15 @@ of the installation prefixes. The following example says that module
.. code-block:: yaml
cmake:
modules:
cmake@3.7.2: CMake/3.7.2
externals:
- spec: cmake@3.7.2
modules:
- 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``
token under the package name, which lists externals in a
``spec: /path`` or ``spec: module-name`` format. Each spec should be as
Each ``packages.yaml`` begins with a ``packages:`` attribute, followed
by a list of package names. To specify externals, add an ``externals:``
attribute under the package name, which lists externals.
Each external should specify a ``spec:`` string that should be as
well-defined as reasonably possible. If a
package lacks a spec component, such as missing a compiler or
package version, then Spack will guess the missing component based
@@ -106,10 +111,13 @@ 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
externals:
- spec: "openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64"
prefix: /opt/openmpi-1.4.3
- spec: "openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug"
prefix: /opt/openmpi-1.4.3-debug
- spec: "openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64"
prefix: /opt/openmpi-1.6.5-intel
buildable: False
The addition of the ``buildable`` flag tells Spack that it should never build
@@ -124,6 +132,82 @@ 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:
externals:
- spec: "openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64"
prefix: /opt/openmpi-1.4.3
- spec: "openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug"
prefix: /opt/openmpi-1.4.3-debug
- spec: "openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64"
prefix: /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:
externals:
- spec: cmake@3.17.2
prefix: /usr
Generally this is useful for detecting a small set of commonly-used packages;
for now this is generally limited to finding build-only dependencies.
Specific limitations include:
* Packages are not discoverable by default: For a package to be
discoverable with ``spack external find``, it needs to add special
logic. See :ref:`here <make-package-findable>` for more details.
* The current implementation only collects and examines executable files,
so it is typically only useful for build/run dependencies (in some cases
if a library package also provides an executable, it may be possible to
extract a meaningful Spec by running the executable - for example the
compiler wrappers in MPI implementations).
* The logic does not search through module files, it can only detect
packages with executables defined in ``PATH``; you can help Spack locate
externals which use module files by loading any associated modules for
packages that you want Spack to know about before running
``spack external find``.
* Spack does not overwrite existing entries in the package configuration:
If there is an external defined for a spec at any configuration scope,
then Spack will not add a new external entry (``spack config blame packages``
can help locate all external entries).
.. _concretization-preferences:

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -29,6 +29,7 @@ on these ideas for each distinct build system that Spack supports:
:maxdepth: 1
:caption: Make-incompatible
build_systems/mavenpackage
build_systems/sconspackage
build_systems/wafpackage
@@ -56,6 +57,7 @@ on these ideas for each distinct build system that Spack supports:
:maxdepth: 1
:caption: Other
build_systems/bundlepackage
build_systems/cudapackage
build_systems/intelpackage
build_systems/custompackage

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -233,7 +233,124 @@ You may have noticed that most of the Autotools flags are of the form
``--without-baz``. Since these flags are so common, Spack provides a
couple of helper functions to make your life easier.
TODO: document ``with_or_without`` and ``enable_or_disable``.
"""""""""""""""""
enable_or_disable
"""""""""""""""""
Autotools flags for simple boolean variants can be automatically
generated by calling the ``enable_or_disable`` method. This is
typically used to enable or disable some feature within the package.
.. code-block:: python
variant(
'memchecker',
default=False,
description='Memchecker support for debugging [degrades performance]'
)
config_args.extend(self.enable_or_disable('memchecker'))
In this example, specifying the variant ``+memchecker`` will generate
the following configuration options:
.. code-block:: console
--enable-memchecker
"""""""""""""""
with_or_without
"""""""""""""""
Autotools flags for more complex variants, including boolean variants
and multi-valued variants, can be automatically generated by calling
the ``with_or_without`` method.
.. code-block:: python
variant(
'schedulers',
values=disjoint_sets(
('auto',), ('alps', 'lsf', 'tm', 'slurm', 'sge', 'loadleveler')
).with_non_feature_values('auto', 'none'),
description="List of schedulers for which support is enabled; "
"'auto' lets openmpi determine",
)
if 'schedulers=auto' not in spec:
config_args.extend(self.with_or_without('schedulers'))
In this example, specifying the variant ``schedulers=slurm,sge`` will
generate the following configuration options:
.. code-block:: console
--with-slurm --with-sge
``enable_or_disable`` is actually functionally equivalent with
``with_or_without``, and accepts the same arguments and variant types;
but idiomatic autotools packages often follow these naming
conventions.
""""""""""""""""
activation_value
""""""""""""""""
Autotools parameters that require an option can still be automatically
generated, using the ``activation_value`` argument to
``with_or_without`` (or, rarely, ``enable_or_disable``).
.. code-block:: python
variant(
'fabrics',
values=disjoint_sets(
('auto',), ('psm', 'psm2', 'verbs', 'mxm', 'ucx', 'libfabric')
).with_non_feature_values('auto', 'none'),
description="List of fabrics that are enabled; "
"'auto' lets openmpi determine",
)
if 'fabrics=auto' not in spec:
config_args.extend(self.with_or_without('fabrics',
activation_value='prefix'))
``activation_value`` accepts a callable that generates the configure
parameter value given the variant value; but the special value
``prefix`` tells Spack to automatically use the dependenency's
installation prefix, which is the most common use for such
parameters. In this example, specifying the variant
``fabrics=libfabric`` will generate the following configuration
options:
.. code-block:: console
--with-libfabric=</path/to/libfabric>
""""""""""""""""""""
activation overrides
""""""""""""""""""""
Finally, the behavior of either ``with_or_without`` or
``enable_or_disable`` can be overridden for specific variant
values. This is most useful for multi-values variants where some of
the variant values require atypical behavior.
.. code-block:: python
def with_or_without_verbs(self, activated):
# Up through version 1.6, this option was named --with-openib.
# In version 1.7, it was renamed to be --with-verbs.
opt = 'verbs' if self.spec.satisfies('@1.7:') else 'openib'
if not activated:
return '--without-{0}'.format(opt)
return '--with-{0}={1}'.format(opt, self.spec['rdma-core'].prefix)
Defining ``with_or_without_verbs`` overrides the behavior of a
``fabrics=verbs`` variant, changing the configure-time option to
``--with-openib`` for older versions of the package and specifying an
alternative dependency name:
.. code-block::
--with-openib=</path/to/rdma-core>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Configure script in a sub-directory

View File

@@ -0,0 +1,52 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _bundlepackage:
-------------
BundlePackage
-------------
``BundlePackage`` represents a set of packages that are expected to work well
together, such as a collection of commonly used software libraries. The
associated software is specified as bundle dependencies.
^^^^^^^^
Creation
^^^^^^^^
Be sure to specify the ``bundle`` template if you are using ``spack create``
to generate a package from the template. For example, use the following
command to create a bundle package whose class name will be ``Mybundle``:
.. code-block:: console
$ spack create --template bundle --name mybundle
^^^^^^
Phases
^^^^^^
The ``BundlePackage`` base class does not provide any phases by default
since the bundle does not represent a build system.
^^^
URL
^^^
The ``url`` property does not have meaning since there is no package-specific
code to fetch.
^^^^^^^
Version
^^^^^^^
At least one ``version`` must be specified in order for the package to
build.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -128,17 +128,20 @@ Adding flags to cmake
^^^^^^^^^^^^^^^^^^^^^
To add additional flags to the ``cmake`` call, simply override the
``cmake_args`` function:
``cmake_args`` function. The following example defines values for the flags
``WHATEVER``, ``ENABLE_BROKEN_FEATURE``, ``DETECT_HDF5``, and ``THREADS`` with
and without the :py:meth:`~.CMakePackage.define` and
:py:meth:`~.CMakePackage.define_from_variant` helper functions:
.. code-block:: python
def cmake_args(self):
args = []
if '+hdf5' in self.spec:
args.append('-DDETECT_HDF5=ON')
else:
args.append('-DDETECT_HDF5=OFF')
args = [
'-DWHATEVER:STRING=somevalue',
self.define('ENABLE_BROKEN_FEATURE', False),
self.define_from_variant('DETECT_HDF5', 'hdf5'),
self.define_from_variant('THREADS'), # True if +threads
]
return args

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -37,7 +37,7 @@ In order to use it, just add another base class to your package, for example:
if '+cuda' in spec:
options.append('-DWITH_CUDA=ON')
cuda_arch = spec.variants['cuda_arch'].value
if cuda_arch is not None:
if cuda_arch != 'none':
options.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0]))
else:
options.append('-DWITH_CUDA=OFF')

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -418,9 +418,13 @@ Adapt the following example. Be sure to maintain the indentation:
# other content ...
intel-mkl:
modules:
intel-mkl@2018.2.199 arch=linux-centos6-x86_64: intel-mkl/18/18.0.2
intel-mkl@2018.3.222 arch=linux-centos6-x86_64: intel-mkl/18/18.0.3
externals:
- spec: "intel-mkl@2018.2.199 arch=linux-centos6-x86_64"
modules:
- intel-mkl/18/18.0.2
- spec: "intel-mkl@2018.3.222 arch=linux-centos6-x86_64"
modules:
- intel-mkl/18/18.0.3
The version numbers for the ``intel-mkl`` specs defined here correspond to file
and directory names that Intel uses for its products because they were adopted
@@ -451,12 +455,16 @@ mechanism.
packages:
intel-parallel-studio:
modules:
intel-parallel-studio@cluster.2018.2.199 +mkl+mpi+ipp+tbb+daal arch=linux-centos6-x86_64: intel/18/18.0.2
intel-parallel-studio@cluster.2018.3.222 +mkl+mpi+ipp+tbb+daal arch=linux-centos6-x86_64: intel/18/18.0.3
externals:
- spec: "intel-parallel-studio@cluster.2018.2.199 +mkl+mpi+ipp+tbb+daal arch=linux-centos6-x86_64"
modules:
- intel/18/18.0.2
- spec: "intel-parallel-studio@cluster.2018.3.222 +mkl+mpi+ipp+tbb+daal arch=linux-centos6-x86_64"
modules:
- intel/18/18.0.3
buildable: False
One additional example illustrates the use of ``paths:`` instead of
One additional example illustrates the use of ``prefix:`` instead of
``modules:``, useful when external modulefiles are not available or not
suitable:
@@ -464,13 +472,15 @@ suitable:
packages:
intel-parallel-studio:
paths:
intel-parallel-studio@cluster.2018.2.199 +mkl+mpi+ipp+tbb+daal: /opt/intel
intel-parallel-studio@cluster.2018.3.222 +mkl+mpi+ipp+tbb+daal: /opt/intel
externals:
- spec: "intel-parallel-studio@cluster.2018.2.199 +mkl+mpi+ipp+tbb+daal"
prefix: /opt/intel
- spec: "intel-parallel-studio@cluster.2018.3.222 +mkl+mpi+ipp+tbb+daal"
prefix: /opt/intel
buildable: False
Note that for the Intel packages discussed here, the directory values in the
``paths:`` entries must be the high-level and typically version-less
``prefix:`` entries must be the high-level and typically version-less
"installation directory" that has been used by Intel's product installer.
Such a directory will typically accumulate various product versions. Amongst
them, Spack will select the correct version-specific product directory based on
@@ -553,7 +563,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 +706,7 @@ follow `the next section <intel-install-libs_>`_ instead.
- /home/$user/spack-stage
Do not duplicate the ``config:`` line if it already is present.
Adapt the location, which here is the same as in the preceeding example.
Adapt the location, which here is the same as in the preceding example.
3. Retry installing the large package.
@@ -965,7 +975,7 @@ a *virtual* ``mkl`` package is declared in Spack.
Likewise, in a
:ref:`MakefilePackage <makefilepackage>`
or similiar package that does not use AutoTools you may need to provide include
or similar package that does not use AutoTools you may need to provide include
and link options for use on command lines or in environment variables.
For example, to generate an option string of the form ``-I<dir>``, use:
@@ -1055,6 +1065,6 @@ Footnotes
2. Set the hash length in ``install-path-scheme``, also in ``config.yaml``
(:ref:`q.v. <config-yaml>`).
3. You will want to set the *same* hash length for
:ref:`tcl module files <modules-naming-scheme>`
if you have Spack produce them for you, under ``naming_scheme`` in
``modules.yaml``. Other module dialects cannot be altered in this manner.
:ref:`module files <modules-projections>`
if you have Spack produce them for you, under ``projections`` in
``modules.yaml``.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -0,0 +1,102 @@
.. 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)
.. _mavenpackage:
------------
MavenPackage
------------
Apache Maven is a general-purpose build system that does not rely
on Makefiles to build software. It is designed for building and
managing and Java-based project.
^^^^^^
Phases
^^^^^^
The ``MavenPackage`` base class comes with the following phases:
#. ``build`` - compile code and package into a JAR file
#. ``install`` - copy to installation prefix
By default, these phases run:
.. code-block:: console
$ mvn package
$ install . <prefix>
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
Maven packages can be identified by the presence of a ``pom.xml`` file.
This file lists dependencies and other metadata about the project.
There may also be configuration files in the ``.mvn`` directory.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
Maven requires the ``mvn`` executable to build the project. It also
requires Java at both build- and run-time. Because of this, the base
class automatically adds the following dependencies:
.. code-block:: python
depends_on('java', type=('build', 'run'))
depends_on('maven', type='build')
In the ``pom.xml`` file, you may see sections like:
.. code-block:: xml
<requireJavaVersion>
<version>[1.7,)</version>
</requireJavaVersion>
<requireMavenVersion>
<version>[3.5.4,)</version>
</requireMavenVersion>
This specifies the versions of Java and Maven that are required to
build the package. See
https://docs.oracle.com/middleware/1212/core/MAVEN/maven_version.htm#MAVEN402
for a description of this version range syntax. In this case, you
should add:
.. code-block:: python
depends_on('java@7:', type='build')
depends_on('maven@3.5.4:', type='build')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to the build phase
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The default build and install phases should be sufficient to install
most packages. However, you may want to pass additional flags to
the build phase. For example:
.. code-block:: python
def build_args(self):
return [
'-Pdist,native',
'-Dtar',
'-Dmaven.javadoc.skip=true'
]
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on the Maven build system, see:
https://maven.apache.org/index.html

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -81,6 +81,24 @@ you'll need to define a function for it like so:
self.setup_py('configure')
^^^^^^
Wheels
^^^^^^
Some Python packages are closed-source and distributed as wheels.
Instead of using the ``PythonPackage`` base class, you should extend
the ``Package`` base class and implement the following custom installation
procedure:
.. code-block::
def install(self, spec, prefix):
pip = which('pip')
pip('install', self.stage.archive_file, '--prefix={0}'.format(prefix))
This will require a dependency on pip, as mentioned below.
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
@@ -95,6 +113,27 @@ file should be considered to be the truth. As dependencies are added or
removed, the documentation is much more likely to become outdated than
the ``setup.py``.
The Python ecosystem has evolved significantly over the years. Before
setuptools became popular, most packages listed their dependencies in a
``requirements.txt`` file. Once setuptools took over, these dependencies
were listed directly in the ``setup.py``. Newer PEPs introduced additional
files, like ``setup.cfg`` and ``pyproject.toml``. You should look out for
all of these files, as they may all contain important information about
package dependencies.
Some Python packages are closed-source and are distributed as Python
wheels. For example, ``py-azureml-sdk`` downloads a ``.whl`` file. This
file is simply a zip file, and can be extracted using:
.. code-block:: console
$ unzip *.whl
The zip file will not contain a ``setup.py``, but it will contain a
``METADATA`` file which contains all the information you need to
write a ``package.py`` build recipe.
^^^^^^^^^^^^^^^^^^^^^^^
Finding Python packages
^^^^^^^^^^^^^^^^^^^^^^^
@@ -105,8 +144,9 @@ it the only option for developers who want a simple installation.
Search for "PyPI <package-name>" to find the download page. Note that
some pages are versioned, and the first result may not be the newest
version. Click on the "Latest Version" button to the top right to see
if a newer version is available. The download page is usually at:
https://pypi.org/project/<package-name>
if a newer version is available. The download page is usually at::
https://pypi.org/project/<package-name>
^^^^^^^^^^^
Description
@@ -151,39 +191,67 @@ replacing this with the requested version. Obviously, if Spack cannot
guess the version correctly, or if non-version-related things change
in the URL, Spack cannot substitute the version properly.
Once upon a time, PyPI offered nice, simple download URLs like:
https://pypi.python.org/packages/source/n/numpy/numpy-1.13.1.zip
Once upon a time, PyPI offered nice, simple download URLs like::
https://pypi.python.org/packages/source/n/numpy/numpy-1.13.1.zip
As you can see, the version is 1.13.1. It probably isn't hard to guess
what URL to use to download version 1.12.0, and Spack was perfectly
capable of performing this calculation.
However, PyPI switched to a new download URL format:
https://pypi.python.org/packages/c0/3a/40967d9f5675fbb097ffec170f59c2ba19fc96373e73ad47c2cae9a30aed/numpy-1.13.1.zip#md5=2c3c0f4edf720c3a7b525dacc825b9ae
However, PyPI switched to a new download URL format::
https://pypi.python.org/packages/c0/3a/40967d9f5675fbb097ffec170f59c2ba19fc96373e73ad47c2cae9a30aed/numpy-1.13.1.zip#md5=2c3c0f4edf720c3a7b525dacc825b9ae
and more recently::
https://files.pythonhosted.org/packages/b0/2b/497c2bb7c660b2606d4a96e2035e92554429e139c6c71cdff67af66b58d2/numpy-1.14.3.zip
and more recently:
https://files.pythonhosted.org/packages/b0/2b/497c2bb7c660b2606d4a96e2035e92554429e139c6c71cdff67af66b58d2/numpy-1.14.3.zip
As you can imagine, it is impossible for Spack to guess what URL to
use to download version 1.12.0 given this URL. There is a solution,
however. PyPI offers a new hidden interface for downloading
Python packages that does not include a hash in the URL:
https://pypi.io/packages/source/n/numpy/numpy-1.13.1.zip
Python packages that does not include a hash in the URL::
This URL redirects to the files.pythonhosted.org URL. The general syntax for
this pypi.io URL is:
https://pypi.io/packages/source/<first-letter-of-name>/<name>/<name>-<version>.<extension>
https://pypi.io/packages/source/n/numpy/numpy-1.13.1.zip
This URL redirects to the https://files.pythonhosted.org URL. The general
syntax for this https://pypi.io URL is::
https://pypi.io/packages/<type>/<first-letter-of-name>/<name>/<name>-<version>.<extension>
Please use the https://pypi.io URL instead of the https://pypi.python.org
URL. If both ``.tar.gz`` and ``.zip`` versions are available, ``.tar.gz``
is preferred. If some releases offer both ``.tar.gz`` and ``.zip`` versions,
but some only offer ``.zip`` versions, use ``.zip``.
Some Python packages are closed-source and do not ship ``.tar.gz`` or ``.zip``
files on either PyPI or GitHub. If this is the case, you can still download
and install a Python wheel. For example, ``py-azureml-sdk`` is closed source
and can be downloaded from::
https://pypi.io/packages/py3/a/azureml_sdk/azureml_sdk-1.11.0-py3-none-any.whl
Note that instead of ``<type>`` being ``source``, it is now ``py3`` since this
wheel will work for any generic version of Python 3. You may see Python-specific
or OS-specific URLs. Note that when you add a ``.whl`` URL, you should add
``expand=False`` to ensure that Spack doesn't try to extract the wheel:
.. code-block:: python
version('1.11.0', sha256='d8c9d24ea90457214d798b0d922489863dad518adde3638e08ef62de28fb183a', expand=False)
Please use the pypi.io URL instead of the pypi.python.org URL. If both
``.tar.gz`` and ``.zip`` versions are available, ``.tar.gz`` is preferred.
If some releases offer both ``.tar.gz`` and ``.zip`` versions, but some
only offer ``.zip`` versions, use ``.zip``.
"""""""""""""""
PyPI vs. GitHub
"""""""""""""""
Many packages are hosted on PyPI, but are developed on GitHub and other
Many packages are hosted on PyPI, but are developed on GitHub or another
version control systems. The tarball can be downloaded from either
location, but PyPI is preferred for the following reasons:
@@ -226,7 +294,7 @@ location, but PyPI is preferred for the following reasons:
There are some reasons to prefer downloading from GitHub:
#. The GitHub tarball may contain unit tests
#. The GitHub tarball may contain unit tests.
As previously mentioned, the PyPI tarball contains the bare minimum
of files to install the package. Unless explicitly specified by the
@@ -234,12 +302,6 @@ There are some reasons to prefer downloading from GitHub:
If you desire to run the unit tests during installation, you should
use the GitHub tarball instead.
#. Spack does not yet support ``spack versions`` and ``spack checksum``
with PyPI URLs
These commands work just fine with GitHub URLs. This is a minor
annoyance, not a reason to prefer GitHub over PyPI.
If you really want to run these unit tests, no one will stop you from
submitting a PR for a new package that downloads from GitHub.
@@ -262,26 +324,26 @@ mentions that Python 3 is required, this can be specified as:
.. code-block:: python
depends_on('python@3:', type=('build', 'run')
depends_on('python@3:', type=('build', 'run'))
If Python 2 is required, this would look like:
.. code-block:: python
depends_on('python@:2', type=('build', 'run')
depends_on('python@:2', type=('build', 'run'))
If Python 2.7 is the only version that works, you can use:
.. code-block:: python
depends_on('python@2.7:2.8', type=('build', 'run')
depends_on('python@2.7:2.8', type=('build', 'run'))
The documentation may not always specify supported Python versions.
Another place to check is in the ``setup.py`` file. Look for a line
containing ``python_requires``. An example from
Another place to check is in the ``setup.py`` or ``setup.cfg`` file.
Look for a line containing ``python_requires``. An example from
`py-numpy <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-numpy/package.py>`_
looks like:
@@ -290,7 +352,7 @@ looks like:
python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*'
More commonly, you will find a version check at the top of the file:
You may also find a version check at the top of the ``setup.py``:
.. code-block:: python
@@ -305,6 +367,39 @@ This can be converted to Spack's spec notation like so:
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
If you are writing a recipe for a package that only distributes
wheels, look for a section in the ``METADATA`` file that looks like::
Requires-Python: >=3.5,<4
This would be translated to:
.. code-block:: python
extends('python')
depends_on('python@3.5:3.999', type=('build', 'run'))
Many ``setup.py`` or ``setup.cfg`` files also contain information like::
Programming Language :: Python :: 2
Programming Language :: Python :: 2.6
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
This is a list of versions of Python that the developer likely tests.
However, you should not use this to restrict the versions of Python
the package uses unless one of the two former methods (``python_requires``
or ``sys.version_info``) is used. There is no logic in setuptools
that prevents the package from building for Python versions not in
this list, and often new releases like Python 3.7 or 3.8 work just fine.
""""""""""
setuptools
""""""""""
@@ -317,7 +412,7 @@ Most notably, there was no way to list a project's dependencies
with distutils. Along came setuptools, a non-builtin build system
designed to overcome the limitations of distutils. Both projects
use a similar API, making the transition easy while adding much
needed functionality. Today, setuptools is used in around 75% of
needed functionality. Today, setuptools is used in around 90% of
the Python packages in Spack.
Since setuptools isn't built-in to Python, you need to add it as a
@@ -360,6 +455,20 @@ run-time. This can be specified as:
depends_on('py-setuptools', type='build')
"""
pip
"""
Packages distributed as Python wheels will require an extra dependency
on pip:
.. code-block:: python
depends_on('py-pip', type='build')
We will use pip to install the actual wheel.
""""""
cython
""""""
@@ -383,6 +492,12 @@ where speed is crucial. There is no reason why someone would not
want an optimized version of a library instead of the pure-Python
version.
Note that some release tarballs come pre-cythonized, and cython is
not needed as a dependency. However, this is becoming less common
as Python continues to evolve and developers discover that cythonized
sources are no longer compatible with newer versions of Python and
need to be re-cythonized.
^^^^^^^^^^^^^^^^^^^
Python dependencies
^^^^^^^^^^^^^^^^^^^
@@ -429,15 +544,26 @@ Obviously, this means that ``py-numpy`` is a dependency.
If the package uses ``setuptools``, check for the following clues:
* ``python_requires``
As mentioned above, this specifies which versions of Python are
required.
* ``setup_requires``
These packages are usually only needed at build-time, so you can
add them with ``type='build'``.
* ``install_requires``
These packages are required for installation.
These packages are required for building and installation. You can
add them with ``type=('build', 'run')``.
* ``extra_requires``
These packages are optional dependencies that enable additional
functionality. You should add a variant that optionally adds these
dependencies.
dependencies. This variant should be False by default.
* ``test_requires``
@@ -461,13 +587,37 @@ sphinx. If you can't find any information about the package's
dependencies, you can take a look in ``requirements.txt``, but be sure
not to add test or documentation dependencies.
Newer PEPs have added alternative ways to specify a package's dependencies.
If you don't see any dependencies listed in the ``setup.py``, look for a
``setup.cfg`` or ``pyproject.toml``. These files can be used to store the
same ``install_requires`` information that ``setup.py`` used to use.
If you are write a recipe for a package that only distributes wheels,
check the ``METADATA`` file for lines like::
Requires-Dist: azureml-core (~=1.11.0)
Requires-Dist: azureml-dataset-runtime[fuse] (~=1.11.0)
Requires-Dist: azureml-train (~=1.11.0)
Requires-Dist: azureml-train-automl-client (~=1.11.0)
Requires-Dist: azureml-pipeline (~=1.11.0)
Provides-Extra: accel-models
Requires-Dist: azureml-accel-models (~=1.11.0); extra == 'accel-models'
Provides-Extra: automl
Requires-Dist: azureml-train-automl (~=1.11.0); extra == 'automl'
Lines that use ``Requires-Dist`` are similar to ``install_requires``.
Lines that use ``Provides-Extra`` are similar to ``extra_requires``,
and you can add a variant for those dependencies. The ``~=1.11.0``
syntax is equivalent to ``1.11.0:1.11.999``.
""""""""""
setuptools
""""""""""
Setuptools is a bit of a special case. If a package requires setuptools
at run-time, how do they express this? They could add it to
``install_requires``, but setuptools is imported long before this and
``install_requires``, but setuptools is imported long before this and is
needed to read this line. And since you can't install the package
without setuptools, the developers assume that setuptools will already
be there, so they never mention when it is required. We don't want to
@@ -580,11 +730,13 @@ By default, Spack runs:
if it detects that the ``setup.py`` file supports a ``test`` phase.
You can add additional build-time or install-time tests by overriding
``test`` and ``installtest``, respectively. For example, ``py-numpy``
adds:
``test`` or adding a custom install-time test function. For example,
``py-numpy`` adds:
.. code-block:: python
install_time_test_callbacks = ['install_test', 'import_module_test']
def install_test(self):
with working_dir('..'):
python('-c', 'import numpy; numpy.test("full", verbose=2)')
@@ -651,6 +803,8 @@ that the package uses the ``PythonPackage`` build system. However, there
are occasionally packages that use ``PythonPackage`` that shouldn't
start with ``py-``. For example:
* awscli
* aws-parallelcluster
* busco
* easybuild
* httpie
@@ -736,8 +890,9 @@ non-Python dependencies. Anaconda contains many Python packages that
are not yet in Spack, and Spack contains many Python packages that are
not yet in Anaconda. The main advantage of Spack over Anaconda is its
ability to choose a specific compiler and BLAS/LAPACK or MPI library.
Spack also has better platform support for supercomputers. On the
other hand, Anaconda offers Windows support.
Spack also has better platform support for supercomputers, and can build
optimized binaries for your specific microarchitecture. On the other hand,
Anaconda offers Windows support.
^^^^^^^^^^^^^^^^^^^^^^
External documentation

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -12,5 +12,173 @@ RubyPackage
Like Perl, Python, and R, Ruby has its own build system for
installing Ruby gems.
This build system is a work-in-progress. See
https://github.com/spack/spack/pull/3127 for more information.
^^^^^^
Phases
^^^^^^
The ``RubyPackage`` base class provides the following phases that
can be overridden:
#. ``build`` - build everything needed to install
#. ``install`` - install everything from build directory
For packages that come with a ``*.gemspec`` file, these phases run:
.. code-block:: console
$ gem build *.gemspec
$ gem install *.gem
For packages that come with a ``Rakefile`` file, these phases run:
.. code-block:: console
$ rake package
$ gem install *.gem
For packages that come pre-packaged as a ``*.gem`` file, the build
phase is skipped and the install phase runs:
.. code-block:: console
$ gem install *.gem
These are all standard ``gem`` commands and can be found by running:
.. code-block:: console
$ gem help commands
For packages that only distribute ``*.gem`` files, these files can be
downloaded with the ``expand=False`` option in the ``version`` directive.
The build phase will be automatically skipped.
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
When building from source, Ruby packages can be identified by the
presence of any of the following files:
* ``*.gemspec``
* ``Rakefile``
* ``setup.rb`` (not yet supported)
However, not all Ruby packages are released as source code. Some are only
released as ``*.gem`` files. These files can be extracted using:
.. code-block:: console
$ gem unpack *.gem
^^^^^^^^^^^
Description
^^^^^^^^^^^
The ``*.gemspec`` file may contain something like:
.. code-block:: ruby
summary = 'An implementation of the AsciiDoc text processor and publishing toolchain'
description = 'A fast, open source text processor and publishing toolchain for converting AsciiDoc content to HTML 5, DocBook 5, and other formats.'
Either of these can be used for the description of the Spack package.
^^^^^^^^
Homepage
^^^^^^^^
The ``*.gemspec`` file may contain something like:
.. code-block:: ruby
homepage = 'https://asciidoctor.org'
This should be used as the official homepage of the Spack package.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
All Ruby packages require Ruby at build and run-time. For this reason,
the base class contains:
.. code-block:: python
extends('ruby')
depends_on('ruby', type=('build', 'run'))
The ``*.gemspec`` file may contain something like:
.. code-block:: ruby
required_ruby_version = '>= 2.3.0'
This can be added to the Spack package using:
.. code-block:: python
depends_on('ruby@2.3.0:', type=('build', 'run'))
^^^^^^^^^^^^^^^^^
Ruby dependencies
^^^^^^^^^^^^^^^^^
When you install a package with ``gem``, it reads the ``*.gemspec``
file in order to determine the dependencies of the package.
If the dependencies are not yet installed, ``gem`` downloads them
and installs them for you. This may sound convenient, but Spack
cannot rely on this behavior for two reasons:
#. Spack needs to be able to install packages on air-gapped networks.
If there is no internet connection, ``gem`` can't download the
package dependencies. By explicitly listing every dependency in
the ``package.py``, Spack knows what to download ahead of time.
#. Duplicate installations of the same dependency may occur.
Spack supports *activation* of Ruby extensions, which involves
symlinking the package installation prefix to the Ruby installation
prefix. If your package is missing a dependency, that dependency
will be installed to the installation directory of the same package.
If you try to activate the package + dependency, it may cause a
problem if that package has already been activated.
For these reasons, you must always explicitly list all dependencies.
Although the documentation may list the package's dependencies,
often the developers assume people will use ``gem`` and won't have to
worry about it. Always check the ``*.gemspec`` file to find the true
dependencies.
Check for the following clues in the ``*.gemspec`` file:
* ``add_runtime_dependency``
These packages are required for installation.
* ``add_dependency``
This is an alias for ``add_runtime_dependency``
* ``add_development_dependency``
These packages are optional dependencies used for development.
They should not be added as dependencies of the package.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on Ruby packaging, see:
https://guides.rubygems.org/

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -51,10 +51,8 @@ Build system dependencies
``SIPPackage`` requires several dependencies. Python is needed to run
the ``configure.py`` build script, and to run the resulting Python
libraries. Qt is needed to provide the ``qmake`` command. SIP is also
needed to build the package. SIP is an unusual dependency in that it
must be installed in the same installation directory as the package,
so instead of a ``depends_on``, we use a ``resource``. All of these
dependencies are automatically added via the base class
needed to build the package. All of these dependencies are automatically
added via the base class
.. code-block:: python
@@ -62,11 +60,7 @@ dependencies are automatically added via the base class
depends_on('qt', type='build')
resource(name='sip',
url='https://www.riverbankcomputing.com/static/Downloads/sip/4.19.18/sip-4.19.18.tar.gz',
sha256='c0bd863800ed9b15dcad477c4017cdb73fa805c25908b0240564add74d697e1e',
destination='.')
depends_on('py-sip', type='build')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to ``configure.py``

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -47,8 +47,9 @@ Each phase provides a ``<phase>`` function that runs:
where ``<jobs>`` is the number of parallel jobs to build with. Each phase
also has a ``<phase_args>`` function that can pass arguments to this call.
All of these functions are empty except for the ``configure_args``
function, which passes ``--prefix=/path/to/installation/prefix``.
All of these functions are empty. The ``configure`` phase
automatically adds ``--prefix=/path/to/installation/prefix``, so you
don't need to add that in the ``configure_args``.
^^^^^^^
Testing

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -176,7 +176,25 @@ def setup(sphinx):
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# We use our own extension of the default style with a few modifications
from pygments.style import Style
from pygments.styles.default import DefaultStyle
from pygments.token import Generic, Comment, Text
class SpackStyle(DefaultStyle):
styles = DefaultStyle.styles.copy()
background_color = "#f4f4f8"
styles[Generic.Output] = "#355"
styles[Generic.Prompt] = "bold #346ec9"
import pkg_resources
dist = pkg_resources.Distribution(__file__)
sys.path.append('.') # make 'conf' module findable
ep = pkg_resources.EntryPoint.parse('spack = conf:SpackStyle', dist=dist)
dist._ep_map = {'pygments.styles': {'plugin1': ep}}
pkg_resources.working_set.add(dist)
pygments_style = 'spack'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -30,11 +30,21 @@ Default is ``$spack/opt/spack``.
``install_hash_length`` and ``install_path_scheme``
---------------------------------------------------
The default Spack installation path can be very long and can create
problems for scripts with hardcoded shebangs. There are two parameters
to help with that. Firstly, the ``install_hash_length`` parameter can
set the length of the hash in the installation path from 1 to 32. The
default path uses the full 32 characters.
The default Spack installation path can be very long and can create problems
for scripts with hardcoded shebangs. Additionally, when using the Intel
compiler, and if there is also a long list of dependencies, the compiler may
segfault. If you see the following:
.. code-block:: console
: internal error: ** The compiler has encountered an unexpected problem.
** Segmentation violation signal raised. **
Access violation or stack overflow. Please contact Intel Support for assistance.
it may be because variables containing dependency specs may be too long. There
are two parameters to help with long path names. Firstly, the
``install_hash_length`` parameter can set the length of the hash in the
installation path from 1 to 32. The default path uses the full 32 characters.
Secondly, it is also possible to modify the entire installation
scheme. By default Spack uses
@@ -89,7 +99,7 @@ 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
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
@@ -213,7 +223,7 @@ To build all software in serial, set ``build_jobs`` to 1.
--------------------
When set to ``true`` Spack will use ccache to cache compiles. This is
useful specifically in two cases: (1) when using ``spack setup``, and (2)
useful specifically in two cases: (1) when using ``spack dev-build``, and (2)
when building the same package with many different variants. The default is
``false``.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -427,6 +427,33 @@ home directory, and ``~user`` will expand to a specified user's home
directory. The ``~`` must appear at the beginning of the path, or Spack
will not expand it.
.. _configuration_environment_variables:
-------------------------
Environment Modifications
-------------------------
Spack allows to prescribe custom environment modifications in a few places
within its configuration files. Every time these modifications are allowed
they are specified as a dictionary, like in the following example:
.. code-block:: yaml
environment:
set:
LICENSE_FILE: '/path/to/license'
unset:
- CPATH
- LIBRARY_PATH
append_path:
PATH: '/new/bin/dir'
The possible actions that are permitted are ``set``, ``unset``, ``append_path``,
``prepend_path`` and finally ``remove_path``. They all require a dictionary
of variable names mapped to the values used for the modification.
The only exception is ``unset`` that requires just a list of variable names.
No particular order is ensured on the execution of each of these modifications.
----------------------------
Seeing Spack's Configuration
----------------------------

View File

@@ -0,0 +1,532 @@
.. 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 :ref:`environments` are a great tool to create container images, but
preparing one that is suitable for production requires some more boilerplate
than just:
.. code-block:: docker
COPY spack.yaml /environment
RUN spack -e /environment install
Additional actions may be needed to minimize the size of the
container, or to update the system software that is installed in the base
image, or to set up a proper entrypoint to run the image. These tasks are
usually both necessary and repetitive, so Spack comes with a command
to generate recipes for container images starting from a ``spack.yaml``.
--------------------
A Quick Introduction
--------------------
Consider having a Spack environment like the following:
.. code-block:: yaml
spack:
specs:
- gromacs+mpi
- mpich
Producing a ``Dockerfile`` from it is as simple as moving to the directory
where the ``spack.yaml`` file is stored and giving the following command:
.. code-block:: console
$ spack containerize > Dockerfile
The ``Dockerfile`` that gets created uses multi-stage builds and
other techniques to minimize the size of the final image:
.. code-block:: docker
# Build stage with Spack pre-installed and ready to be used
FROM spack/ubuntu-bionic: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 env activate . && spack install --fail-fast && 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 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
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
The image itself can then be built and run in the usual way, with any of the
tools suitable for the task. For instance, if we decided to use ``docker``:
.. code-block:: bash
$ spack containerize > Dockerfile
$ docker build -t myimage .
[ ... ]
$ docker run -it myimage
The various components involved in the generation of the recipe and their
configuration are discussed in details in the sections below.
.. _container_spack_images:
--------------------------
Spack Images on Docker Hub
--------------------------
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 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. The container recipes generated
by Spack use them as default base images for their ``build`` stage,
even though handles to use custom base images provided by users are
available to accommodate complex use cases.
---------------------------------
Creating Images From Environments
---------------------------------
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
# Sets the base images for the stages where Spack builds the
# software or where the software gets installed after being built..
images:
os: "centos:7"
spack: develop
# Whether or not to strip binaries
strip: true
# Additional system packages that are needed at runtime
os_packages:
final:
- libgomp
# Extra instructions
extra_instructions:
final: |
RUN echo 'export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][gromacs]\[$(tput setaf 2)\]\u\[$(tput sgr0)\]:\w $ "' >> ~/.bashrc
# Labels for the image
labels:
app: "gromacs"
mpi: "mpich"
A detailed description of the options available can be found in the
:ref:`container_config_options` section.
-------------------
Setting Base Images
-------------------
The ``images`` subsection is used to select both the image where
Spack builds the software and the image where the built software
is installed. This attribute can be set in two different ways and
which one to use depends on the use case at hand.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Use Official Spack Images From Dockerhub
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
To generate a recipe that uses an official Docker image from the
Spack organization to build the software and the corresponding official OS image
to install the built software, all the user has to do is specify:
1. An operating system under ``images:os``
2. A Spack version under ``images:spack``
Any combination of these two values that can be mapped to one of the images
discussed in :ref:`container_spack_images` is allowed. For instance, the
following ``spack.yaml``:
.. code-block:: yaml
spack:
specs:
- gromacs+mpi
- mpich
container:
images:
os: centos/7
spack: 0.15.4
uses ``spack/centos7:0.15.4`` and ``centos:7`` for the stages where the
software is respectively built and installed:
.. code-block:: docker
# Build stage with Spack pre-installed and ready to be used
FROM spack/centos7:0.15.4 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
[ ... ]
# 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
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
This method of selecting base images is the simplest of the two, and we advise
to use it whenever possible. There are cases though where using Spack official
images is not enough to fit production needs. In these situations users can manually
select which base image to start from in the recipe, as we'll see next.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Use Custom Images Provided by Users
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Consider, as an example, building a production grade image for a CUDA
application. The best strategy would probably be to build on top of
images provided by the vendor and regard CUDA as an external package.
Spack doesn't currently provide an official image with CUDA configured
this way, but users can build it on their own and then configure the
environment to explicitly pull it. This requires users to:
1. Specify the image used to build the software under ``images:build``
2. Specify the image used to install the built software under ``images:final``
A ``spack.yaml`` like the following:
.. code-block:: yaml
spack:
specs:
- gromacs@2019.4+cuda build_type=Release
- mpich
- fftw precision=float
packages:
cuda:
buildable: False
externals:
- spec: cuda%gcc
prefix: /usr/local/cuda
container:
images:
build: custom/cuda-10.1-ubuntu18.04:latest
final: nvidia/cuda:10.1-base-ubuntu18.04
produces, for instance, the following ``Dockerfile``:
.. code-block:: docker
# Build stage with Spack pre-installed and ready to be used
FROM custom/cuda-10.1-ubuntu18.04: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@2019.4+cuda build_type=Release" \
&& echo " - mpich" \
&& echo " - fftw precision=float" \
&& echo " packages:" \
&& echo " cuda:" \
&& echo " buildable: false" \
&& echo " externals:" \
&& echo " - spec: cuda%gcc" \
&& echo " prefix: /usr/local/cuda" \
&& 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 env activate . && spack install --fail-fast && 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 nvidia/cuda:10.1-base-ubuntu18.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
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
where the base images for both stages are completely custom.
This second mode of selection for base images is more flexible than just
choosing an operating system and a Spack version, but is also more demanding.
Users may need to generate by themselves their base images and it's also their
responsibility to ensure that:
1. Spack is available in the ``build`` stage and set up correctly to install the required software
2. The artifacts produced in the ``build`` stage can be executed in the ``final`` stage
Therefore we don't recommend its use in cases that can be otherwise
covered by the simplified mode shown first.
----------------------------
Singularity Definition Files
----------------------------
In addition to producing recipes in ``Dockerfile`` format Spack can produce
Singularity Definition Files by just changing the value of the ``format``
attribute:
.. code-block:: console
$ cat spack.yaml
spack:
specs:
- hdf5~mpi
container:
format: singularity
$ spack containerize > hdf5.def
$ sudo singularity build hdf5.sif hdf5.def
The minimum version of Singularity required to build a SIF (Singularity Image Format)
image from the recipes generated by Spack is ``3.5.3``.
.. _container_config_options:
-----------------------
Configuration Reference
-----------------------
The tables below describe all the configuration options that are currently supported
to customize the generation of container recipes:
.. 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
* - ``images:os``
- Operating system used as a base for the image
- See :ref:`containers-supported-os`
- Yes, if using constrained selection of base images
* - ``images:spack``
- Version of Spack use in the ``build`` stage
- Valid tags for ``base:image``
- Yes, if using constrained selection of base images
* - ``images:build``
- Image to be used in the ``build`` stage
- Any valid container image
- Yes, if using custom selection of base images
* - ``images:final``
- Image to be used in the ``build`` stage
- Any valid container image
- Yes, if using custom selection of base images
* - ``strip``
- Whether to strip binaries
- ``true`` (default) or ``false``
- No
* - ``os_packages:command``
- Tool used to manage system packages
- ``apt``, ``yum``
- Only with custom base images
* - ``os_packages:update``
- Whether or not to update the list of available packages
- True or False (default: True)
- No
* - ``os_packages:build``
- System packages needed at build-time
- Valid packages for the current OS
- No
* - ``os_packages:final``
- System packages needed at run-time
- Valid packages for the current 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
--------------
Best Practices
--------------
^^^
MPI
^^^
Due to the dependency on Fortran for OpenMPI, which is the spack default
implementation, consider adding ``gfortran`` to the ``apt-get install`` list.
Recent versions of OpenMPI will require you to pass ``--allow-run-as-root``
to your ``mpirun`` calls if started as root user inside Docker.
For execution on HPC clusters, it can be helpful to import the docker
image into Singularity in order to start a program with an *external*
MPI. Otherwise, also add ``openssh-server`` to the ``apt-get install`` list.
^^^^
CUDA
^^^^
Starting from CUDA 9.0, Nvidia provides minimal CUDA images based on
Ubuntu. Please see `their instructions <https://hub.docker.com/r/nvidia/cuda/>`_.
Avoid double-installing CUDA by adding, e.g.
.. code-block:: yaml
packages:
cuda:
externals:
- spec: "cuda@9.0.176%gcc@5.4.0 arch=linux-ubuntu16-x86_64"
prefix: /usr/local/cuda
buildable: False
to your ``spack.yaml``.
Users will either need ``nvidia-docker`` or e.g. Singularity to *execute*
device kernels.
^^^^^^^^^^^^^^^^^^^^^^^^^
Docker on Windows and OSX
^^^^^^^^^^^^^^^^^^^^^^^^^
On Mac OS and Windows, docker runs on a hypervisor that is not allocated much
memory by default, and some spack packages may fail to build due to lack of
memory. To work around this issue, consider configuring your docker installation
to use more of your host memory. In some cases, you can also ease the memory
pressure on parallel builds by limiting the parallelism in your config.yaml.
.. code-block:: yaml
config:
build_jobs: 2

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -27,17 +27,28 @@ correspond to one feature/bugfix/extension/etc. One can create PRs with
changes relevant to different ideas, however reviewing such PRs becomes tedious
and error prone. If possible, try to follow the **one-PR-one-package/feature** rule.
Spack uses a rough approximation of the `Git Flow <http://nvie.com/posts/a-successful-git-branching-model/>`_
branching model. The develop branch contains the latest contributions, and
master is always tagged and points to the latest stable release. Therefore, when
you send your request, make ``develop`` the destination branch on the
`Spack repository <https://github.com/spack/spack>`_.
--------
Branches
--------
Spack's ``develop`` branch has the latest contributions. Nearly all pull
requests should start from ``develop`` and target ``develop``.
There is a branch for each major release series. Release branches
originate from ``develop`` and have tags for each point release in the
series. For example, ``releases/v0.14`` has tags for ``0.14.0``,
``0.14.1``, ``0.14.2``, etc. versions of Spack. We backport important bug
fixes to these branches, but we do not advance the package versions or
make other changes that would change the way Spack concretizes
dependencies. Currently, the maintainers manage these branches by
cherry-picking from ``develop``. See :ref:`releases` for more
information.
----------------------
Continuous Integration
----------------------
Spack uses `Travis CI <https://travis-ci.org/spack/spack>`_ for Continuous Integration
Spack uses `Github Actions <https://docs.github.com/en/actions>`_ for Continuous Integration
testing. This means that every time you submit a pull request, a series of tests will
be run to make sure you didn't accidentally introduce any bugs into Spack. **Your PR
will not be accepted until it passes all of these tests.** While you can certainly wait
@@ -46,24 +57,25 @@ locally to speed up the review process.
.. note::
Oftentimes, Travis will fail for reasons other than a problem with your PR.
Oftentimes, CI will fail for reasons other than a problem with your PR.
For example, apt-get, pip, or homebrew will fail to download one of the
dependencies for the test suite, or a transient bug will cause the unit tests
to timeout. If Travis fails, click the "Details" link and click on the test(s)
to timeout. If any job fails, click the "Details" link and click on the test(s)
that is failing. If it doesn't look like it is failing for reasons related to
your PR, you have two options. If you have write permissions for the Spack
repository, you should see a "Restart job" button on the right-hand side. If
repository, you should see a "Restart workflow" button on the right-hand side. If
not, you can close and reopen your PR to rerun all of the tests. If the same
test keeps failing, there may be a problem with your PR. If you notice that
every recent PR is failing with the same error message, it may be that Travis
is down or one of Spack's dependencies put out a new release that is causing
problems. If this is the case, please file an issue.
every recent PR is failing with the same error message, it may be that an issue
occurred with the CI infrastructure or one of Spack's dependencies put out a
new release that is causing problems. If this is the case, please file an issue.
If you take a look in ``$SPACK_ROOT/.travis.yml``, you'll notice that we test
against Python 2.6, 2.7, and 3.4-3.7 on both macOS and Linux. We currently
We currently test against Python 2.6, 2.7, and 3.5-3.7 on both macOS and Linux and
perform 3 types of tests:
.. _cmd-spack-unit-test:
^^^^^^^^^^
Unit Tests
^^^^^^^^^^
@@ -84,42 +96,87 @@ To run *all* of the unit tests, use:
.. code-block:: console
$ spack test
$ spack unit-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 unit-test lib/spack/spack/test/architecture.py
This allows you to develop iteratively: make a change, test that change, make
another change, test that change, etc. To get a list of all available unit
tests, run:
.. command-output:: spack test --list
A more detailed list of available unit tests can be found by running
``spack test --long-list``.
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:
And this would run the ``test_platform`` test from that file:
.. code-block:: console
$ spack test -s -k architecture
$ spack unit-test lib/spack/spack/test/architecture.py::test_platform
Unit tests are crucial to making sure bugs aren't introduced into Spack. If you
are modifying core Spack libraries or adding new functionality, please consider
adding new unit tests or strengthening existing tests.
This allows you to develop iteratively: make a change, test that change,
make another change, test that change, etc. We use `pytest
<http://pytest.org/>`_ as our tests framework, and these types of
arguments are just passed to the ``pytest`` command underneath. See `the
pytest docs
<http://doc.pytest.org/en/latest/usage.html#specifying-tests-selecting-tests>`_
for more details on test selection syntax.
``spack unit-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 unit-test --list
:ellipsis: 5
To see a more detailed list of available unit tests, use ``spack
unit-test --list-long``:
.. command-output:: spack unit-test --list-long
:ellipsis: 10
And to see the fully qualified names of all tests, use ``--list-names``:
.. command-output:: spack unit-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 unit-test --list-long lib/spack/spack/test/architecture.py
You can also combine any of these options with a ``pytest`` keyword
search. See the `pytest usage docs
<https://docs.pytest.org/en/stable/usage.html#specifying-tests-selecting-tests>`_:
for more details on test selection syntax. For example, to see the names of all tests that have "spec"
or "concretize" somewhere in their names:
.. command-output:: spack unit-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 unit-test -s --list-long lib/spack/spack/test/architecture.py::test_platform
Unit tests are crucial to making sure bugs aren't introduced into
Spack. If you are modifying core Spack libraries or adding new
functionality, please add new unit tests for your feature, and consider
strengthening existing tests. You will likely be asked to do this if you
submit a pull request to the Spack project on GitHub. Check out the
`pytest docs <http://pytest.org/>`_ and feel free to ask for guidance on
how to write tests!
.. note::
There is also a ``run-unit-tests`` script in ``share/spack/qa`` that
runs the unit tests. Afterwards, it reports back to Codecov with the
percentage of Spack that is covered by unit tests. This script is
designed for Travis CI. If you want to run the unit tests yourself, we
suggest you use ``spack test``.
You may notice the ``share/spack/qa/run-unit-tests`` script in the
repository. This script is designed for CI. It runs the unit
tests and reports coverage statistics back to Codecov. If you want to
run the unit tests yourself, we suggest you use ``spack unit-test``.
^^^^^^^^^^^^
Flake8 Tests
@@ -190,7 +247,7 @@ to update them.
Try fixing flake8 errors in reverse order. This eliminates the need for
multiple runs of ``spack flake8`` just to re-compute line numbers and
makes it much easier to fix errors directly off of the Travis output.
makes it much easier to fix errors directly off of the CI output.
.. warning::
@@ -223,8 +280,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 +290,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 +309,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
@@ -262,7 +327,7 @@ Once all of the dependencies are installed, you can try building the documentati
.. code-block:: console
$ cd "$SPACK_ROOT/lib/spack/docs"
$ cd path/to/spack/lib/spack/docs/
$ make clean
$ make
@@ -274,7 +339,7 @@ your PR is accepted.
There is also a ``run-doc-tests`` script in ``share/spack/qa``. The only
difference between running this script and running ``make`` by hand is that
the script will exit immediately if it encounters an error or warning. This
is necessary for Travis CI. If you made a lot of documentation changes, it is
is necessary for CI. If you made a lot of documentation changes, it is
much quicker to run ``make`` by hand so that you can see all of the warnings
at once.
@@ -332,13 +397,13 @@ coverage. This helps us tell what percentage of lines of code in Spack are
covered by unit tests. Although code covered by unit tests can still contain
bugs, it is much less error prone than code that is not covered by unit tests.
Codecov provides `browser extensions <https://github.com/codecov/browser-extension>`_
for Google Chrome, Firefox, and Opera. These extensions integrate with GitHub
Codecov provides `browser extensions <https://github.com/codecov/sourcegraph-codecov>`_
for Google Chrome and Firefox. These extensions integrate with GitHub
and allow you to see coverage line-by-line when viewing the Spack repository.
If you are new to Spack, a great way to get started is to write unit tests to
increase coverage!
Unlike with Travis, Codecov tests are not required to pass in order for your
Unlike with CI on Github Actions Codecov tests are not required to pass in order for your
PR to be merged. If you modify core Spack libraries, we would greatly
appreciate unit tests that cover these changed lines. Otherwise, we have no
way of knowing whether or not your changes introduce a bug. If you make

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -363,11 +363,12 @@ Developer commands
``spack doc``
^^^^^^^^^^^^^
.. _cmd-spack-test:
^^^^^^^^^^^^^^^^^^^
``spack unit-test``
^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^
``spack test``
^^^^^^^^^^^^^^
See the :ref:`contributor guide section <cmd-spack-unit-test>` on
``spack unit-test``.
.. _cmd-spack-python:
@@ -495,3 +496,384 @@ The bottom of the output shows the top most time consuming functions,
slowest on top. The profiling support is from Python's built-in tool,
`cProfile
<https://docs.python.org/2/library/profile.html#module-cProfile>`_.
.. _releases:
--------
Releases
--------
This section documents Spack's release process. It is intended for
project maintainers, as the tasks described here require maintainer
privileges on the Spack repository. For others, we hope this section at
least provides some insight into how the Spack project works.
.. _release-branches:
^^^^^^^^^^^^^^^^
Release branches
^^^^^^^^^^^^^^^^
There are currently two types of Spack releases: :ref:`major releases
<major-releases>` (``0.13.0``, ``0.14.0``, etc.) and :ref:`point releases
<point-releases>` (``0.13.1``, ``0.13.2``, ``0.13.3``, etc.). Here is a
diagram of how Spack release branches work::
o branch: develop (latest version)
|
o merge v0.14.1 into develop
|\
| o branch: releases/v0.14, tag: v0.14.1
o | merge v0.14.0 into develop
|\|
| o tag: v0.14.0
|/
o merge v0.13.2 into develop
|\
| o branch: releases/v0.13, tag: v0.13.2
o | merge v0.13.1 into develop
|\|
| o tag: v0.13.1
o | merge v0.13.0 into develop
|\|
| o tag: v0.13.0
o |
| o
|/
o
The ``develop`` branch has the latest contributions, and nearly all pull
requests target ``develop``.
Each Spack release series also has a corresponding branch, e.g.
``releases/v0.14`` has ``0.14.x`` versions of Spack, and
``releases/v0.13`` has ``0.13.x`` versions. A major release is the first
tagged version on a release branch. Minor releases are back-ported from
develop onto release branches. This is typically done by cherry-picking
bugfix commits off of ``develop``.
To avoid version churn for users of a release series, minor releases
should **not** make changes that would change the concretization of
packages. They should generally only contain fixes to the Spack core.
Both major and minor releases are tagged. After each release, we merge
the release branch back into ``develop`` so that the version bump and any
other release-specific changes are visible in the mainline. As a
convenience, we also tag the latest release as ``releases/latest``,
so that users can easily check it out to get the latest
stable version. See :ref:`merging-releases` for more details.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Scheduling work for releases
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
We schedule work for releases by creating `GitHub projects
<https://github.com/spack/spack/projects>`_. At any time, there may be
several open release projects. For example, here are two releases (from
some past version of the page linked above):
.. image:: images/projects.png
Here, there's one release in progress for ``0.15.1`` and another for
``0.16.0``. Each of these releases has a project board containing issues
and pull requests. GitHub shows a status bar with completed work in
green, work in progress in purple, and work not started yet in gray, so
it's fairly easy to see progress.
Spack's project boards are not firm commitments, and we move work between
releases frequently. If we need to make a release and some tasks are not
yet done, we will simply move them to next minor or major release, rather
than delaying the release to complete them.
For more on using GitHub project boards, see `GitHub's documentation
<https://docs.github.com/en/github/managing-your-work-on-github/about-project-boards>`_.
.. _major-releases:
^^^^^^^^^^^^^^^^^^^^^
Making Major Releases
^^^^^^^^^^^^^^^^^^^^^
Assuming you've already created a project board and completed the work
for a major release, the steps to make the release are as follows:
#. Create two new project boards:
* One for the next major release
* One for the next point release
#. Move any tasks that aren't done yet to one of the new project boards.
Small bugfixes should go to the next point release. Major features,
refactors, and changes that could affect concretization should go in
the next major release.
#. Create a branch for the release, based on ``develop``:
.. code-block:: console
$ git checkout -b releases/v0.15 develop
For a version ``vX.Y.Z``, the branch's name should be
``releases/vX.Y``. That is, you should create a ``releases/vX.Y``
branch if you are preparing the ``X.Y.0`` release.
#. Bump the version in ``lib/spack/spack/__init__.py``. See `this example from 0.13.0
<https://github.com/spack/spack/commit/8eeb64096c98b8a43d1c587f13ece743c864fba9>`_
#. Update ``CHANGELOG.md`` with major highlights in bullet form. Use
proper markdown formatting, like `this example from 0.15.0
<https://github.com/spack/spack/commit/d4bf70d9882fcfe88507e9cb444331d7dd7ba71c>`_.
#. Push the release branch to GitHub.
#. Make sure CI passes on the release branch, including:
* Regular unit tests
* Build tests
* The E4S pipeline at `gitlab.spack.io <https://gitlab.spack.io>`_
If CI is not passing, submit pull requests to ``develop`` as normal
and keep rebasing the release branch on ``develop`` until CI passes.
#. Follow the steps in :ref:`publishing-releases`.
#. Follow the steps in :ref:`merging-releases`.
#. Follow the steps in :ref:`announcing-releases`.
.. _point-releases:
^^^^^^^^^^^^^^^^^^^^^
Making Point Releases
^^^^^^^^^^^^^^^^^^^^^
This assumes you've already created a project board for a point release
and completed the work to be done for the release. To make a point
release:
#. Create one new project board for the next point release.
#. Move any cards that aren't done yet to the next project board.
#. Check out the release branch (it should already exist). For the
``X.Y.Z`` release, the release branch is called ``releases/vX.Y``. For
``v0.15.1``, you would check out ``releases/v0.15``:
.. code-block:: console
$ git checkout releases/v0.15
#. Cherry-pick each pull request in the ``Done`` column of the release
project onto the release branch.
This is **usually** fairly simple since we squash the commits from the
vast majority of pull requests, which means there is only one commit
per pull request to cherry-pick. For example, `this pull request
<https://github.com/spack/spack/pull/15777>`_ has three commits, but
the were squashed into a single commit on merge. You can see the
commit that was created here:
.. image:: images/pr-commit.png
You can easily cherry pick it like this (assuming you already have the
release branch checked out):
.. code-block:: console
$ git cherry-pick 7e46da7
For pull requests that were rebased, you'll need to cherry-pick each
rebased commit individually. There have not been any rebased PRs like
this in recent point releases.
.. warning::
It is important to cherry-pick commits in the order they happened,
otherwise you can get conflicts while cherry-picking. When
cherry-picking onto a point release, look at the merge date,
**not** the number of the pull request or the date it was opened.
Sometimes you may **still** get merge conflicts even if you have
cherry-picked all the commits in order. This generally means there
is some other intervening pull request that the one you're trying
to pick depends on. In these cases, you'll need to make a judgment
call:
1. If the dependency is small, you might just cherry-pick it, too.
If you do this, add it to the release board.
2. If it is large, then you may decide that this fix is not worth
including in a point release, in which case you should remove it
from the release project.
3. You can always decide to manually back-port the fix to the release
branch if neither of the above options makes sense, but this can
require a lot of work. It's seldom the right choice.
#. Bump the version in ``lib/spack/spack/__init__.py``. See `this example from 0.14.1
<https://github.com/spack/spack/commit/ff0abb9838121522321df2a054d18e54b566b44a>`_.
#. Update ``CHANGELOG.md`` with a list of bugfixes. This is typically just a
summary of the commits you cherry-picked onto the release branch. See
`the changelog from 0.14.1
<https://github.com/spack/spack/commit/ff0abb9838121522321df2a054d18e54b566b44a>`_.
#. Push the release branch to GitHub.
#. Make sure CI passes on the release branch, including:
* Regular unit tests
* Build tests
* The E4S pipeline at `gitlab.spack.io <https://gitlab.spack.io>`_
If CI does not pass, you'll need to figure out why, and make changes
to the release branch until it does. You can make more commits, modify
or remove cherry-picked commits, or cherry-pick **more** from
``develop`` to make this happen.
#. Follow the steps in :ref:`publishing-releases`.
#. Follow the steps in :ref:`merging-releases`.
#. Follow the steps in :ref:`announcing-releases`.
.. _publishing-releases:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Publishing a release on GitHub
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#. Go to `github.com/spack/spack/releases
<https://github.com/spack/spack/releases>`_ and click ``Draft a new
release``. Set the following:
* ``Tag version`` should start with ``v`` and contain *all three*
parts of the version, .g. ``v0.15.1``. This is the name of the tag
that will be created.
* ``Target`` should be the ``releases/vX.Y`` branch (e.g., ``releases/v0.15``).
* ``Release title`` should be ``vX.Y.Z`` (To match the tag, e.g., ``v0.15.1``).
* For the text, paste the latest release markdown from your ``CHANGELOG.md``.
You can save the draft and keep coming back to this as you prepare the release.
#. When you are done, click ``Publish release``.
#. Immediately after publishing, go back to
`github.com/spack/spack/releases
<https://github.com/spack/spack/releases>`_ and download the
auto-generated ``.tar.gz`` file for the release. It's the ``Source
code (tar.gz)`` link.
#. Click ``Edit`` on the release you just did and attach the downloaded
release tarball as a binary. This does two things:
#. Makes sure that the hash of our releases doesn't change over time.
GitHub sometimes annoyingly changes they way they generate
tarballs, and then hashes can change if you rely on the
auto-generated tarball links.
#. Gets us download counts on releases visible through the GitHub
API. GitHub tracks downloads of artifacts, but *not* the source
links. See the `releases
page <https://api.github.com/repos/spack/spack/releases>`_ and search
for ``download_count`` to see this.
#. Go to `readthedocs.org <https://readthedocs.org/projects/spack>`_ and activate
the release tag. This builds the documentation and makes the released version
selectable in the versions menu.
.. _merging-releases:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Updating `releases/latest` and `develop`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If the new release is the **highest** Spack release yet, you should
also tag it as ``releases/latest``. For example, suppose the highest
release is currently ``0.15.3``:
* If you are releasing ``0.15.4`` or ``0.16.0``, then you should tag
it with ``releases/latest``, as these are higher than ``0.15.3``.
* If you are making a new release of an **older** major version of
Spack, e.g. ``0.14.4``, then you should not tag it as
``releases/latest`` (as there are newer major versions).
To tag ``releases/latest``, do this:
.. code-block:: console
$ git checkout releases/vX.Y # vX.Y is the new release's branch
$ git tag --force releases/latest
$ git push --tags
The ``--force`` argument makes ``git`` overwrite the existing
``releases/latest`` tag with the new one.
We also merge each release that we tag as ``releases/latest`` into ``develop``.
Make sure to do this with a merge commit:
.. code-block:: console
$ git checkout develop
$ git merge --no-ff vX.Y.Z # vX.Y.Z is the new release's tag
$ git push
We merge back to ``develop`` because it:
* updates the version and ``CHANGELOG.md`` on ``develop``.
* ensures that your release tag is reachable from the head of
``develop``
We *must* use a real merge commit (via the ``--no-ff`` option) because it
ensures that the release tag is reachable from the tip of ``develop``.
This is necessary for ``spack -V`` to work properly -- it uses ``git
describe --tags`` to find the last reachable tag in the repository and
reports how far we are from it. For example:
.. code-block:: console
$ spack -V
0.14.2-1486-b80d5e74e5
This says that we are at commit ``b80d5e74e5``, which is 1,486 commits
ahead of the ``0.14.2`` release.
We put this step last in the process because it's best to do it only once
the release is complete and tagged. If you do it before you've tagged the
release and later decide you want to tag some later commit, you'll need
to merge again.
.. _announcing-releases:
^^^^^^^^^^^^^^^^^^^^
Announcing a release
^^^^^^^^^^^^^^^^^^^^
We announce releases in all of the major Spack communication channels.
Publishing the release takes care of GitHub. The remaining channels are
Twitter, Slack, and the mailing list. Here are the steps:
#. Make a tweet to announce the release. It should link to the release's
page on GitHub. You can base it on `this example tweet
<https://twitter.com/spackpm/status/1231761858182307840>`_.
#. Ping ``@channel`` in ``#general`` on Slack (`spackpm.slack.com
<https://spackpm.slack.com>`_) with a link to the tweet. The tweet
will be shown inline so that you do not have to retype your release
announcement.
#. Email the Spack mailing list to let them know about the release. As
with the tweet, you likely want to link to the release's page on
GitHub. It's also helpful to include some information directly in the
email. You can base yours on this `example email
<https://groups.google.com/forum/#!topic/spack/WT4CT9i_X4s>`_.
Once you've announced the release, congratulations, you're done! You've
finished making the release!

View File

@@ -1,41 +0,0 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _docker_for_developers:
=====================
Docker for Developers
=====================
This guide is intended for people who want to use our prepared docker
environments to work on developing Spack or working on spack packages. It is
meant to serve as the companion documentation for the :ref:`packaging-guide`.
--------
Overview
--------
To get started, all you need is the latest version of ``docker``.
.. code-block:: console
$ cd share/spack/docker
$ source config/ubuntu.bash
$ ./run-image.sh
This command should drop you into an interactive shell where you can run spack
within an isolated docker container running ubuntu. The copy of spack being
used should be tied to the working copy of your cloned git repo, so any changes
you make should be immediately reflected in the running docker container. Feel
free to add or modify any packages or to hack on spack, itself. Your contained
copy of spack should immediately reflect all changes.
To work within a container running a different linux distro, source one of the
other environment files under ``config``.
.. code-block:: console
$ source config/fedora.bash
$ ./run-image.sh

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -49,6 +49,8 @@ Spack uses a "manifest and lock" model similar to `Bundler gemfiles
managers. The user input file is named ``spack.yaml`` and the lock
file is named ``spack.lock``
.. _environments-using:
------------------
Using Environments
------------------
@@ -128,7 +130,7 @@ To activate an environment, use the following command:
By default, the ``spack env activate`` will load the view associated
with the Environment into the user environment. The ``-v,
--with-view`` argument ensures this behavior, and the ``-V,
--without-vew`` argument activates the environment without changing
--without-view`` argument activates the environment without changing
the user environment variables.
The ``-p`` option to the ``spack env activate`` command modifies the
@@ -165,15 +167,6 @@ Any directory can be treated as an environment if it contains a file
$ spack env activate -d /path/to/directory
Spack commands that are environment sensitive will also act on the
environment any time the current working directory contains a
``spack.yaml`` file. Changing working directory to a directory
containing a ``spack.yaml`` file is equivalent to the command:
.. code-block:: console
$ spack env activate -d /path/to/dir --without-view
Anonymous specs can be created in place using the command:
.. code-block:: console
@@ -198,44 +191,24 @@ Environment has been activated. Similarly, the ``install`` and
==> 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
==> Installing zlib-1.2.11-q6cqrdto4iktfg6qyqcc5u4vmfmwb7iv
==> No binary for zlib-1.2.11-q6cqrdto4iktfg6qyqcc5u4vmfmwb7iv found: installing from source
==> zlib: Executing phase: 'install'
[+] ~/spack/opt/spack/linux-rhel7-broadwell/gcc-8.1.0/zlib-1.2.11-q6cqrdto4iktfg6qyqcc5u4vmfmwb7iv
$ 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
==> Installing zlib-1.2.8-yfc7epf57nsfn2gn4notccaiyxha6z7x
==> No binary for zlib-1.2.8-yfc7epf57nsfn2gn4notccaiyxha6z7x found: installing from source
==> zlib: Executing phase: 'install'
[+] ~/spack/opt/spack/linux-rhel7-broadwell/gcc-8.1.0/zlib-1.2.8-yfc7epf57nsfn2gn4notccaiyxha6z7x
==> Updating view at ~/spack/var/spack/environments/myenv/.spack-env/view
$ spack find
==> In environment myenv
@@ -243,15 +216,17 @@ Environment has been activated. Similarly, the ``install`` and
zlib@1.2.8
==> 1 installed package
-- linux-rhel7-x86_64 / gcc@4.9.3 -------------------------------
-- linux-rhel7-broadwell / gcc@8.1.0 ----------------------------
zlib@1.2.8
$ despacktivate
$ spack find
==> 2 installed packages
-- linux-rhel7-x86_64 / gcc@4.9.3 -------------------------------
-- linux-rhel7-broadwell / gcc@8.1.0 ----------------------------
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.
@@ -279,18 +254,18 @@ in the lockfile, nor does it install the spec.
The ``spack add`` command is environment aware. It adds to the
currently active environment. All environment aware commands can also
be called using the ``spack -E`` flag to specify the environment.
be called using the ``spack -e`` flag to specify the environment.
.. code-block:: console
$ spack activate myenv
$ spack env activate myenv
$ spack add mpileaks
or
.. code-block:: console
$ spack -E myenv add python
$ spack -e myenv add python
.. _environments_concretization:
@@ -356,6 +331,9 @@ installed specs using the ``-c`` (``--concretized``) flag.
==> 0 installed packages
.. _installing-environment:
^^^^^^^^^^^^^^^^^^^^^^^^^
Installing an Environment
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -382,11 +360,12 @@ the Environment.
Loading
^^^^^^^
Once an environment has been installed, the following creates a load script for it:
Once an environment has been installed, the following creates a load
script for it:
.. code-block:: console
$ spack env myenv loads -r
$ spack env loads -r
This creates a file called ``loads`` in the environment directory.
Sourcing that file in Bash will make the environment available to the
@@ -599,7 +578,7 @@ files are identical.
spack:
definitions:
- first: [libelf, libdwarf]
- compilers: ['%gcc', '^intel']
- compilers: ['%gcc', '%intel']
- second:
- $first
- matrix:
@@ -644,7 +623,7 @@ named list ``compilers`` is ``['%gcc', '%clang', '%intel']`` on
spack:
definitions:
- compilers: ['%gcc', '%clang']
- when: target == 'x86_64'
- when: arch.satisfies('x86_64:')
compilers: ['%intel']
.. note::
@@ -663,8 +642,12 @@ The valid variables for a ``when`` clause are:
#. ``target``. The target string of the default Spack
architecture on the system.
#. ``architecture`` or ``arch``. The full string of the
default Spack architecture on the system.
#. ``architecture`` or ``arch``. A Spack spec satisfying the default Spack
architecture on the system. This supports querying via the ``satisfies``
method, as shown above.
#. ``arch_str``. The architecture string of the default Spack architecture
on the system.
#. ``re``. The standard regex module in Python.
@@ -673,6 +656,40 @@ The valid variables for a ``when`` clause are:
#. ``hostname``. The hostname of the system (if ``hostname`` is an
executable in the user's PATH).
""""""""""""""""""""""""
SpecLists as Constraints
""""""""""""""""""""""""
Dependencies and compilers in Spack can be both packages in an
environment and constraints on other packages. References to SpecLists
allow a shorthand to treat packages in a list as either a compiler or
a dependency using the ``$%`` or ``$^`` syntax respectively.
For example, the following environment has three root packages:
``gcc@8.1.0``, ``mvapich2@2.3.1 %gcc@8.1.0``, and ``hdf5+mpi
%gcc@8.1.0 ^mvapich2@2.3.1``.
.. code-block:: yaml
spack:
definitions:
- compilers: [gcc@8.1.0]
- mpis: [mvapich2@2.3.1]
- packages: [hdf5+mpi]
specs:
- $compilers
- matrix:
- [$mpis]
- [$%compilers]
- matrix:
- [$packages]
- [$^mpis]
- [$%compilers]
This allows for a much-needed reduction in redundancy between packages
and constraints.
^^^^^^^^^^^^^^^^^^^^^^^^^
Environment-managed Views
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -798,8 +815,10 @@ environment for Spack commands. The arguments ``-v,--with-view`` and
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.
command and the paths that are used to update them are determined by
the :ref:`prefix inspections <customize-env-modifications>` defined in
your modules configuration; the defaults are summarized in the following
table.
=================== =========
Variable Paths

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -9,12 +9,6 @@
Custom Extensions
=================
.. warning::
The support for extending Spack with custom commands is still experimental.
Users should expect APIs or prescribed directory structures to
change at any time.
*Spack extensions* permit you to extend Spack capabilities by deploying your
own custom commands or logic in an arbitrary location on your filesystem.
This might be extremely useful e.g. to develop and maintain a command whose purpose is
@@ -93,11 +87,12 @@ will be available from the command line:
--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``:
The corresponding unit tests can be run giving the appropriate options
to ``spack unit-test``:
.. code-block:: console
$ spack test --extension=scripting
$ spack unit-test --extension=scripting
============================================================== test session starts ===============================================================
platform linux2 -- Python 2.7.15rc1, pytest-3.2.5, py-1.4.34, pluggy-0.4.0

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -48,8 +48,8 @@ platform, all on the command line.
# Add compiler flags using the conventional names
$ spack install mpileaks@1.1.2 %gcc@4.7.3 cppflags="-O3 -floop-block"
# Cross-compile for a different architecture with arch=
$ spack install mpileaks@1.1.2 arch=bgqos_0
# Cross-compile for a different micro-architecture with target=
$ spack install mpileaks@1.1.2 target=icelake
Users can specify as many or few options as they care about. Spack
will fill in the unspecified values with sensible defaults. The two listed

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -16,15 +16,18 @@ Prerequisites
Spack has the following minimum requirements, which must be installed
before Spack is run:
#. Python 2 (2.6 or 2.7) or 3 (3.5 - 3.8) to run Spack
#. Python 2 (2.6 or 2.7) or 3 (3.5 - 3.9) to run Spack
#. A C/C++ compiler for building
#. The ``make`` executable for building
#. The ``tar``, ``gzip``, ``bzip2``, ``xz`` and optionally ``zstd``
executables for extracting source code
#. The ``patch`` command to apply patches
#. 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
platforms like Cray and BlueGene/Q. Not all packages should be expected
on macOS, XCode is required. Spack is designed to run on HPC
platforms like Cray. Not all packages should be expected
to work on all platforms. A build matrix showing which packages are
working on which systems is planned but not yet available.
@@ -41,39 +44,50 @@ Getting Spack is easy. You can clone it from the `github repository
This will create a directory called ``spack``.
^^^^^^^^^^^^^^^^^^^^^^^^
Add Spack to the Shell
^^^^^^^^^^^^^^^^^^^^^^^^
.. _shell-support:
We'll assume that the full path to your downloaded Spack directory is
in the ``SPACK_ROOT`` environment variable. Add ``$SPACK_ROOT/bin``
to your path and you're ready to go:
^^^^^^^^^^^^^
Shell support
^^^^^^^^^^^^^
Once you have cloned Spack, we recommend sourcing the appropriate script
for your shell:
.. code-block:: console
$ export PATH=$SPACK_ROOT/bin:$PATH
$ spack install libelf
# For bash/zsh/sh
$ . spack/share/spack/setup-env.sh
For a richer experience, use Spack's shell support:
# For tcsh/csh
$ source spack/share/spack/setup-env.csh
.. code-block:: console
# For fish
$ . spack/share/spack/setup-env.fish
# For bash/zsh users
$ export SPACK_ROOT=/path/to/spack
$ . $SPACK_ROOT/share/spack/setup-env.sh
That's it! You're ready to use Spack.
# For tcsh or csh users (note you must set SPACK_ROOT)
$ setenv SPACK_ROOT /path/to/spack
$ source $SPACK_ROOT/share/spack/setup-env.csh
Sourcing these files will put the ``spack`` command in your ``PATH``, set
up your ``MODULEPATH`` to use Spack's packages, and add other useful
shell integration for :ref:`certain commands <packaging-shell-support>`,
:ref:`environments <environments>`, and :ref:`modules <modules>`. For
``bash``, it also sets up tab completion.
If you do not want to use Spack's shell support, you can always just run
the ``spack`` command directly from ``spack/bin/spack``.
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>`.
^^^^^^^^^^^^^^^^^^
Check Installation
^^^^^^^^^^^^^^^^^^
If :ref:`environment-modules <InstallEnvironmentModules>` is
installed and available, the ``spack`` command can also load and unload
:ref:`modules <modules>`.
With Spack installed, you should be able to run some basic Spack
commands. For example:
.. command-output:: spack spec netcdf-c
In theory, Spack doesn't need any additional installation; just
download and run! But in real life, additional steps are usually
required before Spack can work in a practical sense. Read on...
^^^^^^^^^^^^^^^^^
Clean Environment
@@ -89,16 +103,52 @@ environment*, especially for ``PATH``. Only software that comes with
the system, or that you know you wish to use with Spack, should be
included. This procedure will avoid many strange build errors.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Optional: Bootstrapping clingo
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^
Check Installation
^^^^^^^^^^^^^^^^^^
Spack supports using clingo as an external solver to compute which software
needs to be installed. If you have a default compiler supporting C++14 Spack
can automatically bootstrap this tool from sources the first time it is
needed:
With Spack installed, you should be able to run some basic Spack
commands. For example:
.. code-block:: console
.. command-output:: spack spec netcdf
$ spack solve zlib
[+] /usr (external bison-3.0.4-wu5pgjchxzemk5ya2l3ddqug2d7jv6eb)
[+] /usr (external cmake-3.19.4-a4kmcfzxxy45mzku4ipmj5kdiiz5a57b)
[+] /usr (external python-3.6.9-x4fou4iqqlh5ydwddx3pvfcwznfrqztv)
==> Installing re2c-1.2.1-e3x6nxtk3ahgd63ykgy44mpuva6jhtdt
[ ... ]
==> Optimization: [0, 0, 0, 0, 0, 1, 0, 0, 0]
zlib@1.2.11%gcc@10.1.0+optimize+pic+shared arch=linux-ubuntu18.04-broadwell
If you want to speed-up bootstrapping, you may try to search for ``cmake`` and ``bison``
on your system:
.. code-block:: console
$ spack external find cmake bison
==> The following specs have been detected on this system and added to /home/spack/.spack/packages.yaml
bison@3.0.4 cmake@3.19.4
All the tools Spack needs for its own functioning are installed in a separate store, which lives
under the ``${HOME}/.spack`` directory. The software installed there can be queried with:
.. code-block:: console
$ spack find --bootstrap
==> Showing internal bootstrap store at "/home/spack/.spack/bootstrap/store"
==> 3 installed packages
-- linux-ubuntu18.04-x86_64 / gcc@10.1.0 ------------------------
clingo-bootstrap@spack python@3.6.9 re2c@1.2.1
In case it's needed the bootstrap store can also be cleaned with:
.. code-block:: console
$ spack clean -b
==> Removing software in "/home/spack/.spack/bootstrap/store"
^^^^^^^^^^^^^^^^^^^^^^^^^^
Optional: Alternate Prefix
@@ -118,15 +168,6 @@ copy of spack installs packages into its own ``$PREFIX/opt``
directory.
^^^^^^^^^^
Next Steps
^^^^^^^^^^
In theory, Spack doesn't need any additional installation; just
download and run! But in real life, additional steps are usually
required before Spack can work in a practical sense. Read on...
.. _compiler-config:
----------------------
@@ -482,7 +523,7 @@ Fortran.
cxx: /usr/bin/clang++
f77: /path/to/bin/gfortran
fc: /path/to/bin/gfortran
spec: clang@11.0.0-apple
spec: apple-clang@11.0.0
If you used Spack to install GCC, you can get the installation prefix by
@@ -716,8 +757,9 @@ an OpenMPI installed in /opt/local, one would use:
packages:
openmpi:
paths:
openmpi@1.10.1: /opt/local
externals:
- spec: openmpi@1.10.1
prefix: /opt/local
buildable: False
In general, Spack is easier to use and more reliable if it builds all of
@@ -779,8 +821,9 @@ Then add the following to ``~/.spack/packages.yaml``:
packages:
openssl:
paths:
openssl@1.0.2g: /usr
externals:
- spec: openssl@1.0.2g
prefix: /usr
buildable: False
@@ -795,8 +838,9 @@ to add the following to ``packages.yaml``:
packages:
netlib-lapack:
paths:
netlib-lapack@3.6.1: /usr
externals:
- spec: netlib-lapack@3.6.1
prefix: /usr
buildable: False
all:
providers:
@@ -822,7 +866,7 @@ Git
Some Spack packages use ``git`` to download, which might not work on
some computers. For example, the following error was
encountered on a Macintosh during ``spack install julia-master``:
encountered on a Macintosh during ``spack install julia@master``:
.. code-block:: console
@@ -851,7 +895,7 @@ from websites and from git.
.. warning::
This workaround should be used ONLY as a last resort! Wihout SSL
This workaround should be used ONLY as a last resort! Without SSL
certificate verification, spack and git will download from sites you
wouldn't normally trust. The code you download and run may then be
compromised! While this is not a major issue for archives that will
@@ -900,9 +944,8 @@ Core Spack Utilities
^^^^^^^^^^^^^^^^^^^^
Core Spack uses the following packages, mainly to download and unpack
source code, and to load generated environment modules: ``curl``,
``env``, ``git``, ``go``, ``hg``, ``svn``, ``tar``, ``unzip``,
``patch``, ``environment-modules``.
source code: ``curl``, ``env``, ``git``, ``go``, ``hg``, ``svn``,
``tar``, ``unzip``, ``patch``
As long as the user's environment is set up to successfully run these
programs from outside of Spack, they should work inside of Spack as
@@ -910,10 +953,6 @@ well. They can generally be activated as in the ``curl`` example above;
or some systems might already have an appropriate hand-built
environment module that may be loaded. Either way works.
If you find that you are missing some of these programs, ``spack`` can
build some of them for you with ``spack bootstrap``. Currently supported
programs are ``environment-modules``.
A few notes on specific programs in this list:
""""""""""""""""""""""""""
@@ -941,45 +980,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
^^^^^^^^^^^^^^^^^
@@ -1229,9 +1229,13 @@ Here's an example of an external configuration for cray modules:
packages:
mpich:
modules:
mpich@7.3.1%gcc@5.2.0 arch=cray_xc-haswell-CNL10: cray-mpich
mpich@7.3.1%intel@16.0.0.109 arch=cray_xc-haswell-CNL10: cray-mpich
externals:
- spec: "mpich@7.3.1%gcc@5.2.0 arch=cray_xc-haswell-CNL10"
modules:
- cray-mpich
- spec: "mpich@7.3.1%intel@16.0.0.109 arch=cray_xc-haswell-CNL10"
modules:
- cray-mpich
all:
providers:
mpi: [mpich]
@@ -1243,7 +1247,7 @@ via module load.
.. note::
For Cray-provided packages, it is best to use ``modules:`` instead of ``paths:``
For Cray-provided packages, it is best to use ``modules:`` instead of ``prefix:``
in ``packages.yaml``, because the Cray Programming Environment heavily relies on
modules (e.g., loading the ``cray-mpich`` module adds MPI libraries to the
compiler wrapper link line).
@@ -1259,19 +1263,31 @@ Here is an example of a full packages.yaml used at NERSC
packages:
mpich:
modules:
mpich@7.3.1%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge: cray-mpich
mpich@7.3.1%intel@16.0.0.109 arch=cray_xc-SuSE11-ivybridge: cray-mpich
externals:
- spec: "mpich@7.3.1%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge"
modules:
- cray-mpich
- spec: "mpich@7.3.1%intel@16.0.0.109 arch=cray_xc-SuSE11-ivybridge"
modules:
- cray-mpich
buildable: False
netcdf:
modules:
netcdf@4.3.3.1%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge: cray-netcdf
netcdf@4.3.3.1%intel@16.0.0.109 arch=cray_xc-CNL10-ivybridge: cray-netcdf
externals:
- spec: "netcdf@4.3.3.1%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge"
modules:
- cray-netcdf
- spec: "netcdf@4.3.3.1%intel@16.0.0.109 arch=cray_xc-CNL10-ivybridge"
modules:
- cray-netcdf
buildable: False
hdf5:
modules:
hdf5@1.8.14%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge: cray-hdf5
hdf5@1.8.14%intel@16.0.0.109 arch=cray_xc-CNL10-ivybridge: cray-hdf5
externals:
- spec: "hdf5@1.8.14%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge"
modules:
- cray-hdf5
- spec: "hdf5@1.8.14%intel@16.0.0.109 arch=cray_xc-CNL10-ivybridge"
modules:
- cray-hdf5
buildable: False
all:
compiler: [gcc@5.2.0, intel@16.0.0.109]
@@ -1295,6 +1311,6 @@ environment variables may be propagated into containers that are not
using the Cray programming environment.
To ensure that Spack does not autodetect the Cray programming
environment, unset the environment variable ``CRAYPE_VERSION``. This
environment, unset the environment variable ``MODULEPATH``. This
will cause Spack to treat a linux container on a Cray system as a base
linux distro.

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -66,6 +66,7 @@ or refer to the full manual below.
config_yaml
build_settings
environments
containers
mirrors
module_file_support
repositories
@@ -74,6 +75,7 @@ or refer to the full manual below.
package_list
chain
extensions
pipelines
.. toctree::
:maxdepth: 2
@@ -83,7 +85,6 @@ or refer to the full manual below.
packaging_guide
build_systems
developer_guide
docker_for_developers
.. toctree::
:maxdepth: 2

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -14,7 +14,7 @@ problems if you encounter them.
Variants are not properly forwarded to dependencies
---------------------------------------------------
**Status:** Expected to be fixed in the next release
**Status:** Expected to be fixed by Spack's new concretizer
Sometimes, a variant of a package can also affect how its dependencies are
built. For example, in order to build MPI support for a package, it may
@@ -49,15 +49,29 @@ A workaround is to explicitly activate the variants of dependencies as well:
See https://github.com/spack/spack/issues/267 and
https://github.com/spack/spack/issues/2546 for further details.
-----------------------------------------------
depends_on cannot handle recursive dependencies
-----------------------------------------------
----------------------------
``spack setup`` doesn't work
----------------------------
**Status:** Not yet a work in progress
**Status:** Work in progress
Although ``depends_on`` can handle any aspect of Spack's spec syntax,
it currently cannot handle recursive dependencies. If the ``^`` sigil
appears in a ``depends_on`` statement, the concretizer will hang.
For example, something like:
Spack provides a ``setup`` command that is useful for the development of
software outside of Spack. Unfortunately, this command no longer works.
See https://github.com/spack/spack/issues/2597 and
https://github.com/spack/spack/issues/2662 for details. This is expected
to be fixed by https://github.com/spack/spack/pull/2664.
.. code-block:: python
depends_on('mfem+cuda ^hypre+cuda', when='+cuda')
should be rewritten as:
.. code-block:: python
depends_on('mfem+cuda', when='+cuda')
depends_on('hypre+cuda', when='+cuda')
See https://github.com/spack/spack/issues/17660 and
https://github.com/spack/spack/issues/11160 for more details.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -10,29 +10,25 @@ Modules
=======
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/>`_ and `LMod
<http://lmod.readthedocs.io/en/latest/>`_ by
providing post-install hooks that generate module files and commands to manipulate them.
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/>`_ 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:
Modules are one of several ways you can use Spack packages. For other
options that may fit your use case better, you should also look at
:ref:`spack load <spack-load>` and :ref:`environments <environments>`.
----------------------------
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
@@ -66,201 +62,9 @@ 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.
^^^^^^^^^^^^^
Shell support
^^^^^^^^^^^^^
To enable additional Spack commands for loading and unloading module files,
and to add the correct path to ``MODULEPATH``, you need to source the appropriate
setup file in the ``$SPACK_ROOT/share/spack`` directory. This will activate shell
support for the commands that need it. For ``bash``, ``ksh`` or ``zsh`` users:
.. code-block:: console
$ . ${SPACK_ROOT}/share/spack/setup-env.sh
For ``csh`` and ``tcsh`` instead:
.. code-block:: console
$ set SPACK_ROOT ...
$ source $SPACK_ROOT/share/spack/setup-env.csh
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
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.
.. _cmd-spack-load:
^^^^^^^^^^^^^^^^^^^^^^^
``spack load / unload``
^^^^^^^^^^^^^^^^^^^^^^^
Once you have shell support enabled you can use the same spec syntax
you're used to and you can use the same shortened names you use
everywhere else in Spack.
For example this will add the ``mpich`` package built with ``gcc`` to your path:
.. code-block:: console
$ spack install mpich %gcc@4.4.7
# ... wait for install ...
$ spack load mpich %gcc@4.4.7 # modules
$ which mpicc
~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/mpich@3.0.4/bin/mpicc
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
.. note::
The ``load`` and ``unload`` subcommands are
only available if you have enabled Spack's shell support *and* you
have environment-modules installed on your machine.
^^^^^^^^^^^^^^^^^^^^^^
Ambiguous module names
^^^^^^^^^^^^^^^^^^^^^^
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:
.. 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
You can either type the ``spack load`` command again with a fully
qualified argument, or you can add just enough extra constraints to
identify one package. For example, above, the key differentiator is
that one ``libelf`` is built with the Intel compiler, while the other
used ``gcc``. You could therefore just type:
.. code-block:: console
$ spack load libelf %intel
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
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
RPATH.
Scripts to load modules recursively may be made with the command:
.. code-block:: console
$ spack module tcl loads --dependencies <spec>
An equivalent alternative using `process substitution <http://tldp.org/LDP/abs/html/process-sub.html>`_ is:
.. code-block :: console
$ source <( spack module tcl loads --dependencies <spec> )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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 ``--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
$ spack module tcl loads --dependencies py-numpy git
# bzip2@1.0.6%gcc@4.9.3=linux-x86_64
module load bzip2-1.0.6-gcc-4.9.3-ktnrhkrmbbtlvnagfatrarzjojmkvzsx
# ncurses@6.0%gcc@4.9.3=linux-x86_64
module load ncurses-6.0-gcc-4.9.3-kaazyneh3bjkfnalunchyqtygoe2mncv
# zlib@1.2.8%gcc@4.9.3=linux-x86_64
module load zlib-1.2.8-gcc-4.9.3-v3ufwaahjnviyvgjcelo36nywx2ufj7z
# sqlite@3.8.5%gcc@4.9.3=linux-x86_64
module load sqlite-3.8.5-gcc-4.9.3-a3eediswgd5f3rmto7g3szoew5nhehbr
# readline@6.3%gcc@4.9.3=linux-x86_64
module load readline-6.3-gcc-4.9.3-se6r3lsycrwxyhreg4lqirp6xixxejh3
# python@3.5.1%gcc@4.9.3=linux-x86_64
module load python-3.5.1-gcc-4.9.3-5q5rsrtjld4u6jiicuvtnx52m7tfhegi
# py-setuptools@20.5%gcc@4.9.3=linux-x86_64
module load py-setuptools-20.5-gcc-4.9.3-4qr2suj6p6glepnedmwhl4f62x64wxw2
# py-nose@1.3.7%gcc@4.9.3=linux-x86_64
module load py-nose-1.3.7-gcc-4.9.3-pwhtjw2dvdvfzjwuuztkzr7b4l6zepli
# openblas@0.2.17%gcc@4.9.3+shared=linux-x86_64
module load openblas-0.2.17-gcc-4.9.3-pw6rmlom7apfsnjtzfttyayzc7nx5e7y
# py-numpy@1.11.0%gcc@4.9.3+blas+lapack=linux-x86_64
module load py-numpy-1.11.0-gcc-4.9.3-mulodttw5pcyjufva4htsktwty4qd52r
# curl@7.47.1%gcc@4.9.3=linux-x86_64
module load curl-7.47.1-gcc-4.9.3-ohz3fwsepm3b462p5lnaquv7op7naqbi
# autoconf@2.69%gcc@4.9.3=linux-x86_64
module load autoconf-2.69-gcc-4.9.3-bkibjqhgqm5e3o423ogfv2y3o6h2uoq4
# cmake@3.5.0%gcc@4.9.3~doc+ncurses+openssl~qt=linux-x86_64
module load cmake-3.5.0-gcc-4.9.3-x7xnsklmgwla3ubfgzppamtbqk5rwn7t
# expat@2.1.0%gcc@4.9.3=linux-x86_64
module load expat-2.1.0-gcc-4.9.3-6pkz2ucnk2e62imwakejjvbv6egncppd
# git@2.8.0-rc2%gcc@4.9.3+curl+expat=linux-x86_64
module load git-2.8.0-rc2-gcc-4.9.3-3bib4hqtnv5xjjoq5ugt3inblt4xrgkd
The script may be further edited by removing unnecessary modules.
^^^^^^^^^^^^^^^
Module Prefixes
^^^^^^^^^^^^^^^
On some systems, modules are automatically prefixed with a certain
string; ``spack module tcl loads`` needs to know about that prefix when it
issues ``module load`` commands. Add the ``--prefix`` option to your
``spack module tcl loads`` commands if this is necessary.
For example, consider the following on one system:
.. code-block:: console
$ module avail
linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module tcl loads antlr # WRONG!
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module tcl loads --prefix linux-SuSE11-x86_64/ antlr
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y
Neither of these is particularly pretty, easy to remember, or easy to
type. Luckily, Spack offers many facilities for customizing the module
scheme used at your site.
-------------------------
Module file customization
@@ -460,14 +264,14 @@ is compiled with ``gcc@4.4.7``, with the only exception of any ``gcc``
or any ``llvm`` installation.
.. _modules-naming-scheme:
.. _modules-projections:
"""""""""""""""""""""""""""
Customize the naming scheme
"""""""""""""""""""""""""""
"""""""""""""""""""""""""""""""
Customize the naming of modules
"""""""""""""""""""""""""""""""
The names of environment modules generated by spack are not always easy to
fully comprehend due to the long hash in the name. There are two module
fully comprehend due to the long hash in the name. There are three module
configuration options to help with that. The first is a global setting to
adjust the hash length. It can be set anywhere from 0 to 32 and has a default
length of 7. This is the representation of the hash in the module file name and
@@ -501,20 +305,46 @@ version of python a set of python extensions is associated with. Likewise, the
``openblas`` string is attached to any program that has openblas in the spec,
most likely via the ``+blas`` variant specification.
The most heavyweight solution to module naming is to change the entire
naming convention for module files. This uses the projections format
covered in :ref:`adding_projections_to_views`.
.. code-block:: yaml
modules:
tcl:
projections:
all: '{name}/{version}-{compiler.name}-{compiler.version}-module'
^mpi: '{name}/{version}-{^mpi.name}-{^mpi.version}-{compiler.name}-{compiler.version}-module'
will create module files that are nested in directories by package
name, contain the version and compiler name and version, and have the
word ``module`` before the hash for all specs that do not depend on
mpi, and will have the same information plus the MPI implementation
name and version for all packages that depend on mpi.
When specifying module names by projection for Lmod modules, we
recommend NOT including names of dependencies (e.g., MPI, compilers)
that are already in the LMod hierarchy.
.. note::
TCL module files
A modification that is specific to ``tcl`` module files is the possibility
to change the naming scheme of modules.
TCL modules
TCL modules also allow for explicit conflicts between modulefiles.
.. code-block:: yaml
modules:
tcl:
naming_scheme: '{name}/{version}-{compiler.name}-{compiler.version}'
all:
conflict:
- '{name}'
- 'intel/14.0.1'
modules:
enable:
- tcl
tcl:
projections:
all: '{name}/{version}-{compiler.name}-{compiler.version}'
all:
conflict:
- '{name}'
- 'intel/14.0.1'
will create module files that will conflict with ``intel/14.0.1`` and with the
base directory of the same module, effectively preventing the possibility to
@@ -539,6 +369,8 @@ most likely via the ``+blas`` variant specification.
lmod:
core_compilers:
- 'gcc@4.8'
core_specs:
- 'python'
hierarchy:
- 'mpi'
- 'lapack'
@@ -548,11 +380,46 @@ 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.
See `this discussion on the LMod project <https://github.com/TACC/Lmod/issues/114>`_.
.. _customize-env-modifications:
"""""""""""""""""""""""""""""""""""
Customize environment modifications
"""""""""""""""""""""""""""""""""""
You can control which prefixes in a Spack package are added to environment
variables with the ``prefix_inspections`` section; this section maps relative
prefixes to the list of environment variables which should be updated with
those prefixes.
.. code-block:: yaml
modules:
prefix_inspections:
bin:
- PATH
lib:
- LIBRARY_PATH
'':
- CMAKE_PREFIX_PATH
In this case, for a Spack package ``foo`` installed to ``/spack/prefix/foo``,
the generated module file for ``foo`` would update ``PATH`` to contain
``/spack/prefix/foo/bin``.
""""""""""""""""""""""""""""""""""""
Filter out environment modifications
""""""""""""""""""""""""""""""""""""
@@ -661,3 +528,135 @@ subcommand is ``rm``:
that are already existing will ask for a confirmation by default. If
the command is used in a script it is possible though to pass the
``-y`` argument, that will skip this safety measure.
.. _modules-in-shell-scripts:
------------------------------------
Using Spack modules in shell scripts
------------------------------------
The easiest To enable additional Spack commands for loading and unloading
module files, and to add the correct path to ``MODULEPATH``, you need to
source the appropriate setup file. Assuming Spack is installed in
``$SPACK_ROOT``, run the appropriate command for your shell:
.. code-block:: console
# For bash/zsh/sh
$ . $SPACK_ROOT/share/spack/setup-env.sh
# For tcsh/csh
$ source $SPACK_ROOT/share/spack/setup-env.csh
# For fish
$ . $SPACK_ROOT/share/spack/setup-env.fish
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 that the shell startup time may increase slightly as a result.
.. _cmd-spack-module-loads:
^^^^^^^^^^^^^^^^^^^^^^^^^^
``spack module tcl loads``
^^^^^^^^^^^^^^^^^^^^^^^^^^
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
RPATH.
Scripts to load modules recursively may be made with the command:
.. code-block:: console
$ spack module tcl loads --dependencies <spec>
An equivalent alternative using `process substitution <http://tldp.org/LDP/abs/html/process-sub.html>`_ is:
.. code-block:: console
$ source <( spack module tcl loads --dependencies <spec> )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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 ``--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
$ spack module tcl loads --dependencies py-numpy git
# bzip2@1.0.6%gcc@4.9.3=linux-x86_64
module load bzip2-1.0.6-gcc-4.9.3-ktnrhkrmbbtlvnagfatrarzjojmkvzsx
# ncurses@6.0%gcc@4.9.3=linux-x86_64
module load ncurses-6.0-gcc-4.9.3-kaazyneh3bjkfnalunchyqtygoe2mncv
# zlib@1.2.8%gcc@4.9.3=linux-x86_64
module load zlib-1.2.8-gcc-4.9.3-v3ufwaahjnviyvgjcelo36nywx2ufj7z
# sqlite@3.8.5%gcc@4.9.3=linux-x86_64
module load sqlite-3.8.5-gcc-4.9.3-a3eediswgd5f3rmto7g3szoew5nhehbr
# readline@6.3%gcc@4.9.3=linux-x86_64
module load readline-6.3-gcc-4.9.3-se6r3lsycrwxyhreg4lqirp6xixxejh3
# python@3.5.1%gcc@4.9.3=linux-x86_64
module load python-3.5.1-gcc-4.9.3-5q5rsrtjld4u6jiicuvtnx52m7tfhegi
# py-setuptools@20.5%gcc@4.9.3=linux-x86_64
module load py-setuptools-20.5-gcc-4.9.3-4qr2suj6p6glepnedmwhl4f62x64wxw2
# py-nose@1.3.7%gcc@4.9.3=linux-x86_64
module load py-nose-1.3.7-gcc-4.9.3-pwhtjw2dvdvfzjwuuztkzr7b4l6zepli
# openblas@0.2.17%gcc@4.9.3+shared=linux-x86_64
module load openblas-0.2.17-gcc-4.9.3-pw6rmlom7apfsnjtzfttyayzc7nx5e7y
# py-numpy@1.11.0%gcc@4.9.3+blas+lapack=linux-x86_64
module load py-numpy-1.11.0-gcc-4.9.3-mulodttw5pcyjufva4htsktwty4qd52r
# curl@7.47.1%gcc@4.9.3=linux-x86_64
module load curl-7.47.1-gcc-4.9.3-ohz3fwsepm3b462p5lnaquv7op7naqbi
# autoconf@2.69%gcc@4.9.3=linux-x86_64
module load autoconf-2.69-gcc-4.9.3-bkibjqhgqm5e3o423ogfv2y3o6h2uoq4
# cmake@3.5.0%gcc@4.9.3~doc+ncurses+openssl~qt=linux-x86_64
module load cmake-3.5.0-gcc-4.9.3-x7xnsklmgwla3ubfgzppamtbqk5rwn7t
# expat@2.1.0%gcc@4.9.3=linux-x86_64
module load expat-2.1.0-gcc-4.9.3-6pkz2ucnk2e62imwakejjvbv6egncppd
# git@2.8.0-rc2%gcc@4.9.3+curl+expat=linux-x86_64
module load git-2.8.0-rc2-gcc-4.9.3-3bib4hqtnv5xjjoq5ugt3inblt4xrgkd
The script may be further edited by removing unnecessary modules.
^^^^^^^^^^^^^^^
Module Prefixes
^^^^^^^^^^^^^^^
On some systems, modules are automatically prefixed with a certain
string; ``spack module tcl loads`` needs to know about that prefix when it
issues ``module load`` commands. Add the ``--prefix`` option to your
``spack module tcl loads`` commands if this is necessary.
For example, consider the following on one system:
.. code-block:: console
$ module avail
linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module tcl loads antlr # WRONG!
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module tcl loads --prefix linux-SuSE11-x86_64/ antlr
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -10,8 +10,8 @@ Package List
============
This is a list of things you can install using Spack. It is
automatically generated based on the packages in the latest Spack
release.
automatically generated based on the packages in this Spack
version.
.. raw:: html
:file: package_list.html

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -553,6 +553,34 @@ version. This is useful for packages that have an easy to extrapolate URL, but
keep changing their URL format every few releases. With this method, you only
need to specify the ``url`` when the URL changes.
"""""""""""""""""""""""
Mirrors of the main URL
"""""""""""""""""""""""
Spack supports listing mirrors of the main URL in a package by defining
the ``urls`` attribute:
.. code-block:: python
class Foo(Package):
urls = [
'http://example.com/foo-1.0.tar.gz',
'http://mirror.com/foo-1.0.tar.gz'
]
instead of just a single ``url``. This attribute is a list of possible URLs that
will be tried in order when fetching packages. Notice that either one of ``url``
or ``urls`` can be present in a package, but not both at the same time.
A well-known case of packages that can be fetched from multiple mirrors is that
of GNU. For that, Spack goes a step further and defines a mixin class that
takes care of all of the plumbing and requires packagers to just define a proper
``gnu_mirror_path`` attribute:
.. literalinclude:: _spack_root/var/spack/repos/builtin/packages/autoconf/package.py
:lines: 9-18
^^^^^^^^^^^^^^^^^^^^^^^^
Skipping the expand step
^^^^^^^^^^^^^^^^^^^^^^^^
@@ -617,7 +645,7 @@ multiple fields based on delimiters such as ``.``, ``-`` etc. Then
matching fields are compared using the rules below:
#. The following develop-like strings are greater (newer) than all
numbers and are ordered as ``develop > master > head > trunk``.
numbers and are ordered as ``develop > main > master > head > trunk``.
#. Numbers are all less than the chosen develop-like strings above,
and are sorted numerically.
@@ -901,6 +929,9 @@ Git fetching supports the following parameters to ``version``:
* ``tag``: Name of a tag to fetch.
* ``commit``: SHA hash (or prefix) of a commit to fetch.
* ``submodules``: Also fetch submodules recursively when checking out this repository.
* ``submodules_delete``: A list of submodules to forcibly delete from the repository
after fetching. Useful if a version in the repository has submodules that
have disappeared/are no longer accessible.
* ``get_full_repo``: Ensure the full git history is checked out with all remote
branch information. Normally (``get_full_repo=False``, the default), the git
option ``--depth 1`` will be used if the version of git and the specified
@@ -1479,8 +1510,8 @@ that the same package with different patches applied will have different
hash identifiers. To ensure that the hashing scheme is consistent, you
must use a ``sha256`` checksum for the patch. Patches will be fetched
from their URLs, checked, and applied to your source code. You can use
the ``spack sha256`` command to generate a checksum for a patch file or
URL.
the GNU utils ``sha256sum`` or the macOS ``shasum -a 256`` commands to
generate a checksum for a patch file.
Spack can also handle compressed patches. If you use these, Spack needs
a little more help. Specifically, it needs *two* checksums: the
@@ -1644,15 +1675,15 @@ can see the patches that would be applied to ``m4``::
Concretized
--------------------------------
m4@1.4.18%clang@9.0.0-apple patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00,c0a408fbffb7255fcc75e26bd8edab116fc81d216bfd18b473668b7739a4158e,fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8 +sigsegv arch=darwin-highsierra-x86_64
^libsigsegv@2.11%clang@9.0.0-apple arch=darwin-highsierra-x86_64
m4@1.4.18%apple-clang@9.0.0 patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00,c0a408fbffb7255fcc75e26bd8edab116fc81d216bfd18b473668b7739a4158e,fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8 +sigsegv arch=darwin-highsierra-x86_64
^libsigsegv@2.11%apple-clang@9.0.0 arch=darwin-highsierra-x86_64
You can also see patches that have been applied to installed packages
with ``spack find -v``::
$ spack find -v m4
==> 1 installed package
-- darwin-highsierra-x86_64 / clang@9.0.0-apple -----------------
-- darwin-highsierra-x86_64 / apple-clang@9.0.0 -----------------
m4@1.4.18 patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00,c0a408fbffb7255fcc75e26bd8edab116fc81d216bfd18b473668b7739a4158e,fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8 +sigsegv
.. _cmd-spack-resource:
@@ -1682,7 +1713,7 @@ wonder where the extra boost patches are coming from::
$ spack spec dealii ^boost@1.68.0 ^hdf5+fortran | grep '\^boost'
^boost@1.68.0
^boost@1.68.0%clang@9.0.0-apple+atomic+chrono~clanglibcpp cxxstd=default +date_time~debug+exception+filesystem+graph~icu+iostreams+locale+log+math~mpi+multithreaded~numpy patches=2ab6c72d03dec6a4ae20220a9dfd5c8c572c5294252155b85c6874d97c323199,b37164268f34f7133cbc9a4066ae98fda08adf51e1172223f6a969909216870f ~pic+program_options~python+random+regex+serialization+shared+signals~singlethreaded+system~taggedlayout+test+thread+timer~versionedlayout+wave arch=darwin-highsierra-x86_64
^boost@1.68.0%apple-clang@9.0.0+atomic+chrono~clanglibcpp cxxstd=default +date_time~debug+exception+filesystem+graph~icu+iostreams+locale+log+math~mpi+multithreaded~numpy patches=2ab6c72d03dec6a4ae20220a9dfd5c8c572c5294252155b85c6874d97c323199,b37164268f34f7133cbc9a4066ae98fda08adf51e1172223f6a969909216870f ~pic+program_options~python+random+regex+serialization+shared+signals~singlethreaded+system~taggedlayout+test+thread+timer~versionedlayout+wave arch=darwin-highsierra-x86_64
$ spack resource show b37164268
b37164268f34f7133cbc9a4066ae98fda08adf51e1172223f6a969909216870f
path: /home/spackuser/src/spack/var/spack/repos/builtin/packages/dealii/boost_1.68.0.patch
@@ -1747,8 +1778,18 @@ RPATHs in Spack are handled in one of three ways:
Parallel builds
---------------
Spack supports parallel builds on an individual package and at the
installation level. Package-level parallelism is established by the
``--jobs`` option and its configuration and package recipe equivalents.
Installation-level parallelism is driven by the DAG(s) of the requested
package or packages.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Package-level build parallelism
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
By default, Spack will invoke ``make()``, or any other similar tool,
with a ``-j <njobs>`` argument, so that builds run in parallel.
with a ``-j <njobs>`` argument, so those builds run in parallel.
The parallelism is determined by the value of the ``build_jobs`` entry
in ``config.yaml`` (see :ref:`here <build-jobs>` for more details on
how this value is computed).
@@ -1796,6 +1837,43 @@ you set ``parallel`` to ``False`` at the package level, then each call
to ``make()`` will be sequential by default, but packagers can call
``make(parallel=True)`` to override it.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Install-level build parallelism
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Spack supports the concurrent installation of packages within a Spack
instance across multiple processes using file system locks. This
parallelism is separate from the package-level achieved through build
systems' use of the ``-j <njobs>`` option. With install-level parallelism,
processes coordinate the installation of the dependencies of specs
provided on the command line and as part of an environment build with
only **one process** being allowed to install a given package at a time.
Refer to :ref:`Dependencies` for more information on dependencies and
:ref:`installing-environment` for how to install an environment.
Concurrent processes may be any combination of interactive sessions and
batch jobs. Which means a ``spack install`` can be running in a terminal
window while a batch job is running ``spack install`` on the same or
overlapping dependencies without any process trying to re-do the work of
another.
For example, if you are using SLURM, you could launch an installation
of ``mpich`` using the following command:
.. code-block:: console
$ srun -N 2 -n 8 spack install -j 4 mpich@3.3.2
This will create eight concurrent four-job installation on two different
nodes.
.. note::
The effective parallelism will be based on the maximum number of
packages that can be installed at the same time, which will limited
by the number of packages with no (remaining) uninstalled dependencies.
.. _dependencies:
------------
@@ -1922,6 +2000,8 @@ issues with 1.64.0, 1.65.0, and 1.66.0, you can say:
depends_on('boost@1.59.0:1.63,1.65.1,1.67.0:')
.. _dependency-types:
^^^^^^^^^^^^^^^^
Dependency types
^^^^^^^^^^^^^^^^
@@ -1934,22 +2014,29 @@ exactly what kind of a dependency you need. For example:
depends_on('cmake', type='build')
depends_on('py-numpy', type=('build', 'run'))
depends_on('libelf', type=('build', 'link'))
depends_on('py-pytest', type='test')
The following dependency types are available:
* **"build"**: made available during the project's build. The package will
be added to ``PATH``, the compiler include paths, and ``PYTHONPATH``.
Other projects which depend on this one will not have these modified
(building project X doesn't need project Y's build dependencies).
* **"link"**: the project is linked to by the project. The package will be
added to the current package's ``rpath``.
* **"run"**: the project is used by the project at runtime. The package will
be added to ``PATH`` and ``PYTHONPATH``.
* **"build"**: the dependency will be added to the ``PATH`` and
``PYTHONPATH`` at build-time.
* **"link"**: the dependency will be added to Spack's compiler
wrappers, automatically injecting the appropriate linker flags,
including ``-I``, ``-L``, and RPATH/RUNPATH handling.
* **"run"**: the dependency will be added to the ``PATH`` and
``PYTHONPATH`` at run-time. This is true for both ``spack load``
and the module files Spack writes.
* **"test"**: the dependency will be added to the ``PATH`` and
``PYTHONPATH`` at build-time. The only difference between
"build" and "test" is that test dependencies are only built
if the user requests unit tests with ``spack install --test``.
One of the advantages of the ``build`` dependency type is that although the
dependency needs to be installed in order for the package to be built, it
can be uninstalled without concern afterwards. ``link`` and ``run`` disallow
this because uninstalling the dependency would break the package.
this because uninstalling the dependency would break the package. Another
consequence of this is that ``build``-only dependencies do not affect the
hash of the package. The same is true for ``test`` dependencies.
If the dependency type is not specified, Spack uses a default of
``('build', 'link')``. This is the common case for compiler languages.
@@ -1959,6 +2046,29 @@ inject the dependency's ``prefix/lib`` directory, but the package needs to
be in ``PATH`` and ``PYTHONPATH`` during the build process and later when
a user wants to run the package.
^^^^^^^^^^^^^^^^^^^^^^^^
Conditional dependencies
^^^^^^^^^^^^^^^^^^^^^^^^
You may have a package that only requires a dependency under certain
conditions. For example, you may have a package that has optional MPI support,
- MPI is only a dependency when you want to enable MPI support for the
package. In that case, you could say something like:
.. code-block:: python
variant('mpi', default=False, description='Enable MPI support')
depends_on('mpi', when='+mpi')
``when`` can include constraints on the variant, version, compiler, etc. and
the :mod:`syntax<spack.spec>` is the same as for Specs written on the command
line.
If a dependency/feature of a package isn't typically used, you can save time
by making it conditional (since Spack will not build the dependency unless it
is required for the Spec).
.. _dependency_dependency_patching:
^^^^^^^^^^^^^^^^^^^
@@ -2114,13 +2224,17 @@ Adding the following to a package:
.. code-block:: python
conflicts('%intel', when='@1.2')
conflicts('%intel', when='@:1.2',
msg='<myNicePackage> <= v1.2 cannot be built with Intel ICC, '
'please use a newer release.')
we express the fact that the current package *cannot be built* with the Intel
compiler when we are trying to install version "1.2". The ``when`` argument can
be omitted, in which case the conflict will always be active.
compiler when we are trying to install a version "<=1.2". The ``when`` argument
can be omitted, in which case the conflict will always be active.
Conflicts are always evaluated after the concretization step has been performed,
and if any match is found a detailed error message is shown to the user.
You can add an additional message via the ``msg=`` parameter to a conflict that
provideds more specific instructions for users.
.. _packaging_extensions:
@@ -2142,7 +2256,7 @@ property to ``True``, e.g.:
extendable = True
...
To make a package into an extension, simply add simply add an
To make a package into an extension, simply add an
``extends`` call in the package definition, and pass it the name of an
extendable package:
@@ -2157,6 +2271,10 @@ Now, the ``py-numpy`` package can be used as an argument to ``spack
activate``. When it is activated, all the files in its prefix will be
symbolically linked into the prefix of the python package.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Adding additional constraints
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some packages produce a Python extension, but are only compatible with
Python 3, or with Python 2. In those cases, a ``depends_on()``
declaration should be made in addition to the ``extends()``
@@ -2176,8 +2294,7 @@ variant(s) are selected. This may be accomplished with conditional
.. code-block:: python
class FooLib(Package):
variant('python', default=True, description= \
'Build the Python extension Module')
variant('python', default=True, description='Build the Python extension Module')
extends('python', when='+python')
...
@@ -2858,7 +2975,7 @@ discover its dependencies.
If you want to see the environment that a package will build with, or
if you want to run commands in that environment to test them out, you
can use the :ref:`cmd-spack-env` command, documented
can use the :ref:`cmd-spack-build-env` command, documented
below.
^^^^^^^^^^^^^^^^^^^^^
@@ -3046,7 +3163,7 @@ differ from package to package. In order to make the ``install()`` method
independent of the choice of ``Blas`` implementation, each package which
provides it implements ``@property def blas_libs(self):`` to return an object
of
`LibraryList <http://spack.readthedocs.io/en/latest/llnl.util.html#llnl.util.filesystem.LibraryList>`_
`LibraryList <https://spack.readthedocs.io/en/latest/llnl.util.html#llnl.util.filesystem.LibraryList>`_
type which simplifies usage of a set of libraries.
The same applies to packages which provide ``Lapack`` and ``ScaLapack``.
Package developers are requested to use this interface. Common usage cases are:
@@ -3081,7 +3198,7 @@ Package developers are requested to use this interface. Common usage cases are:
For more information, see documentation of
`LibraryList <http://spack.readthedocs.io/en/latest/llnl.util.html#llnl.util.filesystem.LibraryList>`_
`LibraryList <https://spack.readthedocs.io/en/latest/llnl.util.html#llnl.util.filesystem.LibraryList>`_
class.
@@ -3552,7 +3669,7 @@ the command line.
For most compilers, ``$rpath_flag`` is ``-Wl,-rpath,``. However, NAG
passes its flags to GCC instead of passing them directly to the linker.
Therefore, its ``$rpath_flag`` is doubly wrapped: ``-Wl,-Wl,,-rpath,``.
``$rpath_flag`` can be overriden on a compiler specific basis in
``$rpath_flag`` can be overridden on a compiler specific basis in
``lib/spack/spack/compilers/$compiler.py``.
The compiler wrappers also pass the compiler flags specified by the user from
@@ -3831,6 +3948,118 @@ using the ``run_before`` decorator.
.. _file-manipulation:
^^^^^^^^^^^^^
Install Tests
^^^^^^^^^^^^^
.. warning::
The API for adding and running install tests is not yet considered
stable and may change drastically in future releases. Packages with
upstreamed tests will be refactored to match changes to the API.
While build-tests are integrated with the build system, install tests
may be added to Spack packages to be run independently of the install
method.
Install tests may be added by defining a ``test`` method with the following signature:
.. code-block:: python
def test(self):
These tests will be run in an environment set up to provide access to
this package and all of its dependencies, including ``test``-type
dependencies. Inside the ``test`` method, standard python ``assert``
statements and other error reporting mechanisms can be used. Spack
will report any errors as a test failure.
Inside the test method, individual tests can be run separately (and
continue transparently after a test failure) using the ``run_test``
method. The signature for the ``run_test`` method is:
.. code-block:: python
def run_test(self, exe, options=[], expected=[], status=0, installed=False,
purpose='', skip_missing=False, work_dir=None):
This method will operate in ``work_dir`` if one is specified. It will
search for an executable in the ``PATH`` variable named ``exe``, and
if ``installed=True`` it will fail if that executable does not come
from the prefix of the package being tested. If the executable is not
found, it will fail the test unless ``skip_missing`` is set to
``True``. The executable will be run with the options specified, and
the return code will be checked against the ``status`` argument, which
can be an integer or list of integers. Spack will also check that
every string in ``expected`` is a regex matching part of the output of
the executable. The ``purpose`` argument is recorded in the test log
for debugging purposes.
""""""""""""""""""""""""""""""""""""""
Install tests that require compilation
""""""""""""""""""""""""""""""""""""""
Some tests may require access to the compiler with which the package
was built, especially to test library-only packages. To ensure the
compiler is configured as part of the test environment, set the
attribute ``tests_require_compiler = True`` on the package. The
compiler will be available through the canonical environment variables
(``CC``, ``CXX``, ``FC``, ``F77``) in the test environment.
""""""""""""""""""""""""""""""""""""""""""""""""
Install tests that require build-time components
""""""""""""""""""""""""""""""""""""""""""""""""
Some packages cannot be easily tested without components from the
build-time test suite. For those packages, the
``cache_extra_test_sources`` method can be used.
.. code-block:: python
@run_after('install')
def cache_test_sources(self):
srcs = ['./tests/foo.c', './tests/bar.c']
self.cache_extra_test_sources(srcs)
This method will copy the listed methods into the metadata directory
of the package at the end of the install phase of the build. They will
be available to the test method in the directory
``self._extra_tests_path``.
While source files are generally recommended, for many packages
binaries may also technically be cached in this way for later testing.
"""""""""""""""""""""
Running install tests
"""""""""""""""""""""
Install tests can be run using the ``spack test run`` command. The
``spack test run`` command will create a ``test suite`` out of the
specs provided to it, or if no specs are provided it will test all
specs in the active environment, or all specs installed in Spack if no
environment is active. Test suites can be named using the ``--alias``
option; test suites not aliased will use the content hash of their
specs as their name.
Packages to install test can be queried using the ``spack test list``
command, which outputs all installed packages with defined ``test``
methods.
Test suites can be found using the ``spack test find`` command. It
will list all test suites that have been run and have not been removed
using the ``spack test remove`` command. The ``spack test remove``
command will remove tests to declutter the test stage. The ``spack
test results`` command will show results for completed test suites.
The test stage is the working directory for all install tests run with
Spack. By default, Spack uses ``~/.spack/test`` as the test stage. The
test stage can be set in the high-level config:
.. code-block:: yaml
config:
test_stage: /path/to/stage
---------------------------
File manipulation functions
---------------------------
@@ -3986,6 +4215,273 @@ File functions
:py:func:`touch(path) <spack.touch>`
Create an empty file at ``path``.
.. _make-package-findable:
----------------------------------------------------------
Making a package discoverable with ``spack external find``
----------------------------------------------------------
The simplest way to make a package discoverable with
:ref:`spack external find <cmd-spack-external-find>` is to:
1. Define the executables associated with the package
2. Implement a method to determine the versions of these executables
^^^^^^^^^^^^^^^^^
Minimal detection
^^^^^^^^^^^^^^^^^
The first step is fairly simple, as it requires only to
specify a package level ``executables`` attribute:
.. code-block:: python
class Foo(Package):
# Each string provided here is treated as a regular expression, and
# would match for example 'foo', 'foobar', and 'bazfoo'.
executables = ['foo']
This attribute must be a list of strings. Each string is a regular
expression (e.g. 'gcc' would match 'gcc', 'gcc-8.3', 'my-weird-gcc', etc.) to
determine a set of system executables that might be part or this package. Note
that to match only executables named 'gcc' the regular expression ``'^gcc$'``
must be used.
Finally to determine the version of each executable the ``determine_version``
method must be implemented:
.. code-block:: python
@classmethod
def determine_version(cls, exe):
"""Return either the version of the executable passed as argument
or ``None`` if the version cannot be determined.
Args:
exe (str): absolute path to the executable being examined
"""
This method receives as input the path to a single executable and must return
as output its version as a string; if the user cannot determine the version
or determines that the executable is not an instance of the package, they can
return None and the exe will be discarded as a candidate.
Implementing the two steps above is mandatory, and gives the package the
basic ability to detect if a spec is present on the system at a given version.
.. note::
Any executable for which the ``determine_version`` method returns ``None``
will be discarded and won't appear in later stages of the workflow described below.
^^^^^^^^^^^^^^^^^^^^^^^^
Additional functionality
^^^^^^^^^^^^^^^^^^^^^^^^
Besides the two mandatory steps described above, there are also optional
methods that can be implemented to either increase the amount of details
being detected or improve the robustness of the detection logic in a package.
""""""""""""""""""""""""""""""
Variants and custom attributes
""""""""""""""""""""""""""""""
The ``determine_variants`` method can be optionally implemented in a package
to detect additional details of the spec:
.. code-block:: python
@classmethod
def determine_variants(cls, exes, version_str):
"""Return either a variant string, a tuple of a variant string
and a dictionary of extra attributes that will be recorded in
packages.yaml or a list of those items.
Args:
exes (list of str): list of executables (absolute paths) that
live in the same prefix and share the same version
version_str (str): version associated with the list of
executables, as detected by ``determine_version``
"""
This method takes as input a list of executables that live in the same prefix and
share the same version string, and returns either:
1. A variant string
2. A tuple of a variant string and a dictionary of extra attributes
3. A list of items matching either 1 or 2 (if multiple specs are detected
from the set of executables)
If extra attributes are returned, they will be recorded in ``packages.yaml``
and be available for later reuse. As an example, the ``gcc`` package will record
by default the different compilers found and an entry in ``packages.yaml``
would look like:
.. code-block:: yaml
packages:
gcc:
externals:
- spec: 'gcc@9.0.1 languages=c,c++,fortran'
prefix: /usr
extra_attributes:
compilers:
c: /usr/bin/x86_64-linux-gnu-gcc-9
c++: /usr/bin/x86_64-linux-gnu-g++-9
fortran: /usr/bin/x86_64-linux-gnu-gfortran-9
This allows us, for instance, to keep track of executables that would be named
differently if built by Spack (e.g. ``x86_64-linux-gnu-gcc-9``
instead of just ``gcc``).
.. TODO: we need to gather some more experience on overriding 'prefix'
and other special keywords in extra attributes, but as soon as we are
confident that this is the way to go we should document the process.
See https://github.com/spack/spack/pull/16526#issuecomment-653783204
"""""""""""""""""""""""""""
Filter matching executables
"""""""""""""""""""""""""""
Sometimes defining the appropriate regex for the ``executables``
attribute might prove to be difficult, especially if one has to
deal with corner cases or exclude "red herrings". To help keeping
the regular expressions as simple as possible, each package can
optionally implement a ``filter_executables`` method:
.. code-block:: python
@classmethod
def filter_detected_exes(cls, prefix, exes_in_prefix):
"""Return a filtered list of the executables in prefix"""
which takes as input a prefix and a list of matching executables and
returns a filtered list of said executables.
Using this method has the advantage of allowing custom logic for
filtering, and does not restrict the user to regular expressions
only. Consider the case of detecting the GNU C++ compiler. If we
try to search for executables that match ``g++``, that would have
the unwanted side effect of selecting also ``clang++`` - which is
a C++ compiler provided by another package - if present on the system.
Trying to select executables that contain ``g++`` but not ``clang``
would be quite complicated to do using regex only. Employing the
``filter_detected_exes`` method it becomes:
.. code-block:: python
class Gcc(Package):
executables = ['g++']
def filter_detected_exes(cls, prefix, exes_in_prefix):
return [x for x in exes_in_prefix if 'clang' not in x]
Another possibility that this method opens is to apply certain
filtering logic when specific conditions are met (e.g. take some
decisions on an OS and not on another).
^^^^^^^^^^^^^^^^^^
Validate detection
^^^^^^^^^^^^^^^^^^
To increase detection robustness, packagers may also implement a method
to validate the detected Spec objects:
.. code-block:: python
@classmethod
def validate_detected_spec(cls, spec, extra_attributes):
"""Validate a detected spec. Raise an exception if validation fails."""
This method receives a detected spec along with its extra attributes and can be
used to check that certain conditions are met by the spec. Packagers can either
use assertions or raise an ``InvalidSpecDetected`` exception when the check fails.
In case the conditions are not honored the spec will be discarded and any message
associated with the assertion or the exception will be logged as the reason for
discarding it.
As an example, a package that wants to check that the ``compilers`` attribute is
in the extra attributes can implement this method like this:
.. code-block:: python
@classmethod
def validate_detected_spec(cls, spec, extra_attributes):
"""Check that 'compilers' is in the extra attributes."""
msg = ('the extra attribute "compilers" must be set for '
'the detected spec "{0}"'.format(spec))
assert 'compilers' in extra_attributes, msg
or like this:
.. code-block:: python
@classmethod
def validate_detected_spec(cls, spec, extra_attributes):
"""Check that 'compilers' is in the extra attributes."""
if 'compilers' not in extra_attributes:
msg = ('the extra attribute "compilers" must be set for '
'the detected spec "{0}"'.format(spec))
raise InvalidSpecDetected(msg)
.. _determine_spec_details:
^^^^^^^^^^^^^^^^^^^^^^^^^
Custom detection workflow
^^^^^^^^^^^^^^^^^^^^^^^^^
In the rare case when the mechanisms described so far don't fit the
detection of a package, the implementation of all the methods above
can be disregarded and instead a custom ``determine_spec_details``
method can be implemented directly in the package class (note that
the definition of the ``executables`` attribute is still required):
.. code-block:: python
@classmethod
def determine_spec_details(cls, prefix, exes_in_prefix):
# exes_in_prefix = a set of paths, each path is an executable
# prefix = a prefix that is common to each path in exes_in_prefix
# return None or [] if none of the exes represent an instance of
# the package. Return one or more Specs for each instance of the
# package which is thought to be installed in the provided prefix
This method takes as input a set of discovered executables (which match
those specified by the user) as well as a common prefix shared by all
of those executables. The function must return one or more :py:class:`spack.spec.Spec` associated
with the executables (it can also return ``None`` to indicate that no
provided executables are associated with the package).
As an example, consider a made-up package called ``foo-package`` which
builds an executable called ``foo``. ``FooPackage`` would appear as
follows:
.. code-block:: python
class FooPackage(Package):
homepage = "..."
url = "..."
version(...)
# Each string provided here is treated as a regular expression, and
# would match for example 'foo', 'foobar', and 'bazfoo'.
executables = ['foo']
@classmethod
def determine_spec_details(cls, prefix, exes_in_prefix):
candidates = list(x for x in exes_in_prefix
if os.path.basename(x) == 'foo')
if not candidates:
return
# This implementation is lazy and only checks the first candidate
exe_path = candidates[0]
exe = Executable(exe_path)
output = exe('--version', output=str, error=str)
version_str = ... # parse output for version string
return Spec.from_detection(
'foo-package@{0}'.format(version_str)
)
.. _package-lifecycle:
-----------------------------
@@ -4041,16 +4537,23 @@ want to clean up the temporary directory, or if the package isn't
downloading properly, you might want to run *only* the ``fetch`` stage
of the build.
Spack performs best-effort installation of package dependencies by default,
which means it will continue to install as many dependencies as possible
after detecting failures. If you are trying to install a package with a
lot of dependencies where one or more may fail to build, you might want to
try the ``--fail-fast`` option to stop the installation process on the first
failure.
A typical package workflow might look like this:
.. code-block:: console
$ spack edit mypackage
$ spack install mypackage
$ spack install --fail-fast mypackage
... build breaks! ...
$ spack clean mypackage
$ spack edit mypackage
$ spack install mypackage
$ spack install --fail-fast mypackage
... repeat clean/install until install works ...
Below are some commands that will allow you some finer-grained
@@ -4119,23 +4622,29 @@ Does this in one of two ways:
``spack clean``
^^^^^^^^^^^^^^^
Cleans up all of Spack's temporary and cached files. This can be used to
Cleans up Spack's temporary and cached files. This command can be used to
recover disk space if temporary files from interrupted or failed installs
accumulate in the staging area.
accumulate.
When called with ``--stage`` or without arguments this removes all staged
files.
When called with ``--downloads`` this will clear all resources
:ref:`cached <caching>` during installs.
The ``--downloads`` option removes cached :ref:`cached <caching>` downloads.
When called with ``--user-cache`` this will remove caches in the user home
directory, including cached virtual indices.
You can force the removal of all install failure tracking markers using the
``--failures`` option. Note that ``spack install`` will automatically clear
relevant failure markings prior to performing the requested installation(s).
Long-lived caches, like the virtual package index, are removed using the
``--misc-cache`` option.
The ``--python-cache`` option removes `.pyc`, `.pyo`, and `__pycache__`
folders.
To remove all of the above, the command can be called with ``--all``.
When called with positional arguments, cleans up temporary files only
for a particular package. If ``fetch``, ``stage``, or ``install``
When called with positional arguments, this command cleans up temporary files
only for a particular package. If ``fetch``, ``stage``, or ``install``
are run again after this, Spack's build process will start from scratch.
@@ -4277,31 +4786,31 @@ directory, install directory, package directory) and others change to
core spack locations. For example, ``spack cd --module-dir`` will take you to
the main python source directory of your spack install.
.. _cmd-spack-env:
.. _cmd-spack-build-env:
^^^^^^^^^^^^^
``spack env``
^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^
``spack build-env``
^^^^^^^^^^^^^^^^^^^
``spack env`` functions much like the standard unix ``env`` command,
but it takes a spec as an argument. You can use it to see the
``spack build-env`` functions much like the standard unix ``build-env``
command, but it takes a spec as an argument. You can use it to see the
environment variables that will be set when a particular build runs,
for example:
.. code-block:: console
$ spack env mpileaks@1.1%intel
$ spack build-env mpileaks@1.1%intel
This will display the entire environment that will be set when the
``mpileaks@1.1%intel`` build runs.
To run commands in a package's build environment, you can simply
provide them after the spec argument to ``spack env``:
provide them after the spec argument to ``spack build-env``:
.. code-block:: console
$ spack cd mpileaks@1.1%intel
$ spack env mpileaks@1.1%intel ./configure
$ spack build-env mpileaks@1.1%intel ./configure
This will cd to the build directory and then run ``configure`` in the
package's build environment.
@@ -4335,119 +4844,3 @@ might write:
DWARF_PREFIX = $(spack location --install-dir libdwarf)
CXXFLAGS += -I$DWARF_PREFIX/include
CXXFLAGS += -L$DWARF_PREFIX/lib
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Build System Configuration Support
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Imagine a developer creating a CMake or Autotools-based project in a
local directory, which depends on libraries A-Z. Once Spack has
installed those dependencies, one would like to run ``cmake`` with
appropriate command line and environment so CMake can find them. The
``spack setup`` command does this conveniently, producing a CMake
configuration that is essentially the same as how Spack *would have*
configured the project. This can be demonstrated with a usage
example:
.. code-block:: console
$ cd myproject
$ spack setup myproject@local
$ mkdir build; cd build
$ ../spconfig.py ..
$ make
$ make install
Notes:
* Spack must have ``myproject/package.py`` in its repository for
this to work.
* ``spack setup`` produces the executable script ``spconfig.py`` in
the local directory, and also creates the module file for the
package. ``spconfig.py`` is normally run from the user's
out-of-source build directory.
* The version number given to ``spack setup`` is arbitrary, just
like ``spack diy``. ``myproject/package.py`` does not need to
have any valid downloadable versions listed (typical when a
project is new).
* spconfig.py produces a CMake configuration that *does not* use the
Spack wrappers. Any resulting binaries *will not* use RPATH,
unless the user has enabled it. This is recommended for
development purposes, not production.
* ``spconfig.py`` is human readable, and can serve as a developer
reference of what dependencies are being used.
* ``make install`` installs the package into the Spack repository,
where it may be used by other Spack packages.
* CMake-generated makefiles re-run CMake in some circumstances. Use
of ``spconfig.py`` breaks this behavior, requiring the developer
to manually re-run ``spconfig.py`` when a ``CMakeLists.txt`` file
has changed.
^^^^^^^^^^^^
CMakePackage
^^^^^^^^^^^^
In order to enable ``spack setup`` functionality, the author of
``myproject/package.py`` must subclass from ``CMakePackage`` instead
of the standard ``Package`` superclass. Because CMake is
standardized, the packager does not need to tell Spack how to run
``cmake; make; make install``. Instead the packager only needs to
create (optional) methods ``configure_args()`` and ``configure_env()``, which
provide the arguments (as a list) and extra environment variables (as
a dict) to provide to the ``cmake`` command. Usually, these will
translate variant flags into CMake definitions. For example:
.. code-block:: python
def configure_args(self):
spec = self.spec
return [
'-DUSE_EVERYTRACE=%s' % ('YES' if '+everytrace' in spec else 'NO'),
'-DBUILD_PYTHON=%s' % ('YES' if '+python' in spec else 'NO'),
'-DBUILD_GRIDGEN=%s' % ('YES' if '+gridgen' in spec else 'NO'),
'-DBUILD_COUPLER=%s' % ('YES' if '+coupler' in spec else 'NO'),
'-DUSE_PISM=%s' % ('YES' if '+pism' in spec else 'NO')
]
If needed, a packager may also override methods defined in
``StagedPackage`` (see below).
^^^^^^^^^^^^^
StagedPackage
^^^^^^^^^^^^^
``CMakePackage`` is implemented by subclassing the ``StagedPackage``
superclass, which breaks down the standard ``Package.install()``
method into several sub-stages: ``setup``, ``configure``, ``build``
and ``install``. Details:
* Instead of implementing the standard ``install()`` method, package
authors implement the methods for the sub-stages
``install_setup()``, ``install_configure()``,
``install_build()``, and ``install_install()``.
* The ``spack install`` command runs the sub-stages ``configure``,
``build`` and ``install`` in order. (The ``setup`` stage is
not run by default; see below).
* The ``spack setup`` command runs the sub-stages ``setup``
and a dummy install (to create the module file).
* The sub-stage install methods take no arguments (other than
``self``). The arguments ``spec`` and ``prefix`` to the standard
``install()`` method may be accessed via ``self.spec`` and
``self.prefix``.
^^^^^^^^^^^^^
GNU Autotools
^^^^^^^^^^^^^
The ``setup`` functionality is currently only available for
CMake-based packages. Extending this functionality to GNU
Autotools-based packages would be easy (and should be done by a
developer who actively uses Autotools). Packages that use
non-standard build systems can gain ``setup`` functionality by
subclassing ``StagedPackage`` directly.
.. Emacs local variables
Local Variables:
fill-column: 79
End:

View File

@@ -0,0 +1,542 @@
.. 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 --without-view .
- 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.
This sub-command takes two arguments, but the most useful is ``--output-file``,
which should be an absolute path (including file name) to the generated
pipeline, if the default (``./.gitlab-ci.yml``) is not desired.
.. _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.
Rather than taking command-line arguments, this sub-command expects information
to be communicated via environment variables, which will typically come via the
``.gitlab-ci.yml`` job as ``variables``.
------------------------------------
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.
Both the top-level ``gitlab-ci`` section as well as each ``runner-attributes``
section can also contain the following keys: ``image``, ``tags``, ``variables``,
``before_script``, ``script``, and ``after_script``. If any of these keys are
provided at the ``gitlab-ci`` level, they will be used as the defaults for any
``runner-attributes``, unless they are overridden in those sections. Specifying
any of these keys at the ``runner-attributes`` level generally overrides the
keys specified at the higher level, with a couple exceptions. Any ``variables``
specified at both levels result in those dictionaries getting merged in the
resulting generated job, and any duplicate variable names get assigned the value
provided in the specific ``runner-attributes``. If ``tags`` are specified both
at the ``gitlab-ci`` level as well as the ``runner-attributes`` level, then the
lists of tags are combined, and any duplicates are removed.
See the section below on using a custom spack for an example of how these keys
could be used.
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
``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.
Take a look at the
`schema <https://github.com/spack/spack/blob/develop/lib/spack/spack/schema/gitlab_ci.py>`_
for the gitlab-ci section of the spack environment file, to see precisely what
syntax is allowed there.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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.). Any ``variables`` provided here will be added, verbatim, to
each job.
The ``runner-attributes`` section also allows users to supply custom ``script``,
``before_script``, and ``after_script`` sections to be applied to every job
scheduled on that runner. This allows users to do any custom preparation or
cleanup tasks that fit their particular workflow, as well as completely
customize the rebuilding of a spec if they so choose. Spack will not generate
a ``before_script`` or ``after_script`` for jobs, but if you do not provide
a custom ``script``, spack will generate one for you that assumes your
``spack.yaml`` is at the root of the repository, activates that environment for
you, and invokes ``spack ci rebuild``.
.. _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 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, spack assumes 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
...
The example above adds a list to the ``definitions`` called ``compiler-pkgs``
(you can add any number of these), which lists compiler packages that should
be staged ahead of the full matrix of release specs (in this example, only
readline). Then within the ``gitlab-ci`` section, note the addition of 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 section provides an example of how you could take advantage of
user-provided pipeline scripts to accomplish this fairly simply. First, you
could use the GitLab user interface to create CI environment variables
containing the url and branch or tag you want to use (calling them, for
example, ``SPACK_REPO`` and ``SPACK_REF``), then refer to those in a custom shell
script invoked both from your pipeline generation job, as well as in your rebuild
jobs. Here's the ``generate-pipeline`` job from the top of this document,
updated to invoke a custom shell script that will clone and source a custom
spack:
.. code-block:: yaml
generate-pipeline:
tags:
- <some-other-tag>
before_script:
- ./cloneSpack.sh
script:
- spack env activate --without-view .
- spack ci generate
--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"
And the ``cloneSpack.sh`` script could contain:
.. code-block:: bash
#!/bin/bash
git clone ${SPACK_REPO}
pushd ./spack
git checkout ${SPACK_REF}
popd
. "./spack/share/spack/setup-env.sh"
spack --version
Finally, you would also want your generated rebuild jobs to clone that version
of spack, so you would update your ``spack.yaml`` from above as follows:
.. code-block:: yaml
spack:
...
gitlab-ci:
mappings:
- match:
- os=ubuntu18.04
runner-attributes:
tags:
- spack-kube
image: spack/ubuntu-bionic
before_script:
- ./cloneSpack.sh
script:
- spack env activate --without-view .
- spack -d ci rebuild
after_script:
- rm -rf ./spack
Now all of the generated rebuild jobs will use the same shell script to clone
spack before running their actual workload. Note in the above example the
provision of a custom ``script`` section. The reason for this is to run
``spack ci rebuild`` in debug mode to get more information when builds fail.
Now imagine you have long pipelines with many specs to be built, and you
are pointing to a spack repository and branch that has a tendency to change
frequently, such as the main repo and it's ``develop`` branch. If each child
job checks out the ``develop`` branch, that could result in some jobs running
with one SHA of spack, while later jobs run with another. To help avoid this
issue, the pipeline generation process saves global variables called
``SPACK_VERSION`` and ``SPACK_CHECKOUT_VERSION`` that capture the version
of spack used to generate the pipeline. While the ``SPACK_VERSION`` variable
simply contains the human-readable value produced by ``spack -V`` at pipeline
generation time, the ``SPACK_CHECKOUT_VERSION`` variable can be used in a
``git checkout`` command to make sure all child jobs checkout the same version
of spack used to generate the pipeline. To take advantage of this, you could
simply replace ``git checkout ${SPACK_REF}`` in the example ``cloneSpack.sh``
script above with ``git checkout ${SPACK_CHECKOUT_VERSION}``.
On the other hand, if you're pointing to a spack repository and branch under your
control, there may be no benefit in using the captured ``SPACK_CHECKOUT_VERSION``,
and you can instead just clone using the project CI variables you set (in the
earlier example these were ``SPACK_REPO`` and ``SPACK_REF``).
.. _ci_environment_variables:
--------------------------------------------------
Environment variables affecting pipeline operation
--------------------------------------------------
Certain secrets and some other information should be provided to the pipeline
infrastructure via environment variables, usually for reasons of security, but
in some cases to support other pipeline use cases such as PR testing. The
environment variables used by the pipeline infrastructure are described here.
^^^^^^^^^^^^^^^^^
AWS_ACCESS_KEY_ID
^^^^^^^^^^^^^^^^^
Needed when binary mirror is an S3 bucket.
^^^^^^^^^^^^^^^^^^^^^
AWS_SECRET_ACCESS_KEY
^^^^^^^^^^^^^^^^^^^^^
Needed when binary mirror is an S3 bucket.
^^^^^^^^^^^^^^^
S3_ENDPOINT_URL
^^^^^^^^^^^^^^^
Needed when binary mirror is an S3 bucket that is *not* on AWS.
^^^^^^^^^^^^^^^^^
CDASH_AUTH_TOKEN
^^^^^^^^^^^^^^^^^
Needed in order to report build groups to CDash.
^^^^^^^^^^^^^^^^^
SPACK_SIGNING_KEY
^^^^^^^^^^^^^^^^^
Needed to sign/verify binary packages from the remote binary mirror.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -280,16 +280,16 @@ you install it, you can use ``spack spec -N``:
Concretized
--------------------------------
builtin.hdf5@1.10.0-patch1%clang@7.0.2-apple+cxx~debug+fortran+mpi+shared~szip~threadsafe arch=darwin-elcapitan-x86_64
^builtin.openmpi@2.0.1%clang@7.0.2-apple~mxm~pmi~psm~psm2~slurm~sqlite3~thread_multiple~tm~verbs+vt arch=darwin-elcapitan-x86_64
^builtin.hwloc@1.11.4%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.libpciaccess@0.13.4%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.libtool@2.4.6%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.m4@1.4.17%clang@7.0.2-apple+sigsegv arch=darwin-elcapitan-x86_64
^builtin.libsigsegv@2.10%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.pkg-config@0.29.1%clang@7.0.2-apple+internal_glib arch=darwin-elcapitan-x86_64
^builtin.util-macros@1.19.0%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.zlib@1.2.8%clang@7.0.2-apple+pic arch=darwin-elcapitan-x86_64
builtin.hdf5@1.10.0-patch1%apple-clang@7.0.2+cxx~debug+fortran+mpi+shared~szip~threadsafe arch=darwin-elcapitan-x86_64
^builtin.openmpi@2.0.1%apple-clang@7.0.2~mxm~pmi~psm~psm2~slurm~sqlite3~thread_multiple~tm~verbs+vt arch=darwin-elcapitan-x86_64
^builtin.hwloc@1.11.4%apple-clang@7.0.2 arch=darwin-elcapitan-x86_64
^builtin.libpciaccess@0.13.4%apple-clang@7.0.2 arch=darwin-elcapitan-x86_64
^builtin.libtool@2.4.6%apple-clang@7.0.2 arch=darwin-elcapitan-x86_64
^builtin.m4@1.4.17%apple-clang@7.0.2+sigsegv arch=darwin-elcapitan-x86_64
^builtin.libsigsegv@2.10%apple-clang@7.0.2 arch=darwin-elcapitan-x86_64
^builtin.pkg-config@0.29.1%apple-clang@7.0.2+internal_glib arch=darwin-elcapitan-x86_64
^builtin.util-macros@1.19.0%apple-clang@7.0.2 arch=darwin-elcapitan-x86_64
^builtin.zlib@1.2.8%apple-clang@7.0.2+pic arch=darwin-elcapitan-x86_64
.. warning::

View File

@@ -1,7 +1,7 @@
# These dependencies should be installed using pip in order
# to build the documentation.
sphinx==2.0.1
sphinxcontrib-programoutput==0.14
sphinx-rtd-theme==0.4.3
sphinx
sphinxcontrib-programoutput
sphinx-rtd-theme
python-levenshtein

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -253,14 +253,14 @@ However, other more powerful methods are generally preferred for user
environments.
^^^^^^^^^^^^^^^^^^^^^^^
Spack-Generated Modules
^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Using ``spack load`` to Manage the User Environment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Suppose that Spack has been used to install a set of command-line
programs, which users now wish to use. One can in principle put a
number of ``spack load`` commands into ``.bashrc``, for example, to
load a set of Spack-generated modules:
load a set of Spack packages:
.. code-block:: sh
@@ -273,7 +273,7 @@ load a set of Spack-generated modules:
Although simple load scripts like this are useful in many cases, they
have some drawbacks:
1. The set of modules loaded by them will in general not be
1. The set of packages loaded by them will in general not be
consistent. They are a decent way to load commands to be called
from command shells. See below for better ways to assemble a
consistent set of packages for building application programs.
@@ -284,20 +284,27 @@ have some drawbacks:
The ``spack load`` and ``spack module tcl loads`` commands, on the
other hand, are not very smart: if the user-supplied spec matches
more than one installed package, then ``spack module tcl loads`` will
fail. This may change in the future. For now, the workaround is to
be more specific on any ``spack module tcl loads`` lines that fail.
fail. This default behavior may change in the future. For now,
the workaround is to either be more specific on any failing ``spack load``
commands or to use ``spack load --first`` to allow spack to load the
first matching spec.
""""""""""""""""""""""
Generated Load Scripts
""""""""""""""""""""""
Another problem with using `spack load` is, it is slow; a typical user
environment could take several seconds to load, and would not be
appropriate to put into ``.bashrc`` directly. It is preferable to use
a series of ``spack module tcl loads`` commands to pre-compute which
modules to load. These can be put in a script that is run whenever
installed Spack packages change. For example:
Another problem with using `spack load` is, it can be slow; a typical
user environment could take several seconds to load, and would not be
appropriate to put into ``.bashrc`` directly. This is because it
requires the full start-up overhead of python/Spack for each command.
In some circumstances it is preferable to use a series of ``spack
module tcl loads`` (or ``spack module lmod loads``) commands to
pre-compute which modules to load. This will generate the modulenames
to load the packages using environment modules, rather than Spack's
built-in support for environment modifications. These can be put in a
script that is run whenever installed Spack packages change. For
example:
.. code-block:: sh
@@ -439,7 +446,7 @@ environment.
A single-prefix filesystem view is a single directory tree that is the
union of the directory hierarchies of a number of installed packages;
it is similar to the directory hiearchy that might exist under
it is similar to the directory hierarchy that might exist under
``/usr/local``. The files of the view's installed packages are
brought into the view by symbolic or hard links, referencing the
original Spack installation.
@@ -634,7 +641,7 @@ Global Activations
Python (and similar systems) packages directly or creating a view.
If extensions are globally activated, then ``spack load python`` will
also load all the extensions activated for the given ``python``.
This reduces the need for users to load a large number of modules.
This reduces the need for users to load a large number of packages.
However, Spack global activations have two potential drawbacks:
@@ -696,399 +703,247 @@ environments:
Administrators might find things easier to maintain without the
added "heavyweight" state of a view.
------------------------------
Developing Software with Spack
------------------------------
-------------------------------------
Using Spack to Replace Homebrew/Conda
-------------------------------------
For any project, one needs to assemble an
environment of that application's dependencies. You might consider
loading a series of modules or creating a filesystem view. This
approach, while obvious, has some serious drawbacks:
Spack is an incredibly powerful package manager, designed for supercomputers
where users have diverse installation needs. But Spack can also be used to
handle simple single-user installations on your laptop. Most macOS users are
already familiar with package managers like Homebrew and Conda, where all
installed packages are symlinked to a single central location like ``/usr/local``.
In this section, we will show you how to emulate the behavior of Homebrew/Conda
using :ref:`environments`!
1. There is no guarantee that an environment created this way will be
consistent. Your application could end up with dependency A
expecting one version of MPI, and dependency B expecting another.
The linker will not be happy...
^^^^^
Setup
^^^^^
2. Suppose you need to debug a package deep within your software DAG.
If you build that package with a manual environment, then it
becomes difficult to have Spack auto-build things that depend on
it. That could be a serious problem, depending on how deep the
package in question is in your dependency DAG.
3. At its core, Spack is a sophisticated concretization algorithm that
matches up packages with appropriate dependencies and creates a
*consistent* environment for the package it's building. Writing a
list of ``spack load`` commands for your dependencies is at least
as hard as writing the same list of ``depends_on()`` declarations
in a Spack package. But it makes no use of Spack concretization
and is more error-prone.
4. Spack provides an automated, systematic way not just to find a
packages's dependencies --- but also to build other packages on
top. Any Spack package can become a dependency for another Spack
package, offering a powerful vision of software re-use. If you
build your package A outside of Spack, then your ability to use it
as a building block for other packages in an automated way is
diminished: other packages depending on package A will not
be able to use Spack to fulfill that dependency.
5. If you are reading this manual, you probably love Spack. You're
probably going to write a Spack package for your software so
prospective users can install it with the least amount of pain.
Why should you go to additional work to find dependencies in your
development environment? Shouldn't Spack be able to help you build
your software based on the package you've already written?
In this section, we show how Spack can be used in the software
development process to greatest effect, and how development packages
can be seamlessly integrated into the Spack ecosystem. We will show
how this process works by example, assuming the software you are
creating is called ``mylib``.
^^^^^^^^^^^^^^^^^^^^^
Write the CMake Build
^^^^^^^^^^^^^^^^^^^^^
For now, the techniques in this section only work for CMake-based
projects, although they could be easily extended to other build
systems in the future. We will therefore assume you are using CMake
to build your project.
The ``CMakeLists.txt`` file should be written as normal. A few caveats:
1. Your project should produce binaries with RPATHs. This will ensure
that they work the same whether built manually or automatically by
Spack. For example:
.. code-block:: cmake
# enable @rpath in the install name for any shared library being built
# note: it is planned that a future version of CMake will enable this by default
set(CMAKE_MACOSX_RPATH 1)
# Always use full RPATH
# http://www.cmake.org/Wiki/CMake_RPATH_handling
# http://www.kitware.com/blog/home/post/510
# use, i.e. don't skip the full RPATH for the build tree
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
# when building, don't use the install RPATH already
# (but later on when installing)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
# the RPATH to be used when installing, but only if it's not a system directory
LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
IF("${isSystemDir}" STREQUAL "-1")
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
ENDIF("${isSystemDir}" STREQUAL "-1")
2. Spack provides a CMake variable called
``SPACK_TRANSITIVE_INCLUDE_PATH``, which contains the ``include/``
directory for all of your project's transitive dependencies. It
can be useful if your project ``#include``s files from package B,
which ``#include`` files from package C, but your project only
lists project B as a dependency. This works in traditional
single-tree build environments, in which B and C's include files
live in the same place. In order to make it work with Spack as
well, you must add the following to ``CMakeLists.txt``. It will
have no effect when building without Spack:
.. code-block:: cmake
# Include all the transitive dependencies determined by Spack.
# If we're not running with Spack, this does nothing...
include_directories($ENV{SPACK_TRANSITIVE_INCLUDE_PATH})
.. note::
Note that this feature is controversial and could break with
future versions of GNU ld. The best practice is to make sure
anything you ``#include`` is listed as a dependency in your
CMakeLists.txt (and Spack package).
.. _write-the-spack-package:
^^^^^^^^^^^^^^^^^^^^^^^
Write the Spack Package
^^^^^^^^^^^^^^^^^^^^^^^
The Spack package also needs to be written, in tandem with setting up
the build (for example, CMake). The most important part of this task
is declaring dependencies. Here is an example of the Spack package
for the ``mylib`` package (ellipses for brevity):
.. code-block:: python
class Mylib(CMakePackage):
"""Misc. reusable utilities used by Myapp."""
homepage = "https://github.com/citibeth/mylib"
url = "https://github.com/citibeth/mylib/tarball/123"
version('0.1.2', '3a6acd70085e25f81b63a7e96c504ef9')
version('develop', git='https://github.com/citibeth/mylib.git',
branch='develop')
variant('everytrace', default=False,
description='Report errors through Everytrace')
...
extends('python')
depends_on('eigen')
depends_on('everytrace', when='+everytrace')
depends_on('proj', when='+proj')
...
depends_on('cmake', type='build')
depends_on('doxygen', type='build')
def cmake_args(self):
spec = self.spec
return [
'-DUSE_EVERYTRACE=%s' % ('YES' if '+everytrace' in spec else 'NO'),
'-DUSE_PROJ4=%s' % ('YES' if '+proj' in spec else 'NO'),
...
'-DUSE_UDUNITS2=%s' % ('YES' if '+udunits2' in spec else 'NO'),
'-DUSE_GTEST=%s' % ('YES' if '+googletest' in spec else 'NO')]
This is a standard Spack package that can be used to install
``mylib`` in a production environment. The list of dependencies in
the Spack package will generally be a repeat of the list of CMake
dependencies. This package also has some features that allow it to be
used for development:
1. It subclasses ``CMakePackage`` instead of ``Package``. This
eliminates the need to write an ``install()`` method, which is
defined in the superclass. Instead, one just needs to write the
``configure_args()`` method. That method should return the
arguments needed for the ``cmake`` command (beyond the standard
CMake arguments, which Spack will include already). These
arguments are typically used to turn features on/off in the build.
2. It specifies a non-checksummed version ``develop``. Running
``spack install mylib@develop`` the ``@develop`` version will
install the latest version off the develop branch. This method of
download is useful for the developer of a project while it is in
active development; however, it should only be used by developers
who control and trust the repository in question!
3. The ``url``, ``url_for_version()`` and ``homepage`` attributes are
not used in development. Don't worry if you don't have any, or if
they are behind a firewall.
^^^^^^^^^^^^^^^^
Build with Spack
^^^^^^^^^^^^^^^^
Now that you have a Spack package, you can use Spack to find its
dependencies automatically. For example:
First, let's create a new environment. We'll assume that Spack is already set up
correctly, and that you've already sourced the setup script for your shell.
To create a new environment, simply run:
.. code-block:: console
$ cd mylib
$ spack setup mylib@local
$ spack env create myenv
==> Updating view at /Users/me/spack/var/spack/environments/myenv/.spack-env/view
==> Created environment 'myenv' in /Users/me/spack/var/spack/environments/myenv
$ spack env activate myenv
The result will be a file ``spconfig.py`` in the top-level
``mylib/`` directory. It is a short script that calls CMake with the
dependencies and options determined by Spack --- similar to what
happens in ``spack install``, but now written out in script form.
From a developer's point of view, you can think of ``spconfig.py`` as
a stand-in for the ``cmake`` command.
.. note::
You can invent any "version" you like for the ``spack setup``
command.
.. note::
Although ``spack setup`` does not build your package, it does
create and install a module file, and mark in the database that
your package has been installed. This can lead to errors, of
course, if you don't subsequently install your package.
Also... you will need to ``spack uninstall`` before you run
``spack setup`` again.
You can now build your project as usual with CMake:
Here, *myenv* can be anything you want to name your environment. Next, we can add
a list of packages we would like to install into our environment. Let's say we
want a newer version of Bash than the one that comes with macOS, and we want a
few Python libraries. We can run:
.. code-block:: console
$ mkdir build; cd build
$ ../spconfig.py .. # Instead of cmake ..
$ make
$ make install
$ spack add bash
==> Adding bash to environment myenv
==> Updating view at /Users/me/spack/var/spack/environments/myenv/.spack-env/view
$ spack add python@3:
==> Adding python@3: to environment myenv
==> Updating view at /Users/me/spack/var/spack/environments/myenv/.spack-env/view
$ spack add py-numpy py-scipy py-matplotlib
==> Adding py-numpy to environment myenv
==> Adding py-scipy to environment myenv
==> Adding py-matplotlib to environment myenv
==> Updating view at /Users/me/spack/var/spack/environments/myenv/.spack-env/view
Once your ``make install`` command is complete, your package will be
installed, just as if you'd run ``spack install``. Except you can now
edit, re-build and re-install as often as needed, without checking
into Git or downloading tarballs.
Each package can be listed on a separate line, or combined into a single line.
Notice that we're explicitly asking for Python 3 here. You can use any spec
you would normally use on the command line with other Spack commands.
.. note::
The build you get this way will be *almost* the same as the build
from ``spack install``. The only difference is, you will not be
using Spack's compiler wrappers. This difference has not caused
problems in our experience, as long as your project sets
RPATHs as shown above. You DO use RPATHs, right?
^^^^^^^^^^^^^^^^^^^^
Build Other Software
^^^^^^^^^^^^^^^^^^^^
Now that you've built ``mylib`` with Spack, you might want to build
another package that depends on it --- for example, ``myapp``. This
is accomplished easily enough:
Next, we want to manually configure a couple of things. In the ``myenv``
directory, we can find the ``spack.yaml`` that actually defines our environment.
.. code-block:: console
$ spack install myapp ^mylib@local
$ vim ~/spack/var/spack/environments/myenv/spack.yaml
Note that auto-built software has now been installed *on top of*
manually-built software, without breaking Spack's "web." This
property is useful if you need to debug a package deep in the
dependency hierarchy of your application. It is a *big* advantage of
using ``spack setup`` to build your package's environment.
.. code-block:: yaml
If you feel your software is stable, you might wish to install it with
``spack install`` and skip the source directory. You can just use,
for example:
# This is a Spack Environment file.
#
# It describes a set of packages to be installed, along with
# configuration settings.
spack:
# add package specs to the `specs` list
specs: [bash, 'python@3:', py-numpy, py-scipy, py-matplotlib]
view:
default:
root: /Users/me/spack/var/spack/environments/myenv/.spack-env/view
projections: {}
config: {}
mirrors: {}
modules:
enable: []
packages: {}
repos: []
upstreams: {}
definitions: []
concretization: separately
You can see the packages we added earlier in the ``specs:`` section. If you
ever want to add more packages, you can either use ``spack add`` or manually
edit this file.
We also need to change the ``concretization:`` option. By default, Spack
concretizes each spec *separately*, allowing multiple versions of the same
package to coexist. Since we want a single consistent environment, we want to
concretize all of the specs *together*.
Here is what your ``spack.yaml`` looks like with these new settings, and with
some of the sections we don't plan on using removed:
.. code-block:: diff
spack:
- specs: [bash, 'python@3:', py-numpy, py-scipy, py-matplotlib]
+ specs:
+ - bash
+ - 'python@3:'
+ - py-numpy
+ - py-scipy
+ - py-matplotlib
- view:
- default:
- root: /Users/me/spack/var/spack/environments/myenv/.spack-env/view
- projections: {}
+ view: /Users/me/spack/var/spack/environments/myenv/.spack-env/view
- config: {}
- mirrors: {}
- modules:
- enable: []
- packages: {}
- repos: []
- upstreams: {}
- definitions: []
+ concretization: together
- concretization: separately
""""""""""""""""
Symlink location
""""""""""""""""
In the ``spack.yaml`` file above, you'll notice that by default, Spack symlinks
all installations to ``/Users/me/spack/var/spack/environments/myenv/.spack-env/view``.
You can actually change this to any directory you want. For example, Homebrew
uses ``/usr/local``, while Conda uses ``/Users/me/anaconda``. In order to access
files in these locations, you need to update ``PATH`` and other environment variables
to point to them. Activating the Spack environment does this automatically, but
you can also manually set them in your ``.bashrc``.
.. warning::
There are several reasons why you shouldn't use ``/usr/local``:
1. If you are on macOS 10.11+ (El Capitan and newer), Apple makes it hard
for you. You may notice permissions issues on ``/usr/local`` due to their
`System Integrity Protection <https://support.apple.com/en-us/HT204899>`_.
By default, users don't have permissions to install anything in ``/usr/local``,
and you can't even change this using ``sudo chown`` or ``sudo chmod``.
2. Other package managers like Homebrew will try to install things to the
same directory. If you plan on using Homebrew in conjunction with Spack,
don't symlink things to ``/usr/local``.
3. If you are on a shared workstation, or don't have sudo privileges, you
can't do this.
If you still want to do this anyway, there are several ways around SIP.
You could disable SIP by booting into recovery mode and running
``csrutil disable``, but this is not recommended, as it can open up your OS
to security vulnerabilities. Another technique is to run ``spack concretize``
and ``spack install`` using ``sudo``. This is also not recommended.
The safest way I've found is to create your installation directories using
sudo, then change ownership back to the user like so:
.. code-block:: bash
for directory in .spack bin contrib include lib man share
do
sudo mkdir -p /usr/local/$directory
sudo chown $(id -un):$(id -gn) /usr/local/$directory
done
Depending on the packages you install in your environment, the exact list of
directories you need to create may vary. You may also find some packages
like Java libraries that install a single file to the installation prefix
instead of in a subdirectory. In this case, the action is the same, just replace
``mkdir -p`` with ``touch`` in the for-loop above.
But again, it's safer just to use the default symlink location.
^^^^^^^^^^^^
Installation
^^^^^^^^^^^^
To actually concretize the environment, run:
.. code-block:: console
$ spack install mylib@develop
$ spack concretize
.. _release-your-software:
This will tell you which if any packages are already installed, and alert you
to any conflicting specs.
^^^^^^^^^^^^^^^^^^^^^
Release Your Software
^^^^^^^^^^^^^^^^^^^^^
To actually install these packages and symlink them to your ``view:``
directory, simply run:
You are now ready to release your software as a tarball with a
numbered version, and a Spack package that can build it. If you're
hosted on GitHub, this process will be a bit easier.
.. code-block:: console
#. Put tag(s) on the version(s) in your GitHub repo you want to be
release versions. For example, a tag ``v0.1.0`` for version 0.1.0.
$ spack install
#. Set the ``url`` in your ``package.py`` to download a tarball for
the appropriate version. GitHub will give you a tarball for any
commit in the repo, if you tickle it the right way. For example:
Now, when you type ``which python3``, it should find the one you just installed.
.. code-block:: python
In order to change the default shell to our newer Bash installation, we first
need to add it to this list of acceptable shells. Run:
url = 'https://github.com/citibeth/mylib/tarball/v0.1.2'
.. code-block:: console
#. Use Spack to determine your version's hash, and cut'n'paste it into
your ``package.py``:
$ sudo vim /etc/shells
.. code-block:: console
and add the absolute path to your bash executable. Then run:
$ spack checksum mylib 0.1.2
==> Found 1 versions of mylib
0.1.2 https://github.com/citibeth/mylib/tarball/v0.1.2
.. code-block:: console
How many would you like to checksum? (default is 5, q to abort)
==> Downloading...
==> Trying to fetch from https://github.com/citibeth/mylib/tarball/v0.1.2
######################################################################## 100.0%
==> Checksummed new versions of mylib:
version('0.1.2', '3a6acd70085e25f81b63a7e96c504ef9')
$ chsh -s /path/to/bash
#. You should now be able to install released version 0.1.2 of your package with:
Now, when you log out and log back in, ``echo $SHELL`` should point to the
newer version of Bash.
.. code-block:: console
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Updating Installed Packages
^^^^^^^^^^^^^^^^^^^^^^^^^^^
$ spack install mylib@0.1.2
Let's say you upgraded to a new version of macOS, or a new version of Python
was released, and you want to rebuild your entire software stack. To do this,
simply run the following commands:
#. There is no need to remove the `develop` version from your package.
Spack concretization will always prefer numbered version to
non-numeric versions. Users will only get it if they ask for it.
.. code-block:: console
^^^^^^^^^^^^^^^^^^^^^^^^
Distribute Your Software
^^^^^^^^^^^^^^^^^^^^^^^^
$ spack env activate myenv
$ spack concretize --force
$ spack install
Once you've released your software, other people will want to build
it; and you will need to tell them how. In the past, that has meant a
few paragraphs of prose explaining which dependencies to install. But
now you use Spack, and those instructions are written in executable
Python code. But your software has many dependencies, and you know
Spack is the best way to install it:
The ``--force`` flag tells Spack to overwrite its previous concretization
decisions, allowing you to choose a new version of Python. If any of the new
packages like Bash are already installed, ``spack install`` won't re-install
them, it will keep the symlinks in place.
#. First, you will want to fork Spack's ``develop`` branch. Your aim
is to provide a stable version of Spack that you KNOW will install
your software. If you make changes to Spack in the process, you
will want to submit pull requests to Spack core.
^^^^^^^^^^^^^^
Uninstallation
^^^^^^^^^^^^^^
#. Add your software's ``package.py`` to that fork. You should submit
a pull request for this as well, unless you don't want the public
to know about your software.
If you decide that Spack isn't right for you, uninstallation is simple.
Just run:
#. Prepare instructions that read approximately as follows:
.. code-block:: console
#. Download Spack from your forked repo.
$ spack env activate myenv
$ spack uninstall --all
#. Install Spack; see :ref:`getting_started`.
#. Set up an appropriate ``packages.yaml`` file. You should tell
your users to include in this file whatever versions/variants
are needed to make your software work correctly (assuming those
are not already in your ``packages.yaml``).
#. Run ``spack install mylib``.
#. Run this script to generate the ``module load`` commands or
filesystem view needed to use this software.
#. Be aware that your users might encounter unexpected bootstrapping
issues on their machines, especially if they are running on older
systems. The :ref:`getting_started` section should cover this, but
there could always be issues.
^^^^^^^^^^^^^^^^^^^
Other Build Systems
^^^^^^^^^^^^^^^^^^^
``spack setup`` currently only supports CMake-based builds, in
packages that subclass ``CMakePackage``. The intent is that this
mechanism should support a wider range of build systems; for example,
GNU Autotools. Someone well-versed in Autotools is needed to develop
this patch and test it out.
Python Distutils is another popular build system that should get
``spack setup`` support. For non-compiled languages like Python,
``spack diy`` may be used. Even better is to put the source directory
directly in the user's ``PYTHONPATH``. Then, edits in source files
are immediately available to run without any install process at all!
^^^^^^^^^^
Conclusion
^^^^^^^^^^
The ``spack setup`` development workflow provides better automation,
flexibility and safety than workflows relying on environment modules
or filesystem views. However, it has some drawbacks:
#. It currently works only with projects that use the CMake build
system. Support for other build systems is not hard to build, but
will require a small amount of effort for each build system to be
supported. It might not work well with some IDEs.
#. It only works with packages that sub-class ``StagedPackage``.
Currently, most Spack packages do not. Converting them is not
hard; but must be done on a package-by-package basis.
#. It requires that users are comfortable with Spack, as they
integrate Spack explicitly in their workflow. Not all users are
willing to do this.
This will uninstall all packages in your environment and remove the symlinks.
------------------------
Using Spack on Travis-CI
@@ -1109,6 +964,14 @@ The main points that are implemented below:
the spack builds in the config.
(The Travis yaml parser is a bit buggy on the echo command.)
#. Without control for the user, Travis jobs will run on various
``x86_64`` microarchitectures. If you plan to cache build results,
e.g. to accelerate dependency builds, consider building for the
generic ``x86_64`` target only.
Limiting the microarchitecture will also find more packages when
working with the
`E4S Spack build cache <https://oaciss.uoregon.edu/e4s/e4s_buildcache_inventory.html>`_.
#. Builds over 10 minutes need to be prefixed with ``travis_wait``.
Alternatively, generate output once with ``spack install -v``.
@@ -1148,10 +1011,13 @@ The main points that are implemented below:
- export CXXFLAGS="-std=c++11"
install:
- if ! which spack >/dev/null; then
- |
if ! which spack >/dev/null; then
mkdir -p $SPACK_ROOT &&
git clone --depth 50 https://github.com/spack/spack.git $SPACK_ROOT &&
echo -e "config:""\n build_jobs:"" 2" > $SPACK_ROOT/etc/spack/config.yaml;
printf "config:\n build_jobs: 2\n" > $SPACK_ROOT/etc/spack/config.yaml &&
printf "packages:\n all:\n target: ['x86_64']\n" \
> $SPACK_ROOT/etc/spack/packages.yaml;
fi
- travis_wait spack install cmake@3.7.2~openssl~ncurses
- travis_wait spack install boost@1.62.0~graph~iostream~locale~log~wave
@@ -1168,176 +1034,6 @@ The main points that are implemented below:
- make -j 2
- make test
.. _workflow_create_docker_image:
-----------------------------------
Using Spack to Create Docker Images
-----------------------------------
Spack can be the ideal tool to set up images for Docker (and Singularity).
An example ``Dockerfile`` is given below, downloading the latest spack
version.
The following functionality is prepared:
#. Base image: the example starts from a minimal ubuntu.
#. Installing as root: docker images are usually set up as root.
Since some autotools scripts might complain about this being unsafe, we set
``FORCE_UNSAFE_CONFIGURE=1`` to avoid configure errors.
#. Pre-install the spack dependencies, including modules from the packages.
This avoids needing to build those from scratch via ``spack bootstrap``.
Package installs are followed by a clean-up of the system package index,
to avoid outdated information and it saves space.
#. Install spack in ``/usr/local``.
Add ``setup-env.sh`` to profile scripts, so commands in *login* shells
can use the whole spack functionality, including modules.
#. Install an example package (``tar``).
As with system package managers above, ``spack install`` commands should be
concatenated with a ``&& spack clean -a`` in order to keep image sizes small.
#. Add a startup hook to an *interactive login shell* so spack modules will be
usable.
In order to build and run the image, execute:
.. code-block:: bash
docker build -t spack .
docker run -it spack
.. code-block:: docker
FROM ubuntu:16.04
MAINTAINER Your Name <someone@example.com>
# general environment for docker
ENV DEBIAN_FRONTEND=noninteractive \
SPACK_ROOT=/usr/local \
FORCE_UNSAFE_CONFIGURE=1
# install minimal spack depedencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
autoconf \
build-essential \
ca-certificates \
coreutils \
curl \
environment-modules \
git \
python \
unzip \
vim \
&& rm -rf /var/lib/apt/lists/*
# load spack environment on login
RUN echo "source $SPACK_ROOT/share/spack/setup-env.sh" \
> /etc/profile.d/spack.sh
# spack settings
# note: if you wish to change default settings, add files alongside
# the Dockerfile with your desired settings. Then uncomment this line
#COPY packages.yaml modules.yaml $SPACK_ROOT/etc/spack/
# install spack
RUN curl -s -L https://api.github.com/repos/spack/spack/tarball \
| tar xzC $SPACK_ROOT --strip 1
# note: at this point one could also run ``spack bootstrap`` to avoid
# parts of the long apt-get install list above
# install software
RUN spack install tar \
&& spack clean -a
# need the modules already during image build?
#RUN /bin/bash -l -c ' \
# spack load tar \
# && which tar'
# image run hook: the -l will make sure /etc/profile environments are loaded
CMD /bin/bash -l
^^^^^^^^^^^^^^
Best Practices
^^^^^^^^^^^^^^
"""
MPI
"""
Due to the dependency on Fortran for OpenMPI, which is the spack default
implementation, consider adding ``gfortran`` to the ``apt-get install`` list.
Recent versions of OpenMPI will require you to pass ``--allow-run-as-root``
to your ``mpirun`` calls if started as root user inside Docker.
For execution on HPC clusters, it can be helpful to import the docker
image into Singularity in order to start a program with an *external*
MPI. Otherwise, also add ``openssh-server`` to the ``apt-get install`` list.
""""
CUDA
""""
Starting from CUDA 9.0, Nvidia provides minimal CUDA images based on
Ubuntu.
Please see `their instructions <https://hub.docker.com/r/nvidia/cuda/>`_.
Avoid double-installing CUDA by adding, e.g.
.. code-block:: yaml
packages:
cuda:
paths:
cuda@9.0.176%gcc@5.4.0 arch=linux-ubuntu16-x86_64: /usr/local/cuda
buildable: False
to your ``packages.yaml``.
Then ``COPY`` in that file into the image as in the example above.
Users will either need ``nvidia-docker`` or e.g. Singularity to *execute*
device kernels.
"""""""""""
Singularity
"""""""""""
Importing and running the image created above into
`Singularity <http://singularity.lbl.gov/>`_ works like a charm.
Just use the `docker bootstraping mechanism <http://singularity.lbl.gov/quickstart#bootstrap-recipes>`_:
.. code-block:: none
Bootstrap: docker
From: registry/user/image:tag
%runscript
exec /bin/bash -l
""""""""""""""""""""""
Docker for Development
""""""""""""""""""""""
For examples of how we use docker in development, see
:ref:`docker_for_developers`.
"""""""""""""""""""""""""
Docker on Windows and OSX
"""""""""""""""""""""""""
On Mac OS and Windows, docker runs on a hypervisor that is not allocated much
memory by default, and some spack packages may fail to build due to lack of
memory. To work around this issue, consider configuring your docker installation
to use more of your host memory. In some cases, you can also ease the memory
pressure on parallel builds by limiting the parallelism in your config.yaml.
.. code-block:: yaml
config:
build_jobs: 2
------------------
Upstream Bug Fixes
------------------

1
lib/spack/env/aocc/clang vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/aocc/clang++ vendored Symbolic link
View File

@@ -0,0 +1 @@
../cpp

1
lib/spack/env/aocc/flang vendored Symbolic link
View File

@@ -0,0 +1 @@
../fc

62
lib/spack/env/cc vendored
View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -15,14 +15,14 @@
# 1. It allows Spack to swap compilers into and out of builds easily.
# 2. It adds several options to the compile line so that spack
# packages can find their dependencies at build time and run time:
# -I arguments for dependency /include directories.
# -L arguments for dependency /lib directories.
# -Wl,-rpath arguments for dependency /lib directories.
# -I and/or -isystem arguments for dependency /include directories.
# -L arguments for dependency /lib directories.
# -Wl,-rpath arguments for dependency /lib directories.
#
# This is an array of environment variables that need to be set before
# the script runs. They are set by routines in spack.build_environment
# as part of spack.package.Package.do_install().
# as part of the package installation process.
parameters=(
SPACK_ENV_PATH
SPACK_DEBUG_LOG_DIR
@@ -43,7 +43,7 @@ parameters=(
# The compiler input variables are checked for sanity later:
# SPACK_CC, SPACK_CXX, SPACK_F77, SPACK_FC
# The default compiler flags are passed from these variables:
# SPACK_CFLAGS, SPACK_CXXFLAGS, SPACK_FCFLAGS, SPACK_FFLAGS,
# SPACK_CFLAGS, SPACK_CXXFLAGS, SPACK_FFLAGS,
# SPACK_LDFLAGS, SPACK_LDLIBS
# Debug env var is optional; set to "TRUE" for debug logging:
# SPACK_DEBUG
@@ -107,25 +107,25 @@ case "$command" in
cpp)
mode=cpp
;;
cc|c89|c99|gcc|clang|armclang|icc|pgcc|xlc|xlc_r|fcc)
cc|c89|c99|gcc|clang|armclang|icc|icx|pgcc|nvc|xlc|xlc_r|fcc)
command="$SPACK_CC"
language="C"
comp="CC"
lang_flags=C
;;
c++|CC|g++|clang++|armclang++|icpc|pgc++|xlc++|xlc++_r|FCC)
c++|CC|g++|clang++|armclang++|icpc|icpx|pgc++|nvc++|xlc++|xlc++_r|FCC)
command="$SPACK_CXX"
language="C++"
comp="CXX"
lang_flags=CXX
;;
ftn|f90|fc|f95|gfortran|flang|armflang|ifort|pgfortran|xlf90|xlf90_r|nagfor|frt)
ftn|f90|fc|f95|gfortran|flang|armflang|ifort|ifx|pgfortran|nvfortran|xlf90|xlf90_r|nagfor|frt)
command="$SPACK_FC"
language="Fortran 90"
comp="FC"
lang_flags=F
;;
f77|xlf|xlf_r|pgf77|frt)
f77|xlf|xlf_r|pgf77|frt|flang)
command="$SPACK_F77"
language="Fortran 77"
comp="F77"
@@ -251,10 +251,11 @@ input_command="$*"
#
# Parse the command line arguments.
#
# We extract -L, -I, and -Wl,-rpath arguments from the command line and
# recombine them with Spack arguments later. We parse these out so that
# we can make sure that system paths come last, that package arguments
# come first, and that Spack arguments are injected properly.
# We extract -L, -I, -isystem and -Wl,-rpath arguments from the
# command line and recombine them with Spack arguments later. We
# parse these out so that we can make sure that system paths come
# last, that package arguments come first, and that Spack arguments
# are injected properly.
#
# All other arguments, including -l arguments, are treated as
# 'other_args' and left in their original order. This ensures that
@@ -273,12 +274,24 @@ system_libdirs=()
system_rpaths=()
libs=()
other_args=()
isystem_system_includes=()
isystem_includes=()
while [ -n "$1" ]; do
# an RPATH to be added after the case statement.
rp=""
case "$1" in
-isystem*)
arg="${1#-isystem}"
isystem_was_used=true
if [ -z "$arg" ]; then shift; arg="$1"; fi
if system_dir "$arg"; then
isystem_system_includes+=("$arg")
else
isystem_includes+=("$arg")
fi
;;
-I*)
arg="${1#-I}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
@@ -425,12 +438,6 @@ then
esac
fi
# Prepend include directories
IFS=':' read -ra include_dirs <<< "$SPACK_INCLUDE_DIRS"
if [[ $mode == cpp || $mode == cc || $mode == as || $mode == ccld ]]; then
includes=("${includes[@]}" "${include_dirs[@]}")
fi
IFS=':' read -ra rpath_dirs <<< "$SPACK_RPATH_DIRS"
if [[ $mode == ccld || $mode == ld ]]; then
@@ -481,9 +488,22 @@ args=()
# flags assembled earlier
args+=("${flags[@]}")
# include directory search paths
# Insert include directories just prior to any system include directories
for dir in "${includes[@]}"; do args+=("-I$dir"); done
for dir in "${isystem_includes[@]}"; do args+=("-isystem$dir"); done
IFS=':' read -ra spack_include_dirs <<< "$SPACK_INCLUDE_DIRS"
if [[ $mode == cpp || $mode == cc || $mode == as || $mode == ccld ]]; then
if [[ "$isystem_was_used" == "true" ]] ; then
for dir in "${spack_include_dirs[@]}"; do args+=("-isystem$dir"); done
else
for dir in "${spack_include_dirs[@]}"; do args+=("-I$dir"); done
fi
fi
for dir in "${system_includes[@]}"; do args+=("-I$dir"); done
for dir in "${isystem_system_includes[@]}"; do args+=("-isystem$dir"); done
# Library search paths
for dir in "${libdirs[@]}"; do args+=("-L$dir"); done

1
lib/spack/env/nvhpc/nvc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/nvhpc/nvc++ vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/nvhpc/nvfortran vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/oneapi/icpx vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/oneapi/icx vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/oneapi/ifx vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -6,6 +6,13 @@
"""This module contains the following external, potentially separately
licensed, packages that are included in Spack:
archspec
--------
* Homepage: https://pypi.python.org/pypi/archspec
* Usage: Labeling, comparison and detection of microarchitectures
* Version: 0.1.2 (commit 2846749dc5b12ae2b30ff1d3f0270a4a5954710d)
argparse
--------
@@ -82,24 +89,17 @@
ini-parsing, io, code, and log facilities.
* Version: 1.4.34 (last version supporting Python 2.6)
pyqver
------
* Homepage: https://github.com/ghewgill/pyqver
* Usage: External script to query required python version of
python source code. Used for ensuring 2.6 compatibility.
* Version: Unversioned
pytest
------
* Homepage: https://pypi.python.org/pypi/pytest
* Usage: Testing framework used by Spack.
* Version: 3.2.5 (last version supporting Python 2.6)
* Note: This package has been slightly modified to improve
Python 2.6 compatibility. See the following commit if the
vendored copy ever needs to be updated again:
https://github.com/spack/spack/pull/6801/commits/ff513c39f2c67ff615de5cbc581dd69a8ec96526
* Note: This package has been slightly modified:
* We improve Python 2.6 compatibility. See:
https://github.com/spack/spack/pull/6801.
* We have patched pytest not to depend on setuptools. See:
https://github.com/spack/spack/pull/15612
ruamel.yaml
------
@@ -133,4 +133,5 @@
* Homepage: https://altgraph.readthedocs.io/en/latest/index.html
* Usage: dependency of macholib
* Version: 0.16.1
"""

View File

@@ -5,9 +5,12 @@
import _pytest._code
import py
try:
from collections import Sequence
from collections.abc import Sequence
except ImportError:
Sequence = list
try:
from collections import Sequence
except ImportError:
Sequence = list
u = py.builtin._totext

View File

@@ -1028,34 +1028,13 @@ def _consider_importhook(self, args):
except SystemError:
mode = 'plain'
else:
self._mark_plugins_for_rewrite(hook)
# REMOVED FOR SPACK: This routine imports `pkg_resources` from
# `setuptools`, but we do not need it for Spack. We have removed
# it from Spack to avoid a dependency on setuptools.
# self._mark_plugins_for_rewrite(hook)
pass
self._warn_about_missing_assertion(mode)
def _mark_plugins_for_rewrite(self, hook):
"""
Given an importhook, mark for rewrite any top-level
modules or packages in the distribution package for
all pytest plugins.
"""
import pkg_resources
self.pluginmanager.rewrite_hook = hook
# 'RECORD' available for plugins installed normally (pip install)
# 'SOURCES.txt' available for plugins installed in dev mode (pip install -e)
# for installed plugins 'SOURCES.txt' returns an empty list, and vice-versa
# so it shouldn't be an issue
metadata_files = 'RECORD', 'SOURCES.txt'
package_files = (
entry.split(',')[0]
for entrypoint in pkg_resources.iter_entry_points('pytest11')
for metadata in metadata_files
for entry in entrypoint.dist._get_metadata(metadata)
)
for name in _iter_rewritable_modules(package_files):
hook.mark_rewrite(name)
def _warn_about_missing_assertion(self, mode):
try:
assert False
@@ -1081,7 +1060,12 @@ def _preparse(self, args, addopts=True):
self._checkversion()
self._consider_importhook(args)
self.pluginmanager.consider_preparse(args)
self.pluginmanager.load_setuptools_entrypoints('pytest11')
# REMOVED FOR SPACK: This routine imports `pkg_resources` from
# `setuptools`, but we do not need it for Spack. We have removed
# it from Spack to avoid a dependency on setuptools.
# self.pluginmanager.load_setuptools_entrypoints('pytest11')
self.pluginmanager.consider_env()
self.known_args_namespace = ns = self._parser.parse_known_args(args, namespace=self.option.copy())
if self.known_args_namespace.confcutdir is None and self.inifile:

View File

@@ -10,9 +10,12 @@
import _pytest._code
import py
try:
from collections import MutableMapping as MappingMixin
from collections.abc import MutableMapping as MappingMixin
except ImportError:
from UserDict import DictMixin as MappingMixin
try:
from collections import MutableMapping as MappingMixin
except ImportError:
from UserDict import DictMixin as MappingMixin
from _pytest.config import directory_arg, UsageError, hookimpl
from _pytest.outcomes import exit

View File

@@ -569,7 +569,7 @@ def syspathinsert(self, path=None):
def _possibly_invalidate_import_caches(self):
# invalidate caches if we can (py33 and above)
try:
import importlib # nopyqver
import importlib
except ImportError:
pass
else:

View File

@@ -398,7 +398,10 @@ def approx(expected, rel=None, abs=None, nan_ok=False):
__ https://docs.python.org/3/reference/datamodel.html#object.__ge__
"""
from collections import Mapping, Sequence
if sys.version_info >= (3, 3):
from collections.abc import Mapping, Sequence
else:
from collections import Mapping, Sequence
from _pytest.compat import STRING_TYPES as String
# Delegate the comparison to a class that knows how to deal with the type

Some files were not shown because too many files have changed in this diff Show More